:root{--bg:#f0f2f7;--white:#ffffff;--surface:#f8f9fc;--surface2:#eef0f6;--border:#dde1ee;--border2:#c8cedd;--ink:#0c1225;--ink2:#1e2d4a;--ink3:#4a5878;--ink4:#8b97b2;--accent:#1047e4;--accent2:#0c3abf;--accent-lt:#eef2ff;--accent-bd:#b8c6f8;--mint:#00c4a7;--mint-lt:#e6faf7;--mint-bd:#7de8d8;--ruby:#e02a4a;--ruby-lt:#fff0f3;--amber:#d4820a;--amber-lt:#fffaeb;--green:#0a8f5c;--green-lt:#edfaf4;--r:10px;--r2:16px;--r3:22px;--shadow:0 1px 3px rgba(12,18,37,.06),0 4px 16px rgba(12,18,37,.08);--shadow2:0 8px 32px rgba(12,18,37,.14),0 2px 8px rgba(12,18,37,.08);--shadow3:0 20px 60px rgba(12,18,37,.18),0 4px 16px rgba(12,18,37,.1)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Cabinet Grotesk',sans-serif;background:var(--bg);color:var(--ink);min-height:100vh;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;background-image:radial-gradient(ellipse 80% 50% at 20% 0%,rgba(16,71,228,.07) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 80% 100%,rgba(0,196,167,.05) 0%,transparent 50%)}
.shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}

/* SIDEBAR */
.sidebar{background:var(--ink);padding:2rem 1.625rem;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:hidden;border-right:1px solid rgba(255,255,255,.06)}
.sidebar::before{content:'';position:absolute;top:-80px;right:-60px;width:220px;height:220px;background:radial-gradient(circle,rgba(16,71,228,.25) 0%,transparent 70%);pointer-events:none}
.brand{display:flex;align-items:center;gap:.875rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.07);position:relative}
.brand-logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--mint));display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 16px rgba(16,71,228,.4)}
.brand-logo svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.75}
.brand-name{font-family:'Fraunces',serif;font-size:1.25rem;color:#fff;line-height:1.1;font-weight:700}
.brand-tag{font-size:.63rem;color:rgba(255,255,255,.28);letter-spacing:.1em;text-transform:uppercase;margin-top:3px;font-weight:500}
.sidebar-stats{display:flex;gap:.625rem;margin-bottom:1.75rem}
.stat-pill{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:.5rem .625rem;text-align:center}
.stat-val{font-family:'JetBrains Mono',monospace;font-size:.82rem;font-weight:500;color:#fff;display:block}
.stat-key{font-size:.6rem;color:rgba(255,255,255,.28);text-transform:uppercase;letter-spacing:.06em;margin-top:1px;display:block}
.steps-nav{flex:1;overflow:hidden}
.step-item{display:flex;align-items:flex-start;gap:.75rem;padding:.55rem .75rem;border-radius:var(--r);margin-bottom:.1rem}
.step-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;flex-shrink:0;border:1.5px solid rgba(255,255,255,.1);color:rgba(255,255,255,.2);background:transparent;transition:all .25s;font-family:'JetBrains Mono',monospace}
.step-dot.done{background:var(--mint);border-color:var(--mint);color:#fff}
.step-dot.active{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5);color:#fff}
.step-info{padding-top:3px}
.step-label{font-size:.81rem;font-weight:500;color:rgba(255,255,255,.22);transition:color .2s}
.step-label.active{color:#fff;font-weight:700}
.step-label.done{color:rgba(255,255,255,.48)}
.step-item.locked{opacity:.35;cursor:not-allowed}
.step-item.locked .step-label{color:rgba(255,255,255,.12)}
.step-item.locked .step-dot{border-color:rgba(255,255,255,.05);color:rgba(255,255,255,.05)}
.step-sublabel{font-size:.67rem;color:rgba(255,255,255,.14);margin-top:1px}
.sidebar-footer{border-top:1px solid rgba(255,255,255,.06);padding-top:1.5rem;margin-top:auto;font-size:.69rem;color:rgba(255,255,255,.18);line-height:1.7}
.btn-admin{display:flex;align-items:center;gap:.65rem;padding:.65rem 1.125rem;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:999px;color:#fff!important;font-size:.76rem;font-weight:700;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);margin-top:1.125rem;width:100%;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.btn-admin:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.25)}
.btn-admin svg{width:16px;height:16px;stroke:var(--mint);stroke-width:2.5;fill:none}

/* MAIN */
.main{background:var(--bg);padding:2.25rem 2.625rem 6rem;overflow-y:auto}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.875rem}
.topbar-crumb{font-size:.75rem;color:var(--ink4);display:flex;align-items:center;gap:.4rem}
.topbar-crumb span{color:var(--ink2);font-weight:600}
.topbar-progress{display:flex;align-items:center;gap:.75rem;font-size:.74rem;color:var(--ink3);background:var(--white);border:1px solid var(--border);border-radius:999px;padding:.38rem .875rem}
.progress-bar-wrap{width:90px;height:3px;background:var(--border);border-radius:999px;overflow:hidden}
.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--mint));border-radius:999px;transition:width .5s cubic-bezier(.4,0,.2,1)}
.step-counter{font-family:'JetBrains Mono',monospace;font-size:.71rem;font-weight:500;color:var(--ink2)}

