/* RAVA Native RC1 Phase 3 — Prototype 3 Personal Studio */
.rava-native-personal {
  --personal-forest: #173f34;
  --personal-forest-soft: #e7eee9;
  --personal-warm: #f4f0e8;
  --personal-ink-soft: #62645f;
  background: #f5f3ee;
}
.rava-v3-personal-root { min-height: calc(100vh - 120px); color: var(--rava-ink); }
.rava-personal-frame { width: min(1500px, calc(100% - 40px)); margin: 32px auto 80px; display: grid; grid-template-columns: minmax(230px, 280px) minmax(0, 1fr); gap: 32px; align-items: start; }
.v3-personal-sidebar { position: sticky; top: 96px; padding: 24px 18px; border: 1px solid var(--rava-line); background: rgba(255,255,255,.82); backdrop-filter: blur(14px); min-height: 620px; display: flex; flex-direction: column; gap: 24px; }
.v3-personal-identity { border-bottom: 1px solid var(--rava-line); padding: 6px 4px 22px; }
.v3-personal-avatar { width: 54px; height: 54px; margin: 18px 0 12px; display: grid; place-items: center; border-radius: 50%; background: var(--personal-forest); color: #fff; font-size: 1.35rem; }
.v3-personal-identity h2 { margin: 0; font-size: 1.25rem; }
.v3-personal-identity p { margin: .35rem 0 0; color: var(--personal-ink-soft); font-size: .84rem; }
.v3-personal-sidebar nav { display: grid; gap: 3px; }
.v3-personal-sidebar nav a { display: flex; align-items: center; gap: 11px; padding: 11px 12px; color: inherit; text-decoration: none; border-inline-start: 2px solid transparent; transition: .18s ease; }
.v3-personal-sidebar nav a:hover { background: var(--rava-soft); }
.v3-personal-sidebar nav a.active { color: var(--personal-forest); background: var(--personal-forest-soft); border-inline-start-color: var(--personal-forest); font-weight: 650; }
.v3-personal-sidebar .rava-svg-icon, .v3-personal-sidebar .icon { width: 19px; height: 19px; }
.v3-personal-content { min-width: 0; }
.v3-page-heading { min-height: 184px; padding: 34px 36px; background: var(--rava-ink); color: white; display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 24px; }
.v3-page-heading h1 { color: inherit; margin: 8px 0 10px; font-size: clamp(2rem, 4vw, 3.8rem); line-height: .98; letter-spacing: -.035em; }
.v3-page-heading p { color: rgba(255,255,255,.72); max-width: 720px; margin: 0; }
.v3-page-heading .section-kicker { color: #b9c9c1; }
.section-kicker { font: 600 .68rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .13em; text-transform: uppercase; color: var(--personal-forest); }
.personal-overview { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 20px; }
.memory-card { min-height: 330px; padding: 36px; display: flex; flex-direction: column; justify-content: space-between; background: var(--personal-forest); color: white; }
.memory-card h2 { color: inherit; max-width: 720px; font-size: clamp(1.8rem, 3vw, 3.1rem); line-height: 1.08; margin: 14px 0; }
.memory-card p { color: rgba(255,255,255,.72); max-width: 650px; }
.memory-card .section-kicker { color: #c6d6cf; }
.memory-signals { display: flex; flex-wrap: wrap; gap: 8px; }
.memory-signal { border: 1px solid rgba(255,255,255,.28); padding: 7px 11px; font-size: .82rem; }
.continue-card { padding: 28px; min-height: 330px; display: flex; flex-direction: column; justify-content: space-between; }
.v3-coffee-specimen { display: grid; gap: 12px; margin: 24px 0; }
.v3-coffee-specimen img { width: 100%; aspect-ratio: 4/3; object-fit: cover; background: var(--rava-soft); }
.v3-coffee-specimen strong, .v3-coffee-specimen span { display: block; }
.v3-personal-stat-section { margin-top: 24px; }
.v3-personal-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.v3-big-metric { display: block; font-size: 2.6rem; margin: 10px 0 16px; font-weight: 520; }
.v3-personal-grid, .v3-security-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.v3-span-2 { grid-column: 1 / -1; }
.panel, .card { background: #fff; border: 1px solid var(--rava-line); box-shadow: none; }
.panel { padding: 24px; }
.panel-head, .row-between, .row { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.row.wrap { flex-wrap: wrap; justify-content: flex-start; }
.panel-title { margin: 0; font-size: 1.08rem; }
.small { font-size: .84rem; }
.micro { font-size: .72rem; }
.muted { color: var(--personal-ink-soft); }
.v3-inline-form, .v3-brew-note-form { margin: 0 0 18px; padding: 20px; background: #fff; border: 1px solid var(--rava-line); }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-bottom: 16px; }
.field { display: grid; gap: 7px; font-size: .84rem; }
.field.full { grid-column: 1/-1; }
.input, .select, .textarea { width: 100%; min-height: 44px; padding: 10px 12px; background: #fff; border: 1px solid #cfcfc7; color: inherit; border-radius: 0; }
.textarea { min-height: 110px; resize: vertical; }
.input:focus, .select:focus, .textarea:focus { outline: 2px solid color-mix(in srgb,var(--personal-forest) 36%,transparent); outline-offset: 1px; border-color: var(--personal-forest); }
.v3-personal-collection-grid, .v3-following-grid, .v3-order-list, .v3-brew-note-list { display: grid; gap: 12px; }
.collection-card, .v3-following-grid article, .v3-order-card, .v3-brew-note-list article { padding: 22px; border: 1px solid var(--rava-line); background: #fff; }
.collection-card, .v3-following-grid article, .v3-order-card { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.collection-card h2, .v3-following-grid h2, .v3-order-card h2, .v3-brew-note-list h2 { margin: 4px 0; font-size: 1.12rem; }
.v3-following-grid article img { width: 64px; height: 64px; object-fit: cover; border-radius: 50%; }
.v3-following-grid article > div { flex: 1; }
.v3-taste-columns, .v3-taste-memory-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.v3-sensory-row { display: grid; grid-template-columns: 100px 1fr 34px; gap: 10px; align-items: center; margin: 12px 0; }
.v3-sensory-track { height: 4px; background: #e0e1dc; position: relative; }
.v3-sensory-track > span { display: block; height: 100%; background: var(--personal-forest); }
.v3-signal-list, .v3-tag-list { display: flex; flex-wrap: wrap; gap: 7px; }
.v3-tag-list span, .v3-signal-list span { padding: 6px 9px; background: var(--personal-forest-soft); color: var(--personal-forest); font-size: .8rem; }
.v3-order-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--rava-line); }
.v3-order-table th, .v3-order-table td { padding: 14px 16px; border-bottom: 1px solid var(--rava-line); text-align: start; vertical-align: middle; }
.v3-order-table th { font-size: .74rem; color: var(--personal-ink-soft); font-weight: 600; background: #faf9f6; }
.status { display: inline-flex; align-items: center; padding: 5px 8px; font-size: .75rem; background: var(--rava-soft); }
.status.success { background:#e6f1ea;color:#1b5a39 }.status.warning{background:#f7efd6;color:#7a5911}.status.danger{background:#f6e4e1;color:#84372d}.status.info{background:#e5edf3;color:#315a72}
.v3-order-detail-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(280px,.6fr); gap: 18px; }
.v3-order-item { display: grid; grid-template-columns: 66px 1fr auto; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--rava-line); }
.v3-order-item img { width: 66px; height: 66px; object-fit: cover; }
.v3-timeline { display: grid; }
.v3-timeline-step { display: grid; grid-template-columns: 18px 1fr; gap: 10px; min-height: 62px; position: relative; }
.v3-timeline-step > span { width: 10px; height: 10px; margin-top: 5px; border: 1px solid #aaa; border-radius: 50%; background: white; z-index: 1; }
.v3-timeline-step:not(:last-child)::after { content:""; position:absolute; inset-inline-start:4px; top:15px; bottom:-1px; width:1px; background:var(--rava-line); }
.v3-timeline-step.done > span, .v3-timeline-step.current > span { background: var(--personal-forest); border-color: var(--personal-forest); }
.v3-timeline-step small { display:block;color:var(--personal-ink-soft);margin-top:3px; }
.v3-notification-layout { display:grid; grid-template-columns: 220px minmax(0,1fr); gap:18px; }
.v3-filter-rail { position:sticky;top:96px;align-self:start; }
.v3-stack-tabs { display:grid; border:1px solid var(--rava-line);background:#fff;margin-bottom:12px; }
.v3-stack-tabs a { padding:11px 13px;text-decoration:none;color:inherit;border-bottom:1px solid var(--rava-line); }
.v3-stack-tabs a.active { background:var(--personal-forest-soft);color:var(--personal-forest);font-weight:650; }
.v3-notification-list { display:grid;gap:10px; }
.v3-notification { display:grid;grid-template-columns:42px 1fr auto;gap:14px;padding:18px;border:1px solid var(--rava-line);background:#fff; }
.v3-notification.read { opacity:.68; }
.v3-notification-icon { width:42px;height:42px;display:grid;place-items:center;background:var(--rava-soft); }
.v3-notification-icon .icon,.v3-notification-icon .rava-svg-icon{width:20px;height:20px;}
.v3-notification h2 { margin:0;font-size:1rem; }
.v3-notification p { margin:7px 0 10px; }
.v3-session { display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--rava-line); }
.v3-session > div { display:flex;gap:12px;align-items:center; }
.v3-session span { display:block;color:var(--personal-ink-soft);font-size:.8rem;margin-top:4px; }
.v3-notification-prefs { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.v3-notification-prefs .btn { grid-column:1/-1;justify-self:start; }
.check { display:flex;align-items:flex-start;gap:9px;padding:10px 0; }
.rava-personal-message { min-height:24px;margin-top:12px;font-size:.85rem;color:var(--personal-forest); }
.rava-personal-message[data-tone="error"] { color:#a23c31; }
.rava-personal-mobile-tabs { display:none; }

/* Authentication is intentionally standalone. */
.rava-native-personal-auth { min-height:100vh;background:#e9e5dc; }
.rava-native-personal-auth .rava-v3-personal-root { min-height:100vh;display:grid;place-items:center;padding:28px; }
.v3-auth-shell { width:min(1180px,100%);min-height:720px;display:grid;grid-template-columns:1.08fr .92fr;background:#fff;border:1px solid #d6d2c8; }
.v3-auth-story { background:var(--personal-forest);color:#fff;padding:54px;display:flex;flex-direction:column;justify-content:space-between; }
.v3-auth-story h1 { color:inherit;font-size:clamp(2.4rem,5vw,5rem);line-height:.95;margin:26px 0 18px;max-width:680px; }
.v3-auth-story p { color:rgba(255,255,255,.72);max-width:620px; }
.v3-auth-story .brand { color:#fff;text-decoration:none;display:grid;gap:4px; }
.v3-auth-story .brand-mark { font:700 1.1rem ui-monospace,monospace;letter-spacing:.16em; }
.v3-auth-story .brand-sub { font-size:.6rem;letter-spacing:.13em;opacity:.7; }
.v3-role-stack { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.15); }
.v3-role-stack > div { padding:18px;background:rgba(20,50,42,.9);display:grid;gap:7px; }
.v3-role-stack svg { width:20px;height:20px; }
.v3-role-stack span { font-size:.76rem;color:rgba(255,255,255,.65); }
.v3-auth-card { padding:54px;align-self:center; }
.v3-auth-card h2 { font-size:2.4rem;margin:10px 0; }
.v3-auth-foot { margin-top:24px;border-top:1px solid var(--rava-line);padding-top:16px;font-size:.75rem;color:var(--personal-ink-soft); }

@media (max-width: 1050px) {
  .rava-personal-frame { grid-template-columns: 220px minmax(0,1fr); gap:18px; width:min(100% - 24px, 1300px); }
  .personal-overview, .v3-order-detail-grid { grid-template-columns:1fr; }
  .v3-personal-stat-grid { grid-template-columns:repeat(2,1fr); }
  .v3-page-heading { padding:28px; }
}
@media (max-width: 760px) {
  .rava-native-personal { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
  .rava-personal-frame { display:block;width:100%;margin:0 auto; }
  .v3-personal-sidebar { display:none; }
  .v3-personal-content { width:100%; }
  .v3-page-heading { min-height:220px;margin:0;padding:28px 20px;display:grid;align-content:end; }
  .v3-page-heading h1 { font-size:2.45rem; }
  .v3-page-heading .btn { width:100%; }
  .personal-overview, .v3-personal-grid, .v3-security-grid, .v3-taste-columns, .v3-taste-memory-grid, .v3-notification-layout { grid-template-columns:1fr; }
  .memory-card, .continue-card { min-height:290px;border-inline:0; }
  .v3-personal-stat-section, [data-rava-personal-saved] > .coffee-grid, .v3-personal-collection-grid, .v3-brew-note-list, .v3-following-grid, .v3-order-list, .v3-taste-columns, .v3-security-grid, .v3-notification-layout, .v3-order-detail-grid, .v3-inline-form, .v3-brew-note-form { margin-inline:14px; }
  .v3-personal-stat-grid { grid-template-columns:repeat(2,1fr);gap:8px; }
  .panel { padding:18px; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .collection-card, .v3-following-grid article, .v3-order-card { align-items:flex-start;flex-wrap:wrap; }
  .v3-order-table, .v3-order-table tbody, .v3-order-table tr, .v3-order-table td { display:block;width:100%; }
  .v3-order-table thead { display:none; }
  .v3-order-table tr { padding:16px;border-bottom:1px solid var(--rava-line); }
  .v3-order-table td { border:0;padding:4px 0; }
  .v3-filter-rail { position:static; }
  .v3-notification { grid-template-columns:38px 1fr; }
  .v3-notification time { grid-column:2; }
  .v3-notification-prefs { grid-template-columns:1fr; }
  .rava-personal-mobile-tabs { position:fixed;z-index:998;inset-inline:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid var(--rava-line);padding:5px 4px calc(5px + env(safe-area-inset-bottom)); }
  .rava-personal-mobile-tabs a { min-width:0;padding:6px 2px;display:grid;justify-items:center;gap:3px;color:#696a65;text-decoration:none;font-size:.65rem; }
  .rava-personal-mobile-tabs a.active { color:var(--personal-forest);font-weight:700; }
  .rava-personal-mobile-tabs svg { width:20px;height:20px; }
  .v3-auth-shell { min-height:100vh;grid-template-columns:1fr;border:0; }
  .v3-auth-story { padding:32px 24px;min-height:390px; }
  .v3-auth-story h1 { font-size:3rem; }
  .v3-role-stack { grid-template-columns:1fr; }
  .v3-auth-card { padding:34px 24px; }
}

/* Detailed Prototype 3 personal-commerce structures. */
.v3-order-summary-strip { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--rava-line); background:#fff; margin-bottom:16px; }
.v3-order-summary-strip > div { padding:16px 20px; border-inline-end:1px solid var(--rava-line); }
.v3-order-summary-strip > div:last-child { border:0; }
.v3-order-summary-strip span, .v3-order-summary-strip strong { display:block; }
.v3-order-summary-strip span { color:var(--personal-ink-soft); font-size:.72rem; }
.v3-order-summary-strip strong { font-size:2rem; font-weight:540; margin-top:3px; }
.v3-order-card-body { display:grid; grid-template-columns:150px minmax(0,1fr) auto; align-items:center; gap:18px; padding-top:15px; margin-top:15px; border-top:1px solid var(--rava-line); }
.v3-order-card-body span, .v3-order-card-body strong { display:block; }
.v3-order-card-body span { color:var(--personal-ink-soft); font-size:.72rem; }
.v3-order-card-body p { color:var(--personal-ink-soft); margin:0; font-size:.82rem; }
.v3-fulfillment-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px; }
.v3-fulfillment-groups article { border:1px solid var(--rava-line); padding:16px; }
.v3-fulfillment-groups p { margin:5px 0; color:var(--personal-ink-soft); font-size:.8rem; }
.v3-shipping-line { display:flex; align-items:center; gap:9px; padding-top:12px; margin-top:12px; border-top:1px solid var(--rava-line); font-size:.78rem; }
.v3-shipping-line svg { width:19px; height:19px; }
.v3-shipping-line strong { margin-inline-start:auto; }
.v3-order-help { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:16px; }
.v3-order-items { margin-top:16px; }
.v3-security-row { display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:12px; align-items:center; padding:14px 0; border-top:1px solid var(--rava-line); }
.v3-security-row svg { width:21px; height:21px; }
.v3-security-row strong, .v3-security-row span { display:block; }
.v3-security-row span { color:var(--personal-ink-soft); font-size:.8rem; margin-top:3px; }
.v3-role-permission { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:13px 0; border-top:1px solid var(--rava-line); }
.v3-role-permission span { color:var(--personal-ink-soft); font-size:.78rem; direction:ltr; }
.v3-taste-memory-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.v3-sensory-memory > div { display:grid; grid-template-columns:88px 1fr 34px; gap:9px; align-items:center; margin:11px 0; font-size:.78rem; }
.v3-sensory-memory i { display:block; height:4px; background:#e0e1dc; }
.v3-sensory-memory b { display:block; height:100%; background:var(--personal-forest); }
.tag-row { display:flex; flex-wrap:wrap; gap:7px; margin-top:16px; }
.pill { border:1px solid var(--rava-line); padding:6px 9px; font-size:.76rem; }
.v3-note-method { font:700 .72rem ui-monospace,monospace; letter-spacing:.08em; color:var(--personal-forest); }
.v3-brew-note-list article { display:grid; grid-template-columns:90px minmax(0,1fr) auto; align-items:start; gap:18px; }
.pagination { display:flex; gap:5px; justify-content:center; margin-top:22px; }
.pagination a { min-width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--rava-line); text-decoration:none; color:inherit; }
.pagination a.active { background:var(--personal-forest); color:#fff; border-color:var(--personal-forest); }
@media (max-width:760px) {
  .v3-order-summary-strip { margin-inline:14px; }
  .v3-order-summary-strip > div { padding:12px; }
  .v3-order-card-body { grid-template-columns:1fr; }
  .v3-fulfillment-groups, .v3-taste-memory-grid { grid-template-columns:1fr; }
  .v3-order-help { align-items:flex-start; flex-direction:column; }
  .v3-order-help .btn { width:100%; }
  .v3-security-row { grid-template-columns:24px minmax(0,1fr); }
  .v3-security-row .btn { grid-column:2; justify-self:start; }
  .v3-brew-note-list article { grid-template-columns:1fr; }
}
