/* Adapted from accepted account draft 0.0.9, including released door brand overrides. */
body{font-family:system-ui,-apple-system,sans-serif;color:#282522;background:#f5f3ef;font-size:16px;line-height:1.5}*{box-sizing:border-box}[hidden]{display:none!important}.surface{margin:0}header{background:#211f1d;color:#fff;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px}header strong{letter-spacing:2px;font-size:13px}header span{display:block;font-size:13px;color:#d0c9bf}.badge{font-size:11px;letter-spacing:1px;border:1px solid #777066;padding:6px 9px;border-radius:4px}main{max-width:820px;margin:auto;padding:24px}h1{font-size:30px;line-height:1.15;margin:4px 0 12px}h2{font-size:22px;margin:8px 0}p{margin:8px 0;color:#605950}.eyebrow{font-size:12px;letter-spacing:1.5px;color:#6a625a}.event{display:flex;align-items:center;justify-content:space-between;gap:20px}.sync{padding:14px 0;display:flex;gap:10px 20px;flex-wrap:wrap;align-items:center;font-size:13px;color:#605950;border-bottom:1px solid #d9d3cb}button{font:inherit;border:1px solid #cfc7bc;background:#fff;color:#282522;border-radius:7px;padding:12px 16px;min-height:46px;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}button:hover:not(:disabled){background:#eee8df}.primary,nav button[aria-pressed=true]{background:#282522;color:#fff;border-color:#282522}.primary:hover:not(:disabled){background:#484038}nav{display:flex;gap:8px;margin:22px 0}nav button{flex:1}#notice{padding:12px 16px;background:#ece6db;color:#3e3529;border-radius:7px;min-height:48px}.panel{background:#fff;border:1px solid #ddd5cb;padding:22px;border-radius:10px;margin:16px 0}.camera{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}video{width:100%;max-height:300px;background:#111;border-radius:6px;object-fit:cover}label{display:block;margin:14px 0 6px}input{font:inherit;width:100%;min-width:0;padding:12px;border:1px solid #b8b0a5;border-radius:6px;background:#fff;color:#282522}.input-row{display:flex;gap:8px}form .primary{margin-top:20px;width:100%}#result{margin-top:20px;padding:18px;background:#f5f3ef;border-radius:8px}#result .primary{margin-top:12px;width:100%}#matches button{display:block;width:100%;text-align:left;margin-top:8px}.small,footer{font-size:13px}details{margin:22px 0;border-top:1px solid #d9d3cb;padding-top:18px}summary{cursor:pointer;min-height:44px}.switch{display:flex;gap:10px;align-items:center}.switch input{width:20px;height:20px}.demo-buttons{display:flex;gap:8px;flex-wrap:wrap}#activity{list-style:none;padding:0}#activity li{padding:12px 0;border-bottom:1px solid #ddd5cb;font-size:14px;overflow-wrap:anywhere}footer{color:#6a625a;margin:24px 0}button:focus-visible,input:focus-visible{outline:3px solid #aa7440;outline-offset:3px}@media(max-width:550px){main{padding:16px}.event{display:block}.event>button{width:100%;margin-top:12px}nav{gap:5px}nav button{padding:10px 8px;font-size:14px}.panel{padding:16px}header{padding:16px}.badge{font-size:10px}}

#result.checked-in { background: #e2f3e8; border: 2px solid #247444; color: #164b2b; }

body{color:#000;background:#fff;font-family:'Avenir Next','Avenir','Myriad Pro',Arial,sans-serif;--blue:#002d62;--red:#ce1126;--gold:#eac102;--green:#006300;--line:#d7dce1;--serif:'Caudex','Minion Pro',Georgia,serif}
.surface{background:linear-gradient(#fffffff2,#fffffff2),none center/700px}
header{background:#fff;color:#000;border-bottom:1px solid var(--line);max-width:760px;margin:auto;padding:16px 24px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px}.brand img{width:56px;height:56px;object-fit:contain}.brand strong{font-family:var(--serif);font-size:14px;letter-spacing:.6px}header span{color:#000;font-size:13px}.badge{border:1px solid var(--line);border-radius:2px;font-size:10px;white-space:nowrap;color:#000;letter-spacing:.5px}
main{max-width:680px;padding:24px}.section-heading{background:var(--blue);color:var(--gold);font:700 24px/1.25 var(--serif);letter-spacing:1px;padding:14px 18px;border-bottom:2px solid var(--gold);margin-bottom:24px}
h1{font-family:var(--serif);font-size:32px;font-weight:500;line-height:1.2;margin:10px 0}p,.eyebrow{color:#000}.event{display:block}.event p{font-size:14px}.event .eyebrow{display:inline-block;font-size:11px;font-weight:700;letter-spacing:1.4px;border-left:4px solid var(--red);padding-left:9px}.event #event-date{font-size:17px;font-weight:600;font-style:italic}.event #roster-description,.event #mode-note{font-size:13px;line-height:1.6}
button{color:#000;border:1px solid #a7adb4;border-radius:3px;min-height:52px;font-weight:600}button:hover:not(:disabled){background:#f1f3f5}.primary{background:var(--blue);border:2px solid var(--blue);color:#fff;box-shadow:2px 2px 0 #00000020}.primary:hover:not(:disabled){background:#164779;color:#fff}
nav{margin:24px 0 16px;gap:0;border-top:1px solid #b5a04e;border-bottom:1px solid #b5a04e;padding:6px 0}nav button{flex:1;border:0;border-radius:0;background:transparent;font-size:16px;font-weight:400}nav button+button{border-left:1px solid var(--line)}nav button[aria-pressed=true]{background:transparent;color:#000;border-color:var(--line);font-weight:700;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}nav button[aria-pressed=true]:hover{background:#f1f3f5;color:#000}
.panel{border:0;border-radius:0;background:transparent;padding:8px 0;margin:10px 0}.camera{margin:0}video{max-height:340px;min-height:220px;object-fit:cover;border-radius:4px}#notice{background:#f2f4f6;border-left:3px solid var(--blue);border-radius:0;color:#000;font-size:14px;padding:12px 14px;margin:8px 0;min-height:48px}
#result{margin:0 0 16px;text-align:center;border:2px solid #aabbd0;padding:24px 12px;border-radius:4px}#result-symbol{font-size:64px;line-height:1.1;font-weight:700}#result-title{font-size:22px;font-weight:700;margin:8px 0}#result h2{font-family:var(--serif);font-size:30px;line-height:1.2;overflow-wrap:anywhere}#result.checked-in{background:#f0f8f0;border-color:var(--green);color:var(--green)}#result.checked-in p{color:var(--green)}#result.attention{background:#fffbea;border-color:var(--gold);color:#000}#result.problem{background:#fff4f5;border-color:var(--red);color:var(--red)}#result.problem p{color:var(--red)}#result.verified{background:#edf2f7;border-color:var(--blue);color:#000}#result-time{font-weight:700}.next-scan{width:100%;font-size:18px;margin-top:10px}
details{border-color:var(--line);margin:16px 0;padding-top:8px}summary{font-weight:600;display:list-item;line-height:1.5;padding:12px 0}#event-switch{border:0;margin:4px 0;padding:0}#event-switch summary{font-size:13px;font-weight:400;text-decoration:underline;text-underline-offset:3px}.activity h2{font-family:inherit;font-size:16px}#cash-panel h2{font-family:var(--serif)}#cash-price{font-size:28px;font-family:var(--serif)}footer{color:#000;border-top:1px solid var(--line);padding-top:16px;font-size:12px;line-height:1.6}
input,.sync{color:#000}input,select{font:inherit;border:1px solid #a7adb4;border-radius:3px;background:#fff;color:#000;min-height:48px}select{width:100%;padding:12px}.sync{border-color:var(--line)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.primary:focus-visible{outline-color:var(--gold)}
@media(max-width:400px){main{padding:16px}header{padding:12px 16px;gap:8px}.brand{gap:8px}.brand img{width:42px;height:42px}.brand strong{font-size:12px;letter-spacing:0}.badge{font-size:9px;padding:4px 6px}h1{font-size:28px}.section-heading{font-size:22px;padding:12px 14px;margin-bottom:20px}nav button{font-size:15px}.panel{padding:8px 0}}

/* v12: full-width site-family header and compact operational workspace. */
header{max-width:none;width:100%;background:var(--blue);border-bottom:2px solid #000;display:grid;grid-template-columns:56px 1fr 56px;gap:12px;padding:8px 16px;position:relative;z-index:5;box-shadow:0 2px 4px #0003}
.header-logo{width:52px;height:52px;object-fit:contain}header h1{color:var(--gold);font:700 24px/1.2 var(--serif);text-align:center;margin:0;letter-spacing:.6px}header #app-menu{margin:0;padding:0;border:0}#app-menu>summary{display:flex;align-items:center;justify-content:center;min-height:48px;color:var(--gold);padding:0;font-size:28px;list-style:none}#app-menu>summary::-webkit-details-marker{display:none}#app-menu>summary span{color:inherit;font-size:inherit}#app-menu>summary:focus-visible{outline-color:var(--gold)}
.menu-sheet{position:absolute;right:12px;top:calc(100% + 6px);width:min(360px,calc(100vw - 24px));max-height:calc(100dvh - 90px);overflow:auto;background:#fff;color:#000;border:1px solid #a7adb4;box-shadow:0 8px 24px #0003;padding:16px;z-index:10}.menu-sheet h2{font:700 22px var(--serif)}.menu-sheet p{color:#000;font-size:13px}.menu-sheet [aria-current]{font-weight:700;border-bottom:1px solid var(--line);padding-bottom:12px}.future-page{display:flex;justify-content:space-between;gap:12px}.future-page span{display:inline;color:#555;font-size:12px}.menu-sheet footer{margin-bottom:0}
main{padding:12px 16px;max-width:640px}.badge{display:table;margin:0 0 10px;border:0;padding:0;font-size:10px;letter-spacing:.5px}.event #event-title{font:500 28px/1.15 var(--serif);margin:0 0 4px}.event #event-date{font-size:14px;margin:4px 0}.event #event-switch{margin:0}#event-switch summary{padding:8px 0;min-height:36px}nav{margin:8px 0;padding:0}nav button{min-height:44px}#notice{margin:8px 0;padding:8px 10px;font-size:13px;min-height:0}.panel{margin:0;padding:4px 0}.primary{color:var(--gold);border:2px solid #000;border-radius:0;font:700 16px/1.25 var(--serif);text-transform:uppercase;letter-spacing:.3px;box-shadow:2px 3px 4px #0004;min-height:48px}.primary:hover:not(:disabled){color:var(--gold)}.next-scan{font-size:16px;margin-top:6px}#name-search{margin:12px 0 0;padding:0}#name-search summary{min-height:44px;padding:10px 0}#ticket-form label{margin:4px 0;font-size:13px}#match-count{font-size:12px;margin:8px 0}#matches{max-height:180px;max-height:clamp(96px,27dvh,220px);overflow-y:auto;overscroll-behavior:contain}#matches button{margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;min-height:46px;font-size:14px;padding:10px 8px}#matches:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
#result{padding:12px 10px;margin:0 0 8px}#result-symbol{font-size:36px}#result-title{font-size:18px;margin:4px 0}#result h2{font-size:25px;margin:4px 0}#result p{font-size:13px;margin:4px 0}video{min-height:140px;max-height:28dvh}#stop-camera{min-height:40px;padding:6px 12px}.input-row button{min-height:48px}
@media(max-width:400px){header{padding:6px 12px;grid-template-columns:48px 1fr 48px;gap:8px}.header-logo{width:46px;height:46px}header h1{font-size:22px}main{padding:10px 16px}.event #event-title{font-size:26px}}
#result{padding:8px 10px}#name-search{margin-top:8px}

/* Compact single-phone status; counts describe entries, never current occupancy. */
.door-count{font-size:14px;font-weight:600;margin:10px 0 4px}.save-status{font-size:12px;line-height:1.4;margin:4px 0;color:#333}.save-status[data-attention="true"]{border-left:3px solid var(--gold);padding-left:8px}#handheld-scanner{margin:8px 0;font-size:13px}#handheld-scanner summary{min-height:44px;padding:8px 0}#scanner-input{width:100%;margin:6px 0}.activity li button{display:block;font-size:13px;margin:8px 0;min-height:44px}
/* v14: compact dedicated-phone workspace. */
.surface{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}header{padding:4px 12px;grid-template-columns:40px 1fr 40px;gap:8px}.header-logo{width:40px;height:40px}header h1{font-size:20px}#app-menu>summary{min-height:44px}
main{width:100%;flex:1;display:flex;flex-direction:column;min-height:0;padding:10px 16px}.badge{margin-bottom:4px;font-size:9px}.event{display:block}.event>div{width:100%}.event #event-title{font-size:27px;margin:0}.event-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.event #event-date{font-size:13px;margin:0}.text-action,#event-switch{border:0;background:transparent;border-radius:0;text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:8px;font-size:13px;color:#000}#event-switch{white-space:nowrap;margin:0}nav{margin:0}#notice{margin:6px 0;font-size:12px;line-height:1.35;min-height:34px;display:flex;align-items:center}
#scan-panel{flex:1;display:flex;flex-direction:column;min-height:0}.scan-stage{position:relative;flex:1;min-height:220px;display:grid;align-items:stretch;border:1px solid var(--line);background:#f5f7f9}.scan-stage>*{grid-area:1/1}.camera{position:relative;min-height:0}video{height:100%;min-height:0;max-height:none;position:absolute;inset:0;object-fit:cover;border-radius:0}#stop-camera{position:absolute;right:8px;bottom:8px;background:#fff;z-index:1}#result{margin:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;border-radius:0;padding:10px}#result h2{font-size:26px}#result-symbol{font-size:32px}#result .primary{margin-top:6px;min-height:44px}.next-scan{flex:none;margin-top:8px}#scan-panel>.text-action{align-self:center}#cash-panel{flex:1}.bottom-status{flex:none;border-top:1px solid var(--line);padding:7px 0 max(4px,env(safe-area-inset-bottom));text-align:center}.door-count{font-size:13px;margin:0}.save-status{font-size:11px;margin:3px 0 0}
dialog{color:#000;background:#fff;border:1px solid #000;box-shadow:0 8px 32px #0005;width:min(600px,calc(100% - 24px));max-height:80vh;max-height:80dvh;padding:16px;overflow:auto}dialog::backdrop{background:#002d6270}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-heading h2{font:500 26px var(--serif);margin:0}.dialog-heading button{min-height:44px}#name-search{margin:auto;padding:16px}#matches{max-height:45vh;max-height:45dvh;overflow:auto}#ticket{font-size:16px}#ticket-form label{font-size:14px}
@media(min-height:650px) and (min-width:360px){.surface{height:100vh;height:100dvh}main{max-height:calc(100dvh - 54px)}.scan-stage{min-height:200px}}
@media(min-width:700px){main{max-width:640px}.scan-stage{max-height:420px}header{padding-left:24px;padding-right:24px}}
@media(max-height:649px){.scan-stage{height:220px;flex:none}main{flex:none}.bottom-status{margin-top:8px}}
/* Owner refinement: quieter event utility, filled selection, no redundant result prompt. */
#event-switch{font-style:italic;text-decoration:none;color:#595959;font-weight:400}#event-switch:hover:not(:disabled){background:#f2f4f6;color:#000}
nav{border-color:var(--gold);gap:0}nav button+button{border-left:1px solid var(--gold)}nav button[aria-pressed=true],nav button[aria-pressed=true]:hover{background:var(--blue);color:var(--gold);text-decoration:none;border-color:var(--gold)}nav button:hover:not(:disabled){background:#edf2f7}nav button:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--gold);text-decoration:underline;text-underline-offset:5px}
/* Fixed working area shared by scan and cash; utility controls stay below it. */
nav button,nav button[aria-pressed=true],nav button[aria-pressed=true]:hover{background:transparent;color:#000;border-color:var(--gold)}nav button{color:#526071;font-weight:400}nav button[aria-pressed=true]{font-weight:700;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}nav button:hover:not(:disabled){background:#f2f4f6}nav button:focus-visible{box-shadow:none;outline:2px solid #8d7500;outline-offset:-3px}
.workspace{position:relative;flex:1;min-height:310px;margin-top:6px;display:flex;flex-direction:column}#notice{position:absolute;top:10px;left:10px;right:10px;margin:0;z-index:2;max-height:45%;overflow:auto;background:#fffffff0;border-left:0;box-shadow:0 1px 5px #0002;text-align:center;justify-content:center;padding:8px;font-size:13px;pointer-events:none}
#scan-panel,#cash-panel{flex:1;display:grid;grid-template-rows:minmax(220px,1fr) 48px 32px;gap:8px;padding:0;margin:0;min-height:0}#cash-form{display:contents}.scan-stage,.cash-stage{min-height:0;max-height:none;height:auto}.cash-stage{border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#f5f7f9;padding:16px}.cash-stage h2{font-size:25px}.cash-stage #cash-price{font-size:25px}#cash-feedback{font-size:14px;min-height:44px}.recorded{color:var(--green);font-weight:700}.action-row{display:flex;align-items:stretch}.action-row button,.action-row .primary{width:100%;margin:0;min-height:48px}.action-row #stop-camera{position:static;z-index:auto}.panel-note{font-size:12px;line-height:16px;margin:0;text-align:center;align-self:center;color:#555}.lookup-row{flex:none;height:44px;display:flex;justify-content:center;align-items:center}.bottom-status{margin-top:0}#result{overflow:auto}
@media(max-height:649px){.workspace{flex:none;height:350px}.scan-stage{height:auto}}

/* Fixed phrase outlined from the owner's Freestyle Script; no font binary needed on phones. */
.event-title-artwork{display:block;width:260px;max-width:100%;height:42px;object-fit:contain;object-position:left center}

/* Printable backup keeps one row per ticket; normal phone layout is unchanged. */
#print-roster-sheet{display:none}
@media print{
 @page{size:letter portrait;margin:10mm}
 .surface{display:block;background:white!important;color:black!important;height:auto;overflow:visible;font:8pt Arial,sans-serif}
 .surface>header,.surface>main,.surface>dialog{display:none!important}
 #print-roster-sheet{display:block!important}
 #print-roster-sheet h1{font: bold 18pt Georgia,serif}
 #print-roster-sheet table{width:100%;border-collapse:collapse;table-layout:fixed}
 #print-roster-sheet th,#print-roster-sheet td{border:1px solid #888;padding:5px;text-align:left;overflow-wrap:anywhere}
 #print-roster-sheet th:first-child,#print-roster-sheet td:first-child{width:24px}
 #print-roster-sheet tr{break-inside:avoid}
 #print-roster-sheet thead{display:table-header-group}
}

/* Compact operational menu with aligned, consistently sized utilities. */
.menu-sheet .sync{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:stretch}
.menu-sheet .sync>span{grid-column:1/-1;white-space:normal}
.menu-sheet .sync>button{width:100%;margin:0;min-width:0;min-height:48px;font-size:13px}
.menu-sheet #roster-description,.menu-sheet #mode-note,.menu-sheet>footer{display:none}
.menu-sheet .connection-section h3{font-size:16px;margin:12px 0}
.menu-sheet>button{display:block;width:100%;margin:8px 0;min-height:48px;text-align:left}
.menu-sheet .activity h2{font-size:15px;margin:14px 0 6px}
.menu-sheet .activity ul{max-height:130px;overflow:auto}
.menu-sheet #handheld-scanner{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
@media print{
 #print-roster-sheet h1,#print-roster-sheet th{background:#002d62!important;color:#ffd700!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 #print-roster-sheet h1{padding:10px}
 #print-roster-sheet th:nth-child(4),#print-roster-sheet td:nth-child(4){width:42px}
 #print-roster-sheet th:nth-child(5),#print-roster-sheet td:nth-child(5){width:26%}
 #print-roster-sheet th:last-child,#print-roster-sheet td:last-child{width:45px}
}

body{display:block;color:#000;background:#fff;font:16px/1.5 'Avenir Next',Avenir,'Myriad Pro',Arial,sans-serif;--blue:#002d62;--red:#ce1126;--gold:#eac102;--green:#006300;--line:#d7dce1;--serif:Caudex,'Minion Pro',Georgia,serif;container-type:inline-size}.surface{min-height:730px;background:#fff}.badge{white-space:normal}.menu-sheet{max-height:none;overflow:visible;width:calc(100% - 24px)}#frame{display:none}.primary{width:100%}button,summary{cursor:pointer}main{max-width:none}.screen-note{font-size:12px;color:#555}.account-intro{margin-bottom:20px}.account-intro h2{font:500 28px/1.15 var(--serif);margin:0 0 6px}.account-intro p{font-size:14px}.account-section{padding:16px 0;border-bottom:1px solid var(--line)}.account-section:first-of-type{padding-top:0}.small-label{font-size:11px;letter-spacing:1px;font-weight:700;text-transform:uppercase}.account-section h3{font:500 25px/1.2 var(--serif);margin:6px 0 10px}.account-section p{font-size:14px}.balance-number{font:500 36px/1.2 var(--serif)}.account-actions{display:flex;gap:8px 18px;flex-wrap:wrap}.quiet{border:0;border-radius:0;background:transparent;padding:6px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:14px;font-weight:400;color:var(--blue)}.account-row{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;border:0;border-radius:0;border-bottom:1px solid var(--line);background:transparent;padding:14px 0;min-height:58px;font-size:15px;font-weight:400}.account-row .arrow{font-size:20px}.benefits{padding-left:20px;font-size:14px;margin:8px 0 12px}.feedback{border-left:3px solid var(--blue);background:#f2f4f6;padding:10px 12px;font-size:13px;margin:8px 0}.account-footer{padding:12px 0;display:flex;flex-wrap:wrap;gap:16px}.account-footer .quiet{font-size:13px}.ticket-summary{display:flex;gap:14px;align-items:center}.ticket-mark{font:500 25px var(--serif);color:var(--blue);border:1px solid var(--line);padding:10px}.surface .account-menu p{font-size:14px}.surface details{margin:8px 0}.surface #app-menu{margin:0}.surface #name-search{margin-top:8px}.date-options{display:block;width:100%;margin:8px 0}.surface .history{list-style:none;padding:0;font-size:13px}.history li{border-bottom:1px solid var(--line);padding:8px 0}.secondary-note{color:#555!important;font-size:12px!important}

.surface{height:auto;min-height:740px;display:flex;flex-direction:column}.surface main{max-height:none;width:100%;padding:10px 16px}.surface header{padding:4px 12px;grid-template-columns:40px 1fr 40px;gap:8px}.surface .header-logo{width:40px;height:40px}.surface header h1{font-size:20px}.surface .menu-sheet{max-height:none;overflow:visible}.surface .badge{font-size:10px}body([data-kind="door"]) .surface{height:740px;min-height:740px}body[data-kind="account"] main{display:block;flex:1}body([data-kind="door"]) main{flex:1;min-height:0}body([data-kind="door"]) .workspace{min-height:310px;flex:1}body([data-kind="door"]) .scan-stage{height:auto;max-height:none}body([data-kind="door"]) .bottom-status{margin-top:0}.account-intro h2{font-size:27px}.account-section{padding:12px 0}.account-section h3{font-size:24px}.field-options{display:flex;flex-wrap:wrap;gap:6px 16px}.field-options label{display:flex;align-items:center;gap:6px;font-size:14px;margin:0;min-height:44px}.field-options input{width:18px;min-height:18px;height:18px;padding:0}.form-preview{padding:12px;background:#f2f4f6}.form-preview input,.form-preview textarea{font:inherit;width:100%;box-sizing:border-box}.form-preview textarea{min-height:80px}.preview-caption{font-size:12px;color:#555}.surface .account-footer{border-bottom:1px solid var(--line)}.surface button:focus-visible{outline:3px solid #8d7500;outline-offset:2px}

body[data-kind="account"] .surface{min-height:740px;height:740px}body[data-kind="account"] main{display:flex;flex-direction:column;min-height:0;flex:1}.welcome-script{font:40px/42px "Freestyle Script","Brush Script MT",cursive!important;margin:0!important;height:42px;white-space:nowrap}.account-subtitle{font-size:13px!important;font-weight:600;font-style:italic;margin:0!important}.event-line{min-height:20px}.account-workspace{flex:1;display:flex;flex-direction:column;min-height:310px;margin-top:6px}.account-workspace h3{font:500 25px/1.2 var(--serif);margin:10px 0}.account-workspace p{font-size:14px;margin:6px 0}.account-workspace #access-content{padding:6px 0 12px}.account-tools{margin-bottom:12px}.account-row{min-height:48px;padding:10px 0;font-size:14px}.account-primary{margin-top:auto}.account-workspace .panel-note{height:32px;min-height:32px;font-size:12px;line-height:16px;margin:8px 0 0;display:flex;align-items:center;justify-content:center}.account-utility{height:44px;gap:0;flex-wrap:wrap}.account-utility .text-action{font-size:13px;color:#000;font-weight:400;text-decoration:underline;min-height:44px;padding:8px}.account-workspace #account-detail{padding:8px 0}.account-workspace:has(#account-detail:not([hidden])){flex:none}body[data-kind="account"]:has(#account-detail:not([hidden])) .surface{height:auto}.surface nav{margin:0}.form-preview .field-options input{width:18px}.form-preview label{font-size:13px}.form-preview{padding:6px}.preview-caption{font-size:12px!important}@container(max-width:360px){.welcome-script{font-size:35px!important}.account-utility .text-action{padding:8px 6px}}.single-access-label{display:flex;justify-content:center;align-items:center;width:100%;min-height:44px;font-size:16px;font-weight:600}.account-workspace .access-kind{font-size:12px;color:#555;margin:2px 0}.account-workspace .balance-heading{font-size:20px;margin:3px 0}.balance-heading strong{font:500 42px/1.1 var(--serif)}.account-workspace .student-note{font-size:12px;color:#555}.attendance-link{display:inline-block;padding-left:0}.account-workspace #access-content{padding:8px 0 12px}.account-workspace .account-primary{margin-top:10px}.account-workspace{justify-content:flex-start}.account-workspace .account-tools{margin-bottom:0}.account-workspace .account-row{min-height:44px;padding:8px 0}.credit-math{display:flex;justify-content:space-between;gap:10px;font-size:13px;margin:15px 0}.credit-math b{display:block;font:500 28px var(--serif)}.attendance-list{list-style:none;padding:0;margin:12px 0;font-size:14px}.attendance-list li{padding:10px 0;border-bottom:1px solid var(--line)}.account-workspace .detail-note{font-size:12px;color:#555}.account-workspace #account-detail{padding:0}.account-workspace:has(#account-detail:not([hidden])){flex:1}body[data-kind="account"]:has(#account-detail:not([hidden])) .surface{height:740px;min-height:740px}body[data-kind="account"] .surface{height:auto;min-height:740px}.account-workspace .feedback{margin:6px 0}.surface{overflow:visible}
.account-workspace .compact-access-note{font-size:13px;font-style:italic;color:#444;margin:8px 0;text-align:center}
.account-workspace .balance-heading{text-align:center;margin:12px 0 8px}
.account-workspace .conversion-note{font-size:12px;text-align:center;color:#555}
.account-workspace .attendance-link{display:block;width:100%;text-align:center;padding:8px 0;min-height:44px}
.account-utility{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;gap:12px}
.account-utility .text-action{width:100%;padding:8px 0}
.account-workspace .back-overview{padding:8px 0;text-align:left;min-height:44px}
.account-workspace .attendance-total{font-size:14px;margin:8px 0}
.account-workspace .current-pack-summary{font-size:13px;font-style:italic;margin:8px 0 12px}
.history-filters{display:flex;gap:20px;border-bottom:1px solid #d4d8dc;margin-bottom:4px}
.history-filters .text-action{min-height:44px;padding:8px 0;font-size:14px}
.history-filters [aria-pressed=true]{font-weight:700;text-decoration:underline}
.history-scroll{height:230px;overflow-y:auto;border:1px solid #d4d8dc;padding:0 10px;overscroll-behavior:contain}
.surface:has(.history-scroll) #account-summary{display:none}
.history-record{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:10px;padding:12px 0;border-bottom:1px solid #e1e3e5;font-size:13px;text-align:left}
.history-record strong{font-weight:600;display:block}.history-record span{display:block}.history-record>div>span{margin-top:4px;color:#555}
.history-usage{text-align:right;font-size:12px;color:#444;align-self:center}
.correction-link{display:block;color:#002d5c;text-decoration:underline;margin-top:12px;min-height:32px;font-size:14px}
.account-workspace .email-note,.account-workspace .offer-note{font-size:12px;color:#555}
body[data-kind="account"]:has(#account-detail:not([hidden])) .surface{height:auto;min-height:740px}
.overview-plan{text-align:center;font-weight:600}.correction-link,.correction-link+.email-note{text-align:right}.event-line .back-overview{font-size:13px;font-style:italic;padding:0;min-height:24px;color:#002d5c}.event-line:has(.back-overview) .account-subtitle{display:none}.surface #access-tabs{display:flex}.surface #access-tabs>button{flex:1;min-height:48px;border:0;border-right:1px solid #edc900;background:transparent;font:inherit;color:#002d5c}.surface #access-tabs>button:last-child{border-right:0}.surface #access-tabs>button[aria-pressed=true]{color:#000;font-weight:700;text-decoration:underline}.surface #access-tabs>button:hover{background:#f5f3e9}.account-workspace .attendance-total{margin:12px 0}.welcome-script{white-space:normal!important;height:auto!important;min-height:42px}.event-line{min-height:24px}.manage-row strong,.manage-row small{display:block}.manage-row strong{font-weight:600}.manage-row small{font-size:12px;color:#555;margin-top:3px}.account-workspace .manage-row{min-height:58px}.manage-summary{display:grid;grid-template-columns:110px 1fr;gap:10px 12px;font-size:14px;margin:16px 0}.manage-summary dt{color:#555}.manage-summary dd{margin:0}.account-workspace .manage-note{font-size:13px;line-height:1.5;margin:14px 0}.manage-primary{width:100%;margin-top:16px}.manage-back{padding:8px 0;font-size:13px}.manage-review{padding-top:14px}.account-workspace:has(.manage-summary){min-height:0}
body[data-kind="account"] #access-content{text-align:center;padding:14px 0 12px}
.account-workspace #access-content h3{margin:8px 0;font-size:25px}
.account-workspace #access-content .overview-plan{margin:0 0 8px;font-size:14px;font-weight:600}
.account-workspace .included-benefits{font-size:13px;line-height:1.5;margin:10px 0;color:#444}
.access-links{display:flex;justify-content:center;align-items:stretch;gap:10px;width:100%;margin:10px 0 0}
.account-workspace .access-links .attendance-link{flex:1;width:auto;font-size:13px;min-height:44px;padding:8px 0;line-height:1.4}
.account-workspace .access-links .attendance-link:only-child{flex:none;min-width:150px}
.access-dot{flex:none;color:#002d5c;align-self:center}.account-workspace .account-tools{margin-top:4px}
.account-workspace .account-tools .account-row{min-height:48px;padding:12px 0}
.account-workspace .account-primary[hidden]{display:none!important}.account-workspace .panel-note[hidden]{display:none!important}
.account-workspace .manage-summary{grid-template-columns:110px minmax(0,1fr)}
.surface #access-content{min-height:218px}.account-workspace .account-tools{margin-top:0}.account-workspace .included-benefits{max-width:290px;margin:10px auto}.welcome-script{font-size:34px!important}.access-links{gap:6px}.account-workspace .access-links .attendance-link{font-size:13px}.account-workspace .balance-heading{min-height:46px;display:flex;align-items:center;justify-content:center;gap:7px}.account-workspace #access-content h3{min-height:46px;display:flex;align-items:center;justify-content:center}.account-workspace .account-tools .account-row{min-height:48px}.account-utility{gap:8px}.surface #access-content{min-height:180px;display:flex;flex-direction:column}.account-workspace #access-content .access-links{margin-top:auto}.removed-benefits{display:none}.social-summary{text-align:center;padding:18px 0}.social-summary p{margin:10px 0}.social-summary .primary{width:100%;margin:16px 0}.ticket-placeholder{border:1px solid #d4d8dc;min-height:150px;display:flex;align-items:center;justify-content:center;margin:18px 0;padding:20px;color:#555;font-size:13px}.account-workspace:has(.social-summary) #account-summary{display:none}
/* Local login rehearsal layout; inherited account 0.0.9 brand rules above. */
.surface header #logout{color:#fff;width:64px;flex-shrink:0;white-space:nowrap;text-decoration:underline}
body{margin:0;display:grid;grid-template-columns:280px minmax(0,600px);gap:28px;justify-content:center;padding:28px;background:#f2f4f7}
.rehearsal{font:14px/1.5 Arial,sans-serif;padding:20px;color:#002d62}.rehearsal label{margin-top:24px}.rehearsal select{width:100%;padding:10px;font:inherit}.rehearsal button{margin-top:12px;width:100%;font-size:14px}.mail{background:white;padding:12px;margin-top:12px;overflow-wrap:anywhere}.mail a{color:#002d62;display:block;padding:8px 0}
body[data-kind="account"] .surface{width:100%;min-height:620px;height:auto;box-shadow:0 3px 18px #0002;background:white}.surface main{width:100%}.surface header{width:100%}.surface .account-workspace{min-height:260px}.surface #login .primary,.surface #confirmation .primary{width:100%;margin-top:24px}.surface #message{margin-top:20px;font-size:14px;line-height:1.5}.surface #access-content{text-align:center}.surface #attendance{display:block;margin:8px auto}.surface #logout{font-size:13px}.surface #detail-content{max-height:280px;overflow:auto}.surface footer{text-align:center}
@media(max-width:760px){body{display:flex;flex-direction:column;padding:12px;gap:12px}.rehearsal{padding:12px}.surface{max-width:600px;margin:auto}.rehearsal p{margin:5px 0}.rehearsal label{margin-top:8px}}

/* 0.0.11: retain the established menu slot; sign-out belongs inside it. */
.surface header #app-menu{position:relative;justify-self:end;width:40px;min-width:0}
.surface header #app-menu>summary{width:40px;min-height:44px;color:var(--gold);cursor:pointer}
.surface header .menu-sheet{position:absolute;right:0;top:46px;width:180px;padding:8px;background:white;border:1px solid var(--line);box-shadow:0 4px 12px #0002;z-index:10}
.surface header #logout{width:100%;color:var(--blue);padding:10px;text-align:left;white-space:nowrap;min-height:44px}
.surface #overview .account-tools{margin-top:8px}.surface #overview .account-row{width:100%;min-height:44px}
.surface #detail-content{max-height:390px;overflow:auto;padding-right:4px}.surface #detail-content .account-row{width:100%}
.surface .account-utility{display:flex;align-items:center;justify-content:center}.surface .account-utility button{flex:1;text-align:center}
.surface .rehearsal-note{font-size:12px}.surface #overview~#message:empty{display:none}
body[data-view="connected"] .surface{display:block}
body[data-view="connected"] .surface header{margin:0}
body[data-view="connected"] .surface main{display:block;height:auto;flex:none;margin:0 auto}
body[data-view="connected"] .surface .account-workspace{display:block;flex:none;height:auto;min-height:0;margin-bottom:20px}
body[data-view="connected"] :is(#account-history,#account-attendance){border-top:1px solid #d7dce1;padding-top:12px}
body[data-view="connected"] :is(#history-entries,#attendance-entries) .account-row{display:block;width:100%;padding:12px 0;border-bottom:1px solid #d7dce1;overflow-wrap:anywhere}
body[data-view="connected"] :is(#history-entries,#attendance-entries) h3{font-size:17px;margin:0 0 8px}
body[data-view="connected"] :is(#history-entries,#attendance-entries) p{font-size:14px;margin:6px 0}

/* Connected owner account: shared white operational surface, no fixed-height panels. */
body[data-view="connected"]{grid-template-columns:280px minmax(0,600px);align-items:start}
body[data-view="connected"] .surface{min-height:0;min-width:0}
body[data-view="connected"] .surface main{max-width:none;padding:24px;overflow-wrap:anywhere}
body[data-view="connected"] .event{margin:0 0 18px}
body[data-view="connected"] .account-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}


body[data-view="connected"] #signout{margin:0;font-size:14px}
body[data-view="connected"] #message{margin:12px 0 0}
body[data-view="connected"] a{color:var(--blue);text-underline-offset:3px}
body[data-view="connected"] :is(a,summary,button):focus-visible{outline:3px solid var(--blue);outline-offset:3px}
body[data-view="connected"] #account-nav{display:flex;flex-wrap:wrap;gap:0 20px;margin:20px 0 24px;padding:4px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body[data-view="connected"] #account-nav a{display:flex;align-items:center;min-height:44px;font-size:14px;font-weight:600}
body[data-view="connected"] .account-kicker{font-size:12px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;margin:0 0 4px}
body[data-view="connected"] #sample-name{font:700 30px/1.2 var(--serif);margin:0 0 12px}
body[data-view="connected"] .account-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:20px 0 12px}
body[data-view="connected"] .account-facts>div{border-bottom:1px solid var(--line);padding:12px 0}
body[data-view="connected"] dt{font-size:13px}
body[data-view="connected"] dd{margin:4px 0 0;font-weight:600;font-size:18px}
body[data-view="connected"] .account-note{background:#fffbea;border-left:3px solid var(--gold);padding:12px 14px;font-size:14px;line-height:1.55}
body[data-view="connected"] #account-freshness{font-size:13px;padding:12px 0;margin:0 0 20px}
body[data-view="connected"] :is(#account-history,#account-attendance,#account-registrations,#account-help){border-top:1px solid var(--line);padding-top:20px;margin-top:24px;scroll-margin-top:16px}
body[data-view="connected"] :is(#account-history,#account-attendance,#account-registrations,#account-help)>h2{font:700 24px/1.25 var(--serif);margin:0 0 10px}
body[data-view="connected"] #registration-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
body[data-view="connected"] #registration-entries .account-row{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
body[data-view="connected"] #registration-entries h3{font-size:17px;margin:0 0 6px}
body[data-view="connected"] #registration-entries p{margin:0;font-size:14px}
body[data-view="connected"] #account-help details{border:0;padding:0;margin:8px 0}
body[data-view="connected"] #account-help summary{font-weight:600;padding:12px 0;min-height:48px}
body[data-view="connected"] .account-support{display:inline-flex;align-items:center;min-height:48px;margin-top:12px}
@media(max-width:900px){body[data-view="connected"]{display:flex;flex-direction:column;padding:12px;gap:12px}body[data-view="connected"] .surface{max-width:600px}body[data-view="connected"] .rehearsal{padding:4px 8px}}
@media(max-width:480px){body[data-view="connected"] .surface main{padding:20px 16px}body[data-view="connected"] .account-facts,body[data-view="connected"] #registration-entries{grid-template-columns:1fr}body[data-view="connected"] #account-nav{gap:0 16px}body[data-view="connected"] #sample-name{font-size:27px}}

body[data-view="connected"] #account-nav{display:block;border:0;padding:0;margin:12px 0}
body[data-view="connected"] #account-nav .account-row{display:flex;justify-content:space-between;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left;font-size:16px;font-weight:400;min-height:48px;padding:12px 0}
body[data-view="connected"] #account-nav .account-row:hover{background:#f2f4f7}
body[data-view="connected"] #account-back{margin:0 0 12px}
body[data-view="connected"] :is(#account-history,#account-attendance,#account-registrations,#account-help){margin-top:0;padding-top:0;border-top:0}
/* Connected data uses the accepted 0.0.9/0.0.11 account components unchanged. */
body[data-view="owner"] .surface header{margin:0}
body[data-view="owner"] .surface main{margin:0;overflow-wrap:anywhere}
body[data-view="owner"] #message:empty{display:none}
body[data-view="owner"] #account-subtitle:empty{display:none}
body[data-view="owner"] #owner-details{max-height:390px;overflow-y:auto;overscroll-behavior:contain}
body[data-view="owner"] #owner-details .account-row:not(button){display:block}
body[data-view="owner"] #owner-details h3{font-size:17px;margin:6px 0}
body[data-view="owner"] #owner-details p{font-size:14px}
body[data-view="owner"] #owner-details .account-facts{font-size:14px;margin:12px 0}
body[data-view="owner"] #owner-details dt{font-weight:600}
body[data-view="owner"] #owner-details dd{margin:0 0 10px}
body[data-view="owner"] .account-workspace #open-attendance{margin-top:auto}
body[data-view="owner"] #app-menu .menu-sheet{width:220px}

/* Owner-approved subtitle navigation and contained attendance, October 6. */
.surface .event .account-subtitle,.surface .event .back-overview{display:block;width:auto;box-sizing:border-box;min-height:20px;padding:0;margin:0!important;font-family:inherit;font-size:13px!important;line-height:20px;font-weight:600;font-style:italic;text-align:left}
.surface .event .account-subtitle[hidden],.surface .event .back-overview[hidden]{display:none}
.surface #message:empty{display:none}
.event .back-overview[hidden]{display:none}
.attendance-box{min-height:96px;max-height:clamp(96px,27dvh,220px);overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0}
.attendance-box:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

/* Keep the header height stable when the signed-out menu is hidden. */
body[data-kind="account"] .surface header{min-height:54px}
