:root{
  --ink:#080808;
  --graphite:#171717;
  --graphite-2:#23211f;
  --ivory:#fbfaf7;
  --pearl:#f4f0ea;
  --pearl-2:#eee7dc;
  --stone:#d7d0c5;
  --stone-2:#bcb4a8;
  --muted:#746f68;
  --muted-2:#9b948b;
  --champagne:#c7aa76;
  --champagne-2:#dcc79d;
  --danger:#ad3131;
  --warning:#b27c25;
  --success:#2d7a4e;
  --info:#4b5f82;
  --radius:22px;
  --radius-sm:14px;
  --shadow:0 26px 80px rgba(8,8,8,.12),0 2px 10px rgba(8,8,8,.05);
  --soft-shadow:0 12px 36px rgba(8,8,8,.08);
  --serif:Georgia,'Times New Roman',serif;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html{height:100%;scroll-behavior:smooth}
body{min-height:100%;margin:0;font-family:var(--sans);color:var(--ink);background:var(--ivory);}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.45}
a{color:inherit;text-decoration:none}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.brand{display:flex;align-items:center;gap:14px;justify-content:center}.brand.compact{justify-content:flex-start}.brand-tooth{width:48px;height:48px;display:block}.brand-word{font-family:var(--serif);letter-spacing:.04em;font-weight:700;font-size:54px;line-height:1}.brand-sub{font-size:12px;letter-spacing:.44em;text-transform:uppercase;color:var(--muted);margin-top:8px;text-align:center}.brand.compact .brand-word{font-size:28px;color:#fff}.brand.compact .brand-tooth{width:28px;height:28px}.brand.compact .brand-sub{font-size:9px;letter-spacing:.22em;text-align:left;color:rgba(255,255,255,.7)}
.tooth-stroke{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.lang-toggle{display:inline-grid;grid-template-columns:1fr 1fr;padding:4px;border:1px solid var(--stone);border-radius:999px;background:rgba(255,255,255,.7);box-shadow:0 8px 24px rgba(8,8,8,.06)}.lang-toggle button{border:0;background:transparent;border-radius:999px;padding:8px 16px;font-size:13px}.lang-toggle button.active{background:var(--ink);color:#fff}
.input,.textarea,.select{width:100%;border:1px solid var(--stone);background:rgba(255,255,255,.78);border-radius:14px;min-height:54px;padding:14px 16px;outline:none;transition:border-color .2s, box-shadow .2s, background .2s}.textarea{min-height:108px;resize:vertical}.input:focus,.textarea:focus,.select:focus{border-color:var(--champagne);box-shadow:0 0 0 4px rgba(199,170,118,.18);background:#fff}.field{display:grid;gap:9px}.field label{font-weight:650;font-size:15px}.field .hint{font-size:13px;color:var(--muted)}.field.error .input,.field.error .textarea{border-color:var(--danger);box-shadow:0 0 0 4px rgba(173,49,49,.08)}.field-error{font-size:12px;color:var(--danger);min-height:16px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.btn{border:1px solid var(--stone);border-radius:14px;background:rgba(255,255,255,.72);min-height:56px;padding:14px 22px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:transform .18s, box-shadow .18s, background .18s, border-color .18s}.btn:hover{transform:translateY(-1px);box-shadow:var(--soft-shadow)}.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 14px 34px rgba(8,8,8,.22)}.btn-primary:hover{background:#000}.btn-champagne{background:linear-gradient(135deg,var(--champagne),var(--champagne-2));border-color:var(--champagne);color:#171717}.btn-ghost{background:rgba(255,255,255,.55)}.btn-small{min-height:36px;padding:8px 12px;border-radius:10px;font-size:13px}.btn-danger{border-color:rgba(173,49,49,.28);color:var(--danger)}.icon-btn{width:38px;height:38px;border:1px solid var(--stone);border-radius:10px;background:#fff;display:inline-grid;place-items:center}
.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:750;background:var(--pearl);border:1px solid var(--stone);white-space:nowrap}.badge.danger{background:#fff0ef;color:var(--danger);border-color:#e5c1bd}.badge.warning{background:#fff5df;color:#8f5d0f;border-color:#e8d0a5}.badge.success{background:#edf8f1;color:var(--success);border-color:#bbdec9}.badge.info{background:#eef2f8;color:var(--info);border-color:#c9d1df}.badge.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.badge.champagne{background:#fbf2df;color:#6f4c0d;border-color:#ead7aa}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--stone),transparent);margin:22px 0}
/* Patient */
.patient-shell{min-height:100vh;background:radial-gradient(circle at 14% 5%,rgba(199,170,118,.18),transparent 26%),radial-gradient(circle at 86% 8%,rgba(8,8,8,.08),transparent 23%),linear-gradient(145deg,var(--ivory),#fff 42%,var(--pearl));display:flex;align-items:center;justify-content:center;padding:28px}.ipad-frame{width:min(1080px,100%);min-height:calc(100vh - 56px);background:rgba(255,255,255,.76);border:1px solid rgba(8,8,8,.08);border-radius:34px;box-shadow:var(--shadow);position:relative;overflow:hidden;backdrop-filter:blur(8px)}.ipad-frame:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.75),transparent 42%),radial-gradient(circle at 50% 0,rgba(199,170,118,.12),transparent 30%);pointer-events:none}.patient-inner{position:relative;z-index:1;padding:42px 70px 34px}.status-line{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;margin-bottom:26px}.patient-top{display:grid;grid-template-columns:180px 1fr 180px;align-items:start}.patient-top .brand-block{grid-column:2}.patient-top .lang-toggle{justify-self:end}.progress-area{margin-top:28px}.progress-track{height:7px;background:#e8e3dc;border-radius:99px;overflow:hidden}.progress-bar{height:100%;width:10%;background:linear-gradient(90deg,var(--ink),var(--champagne));border-radius:99px;transition:width .45s cubic-bezier(.2,.7,.2,1)}.progress-meta{display:flex;justify-content:space-between;margin-top:12px;font-size:15px;color:var(--muted);font-weight:650}.patient-content{min-height:720px;position:relative}.screen{animation:screenIn .34s cubic-bezier(.2,.7,.2,1)}@keyframes screenIn{from{opacity:0;transform:translateY(16px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}.screen-title{font-family:var(--serif);font-size:46px;line-height:1.05;margin:42px 0 12px}.screen-lead{font-size:18px;line-height:1.55;color:var(--muted);max-width:680px;margin:0 0 28px}.form-panel{background:rgba(255,255,255,.58);border:1px solid rgba(215,208,197,.75);border-radius:var(--radius);padding:28px;box-shadow:0 10px 40px rgba(8,8,8,.045)}.minor-block{border:1px dashed var(--stone-2);border-radius:18px;background:linear-gradient(135deg,rgba(244,240,234,.6),rgba(255,255,255,.78));padding:20px;margin:22px 0}.minor-head{display:flex;align-items:center;gap:10px;font-weight:800;margin-bottom:16px}.segmented{display:grid;border:1px solid var(--stone);border-radius:14px;overflow:hidden;background:#fff}.segmented.cols-2{grid-template-columns:repeat(2,1fr)}.segmented.cols-3{grid-template-columns:repeat(3,1fr)}.segmented button{min-height:54px;border:0;background:transparent;border-right:1px solid var(--stone);font-weight:750}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--ink);color:#fff}.cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cards-grid.source-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.choice-card{border:1px solid var(--stone);background:rgba(255,255,255,.72);border-radius:18px;padding:20px;min-height:84px;display:flex;align-items:center;gap:14px;text-align:left;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s}.choice-card:hover{transform:translateY(-1px);box-shadow:var(--soft-shadow)}.choice-card.selected{border-color:var(--ink);background:#fff;box-shadow:inset 0 0 0 1px var(--ink),0 10px 32px rgba(8,8,8,.06)}.choice-card .radio,.choice-card .check{width:28px;height:28px;border:1.6px solid var(--stone-2);border-radius:999px;background:#fff;display:grid;place-items:center;flex:0 0 auto}.choice-card .check{border-radius:7px}.choice-card.selected .radio{border-color:var(--ink)}.choice-card.selected .radio:after{content:"";width:12px;height:12px;background:var(--ink);border-radius:999px}.choice-card.selected .check{border-color:var(--ink);background:var(--ink);color:#fff}.choice-card.selected .check:after{content:"✓";font-size:18px}.choice-card .choice-title{font-size:18px;font-weight:720;line-height:1.25}.choice-card .choice-icon{font-size:28px;line-height:1;color:var(--champagne)}.source-card{min-height:132px;justify-content:center;flex-direction:column;text-align:center}.source-card .choice-icon{font-size:32px}.question-card{max-width:900px;margin:50px auto 0;padding:58px;background:rgba(255,255,255,.62);border:1px solid rgba(215,208,197,.75);border-radius:28px;box-shadow:var(--soft-shadow)}.question-no{width:42px;height:42px;border-radius:12px;background:var(--ink);color:#fff;display:grid;place-items:center;margin:0 auto 24px;font-weight:850}.question-title{text-align:center;font-family:var(--serif);font-size:42px;line-height:1.14;margin:0 0 16px}.question-helper{text-align:center;color:var(--muted);font-size:17px;max-width:680px;margin:0 auto 34px;line-height:1.5}.patient-nav{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.patient-success{text-align:center;padding:90px 30px}.success-mark{width:86px;height:86px;border-radius:999px;background:linear-gradient(135deg,var(--ink),var(--champagne));display:grid;place-items:center;color:#fff;font-size:42px;margin:0 auto 24px}.confidential{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px;color:var(--muted);font-size:14px}.smooth-note{text-align:center;color:var(--muted);font-size:14px;margin-top:28px}.dots{display:flex;justify-content:center;gap:9px;margin-top:14px}.dot{width:8px;height:8px;border-radius:99px;background:var(--stone)}.dot.active{background:var(--ink)}.error-banner,.toast{border:1px solid #e5c1bd;background:#fff2f0;color:var(--danger);border-radius:14px;padding:13px 16px;font-weight:700;margin:16px 0}.toast{position:fixed;right:24px;bottom:24px;z-index:50;box-shadow:var(--shadow);max-width:380px}.toast.ok{background:#f1fbf5;border-color:#b9dec8;color:var(--success)}
/* Admin */
.admin-app{min-height:100vh;background:linear-gradient(135deg,#f7f4ef,#fff);display:grid;grid-template-columns:290px 1fr}.sidebar{background:radial-gradient(circle at 20% 0,rgba(199,170,118,.16),transparent 28%),linear-gradient(180deg,#080808,#141414);color:#fff;min-height:100vh;padding:30px 24px;display:flex;flex-direction:column;gap:30px}.side-nav{display:grid;gap:9px}.side-link{border:0;background:transparent;color:rgba(255,255,255,.86);border-radius:16px;padding:15px 16px;display:flex;align-items:center;gap:12px;font-weight:750;text-align:left}.side-link:hover,.side-link.active{background:rgba(255,255,255,.11);color:#fff}.side-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:22px}.user-chip{display:flex;align-items:center;gap:12px}.avatar{width:44px;height:44px;border-radius:999px;background:#fff;color:var(--ink);display:grid;place-items:center;font-weight:850}.admin-main{padding:38px 42px;overflow:auto}.admin-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:26px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.28em;color:var(--muted);font-weight:850}.admin-title{font-size:34px;margin:6px 0 8px}.admin-subtitle{color:var(--muted);margin:0}.admin-controls{display:flex;gap:14px;align-items:center}.admin-card{background:rgba(255,255,255,.72);border:1px solid var(--stone);border-radius:22px;box-shadow:0 12px 44px rgba(8,8,8,.055);padding:22px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:20px}.kpi{display:flex;gap:16px;align-items:center}.kpi-icon{width:50px;height:50px;border-radius:16px;background:var(--pearl);display:grid;place-items:center;color:var(--champagne);font-size:22px}.kpi strong{font-size:30px}.kpi span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.filters{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:14px;margin-bottom:22px}.filters .wide{grid-column:span 2}.admin-layout{display:grid;grid-template-columns:minmax(740px,1fr) 430px;gap:22px}.table-card{overflow:hidden}.table-head,.table-row{display:grid;grid-template-columns:120px 1.25fr 135px 140px 70px 120px 170px 154px;gap:12px;align-items:center}.table-head{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:850;padding:0 0 12px}.table-row{border-top:1px solid var(--pearl-2);padding:14px 0;font-size:14px}.table-row strong{font-weight:850}.table-row small{display:block;color:var(--muted);margin-top:4px}.row-actions{display:flex;flex-wrap:wrap;gap:6px}.preview-card{position:sticky;top:24px}.a4-preview{background:#fff;border:1px solid var(--stone);border-radius:16px;padding:24px;min-height:560px;box-shadow:inset 0 0 0 1px rgba(8,8,8,.02)}.a4-brand{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--stone);padding-bottom:16px;margin-bottom:16px}.a4-brand .brand-word{font-size:32px}.a4-section{border-bottom:1px solid var(--pearl-2);padding:12px 0}.a4-section h4{margin:0 0 10px;font-size:15px}.a4-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;font-size:13px}.a4-grid span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.doctor-note{border:1px solid var(--stone);background:#fffdf9;border-radius:13px;padding:14px;margin-top:14px;font-size:12px}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;color:var(--muted)}.pages{display:flex;gap:7px}.pages button{width:36px;height:36px;border-radius:10px;border:1px solid var(--stone);background:#fff}.pages button.active{background:var(--ink);color:#fff}
.login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 30% 0,rgba(199,170,118,.18),transparent 28%),linear-gradient(135deg,var(--ivory),#fff)}.login-card{width:min(460px,calc(100% - 32px));background:rgba(255,255,255,.78);border:1px solid var(--stone);border-radius:28px;padding:34px;box-shadow:var(--shadow)}.login-card .brand{margin-bottom:26px}.login-card .brand-word{font-size:38px}.login-card h1{font-family:var(--serif);font-size:34px;margin:0 0 8px}.login-card p{color:var(--muted)}
.settings-layout{display:grid;grid-template-columns:1fr 380px;gap:22px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.question-list{display:grid;gap:10px}.question-row{display:grid;grid-template-columns:54px 1.4fr 150px 100px 110px 130px;gap:14px;align-items:center;background:rgba(255,255,255,.72);border:1px solid var(--stone);border-radius:18px;padding:14px}.drag-handle{color:var(--muted);font-weight:900}.question-row h3{margin:0 0 5px;font-size:16px}.question-row p{margin:0;color:var(--muted);font-size:12px}.modal-backdrop{position:fixed;inset:0;background:rgba(8,8,8,.42);display:grid;place-items:center;z-index:100;padding:24px}.modal{width:min(780px,100%);max-height:90vh;overflow:auto;background:var(--ivory);border-radius:26px;border:1px solid var(--stone);box-shadow:var(--shadow);padding:26px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal h2{font-family:var(--serif);font-size:32px;margin:0}.option-editor{display:grid;gap:8px}.option-row{display:grid;grid-template-columns:1fr 1fr 1fr 42px;gap:8px}.print-only{display:none}
/* Print page */
.print-page{background:#ece7df;min-height:100vh;padding:28px}.print-toolbar{max-width:960px;margin:0 auto 16px;display:flex;justify-content:space-between;gap:10px}.print-sheet{width:210mm;min-height:297mm;margin:0 auto;background:#fff;padding:12mm;box-shadow:0 20px 80px rgba(8,8,8,.18);color:#111}.print-sheet .a4-brand .brand-word{font-size:34px}.print-sheet .a4-grid{font-size:12px}.print-sheet .a4-section{padding:8px 0}.print-sheet .doctor-note{font-size:11px}.answer-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;font-size:11px}.answer-list b{font-size:10px;text-transform:uppercase;color:#777;display:block}.answer-list div{break-inside:avoid}
@media(max-width:1180px){.admin-app{grid-template-columns:90px 1fr}.brand.compact .brand-word,.brand.compact .brand-sub{display:none}.side-link span{display:none}.sidebar{padding:24px 18px}.admin-layout,.settings-layout{grid-template-columns:1fr}.preview-card{position:relative;top:auto}.table-head,.table-row{grid-template-columns:110px 1.2fr 120px 100px 60px 110px 150px 140px}.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.patient-inner{padding:30px 26px}.patient-top{grid-template-columns:1fr;gap:18px}.patient-top .brand-block{grid-column:1}.patient-top .lang-toggle{position:absolute;right:24px;top:24px}.brand-word{font-size:42px}.screen-title{font-size:38px}.grid-2,.grid-3,.grid-4,.cards-grid,.cards-grid.source-grid{grid-template-columns:1fr}.question-card{padding:32px 22px}.question-title{font-size:32px}.patient-nav{grid-template-columns:1fr}.admin-main{padding:24px}.filters{grid-template-columns:1fr}.filters .wide{grid-column:span 1}.table-head{display:none}.table-row{grid-template-columns:1fr;gap:8px;border:1px solid var(--stone);border-radius:16px;padding:14px;margin-bottom:10px}.admin-header{flex-direction:column}.kpi-grid{grid-template-columns:1fr}.print-sheet{width:100%;min-height:auto}.print-toolbar{flex-wrap:wrap}}
@media print{body{background:#fff}.print-toolbar,.sidebar,.admin-main,.patient-shell{display:none!important}.print-page{padding:0;background:#fff}.print-sheet{box-shadow:none;margin:0;width:210mm;min-height:297mm;padding:10mm}.print-only{display:block}.no-print{display:none!important}@page{size:A4;margin:8mm}}

/* Iteration 2: fixed iPad viewport, wheel pickers, cleaner admin UX */
body.patient-page{height:100dvh;min-height:100dvh;overflow:hidden;position:fixed;inset:0;width:100%;touch-action:manipulation;background:var(--ivory)}
body.patient-page .patient-shell{height:100dvh;min-height:0;overflow:hidden;padding:clamp(10px,2.2vmin,28px);align-items:stretch}
body.patient-page .ipad-frame{width:min(1120px,calc(100vw - clamp(20px,4.4vmin,56px)));height:calc(100dvh - clamp(20px,4.4vmin,56px));min-height:0;margin:auto;border-radius:clamp(24px,3vmin,34px);overflow:hidden}
body.patient-page .patient-inner{height:100%;padding:clamp(18px,3.1vmin,42px) clamp(28px,5.2vmin,70px) clamp(14px,2.4vmin,28px);display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:clamp(10px,1.4vmin,18px)}
.patient-header{min-height:0}.patient-header .status-line{margin-bottom:clamp(12px,2vmin,24px)}
.patient-header .progress-area{margin-top:clamp(18px,2.8vmin,28px)}
body.patient-page .patient-content{min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 8px 4px 0;scrollbar-width:thin;scrollbar-color:var(--stone) transparent}
body.patient-page .patient-content::-webkit-scrollbar{width:8px}body.patient-page .patient-content::-webkit-scrollbar-thumb{background:var(--stone);border-radius:999px}
body.patient-page .screen-title{margin:clamp(16px,2.3vmin,30px) 0 10px;font-size:clamp(36px,4.7vmin,46px)}
body.patient-page .screen-lead{font-size:clamp(15px,1.8vmin,18px);margin-bottom:clamp(16px,2.2vmin,26px)}
body.patient-page .form-panel{padding:clamp(20px,2.8vmin,28px)}
body.patient-page .input,body.patient-page .textarea,body.patient-page .select,body.patient-page .date-trigger{font-size:16px;min-height:54px}
body.patient-page .textarea{min-height:90px;resize:none}.compact-gap{gap:clamp(14px,2vmin,20px)}
.section-subtitle{font-family:var(--serif);font-size:24px;margin:0 0 16px}.section-subtitle.large{font-size:28px}
body.patient-page .cards-grid.source-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
body.patient-page .source-card{min-height:104px;padding:16px 12px}.source-card .choice-title{font-size:15px;line-height:1.22}.source-card .choice-icon{width:36px;height:36px;border-radius:999px;background:linear-gradient(135deg,#fff,var(--pearl));border:1px solid var(--stone);display:grid;place-items:center;font-weight:900;color:var(--ink);font-size:20px}
body.patient-page .question-card{margin:clamp(16px,3vmin,42px) auto 0;padding:clamp(30px,5vmin,58px);max-width:920px}.question-options{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.consent-card{width:100%}
body.patient-page .patient-nav{margin-top:0;gap:clamp(14px,2.2vmin,24px)}body.patient-page .confidential{margin-top:0}.patient-nav .btn{min-height:60px;font-size:17px}.date-trigger{width:100%;border:1px solid var(--stone);background:rgba(255,255,255,.78);border-radius:14px;min-height:54px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;text-align:left;outline:none;transition:border-color .2s, box-shadow .2s, background .2s}.date-trigger:not(.has-value){color:var(--muted-2)}.date-trigger:focus,.date-trigger:hover{border-color:var(--champagne);box-shadow:0 0 0 4px rgba(199,170,118,.14);background:#fff;transform:none}.date-trigger-icon{width:34px;height:34px;border-radius:999px;background:var(--pearl);display:grid;place-items:center;color:var(--ink);font-weight:900;flex:0 0 auto}
.wheel-backdrop{position:fixed;inset:0;background:rgba(8,8,8,.46);display:grid;place-items:end center;z-index:500;padding:22px;backdrop-filter:blur(8px)}.wheel-sheet{width:min(760px,calc(100vw - 32px));background:var(--ivory);border:1px solid var(--stone);border-radius:28px;box-shadow:var(--shadow);padding:22px}.wheel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}.wheel-head b{font-family:var(--serif);font-size:28px}.wheel-head small{display:block;color:var(--muted);margin-top:4px}.wheel-labels,.wheel-grid{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:12px}.wheel-labels.two,.wheel-grid.two{grid-template-columns:1.35fr 1fr}.wheel-labels{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:850;margin:12px 0 8px}.wheel-column{height:236px;overflow:auto;scroll-snap-type:y mandatory;border:1px solid var(--stone);border-radius:18px;background:linear-gradient(180deg,#fff,var(--pearl));padding:78px 8px;scrollbar-width:none;position:relative}.wheel-column::-webkit-scrollbar{display:none}.wheel-column:before,.wheel-column:after{content:"";position:sticky;left:0;right:0;display:block;height:0;pointer-events:none}.wheel-item{width:100%;height:50px;border:0;background:transparent;border-radius:13px;display:grid;place-items:center;font-weight:760;color:var(--muted);scroll-snap-align:center;font-size:18px}.wheel-item.active{background:var(--ink);color:#fff;box-shadow:0 12px 28px rgba(8,8,8,.16)}.wheel-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}

/* Friendlier admin */
.admin-app{grid-template-columns:280px minmax(0,1fr)}.admin-main{max-width:1680px;width:100%;margin:0 auto}.admin-controls{flex-wrap:wrap;justify-content:flex-end}.quick-actions{display:flex;gap:10px;flex-wrap:wrap;margin:-6px 0 18px}.quick-chip{border:1px solid var(--stone);background:rgba(255,255,255,.74);border-radius:999px;padding:10px 14px;font-weight:800;color:var(--graphite)}.quick-chip.active,.quick-chip:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.filters{grid-template-columns:1fr 1fr 1fr 1fr;align-items:end}.filters .filter-search{grid-column:span 2}.filters .filter-actions{display:flex;gap:10px;align-items:end}.admin-layout{grid-template-columns:minmax(760px,1fr) 460px}.submission-list{display:grid;gap:10px}.submission-row{width:100%;border:1px solid transparent;border-top:1px solid var(--pearl-2);background:transparent;border-radius:16px;padding:14px 12px;display:grid;grid-template-columns:120px minmax(210px,1.25fr) 145px 120px 1fr 170px;gap:14px;align-items:center;text-align:left;transition:background .18s,border-color .18s,box-shadow .18s}.submission-row:hover,.submission-row.selected{background:#fff;border-color:var(--stone);box-shadow:0 10px 28px rgba(8,8,8,.055)}.submission-date b,.submission-patient strong{font-weight:900}.submission-date small,.submission-patient small,.submission-meta small{display:block;color:var(--muted);margin-top:4px}.patient-cell{display:flex;align-items:center;gap:12px}.patient-avatar{width:42px;height:42px;border-radius:999px;background:linear-gradient(135deg,var(--ink),var(--champagne));color:#fff;display:grid;place-items:center;font-weight:900;flex:0 0 auto}.submission-flags{display:flex;gap:5px;flex-wrap:wrap}.submission-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.preview-card .preview-patient{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin:4px 0 14px}.preview-patient h2{margin:0;font-size:24px}.preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.status-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.friendly-empty{padding:54px;text-align:center;color:var(--muted);border:1px dashed var(--stone);border-radius:18px;background:rgba(255,255,255,.5)}.settings-group{margin-bottom:18px}.settings-group-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;padding:0 4px}.settings-group-head h3{margin:0;font-size:17px}.settings-group-head small{color:var(--muted)}.question-row{grid-template-columns:58px minmax(260px,1.4fr) 150px 120px 110px 142px}.question-row .question-key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--muted);margin-top:5px}.question-row:hover{box-shadow:var(--soft-shadow);background:#fff}.settings-preview-mini{position:sticky;top:24px}.modal{width:min(900px,100%)}.option-row{grid-template-columns:1fr 1fr 1fr 42px}
@media(max-width:1180px){.admin-layout{grid-template-columns:1fr}.submission-row{grid-template-columns:110px 1fr 140px 110px 1fr 145px}.preview-card{position:relative}.settings-preview-mini{position:relative;top:auto}}
@media(max-width:760px){body.patient-page .patient-shell{padding:0}body.patient-page .ipad-frame{width:100vw;height:100dvh;border-radius:0;border:0}body.patient-page .patient-inner{padding:18px 16px 14px}.patient-top{grid-template-columns:1fr}.patient-top .brand-block{grid-column:1}.patient-top .lang-toggle{position:absolute;right:18px;top:18px}.brand-word{font-size:38px}.brand-tooth{width:38px;height:38px}.grid-2,.grid-3,.grid-4,.question-options{grid-template-columns:1fr}.cards-grid.source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wheel-backdrop{padding:0}.wheel-sheet{width:100%;border-radius:24px 24px 0 0}.wheel-column{height:210px}.wheel-labels,.wheel-grid{gap:8px}.wheel-item{font-size:16px}.patient-nav{grid-template-columns:1fr 1fr}.admin-app{grid-template-columns:1fr}.sidebar{position:relative;min-height:auto}.admin-main{padding:20px}.filters,.filters .filter-search{grid-template-columns:1fr;grid-column:span 1}.submission-row{grid-template-columns:1fr;gap:8px;border:1px solid var(--stone);margin-bottom:10px}.submission-actions{justify-content:flex-start}.table-head{display:none}.admin-header{flex-direction:column}.kpi-grid{grid-template-columns:1fr}.settings-layout{grid-template-columns:1fr}.question-row{grid-template-columns:1fr}.option-row{grid-template-columns:1fr}.wheel-actions{grid-template-columns:1fr}}
@media(min-width:761px) and (max-width:900px){body.patient-page .patient-top{grid-template-columns:160px 1fr 160px;gap:0}body.patient-page .patient-top .brand-block{grid-column:2}body.patient-page .patient-top .lang-toggle{position:static;right:auto;top:auto;justify-self:end}body.patient-page .brand-word{font-size:46px}body.patient-page .grid-2{grid-template-columns:1fr 1fr}body.patient-page .grid-3{grid-template-columns:repeat(3,1fr)}body.patient-page .grid-4{grid-template-columns:repeat(4,1fr)}body.patient-page .cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.patient-page .cards-grid.source-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}body.patient-page .patient-nav{grid-template-columns:1fr 1fr}body.patient-page .question-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Iteration 3: steadier tablet, greyer palette, AESTHETE refinements */
:root{
  --ink:#090909;
  --graphite:#181818;
  --graphite-2:#242424;
  --ivory:#f7f7f5;
  --pearl:#eeeeec;
  --pearl-2:#e5e5e2;
  --stone:#d0d0cc;
  --stone-2:#aaa9a3;
  --muted:#686864;
  --muted-2:#92918c;
  --champagne:#b9a078;
  --champagne-2:#d2c1a3;
}
body.patient-page .status-line{display:none!important}
body.patient-page .patient-shell{background:radial-gradient(circle at 12% 0,rgba(185,160,120,.10),transparent 24%),linear-gradient(145deg,#f3f3f1,#fff 45%,#ededeb);}
body.patient-page .ipad-frame{background:rgba(255,255,255,.84);border-color:rgba(9,9,9,.10)}
body.patient-page .patient-inner{grid-template-rows:auto minmax(0,1fr) auto auto;}
.patient-inner[data-quiet="1"] .screen{animation:none!important}
body.patient-page .patient-content{scroll-behavior:auto;contain:layout paint;}
body.patient-page .patient-top{grid-template-columns:170px 1fr 170px;align-items:start}
body.patient-page .brand-word{letter-spacing:.035em}
body.patient-page .progress-area{margin-top:clamp(14px,2vmin,22px)}
body.patient-page .screen-title{margin-top:clamp(12px,1.8vmin,22px)}
body.patient-page .cards-grid.source-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
body.patient-page .source-card{min-height:96px;padding:13px 9px;border-radius:16px}
body.patient-page .source-card .choice-title{font-size:14px;line-height:1.16}
body.patient-page .source-card .choice-icon{width:34px;height:34px;font-size:18px;color:var(--graphite)}
body.patient-page .dense-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
body.patient-page .dense-options .choice-card{min-height:58px;padding:12px 14px;border-radius:14px;gap:10px}
body.patient-page .dense-options .choice-title{font-size:14px;line-height:1.22;font-weight:680}
body.patient-page .dense-options .check,body.patient-page .dense-options .radio{width:22px;height:22px;flex-basis:22px}
body.patient-page .q-conditions{padding-top:clamp(22px,3vmin,36px);padding-bottom:clamp(22px,3vmin,36px)}
body.patient-page .q-conditions .question-title{font-size:clamp(28px,3.2vmin,36px)}
body.patient-page .q-conditions .question-helper{margin-bottom:18px}
.success-light{max-width:760px;margin:auto;display:grid;place-items:center;align-content:center;min-height:100%;padding:40px 30px!important}
.success-copy{max-width:560px;text-align:center;margin-left:auto!important;margin-right:auto!important;margin-bottom:28px!important}
.wheel-labels.one,.wheel-grid.one{grid-template-columns:1fr;max-width:280px;margin-left:auto;margin-right:auto}.wheel-grid.one{display:grid}.wheel-labels.one{display:grid}.wheel-labels.one span{text-align:center}
.wheel-column{background:linear-gradient(180deg,#fff,#efefec)}
.wheel-item.active{background:#101010;color:#fff;box-shadow:0 10px 22px rgba(8,8,8,.14)}

/* Admin v3: wider preview, tighter patient rows */
.admin-app{grid-template-columns:260px minmax(0,1fr);background:linear-gradient(135deg,#f1f1ef,#fff)}
.sidebar{background:radial-gradient(circle at 18% 0,rgba(185,160,120,.12),transparent 28%),linear-gradient(180deg,#111,#171717)}
.admin-main{max-width:1820px;padding:34px 38px;min-width:0}
.admin-layout{grid-template-columns:minmax(640px,1fr) minmax(540px,620px);gap:20px;align-items:start}
.table-card{min-width:0;overflow:hidden}.submission-list{min-width:0}.table-head{display:grid;grid-template-columns:108px minmax(150px,.9fr) 126px 92px minmax(170px,1.1fr) 116px;gap:10px}.submission-row{grid-template-columns:108px minmax(150px,.9fr) 126px 92px minmax(170px,1.1fr) 116px;gap:10px;padding:12px 10px;min-width:0}.submission-date b{font-size:13px}.submission-date small,.submission-patient small,.submission-meta small{font-size:11px}.submission-patient strong,.submission-patient small,.submission-meta{overflow:hidden;text-overflow:ellipsis}.submission-patient strong,.submission-patient small{display:block;white-space:nowrap}.patient-avatar{width:36px;height:36px}.patient-cell{gap:10px;min-width:0}.patient-cell>div:last-child{min-width:0}.submission-actions{justify-content:flex-start;gap:5px}.submission-actions .btn-small{font-size:12px;padding:7px 9px;min-height:32px}.preview-card{min-width:0}.preview-card .a4-preview{min-height:620px;padding:22px}.preview-patient h2{font-size:28px}.preview-actions .btn{min-height:54px}.admin-card{background:rgba(255,255,255,.80)}
.branch-manager{display:grid;gap:10px;margin-bottom:22px}.branch-row{display:grid;grid-template-columns:minmax(220px,1fr) 150px 120px;gap:12px;align-items:center;border:1px solid var(--stone);background:rgba(255,255,255,.72);border-radius:16px;padding:12px 14px}.branch-row strong{display:block}.branch-row small{display:block;color:var(--muted);margin-top:4px}.branch-row .branch-actions{display:flex;gap:6px;justify-content:flex-end}.settings-layout{grid-template-columns:minmax(0,1fr) 420px}.question-row{grid-template-columns:54px minmax(220px,1.25fr) 136px 118px 96px 126px}
@media(max-width:1320px){.admin-layout{grid-template-columns:1fr}.preview-card{position:relative;top:auto}.preview-card .a4-preview{max-width:680px}.table-head,.submission-row{grid-template-columns:104px minmax(160px,1fr) 130px 92px minmax(180px,1.1fr) 120px}}
@media(max-width:1020px){body.patient-page .cards-grid.source-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body.patient-page .dense-options{grid-template-columns:1fr}.admin-app{grid-template-columns:90px 1fr}.branch-row{grid-template-columns:1fr}.branch-row .branch-actions{justify-content:flex-start}}
@media(max-width:760px){body.patient-page .cards-grid.source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.patient-page .patient-top{grid-template-columns:1fr}.wheel-labels.one,.wheel-grid.one{max-width:none}.admin-layout{grid-template-columns:1fr}.table-head{display:none}.submission-row{grid-template-columns:1fr}.settings-layout{grid-template-columns:1fr}}

/* Iteration 4: quieter lounge palette, real logos, less admin wrestling */
:root{
  --ink:#141312;
  --graphite:#1f1e1c;
  --graphite-2:#2b2926;
  --ivory:#efeeeb;
  --pearl:#e6e4df;
  --pearl-2:#dcd9d2;
  --stone:#c7c3ba;
  --stone-2:#a8a39a;
  --muted:#64615c;
  --muted-2:#8c887f;
  --champagne:#a58e68;
  --champagne-2:#c4b394;
  --shadow:0 24px 80px rgba(20,19,18,.14),0 2px 10px rgba(20,19,18,.06);
  --soft-shadow:0 12px 36px rgba(20,19,18,.09);
}
body.patient-page .patient-shell{background:radial-gradient(circle at 12% -8%,rgba(165,142,104,.20),transparent 30%),radial-gradient(circle at 96% 14%,rgba(31,30,28,.13),transparent 30%),linear-gradient(145deg,#dfddd8 0%,#f2f1ee 45%,#d8d5cd 100%)}
body.patient-page .ipad-frame{background:rgba(246,245,242,.90);border-color:rgba(20,19,18,.14);box-shadow:0 30px 100px rgba(20,19,18,.22),0 1px 0 rgba(255,255,255,.5) inset}
body.patient-page .ipad-frame:before{background:linear-gradient(120deg,rgba(255,255,255,.58),transparent 42%),radial-gradient(circle at 50% 0,rgba(165,142,104,.10),transparent 28%)}
.brand-image{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.brand-logo-img{display:block;max-width:min(430px,55vw);width:100%;height:auto;object-fit:contain}.brand.compact.brand-image{align-items:flex-start;gap:6px}.brand.compact .brand-logo-img{max-width:210px;filter:none}.admin-brand .brand-sub{color:rgba(255,255,255,.68);text-align:left;margin-top:0}.brand-image .brand-sub{margin-top:0}.a4-logo-img{display:block;max-width:310px;width:100%;height:auto;object-fit:contain}.print-sheet .a4-logo-img{max-width:270px}.login-card .brand-logo-img{max-width:300px}.patient-top .brand-logo-img{max-width:min(460px,52vw)}
.success-light{gap:18px}.success-copy.roomy-copy{line-height:1.9!important;letter-spacing:.01em;max-width:620px!important}.success-light .screen-title{line-height:1.18!important;margin-bottom:8px!important}

/* Admin row layout fixes. */
.admin-app{grid-template-columns:260px minmax(0,1fr);background:radial-gradient(circle at 80% 0,rgba(165,142,104,.12),transparent 30%),linear-gradient(135deg,#e7e5df,#f8f7f4 55%,#e0ded8)}
.sidebar{background:radial-gradient(circle at 16% 0,rgba(165,142,104,.22),transparent 28%),linear-gradient(180deg,#141312,#090909)}
.admin-main{max-width:1840px;padding:34px 34px;min-width:0}.admin-card{background:rgba(250,249,246,.82);border-color:rgba(199,195,186,.92)}
.admin-layout{grid-template-columns:minmax(700px,1fr) minmax(560px,680px);gap:22px;align-items:start}.preview-card{min-width:0}.table-card{min-width:0;overflow:hidden}.table-head{grid-template-columns:104px minmax(130px,.85fr) 116px 92px minmax(230px,1.45fr) 86px;gap:10px}.submission-row{grid-template-columns:104px minmax(130px,.85fr) 116px 92px minmax(230px,1.45fr) 86px;gap:10px;padding:14px 10px;align-items:start;overflow:hidden}.submission-row>*{min-width:0}.submission-date b{font-size:13px;line-height:1.15}.submission-date small{font-size:10px;word-break:break-all}.submission-meta{font-size:14px;line-height:1.25;word-break:break-word}.submission-status{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.submission-flags{display:flex;gap:6px;flex-wrap:wrap;align-content:flex-start;min-height:44px;overflow:hidden}.submission-flags .badge{white-space:normal;line-height:1.15;max-width:100%;padding:5px 8px}.submission-actions{display:grid;grid-template-columns:1fr;gap:6px;justify-content:stretch;align-self:start}.submission-actions .btn-small{width:100%;min-height:30px;padding:6px 8px;font-size:12px;line-height:1}.patient-avatar{background:linear-gradient(135deg,#26231f,var(--champagne))}.preview-card .a4-preview{min-height:640px}.risk-flow{display:flex;flex-wrap:wrap;gap:6px}.a4-brand .brand{display:block}.a4-section{line-height:1.35}.doctor-note{line-height:1.42;background:#fbfaf7}.answer-list{line-height:1.32}.roomy-answer-list{gap:9px 22px;line-height:1.45}.roomy-answer-list div{padding-bottom:2px}.roomy-answer-list b{margin-bottom:2px}.roomy-answer-list span{display:block}

/* Patients and analytics */
.patients-dashboard{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;margin-bottom:20px}.analytics-card h3{margin:10px 0 14px}.kpi.mini{margin-bottom:14px}.analysis-bars{display:grid;gap:9px}.analysis-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,2fr) 42px;gap:10px;align-items:center;font-size:13px}.analysis-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--graphite);font-weight:700}.analysis-row>div{height:11px;background:#dedbd3;border-radius:999px;overflow:hidden}.analysis-row i{display:block;height:100%;background:linear-gradient(90deg,#37332e,var(--champagne));border-radius:999px}.analysis-row b{text-align:right}.patient-table-card{overflow:hidden}.patient-table-head,.patient-table-row{display:grid;grid-template-columns:150px minmax(170px,1fr) minmax(165px,1fr) minmax(130px,.8fr) minmax(140px,.8fr) 132px;gap:12px;align-items:center}.patient-table-head{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:850;padding-bottom:12px}.patient-table{display:grid;gap:8px}.patient-table-row{border-top:1px solid var(--pearl-2);padding:12px 0;font-size:14px}.patient-table-row strong{font-weight:850}.patient-table-row small{display:block;color:var(--muted);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-filters{grid-template-columns:1fr 1fr 1fr minmax(240px,1.4fr) auto}.section-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.section-row h2{margin:0 0 6px}.section-row p{margin:0;color:var(--muted);line-height:1.45}.manager-manager{margin-bottom:22px}.manager-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.8fr) 112px;gap:12px;align-items:center;border:1px solid var(--stone);background:rgba(255,255,255,.72);border-radius:16px;padding:12px 14px;margin-top:10px}.manager-row small{display:block;color:var(--muted);margin-top:4px}.branch-row{grid-template-columns:minmax(220px,1fr) minmax(210px,.7fr) 112px}.branch-row>div:nth-child(2){display:flex;gap:6px;flex-wrap:wrap}.branch-actions{display:flex;gap:6px;justify-content:flex-end}.settings-layout{grid-template-columns:minmax(0,1fr) 440px}

@media(max-width:1420px){.admin-layout{grid-template-columns:1fr}.preview-card{position:relative;top:auto}.preview-card .a4-preview{max-width:760px}.patients-dashboard{grid-template-columns:1fr}.patient-filters{grid-template-columns:1fr 1fr}.patient-filters .filter-actions{grid-column:1/-1}.table-head,.submission-row{grid-template-columns:104px minmax(150px,1fr) 120px 92px minmax(230px,1.2fr) 88px}}
@media(max-width:1020px){.admin-app{grid-template-columns:90px 1fr}.patients-dashboard{grid-template-columns:1fr}.patient-table-head{display:none}.patient-table-row{grid-template-columns:1fr;border:1px solid var(--stone);border-radius:16px;padding:14px}.manager-row,.branch-row{grid-template-columns:1fr}.branch-actions{justify-content:flex-start}.patient-filters{grid-template-columns:1fr}.table-head{display:none}.submission-row{grid-template-columns:1fr;border:1px solid var(--stone);margin-bottom:10px}.submission-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.submission-status{flex-direction:row;flex-wrap:wrap}}
@media(max-width:760px){.brand-logo-img{max-width:260px}.patient-top .brand-logo-img{max-width:260px}.a4-logo-img{max-width:240px}.patients-dashboard{grid-template-columns:1fr}.analysis-row{grid-template-columns:1fr 1fr 36px}.admin-main{padding:20px}.submission-actions{grid-template-columns:1fr}}
@media print{.print-sheet .a4-logo-img{max-width:250px}.print-sheet .a4-section{padding:7px 0}.print-sheet .doctor-note{line-height:1.35}.print-sheet .answer-list{line-height:1.38;gap:7px 18px}}

/* Branch-specific questionnaire settings. */
.branch-question-manager{margin-bottom:22px}.branch-links{display:flex;gap:8px;flex-wrap:wrap}.branch-links code{display:inline-flex;border:1px solid var(--stone);border-radius:10px;background:rgba(255,255,255,.66);padding:10px 12px;font-size:12px;color:var(--graphite)}.branch-question-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:22px;margin-top:20px}.branch-question-toggle-list{display:grid;gap:8px}.branch-question-toggle{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:flex-start;border:1px solid var(--stone);border-radius:14px;background:rgba(255,255,255,.68);padding:12px}.branch-question-toggle input{margin-top:3px;accent-color:var(--ink)}.branch-question-toggle b{display:block}.branch-question-toggle small{display:block;color:var(--muted);margin-top:3px}.bqs-option-row.option-row{grid-template-columns:minmax(110px,.8fr) minmax(140px,1fr) minmax(140px,1fr) 92px 40px}.branch-question-manager h3{margin:0 0 12px}.admin-header .badge.champagne{text-transform:none}
@media(max-width:1180px){.branch-question-layout{grid-template-columns:1fr}.bqs-option-row.option-row{grid-template-columns:1fr 1fr}.bqs-option-row .icon-btn{width:100%}}

/* Confirmation screen and table layout. */
.patient-success.final-thanks{
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:center;
  padding:44px 36px 42px;
  text-align:center;
}
.final-thanks .success-center{display:flex;flex-direction:column;align-items:center;gap:18px;width:min(720px,100%);margin:0 auto}.final-thanks .success-mark{margin-top:8px}.final-thanks .screen-title{font-size:clamp(34px,5vw,58px);line-height:1.05}.final-thanks .success-copy{font-size:clamp(18px,2vw,24px);line-height:1.85;max-width:660px;margin:0;color:var(--muted)}.final-thanks .success-bottom{width:100%;display:flex;justify-content:center;padding-top:36px}.final-thanks .success-bottom .btn{min-width:220px;min-height:62px}
.submission-row,.table-head{grid-template-columns:104px minmax(150px,.9fr) minmax(132px,.78fr) 104px minmax(280px,1.5fr) 116px;column-gap:14px}.submission-flags{max-width:100%;padding-right:4px;overflow:visible}.submission-flags .badge{font-size:11px;max-width:100%;overflow-wrap:anywhere}.submission-actions{position:relative;z-index:2;background:linear-gradient(90deg,rgba(250,249,246,.72),rgba(250,249,246,.98));border-radius:14px;padding-left:2px}.submission-actions .btn-small{white-space:nowrap}.submission-patient,.submission-meta{overflow:hidden}.submission-patient b,.submission-meta b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.admin-layout{grid-template-columns:minmax(760px,1fr) minmax(500px,640px)}
@media(max-width:1660px){.admin-layout{grid-template-columns:1fr}.preview-card .a4-preview{max-width:780px}.table-head,.submission-row{grid-template-columns:104px minmax(180px,1fr) minmax(150px,.85fr) 104px minmax(320px,1.2fr) 120px}}
@media(max-width:1180px){.table-head{display:none}.submission-row{grid-template-columns:1fr;border:1px solid var(--stone);border-radius:18px;margin-bottom:10px}.submission-actions{grid-template-columns:repeat(3,minmax(0,1fr));background:transparent}.submission-flags{min-height:auto}}
/* Keep touch feedback local. */
.choice-card{will-change:auto;transform:none!important}
.choice-card:active{transform:none!important}
.btn.is-loading{opacity:.78;pointer-events:none}
.patient-inner[data-quiet="1"] .screen,.patient-inner[data-quiet="1"] .question-card{animation:none!important;transition:none!important}

/* Admin sidebar readability. */
.side-icon{width:28px;height:28px;border-radius:10px;display:inline-grid!important;place-items:center;font-size:18px;line-height:1;background:rgba(255,255,255,.08);color:#fff;flex:0 0 28px}.side-label{display:inline!important;white-space:nowrap}.brand.compact .brand-logo-img{max-width:190px;width:100%;height:auto}.brand.compact .brand-sub{display:block!important;font-size:10px;letter-spacing:.26em;white-space:nowrap}.sidebar{min-width:240px}.admin-app{grid-template-columns:minmax(240px,280px) minmax(0,1fr)!important}
@media(max-width:1180px){.admin-app{grid-template-columns:240px minmax(0,1fr)!important}.sidebar{padding:22px 16px;min-width:240px}.side-link span{display:inline-grid}.side-link .side-label{display:inline!important}.brand.compact .brand-logo-img{max-width:170px}.brand.compact .brand-sub{display:block!important}.admin-main{padding:28px 26px}.admin-layout{grid-template-columns:1fr}.preview-card{position:relative;top:auto}}
@media(max-width:760px){.admin-app{display:block!important}.sidebar{min-height:auto;min-width:0;width:100%;padding:18px}.side-nav{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.side-link{justify-content:center;min-height:54px}.side-label{font-size:12px}.brand.compact{justify-content:center;text-align:center}.brand.compact .brand-logo-img{max-width:190px}.side-footer{display:none}.admin-main{padding:18px}}

/* Reduce touch-state motion on iPad. */
body.patient-page .choice-card,body.patient-page .btn,body.patient-page .date-trigger{transition:border-color .12s ease,background .12s ease,box-shadow .12s ease!important;transform:none!important}body.patient-page .choice-card:hover,body.patient-page .btn:hover{transform:none!important}body.patient-page .progress-bar{transition:width .22s ease!important}.patient-inner[data-quiet="1"] *{animation:none!important}


/* Readable admin sidebar on tablet and desktop. */
.admin-app{grid-template-columns:minmax(248px,286px) minmax(0,1fr)!important;}
.sidebar{min-width:248px!important;width:auto!important;overflow:visible!important;}
.side-link{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;min-width:0!important;}
.side-link .side-icon,.side-icon{display:inline-grid!important;visibility:visible!important;opacity:1!important;}
.side-link .side-label,.side-label{display:inline!important;visibility:visible!important;opacity:1!important;white-space:nowrap!important;}
.brand.compact,.admin-brand{display:block!important;min-width:0!important;}
.brand.compact .brand-logo-img,.admin-brand .brand-logo-img{display:block!important;max-width:190px!important;width:100%!important;height:auto!important;opacity:1!important;visibility:visible!important;}
.brand.compact .brand-sub,.admin-brand .brand-sub{display:block!important;visibility:visible!important;opacity:1!important;}
@media(max-width:1180px){
  .admin-app{grid-template-columns:minmax(248px,286px) minmax(0,1fr)!important;}
  .sidebar{min-width:248px!important;padding:22px 16px!important;}
  .admin-main{padding:28px 26px!important;}
}
@media(max-width:820px){
  .admin-app{display:block!important;}
  .sidebar{width:100%!important;min-width:0!important;min-height:auto!important;padding:18px!important;}
  .side-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  .side-link{justify-content:flex-start!important;}
  .side-footer{display:none!important;}
  .admin-main{padding:18px!important;}
}


/* v11: branch-aware admin branding. */
.admin-brand .brand-logo-img{object-fit:contain;}
.admin-header .eyebrow{min-height:1em;}
.login-card .brand-logo-img{object-fit:contain;}

/* v11: branch-aware admin logo in page header. */
.admin-header-logo{display:block;max-width:220px;width:auto;height:auto;margin:0 0 10px;object-fit:contain;}
@media(max-width:760px){.admin-header-logo{max-width:190px}}

/* v12: autosave, review screen, QR links, today's patients and referral analytics. */
.autosave-status{margin-top:8px;text-align:right;color:var(--muted);font-size:13px;font-weight:650;min-height:18px}.save-state{margin-left:12px;color:var(--champagne);font-weight:750}.review-screen .screen-title{margin-top:36px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.review-card,.review-panel{border:1px solid var(--stone);background:rgba(255,255,255,.68);border-radius:20px;padding:20px}.review-card.wide{grid-column:1/-1}.review-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.review-head h3{margin:0;font-size:18px}.review-head button{border:1px solid var(--stone);background:#fff;border-radius:999px;padding:8px 12px;font-weight:750}.review-row,.review-item{display:grid;grid-template-columns:minmax(140px,.55fr) 1fr;gap:14px;border-top:1px solid var(--pearl-2);padding:11px 0}.review-row:first-of-type,.review-item:first-child{border-top:0}.review-row span,.review-item span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.review-row b,.review-item b{line-height:1.35}.review-version{margin-top:14px;border-radius:14px;background:var(--pearl);border:1px solid var(--stone);padding:12px 14px;color:var(--muted);font-size:13px}.review-version b{color:var(--ink);margin-left:8px}.review-panel .review-grid{grid-template-columns:1fr 1fr}.review-edit{margin:16px 10px 0 0}.success-auto{color:var(--muted);font-size:14px;margin:6px 0 0}.version-note{font-size:12px;color:var(--muted);margin:8px 0 0}.referral-mini{margin-bottom:22px}.branch-row-qr{grid-template-columns:minmax(250px,1fr) minmax(260px,.7fr) 112px!important}.branch-qr{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.branch-qr img{width:84px;height:84px;border:1px solid var(--stone);border-radius:12px;background:#fff;padding:6px}.branch-qr small{display:block;color:var(--muted);margin-top:6px}.branch-links-qr{align-items:center}.branch-links-qr img{width:90px;height:90px;border:1px solid var(--stone);border-radius:12px;background:#fff;padding:6px}.today-card{margin-top:22px}.today-head,.today-row{display:grid;grid-template-columns:140px minmax(220px,1fr) 140px minmax(260px,1.2fr) 150px;gap:14px;align-items:center}.today-head{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:850;padding:0 0 12px;border-bottom:1px solid var(--stone)}.today-list{display:grid;gap:10px;margin-top:10px}.today-row{border:1px solid var(--stone);background:rgba(255,255,255,.72);border-radius:18px;padding:14px}.today-row small{display:block;color:var(--muted);margin-top:4px}.today-row>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.analysis-bars .analysis-row{min-height:30px}.patient-success.final-thanks{background:radial-gradient(circle at 50% 0,rgba(199,170,118,.11),transparent 34%)}
@media(max-width:980px){.review-grid,.review-panel .review-grid{grid-template-columns:1fr}.review-row,.review-item{grid-template-columns:1fr}.today-head{display:none}.today-row{grid-template-columns:1fr}.branch-row-qr{grid-template-columns:1fr!important}.branch-qr{align-items:flex-start}.autosave-status{text-align:left}}
