@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&family=Noto+Serif:wght@600;700&display=swap');
:root{--ink:#17211d;--soft:#56615c;--paper:#f7f4ed;--card:#fffdf8;--line:#ddd8cc;--green:#173e32;--green-light:#e1ece6;--orange:#e56b3f;--gold:#caa967}
*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 88% 2%,rgba(202,169,103,.15),transparent 28rem),var(--paper);color:var(--ink);font-family:Manrope,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,64px);background:rgba(247,244,237,.92);border-bottom:1px solid rgba(23,33,29,.1);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px}.brand-mark,.login-mark{width:36px;height:36px;border-radius:50%;background:var(--orange);display:grid;place-items:center;color:#fff;font-family:'Noto Serif',serif;font-weight:700;font-size:18px;box-shadow:inset 0 0 0 5px rgba(255,255,255,.16)}.brand-name{font:700 21px 'Noto Serif',serif}.brand-sub{color:var(--soft);font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.logout{border:0;background:#e9e5dc;color:var(--ink);padding:9px 13px;border-radius:10px;font-size:12px;font-weight:800}
.workspace{width:min(1480px,100%);margin:auto;padding:36px clamp(18px,4vw,64px) 64px}.intro{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:28px}.eyebrow{color:#b84524;text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:800;margin:0 0 8px}h1{font:650 clamp(34px,4vw,52px)/1.05 'Noto Serif',serif;letter-spacing:-.035em;margin:0}.intro-copy,.login-copy{color:var(--soft);margin:12px 0 0;max-width:640px;font-size:15px;line-height:1.6}.view-toggle{display:flex;padding:4px;background:#e9e5dc;border-radius:12px;flex:none}.view-toggle button{border:0;background:transparent;padding:10px 16px;border-radius:9px;color:var(--soft);font-weight:800;font-size:13px}.view-toggle button.active{background:var(--card);color:var(--ink);box-shadow:0 2px 9px rgba(23,33,29,.08)}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px;align-items:start}.panel{background:var(--card);border:1px solid rgba(23,33,29,.11);border-radius:18px;box-shadow:0 12px 38px rgba(23,33,29,.055);overflow:hidden}.panel-head{padding:22px 24px;border-bottom:1px solid var(--line)}.panel-title{margin:0;font-size:16px;font-weight:800}.panel-kicker{margin:4px 0 0;font-size:12px;color:var(--soft)}.section{padding:24px;border-bottom:1px solid var(--line)}.section-title{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:13px;text-transform:uppercase;letter-spacing:.09em;color:var(--green)}.section-title span{width:25px;height:25px;border-radius:8px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:11px}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{min-width:0;position:relative}.field.wide{grid-column:1/-1}.field label{display:block;font-size:12px;font-weight:750;color:#4d5954;margin:0 0 7px}.field input,.field textarea{width:100%;border:1px solid #d6d2c8;background:#fff;color:var(--ink);border-radius:10px;min-height:44px;padding:10px 12px;outline:0;transition:.16s}.field textarea{resize:vertical;min-height:82px}.field input:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,62,50,.1)}.field.money input{padding-right:42px;text-align:right;font-variant-numeric:tabular-nums}.field.money b{position:absolute;right:12px;top:37px;color:#78817d;font-size:12px}.field small{display:block;color:#78817d;font-size:10px;line-height:1.35;margin-top:5px}
.summary-card{background:var(--green);color:#fff;padding:24px}.summary-top{display:flex;justify-content:space-between;gap:18px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.16)}.summary-top span,.summary-grid span{display:block;color:#b7cfc5;font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:800}.summary-top strong{display:block;font:600 35px/1 'Noto Serif',serif;margin-top:7px;font-variant-numeric:tabular-nums}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-top:19px}.summary-grid strong{display:block;font-size:14px;margin-top:5px;font-variant-numeric:tabular-nums}.actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px 24px}.btn{border:0;border-radius:10px;padding:12px 17px;font-weight:800;font-size:13px}.btn:disabled{opacity:.55}.btn-secondary{background:#ece9e1;color:var(--ink)}.btn-primary{background:var(--orange);color:#fff;box-shadow:0 7px 18px rgba(229,107,63,.24)}
.history-panel{position:sticky;top:90px}.standalone-history{position:static;max-width:820px}.history-list{padding:8px}.history-item{padding:14px;border-radius:12px;display:grid;grid-template-columns:1fr auto;gap:7px 12px}.history-item:hover{background:#f1eee7}.history-item strong{font-size:13px}.history-item span{color:var(--soft);font-size:11px}.history-item b{grid-row:1/3;grid-column:2;align-self:center;color:var(--green);font-size:13px}.empty{text-align:center;color:var(--soft);padding:36px 18px;font-size:13px}.toast{position:fixed;right:24px;bottom:24px;z-index:50;padding:13px 17px;border-radius:12px;color:#fff;background:var(--green);font-size:13px;font-weight:750;box-shadow:0 13px 40px rgba(23,33,29,.26)}.toast.error,.form-error{background:#8b3526;color:#fff}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(460px,100%);background:var(--card);border:1px solid rgba(23,33,29,.11);border-radius:22px;box-shadow:0 20px 60px rgba(23,33,29,.1);padding:38px}.login-mark{width:48px;height:48px;font-size:22px;margin-bottom:26px}.login-card h1{font-size:36px}.login-label{display:block;font-size:12px;font-weight:800;margin:24px 0 7px}.login-input{width:100%;height:48px;border:1px solid #d6d2c8;border-radius:10px;padding:10px 12px;outline:0}.login-input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,62,50,.1)}.login-button{width:100%;margin-top:14px;height:48px}.form-error,.security-note{border-radius:10px;padding:12px 14px;font-size:12px;line-height:1.5;margin-top:18px}.security-note{background:var(--green-light);color:var(--green);font-weight:700}
@media(max-width:1000px){.layout{grid-template-columns:1fr}.history-panel{display:none}.standalone-history{display:block!important}}@media(max-width:700px){.topbar{height:60px;padding:0 16px}.brand-sub{display:none}.workspace{padding:24px 12px 42px}.intro{align-items:stretch;flex-direction:column;margin-bottom:20px}.view-toggle{width:100%}.view-toggle button{flex:1}.panel{border-radius:14px}.panel-head,.section{padding:20px 16px}.field-grid,.field-grid.three{grid-template-columns:1fr}.summary-top{flex-direction:column}.summary-grid{grid-template-columns:1fr}.actions{position:sticky;bottom:0;padding:12px;background:var(--card);z-index:10;box-shadow:0 -10px 25px rgba(23,33,29,.07)}.actions .btn{flex:1}.toast{left:12px;right:12px;bottom:12px;text-align:center}.login-card{padding:28px 22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important}}
