:root{
  --bg:#fbfaf6;--panel:#fff;--text:#242424;--muted:#737373;--line:#e9e5dc;
  --peach:#ffb4a2;--mint:#b8f2d0;--lilac:#d6c2ff;--sky:#b9e6ff;--yellow:#ffe79a;
  --pink:#ffc7df;--shadow:0 8px 24px rgba(35,35,35,.06)
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}
.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.sidebar{padding:28px 18px;border-right:1px solid var(--line);background:#fffdf8;position:sticky;top:0;height:100vh;overflow:auto}
.brand h1{margin:0;font-size:24px;letter-spacing:-.03em}.brand p{margin:6px 0 24px;color:var(--muted);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.nav button{width:100%;border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:12px;margin:3px 0;color:#333;cursor:pointer}
.nav button.active{background:#ffe7df}.nav button:hover{background:#f7f2ea}.small{font-size:12px;color:var(--muted);margin-top:20px}
.main{padding:28px;min-width:0}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:24px}
.topbar h2{margin:0;font-size:32px;letter-spacing:-.03em}.subtitle{color:var(--muted);margin-top:6px}
.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:white;border-radius:12px;padding:10px 13px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.03)}
.btn.primary{background:#ffd8ce;border-color:#ffd8ce}.btn.mint{background:#dff8ea;border-color:#dff8ea}.btn.lilac{background:#eee7ff;border-color:#eee7ff}.btn:hover{transform:translateY(-1px)}
.workspace-select{min-width:190px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:white}
.grid{display:grid;gap:14px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow)}
.kpi .label{font-size:13px;color:var(--muted)}.kpi .value{font-size:28px;font-weight:700;margin:6px 0}
.kpi.peach{background:linear-gradient(135deg,#fff,#fff0ec)}.kpi.mint{background:linear-gradient(135deg,#fff,#eefcf4)}.kpi.lilac{background:linear-gradient(135deg,#fff,#f4efff)}.kpi.sky{background:linear-gradient(135deg,#fff,#effaff)}.kpi.yellow{background:linear-gradient(135deg,#fff,#fff9df)}
.section-head{display:flex;justify-content:space-between;align-items:center;margin:22px 0 10px}.section-head h3{margin:0;font-size:18px}.project-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.project-card h4{margin:0 0 6px}.meta{font-size:12px;color:var(--muted)}.progress{height:8px;background:#efede8;border-radius:999px;overflow:hidden;margin:12px 0}.progress>div{height:100%;background:linear-gradient(90deg,var(--mint),var(--sky))}
.status{font-size:12px}.two-col{grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr)}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.badge{padding:4px 8px;border-radius:999px;font-size:11px;background:#f3f1ec}.badge.high{background:#ffe1e1}.badge.med{background:#fff2c6}.badge.low{background:#e5f7ec}
.badge.paid{background:#dff8ea}.badge.sent{background:#e8f3ff}.badge.draft{background:#eee7ff}.badge.overdue{background:#ffe1e1}
.list{display:flex;flex-direction:column;gap:9px}.list-item{display:flex;gap:10px;align-items:flex-start}.quick-links a{display:block;color:#2c5c8f;text-decoration:none;margin:8px 0}
.view{display:none}.view.active{display:block}.timeline{overflow:auto}.timeline-row{display:grid;grid-template-columns:180px repeat(8,90px);align-items:center;min-width:900px;border-bottom:1px solid var(--line);min-height:42px}.timeline-row.head{font-size:11px;color:var(--muted);text-align:center}.timeline-label{font-size:13px}.bar{height:12px;border-radius:999px;background:var(--mint)}.bar.lilac{background:var(--lilac)}.bar.sky{background:var(--sky)}.bar.peach{background:var(--peach)}.bar.yellow{background:var(--yellow)}
.empty{color:var(--muted);font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid.three{grid-template-columns:1fr 1fr 1fr}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:white;color:var(--text)}textarea{min-height:100px;resize:vertical}
label{font-size:12px;color:var(--muted);display:block;margin-bottom:5px}.field{margin-bottom:10px}
.note-card{border-left:5px solid var(--lilac)}.money{font-variant-numeric:tabular-nums}
.invoice-preview{background:white;border:1px solid var(--line);border-radius:16px;padding:28px;max-width:850px;margin-top:14px}.invoice-preview h2{margin:0}.invoice-head{display:flex;justify-content:space-between;gap:20px}.invoice-total{font-size:28px;font-weight:700}.right{text-align:right}
@media(max-width:1100px){.kpis,.project-grid,.three-col{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}}
@media(max-width:760px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line)}.nav{display:grid;grid-template-columns:repeat(2,1fr)}.main{padding:18px}.kpis,.project-grid,.three-col{grid-template-columns:1fr}.topbar{flex-direction:column}.form-grid,.form-grid.three{grid-template-columns:1fr}}
@media print{
 body{background:white}.sidebar,.topbar,.no-print,.section-head,.kpis,.card:not(.invoice-print-card){display:none!important}
 .app{display:block}.main{padding:0}.view{display:none!important}#invoices.view{display:block!important}.invoice-print-card{border:none!important;box-shadow:none!important;padding:0!important}.invoice-preview{border:none!important;box-shadow:none!important;margin:0!important;max-width:none!important}
}