:root{--ink:#142522;--muted:#70807c;--line:#e5ebe8;--canvas:#f4f7f6;--panel:#fff;--brand:#0c6961;--brand-dark:#103b39;--brand-soft:#e8f5f2;--blue:#3777c8;--amber:#e6a12e;--violet:#7966c4;--danger:#d9534f;--shadow:0 8px 30px rgba(25,58,52,.07);--radius:18px}*{box-sizing:border-box}html{font-size:15px}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Tahoma,"Segoe UI",sans-serif;font-variant-numeric:tabular-nums}.skip-link{position:fixed;top:-80px;right:20px;background:#fff;padding:12px;z-index:999}.skip-link:focus{top:12px}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 0 0 auto;width:266px;background:linear-gradient(180deg,#103f3d,#0c302f);color:#fff;display:flex;flex-direction:column;z-index:30;box-shadow:-8px 0 30px rgba(0,0,0,.09)}.brand{display:flex;align-items:center;gap:12px;padding:24px 20px 22px;border-bottom:1px solid rgba(255,255,255,.09)}.brand-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#d8b86a,#9a792d);display:grid;place-items:center;font:700 23px Georgia;color:#153b37;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}.brand div{display:flex;flex-direction:column;gap:2px}.brand strong{font-size:16px}.brand small,.sidebar-footer small{color:#a9c4c1;font-size:11px}.sidebar-close{display:none;margin-right:auto}.main-nav{padding:16px 12px;overflow:auto;flex:1}.main-nav p{font-size:10px;color:#85aaa5;margin:18px 12px 7px;letter-spacing:.4px}.main-nav a{color:#d6e5e3;text-decoration:none;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:11px;margin:3px 0;font-size:13px;transition:.2s}.main-nav a:hover,.main-nav a:focus-visible{background:rgba(255,255,255,.08);color:#fff}.main-nav a.active{background:linear-gradient(90deg,rgba(63,174,157,.33),rgba(63,174,157,.14));color:#fff;box-shadow:inset -3px 0 #58c0af}.main-nav a>span:first-child{width:23px;text-align:center;font-size:18px;color:#8fc2bb}.main-nav kbd{margin-right:auto;background:rgba(255,255,255,.08);border:0;color:#99bbb7;font-size:9px}.nav-badge{margin-right:auto!important;background:#e6a12e;color:#203c38!important;border-radius:12px;width:22px!important;height:19px;display:grid!important;place-items:center;font-size:10px!important}.sidebar-footer{display:flex;align-items:center;gap:10px;padding:18px 20px;border-top:1px solid rgba(255,255,255,.09);font-size:11px}.sidebar-footer div{display:flex;flex-direction:column}.status-dot{width:9px;height:9px;border-radius:50%;background:#4bd29e;box-shadow:0 0 0 5px rgba(75,210,158,.12)}.page-shell{width:calc(100% - 266px);margin-right:266px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:76px;background:rgba(255,255,255,.93);backdrop-filter:blur(10px);display:flex;align-items:center;padding:0 30px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topbar-title{display:flex;flex-direction:column}.topbar-title strong{font-size:14px}.topbar-title span{font-size:10px;color:var(--muted);margin-top:4px}.topbar-actions{margin-right:auto;display:flex;align-items:center;gap:12px}.clock{text-align:left;display:flex;flex-direction:column;padding-left:16px;border-left:1px solid var(--line)}.clock strong{font-size:14px}.clock span{font-size:9px;color:var(--muted);margin-top:3px}.icon-btn{border:0;background:transparent;cursor:pointer;display:grid;place-items:center}.notification{position:relative;border:1px solid var(--line);width:39px;height:39px;border-radius:12px;font-size:20px}.notification span{position:absolute;top:-5px;right:-5px;width:17px;height:17px;border-radius:50%;background:#dd5a52;color:#fff;font-size:9px;display:grid;place-items:center;border:2px solid #fff}.user-menu{display:flex;align-items:center;gap:9px;border:0;background:transparent;text-align:right;cursor:pointer;padding:4px}.user-menu>span:nth-child(2){display:flex;flex-direction:column}.user-menu strong{font-size:11px}.user-menu small{font-size:9px;color:var(--muted)}.user-menu b{color:#88928f}.avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#c9ebe4,#7fbaae);color:#123f3b;display:grid;place-items:center;font-size:11px;font-weight:bold}.menu-toggle{display:none;font-size:23px;margin-left:10px}main{padding:28px 30px 36px;max-width:1600px;width:100%;margin:0 auto}.dashboard-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}.eyebrow,.panel-kicker{font-size:10px;color:var(--brand);font-weight:bold}.dashboard-head h1{font-size:25px;margin:7px 0 6px}.dashboard-head p{color:var(--muted);margin:0;font-size:12px}.head-actions{display:flex;gap:8px}.btn-primary,.btn-secondary{border-radius:11px;padding:10px 15px;border:1px solid var(--line);font-family:inherit;font-size:11px;cursor:pointer}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 5px 14px rgba(12,105,97,.18)}.btn-primary:hover{background:#08564f}.btn-secondary{background:#fff;color:var(--ink)}kbd{font-family:Tahoma;font-size:8px;border:1px solid rgba(255,255,255,.28);border-radius:4px;padding:2px 4px;background:rgba(0,0,0,.08);color:inherit}.fiscal-banner{background:linear-gradient(100deg,#e8f5f2,#f7fbfa);border:1px solid #d7eae6;border-radius:var(--radius);padding:14px 18px;display:flex;align-items:center;gap:13px;margin-bottom:18px}.fiscal-icon{width:48px;height:48px;border-radius:14px;background:#fff;color:var(--brand);display:grid;place-items:center;font-weight:bold;box-shadow:0 3px 12px rgba(12,105,97,.09)}.fiscal-banner>div:nth-child(2){display:flex;flex-direction:column;gap:5px;min-width:310px}.fiscal-banner strong{font-size:12px}.fiscal-banner span{font-size:9px;color:var(--muted)}.fiscal-progress{height:6px;background:#d7e5e2;flex:1;border-radius:9px;overflow:hidden;margin-right:20px}.fiscal-progress i{display:block;height:100%;background:linear-gradient(90deg,#48b49e,#0c6961);border-radius:9px}.fiscal-banner>b{font-size:10px;color:var(--brand)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.metric-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;align-items:center;gap:12px;position:relative;box-shadow:var(--shadow);overflow:hidden}.metric-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--accent)}.metric-card.emerald{--accent:var(--brand)}.metric-card.blue{--accent:var(--blue)}.metric-card.amber{--accent:var(--amber)}.metric-card.violet{--accent:var(--violet)}.metric-icon{width:43px;height:43px;border-radius:13px;background:color-mix(in srgb,var(--accent) 12%,white);color:var(--accent);display:grid;place-items:center;font-size:20px}.metric-card>div:nth-child(2){display:flex;flex-direction:column}.metric-card span{font-size:9px;color:var(--muted)}.metric-card strong{font-size:18px;margin:5px 0 1px}.metric-card small{font-size:8px;color:var(--muted)}.metric-card em{position:absolute;left:15px;bottom:15px;color:#27866f;background:#e8f6f2;border-radius:9px;padding:4px 6px;font-style:normal;font-size:8px}.metric-card em.warn{color:#b27718;background:#fff5df}.dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:14px;margin-bottom:14px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel>header{padding:17px 19px 13px;display:flex;align-items:center;justify-content:space-between}.panel h2{font-size:13px;margin:5px 0 0}.legend{display:flex;gap:14px;font-size:9px;color:var(--muted)}.legend span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:3px;margin-left:5px}.legend .income:before{background:var(--brand)}.legend .expense:before{background:#8bcfc3}.chart{height:230px;display:flex;padding:10px 22px 30px 18px}.y-labels{display:flex;flex-direction:column;justify-content:space-between;color:#98a39f;font-size:8px;padding-bottom:18px}.bars{flex:1;display:flex;justify-content:space-around;align-items:flex-end;margin-right:12px;border-bottom:1px solid #e6ecea;background:repeating-linear-gradient(to bottom,#edf1f0 0,#edf1f0 1px,transparent 1px,transparent 25%)}.bars>div{height:100%;width:13%;display:flex;align-items:flex-end;justify-content:center;gap:4px;position:relative}.bars i,.bars b{display:block;width:17px;border-radius:5px 5px 2px 2px;background:linear-gradient(#28a18f,#0c6961)}.bars b{background:linear-gradient(#aadfd5,#65b5a7)}.bars span{position:absolute;bottom:-22px;font-size:8px;color:var(--muted);white-space:nowrap}.text-btn{border:0;background:none;color:var(--brand);font:10px Tahoma;cursor:pointer}.action-list{padding:0 13px 10px}.action-list a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);padding:11px 6px;border-top:1px solid #edf1f0}.action-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center}.action-icon.red{background:#fcebea;color:#c94d48}.action-icon.amber{background:#fff3dd;color:#c5871c}.action-icon.blue{background:#eaf2fc;color:#3972b7}.action-icon.green{background:#e7f6f1;color:#25866f}.action-list div{display:flex;flex-direction:column;gap:4px}.action-list strong{font-size:10px}.action-list small{font-size:8px;color:var(--muted)}.action-list time{margin-right:auto;color:#9aa3a0;font-size:8px}.documents-panel{overflow:hidden}.table-tools{display:flex;gap:8px}.table-tools label{border:1px solid var(--line);border-radius:10px;padding:7px 10px;display:flex;align-items:center;gap:6px}.table-tools input{border:0;outline:0;font:9px Tahoma;width:150px}.filter-btn{background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 11px;font:9px Tahoma}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th{background:#f8faf9;color:#74807d;font-size:9px;text-align:right;padding:10px 18px;border-block:1px solid var(--line)}th button{border:0;background:none;font:inherit;color:inherit;padding:0}td{padding:12px 18px;border-bottom:1px solid #eef2f1;font-size:9px}tbody tr:hover{background:#fbfdfc}.status{padding:5px 8px;border-radius:9px}.status.final{background:#e8f6f2;color:#297e6c}.status.pending{background:#fff3dd;color:#a97016}.status.draft{background:#eef1f1;color:#64716e}.table-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;color:var(--muted);font-size:8px}.table-footer button{border:1px solid var(--line);background:#fff;padding:5px 8px;font:8px Tahoma;color:var(--ink)}.table-footer button.active{background:var(--brand);color:#fff}.app-footer{margin-top:auto;padding:14px 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#9aa4a1;font-size:8px}.sidebar-backdrop{display:none}.document-dialog{border:0;border-radius:20px;padding:0;max-width:650px;width:calc(100% - 30px);box-shadow:0 25px 80px rgba(10,40,37,.3)}.document-dialog::backdrop{background:rgba(7,31,29,.5);backdrop-filter:blur(3px)}.document-dialog form>header,.document-dialog form>footer{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.document-dialog form>footer{border:0;border-top:1px solid var(--line);justify-content:flex-start;gap:8px}.document-dialog h2{font-size:16px;margin:5px 0}.form-hint{margin:16px 22px 0;padding:10px;border-radius:10px;background:var(--brand-soft);color:var(--brand);font-size:9px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:20px 22px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:10px}.form-grid label.wide{grid-column:1/-1}.form-grid input,.form-grid select{border:1px solid #dfe6e4;border-radius:10px;padding:11px;font:11px Tahoma;outline:0}.form-grid input:focus,.form-grid select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(12,105,97,.12)}.toast-message{position:fixed;left:20px;bottom:20px;z-index:100;background:#153f3b;color:#fff;border-radius:12px;padding:12px 16px;font-size:10px;transform:translateY(100px);opacity:0;transition:.25s}.toast-message.show{transform:none;opacity:1}@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.sidebar{transform:translateX(110%);transition:.25s}.sidebar.open{transform:none}.page-shell{width:100%;margin-right:0}.menu-toggle,.sidebar-close{display:grid}.sidebar-backdrop.show{display:block;position:fixed;inset:0;background:rgba(5,28,26,.45);z-index:25}.topbar{padding:0 18px}}@media(max-width:700px){html{font-size:14px}.topbar{height:66px}.topbar-title span,.clock,.user-menu>span:nth-child(2),.user-menu>b{display:none}main{padding:20px 14px}.dashboard-head{align-items:flex-start;gap:16px}.dashboard-head h1{font-size:20px}.dashboard-head p{display:none}.head-actions .btn-secondary{display:none}.fiscal-banner{align-items:flex-start;flex-wrap:wrap}.fiscal-banner>div:nth-child(2){min-width:0;flex:1}.fiscal-progress{order:4;width:100%;flex-basis:75%;margin:0}.metric-grid{grid-template-columns:1fr}.metric-card{min-height:98px}.table-tools label{display:none}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.app-footer{padding:12px 14px}.app-footer span:last-child{display:none}}
/* Authentication */
.logout-button { border: 0; border-radius: .55rem; padding: .4rem .7rem; color: #8f2727; background: #fff0f0; font: inherit; cursor: pointer; }
.login-page { min-height: 100vh; display: grid; place-items: center; padding: 1.5rem; background: linear-gradient(135deg,#0c3937,#17645d); }
.login-card { width: min(430px,100%); background: #fff; border-radius: 1.25rem; padding: 2rem; box-shadow: 0 24px 70px #061d1c66; }
.login-card h1 { margin: 0 0 .4rem; font-size: 1.55rem; }
.login-card .subtitle { color: #657573; margin-bottom: 1.5rem; }
.login-card label { display: block; margin: 1rem 0 .35rem; font-weight: 700; }
.login-card input { width: 100%; border: 1px solid #cbd8d6; border-radius: .65rem; padding: .75rem; font: inherit; }
.login-card .login-submit { width: 100%; margin-top: 1.3rem; padding: .75rem; border: 0; border-radius: .65rem; background: #126058; color: #fff; font: inherit; font-weight: 800; }
.validation-summary-errors { color: #a32222; background: #fff0f0; border-radius: .6rem; padding: .7rem; }
