:root{--bg:#f7f3eb;--ink:#2f281f;--muted:#6f725f;--line:#d8cdbb;--panel:#fffdf8;--field:#fbf7ef;--primary:#667a5b;--primary-dark:#3f4b35;--accent:#a2603c;--warning:#fff4dc;--table-fill:#efe8da;--shadow:0 18px 42px rgba(82,63,42,.09);--soft-shadow:0 10px 22px rgba(82,63,42,.08)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:linear-gradient(180deg,#fbf8f1 0,var(--bg) 340px),var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.app-header{align-items:center;background:rgba(255,253,248,.94);border-bottom:1px solid var(--line);display:flex;gap:24px;justify-content:space-between;min-height:72px;padding:12px clamp(18px,4vw,48px);position:-webkit-sticky;position:sticky;top:0;z-index:10}.app-footer{border-top:1px solid var(--line);color:var(--muted);display:grid;grid-gap:10px;gap:10px;margin:40px auto 0;max-width:1180px;padding:22px clamp(18px,4vw,34px) 34px}.app-footer p{font-size:.84rem;line-height:1.5;margin:0}.app-footer nav{display:flex;flex-wrap:wrap;gap:14px}.app-footer a{color:var(--primary-dark);font-size:.84rem;font-weight:800;text-decoration:none}.legal-content{display:grid;grid-gap:14px;gap:14px}.legal-content h2{margin:10px 0 0}.legal-content p{color:var(--muted);line-height:1.65;margin:0}.brand{align-items:center;display:flex;gap:12px}.brand-logo{background:#fffdf8;border:1px solid var(--line);border-radius:8px;display:block;height:46px;object-fit:contain;padding:4px;width:54px}.brand small{color:var(--muted);display:block;font-size:.78rem;margin-top:2px}nav{display:flex;flex-wrap:wrap;gap:8px}.ghost-button,.logout-button,nav a{background:#fffdf8;border:1px solid var(--line);border-radius:8px;color:var(--primary-dark);font-size:.92rem;font-weight:700;min-height:auto;padding:10px 12px}.logout-button{cursor:pointer;font-family:inherit}.page{margin:0 auto;max-width:1220px;padding:32px clamp(16px,4vw,48px) 56px}.page-heading{display:grid;grid-gap:10px;gap:10px;margin-bottom:26px}h1,h2,h3,p{margin:0}h1{font-size:clamp(2rem,4vw,3.35rem);line-height:1.02}.lede,h1{max-width:760px}.lede{color:var(--muted);font-size:1.02rem;line-height:1.6}.workspace{align-items:start;display:grid;grid-gap:22px;gap:22px;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:clamp(18px,3vw,26px)}.panel h2{font-size:1.2rem;margin-bottom:18px}.form-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:grid;grid-gap:7px;gap:7px}.field.full{grid-column:1/-1}.label,label{color:var(--ink);font-size:.84rem;font-weight:800}input,select,textarea{background:var(--field);border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;min-height:44px;padding:10px 12px;width:100%}textarea{line-height:1.5;min-height:120px;resize:vertical}.field-note{color:var(--muted);font-size:.8rem;line-height:1.4}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:3px solid hsla(144,9%,44%,.16)}.mode-group{border:1px solid var(--line);border-radius:8px;grid-gap:8px;gap:8px}.mode-group,.mode-option{display:grid;padding:10px}.mode-option{align-items:flex-start;border-radius:6px;cursor:pointer;grid-gap:4px;gap:4px;grid-template-columns:20px 1fr}.mode-option:has(input:checked){background:var(--table-fill)}.mode-option input{min-height:auto;margin-top:2px;width:auto}.mode-option span{color:var(--muted);display:block;font-size:.86rem;font-weight:500;line-height:1.45}.fee-line,.fee-line-list{display:grid;grid-gap:10px;gap:10px}.fee-line{align-items:center;background:var(--table-fill);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(110px,.7fr) minmax(160px,1fr) minmax(150px,1fr) minmax(120px,.8fr);padding:10px}.fee-line .checkbox-row{margin:0}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.button,button{align-items:center;background:var(--primary-dark);border:0;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font:inherit;font-weight:800;justify-content:center;min-height:44px;padding:11px 16px}button:disabled{cursor:not-allowed;opacity:.64}.button:hover,button:hover{background:#303b28}button.secondary{background:var(--table-fill);border:1px solid var(--line);color:var(--primary-dark)}button.secondary:hover{background:#e8ebe7}.summary-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.metric{background:linear-gradient(180deg,#fffdf8,#f8f1e5);border:1px solid var(--line);border-radius:8px;box-shadow:var(--soft-shadow);padding:14px}.metric span{color:var(--muted);display:block;font-size:.76rem;font-weight:800;margin-bottom:5px;text-transform:uppercase}.metric strong{color:var(--primary-dark);font-size:1.18rem;line-height:1.15}.disclosure-list{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:9px;gap:9px;margin-top:18px;padding:14px}.disclosure-list h3{font-size:.95rem;margin:0 0 2px}.disclosure-list p{color:var(--muted);font-size:.86rem;line-height:1.45}.disclosure-list strong{color:var(--primary-dark)}.notice{background:var(--warning);border:1px solid #ead6a8;border-radius:8px;color:#654618;line-height:1.5;margin-top:16px;padding:12px}.table-wrap{border:1px solid var(--line);border-radius:8px;margin-top:18px;max-height:440px;overflow:auto}table{border-collapse:collapse;font-size:.82rem;min-width:650px;width:100%}td,th{border-bottom:1px solid #e7eae7;padding:9px 10px;text-align:right;white-space:nowrap}tbody tr:nth-child(2n){background:#fafafa}td:first-child,th:first-child{text-align:left}th{background:var(--table-fill);color:var(--primary-dark);font-size:.74rem;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0}.admin-layout{display:grid;grid-gap:22px;gap:22px;grid-template-columns:minmax(0,1fr);max-width:920px}.save-state{color:var(--muted);font-weight:700;padding:10px 0}.auth-page{display:grid;min-height:calc(100vh - 72px);place-items:center}.auth-panel{max-width:440px;width:min(100%,440px)}.auth-panel h1{font-size:1.8rem;line-height:1.15;margin-bottom:10px}.auth-logo{display:block;height:70px;margin-bottom:18px;object-fit:contain;width:90px}.resource-page{max-width:1180px}.resource-hero{align-items:stretch;border-bottom:1px solid var(--line);display:grid;grid-gap:28px;gap:28px;grid-template-columns:minmax(0,1fr) minmax(280px,360px);margin-bottom:34px;padding:24px 0 34px}.resource-hero.compact{grid-template-columns:minmax(0,820px)}.eyebrow{color:var(--accent);display:block;font-size:.76rem;font-weight:900;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.hero-stat-panel{align-self:end;background:#efe8da;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:22px}.hero-stat-panel span{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.hero-stat-panel strong{font-size:1.35rem;line-height:1.2}.hero-stat-panel p{color:var(--muted);line-height:1.5}.resource-section{display:grid;grid-gap:18px;gap:18px;margin-top:34px}.section-heading-row{align-items:end;display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) minmax(260px,420px)}.section-heading-row h2{font-size:clamp(1.45rem,2.5vw,2rem)}.section-heading-row p{color:var(--muted);line-height:1.55}.resource-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.resource-card{align-content:start;background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:14px;gap:14px;min-height:260px;padding:18px}.resource-card-top{min-height:28px}.resource-card h3{font-size:1.05rem;line-height:1.25}.resource-card p{color:var(--muted);line-height:1.55}.resource-card button{align-self:end;margin-top:auto;width:100%}.status-pill{background:#efe8da;border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;font-size:.72rem;font-weight:900;padding:6px 9px;text-transform:uppercase}.status-pill.active{background:#e2eadc;border-color:#bfccb6;color:#3f5f3f}.audience-choice{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin:8px 0 34px}.audience-card{align-items:start;background:var(--panel);border:1px solid var(--line);border-left:6px solid #b88352;box-shadow:var(--soft-shadow);color:var(--ink);display:grid;grid-gap:8px;gap:8px;justify-content:stretch;min-height:132px;padding:20px;text-align:left}.audience-card.selected,.audience-card:hover{background:#f4eadb;border-color:#b88352;color:var(--ink)}.audience-card span{font-size:1.25rem;font-weight:900;line-height:1.2}.audience-card small{color:var(--muted);font-size:.95rem;font-weight:600;line-height:1.45}.access-overlay{align-items:center;background:rgba(31,31,31,.34);display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:30}.access-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 70px rgba(31,31,31,.22);max-height:calc(100vh - 36px);max-width:500px;overflow:auto;padding:24px;position:relative;width:min(100%,500px)}.access-panel h2{font-size:1.55rem;line-height:1.2;margin-bottom:8px}.access-panel form{margin-top:18px}.close-button{background:var(--panel);border:1px solid var(--line);color:var(--primary-dark);font-size:1rem;font-weight:900;height:34px;min-height:34px;padding:0;position:absolute;right:14px;top:14px;width:34px}.close-button:hover{background:#f4f5f3}.form-grid.single{grid-template-columns:1fr}.resource-notice{margin-bottom:18px}.suggestion-section{align-items:start;border-top:1px solid var(--line);display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(0,.85fr) minmax(320px,1fr);margin-top:42px;padding-top:30px}.suggestion-section h2{font-size:clamp(1.35rem,2.4vw,1.9rem);margin-bottom:10px}.suggestion-section p{color:var(--muted);line-height:1.55}.suggestion-form{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:14px;gap:14px;padding:18px}.disclosure-editor{border-top:1px solid var(--line);display:grid;grid-gap:16px;gap:16px;margin-top:22px;padding-top:20px}.disclosure-editor h2{font-size:1.1rem;margin-bottom:6px}.disclosure-editor-grid{display:grid;grid-gap:12px;gap:12px}.disclosure-editor-item{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:12px}.checkbox-row{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:18px 1fr}.checkbox-row input{min-height:auto;width:auto}.checkbox-row span{font-size:.9rem;font-weight:900}.disclosure-editor-item textarea{min-height:82px}.subsection{border-top:1px solid var(--line);display:grid;grid-gap:14px;gap:14px;margin-top:22px;padding-top:20px}.subsection h2{font-size:1.05rem;margin-bottom:0}.comp-list,.comp-row{display:grid;grid-gap:12px;gap:12px}.comp-row{background:#fbf7ef;border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(112px,.75fr) minmax(90px,.6fr) minmax(110px,.75fr) minmax(160px,1.25fr) 38px;padding:12px}.icon-button{align-self:end;background:#efe8da;border:1px solid var(--line);color:var(--primary-dark);min-height:38px;padding:0;width:38px}.icon-button:hover{background:#e5d9c8}.adjustment-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.adjustment-table-block{display:grid;grid-gap:10px;gap:10px}.adjustment-table-block h3{font-size:.98rem}.adjustment-table{border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(130px,.65fr);overflow:hidden}.adjustment-table-head{background:var(--table-fill);color:var(--primary-dark);font-size:.76rem;font-weight:900;padding:10px 12px;text-transform:uppercase}.adjustment-table-row{display:contents}.adjustment-table-row input,.adjustment-table-row span{border-top:1px solid var(--line)}.adjustment-table-row span{align-items:center;background:var(--panel);color:var(--ink);display:flex;font-size:.9rem;font-weight:700;min-height:44px;padding:8px 12px}.adjustment-table-row input{background:#fbf7ef;border-bottom:0;border-left:1px solid var(--line);border-radius:0;border-right:0;min-height:44px}@media (max-width:880px){.adjustment-grid,.app-header,.comp-row,.fee-line,.form-grid,.resource-hero,.section-heading-row,.suggestion-section,.workspace{grid-template-columns:1fr}.app-header{align-items:flex-start}.app-header,.workspace{display:grid}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audience-choice{grid-template-columns:1fr}.adjustment-table{grid-template-columns:minmax(0,1fr) minmax(96px,.45fr)}}@media (max-width:560px){.resource-grid,.summary-grid{grid-template-columns:1fr}nav a{flex:1 1 auto;text-align:center}}