/* CARD */
.card{background:var(--white);border:1px solid var(--border);border-radius:var(--r3);box-shadow:var(--shadow);overflow:hidden}
.card.animate{animation:fadeUp .3s ease forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.card-header{padding:1.75rem 2rem 1.375rem;border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--surface) 0%,var(--white) 100%)}
.card-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.card-icon{width:44px;height:44px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--accent-lt);border:1px solid var(--accent-bd)}
.card-icon svg{width:20px;height:20px;stroke:var(--accent);fill:none;stroke-width:2}
.card-title{font-family:'Fraunces',serif;font-size:1.45rem;color:var(--ink);margin-bottom:.3rem;line-height:1.2;font-weight:700}
.card-desc{font-size:.845rem;color:var(--ink3);line-height:1.7;max-width:540px}
.card-body{padding:1.75rem 2rem}
.card-footer{padding:1.125rem 2rem;border-top:1px solid var(--border);background:var(--surface);display:flex;align-items:center;gap:.75rem}

/* FORM */
label{display:block;font-size:.69rem;font-weight:700;color:var(--ink3);margin-bottom:.35rem;letter-spacing:.06em;text-transform:uppercase}
input[type=text],input[type=email],input[type=number]{width:100%;padding:.68rem 1rem;background:var(--white);border:1.5px solid var(--border2);border-radius:var(--r);color:var(--ink);font-family:'Cabinet Grotesk',sans-serif;font-size:.9rem;outline:none;transition:border-color .18s,box-shadow .18s}
input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(16,71,228,.08)}
input::placeholder{color:var(--ink4)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.form-group{margin-bottom:1.25rem}
.field-hint{font-size:.71rem;color:var(--ink4);margin-top:.3rem}

/* SEARCH + AUTOCOMPLETE */
.search-wrap{position:relative;margin-bottom:1.5rem}
.search-input-row{position:relative}
.search-input-row input{padding-left:2.875rem;padding-right:4.5rem;font-size:.9rem;border-radius:var(--r2);border:2px solid var(--border);background:var(--surface)}
.search-input-row input:focus{background:var(--white);border-color:var(--accent)}
.search-ico{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--ink4);pointer-events:none;display:flex;align-items:center}
.search-ico svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.search-count{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:.67rem;color:var(--ink4);font-family:'JetBrains Mono',monospace;background:var(--surface2);padding:.14rem .5rem;border-radius:999px;pointer-events:none}
.autocomplete-drop{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--white);border:1.5px solid var(--border);border-radius:var(--r2);box-shadow:var(--shadow3);max-height:280px;overflow-y:auto;display:none;z-index:200}
.autocomplete-drop.open{display:block}
.ac-item{display:flex;align-items:center;justify-content:space-between;padding:.68rem 1.125rem;cursor:pointer;border-bottom:1px solid var(--border);transition:background .1s;gap:.75rem}
.ac-item:last-child{border-bottom:none}
.ac-item:hover,.ac-item.highlighted{background:var(--accent-lt)}
.ac-item:hover .ac-add,.ac-item.highlighted .ac-add{background:var(--accent);color:#fff;border-color:var(--accent)}
.ac-name{font-size:.875rem;color:var(--ink);flex:1;min-width:0;font-weight:500}
.ac-name em{font-style:normal;color:var(--accent);font-weight:700}
.ac-add{font-size:.67rem;font-weight:700;padding:.2rem .58rem;border-radius:999px;flex-shrink:0;background:var(--accent-lt);color:var(--accent);border:1px solid var(--accent-bd);transition:all .12s}
.ac-added{font-size:.67rem;font-weight:600;padding:.2rem .58rem;border-radius:999px;flex-shrink:0;background:var(--green-lt);color:var(--green);border:1px solid #a7f3d0}
.ac-empty{padding:1.75rem;text-align:center;color:var(--ink4);font-size:.845rem}

/* QUICK CONDITIONS */
.quick-section{margin-bottom:1.625rem}
.quick-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink4);margin-bottom:.75rem;display:flex;align-items:center;gap:.625rem}
.quick-label::after{content:'';flex:1;height:1px;background:var(--border)}
.quick-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.45rem}
.quick-chip{display:flex;align-items:center;gap:.45rem;padding:.5rem .7rem;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer;font-family:'Cabinet Grotesk',sans-serif;font-size:.76rem;font-weight:600;color:var(--ink3);transition:all .15s;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.quick-chip:hover{border-color:var(--accent);background:var(--accent-lt);color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px rgba(16,71,228,.12)}
.quick-chip.added{border-color:var(--green);background:var(--green-lt);color:var(--green);pointer-events:none}
.quick-chip-ico{font-size:.875rem;flex-shrink:0}

/* TABLE */
.ct{width:100%;border-collapse:collapse}
.ct th{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink4);padding:.6rem 1.125rem;text-align:left;border-bottom:2px solid var(--border);background:var(--surface)}
.ct td{padding:.78rem 1.125rem;border-bottom:1px solid var(--border);font-size:.875rem;vertical-align:middle}
.ct tr:last-child td{border-bottom:none}
.ct tr:hover td{background:var(--surface)}
.ct-name{font-weight:600;color:var(--ink)}

