:root{font-family:Manrope,Arial,sans-serif;color:#eee8dc;background:#211f1c;--bg:#211f1c;--panel:#2d2a26;--panel2:#35312c;--line:#49443d;--text:#eee8dc;--muted:#a9a297;--copper:#c27a50;--olive:#8e9f70;--brick:#c87461;--amber:#d3a55d}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}.shell{display:flex;min-height:100vh}.sidebar{width:246px;flex:none;background:#1a1917;border-right:1px solid #38342f;display:flex;flex-direction:column;padding:30px 16px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:11px;align-items:center;padding:0 8px 48px}.brand strong{display:block;font-size:19px;letter-spacing:-.04em}.brand small{display:block;font-size:8px;letter-spacing:.15em;color:#9a9185}.brand small b{color:var(--copper)}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--copper);color:var(--text);font-weight:800;letter-spacing:-.12em;font-size:20px;transform:rotate(-3deg)}.brand-mark span{color:var(--copper)}.brand-mark.small{width:40px;height:40px;font-size:16px}.side-label,.eyebrow{font-size:10px;font-weight:800;letter-spacing:.19em;color:var(--copper);margin:0}.side-label{color:#777069;padding:0 17px 14px}.sidebar nav{display:grid;gap:3px}.nav-item,.side-action{width:100%;border:0;background:transparent;color:#aaa297;text-align:left;padding:12px 16px;border-radius:8px;font-size:13px;font-weight:700}.nav-item:hover,.side-action:hover{background:#302c27;color:var(--text)}.nav-item.active{background:#382b23;color:#e5a077;border-left:3px solid var(--copper)}.nav-item span{display:inline-block;width:27px;font-size:17px;font-weight:400}.side-bottom{margin-top:auto;border-top:1px solid #38342f;padding-top:14px}.main{flex:1;min-width:0;padding:36px 4.2% 70px}.topbar{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:27px;margin-bottom:28px;gap:15px}.topbar h1{font-size:clamp(26px,3vw,39px);letter-spacing:-.055em;line-height:1.12;margin:9px 0 0}.top-actions{display:flex;align-items:center;gap:19px}.today{color:var(--muted);font-size:12px;white-space:nowrap}.primary{background:var(--copper);color:#201813;border:1px solid var(--copper);padding:12px 18px;font-size:12px;font-weight:800;border-radius:5px;min-height:42px}.primary:hover{background:#d78b5d}.primary span{margin-left:32px}.ghost{background:transparent;color:var(--text);border:1px solid var(--line);padding:11px 17px;border-radius:5px}.ghost:hover{border-color:var(--copper)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px}.stat,.panel{background:var(--panel);border:1px solid #403b34;border-radius:8px}.stat{padding:20px;min-height:126px}.stat .label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}.stat strong{display:block;font-size:26px;letter-spacing:-.05em;margin:12px 0 2px}.stat small{color:var(--muted);font-size:11px}.olive{color:var(--olive)!important}.brick{color:var(--brick)!important}.amber{color:var(--amber)!important}.copper{color:var(--copper)!important}.dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:18px}.panel{padding:22px;min-width:0}.panel-head,.list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.panel h2,.list-head h2{margin:0;font-size:16px;letter-spacing:-.025em}.subtle{color:var(--muted);font-size:12px}.text-button{background:none;border:none;color:var(--copper);font-size:12px;font-weight:800}.activity{display:grid;gap:0}.activity-row,.record{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding:14px 0}.activity-row:first-child,.record:first-child{border-top:0}.activity-icon{width:36px;height:36px;background:#3c352e;display:grid;place-items:center;border-radius:5px;color:var(--copper)}.activity-main{min-width:0;flex:1}.activity-main strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-main small{color:var(--muted);font-size:11px}.amount{font-size:13px;font-weight:800;white-space:nowrap}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-actions button{background:#36312b;color:var(--text);text-align:left;border:1px solid var(--line);border-radius:6px;padding:17px 14px;font-size:12px;font-weight:700}.quick-actions button:hover{border-color:var(--copper)}.quick-actions span{display:block;color:var(--copper);font-size:20px;margin-bottom:9px}.list-toolbar{display:flex;gap:9px;justify-content:space-between;margin-bottom:17px}.search{background:#302c27;border:1px solid var(--line);color:var(--text);border-radius:5px;padding:11px 14px;width:min(360px,100%);font-size:12px;outline:none}.search:focus,input:focus,textarea:focus,select:focus{border-color:var(--copper)}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tab{background:transparent;border:1px solid var(--line);color:var(--muted);padding:9px 12px;border-radius:5px;font-size:11px;font-weight:800}.tab.active{background:#49372b;border-color:var(--copper);color:#e3a27d}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:650px}.data-table th{text-align:left;color:#a9a095;font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:11px;border-bottom:1px solid var(--line)}.data-table td{padding:14px 11px;border-bottom:1px solid #454039;font-size:12px;vertical-align:middle}.data-table tr:last-child td{border:0}.data-table strong{font-size:12px}.data-table small{display:block;color:var(--muted);margin-top:3px}.badge{display:inline-block;border-radius:3px;padding:5px 8px;font-size:10px;font-weight:800;background:#514435;color:var(--amber)}.badge.completed,.badge.confirmed{background:#384233;color:var(--olive)}.badge.cancelled{background:#49332d;color:var(--brick)}.badge.in_progress,.badge.scheduled{background:#493a2b;color:var(--copper)}.row-actions{display:flex;gap:6px}.row-actions button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:4px;padding:5px 8px;font-size:11px}.row-actions button:hover{color:var(--text);border-color:var(--copper)}.empty{padding:44px 20px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--text);margin-bottom:6px}.section-note{color:var(--muted);font-size:12px;line-height:1.6;margin:0 0 20px}.ledger-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:20px}.calendar-list{display:grid;gap:10px}.calendar-item{display:flex;gap:16px;background:var(--panel);border:1px solid var(--line);padding:17px;border-radius:7px}.date-block{text-align:center;min-width:48px;color:var(--copper);font-size:22px;font-weight:800;line-height:1}.date-block small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-top:4px}.calendar-item .activity-main strong{font-size:14px}.mobile-nav{display:none}dialog{background:#282520;color:var(--text);border:1px solid #5b5045;border-radius:9px;width:min(650px,calc(100vw - 24px));max-height:min(88vh,850px);padding:0;box-shadow:0 25px 80px #0009}dialog::backdrop{background:#0d0b09bb}dialog form{padding:25px}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:24px}.dialog-head h2{font-size:26px;letter-spacing:-.05em;margin:6px 0 0}.icon-button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:5px;width:32px;height:32px;font-size:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label,.login-card label{font-size:11px;color:#c4bbae;font-weight:800;letter-spacing:.02em}.form-grid input,.form-grid select,.form-grid textarea,.login-card input{display:block;background:#34302a;border:1px solid #534a40;color:var(--text);border-radius:5px;width:100%;padding:11px 12px;margin-top:7px;font-size:13px;outline:none}.form-grid textarea{min-height:80px;resize:vertical}.form-grid .wide{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 80% 10%,#3b2b23,#211f1c 50%)}.login-card{width:min(410px,100%);border:1px solid var(--line);background:#2b2824;padding:36px;border-radius:8px}.login-card h1{font-size:45px;letter-spacing:-.07em;line-height:1.04;margin:18px 0 12px}.login-card h1 em{font-style:normal;color:var(--copper)}.login-card .muted{color:var(--muted);font-size:13px;margin-bottom:35px}.login-card .primary{width:100%;margin-top:19px;text-align:left}.login-card .primary span{float:right}.error{color:var(--brick);font-size:12px}#toast{position:fixed;bottom:25px;right:25px;background:#e2d7c6;color:#231f1a;padding:12px 17px;border-radius:5px;font-size:12px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10}#toast.show{opacity:1}@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.today{display:none}}@media(max-width:720px){.sidebar{display:none}.main{padding:24px 16px 105px}.topbar{align-items:start;padding-bottom:19px;margin-bottom:20px}.topbar h1{font-size:29px}.top-actions .primary{font-size:0;padding:0;width:43px;height:43px}.top-actions .primary::first-letter{font-size:20px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#1a1917;border-top:1px solid var(--line);padding:7px 5px calc(7px + env(safe-area-inset-bottom));z-index:4;overflow-x:auto;justify-content:space-around}.mobile-nav button{flex:1;min-width:57px;background:transparent;border:0;color:#aaa297;font-size:9px;font-weight:700;padding:5px 2px}.mobile-nav button span{display:block;font-size:18px;margin-bottom:2px}.mobile-nav button.active{color:var(--copper)}.ledger-cards{grid-template-columns:1fr 1fr}.list-toolbar{flex-direction:column}.search{width:100%}dialog form{padding:20px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}@media(max-width:390px){.stat strong{font-size:21px}.stat{padding:15px}.mobile-nav button{min-width:50px}}
@media(max-width:720px){.top-actions .primary::before{content:"+";font-size:23px;line-height:1}}
