:root{color:#182028;--ink:#182028;--muted:#607066;--line:#d8d2c5;--panel:#fff;--soft:#ebe7dd;--green:#115e59;--gold:#f2b84b;--blue:#4338ca;--slate:#202a36;--danger:#b42318;--success:#047857;--warning:#b45309;background:#f3f2ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:#f3f2ec;min-width:320px;min-height:100vh;margin:0}a{color:var(--blue);font-weight:700;text-decoration:none}a:hover{text-decoration:underline}.topbar{border-bottom:1px solid var(--line);z-index:5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:16px clamp(18px,5vw,64px);display:flex;position:sticky;top:0}.topbar.adminTopbar{background:#1f2732f5;border-bottom-color:#111827}.brand{color:var(--ink);align-items:center;gap:10px;display:inline-flex}.adminTopbar .brand,.adminTopbar .nav a{color:#fff}.mark{border:2px solid var(--ink);color:var(--gold);background:#15130f;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:900;display:inline-flex}.adminTopbar .mark{background:var(--gold);color:#15130f}.nav{flex-wrap:wrap;justify-content:flex-end;gap:16px;display:flex}.nav a{color:var(--ink);font-size:14px}.hero{gap:40px;max-width:1180px;margin:0 auto;padding:clamp(56px,9vw,116px) clamp(20px,5vw,64px);display:grid}.hero.split{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr)}.hero h1,.content h1{letter-spacing:0;max-width:820px;margin:0;font-size:clamp(46px,8vw,82px);line-height:.98}.hero p,.content>p,.lead{color:var(--muted);max-width:720px;font-size:18px}.eyebrow{color:var(--green);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:900}.actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.button{background:var(--green);border:1px solid var(--green);color:#fff;cursor:pointer;border-radius:8px;min-height:44px;padding:10px 16px;font-weight:800;display:inline-flex}.button.secondary{color:var(--green);background:0 0}.button.small{min-height:34px;padding:6px 10px;font-size:12px}.button:disabled{cursor:not-allowed;opacity:.48}.band{background:var(--soft);border-top:1px solid var(--line);padding:64px clamp(20px,5vw,64px)}.wrap{max-width:1120px;margin:0 auto}.grid,.portalGrid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:28px;display:grid}.card,.portalCard,.notice{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px}.card.wide{max-width:720px}.card h3{margin-top:0}.notice{background:#fff8e7;border-color:#e2c47d;margin:20px 0}.notice.compactNotice{max-width:760px;margin:18px 0 0;padding:14px 16px;font-size:14px}.phone{color:#fff;background:#1d252c;border-radius:30px;width:100%;max-width:390px;margin-inline:auto;padding:18px;box-shadow:0 24px 54px #18202833}.phoneHead{justify-content:space-between;align-items:center;padding:8px 6px 16px;display:flex}.pill{color:#21462f;background:#d8f1df;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.metricGrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.metric,.lesson{background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;padding:14px}.metric span{color:#c8d3dc;font-size:12px;display:block}.metric strong{margin-top:3px;font-size:26px;display:block}.lesson{margin-top:12px}.lesson h3{margin:0 0 8px}.lesson p{color:#dfe7ec;margin:6px 0}.content{max-width:820px;margin:0 auto;padding:clamp(48px,8vw,90px) 24px}.content h2{border-top:1px solid var(--line);margin-top:34px;padding-top:24px}.content li{margin:8px 0}.portalCard{color:var(--ink);gap:6px;display:grid}.portalCard span{color:var(--muted);font-size:13px}.footer{border-top:1px solid var(--line);color:var(--muted);text-align:center;padding:28px clamp(20px,5vw,64px)}.footer.adminFooter{color:#d9dee6;background:#1f2732;border-top-color:#111827}.footer.adminFooter a{color:#f2c15f}.portal{max-width:1220px;margin:0 auto;padding:clamp(28px,5vw,58px) clamp(18px,4vw,42px) 72px}.portalHero{border:1px solid var(--line);background:linear-gradient(135deg,#fff 0%,#faf8f1 58%,#f4ead4 100%);border-radius:8px;margin-bottom:18px;padding:clamp(24px,4vw,42px);box-shadow:0 22px 70px #18202814}.portalHero h1{letter-spacing:0;margin:0;font-size:clamp(38px,6vw,66px);line-height:1}.portalHero p:not(.eyebrow){color:var(--muted);max-width:760px;font-size:18px}.tabBar{border:1px solid var(--line);background:#e7e2d8;border-radius:8px;align-items:center;gap:6px;margin:18px 0;padding:6px;display:flex;overflow-x:auto}.tabBar button{color:#5d554b;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;flex:1 0 auto;min-height:40px;padding:8px 12px;font-size:14px;font-weight:850}.tabBar button.active{color:var(--ink);background:#fff;box-shadow:0 8px 22px #18202814}.portalStatus{color:#d7f6ea;background:#14211f;border-radius:8px;margin-bottom:18px;padding:12px 14px;font-size:14px;font-weight:750}.portalStack{gap:16px;display:grid}.portalColumns{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px;display:grid}.kpiGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.kpi,.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px;box-shadow:0 16px 42px #1820280f}.kpi{min-height:132px}.kpi span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900;display:block}.kpi strong{color:var(--ink);margin-top:12px;font-size:34px;line-height:1;display:block}.kpi p{color:var(--muted);margin:10px 0 0}.kpi.warning{box-shadow:inset 0 3px 0 var(--gold), 0 16px 42px #1820280f;border-color:#edc978}.panelHead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin:-2px 0 16px;padding-bottom:12px;display:flex}.panelHead h2{margin:0;font-size:18px}.panelHead select,.filterRow select,.formGrid input,.formGrid textarea{border:1px solid var(--line);color:var(--ink);font:inherit;background:#fff;border-radius:8px;min-height:40px;padding:8px 10px}.formGrid{grid-template-columns:minmax(0,1.5fr) minmax(240px,.5fr);gap:14px;display:grid}.formGrid label,.filterRow label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:6px;font-size:12px;font-weight:900;display:grid}.formGrid textarea{resize:vertical;text-transform:none;min-height:168px}.actions.compact{margin-top:16px}.filterRow{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.recordList,.ticketList{gap:10px;display:grid}.record,.ticket{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.record p,.ticket p,.muted{color:var(--muted);margin:4px 0 0}.badge{color:#fff;white-space:nowrap;border-radius:999px;padding:7px 9px;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.badge.success{background:var(--success)}.badge.warning{background:var(--warning)}.badge.danger{background:var(--danger)}.badge.neutral{background:#536171}.checkGrid,.toggleGrid,.customerGrid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.checkItem,.toggleCard,.customerCard{border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:#fbfaf6;border-radius:8px;gap:6px;min-height:92px;padding:14px;display:grid}.checkItem span,.toggleCard span,.customerCard span{color:var(--muted);font-size:12px;font-weight:850}.checkItem.done,.toggleCard.on,.customerCard.selected{box-shadow:inset 0 3px 0 var(--success);background:#eef9f3;border-color:#9cd8bb}.toggleCard strong{color:var(--success);font-size:24px}.toggleCard:not(.on) strong{color:var(--muted)}.toggleCard.locked{cursor:default;background:#f7f3ec;border-style:dashed}.toggleCard.locked strong{color:var(--warning);font-size:20px}.tableWrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:620px}th,td{border-bottom:1px solid var(--line);text-align:left;padding:11px 10px}th{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900}.ticketActions{align-items:center;gap:8px;display:flex}@media (width<=820px){.topbar{flex-direction:column;align-items:flex-start}.hero.split,.portalColumns,.formGrid,.kpiGrid{grid-template-columns:1fr}.record,.ticket,.panelHead{flex-direction:column;align-items:flex-start}}