/* STATUS DROPDOWN */
.status-select{appearance:none;-webkit-appearance:none;padding:.35rem 2rem .35rem .75rem;border-radius:999px;font-family:'Cabinet Grotesk',sans-serif;font-size:.76rem;font-weight:700;cursor:pointer;border:1.5px solid;outline:none;transition:all .15s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%238b97b2' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center}
.status-select.s-pending{background-color:var(--surface2);border-color:var(--border2);color:var(--ink4)}
.status-select.s-yes{background-color:var(--green-lt);border-color:#a7f3d0;color:var(--green)}
.status-select.s-no{background-color:var(--ruby-lt);border-color:#fecdd3;color:var(--ruby)}
.status-select.s-unsure{background-color:var(--amber-lt);border-color:#fde68a;color:var(--amber)}

/* BADGE */
.badge{display:inline-flex;align-items:center;gap:.28rem;padding:.23rem .65rem;border-radius:999px;font-size:.71rem;font-weight:700}
.badge-green{background:var(--green-lt);color:var(--green);border:1px solid #a7f3d0}
.badge-red{background:var(--ruby-lt);color:var(--ruby);border:1px solid #fecdd3}
.badge-blue{background:var(--accent-lt);color:var(--accent);border:1px solid var(--accent-bd)}
.badge-amber{background:var(--amber-lt);color:var(--amber);border:1px solid #fde68a}
.badge-grey{background:var(--surface2);color:var(--ink4);border:1px solid var(--border);font-style:italic}

/* EMPTY */
.empty{text-align:center;padding:2.5rem 1rem;border:2px dashed var(--border);border-radius:var(--r2);color:var(--ink4);background:var(--surface)}
.empty-icon{font-size:1.875rem;margin-bottom:.625rem;opacity:.5}
.empty-text{font-size:.845rem;line-height:1.7}

/* OPT BUTTONS */
.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.25rem}
.opt-grid.cols3{grid-template-columns:repeat(3,1fr)}
.opt-grid.col1{grid-template-columns:1fr}
.opt-btn{display:flex;align-items:center;gap:.6rem;padding:.62rem .95rem;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer;font-family:'Cabinet Grotesk',sans-serif;font-size:.84rem;font-weight:500;color:var(--ink3);text-align:left;transition:all .13s}
.opt-btn:hover{border-color:var(--accent);background:var(--accent-lt);color:var(--ink)}
.opt-btn.sel{border-color:var(--accent);background:var(--accent-lt);color:var(--ink2);font-weight:600}
.opt-btn.sel-multi{border-color:var(--mint);background:var(--mint-lt);color:var(--ink2);font-weight:600}
.opt-check{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border2);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.6rem;transition:all .13s;background:var(--white)}
.opt-check.sq{border-radius:4px}
.opt-btn.sel .opt-check{background:var(--accent);border-color:var(--accent);color:#fff}
.opt-btn.sel-multi .opt-check{background:var(--mint);border-color:var(--mint);color:#fff}

/* WELCOME - ASIDE EDIT BOX */
.edit-box { display: flex; align-items: center; justify-content: space-between; background: var(--surface2); border: 1.5px solid var(--border); border-radius: var(--r2); padding: 1.25rem 1.5rem; gap: 1rem; }
.edit-title { font-size: .875rem; font-weight: 700; color: var(--ink); margin-bottom: .25rem; }
.edit-desc { font-size: .75rem; color: var(--ink4); line-height: 1.4; }
.edit-row { display: flex; gap: .5rem; flex-shrink: 0; }
.edit-row input { width: 140px; padding: .5rem .875rem; border: 1.5px solid var(--border); border-radius: 8px; font-family: 'JetBrains Mono', monospace; font-size: .85rem; font-weight: 700; color: var(--ink); text-transform: uppercase; background: #fff; }
.edit-row input:focus { border-color: var(--accent); outline: none; }
.edit-row button { padding: 0 1.125rem; border-radius: 8px; font-size: .8rem; }

/* ERROR STATES & VALIDATION */
.form-group.err input { border-color: var(--ruby); background: var(--ruby-lt); }
.field-err { font-size: .7rem; color: var(--ruby); font-weight: 600; margin-top: .3rem; display: flex; align-items: center; gap: .25rem; }
/* Q SECTIONS */
.qs{margin-bottom:1.625rem}
.qs-label{font-size:.875rem;font-weight:600;color:var(--ink);margin-bottom:.65rem;display:flex;align-items:center;gap:.5rem}
.qs-num{width:21px;height:21px;border-radius:6px;background:var(--ink2);color:#fff;font-size:.61rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:'JetBrains Mono',monospace}

/* LOOP TABS */
.loop-tabs{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.25rem;margin-bottom:1.375rem;scrollbar-width:none}
.loop-tabs::-webkit-scrollbar{display:none}
.loop-tab{flex-shrink:0;padding:.38rem .95rem;border-radius:999px;font-size:.77rem;font-weight:600;cursor:pointer;border:1.5px solid var(--border);background:var(--surface);color:var(--ink3);transition:all .14s;white-space:nowrap}
.loop-tab:hover{border-color:var(--accent);color:var(--accent)}
.loop-tab.active{background:var(--ink);border-color:var(--ink);color:#fff}
.loop-tab.done{border-color:var(--mint);color:var(--mint);background:var(--mint-lt)}
.loop-header{display:flex;align-items:center;gap:1.25rem;padding:.875rem 1.5rem;background:#eff6ff;border:1.5px solid #bfdbfe;border-radius:var(--r2);margin-bottom:1.5rem}
.loop-num{font-family:'JetBrains Mono',monospace;font-size:.7rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;background:#2563eb;color:#fff;padding:.32rem .875rem;border-radius:999px}
.loop-name{font-family:'Cabinet Grotesk',sans-serif;font-size:1.1rem;color:#1e2d4a;font-weight:700}

/* COND BLOCKS */
.cond-block{border-radius:var(--r2);padding:1.125rem 1.375rem;margin-bottom:1.375rem;border:1.5px solid}
.cond-block.oncology{background:#fff8f2;border-color:#fed7aa}
.cond-block.mental{background:#f7f4ff;border-color:#ddd6fe}
.cond-block.attr{background:#fffdf0;border-color:#fde68a}
.cond-block-title{font-size:.82rem;font-weight:700;display:flex;align-items:center;gap:.45rem;margin-bottom:.875rem}
.cond-block.oncology .cond-block-title{color:#c2410c}
.cond-block.mental .cond-block-title{color:#6d28d9}
.cond-block.attr .cond-block-title{color:#b45309}

/* MEDS */
.med-group{margin-bottom:1.375rem}
.med-group-label{font-size:.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink3);margin-bottom:.625rem;display:flex;align-items:center;gap:.5rem}
.med-group-label::after{content:'';flex:1;height:1px;background:var(--border)}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chip{padding:.36rem .85rem;border-radius:999px;border:1.5px solid var(--border);background:var(--surface);font-size:.79rem;font-weight:500;color:var(--ink3);cursor:pointer;transition:all .13s;user-select:none}
.chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-lt)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}

/* HIST ROW */
.hist-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-radius:var(--r);background:var(--surface);border:1px solid var(--border);margin-bottom:.45rem;gap:.75rem}
.hist-label{font-size:.845rem;color:var(--ink2);font-weight:500;flex:1}
.hist-select{appearance:none;-webkit-appearance:none;padding:.3rem 1.75rem .3rem .7rem;border-radius:999px;font-family:'Cabinet Grotesk',sans-serif;font-size:.75rem;font-weight:700;cursor:pointer;border:1.5px solid var(--border2);outline:none;background-color:var(--surface2);color:var(--ink3);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%238b97b2' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .52rem center}
.hist-select.s-yes{background-color:var(--green-lt);border-color:#a7f3d0;color:var(--green)}
.hist-select.s-no{background-color:var(--ruby-lt);border-color:#fecdd3;color:var(--ruby)}

/* SUMMARY */
.summary-grid{display:grid;gap:.75rem}
.sum-card{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r2);overflow:hidden}
.sum-card-head{padding:.65rem 1.125rem;background:var(--surface);border-bottom:1px solid var(--border);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3);display:flex;align-items:center;gap:.45rem}
.sum-row{display:flex;justify-content:space-between;align-items:center;padding:.58rem 1.125rem;border-bottom:1px solid var(--border);font-size:.845rem}
.sum-row:last-child{border-bottom:none}
.sum-key{color:var(--ink3);font-weight:500}
.sum-val{color:var(--ink);font-weight:600;text-align:right;max-width:60%}

/* HERO */
.hero{text-align:center;padding:1.375rem 0 2.125rem}
.hero-emblem{width:76px;height:76px;border-radius:20px;background:linear-gradient(135deg,var(--accent),var(--mint));display:flex;align-items:center;justify-content:center;margin:0 auto 1.375rem;box-shadow:0 12px 36px rgba(16,71,228,.28)}
.hero-emblem svg{width:32px;height:32px;fill:none;stroke:#fff;stroke-width:1.75}
.hero-title{font-family:'Fraunces',serif;font-size:2.125rem;color:var(--ink);line-height:1.15;margin-bottom:.7rem;font-weight:700}
.hero-title em{font-style:italic;color:var(--accent)}
.hero-desc{font-size:.9rem;color:var(--ink3);line-height:1.75;max-width:460px;margin:0 auto 2rem}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.875rem}
.feat{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r2);padding:1.25rem;text-align:center;transition:all .2s;cursor:default}
.feat:hover{border-color:var(--accent-bd);background:var(--accent-lt);transform:translateY(-2px);box-shadow:0 8px 24px rgba(16,71,228,.09)}
.feat-ico{font-size:1.5rem;margin-bottom:.5rem}
.feat-name{font-size:.82rem;font-weight:700;color:var(--ink);margin-bottom:.22rem}
.feat-desc{font-size:.72rem;color:var(--ink4);line-height:1.55}
.info-pills{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}
.info-pill{display:flex;align-items:center;gap:.38rem;padding:.32rem .875rem;border-radius:999px;background:var(--surface2);border:1.5px solid var(--border);font-size:.75rem;color:var(--ink3);font-weight:500}
.info-pill-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}

/* COMPLETE */
.complete-hero{text-align:center;padding:1.875rem 0 1.625rem}
.complete-ring{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--mint));display:flex;align-items:center;justify-content:center;margin:0 auto 1.375rem;box-shadow:0 12px 36px rgba(16,71,228,.3);animation:popIn .48s cubic-bezier(.175,.885,.32,1.275) forwards}
.complete-ring svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:2.5}
@keyframes popIn{from{transform:scale(.35);opacity:0}to{transform:scale(1);opacity:1}}
.complete-title{font-family:'Fraunces',serif;font-size:1.9rem;color:var(--ink);margin-bottom:.45rem;font-weight:700}
.btn-text-small{background:transparent;border:none;color:var(--blue);font-size:.7rem;font-weight:800;text-transform:uppercase;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background .15s;}
.btn-text-small:hover{background:rgba(37,99,235,.1);}
.complete-desc{font-size:.9rem;color:var(--ink3);line-height:1.7;max-width:420px;margin:0 auto 1.375rem}
.ref-block{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1.25rem;border-radius:999px;background:var(--surface2);border:1.5px solid var(--border);font-size:.82rem;color:var(--ink2);margin-bottom:1.375rem}
.ref-id{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:.875rem;color:var(--accent);letter-spacing:.06em}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.48rem;padding:.68rem 1.5rem;border-radius:var(--r);font-family:'Cabinet Grotesk',sans-serif;font-size:.875rem;font-weight:700;cursor:pointer;border:none;transition:all .14s;letter-spacing:.01em}
.btn-primary{background:var(--ink);color:#fff;box-shadow:0 2px 8px rgba(12,18,37,.2)}
.btn-primary:hover{background:var(--ink2);box-shadow:0 6px 20px rgba(12,18,37,.24);transform:translateY(-1px)}
.btn-accent{background:var(--accent);color:#fff;box-shadow:0 2px 8px rgba(16,71,228,.25)}
.btn-accent:hover{background:var(--accent2);transform:translateY(-1px);box-shadow:0 6px 20px rgba(16,71,228,.3)}
.btn-mint{background:var(--mint);color:#fff;box-shadow:0 2px 8px rgba(0,196,167,.25)}
.btn-mint:hover{background:#00a68e;transform:translateY(-1px)}
.btn-outline{background:transparent;color:var(--ink2);border:1.5px solid var(--border2);font-weight:600}
.btn-outline:hover{background:var(--surface2);border-color:var(--ink3)}
.btn:disabled{opacity:.38;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2}
.ml-auto{margin-left:auto}
.del-btn{width:29px;height:29px;border-radius:50%;border:none;background:transparent;cursor:pointer;color:var(--ink4);display:flex;align-items:center;justify-content:center;transition:all .13s}
.del-btn:hover{background:var(--ruby-lt);color:var(--ruby)}
.del-btn svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}

/* ALERT */
.alert{display:flex;align-items:flex-start;gap:.7rem;padding:.85rem 1.1rem;border-radius:var(--r);font-size:.845rem;line-height:1.6;margin-bottom:1.25rem}
.alert-ico{font-size:.9rem;flex-shrink:0;margin-top:.1rem}
.alert-mint{background:var(--mint-lt);border:1px solid var(--mint-bd);color:#00796b}
.alert-amber{background:var(--amber-lt);border:1px solid #fde68a;color:#92400e}

/* TOAST */
#toast{position:fixed;bottom:2rem;right:2rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}
.toast-item{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.2rem;background:var(--ink);color:#fff;border-radius:var(--r2);box-shadow:var(--shadow3);font-size:.845rem;font-weight:600;animation:slideIn .25s ease forwards;max-width:300px}
@keyframes slideIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
.toast-item.success{background:var(--green)}
.toast-item.error{background:var(--ruby)}

/* LOADING */
.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:420px;gap:1rem}
.spinner{width:36px;height:36px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .75s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* MISC */
.divider{height:1px;background:var(--border);margin:1.5rem 0}
.count-badge{display:inline-flex;align-items:center;background:var(--surface2);border:1.5px solid var(--border);border-radius:999px;padding:.18rem .62rem;font-size:.69rem;font-weight:700;color:var(--ink3);font-family:'JetBrains Mono',monospace}
.scroll-area{max-height:300px;overflow-y:auto;border-radius:var(--r);border:1.5px solid var(--border);overflow-x:hidden}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px}
.section-title{font-family:'Fraunces',serif;font-size:1.05rem;color:var(--ink);margin-bottom:1.125rem;font-weight:700}
.confirm-info-bar{display:flex;gap:.5rem;margin-bottom:1.375rem;flex-wrap:wrap}
.confirm-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem 1rem;border-radius:999px;font-size:.8rem;font-weight:700;border:1.5px solid;transition:all .2s;cursor:default}

@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:1.375rem 1.25rem 5rem}.form-row{grid-template-columns:1fr}.feat-grid{grid-template-columns:1fr 1fr}.opt-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,1fr)}}
/* UPLOAD & VERIFICATION */
.up-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .75rem;border-radius:var(--r);font-size:.76rem;font-weight:700;cursor:pointer;background:var(--accent-lt);color:var(--accent);border:1.5px solid var(--accent-bd);transition:all .14s}
.up-btn:hover:not(.disabled){background:var(--accent);color:#fff}
.up-btn.disabled{background:var(--surface2);color:var(--ink4);border-color:var(--border2);cursor:not-allowed;opacity:.6}
.upload-cell{display:flex;flex-direction:column;gap:.375rem;padding:.25rem 0}
.up-txt{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* PROFILE SWITCHER / CAREGIVER MODE */
.profile-bar { display: flex; align-items: center; justify-content: space-between; padding: .65rem 1.125rem; background: var(--white); border: 1.5px solid var(--border); border-radius: var(--r2); margin-bottom: 1.375rem; box-shadow: var(--shadow); }
.profile-tabs { display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: none; flex: 1; margin-right: 1rem; }
.profile-tabs::-webkit-scrollbar { display: none; }
.profile-tab { display: flex; align-items: center; gap: .45rem; padding: .4rem .85rem; border-radius: 999px; background: var(--surface); border: 1.5px solid var(--border); cursor: pointer; transition: all .14s; font-size: .8rem; font-weight: 600; color: var(--ink3); white-space: nowrap; }
.profile-tab:hover { background: var(--surface2); border-color: var(--border2); }
.profile-tab.active { background: var(--ink); border-color: var(--ink); color: #fff; box-shadow: 0 4px 12px rgba(12, 18, 37, 0.15); }
.p-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--border2); }
.active .p-dot { background: var(--mint); }
.done .p-dot { background: var(--green); }
.btn-add-profile { width: 32px; height: 32px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--accent-lt); border: 1.5px solid var(--accent-bd); color: var(--accent); cursor: pointer; transition: all .14s; padding: 0; }
.btn-add-profile:hover { background: var(--accent); color: #fff; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(16, 71, 228, 0.2); }
.btn-add-profile svg { width: 14px; height: 14px; stroke: currentColor; stroke-width: 2.5px; }