:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#233647;background:#f5f6f4;font-synthesis:none;--blue:#315c85;--muted:#7b8791;--line:#e2e7eb;--green:#278064;--red:#bb5555;--amber:#936628}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}a{color:var(--blue)}.loading{padding:20vh 10vw;font-size:32px}.loading small{font-size:16px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{padding:8vw;background:linear-gradient(145deg,#dce7ed,#c6d6e2 60%,#b3c8d7);display:flex;flex-direction:column;justify-content:space-between}.brand{font-size:22px;font-weight:700;letter-spacing:-1px;display:flex;align-items:center;gap:12px}.brand-mark{background:#315c85;color:white;border-radius:14px;width:45px;height:45px;display:grid;place-items:center;font-size:16px;letter-spacing:-1px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:650;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-weight:500;letter-spacing:-1.5px;font-size:38px;margin-bottom:12px}h2{font-size:24px;font-weight:550;letter-spacing:-.6px}h3{font-size:16px;font-weight:600}.login-story h1{font-size:clamp(38px,4.5vw,70px);line-height:1.09;color:#28465c;max-width:490px}.login-story p{max-width:330px;line-height:1.7;color:#536f80}.login-form{display:flex;align-items:center;justify-content:center;padding:40px}.login-form form{width:min(360px,100%)}label{font-size:13px;color:#6a7986;display:block;margin:20px 0 8px}input,select,textarea{border:1px solid #dbe2e6;border-radius:10px;background:#fff;color:#233647;padding:12px 14px;max-width:100%}input:focus,select:focus,textarea:focus{border-color:#688fae;outline:3px solid #e7eff5}input[type=number]{font-variant-numeric:tabular-nums}.login-form input{width:100%}.primary{background:linear-gradient(120deg,#345f89,#284964);color:#fff;border:0;border-radius:10px;padding:13px 20px;font-weight:550}.secondary{background:#fff;border:1px solid var(--line);color:#445b6d;border-radius:10px;padding:11px 16px}.linkbutton{background:none;border:0;color:var(--blue);padding:8px}.login-form .primary{width:100%;margin-top:26px}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.65}.error{color:var(--red);font-size:14px;margin-top:12px}.shell{max-width:1380px;margin:auto;padding:28px 48px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:30px;gap:20px}.topbar .brand small{font-size:11px;font-weight:450;letter-spacing:0;color:var(--muted);display:block;margin-top:4px}.userbar{display:flex;align-items:center;gap:14px;font-size:12px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block;margin-right:5px}.nav{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:36px;overflow:auto}.nav button{white-space:nowrap;border:0;background:none;padding:14px 18px;color:#7b8791;border-bottom:2px solid transparent}.nav button.active{color:#315c85;border-color:#315c85}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.heading p{margin:8px 0;color:var(--muted);font-size:14px}.filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:24px}.segments{display:flex;background:#e9edf0;border-radius:12px;padding:4px;gap:2px}.segments button{background:transparent;border:0;color:#7b8791;padding:9px 16px;border-radius:9px;font-size:12px}.segments .active{background:#fff;color:#294f74;box-shadow:0 2px 5px #243a4b0b}.filters input{padding:9px 12px;font-size:12px;background:transparent}.period-label{margin-left:auto;color:var(--muted);font-size:12px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.card{background:#fff;border:1px solid #e6ebee;border-radius:18px;padding:24px;min-width:0}.card.hero{background:linear-gradient(130deg,#376a95,#23435f);border:0;color:white}.card.hero .card-label,.card.hero .card-note{color:#c8d9e6}.card-label{font-size:12px;color:var(--muted);margin-bottom:22px}.card-value{font-size:28px;font-weight:550;letter-spacing:-1px;white-space:nowrap;font-variant-numeric:tabular-nums}.card-note{font-size:11px;color:var(--muted);margin-top:12px;line-height:1.6}.positive{color:var(--green)}.negative{color:var(--red)}.grid2{display:grid;grid-template-columns:1.25fr 1fr;gap:22px;margin-bottom:22px}.panel{background:#fff;border:1px solid #e6ebee;border-radius:18px;padding:26px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.panel-head h3{margin:0}.notice{background:#f4eee3;color:#8b6b3f;border:1px solid #ede3d2;border-radius:12px;padding:14px 17px;font-size:12px;line-height:1.65;margin:18px 0}.notice.blue{background:#eaf0f5;border-color:#dfe8ef;color:#547086}.notice.red{background:#fbefec;color:#a05c4f;border-color:#f2ded7}.metric-row{display:flex;justify-content:space-between;align-items:baseline;padding:13px 0;border-bottom:1px solid #edf0f2;font-size:13px;gap:20px}.metric-row:last-child{border:0}.metric-row strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;font-weight:550}.chart{width:100%;height:210px}.chart text{fill:#8b96a0;font-size:10px}.chart .axis{stroke:#e9eef2}.chart .area{fill:#edf3f8}.chart .line{fill:none;stroke:#6286a7;stroke-width:2.5}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:#8a949d;font-weight:500;font-size:11px;padding:13px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:13px 12px;border-bottom:1px solid #edf0f2;vertical-align:middle}td.num,th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.total td{font-weight:650;background:#f4f7f9}.tag{display:inline-block;font-size:10px;color:#6b8091;background:#edf2f5;padding:5px 8px;border-radius:7px;white-space:nowrap}.tag.amber{color:#8b6b3f;background:#f5eee2}.bottomline{font-size:11px;color:#94a0a9;display:flex;justify-content:space-between;margin-top:28px;gap:15px}.empty{padding:30px 10px;text-align:center;color:var(--muted);line-height:1.7}.question-layout{max-width:850px;margin:0 auto}.wizard{padding:38px}.progress{height:4px;width:100%;accent-color:#507aa0;margin:22px 0;background:#e6edf2;border:0;border-radius:3px}.question-num{font-size:11px;color:#8b97a2}.question-title{font-size:29px;line-height:1.3;font-weight:500;letter-spacing:-.8px;margin:24px 0 14px}.question-help{font-size:13px;line-height:1.7;color:#7c8995;max-width:590px}.amount-wrap{display:flex;align-items:center;gap:18px;margin:30px 0 14px}.amount-wrap input{font-size:34px;font-weight:500;letter-spacing:-.6px;width:100%;padding:18px 20px}.amount-wrap span{font-size:28px;color:#8c99a4}.question-meta{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:22px}.question-meta>div{flex:1}.question-meta label{margin-top:8px}.question-meta input,.question-meta select{width:100%;font-size:13px}.wizard-actions{display:flex;align-items:center;justify-content:space-between;margin-top:28px;gap:12px}.editor-top{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.editor-top input{font-size:13px}.editor-table input,.editor-table select{padding:9px;font-size:12px}.editor-table input[type=number]{width:145px}.editor-table input[type=date]{width:145px}.editor-table input[type=text]{min-width:140px}.balance-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}.balance-inputs label{margin-top:0}.balance-inputs input{width:100%}.full{width:100%}textarea{width:100%;resize:vertical;min-height:75px}.sticky-actions{position:sticky;bottom:12px;background:#fffffff2;backdrop-filter:blur(12px);border:1px solid var(--line);padding:14px;border-radius:14px;display:flex;justify-content:space-between;gap:10px;margin-top:24px}.review-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.review-title h2{margin:0}.checklist{display:flex;align-items:flex-start;gap:10px;margin:20px 0;font-size:13px;line-height:1.6}.checklist input{margin-top:4px}.checklist label{margin:0;color:#485b6b}.history-actions{display:flex;gap:8px;flex-wrap:wrap}.audit-entry{padding:16px 0;border-bottom:1px solid var(--line)}.audit-entry p{margin:6px 0;font-size:13px}.settings{max-width:750px}.settings input{width:100%;margin-bottom:14px}.settings .panel{margin-bottom:20px}.inline-error{padding:12px 15px;background:#fbefec;color:#a15050;border-radius:10px;font-size:13px;margin:16px 0}.report-tabs{margin-bottom:20px}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:#29495f;color:#fff;padding:14px 22px;border-radius:12px;box-shadow:0 8px 30px #23364725;max-width:90vw;display:none;z-index:20}#toast.visible{display:block}.footnote{font-size:12px;line-height:1.7;color:#7e8d98;margin:15px 0 0}.amount-mini{font-variant-numeric:tabular-nums}details{margin-top:15px;font-size:12px;line-height:1.7}summary{cursor:pointer;color:#547086}.badge{font-size:11px;padding:7px 11px;background:#eaf4ef;color:#2b8063;border-radius:8px}.fish{width:140px;height:70px;margin-top:40px}.fish path{fill:#f5fafb;opacity:.5}.money-positive{color:#268169}.money-negative{color:#bb5555}
@media(max-width:1000px){.shell{padding:24px}.cards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.card-value{font-size:27px}.heading h1{font-size:32px}.segments button{padding:9px 12px}.period-label{margin-left:0}}
@media(max-width:650px){.login{grid-template-columns:1fr}.login-story{padding:30px;min-height:260px}.login-story h1{font-size:37px;margin-top:40px}.login-story p,.login-story .small,.fish{display:none}.login-form{padding:35px 28px}.shell{padding:20px 16px}.topbar{padding-bottom:18px}.brand{font-size:19px}.brand small{max-width:130px}.userbar .online{display:none}.nav{margin-bottom:24px;gap:0}.nav button{padding:12px;font-size:12px}.heading{align-items:flex-start;flex-direction:column;gap:8px}.heading h1{font-size:29px}.heading p{line-height:1.5}.heading .primary{width:100%}.cards{gap:10px}.card{padding:18px 15px;border-radius:14px}.card-value{font-size:23px}.card-label{margin-bottom:15px;font-size:11px}.card-note{font-size:10px}.panel{padding:20px 17px}.segments{max-width:100%;overflow:auto}.segments button{padding:9px 11px}.filters{gap:10px}.period-label{width:100%}.balance-inputs{grid-template-columns:1fr}.wizard{padding:25px 19px}.question-title{font-size:25px}.amount-wrap input{font-size:29px}.bottomline{flex-direction:column}.userbar{gap:0}.userbar>span:not(.online){display:none}.editor-top{font-size:12px}.sticky-actions{bottom:5px}.sticky-actions button{font-size:12px;padding:12px}.question-meta{gap:10px}}
.legacy-panel{margin-top:24px}pre{overflow:auto;max-height:350px;white-space:pre-wrap;font-size:11px}
.brand small{display:block;margin-top:4px;font-size:11px;font-weight:450;letter-spacing:0;color:#738494;line-height:1.45}

/* Continuous questionnaire: one amount column at every screen width. */
.question-list{padding:12px 26px}
.question-list-head,.question-row{display:grid;grid-template-columns:170px minmax(0,1fr);column-gap:24px}
.question-list-head{padding:14px 0;font-size:11px;color:var(--muted);border-bottom:1px solid var(--line)}
.question-row{padding:18px 0;border-bottom:1px solid #edf0f2;align-items:start}
.question-row:last-child{border-bottom:0}
.answer-cell{position:relative;min-width:0}
.answer-cell input{width:100%;padding:12px 30px 12px 12px;font-size:18px;font-variant-numeric:tabular-nums;appearance:textfield;-moz-appearance:textfield}
.answer-cell input::-webkit-inner-spin-button,.answer-cell input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.answer-cell>span{position:absolute;right:12px;top:15px;color:var(--muted);font-size:14px;pointer-events:none}
.question-cell{min-width:0;padding-top:10px}
.question-cell>label{margin:0;font-size:15px;color:#233647;line-height:1.5;cursor:pointer}
.question-list .payment-details{margin-top:6px}
.payment-details summary{font-size:11px}
.payment-details[open] summary{margin-bottom:12px}
.question-list .question-meta{gap:12px;margin:8px 0}
.question-list .question-meta>div{min-width:140px}
.question-list .question-meta label{font-size:11px}
.payment-details .linkbutton{padding-left:0;font-size:12px;text-align:left}
.payment-details p{margin-bottom:8px}
.purchase-status{margin-top:8px}
.purchase-status label{margin:0 0 4px;font-size:11px}
.purchase-status select{width:100%;max-width:260px;padding:8px 10px;font-size:12px}
.question-list-divider{margin:0 -26px;padding:20px 26px 12px;background:#f5f8fa;border-bottom:1px solid var(--line)}
.question-list-divider strong{font-size:13px;font-weight:600}
.question-list-divider p{font-size:12px;color:var(--muted);line-height:1.6;margin:5px 0 0}
@media(max-width:650px){
.question-list{padding:8px 12px}
.question-list-head,.question-row{grid-template-columns:112px minmax(0,1fr);column-gap:12px}
.question-row{padding:15px 0}
.answer-cell input{font-size:16px;padding:12px 23px 12px 8px}
.answer-cell>span{right:8px}
.question-cell{padding-top:10px}
.question-cell>label{font-size:13px;line-height:1.5}
.question-list .question-meta>div{min-width:0;flex-basis:100%}
.question-list .question-meta input{padding:10px 6px}
.question-list-divider{margin:0 -12px;padding:18px 12px 12px}
}
