:root{--bg:#f5f6f8;--surface:#fff;--ink:#202d34;--muted:#7b858b;--line:#e7ebed;--accent:#257363;--accent-soft:#edf5f1;--sidebar:#182c2a;--radius:12px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}#sidebar{width:244px;position:fixed;inset:0 auto 0 0;background:var(--sidebar);color:#b9c8c4;padding:30px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:17px;font-weight:750;letter-spacing:1px;padding:0 10px}.brand-icon{background:#bdd6bf;color:#243e35;border-radius:10px;font-size:16px;padding:8px 6px;letter-spacing:-.5px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#a7bcb5;margin-top:2px}.workspace{margin:33px 6px 24px;border:1px solid #3b4d47;border-radius:7px;padding:10px;font-size:12px;display:flex;justify-content:space-between}.workspace span{font-size:9px;color:#c3d6aa;background:#344d40;padding:2px 5px;border-radius:4px}.nav-label{font-size:9px;letter-spacing:1.6px;margin:19px 14px 8px;color:#82998f}nav{overflow:auto}nav a{display:flex;gap:12px;align-items:center;padding:10px 13px;margin:3px 0;border-radius:7px;font-size:12px}nav a:hover{background:#263f37}nav a.active{background:#d6e6cf;color:#263d30;font-weight:650}nav a span:first-child{font-size:17px;width:20px;text-align:center}.sidebar-bottom{margin-top:auto;border-top:1px solid #3b4d47;padding:20px 8px 0;display:flex;gap:10px;font-size:12px}.sidebar-bottom small{display:block;color:#90a79e;font-size:10px}.avatar{display:inline-grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#e9dec6;color:#6a5837;font-weight:600;font-size:12px}.avatar.small{width:30px;height:30px;margin-left:20px}.shell{margin-left:244px}header{height:76px;background:#fff;border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.header-right{display:flex;align-items:center}.online{width:6px;height:6px;border-radius:50%;background:#5f9272;margin-right:7px}main{padding:32px 38px;max-width:1700px;margin:auto}h1{font-size:27px;font-weight:650;letter-spacing:-.9px;margin:0 0 5px}h2{font-size:16px;font-weight:650;margin:0}h3{font-size:14px}p{margin:5px 0 0}.muted{color:var(--muted)}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:20px}.page-head p{color:var(--muted);font-size:12px}.button{border:1px solid #dce2e0;background:white;color:var(--ink);padding:9px 15px;border-radius:7px;display:inline-flex;gap:8px;align-items:center;font-size:12px;font-weight:550}.button:hover{filter:brightness(.97)}.primary{background:var(--accent);border-color:var(--accent);color:white}.danger{color:#a64545}.actions{display:flex;gap:8px;flex-wrap:wrap}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--accent);font-weight:650;margin-bottom:8px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.kpi{padding:20px}.kpi-top{display:flex;justify-content:space-between;color:#65716f;font-size:11px}.kpi-icon{color:var(--accent);background:var(--accent-soft);border-radius:7px;padding:3px 8px}.kpi strong{font-weight:600;font-size:26px;letter-spacing:-.8px;display:block;margin:9px 0}.kpi small{font-size:10px;color:var(--muted)}.positive{color:var(--accent)!important}.dashboard-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:22px;margin-bottom:22px}.panel{padding:23px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.subtle{font-size:10px;color:var(--muted)}.chart{height:200px;display:flex;align-items:flex-end;gap:8%;padding:20px 20px 27px 40px;position:relative;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,transparent 0,transparent 48px,#eef1f1 49px,#eef1f1 50px)}.bar-group{flex:1;display:flex;justify-content:center;align-items:flex-end;height:100%;gap:5px;position:relative}.bar{width:19px;min-height:2px;background:#447b67;border-radius:4px 4px 0 0}.bar.light{background:#d6e3cc}.bar-group small{position:absolute;bottom:-24px;font-size:10px;color:var(--muted)}.legend{display:flex;gap:22px;font-size:10px;color:var(--muted);margin-top:20px}.dot{display:inline-block;width:7px;height:7px;background:#447b67;border-radius:50%;margin-right:6px}.dot.light{background:#d6e3cc}.category-row{margin:19px 0}.category-row>div{display:flex;justify-content:space-between;font-size:11px}.track{height:6px;background:#f1f3f2;border-radius:9px;margin-top:9px;overflow:hidden}.track i{height:100%;display:block;background:#6d947e;border-radius:9px}.welcome-strip{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px;background:#edf2e9;border:1px solid #dfe7d8;border-radius:12px;margin-bottom:24px}.welcome-strip h2{font-size:15px}.welcome-strip p{font-size:12px;color:#778270}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#87918e;background:#fafbfb;font-weight:500}th,td{padding:14px 18px;border-bottom:1px solid var(--line)}td{font-size:12px}tbody tr:last-child td{border:0}td small{display:block;color:var(--muted);font-size:10px}.badge{display:inline-block;font-size:10px;border-radius:5px;background:#edf4ee;color:#4a7556;padding:3px 8px}.badge.gray{background:#f0f1f3;color:#7c828a}.toolbar{padding:16px;display:flex;justify-content:space-between;gap:10px}.search{max-width:320px;width:100%}input,select,textarea{border:1px solid #dfe4e3;border-radius:6px;background:#fff;padding:9px 10px;min-width:0;color:var(--ink);width:100%;font-size:12px}input:focus,select:focus,textarea:focus{outline:2px solid #a8c5b4;outline-offset:1px}label{display:block;font-size:11px;color:#6c7873}label input,label select,label textarea{margin-top:6px}input[type=checkbox]{width:auto}textarea{min-height:75px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}dialog{border:1px solid var(--line);border-radius:14px;padding:26px;width:650px;max-width:calc(100% - 28px);max-height:90vh;box-shadow:0 20px 100px #10231f30}dialog::backdrop{background:#152c2855;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.icon-button{border:0;background:transparent;font-size:20px;color:var(--muted)}#menu{display:none}.calc-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.calc-main{display:grid;gap:20px}.section-number{border-radius:50%;background:var(--accent-soft);color:var(--accent);width:26px;height:26px;display:inline-grid;place-items:center;margin-right:8px;font-size:12px}.cost-row{display:grid;grid-template-columns:1fr 1.4fr 70px 85px 26px;gap:8px;margin:10px 0;align-items:end}.cost-row .icon-button{padding-bottom:7px}.summary{position:sticky;top:20px;height:fit-content}.summary-line{display:flex;justify-content:space-between;margin:16px 0;font-size:12px}.summary-total{border-top:1px solid var(--line);padding-top:17px;margin-top:20px}.summary-total strong{font-size:25px}.margin-box{padding:18px;background:#eef4ec;border-radius:8px;margin:20px 0}.margin-box strong{font-size:27px;display:block}.margin-box.bad{background:#fbecec;color:#a14747}.summary .button{width:100%;justify-content:center;margin-top:8px}.empty{text-align:center;padding:38px;color:var(--muted);font-size:12px}.activity-row{display:flex;gap:12px;border-bottom:1px solid var(--line);padding:15px 0;font-size:12px}.activity-row:last-child{border:0}.activity-mark{width:30px;height:30px;display:grid;place-items:center;background:var(--accent-soft);border-radius:8px;color:var(--accent)}footer{padding:15px 38px 25px;display:flex;justify-content:space-between;color:#9ba39f;font-size:9px;letter-spacing:.7px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#203e32;color:white;padding:12px 22px;border-radius:8px;display:none;z-index:50}.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.quote-sheet{background:white;padding:30px}.quote-sheet .totals{margin-left:auto;width:250px}.note{background:#f7f4eb;padding:12px;border-radius:7px;font-size:11px;color:#817243;margin:15px 0}.stat-mini{display:grid;grid-template-columns:1fr 1fr;gap:15px}.stat-mini strong{font-size:20px;display:block}.inline-link{color:var(--accent);font-size:11px;font-weight:600}.check-group{display:flex;gap:10px;flex-wrap:wrap;max-height:130px;overflow:auto}.check-group label{display:flex;align-items:center;gap:4px}.check-group input{margin:0}
@media(min-width:1450px){main{padding:40px 50px}.kpi{padding:24px}.chart{height:230px}}@media(max-width:1100px){#sidebar{width:210px}.shell{margin-left:210px}main{padding:25px}.kpis{grid-template-columns:repeat(2,1fr)}.calc-grid{grid-template-columns:1fr}.summary{position:static}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:700px){#sidebar{transform:translateX(-100%);transition:transform .2s;width:244px}body.nav-open #sidebar{transform:translateX(0)}.shell{margin-left:0}header{padding:0 18px;height:60px}#menu{display:block}main{padding:22px 16px}.header-right{font-size:10px}.page-head{align-items:flex-start;flex-direction:column;gap:15px}h1{font-size:25px}.kpis{gap:10px}.kpi{padding:15px}.kpi strong{font-size:23px}.panel{padding:17px}.welcome-strip{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr}.cost-row{grid-template-columns:1fr 1fr 50px 70px 22px;gap:4px}.cost-row input,.cost-row select{padding:8px 4px}footer{padding:15px 16px;gap:10px;font-size:8px}.header-right .avatar{margin-left:9px}.toolbar{flex-wrap:wrap}}
@media print{body{background:white}#sidebar,.shell, #toast{display:none!important}dialog[open]{display:block;position:static;max-height:none;max-width:none;width:100%;border:0;box-shadow:none;padding:0}dialog::backdrop{background:white}.no-print{display:none!important}.quote-sheet{padding:0}}
