:root{--accent:#ff7816;--bg:#f3f5f8;--border:#e8ecf1;--muted:#697386;--shadow:0 8px 30px #15223808,0 2px 6px #15223804}
body{font-family:'Segoe UI',Arial,sans-serif;background:var(--bg);color:#202a38}button,input,select,textarea{font-family:inherit}button{font-weight:600;transition:background .16s,box-shadow .16s,transform .16s;box-shadow:0 2px 4px #17223805}button:hover{box-shadow:0 4px 12px #17223810;transform:translateY(-1px)}button:disabled{transform:none;opacity:.55;cursor:default}.primary{background:linear-gradient(135deg,#ff8b2d,#ef6b10);border-color:#f17517;box-shadow:0 5px 13px #f1751729;color:#fff}.primary:hover{background:#eb6b12;box-shadow:0 7px 18px #f1751738}
.layout{grid-template-columns:248px 1fr}aside{background:linear-gradient(165deg,#171b20,#101215);border-right:1px solid #ffffff05;padding:22px 13px;box-shadow:4px 0 24px #15223808}.brand{padding:4px 12px 26px;border-bottom:1px solid #ffffff10;margin-bottom:20px}.brand img{width:54px;height:54px;object-fit:cover;box-shadow:0 0 0 1px #ff8b2d40}.brand strong{letter-spacing:2px;font-size:22px}.brand small{letter-spacing:1.6px;font-size:9px;color:#a4aab5}.navsection{margin:4px 0}.navsection summary{list-style:none;color:#929aa7;font-weight:600;font-size:11px;letter-spacing:.8px;text-transform:uppercase;padding:12px 13px;display:flex;align-items:center;justify-content:space-between}.navsection summary::-webkit-details-marker{display:none}.navsection summary:after{content:'';width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .15s}.navsection[open] summary:after{transform:rotate(45deg)}.navsection[open] summary{color:#e3e6ec}.navsection .navlink{margin:3px 0;font-size:12px;padding:11px 13px;display:flex;align-items:center;gap:11px;border-left:0;border-radius:8px;color:#aab2bf;line-height:1.4}.navsection .navlink.active{color:#ff9a4d;background:linear-gradient(90deg,#ff781622,#ff78160c);box-shadow:inset 3px 0 #ff7816}.navicon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.navlink svg{width:18px;height:18px}.navlink:hover{color:#fff;background:#ffffff09}
header{height:78px;border-bottom:1px solid #e8ecf1;background:#fff;box-shadow:0 3px 15px #15223803;padding:0 36px}header small{font-size:12px}.avatar{padding:11px;background:#fff1e6;color:#c45d15;border:1px solid #ffe1c9}.headright button{background:#f7f9fb;border-color:#edf0f4}main{padding:30px 36px}.eyebrow{color:#c46a24;font-size:10px;letter-spacing:1.8px}h1{font-size:30px;letter-spacing:-.7px;color:#202a38}h2{font-size:16px;letter-spacing:-.25px;color:#293345}.titlebar{margin-bottom:27px}.titlebar p{font-size:13px}.panel{border:1px solid #e8ecf1;border-radius:14px;box-shadow:var(--shadow);padding:25px;margin-bottom:24px}.metrics{gap:18px}.metric{border:1px solid #e8ecf1;border-radius:14px;padding:24px;box-shadow:var(--shadow);position:relative;overflow:hidden}.metric strong{font-size:29px;color:#263347;letter-spacing:-.8px;margin-top:18px}.metric small{font-size:12px;font-weight:600}.metric.accent{border-top:1px solid #e8ecf1}.metric.accent:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#ff9b51,#ef6b10)}.metric.accent{background:linear-gradient(120deg,#fff,#fff8f2)}.quick a{border:1px solid #e9edf2;background:linear-gradient(140deg,#fff,#f8fafc);padding:20px;border-radius:11px;display:flex;align-items:center;gap:13px;transition:box-shadow .15s,transform .15s;font-weight:600;color:#384456}.quick a:hover{box-shadow:0 5px 18px #1522380c;transform:translateY(-2px)}.quick a b{display:flex;padding:10px;background:#fff1e6;border-radius:10px;color:#e57721;margin:0}.quick a svg{width:22px;height:22px}.badge{border-radius:20px;padding:5px 9px;font-weight:600;font-size:10px}.badge.green{background:#e9f7ee;color:#27834e}.badge.gray{background:#eef1f5;color:#758094}.bottom{font-size:10px;color:#9098a5;padding:8px 0}
th{font-size:11px;font-weight:600;color:#8290a3;background:#f8fafc;letter-spacing:.2px}th,td{padding:15px 13px;border-color:#eef1f5}td{font-size:12px;vertical-align:middle}tbody tr:hover{background:#fcfdff}.toolbar{gap:10px}.toolbar input,select,input,textarea{border:1px solid #dfe5ed;border-radius:8px;padding:11px 12px;color:#354256;background:#fff;font-size:13px}.field{font-size:12px;color:#455166;gap:8px}.field textarea{line-height:1.7}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #ff781615;box-shadow:none;border-color:#f49550}.formgrid{gap:20px}.formactions{border-top:1px solid #eef1f5;padding-top:22px}.items h2{margin-top:25px}.itemrow{display:grid;grid-template-columns:110px minmax(180px,2fr) 90px 110px 110px auto;align-items:end;padding:18px;background:#fafbfd;border:1px solid #e8ecf1;border-radius:10px;gap:10px}.itemrow label:nth-child(6){grid-column:1/-1}.itemrow textarea{width:100%;min-height:68px}.itemrow button{min-height:34px}.itemrow label{font-size:11px;color:#657187}.itemrow input,.itemrow select{width:100%;margin-top:5px}.totals{border:1px solid #ffe3cc;background:linear-gradient(120deg,#fffaf6,#fff3e8);padding:20px}.totals strong{color:#d66716;font-size:25px}.report-subtotal{background:#f2f6fa;font-weight:700}.document-text{line-height:1.9;font-size:14px;margin:20px 0 35px}.backup-link{font-size:12px;color:#697386;text-decoration:underline;margin-left:auto}
.modalback{background:#101c30a6;backdrop-filter:blur(4px)}.modalbox{border:1px solid #e8ecf1;box-shadow:0 24px 80px #0c162f38;border-radius:16px;max-height:90vh;overflow:auto}.modalbox h2{font-size:20px}.modalbox .field{margin-top:16px}.auth{background:radial-gradient(ellipse at 20% 0,#493022 0,transparent 42%),radial-gradient(ellipse at 90% 100%,#283341 0,transparent 45%),#14181e}.authbox{width:min(440px,92vw);padding:38px;border-radius:20px;box-shadow:0 28px 90px #0005;border:1px solid #fff1;border-top:3px solid #ff7816}.authbox img{width:96px;box-shadow:0 5px 20px #0002}.authbox h1{font-size:24px}.authbox p{text-align:center;font-size:13px}.authbox button{height:45px}.authbox .error{text-align:left}.kanban{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.kanban .column{background:#eaf0f6;border:1px solid #e2e8f0}.kanban .card{box-shadow:0 3px 10px #15223807}.bars{gap:18px}.bar{background:linear-gradient(#ff9a48,#f0781e);box-shadow:0 4px 7px #f0781e15}.bar.out{background:linear-gradient(#b4bfce,#8794a8)}#toast{box-shadow:0 9px 35px #17223830;background:#233047;border-radius:11px}
@media(max-width:1200px){.layout{grid-template-columns:220px 1fr}main{padding:25px}.itemrow{display:flex;flex-wrap:wrap}.itemrow label{flex:1 1 140px}.itemrow label:nth-child(6){flex-basis:100%}.quick{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.layout{display:block}.panel{padding:18px}header{padding:0 16px}.metric{padding:19px}.metric strong{font-size:23px}.titlebar{flex-wrap:wrap}.authbox{padding:30px}.quick a{padding:14px;gap:9px}.quick a b{padding:8px}.headright{gap:9px}}
@media print{body{background:white}.panel,.metric{box-shadow:none;border:none}.toolbar,.titlebar>div:last-child,.backup-link{display:none!important}.document-text{font-size:12pt}.modalback{display:none!important}}
.form-group-heading{grid-column:1/-1;margin:12px 0 0;padding:0 0 12px;border-bottom:1px solid var(--border);font-size:15px}.form-group-heading:first-child{margin-top:0}.formactions button{min-height:42px}.numeric{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.report-filters{display:grid;grid-template-columns:minmax(200px,1.5fr) minmax(220px,2fr) repeat(3,minmax(145px,1fr));align-items:end;gap:16px}.report-filters .field{min-width:0}.report-filters [hidden]{display:none!important}.report-filters input,.report-filters select{min-width:0;width:100%}.report-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;grid-column:1/-1;padding-top:4px}.report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:20px 0}.report-summary .metric{margin:0}.report-head{display:flex;gap:20px;align-items:center;justify-content:space-between;margin:5px 0 20px}.report-head h2{margin-bottom:6px}.report-context{font-size:12px;line-height:1.8;color:var(--muted)}.report-table th{white-space:nowrap}.report-table td{max-width:320px;overflow-wrap:anywhere}.report-table tbody tr:nth-child(even){background:#fafbfd}.report-empty{padding:45px 20px;text-align:center;color:var(--muted)}.report-empty h2{margin-bottom:10px}
@media(max-width:1300px){.report-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.report-filters .field:nth-child(2){grid-column:span 2}}@media(max-width:720px){.report-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-filters .field:nth-child(1),.report-filters .field:nth-child(2){grid-column:1/-1}.report-head{align-items:flex-start;flex-direction:column;gap:8px}.report-actions button{flex:1}.report-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-summary .metric strong{font-size:20px;overflow-wrap:anywhere}.formactions{flex-wrap:wrap}}
@media print{.report-filters,.report-actions{display:none!important}.report-head{display:block}.report-context{color:#333;font-size:9pt}.report-summary{margin:10px 0;gap:12px}.report-summary .metric{padding:8px 0;border-bottom:1px solid #ddd}.report-summary .metric strong{font-size:16pt;margin:6px 0}.report-table{font-size:9pt}.report-table th,.report-table td{padding:8px 6px}.report-table thead{display:table-header-group}.report-table tr{break-inside:avoid}.tablewrap{overflow:visible}.report-table td{max-width:none;overflow-wrap:anywhere}.report-head h2{font-size:17pt}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.management-bars{overflow-x:auto;gap:15px}.management-bars .bar{width:13px;flex-shrink:0}.management-bars .barcol{min-width:58px}.management-bars .bar.forecast-income{background:linear-gradient(#ffbd8a,#ff9a48)}.management-bars .bar.actual-income{background:linear-gradient(#ff8b29,#d86310)}.management-bars .bar.forecast-expense{background:linear-gradient(#c8d1dd,#a3afbe)}.management-bars .bar.actual-expense{background:linear-gradient(#7d8ea5,#53657e)}.management-legend{display:flex;gap:8px 18px;flex-wrap:wrap;justify-content:center;margin:18px 0 10px}.management-legend .forecast-income{color:#e79553}.management-legend .actual-income{color:#d86310}.management-legend .forecast-expense{color:#8c9bad}.management-legend .actual-expense{color:#53657e}.chart-values{margin-top:20px;border-top:1px solid var(--border);padding-top:15px}.chart-values summary{font-size:12px;color:var(--muted);cursor:pointer;margin-bottom:15px}.button{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:12px;font-weight:600;margin-left:8px}.listline small,td>small{display:block;font-size:11px;color:var(--muted);margin-top:5px}

@media print{
 html:has(#report-results[data-report-print-layout="a4-landscape"]),
 body:has(#report-results[data-report-print-layout="a4-landscape"]){min-height:0;height:auto;page:auto}
 body:has(#report-results[data-report-print-layout="a4-landscape"]){font-size:9pt;color:#202a38}
 body:has(#report-results[data-report-print-layout="a4-landscape"]) .layout,
 body:has(#report-results[data-report-print-layout="a4-landscape"]) .shell{display:block;min-height:0;height:auto;min-width:0;width:100%;max-width:none;margin:0;padding:0}
 body:has(#report-results[data-report-print-layout="a4-landscape"]) main{width:100%;max-width:none;min-width:0;padding:0;margin:0}
 body:has(#report-results[data-report-print-layout="a4-landscape"]) main>.titlebar{display:none!important}
 body:has(#report-results[data-report-print-layout="a4-landscape"]) .report-panel{padding:0;margin:0;border:0;border-radius:0;box-shadow:none}
 #report-results[data-report-print-layout="a4-landscape"]{width:100%;min-width:0}
 #report-results[data-report-print-layout="a4-landscape"] .report-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8mm;align-items:start;margin:0 0 4mm;break-inside:avoid;break-after:avoid}
 #report-results[data-report-print-layout="a4-landscape"] .report-head h2{font-size:16pt;line-height:1.25;margin:0 0 2mm}
 #report-results[data-report-print-layout="a4-landscape"] .report-head p{font-size:9pt;line-height:1.4;margin:1mm 0;color:#303a47;overflow-wrap:anywhere}
 #report-results[data-report-print-layout="a4-landscape"] .report-head>p{white-space:nowrap}
 #report-results[data-report-print-layout="a4-landscape"] .report-context{font-size:9pt;line-height:1.4;margin:2mm 0;break-inside:avoid}
 #report-results[data-report-print-layout="a4-landscape"] .report-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3mm;margin:3mm 0 4mm;break-inside:avoid}
 #report-results[data-report-print-layout="a4-landscape"] .report-summary .metric{min-width:0;padding:2.5mm 3mm;margin:0;border:1px solid #dce1e7;border-radius:1.5mm;box-shadow:none;background:#fff;overflow:visible}
 #report-results[data-report-print-layout="a4-landscape"] .report-summary .metric::before{display:none;content:none}
 #report-results[data-report-print-layout="a4-landscape"] .report-summary .metric small{font-size:9pt;line-height:1.35;color:#465364;overflow-wrap:anywhere}
 #report-results[data-report-print-layout="a4-landscape"] .report-summary .metric strong{font-size:14pt;line-height:1.25;letter-spacing:0;margin:2mm 0 0;overflow-wrap:anywhere}
 #report-results[data-report-print-layout="a4-landscape"] .tablewrap{width:100%;max-width:100%;overflow:visible}
 #report-results[data-report-print-layout="a4-landscape"] .report-table{width:100%;max-width:100%;table-layout:fixed;font-size:9pt;line-height:1.35;border-collapse:collapse}
 #report-results[data-report-print-layout="a4-landscape"] .report-table col{width:var(--report-print-width)}
 #report-results[data-report-print-layout="a4-landscape"] .report-table th,
 #report-results[data-report-print-layout="a4-landscape"] .report-table td{min-width:0;max-width:none;padding:2mm 1mm;font-size:9pt;line-height:1.35;letter-spacing:0;vertical-align:top;white-space:normal;overflow:visible;overflow-wrap:anywhere;word-break:normal;border-bottom:1px solid #dce1e7;color:#202a38}
 #report-results[data-report-print-layout="a4-landscape"] .report-table th{font-weight:600;background:#f1f4f7}
 #report-results[data-report-print-layout="a4-landscape"] .report-table thead{display:table-header-group}
 #report-results[data-report-print-layout="a4-landscape"] .report-table tr{break-inside:avoid;page-break-inside:avoid}
 #report-results[data-report-print-layout="a4-landscape"] .report-table .badge{display:inline-block;max-width:100%;padding:.5mm 1mm;font-size:8.5pt;line-height:1.3;white-space:normal;overflow-wrap:anywhere;border-radius:1mm}
 #report-results[data-report-print-layout="a4-landscape"] .report-table td>small{font-size:9pt;line-height:1.35}
}

/* Shared chart palette: a series keeps the same color in bars and legends. */
:root{--chart-green:#16834a;--chart-red:#dc3545;--chart-yellow:#eab308;--chart-blue:#2563eb;--chart-purple:#7c3aed;--chart-cyan:#0891b2;--chart-pink:#db2777;--chart-orange:#ea580c}
.management-bars .bar.forecast-income,.management-legend .forecast-income{--chart-color:var(--chart-blue)}
.management-bars .bar.actual-income,.management-legend .actual-income{--chart-color:var(--chart-green)}
.management-bars .bar.forecast-expense,.management-legend .forecast-expense{--chart-color:var(--chart-yellow)}
.management-bars .bar.actual-expense,.management-legend .actual-expense{--chart-color:var(--chart-red)}
.management-bars .bar:is(.forecast-income,.actual-income,.forecast-expense,.actual-expense){background:var(--chart-color,var(--chart-blue));box-shadow:inset 0 0 0 1px #17223820,0 3px 6px #17223812;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.management-bars .bar.forecast-expense{box-shadow:inset 0 0 0 1px #8a6900,0 3px 6px #17223812}
.management-legend>span{display:inline-flex;align-items:center;gap:7px;color:#45536a!important}
.management-legend>span::before{content:'';display:inline-block;flex:0 0 11px;width:11px;height:11px;background:var(--chart-color);border-radius:3px;box-shadow:inset 0 0 0 1px #17223833;print-color-adjust:exact;-webkit-print-color-adjust:exact}
