:root{--ink:#122e36;--muted:#647981;--line:#e2e9eb;--primary:#096b67;--primary-2:#22b6a0;--background:#f3f6f7;--sidebar:#102c34;--good:#1f8a5b;--warn:#c27c12;--bad:#b45454;--card:#fff}
[hidden]{display:none!important}
*{box-sizing:border-box}
body{margin:0;background:var(--background);color:var(--ink);font:14px/1.9 Tahoma,Arial,sans-serif}
a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}
.ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* sidebar */
aside{width:248px;position:fixed;inset:0 0 0 auto;background:var(--sidebar);color:#c8dade;padding:24px 16px;display:flex;flex-direction:column;overflow-y:auto}
.brand{display:flex;gap:12px;align-items:center;color:white;margin-bottom:22px;padding:0 6px}.brand:hover{text-decoration:none}
.brand strong{font-size:19px}.brand small{display:block;letter-spacing:2px;font:10px/2 Arial;color:#a2b9be}
.logo{background:var(--primary-2);color:white;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;font-size:25px;font-weight:bold}
.nav-label{font-size:11px;color:#7f9ba3;padding:14px 12px 6px;letter-spacing:.3px;border-top:1px solid #1d3d46;margin-top:6px}
.nav-label:first-of-type{border-top:0;margin-top:0}
nav{display:grid;gap:2px}
nav a{display:flex;align-items:center;gap:10px;color:#b7ced3;padding:8px 12px;border-radius:8px;font-size:13px}
nav a .ic{opacity:.75}
nav a.active{background:#24515a;color:white;box-shadow:inset -3px 0 0 #54d4bd}nav a.active .ic{opacity:1;color:#7fe3cf}
nav a:hover{background:#1c4049;text-decoration:none}
.nav-account{margin-top:14px;border-top:1px solid #1d3d46;padding-top:10px}
.aside-bottom{margin-top:auto;font-size:11px;color:#90a9b0;padding:20px 10px 0}

/* layout */
.with-sidebar{margin-right:248px;padding:28px 34px}
.standalone{max-width:1060px;margin:auto;padding:36px 22px}
header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}
h1{font-size:24px;margin:0;font-weight:700;letter-spacing:-.5px}
h2{font-size:16px;margin:0 0 16px}h2 small{font-size:12px;font-weight:normal}
h3{font-size:14px;margin:0 0 8px;display:flex;align-items:center;gap:8px}
p{margin:8px 0 16px}
.eyebrow{font-size:11px;color:var(--muted);margin-bottom:3px}
.account{display:flex;align-items:center;gap:14px;font-size:12px}.account form{margin:0}
.who{display:flex;flex-direction:column;text-align:left;line-height:1.5}.who small{color:var(--muted);font-size:11px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:20px;box-shadow:0 3px 14px #17323d06}
.grid-2{display:grid;grid-template-columns:3fr 2fr;gap:20px}.grid-2>.card{min-width:0}
footer{font-size:10px;color:#95a5aa;text-align:center;padding:20px}

/* KPI cards */
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}
.small-kpis{grid-template-columns:repeat(4,1fr)}
.kpi{background:white;border:1px solid var(--line);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden;min-width:0}
.kpi:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:#9fb4ba}
.kpi.main:before{background:var(--primary-2)}.kpi.good:before{background:var(--good)}.kpi.warn:before{background:var(--warn)}.kpi.muted-kpi:before{background:#a28bd0}
.kpi span{color:var(--muted);font-size:12px}
.kpi strong{font-size:25px;line-height:1.3;font-weight:700;overflow-wrap:anywhere}
.small-kpis .kpi strong{font-size:20px}
.kpi strong small{display:inline;color:var(--muted);font-size:11px;font-weight:normal;margin-right:6px}
.kpi em{font-style:normal;font-size:11px;color:var(--muted)}
.kpi a{font-size:12px;margin-top:auto}
.kpi.main{background:linear-gradient(135deg,#0c5f5b,#0f7d72);color:white;border-color:#0c5f5b}
.kpi.main span,.kpi.main em,.kpi.main strong small{color:#c5ece4}
.kpi.warn strong{color:#8a5a0b}
.meter{width:100%;height:6px;transform:scaleX(-1)}.m-bg{fill:#e3ece9}.m-fill{fill:var(--good)}

/* alerts */
.alert{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #f0d9a8;background:#fff8e8;color:#7c5512;border-radius:10px;padding:10px 16px;margin-bottom:10px;font-size:13px}
.alert.info{border-color:#bcd7ee;background:#eef6fd;color:#2c5677}
.alert a{white-space:nowrap;font-weight:bold}

/* charts */
.chart{width:100%;height:auto;display:block;direction:ltr}
.chart .grid{stroke:#e8eef0;stroke-dasharray:3 4}.chart .base{stroke:#c9d6d9}
.chart .axis{font:10px Tahoma,Arial;fill:#86999f}
.chart .val{font:10px Tahoma,Arial;fill:#36585f}
.bar{fill:#7ccfc2}.bar.month{fill:#5fb8c9}.bar.today{fill:var(--primary)}.bar:hover{fill:#0b8f80}
.donut-wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.donut{width:150px;height:150px;flex:none}
.donut circle{fill:none;stroke-width:18}.d-bg{stroke:#eef2f3}
.seg-verified{stroke:#2fa36f;background:#2fa36f}.seg-pending{stroke:#e2b33c;background:#e2b33c}.seg-paid{stroke:#5d8fd8;background:#5d8fd8}.seg-failed{stroke:#d77070;background:#d77070}
.d-num{font:bold 22px Tahoma;fill:var(--ink)}.d-cap{font:10px Tahoma;fill:#86999f}
.legend{list-style:none;padding:0;margin:0;display:grid;gap:6px;flex:1;min-width:150px;font-size:12px}
.legend li{display:flex;align-items:center;gap:8px}.legend b{margin-right:auto}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none}
.dot.s-paid{background:var(--good)}.dot.s-rest{background:#f1c779}
.legend-line{font-size:11px;color:var(--muted);display:flex;gap:8px;align-items:center;margin:12px 0 0}

/* department bars */
.dep-bars{display:grid;gap:4px}
.dep-row{display:grid;grid-template-columns:minmax(120px,1.2fr) 3fr minmax(140px,1fr);gap:16px;align-items:center;padding:8px 10px;border-radius:9px;color:var(--ink)}
.dep-row:hover{background:#f3f8f7;text-decoration:none}
.dep-name small,.dep-nums small{display:block;color:var(--muted);font-size:10px}
.dep-nums{text-align:left}.dep-nums b{font-size:14px}
.stack{width:100%;height:10px;display:block;transform:scaleX(-1)}.s-paid{fill:var(--good)}.s-rest{fill:#f1c779}
.progress-cell{min-width:120px}.progress-cell small{color:var(--muted)}
td.due{color:#8a5a0b}
tr.inactive td{opacity:.55}
tr.highlight td{background:#fffaf0}
tr.ledger-out td{background:#f3faf6}

/* forms */
label{display:block;font-size:12px;color:#4b626a}
input,select{display:block;width:100%;min-height:40px;background:#fcfdfd;border:1px solid #cfdade;border-radius:7px;padding:8px 11px;margin:5px 0 14px;font:13px Tahoma,Arial;color:var(--ink)}
input:focus,select:focus{outline:2px solid #8fc8bf;outline-offset:1px}
input[type=checkbox],input[type=radio]{display:inline;width:auto;min-height:0;margin:0 5px;accent-color:var(--primary)}
input[type=password]{direction:ltr}
input[readonly]{background:#f3f7f6}
.help{display:block;margin:-10px 0 12px;font-size:11px;color:#8a9ba0}
select.compact{min-height:32px;width:auto;margin:0;padding:3px 8px;font-size:12px}
.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}
.filters.two{grid-template-columns:repeat(2,minmax(0,1fr))}.filters .full{grid-column:1/-1}
.form-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;grid-column:1/-1}
.more-filters{grid-column:1/-1;margin-bottom:12px}.more-filters[open]{padding:12px;border:1px dashed #cfdedc;border-radius:8px}
button,.button{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:white;border:1px solid transparent;border-radius:7px;padding:8px 18px;font:12px/1.8 Tahoma;cursor:pointer;gap:7px;text-decoration:none}
button:hover,.button:hover{background:#08544f;text-decoration:none}
.secondary{background:white;color:var(--primary);border-color:#cbdcda}.secondary:hover{background:#e8f2ef}
.quiet{background:transparent;color:var(--primary);padding:3px 8px}.quiet:hover{background:#e9f2f1}
.small-btn{padding:4px 12px;font-size:11px}
.block{display:flex;width:100%}
fieldset{border:1px solid var(--line);border-radius:12px;padding:14px 18px 4px;margin:0 0 16px}
legend{padding:0 8px;font-weight:bold;font-size:13px;display:flex;align-items:center;gap:8px}
.step{display:inline-flex;width:24px;height:24px;border-radius:50%;background:var(--primary);color:white;align-items:center;justify-content:center;font-size:12px}
.mode{display:flex;gap:18px;margin-bottom:10px;flex-wrap:wrap}
.check{padding-top:6px;display:flex;align-items:center;gap:4px}
.or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;margin:16px 0}.or:before,.or:after{content:"";flex:1;border-top:1px solid var(--line)}

/* misc */
.notice{border:1px solid #b4d8d0;background:#eaf6f1;color:#245f51;padding:14px 20px;border-radius:10px;margin-bottom:20px}
.notice.danger{background:#fff0ec;border-color:#edc7bb;color:#924b36}
.help-banner{display:flex;gap:14px;align-items:flex-start;background:#eef6f4;border:1px solid #cfe5df;border-radius:12px;padding:14px 18px;margin-bottom:20px}
.help-banner>.ic{width:28px;height:28px;color:var(--primary);margin-top:4px}
.help-banner div{flex:1}.help-banner p{margin:2px 0 0;font-size:12px;color:#45656a}.help-banner form{margin:0}
.muted{color:var(--muted)}.small{font-size:11px}.nowrap{white-space:nowrap}
.section-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.section-head h2,.section-head p{margin:0}
.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid #cfe0dd;border-radius:20px;padding:2px 12px;font-size:11px;background:white}.chip.on,.chip:hover{background:var(--primary);color:white;text-decoration:none}
.tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:14px}.tabs a{padding:6px 14px;border-radius:8px;background:white;border:1px solid var(--line);font-size:12px;color:#40606a}.tabs a.on{background:var(--primary);color:white;border-color:var(--primary)}.tabs a:hover{text-decoration:none}
.search-inline{display:flex;gap:6px;align-items:center}.search-inline input{margin:0;min-height:34px;width:240px}
.table-wrap{overflow:auto}
table{border-collapse:collapse;width:100%;text-align:right;font-size:12px}
th{font-size:11px;color:#658088;background:#f5f8f9;white-space:nowrap;font-weight:normal}
th,td{padding:11px 12px;border-bottom:1px solid #edf1f2;vertical-align:middle}
td small{display:block;color:#819198;font-size:10px;margin-top:3px}
td.number{font-weight:bold;white-space:nowrap}
.mono{direction:ltr;unicode-bidi:embed;font-family:Consolas,monospace;font-size:12px;overflow-wrap:anywhere}
pre{background:#f5f8f9;border:1px solid var(--line);border-radius:8px;padding:10px;overflow:auto;font:11px/1.6 Consolas,monospace;max-height:340px;text-align:left}
details.json summary{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.badge{display:inline-block;padding:2px 9px;border-radius:20px;background:#edf1f4;color:#5f707c;white-space:nowrap;font-size:10px}
.badge.verified{background:#e3f4eb;color:#21724d}.badge.pending{background:#fff4dc;color:#926922}.badge.paid{background:#e7effc;color:#3a62a3}.badge.failed{background:#fcebea;color:#b45454}.badge.test{background:#eee8fb;color:#7050a5}
.inline-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.inline-actions form{margin:0}
.empty{text-align:center;padding:40px;color:#7a9098}
.pagination{display:flex;justify-content:space-between;margin-top:16px}
.log-cell{max-width:360px;overflow-wrap:anywhere;font-size:11px}
dl{display:grid;grid-template-columns:150px 1fr;gap:8px 16px}dt{color:#829397;font-size:12px}dd{margin:0;overflow-wrap:anywhere}
.details{grid-template-columns:150px 1fr 150px 1fr}
summary{cursor:pointer;font-size:11px}details{position:relative}
.inline-actions details[open]{padding:10px;border:1px solid #d3e1df;border-radius:6px}

/* copy rows */
.copy-list{display:grid;gap:6px}
.copy-row{display:grid;grid-template-columns:220px 1fr auto;gap:12px;align-items:center;padding:8px 12px;background:#f6faf9;border:1px solid #e1ecea;border-radius:8px}
.copy-row span{font-size:12px;color:#4b626a}.copy-row code{font:12px Consolas,monospace;overflow-wrap:anywhere;text-align:left}
.copy-row .copy{gap:4px;font-size:11px}.copy-row .copy.done{color:var(--good)}
.connection{border-color:#9fd5c9;box-shadow:0 0 0 3px #d5efe8}

/* concepts */
.concept-diagram{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px;padding:16px;background:#f7fafa;border-radius:12px}
.node{border:1px solid #cfe0dd;background:white;border-radius:10px;padding:8px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;min-width:110px}
.node small{color:var(--muted);font-size:10px}.node .ic{color:var(--primary)}
.node.origin{background:#eef2fb;border-color:#cdd8f0}.node.activity{background:#e6f5f1;border-color:#9fd5c9}
.edge{font-size:10px;color:#7d9399;text-align:center;line-height:1.5}
.branch{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.concept-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.concept-grid article{border:1px solid var(--line);border-radius:12px;padding:14px}
.concept-grid article .ic{color:var(--primary)}
.concept-grid p{font-size:12px;color:#45656a;margin:4px 0 8px}.concept-grid small{display:block;font-size:11px;color:var(--primary);border-top:1px dashed var(--line);padding-top:6px}

/* timeline */
.timeline{display:flex;list-style:none;padding:0;margin:4px 0 20px;counter-reset:s}
.timeline li{flex:1;position:relative;padding-top:22px;text-align:center;font-size:12px;color:#8a9ba0}
.timeline li:before{content:"";position:absolute;top:5px;right:50%;width:12px;height:12px;margin-right:-6px;border-radius:50%;background:#dfe7e9;z-index:1}
.timeline li:after{content:"";position:absolute;top:10px;right:50%;width:100%;height:2px;background:#e3eaec}
.timeline li:last-child:after{display:none}
.timeline li.done{color:var(--ink)}.timeline li.done:before{background:var(--good)}.timeline li.fail:before{background:var(--bad)}
.timeline small{display:block;font-size:10px;color:var(--muted)}

/* login / standalone pages */
.login{max-width:440px;margin:45px auto;padding:34px}.login.wide{max-width:640px}
.login h2{margin-top:18px}.login .amount{font-size:30px;margin:20px 0}.amount small{font-size:13px;color:var(--muted)}
.login form button{margin:5px 0}.login .logo{width:52px;height:52px}

@media(max-width:1200px){.concept-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}}
@media(max-width:1100px){.kpis,.small-kpis{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.details{grid-template-columns:140px 1fr}.with-sidebar{padding:22px}.copy-row{grid-template-columns:1fr auto}.copy-row span{grid-column:1/-1}}
@media(max-width:760px){aside{position:static;width:100%;padding:14px 16px}.brand{margin-bottom:8px}nav{display:flex;overflow:auto;gap:3px}nav a{white-space:nowrap;padding:5px 10px}.nav-label{padding:8px 4px 4px;border:0}.nav-account{margin-top:6px;padding-top:4px}.aside-bottom{display:none}
.with-sidebar{margin:0;padding:16px}header{align-items:flex-start;flex-direction:column;gap:10px}h1{font-size:20px}.kpis,.small-kpis{grid-template-columns:1fr}.kpi strong{font-size:21px}.filters,.filters.two,.concept-grid{grid-template-columns:1fr}.card{padding:16px}.login{margin:20px auto}dl,.details{grid-template-columns:110px 1fr}.standalone{padding:16px}.dep-row{grid-template-columns:1fr;gap:4px}.dep-nums{text-align:right}.search-inline input{width:100%}.timeline{flex-direction:column;gap:6px}.timeline li{text-align:right;padding:0 22px 0 0}.timeline li:before{right:0;top:6px;margin:0}.timeline li:after{display:none}}

/* collapsible technical menu */
.nav-group{margin-top:12px;border-top:1px solid #1d3d46;padding-top:8px}
.nav-group summary{list-style:none;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;color:#9fbac0;font-size:12px;cursor:pointer;user-select:none}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary span{flex:1;line-height:1.5}.nav-group summary small{display:block;font-size:10px;color:#6f8d95}
.nav-group summary:hover{background:#1c4049}
.nav-group summary .ic:last-child{width:14px;height:14px;transition:transform .2s}
.nav-group[open] summary .ic:last-child{transform:rotate(180deg)}
.nav-group[open] summary{color:#d7e6e9}
.nav-group nav{margin:4px 8px 0 0;padding-right:6px;border-right:1px dashed #2a4f58}
.nav-group nav a{font-size:12.5px;padding:7px 10px}

/* analytics */
.report-head{display:grid;gap:12px}
.report-head .chips{margin-top:-2px}
.tabs.big{margin:0}.tabs.big a{display:flex;align-items:center;gap:8px;padding:9px 18px;font-size:13px}
.report-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:0 14px;align-items:end}
.report-filters label{margin:0}.report-filters .form-actions{grid-column:auto;padding-bottom:14px}
.period-note{margin:0}
.trend{display:inline-block;font-size:10px;padding:0 6px;border-radius:10px;white-space:nowrap;font-style:normal}
.trend.up{background:#e3f4eb;color:#1f7a4f}.trend.down{background:#fcebea;color:#b04848}.trend.flat{background:#eef1f3;color:#71848a}
.kpi.main .trend.up{background:#ffffff26;color:#d8fff0}.kpi.main .trend.down{background:#ffffff26;color:#ffd9d4}.kpi.main .trend.flat{background:#ffffff1f;color:#d6ebe6}
.spark{width:90px;height:24px;display:block;transform:scaleX(-1)}.spark polyline{fill:none;stroke:var(--primary-2);stroke-width:1.6;vector-effect:non-scaling-stroke}
.hbar{width:100%;height:8px;display:block;transform:scaleX(-1)}.hb-bg{fill:#edf2f3}.hb-fill{fill:#58c2b2}
.bar-cell{min-width:110px}.bar-cell small{color:var(--muted)}
.rank{display:grid;gap:2px}
.rank-row{display:grid;grid-template-columns:minmax(130px,1.3fr) 2.2fr minmax(90px,.8fr);gap:14px;align-items:center;padding:7px 8px;border-radius:9px;color:var(--ink)}
a.rank-row:hover{background:#f3f8f7;text-decoration:none}
.rank-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:1.5}.rank-name small{flex-basis:100%;color:var(--muted);font-size:10px;padding-right:30px}
.pos{display:inline-flex;width:22px;height:22px;border-radius:50%;background:#eef4f3;color:var(--primary);font-size:11px;align-items:center;justify-content:center}
.rank-val{text-align:left;font-weight:bold;font-size:13px}.rank-val small{display:block;font-weight:normal;font-size:10px;color:var(--muted)}
.bar.settled{fill:#f0a64b}.bar.settled:hover{fill:#d98a2b}
.chart .cum{fill:none;stroke:#2e5d8a;stroke-width:2;stroke-dasharray:4 3}
.line-key{display:inline-block;width:18px;border-top:2px dashed #2e5d8a}
.heat{width:100%;height:auto;max-height:190px;direction:ltr}
.cell{fill:#edf2f3}.cell.l1{fill:#c6ebe4}.cell.l2{fill:#86d3c5}.cell.l3{fill:#37ab98}.cell.l4{fill:#0b6f66}
i.cell{display:inline-block;width:11px;height:11px;border-radius:3px;background:#edf2f3}i.cell.l1{background:#c6ebe4}i.cell.l2{background:#86d3c5}i.cell.l3{background:#37ab98}i.cell.l4{background:#0b6f66}
tr.zero td{color:#a6b4b8}tr.friday td{background:#fafbfb}
tfoot td{font-weight:bold;background:#f5f8f9;border-top:2px solid #dfe8ea}
/* categorical palette */
.c0{stroke:#1aa391;fill:#1aa391;background:#1aa391}.c1{stroke:#3f7fd1;fill:#3f7fd1;background:#3f7fd1}.c2{stroke:#8a62c9;fill:#8a62c9;background:#8a62c9}.c3{stroke:#f0a64b;fill:#f0a64b;background:#f0a64b}
.c4{stroke:#e0697a;fill:#e0697a;background:#e0697a}.c5{stroke:#5bbad8;fill:#5bbad8;background:#5bbad8}.c6{stroke:#a3b545;fill:#a3b545;background:#a3b545}.c7{stroke:#9aa7ab;fill:#9aa7ab;background:#9aa7ab}
.donut circle.seg{fill:none}
@media(max-width:1100px){.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filters .form-actions{grid-column:1/-1}}
@media(max-width:760px){.nav-group nav{margin:4px 0 0;border:0;padding:0}.report-filters{grid-template-columns:1fr}.rank-row{grid-template-columns:1fr;gap:4px}.rank-val{text-align:right}.tabs.big a{padding:7px 12px}}
.quick-links{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.ql{display:flex;gap:12px;align-items:center;background:white;border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:var(--ink)}
.ql:hover{border-color:#9fd5c9;background:#f6fbfa;text-decoration:none}.ql .ic{width:26px;height:26px;color:var(--primary);background:#e6f5f1;border-radius:8px;padding:4px;flex:none}
.ql span{line-height:1.5}.ql small{display:block;color:var(--muted);font-size:11px}
@media(max-width:1100px){.quick-links{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.quick-links{grid-template-columns:1fr}}
.settle-mark line{stroke:#f0a64b;stroke-width:1.5;stroke-dasharray:3 3}.settle-mark circle{fill:#f0a64b;stroke:white;stroke-width:2}.settle-mark text{fill:#b06d17;font-weight:bold}

/* =====================================================================
   Design polish layer (v3): self-hosted Persian type, tinted neutrals,
   tinted shadows, motion and states. Same teal palette as before.
   ===================================================================== */
@font-face{font-family:VazirmatnFD;src:url(fonts/Vazirmatn-FD-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:VazirmatnFD;src:url(fonts/Vazirmatn-FD-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:VazirmatnFD;src:url(fonts/Vazirmatn-FD-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:VazirmatnFD;src:url(fonts/Vazirmatn-FD-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
:root{
  --font:VazirmatnFD,Tahoma,Arial,sans-serif;
  --ink:#12303a;--ink-2:#3f5a62;--muted:#6a8188;--line:#dfe8e9;--line-soft:#ebf1f1;
  --background:#f2f6f6;--surface:#fff;--surface-2:#f7fafa;
  --primary:#0c6b66;--primary-hover:#09564f;--primary-soft:#e4f3f0;--ring:#2fb3a1;
  --shadow-sm:0 1px 2px rgba(16,58,62,.06),0 1px 1px rgba(16,58,62,.04);
  --shadow-md:0 2px 4px rgba(16,58,62,.05),0 10px 24px -8px rgba(16,58,62,.12);
  --shadow-lg:0 4px 8px rgba(16,58,62,.06),0 22px 40px -14px rgba(16,58,62,.22);
  --r-lg:18px;--r-md:12px;--r-sm:8px;--ease:cubic-bezier(.2,.8,.2,1)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);font-size:14px;line-height:1.85;color:var(--ink);
  background:radial-gradient(1100px 520px at 85% -8%,#e2f1ee 0,transparent 62%),radial-gradient(900px 600px at -10% 110%,#e9f0f3 0,transparent 60%),var(--background);
  background-attachment:fixed;text-rendering:optimizeLegibility}
body:before{content:"";position:fixed;inset:0;background:url(noise.svg);opacity:.035;pointer-events:none;z-index:0}
main,aside{position:relative;z-index:1}
aside{position:fixed}
input,select,button,.button,textarea,.chart .axis,.chart .val,.d-num,.d-cap{font-family:var(--font)}
.mono,code,pre,.copy-row code{font-family:Consolas,"Cascadia Mono",monospace}

/* typography */
h1{font-size:27px;font-weight:700;letter-spacing:-.025em;line-height:1.35;text-wrap:balance}
h2{font-size:16px;font-weight:600;letter-spacing:-.01em;text-wrap:balance}
h3{font-weight:600}
p,.help-banner p,.concept-grid p{text-wrap:pretty}
.notice,.help-banner p{max-width:none}
.eyebrow{font-weight:500;color:var(--primary);letter-spacing:.02em}
label{font-weight:500;color:var(--ink-2)}
.kpi strong,td.number,.rank-val,.dep-nums b,table,.copy-row code{font-variant-numeric:tabular-nums}
.kpi strong{font-weight:700;letter-spacing:-.02em}
.kpi span{font-weight:500}
th{font-weight:500;color:#5b757c;letter-spacing:.01em}

/* layout container */
.with-sidebar{padding:30px clamp(18px,3vw,40px) 40px}
.with-sidebar>*{max-width:1440px;margin-left:auto;margin-right:auto}
.with-sidebar>header{margin-bottom:26px}

/* surfaces */
.card,.ql,.report-head{border-color:var(--line-soft);box-shadow:var(--shadow-sm);border-radius:var(--r-lg)}
.card{padding:22px 24px 24px}
.kpi{border-color:var(--line-soft);box-shadow:var(--shadow-sm);border-radius:var(--r-md);padding:18px 20px 20px}
.kpi:before{height:2px}
.kpi.main{background:radial-gradient(120% 140% at 100% 0,#13897e 0,transparent 55%),linear-gradient(160deg,#0c6b66,#0a5a56 70%,#0b4f4c);border-color:transparent;box-shadow:0 14px 30px -14px rgba(12,107,102,.55)}
.kpi.main:after{content:"";position:absolute;inset:0;background:url(noise.svg);opacity:.08;pointer-events:none;border-radius:inherit}
.kpi.muted-kpi:before{background:#93aab0}
.notice,.alert{border-radius:var(--r-md)}
.notice{border-color:#cde6df}
.help-banner{border-radius:var(--r-md);background:linear-gradient(90deg,var(--primary-soft),#f2f9f8)}
table{border-collapse:separate;border-spacing:0}
thead th{position:sticky;top:0;z-index:2;background:var(--surface-2);border-bottom:1px solid var(--line)}
tbody tr{transition:background-color .15s}
tbody tr:hover td{background:#f5faf9}
.badge{border-radius:6px;font-weight:500;padding:2px 8px}
.chip,.tabs a{transition:background-color .2s var(--ease),color .2s,border-color .2s,box-shadow .2s}
.tabs a:hover:not(.on){border-color:#bfdcd6;background:#f4faf9}
.tabs a.on,.chip.on{box-shadow:0 4px 12px -6px rgba(12,107,102,.6)}

/* sidebar */
aside{background:radial-gradient(420px 300px at 100% 0,#16404a 0,transparent 70%),var(--sidebar);box-shadow:-1px 0 0 #0b2229}
.logo{background:linear-gradient(150deg,#2cc2ac,#14998a);box-shadow:0 6px 16px -6px rgba(34,182,160,.7)}
nav a{transition:background-color .18s var(--ease),color .18s,transform .18s var(--ease);font-weight:500}
nav a:hover{transform:translateX(-2px)}
nav a.active{background:linear-gradient(90deg,#1f4a53,#285d66)}

/* buttons */
button,.button{font-weight:600;border-radius:var(--r-sm);transition:background-color .2s var(--ease),box-shadow .2s var(--ease),transform .12s var(--ease),border-color .2s;box-shadow:0 1px 2px rgba(12,107,102,.25)}
button:hover,.button:hover{background:var(--primary-hover);box-shadow:0 6px 16px -8px rgba(12,107,102,.7)}
button:active,.button:active{transform:translateY(1px) scale(.985);box-shadow:none}
.secondary,.quiet{box-shadow:none}
.secondary:hover{background:var(--primary-soft);border-color:#a9d4cc;box-shadow:none}
.quiet:hover{background:#e9f2f1;box-shadow:none}

/* inputs */
input,select{border-color:#d3dfe1;border-radius:var(--r-sm);transition:border-color .2s,box-shadow .2s,background-color .2s}
input:hover,select:hover{border-color:#b6cccf}
input:focus,select:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px rgba(47,179,161,.18);background:#fff}
input:user-invalid,select:user-invalid{border-color:#d58a7f;box-shadow:0 0 0 3px rgba(213,138,127,.15)}
input::placeholder{color:#a5b6ba}

/* focus + skip link */
:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
nav a:focus-visible,.nav-group summary:focus-visible{outline-color:#7fe3cf}
.skip-link{position:fixed;top:10px;right:10px;z-index:50;background:var(--primary);color:#fff;padding:8px 16px;border-radius:var(--r-sm);transform:translateY(-160%);transition:transform .2s var(--ease)}
.skip-link:focus{transform:none;text-decoration:none}
main:focus{outline:none}

/* interactive cards */
.ql,.dep-row,a.rank-row,.kpi{transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s,background-color .2s}
.ql:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.kpi:hover{box-shadow:var(--shadow-md)}
.kpi.main:hover{box-shadow:0 18px 34px -14px rgba(12,107,102,.6)}
.ql .ic{border-radius:10px}
.copy-row{border-radius:var(--r-sm);transition:border-color .2s,background-color .2s}
.copy-row:hover{border-color:#bfe0d9;background:#f1f9f7}

/* empty states */
td.empty,p.empty{color:var(--muted);background:repeating-linear-gradient(135deg,transparent 0 10px,rgba(12,107,102,.03) 10px 20px)}
p.empty{border:1px dashed var(--line);border-radius:var(--r-sm);padding:28px}

/* charts */
.chart .axis,.chart .val{font-size:10.5px}
.bar{transition:fill .15s}
.donut .seg{transition:stroke-width .2s}
.donut .seg:hover{stroke-width:22}

/* entry motion */
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.with-sidebar>.card,.with-sidebar>.kpis>.kpi,.with-sidebar>.grid-2>.card,.with-sidebar>.quick-links>.ql,.with-sidebar>.report-head{animation:rise .45s var(--ease) both}
.with-sidebar>.kpis>.kpi:nth-child(2),.with-sidebar>.quick-links>.ql:nth-child(2),.with-sidebar>.grid-2>.card:nth-child(2){animation-delay:.05s}
.with-sidebar>.kpis>.kpi:nth-child(3),.with-sidebar>.quick-links>.ql:nth-child(3){animation-delay:.1s}
.with-sidebar>.kpis>.kpi:nth-child(4),.with-sidebar>.quick-links>.ql:nth-child(4){animation-delay:.15s}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* standalone pages (login, SSO, upgrade, sandbox) */
.standalone .login{box-shadow:var(--shadow-lg);border-color:transparent}
.standalone .login h2{font-size:20px;letter-spacing:-.02em}
@media(max-width:760px){aside{position:static}.with-sidebar>*{max-width:none}h1{font-size:21px}body{background-attachment:scroll}}
.site-footer{display:flex;align-items:center;justify-content:center;gap:12px;padding:28px 16px 12px;margin-top:12px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:11px;text-align:right}
.site-footer img{width:40px;height:40px;object-fit:contain;opacity:.9}
.site-footer div{display:flex;flex-direction:column;line-height:1.6}
.site-footer b{font-size:12.5px;font-weight:600;color:var(--ink-2)}.site-footer span{font-size:11.5px;color:var(--ink-2)}.site-footer small{font-size:10px;color:#93a6ab}
.site-footer-text{display:flex;flex-direction:column;line-height:1.6}
.site-footer-text>div{display:block}
.sf-org{font-size:12.5px;font-weight:600;color:var(--ink-2)}.sf-unit{font-size:11.5px;color:var(--ink-2)}.sf-copy{font-size:10px;color:#93a6ab}
/* تسویه دوره‌ای */
.grid-2.equal{grid-template-columns:1fr 1fr}
.select-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:6px 0 12px}
label.inline{display:flex;align-items:center;gap:8px;margin:0}label.inline select{width:auto;min-height:32px;margin:0;padding:3px 8px}
.settle-table tr.done td{color:#7c9298}
.settle-table input[type=checkbox]{width:17px;height:17px}
.settle-form{margin-top:16px;padding:16px 18px;border:1px dashed #b9dbd3;border-radius:var(--r-md,12px);background:#f6fbfa}
.settle-sum{font-weight:600;margin-bottom:12px;color:var(--muted)}.settle-sum.has{color:var(--primary)}
.pager{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:14px}
.pager a{padding:3px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.pager a.on{background:var(--primary);color:#fff;border-color:var(--primary)}
.pager .gap{color:var(--muted)}.pager>span.muted{margin-right:auto}
.tx-filters{grid-template-columns:repeat(5,minmax(0,1fr)) auto}
.danger-btn{background:#b45454}.danger-btn:hover{background:#963f3f}
.void-box{margin-top:16px}
.doc-head{display:flex;gap:14px;align-items:center;margin-bottom:16px}.doc-head>div:first-of-type{flex:1}.doc-head b{font-size:12px;color:var(--muted)}.doc-head h2{margin:2px 0 0}
.signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;text-align:center;font-size:12px;color:var(--muted)}.signatures div{border-top:1px dashed #b8c8cb;padding-top:8px}
.maint-banner{display:flex;gap:10px;align-items:center;background:#fff5e0;border:1px solid #f0d49b;color:#7c5512;border-radius:12px;padding:10px 16px;margin-bottom:16px;font-weight:500}
@media(max-width:1100px){.tx-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2.equal{grid-template-columns:1fr}}
@media print{aside,.no-print,.skip-link,header .account,.tabs,.site-footer,.alert,.notice{display:none!important}.with-sidebar{margin:0;padding:0}.card{box-shadow:none;border:0}body:before{display:none}body{background:#fff}.print-doc{padding:0}}
.fee-note{display:block;font-weight:400;color:var(--muted);font-size:10px}
