@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
:root{--ink:#173b40;--muted:#637678;--teal:#197b72;--line:#dde6e2;--cream:#f6f7f1}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:15px}header{padding:23px 5%;display:flex;align-items:center;gap:18px;background:#fff;border-bottom:1px solid var(--line)}.brand{font-weight:800;font-size:24px;text-decoration:none;color:var(--ink)}.brand span{color:var(--teal)}.badge{margin-left:auto;background:#edf4ee;border-radius:20px;padding:8px 13px;font-size:12px}main{max-width:1220px;margin:auto;padding:36px 30px}.intro{margin-bottom:33px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--teal)}h1{font:800 48px/1.12 'Manrope',system-ui;margin:12px 0;letter-spacing:-2px}.intro>p:last-child{color:var(--muted);font-size:17px}.workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr);gap:26px}.editor,.summary{border:1px solid var(--line);background:#fff;border-radius:20px;overflow:hidden}.summary{padding:29px;position:sticky;top:24px}nav{display:flex;background:#f0f4ef;padding:9px;gap:5px}button{font:600 14px 'DM Sans',system-ui;border:0;border-radius:9px;background:var(--teal);color:white;padding:13px 18px;cursor:pointer}button:hover{filter:brightness(.95)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #62b4a4;outline-offset:2px}.tab{flex:1;color:var(--muted);background:transparent;font-size:13px;padding:14px 5px}.tab.active{background:#fff;color:var(--ink);box-shadow:0 2px 6px #1233}form{padding:28px}h2{font:700 25px 'Manrope',system-ui;margin:0 0 8px}h3{font-size:17px}.muted{color:var(--muted);line-height:1.6;margin-top:0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0}label{display:block;font-weight:500;font-size:13px}input,textarea{display:block;width:100%;border:1px solid #cddbd5;border-radius:8px;padding:12px;color:var(--ink);background:#fbfcfa;font:15px system-ui;margin-top:7px}textarea{resize:vertical;min-height:85px;margin-bottom:18px}.panel{display:none}.panel.active{display:block}.actions{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:23px}.secondary{background:#eef4ef;color:var(--ink);border:1px solid #d4e1d8}.session{padding:20px 28px;background:#f2f5ef;font-size:12px;line-height:1.6;color:var(--muted)}.link{background:none;color:var(--teal);padding:12px 20px 0 0;font-size:12px}.price{font:800 49px 'Manrope',system-ui;letter-spacing:-2px}.metric{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #edf0eb;gap:15px}.metric span{color:var(--muted)}.metric strong{white-space:nowrap}.wide{width:100%;margin-top:11px}.fine{font-size:12px;color:var(--muted);line-height:1.5}hr{border:0;border-top:1px solid var(--line);margin:25px 0}.tip,#warning{font-size:12px;line-height:1.6;padding:13px;border-radius:8px;background:#f1f5ed;color:#54644d}#warning:empty{display:none}#warning{margin-top:15px;background:#fff4de;color:#865c17}#error{color:#a1382c;font-size:13px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto;margin:0}footer{text-align:center;color:var(--muted);font-size:12px;padding:35px}dialog{max-width:850px;width:95%;height:95%;border:0;border-radius:15px;padding:0;background:#fff;color:var(--ink)}dialog::backdrop{background:#163a4088}.report-toolbar{position:sticky;top:0;display:flex;justify-content:space-between;background:#edf3ee;padding:15px}article{padding:45px}.report-head{display:flex;justify-content:space-between;gap:20px;border-bottom:3px solid var(--teal);padding-bottom:25px}article h1{font-size:29px;letter-spacing:-.8px}article h2{font-size:19px;margin:28px 0 12px}article p{white-space:pre-wrap;line-height:1.6}article table{width:100%;border-collapse:collapse;font-size:13px}article th,article td{padding:11px 8px;text-align:left;border-bottom:1px solid var(--line)}article th{background:#edf4ef}article .total{background:#e5f1e9;padding:20px;display:flex;justify-content:space-between;font-size:21px;font-weight:700;margin-top:25px}@media(max-width:760px){header{padding:17px 20px;flex-wrap:wrap;gap:10px}header>span:not(.badge){font-size:13px}.badge{display:none}main{padding:25px 16px}h1{font-size:37px}.workspace{grid-template-columns:1fr}.summary{position:static}.fields{gap:15px}form{padding:23px}.tab{font-size:12px}article{padding:25px}.report-head{display:block}.report-toolbar button{font-size:12px;padding:10px}article table{font-size:11px}}@media print{@page{size:A4;margin:15mm}body>*:not(dialog){display:none!important}dialog{position:static!important;display:block!important;width:auto!important;max-width:none;height:auto!important;max-height:none!important;overflow:visible!important;border:0;padding:0;margin:0}dialog:not([open]){display:none!important}.report-toolbar{display:none!important}article{padding:0}article tr,.total{break-inside:avoid}article h2{break-after:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

[hidden]{display:none!important}.solo{background:#edf4ee;padding:16px;border-radius:9px;margin-top:20px;font-size:15px}

.print-help{margin:0;padding:12px 20px;background:#f2f5ef;color:var(--muted);font-size:12px;line-height:1.5}
@media print{
 dialog{border-radius:0!important;background:#fff!important;box-shadow:none!important}
 dialog::backdrop{display:none!important}
 .print-help{display:none!important}
 article{font-size:10pt;line-height:1.35}
 .report-head{padding-bottom:10px;gap:15px;break-inside:avoid}
 article h1{font-size:22pt;margin:6px 0;line-height:1.15}
 article .eyebrow{font-size:8pt;margin:0 0 6px}
 article h2{font-size:12pt;margin:14px 0 6px;break-after:avoid}
 article p{line-height:1.4;margin:6px 0 10px;orphans:3;widows:3}
 article table{font-size:9pt}
 article th,article td{padding:7px 6px}
 article thead{display:table-header-group}
 article .total{padding:13px;font-size:15pt;margin-top:16px}
}

.access-gate{max-width:650px;margin:50px auto;padding:32px;background:white;border:1px solid var(--line);border-radius:20px}.access-gate p{line-height:1.6}.access-gate form{padding:0}.access-gate button{margin:12px 6px 0 0}#accessMessage{color:#865c17}header .sign-out{font-size:12px;padding:8px 12px}@media(max-width:760px){.access-gate{margin:25px 16px;padding:24px}}
