:root{--bg: #f5f6f8;--panel: #ffffff;--panel2: #f4f2f6;--line: #e7e3ec;--txt: #2a2233;--muted: #6b7280;--brand: #c0185b;--brand-dark: #9d1149;--brand2: #2541e0;--violet: #7c3aed;--green: #16a34a;--red: #dc2626;--amber: #d97706;--grad: linear-gradient(120deg, #1b34d6 0%, #6a2bd0 50%, #c0185b 100%);--shadow: 0 1px 3px rgba(20,16,40,.07), 0 1px 2px rgba(20,16,40,.04);--shadow-md: 0 6px 20px rgba(20,16,40,.1);--radius: 14px;--input-bg: #ffffff;--brand-wash: #fbeef4;--density: 1}:root[data-theme=dark]{--bg: #131019;--panel: #1c1826;--panel2: #262130;--line: #34303f;--txt: #ece9f2;--muted: #9a93a8;--input-bg: #262130;--brand-wash: #2c1622;--shadow: 0 1px 3px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 8px 24px rgba(0,0,0,.5)}:root[data-theme=dark] .recharts-default-tooltip{background:var(--panel)!important;color:var(--txt)}*{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 45%,transparent) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 40%,transparent);border-radius:999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--muted) 65%,transparent);background-clip:padding-box}body{margin:0;font-family:Inter,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--txt);font-size:14px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}h1{font-size:22px;letter-spacing:-.01em}h2{font-size:18px;margin-top:28px}h3{font-size:15px}h4{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.app{display:flex;align-items:stretch;min-height:100vh}.sidebar{width:232px;flex:none;background:var(--panel);border-right:1px solid var(--line);box-shadow:var(--shadow);position:sticky;top:0;align-self:flex-start;height:100vh;display:flex;flex-direction:column;padding:18px 14px;gap:8px;transition:width .18s ease}.side-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.nav-collapse-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;transition:.15s}.nav-collapse-btn:hover{color:var(--brand);border-color:var(--brand);background:var(--brand-wash)}.nav-collapse-btn svg{width:16px;height:16px}.brand{display:flex;align-items:center;gap:10px;font-size:0;padding:6px 8px}.brand:before{content:"";width:116px;height:34px;flex:none;background:url(/assets/1-logo-header-D4ZOt7U2.svg) left center / contain no-repeat}.sidebar nav{display:flex;flex-direction:column;gap:14px;flex:1;overflow-y:auto}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group h4{margin:6px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.sidebar nav a{display:flex;align-items:center;gap:10px;color:var(--txt);padding:9px 12px;border-radius:9px;font-weight:600;font-size:13.5px;transition:.15s;border-left:3px solid transparent}.sidebar nav a svg{width:17px;height:17px;flex:none;opacity:.7}.sidebar nav a:hover{color:var(--brand);background:var(--brand-wash)}.sidebar nav a.active{color:var(--brand);background:var(--brand-wash);border-left-color:var(--brand)}.sidebar nav a.active svg{opacity:1}@media (min-width: 901px){html.nav-collapsed .sidebar{width:64px;padding-left:8px;padding-right:8px}html.nav-collapsed .side-head{justify-content:center}html.nav-collapsed .brand{display:none}html.nav-collapsed .nav-collapse-btn svg{transform:rotate(180deg)}html.nav-collapsed .nav-group h4{display:none}html.nav-collapsed .sidebar nav{gap:8px}html.nav-collapsed .sidebar nav a{justify-content:center;padding:9px 0;gap:0;border-left-width:0;position:relative}html.nav-collapsed .sidebar nav a.active{box-shadow:inset 3px 0 0 var(--brand)}html.nav-collapsed .sidebar nav a svg{opacity:.85}html.nav-collapsed .sidebar nav a span:not(.nav-badge){display:none}html.nav-collapsed .nav-badge{position:absolute;top:3px;right:9px;margin:0}html.nav-collapsed .userbox{align-items:center}html.nav-collapsed .userbox .role-badge,html.nav-collapsed .userbox-name{display:none}html.nav-collapsed .logout{width:36px;height:36px;padding:0;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:0}html.nav-collapsed .logout:before{content:"⏻";font-size:15px}}.nav-toggle,.nav-overlay{display:none}@media (max-width: 900px){.sidebar{position:fixed;z-index:40;transform:translate(-100%);transition:transform .2s;width:232px}.app.nav-open .sidebar{transform:translate(0)}.nav-collapse-btn{display:none}.nav-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#14102859;z-index:30;opacity:0;pointer-events:none;transition:opacity .2s}.app.nav-open .nav-overlay{opacity:1;pointer-events:auto}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;position:fixed;top:14px;left:14px;z-index:50;width:40px;height:40px;border-radius:10px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);font-size:18px}.content{padding-top:64px}}.userbox{display:flex;flex-direction:column;align-items:flex-start;gap:8px;color:var(--muted);font-size:13px;border-top:1px solid var(--line);padding-top:14px}.userbox-name{font-size:12px;color:var(--txt)}.logout{color:var(--brand);font-weight:600;padding:6px 14px;border:1px solid var(--brand);border-radius:999px;transition:.15s}.logout:hover{background:var(--brand);color:#fff}.content{padding:28px 32px;flex:1;min-width:0}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.tab-content{margin-top:6px}.year-nav{display:flex;align-items:center;gap:14px}.role-badge{font-size:11px;padding:3px 10px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);font-weight:700;letter-spacing:.02em}.role-admin{color:var(--brand);background:var(--brand-wash);border-color:#f1cfe0}.role-operations{color:var(--green);background:#e9f7ee;border-color:#c5ebd2}.role-finance{color:var(--amber);background:#fdf3e7;border-color:#f6dcb8}.role-viewer{color:var(--muted)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:18px 0}.cost-breakdown{color:var(--muted);font-size:13px;margin:6px 0}.month-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.month-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;cursor:pointer;transition:.18s;box-shadow:var(--shadow)}.month-card:hover{border-color:var(--brand);transform:translateY(-3px);box-shadow:var(--shadow-md)}.month-card.empty{opacity:.55;cursor:default;box-shadow:none}.mc-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.mc-head strong{font-size:15px}.mc-row{display:flex;justify-content:space-between;padding:3px 0;color:var(--muted);font-size:13px}.mc-row b{color:var(--txt)}.mc-empty{color:var(--muted);font-size:13px}.alert-dot{background:var(--brand);color:#fff;border-radius:999px;font-size:11px;padding:1px 7px;font-weight:700}.status{font-size:11px;padding:2px 9px;border-radius:999px;margin-left:auto;font-weight:700}.status-open{background:#e9f7ee;color:var(--green)}.status-closed{background:#fdeaea;color:var(--red)}.subtabs,.view-toggle,.recon-toggle{display:inline-flex;gap:4px;margin:20px 0;flex-wrap:wrap;align-items:center;background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:4px}.subtab,.vt,.rt{background:none;border:none;color:var(--muted);padding:7px 14px;cursor:pointer;border-radius:8px;font-size:13px;font-weight:600;transition:.15s}.subtab:hover,.vt:hover,.rt:hover{color:var(--txt)}.subtab.active,.vt.active,.rt.active{color:var(--brand);background:var(--panel);box-shadow:var(--shadow)}.view-toggle:has(input[type=search]){display:flex;width:100%;background:none;border:none;padding:0;border-radius:0;gap:6px}.view-toggle input[type=search]{margin-left:auto}.table-wrap{overflow:auto;max-height:calc(100vh - 200px);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}table.grid{width:100%;border-collapse:collapse;font-size:13px}table.grid th{background:var(--panel2);text-align:left;padding:11px 14px;color:var(--muted);font-weight:700;white-space:nowrap;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.03em;font-size:10.5px;position:sticky;top:0;z-index:2}table.grid td{padding:10px 14px;border-top:1px solid var(--line)}table.grid tbody tr:hover{background:var(--brand-wash)}table.grid th.num,table.grid td.num{text-align:right;font-variant-numeric:tabular-nums}.pos{color:var(--green)}.neg{color:var(--red)}.pn{white-space:nowrap}.pn-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.pn-ok{background:var(--green)}.pn-miss{background:#cbd5e1}.pn-alias{width:10px;height:10px;box-shadow:0 0 0 1px #60e71280}.pn-has-alias{cursor:help;box-shadow:0 0 0 2px #10b98140}.pn-tip{position:fixed;z-index:9999;background:var(--panel);border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0f172a29;padding:6px 0;min-width:120px;max-width:280px;font-size:12px;color:#334155;pointer-events:none}.pn-tip-h{font-weight:700;color:var(--crimson, #c0185b);text-transform:uppercase;font-size:10px;letter-spacing:.04em;padding:2px 12px 4px}.pn-tip-row{padding:3px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pn-tip-row+.pn-tip-row{border-top:1px solid #f1f5f9}.pn-tip-row{display:flex;justify-content:space-between;gap:18px}.pn-tip-row b{color:#0f172a}.cell-hop.has-bd{cursor:help;text-decoration:underline dotted #94a3b8;text-underline-offset:3px}.xero-conn{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.xero-dot{display:inline-block;width:9px;height:9px;border-radius:50%}.xero-on{background:var(--green)}.xero-off{background:#cbd5e1}.cyc{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}.cyc-sent{background:#e3f0ff;color:#1d4ed8}.cyc-lock{background:#fde8ef;color:var(--brand)}.cyc-wait{background:#fde8e8;color:#c0392b}.cyc-ok{background:#d8f3e0;color:#1c8a48}.cyc-manual{background:#eef0f3;color:#5b6675}button.cyc{border:none;cursor:pointer;font-family:inherit}button.cyc.conf-resend:hover{filter:brightness(.95);text-decoration:underline}.cyc-paid{background:#d8f3e0;color:#1c8a48}.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.th-sort:hover{color:var(--brand)}.th-sort .sort-i{margin-left:4px;opacity:.28;font-size:11px}.th-sort:hover .sort-i{opacity:.7}.th-sort .sort-i.on{opacity:1;color:var(--brand)}.xcontact{font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}.xcontact.xc-ok{background:#d8f3e0;color:#1c8a48}.xcontact.xc-warn{background:#fdf3e7;color:#b45309}.xd-row{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin-bottom:14px}.xd-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);font-weight:600}.xd-legal-row{position:relative}.xd-legal-row label{min-width:340px;max-width:480px;flex:1}.xd-results{position:absolute;top:100%;left:0;z-index:30;min-width:340px;max-width:480px;max-height:240px;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-md);margin-top:2px}.xd-res{display:block;width:100%;text-align:left;padding:8px 12px;border:none;background:none;cursor:pointer;font-size:13px;color:var(--txt)}.xd-res:hover{background:var(--brand-wash);color:var(--brand)}.xd-res+.xd-res{border-top:1px solid var(--line)}.xd-res-empty{padding:8px 12px;font-size:12px;color:var(--muted)}.fin-chase{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:12px 16px}.fin-chase label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted);font-weight:600}.fin-chase .fin-pn{min-width:220px}.fin-card>.hint{padding:0 16px 14px;margin:0}.fin-pubs-acc{margin:0;padding:0 16px 14px}.fin-pubs-acc>summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--brand);padding:6px 0;-webkit-user-select:none;user-select:none;list-style:none}.fin-pubs-acc>summary::-webkit-details-marker{display:none}.fin-pubs-acc>summary:before{content:"▸ "}.fin-pubs-acc[open]>summary:before{content:"▾ "}.pub-toggle{border:none;background:none;color:var(--brand);cursor:pointer;font-size:12px;padding:0 4px 0 0}.pub-srcs>td{background:var(--panel2);padding:8px 12px}.pub-srcs-tbl{margin:0}.pub-srcs-tbl th{font-size:10px}.nav-badge{margin-left:auto;background:var(--brand);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:999px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center}.notif-count{background:var(--brand);color:#fff;font-size:12px;font-weight:700;border-radius:999px;padding:3px 11px}.notif-sec{margin:20px 0 8px}.notif-wrap{display:flex;flex-direction:column;gap:10px}.notif{display:flex;align-items:flex-start;gap:13px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--panel);text-decoration:none;color:var(--txt);box-shadow:var(--shadow);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.notif:hover{border-color:var(--brand);transform:translateY(-1px);box-shadow:var(--shadow-md)}.notif:hover .notif-go{transform:translate(3px);color:var(--brand)}.notif-unread{background:var(--brand-wash)}.notif-ic{flex:none;width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-top:1px}.notif-ic-brand{background:var(--brand-wash);color:var(--brand)}.notif-ic-green{background:#e9f7ee;color:var(--green)}.notif-ic-amber{background:#fdf3e7;color:var(--amber)}.notif-ic-red{background:#fdeaea;color:var(--red)}.notif-ic-muted{background:var(--panel2);color:var(--muted)}:root[data-theme=dark] .notif-ic-green{background:#14251c}:root[data-theme=dark] .notif-ic-amber{background:#2a2113}:root[data-theme=dark] .notif-ic-red{background:#2a1518}.notif-ic-pulse{animation:notif-pulse 1.8s ease-in-out infinite}.notif-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.notif-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.notif-title{font-weight:700}.notif-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 8px}.notif-tag-brand{color:var(--brand);background:var(--brand-wash)}.notif-tag-green{color:var(--green);background:#e9f7ee}.notif-tag-amber{color:var(--amber);background:#fdf3e7}.notif-tag-red{color:var(--red);background:#fdeaea}.notif-tag-muted{color:var(--muted);background:var(--panel2)}:root[data-theme=dark] .notif-tag-green{background:#14251c}:root[data-theme=dark] .notif-tag-amber{background:#2a2113}:root[data-theme=dark] .notif-tag-red{background:#2a1518}.notif-body{color:var(--muted);font-size:13px}.notif-date{color:var(--muted);font-size:11px;margin-top:3px}.notif-go{flex:none;color:var(--muted);align-self:center;transition:transform .14s ease,color .14s ease}.notif-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:60px 20px;color:var(--muted);text-align:center}.notif-empty svg{color:var(--brand);opacity:.55;margin-bottom:4px}.notif-empty p{font-weight:700;color:var(--txt);margin:0}.notif-empty span{font-size:13px}@keyframes notif-pulse{0%,to{opacity:1}50%{opacity:.45}}.attn-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:6px}.attn{position:relative;min-width:160px;padding:15px 40px 15px 18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);text-decoration:none;box-shadow:var(--shadow);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.attn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--brand) 40%,var(--line))}.attn-high{background:var(--brand-wash);border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}.attn-n{font-size:27px;font-weight:800;color:var(--txt);line-height:1}.attn-high .attn-n{color:var(--brand)}.attn-l{font-size:12px;color:var(--muted);margin-top:6px}.attn-go{position:absolute;top:50%;right:14px;transform:translateY(-50%);color:var(--muted);opacity:.55;transition:transform .16s ease,color .16s ease,opacity .16s ease}.attn:hover .attn-go{transform:translateY(-50%) translate(3px);color:var(--brand);opacity:1}tr.row-locked td{background:var(--brand-wash)}.fin-card.fin-locked{border-color:#f3c6d8}table.grid tfoot tr.row-total td{background:var(--panel2);border-top:2px solid var(--line);position:sticky;bottom:0}.diff-high{color:var(--red);font-weight:700}table.grid tbody tr.row-confirmed{background:#eefaf1}table.grid tbody tr.row-confirmed:hover{background:#e3f6e9}table.grid tbody tr.row-confirmed .cell-edit{background:var(--input-bg)}table.grid tbody tr.row-paid{background:#eefaf1}table.grid tbody tr.row-paid:hover{background:#e3f6e9}table.grid tbody tr.row-paid .cell-edit{background:var(--input-bg)}table.grid tbody tr.row-partial{background:#fdf6ea}table.grid tbody tr.row-partial:hover{background:#fbeed6}table.grid tbody tr.row-partial .cell-edit{background:var(--input-bg)}.fin-card{border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:var(--shadow);margin-bottom:14px;overflow:hidden}.fin-head{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:12px 16px;background:var(--panel2);border-bottom:1px solid var(--line)}.fin-head .fin-adv{font-size:15px}.fin-head label{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--muted)}.fin-head .fin-kpi{font-size:12px;color:var(--muted)}.fin-head input.money-cell,.fin-head select{width:130px}.fin-pubs{margin:0}.dash-h{margin:22px 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:6px}.dash-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:18px 20px;display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--brand) 30%,var(--line))}.kpi-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.kpi-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:var(--brand-wash);color:var(--brand);opacity:.9;transition:transform .16s ease}.kpi:hover .kpi-ic{transform:scale(1.08)}.kpi.pos .kpi-ic{background:#e9f7ee;color:var(--green)}.kpi.neg .kpi-ic{background:#fdeaea;color:var(--red)}:root[data-theme=dark] .kpi.pos .kpi-ic{background:#14251c}:root[data-theme=dark] .kpi.neg .kpi-ic{background:#2a1518}.kpi-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.kpi-val{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.05}.kpi.pos .kpi-val{color:var(--green)}.kpi.neg .kpi-val{color:var(--red)}.kpi .spark{margin:0 -20px -18px;width:calc(100% + 40px);height:34px;display:block}.dash-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.bars{padding:12px 14px;display:flex;flex-direction:column;gap:7px}.bar-row{display:grid;grid-template-columns:110px 1fr 130px;align-items:center;gap:10px;font-size:12px}.bar-lbl{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{background:#f0eef2;border-radius:6px;height:14px;overflow:hidden}.bar-fill{display:block;height:100%;background:var(--brand);border-radius:6px}.bar-val{text-align:right;font-weight:600}.bar-val small{color:var(--muted);font-weight:400}.inv-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 18px;padding:12px 14px}.inv-meta>div{display:flex;flex-direction:column;font-size:13px}.inv-meta span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em}.partner-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px;max-width:920px;margin-bottom:18px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px 26px;box-shadow:var(--shadow)}.partner-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--muted)}.partner-form label input{width:100%;box-sizing:border-box}.partner-form>label:first-of-type{grid-column:1 / -1}.partner-form .chk-row{grid-column:1 / -1;display:flex;flex-direction:row;gap:24px;align-items:center;padding-bottom:4px;border-bottom:1px solid var(--line)}.partner-form .chk-row label.chk{flex-direction:row;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--txt)}.partner-form .chk-row label.chk input{width:auto}.partner-form>div:last-child{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:16px}@media (max-width: 720px){.partner-form{grid-template-columns:1fr}}.fin-pubs th{font-size:10px}.cell-edit{width:100%;min-width:70px;background:var(--input-bg);border:1px solid var(--line);color:var(--txt);border-radius:7px;padding:5px 7px}.cell-edit:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #c0185b24}.cell-edit.saved{border-color:var(--green)}.cell-edit.err{border-color:var(--red)}table.grid input.cell-edit{background:transparent;border-color:transparent;transition:background .12s,border-color .12s}table.grid td:hover input.cell-edit,table.grid input.cell-edit:focus{background:var(--input-bg);border-color:var(--line)}table.grid input.cell-edit:focus{border-color:var(--brand)}.st-wide{min-width:150px}select.cell-edit.st-wait,td.st-wait{color:var(--amber);font-weight:600}select.cell-edit.st-noreply,td.st-noreply{color:var(--muted);font-weight:600}table.grid th.col-am,table.grid td.col-am{position:sticky;left:0;z-index:1;width:92px;min-width:92px;max-width:92px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--panel)}table.grid th.col-name,table.grid td.col-name{position:sticky;left:92px;z-index:1;background:var(--panel);box-shadow:1px 0 0 var(--line)}table.grid thead th.col-am,table.grid thead th.col-name{z-index:3;background:var(--panel2)}table.grid tbody tr:hover td.col-am,table.grid tbody tr:hover td.col-name{background:var(--brand-wash)}table.grid tbody tr.row-confirmed td.col-am,table.grid tbody tr.row-confirmed td.col-name{background:#eefaf1}table.grid tbody tr.row-confirmed:hover td.col-am,table.grid tbody tr.row-confirmed:hover td.col-name{background:#e3f6e9}table.grid tbody tr.row-locked td.col-am,table.grid tbody tr.row-locked td.col-name{background:var(--brand-wash)}table.grid tfoot tr.row-total td.col-am,table.grid tfoot tr.row-total td.col-name{background:var(--panel2);z-index:3}:root[data-theme=dark] table.grid tbody td.col-am,:root[data-theme=dark] table.grid tbody td.col-name{background:var(--panel)}:root[data-theme=dark] table.grid tbody tr:hover td.col-am,:root[data-theme=dark] table.grid tbody tr:hover td.col-name{background:var(--brand-wash)}:root[data-theme=dark] table.grid tbody tr.row-confirmed td.col-am,:root[data-theme=dark] table.grid tbody tr.row-confirmed td.col-name{background:#15271d}.chips{display:inline-flex;gap:6px}.chip{font-size:12px;font-weight:600;padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;transition:.15s}.chip:hover{border-color:var(--brand);color:var(--brand)}.chip.active{background:var(--brand-wash);border-color:var(--brand);color:var(--brand)}.ads-act{text-align:center;width:44px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;transition:.15s}.icon-btn:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-wash)}@keyframes rowsave{0%{background:#d8f3e0}to{background:transparent}}table.grid tbody tr.row-saved td{animation:rowsave 1.1s ease}@media (prefers-reduced-motion: reduce){table.grid tbody tr.row-saved td{animation:none}}input,select,textarea{background:var(--input-bg);border:1px solid var(--line);color:var(--txt);border-radius:8px;padding:9px 11px;font-family:inherit;font-size:13px}input:focus,select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #c0185b24}button{cursor:pointer;font-family:inherit}.btn-sm{background:var(--panel);border:1px solid var(--line);color:var(--txt);border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;transition:.15s}.btn-sm:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-wash)}.btn-primary{background:var(--brand);color:#fff;border:none;border-radius:999px;padding:9px 18px;font-weight:700;transition:.15s}.btn-primary:hover{background:var(--brand-dark)}.btn-secondary{background:var(--panel);border:1px solid var(--line);color:var(--txt);border-radius:999px;padding:9px 16px;font-weight:600}.btn-ghost{background:none;border:none;color:var(--brand);font-weight:600;padding:6px 10px;border-radius:8px}.btn-ghost:hover{background:var(--brand-wash)}.btn-primary:active,.btn-sm:active{transform:translateY(1px)}.btn-primary:disabled,.btn-sm:disabled,button:disabled{opacity:.55;cursor:not-allowed}.btn-primary:focus-visible,.btn-sm:focus-visible,.btn-secondary:focus-visible{outline:none;box-shadow:0 0 0 3px #c0185b38}.skeleton,.table-wrap:empty{min-height:120px;border-radius:var(--radius);background:linear-gradient(90deg,var(--panel2) 25%,#ece9f0 37%,var(--panel2) 63%);background-size:400% 100%;animation:sk 1.2s ease-in-out infinite}@keyframes sk{0%{background-position:100% 0}to{background-position:0 0}}.add-row{display:flex;gap:8px;margin:16px 0;flex-wrap:wrap;align-items:center;padding:12px 14px;background:var(--panel2);border:1px solid var(--line);border-radius:10px}.add-row input,.add-row select{flex:1 1 130px;min-width:90px}.add-row .btn-primary{flex:0 0 auto}.alias-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}.alias-list li{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;font-size:13px}.alias-list li .btn-sm{margin-left:auto}.alias-list .plat{font-size:11px;color:var(--muted)}.hint{color:var(--muted);font-size:13px}.io-bar{display:flex;gap:10px;margin:16px 0;flex-wrap:wrap;align-items:center}.io-import{cursor:pointer}.split-bar label{display:inline-flex;gap:6px;align-items:center;font-weight:700;color:var(--muted)}.alerts{list-style:none;padding:0}.alerts li{padding:10px 14px;border-radius:10px;margin-bottom:7px;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--line)}.alerts li.sev-high{border-left-color:var(--red);background:#fef6f6}.alerts li.sev-info{border-left-color:var(--brand2);background:#f3f5ff}.alerts li.ok{border-left-color:var(--green);color:var(--muted)}:root[data-theme=dark] .alerts li.sev-high{background:#2a1a20}:root[data-theme=dark] .alerts li.sev-info{background:#1e2130}.alert{background:#fdf0f4;color:var(--brand-dark);border:1px solid #f3cfe0;padding:12px 16px;border-radius:10px}:root[data-theme=dark] .alert{background:#2c1622;color:#f9a8c9;border-color:#4a2338}.alert-ok{background:#e9f7ee;color:#1c8a48;border:1px solid #c5ebd2;padding:12px 16px;border-radius:10px}:root[data-theme=dark] .alert-ok{background:#15271d;border-color:#1f3a2a;color:#4ade80}.link-btn{background:none;border:none;color:var(--brand);font-weight:600;font-size:13px;cursor:pointer;padding:6px;text-align:center}.link-btn:hover{text-decoration:underline}.recon-panels{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.panel h3{margin-top:0}.panel select{width:100%;margin-bottom:12px}.kpi-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;gap:8px}.kpi-row input{width:130px}.chain{padding:11px 14px;border-radius:10px;margin:12px 0;font-weight:700;border:1px solid transparent}.chain-green{background:#e9f7ee;color:#15803d;border-color:#c5ebd2}.chain-red{background:#fdeaea;color:#b42318;border-color:#fbd5d5}.chain-amber{background:#fdf3e7;color:#b45309;border-color:#f6dcb8}.linked{list-style:none;padding:0}.linked li{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--line);flex-wrap:wrap}.linked li b{margin-left:auto}.lk-amt-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-right:4px}.linked .lk-name{font-weight:700}.linked .lk-note{flex-basis:100%}.linked .lk-note input{width:100%;font-size:12px}.recon-filters{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.recon-filters select,.recon-filters input{font-size:12px;padding:5px 7px}.recon-filters .rf-q{flex:1;min-width:90px}button.badge{border:none;cursor:pointer}.badge{font-size:11px;padding:3px 10px;border-radius:999px;font-weight:700}.badge-paid{background:#e9f7ee;color:#15803d}.badge-pending{background:#fdf3e7;color:#b45309}.badge-urgent{background:#fdeaea;color:#b42318}.badge-partial{background:#fdf3e7;color:#b45309}.lk-cb{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);margin-right:8px}.lk-cb input{width:90px}.plat{font-size:11px;padding:3px 9px;border-radius:999px;background:var(--panel2);font-weight:700}.plat-xeworks{color:var(--brand2);background:#eaeefe}.plat-attekmi{color:var(--violet);background:#f3effe}.plat-external{color:var(--muted);background:#eef0f3}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(-90deg,#a50050 9%,#0352b9)}.login-card{background:var(--panel);border-radius:18px;padding:36px 32px;width:360px;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 50px #14102847}.login-card h1{font-size:0;text-align:center;margin:0 0 12px}.login-card h1:before{content:"";display:block;width:168px;height:50px;margin:0 auto 4px;background:url(/assets/1-logo-header-D4ZOt7U2.svg) center / contain no-repeat}.login-card h1 span{font-size:13px;color:var(--muted);font-weight:600;display:block}.login-card label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted);font-weight:600}.login-card label.chk{flex-direction:row;align-items:center;gap:8px;color:var(--txt);font-weight:500}.login-card label.chk input{width:auto;margin:0}.login-card button{background:var(--brand);color:#fff;border:none;border-radius:999px;padding:12px;font-weight:700;margin-top:10px;transition:.15s}.login-card button:hover{background:var(--brand-dark)}dialog{background:var(--panel);color:var(--txt);border:none;border-radius:var(--radius);padding:0;width:min(560px,94vw);box-shadow:0 24px 60px #14102852}dialog::backdrop{background:#1e142d73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}dialog>form{display:flex;flex-direction:column;gap:16px;padding:26px 28px;max-height:86vh;overflow-y:auto}dialog>form h3{margin:0;font-size:18px;font-weight:700;color:var(--txt)}dialog>form h4{margin:8px 0 0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);border-top:1px solid var(--line);padding-top:14px}dialog>form>.hint{margin:-6px 0 0}dialog>form label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--muted)}dialog>form label input,dialog>form label select,dialog>form label textarea,dialog>form>input,dialog>form>select{width:100%;box-sizing:border-box}dialog>form label small{font-weight:400;text-transform:none;color:var(--muted)}dialog>form .chk-row{display:flex;flex-direction:row;gap:22px;align-items:center}dialog>form label.chk{flex-direction:row;align-items:center;gap:8px;font-size:13px;color:var(--txt);font-weight:500}dialog>form label.chk input{width:auto}dialog>form .subtabs{margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px;border-top:1px solid var(--line);padding-top:16px}.mono-id{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--muted)}.partner-form label select{width:100%;box-sizing:border-box}.toast{position:fixed;bottom:24px;right:24px;padding:13px 20px;border-radius:10px;transition:opacity .3s;z-index:100;color:#fff;box-shadow:var(--shadow-md);font-weight:600}.toast.ok{background:var(--green)}.toast.err{background:var(--red)}.nowrap{white-space:nowrap}.ld-trunc{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ld-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ld-wrap{max-height:70vh;overflow:auto}.ld-table{font-size:12px}.ld-table th,.ld-table td{white-space:nowrap}.ld-table th.ld-day{text-align:right;min-width:86px;padding:9px 10px}.ld-table th.ld-costpct,.ld-table td.ld-costpct{width:76px;min-width:76px;text-align:right}.ld-pct{width:62px;text-align:right;padding:5px 7px}.ld-table td.ld-cell{padding:4px 6px;text-align:right;min-width:86px}.ld-table th.ld-total,.ld-table td.ld-total{background:var(--panel2);min-width:110px;border-left:2px solid var(--line)}.ld-input{width:92px;text-align:right;background:transparent;border:1px solid transparent;padding:6px 7px;font-size:13px;border-radius:5px;display:block}.ld-input:hover{border-color:var(--line);background:var(--input-bg)}.ld-input:focus{border-color:var(--brand);background:var(--input-bg)}.ld-input.ld-imp{font-size:11px;color:var(--muted);padding:2px 7px;margin-top:1px}.ld-cell .ld-rev-v{font-size:13px}.ld-cell .ld-imp-v{font-size:11px;color:var(--muted)}.ld-cell.cell-manual{background:#fdf3e7;box-shadow:inset 3px 0 0 var(--amber)}.ld-cell.cell-manual .ld-input,.ld-cell.cell-manual .ld-rev-v,.ld-cell.cell-manual .ld-imp-v{font-weight:700;color:#b45309}.ld-viewbar{align-items:center;gap:8px}.ld-viewtoggle{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}.ld-viewtoggle .ld-vbtn{border:0;background:var(--panel);padding:6px 14px;font-size:13px;cursor:pointer;color:var(--muted)}.ld-viewtoggle .ld-vbtn+.ld-vbtn{border-left:1px solid var(--line)}.ld-viewtoggle .ld-vbtn.active{background:var(--brand);color:#fff;font-weight:600}.ld-view-revenue .ld-imp,.ld-view-revenue .ld-imp-v,.ld-view-impressions .ld-rev,.ld-view-impressions .ld-rev-v{display:none}.ld-view-impressions .ld-input.ld-imp{display:block;font-size:13px;color:inherit;padding:6px 7px;margin-top:0}.ld-view-impressions .ld-cell .ld-imp-v{font-size:13px;color:inherit}.ld-copy{cursor:copy}.ld-copy:hover{text-decoration:underline;text-decoration-style:dotted}.row-inactive{background:#f4f2f6}.row-inactive td{color:var(--muted)}.row-inactive td.ld-sticky{background:#f4f2f6}.row-inactive .ld-input{color:var(--muted)}.row-active,.row-active td.ld-sticky{background:#effaf2}.row-active:hover,.row-active:hover td.ld-sticky{background:#e3f6e9}.ld-act{width:64px;text-align:center}.ld-actwrap{display:inline-flex;align-items:center;gap:6px}.ld-toggle{padding:2px 8px;border-radius:999px}.ld-toggle.on{background:#d8f3e0;border-color:#9bdcb0;color:#1c8a48;font-weight:700}.ld-toggle.off{color:var(--muted)}.ld-bulkbar{position:sticky;left:0}.ld-sticky{position:sticky;background:var(--panel);z-index:4}thead .ld-sticky,.ld-table th.ld-sticky{z-index:6;background:var(--panel2)}.ld-table th.ld-sticky,.ld-table td.ld-sticky{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}.ld-table .ld-act{left:0;min-width:64px;max-width:64px}.ld-table .ld-c0{left:64px;min-width:100px;max-width:100px}.ld-table .ld-c1{left:164px;min-width:110px;max-width:110px}.ld-table .ld-c2{left:274px;min-width:70px;max-width:70px}.ld-table .ld-c3{left:344px;min-width:60px;max-width:60px}.ld-table .ld-c4{left:404px;min-width:160px;max-width:160px}.ld-table .ld-c5{left:564px;min-width:100px;max-width:100px}.ld-table .ld-c6{left:664px;min-width:90px;max-width:90px;box-shadow:2px 0 4px #1410280f}.hoppy-sub{font-weight:500;color:var(--muted);font-size:15px}.chat-wrap{display:flex;flex-direction:column;height:calc(100vh - 170px);min-height:380px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.chat-log{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.chat-msg{display:flex}.chat-user{justify-content:flex-end}.chat-bot{justify-content:flex-start}.chat-bubble{max-width:78%;padding:11px 15px;border-radius:14px;font-size:14px;line-height:1.5;white-space:normal;word-wrap:break-word}.chat-user .chat-bubble{background:var(--brand);color:#fff;border-bottom-right-radius:4px}.chat-bot .chat-bubble{background:var(--panel2);color:var(--txt);border-bottom-left-radius:4px}.chat-bubble code{background:#14102814;padding:1px 5px;border-radius:5px;font-size:12px}.chat-bubble ul{margin:6px 0;padding-left:20px}.chat-bubble li{margin:2px 0}.chat-thinking .chat-bubble{color:var(--muted);font-style:italic}.chat-err{color:var(--red)}.chat-samples{display:flex;flex-direction:column;gap:6px;margin-top:10px}.chat-sample{text-align:left;background:#fff;border:1px solid var(--line);color:var(--brand);border-radius:9px;padding:7px 11px;font-size:12.5px;font-weight:600;cursor:pointer;transition:.15s}.chat-sample:hover{border-color:var(--brand);background:var(--brand-wash)}.chat-input{display:flex;gap:10px;padding:12px 14px;border-top:1px solid var(--line);background:var(--panel)}.chat-input textarea{flex:1;resize:none;max-height:140px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;color:var(--txt)}.chat-input textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #c0185b24}.chat-input .btn-primary{align-self:flex-end}.pn-addable{cursor:pointer;background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline dotted var(--brand, #c0185b);text-underline-offset:2px}.pn-addable:hover{color:var(--brand, #c0185b)}.cell-hop.has-bd{cursor:help}.donut-wrap{position:relative}.donut-center{position:absolute;top:calc(50% - 20px);left:0;right:0;text-align:center;pointer-events:none;transform:translateY(-50%)}.donut-center span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.donut-center b{font-size:17px;color:var(--txt)}.recharts-default-tooltip{border-radius:8px!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-md);font-size:12px}.userbox-actions{display:flex;align-items:center;gap:8px}.theme-toggle{width:34px;height:34px;border-radius:999px;border:1px solid var(--line);background:var(--panel);cursor:pointer;font-size:15px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:.15s}.theme-toggle:hover{border-color:var(--brand);background:var(--brand-wash)}html.nav-collapsed .userbox-actions{flex-direction:column}:root[data-theme=dark] table.grid tbody tr.row-confirmed,:root[data-theme=dark] table.grid tbody tr.row-paid{background:#15271d}:root[data-theme=dark] table.grid tbody tr.row-confirmed:hover,:root[data-theme=dark] table.grid tbody tr.row-paid:hover{background:#1b3326}:root[data-theme=dark] table.grid tbody tr.row-partial{background:#2b2113}:root[data-theme=dark] table.grid tbody tr.row-partial:hover{background:#362a17}:root[data-theme=dark] .row-inactive,:root[data-theme=dark] .row-inactive td.ld-sticky{background:#211d2a;color:var(--muted)}:root[data-theme=dark] .row-active,:root[data-theme=dark] .row-active td.ld-sticky{background:#16271e}:root[data-theme=dark] .row-active:hover,:root[data-theme=dark] .row-active:hover td.ld-sticky{background:#1c3326}:root[data-theme=dark] .ld-cell.cell-manual{background:#2b2113}:root[data-theme=dark] .ld-cell.cell-manual .ld-imp-v,:root[data-theme=dark] .ld-cell.cell-manual .ld-rev-v,:root[data-theme=dark] .ld-cell.cell-manual .ld-input{color:#f0a13a}:root[data-theme=dark] .role-operations,:root[data-theme=dark] .status-open{background:#14251c;border-color:#1e3a2a}:root[data-theme=dark] .role-finance{background:#2a2113;border-color:#3a2e18}:root[data-theme=dark] .status-closed{background:#2a1518;border-color:#3a1e22}:root[data-theme=dark] .chat-sample{background:var(--panel2)}.sk{background:linear-gradient(90deg,var(--panel2) 25%,var(--line) 37%,var(--panel2) 63%);background-size:400% 100%;animation:sk 1.2s ease-in-out infinite}.cmdk-trigger{display:flex;align-items:center;gap:10px;width:100%;margin-bottom:10px;padding:9px 12px;border-radius:9px;border:1px solid var(--line);background:var(--panel2);color:var(--muted);cursor:pointer;font-size:13px;font-weight:600}.cmdk-trigger:hover{border-color:var(--brand);color:var(--brand)}.cmdk-trigger svg{width:16px;height:16px}.cmdk-kbd{margin-left:auto;font-size:10px;background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:1px 5px;color:var(--muted)}html.nav-collapsed .cmdk-trigger span,html.nav-collapsed .cmdk-kbd{display:none}html.nav-collapsed .cmdk-trigger{justify-content:center}[cmdk-overlay]{position:fixed;top:0;right:0;bottom:0;left:0;background:#14102873;z-index:200}.cmdk[cmdk-dialog]{position:fixed;z-index:201}.cmdk[cmdk-root]{position:fixed;top:14vh;left:50%;transform:translate(-50%);width:min(560px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md);overflow:hidden;z-index:201}.cmdk [cmdk-input]{width:100%;border:none;border-bottom:1px solid var(--line);background:var(--panel);color:var(--txt);font-size:15px;padding:16px 18px;outline:none;box-sizing:border-box}.cmdk [cmdk-list]{max-height:340px;overflow:auto;padding:8px}.cmdk [cmdk-group-heading]{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px 10px 4px;font-weight:700}.cmdk [cmdk-item]{display:flex;align-items:center;padding:9px 12px;border-radius:8px;font-size:13.5px;color:var(--txt);cursor:pointer}.cmdk [cmdk-item][data-selected=true]{background:var(--brand-wash);color:var(--brand)}.cmdk [cmdk-empty]{padding:18px;text-align:center;color:var(--muted);font-size:13px}html[data-density=compact] table.grid th{padding:6px 10px}html[data-density=compact] table.grid td{padding:4px 10px}html[data-density=compact] .cell-edit{padding:3px 6px}html[data-density=compact] .content{padding:18px 22px}html[data-density=compact] .kpi{padding:13px}.btn-sm,.btn-secondary,.btn-primary,.btn-ghost{cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease,color .14s ease}.btn-primary{box-shadow:0 2px 8px #c0185b47}.btn-primary:hover{box-shadow:0 4px 14px #c0185b5c;transform:translateY(-1px)}.btn-sm:hover,.btn-secondary:hover{transform:translateY(-1px)}.btn-secondary:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-wash)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;cursor:pointer}select:hover{border-color:var(--brand)}.cell-edit[type],select.cell-edit{cursor:pointer}select.cell-edit{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;padding-right:22px}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.content>*{animation:fade-up .28s ease both}.kpi{animation:fade-up .34s ease both}.kpi:nth-child(2){animation-delay:.04s}.kpi:nth-child(3){animation-delay:.08s}.kpi:nth-child(4){animation-delay:.12s}.kpi:nth-child(5){animation-delay:.16s}.kpi:nth-child(6){animation-delay:.2s}.notif{animation:fade-up .26s ease both}.nav-badge{animation:badge-pop .32s cubic-bezier(.34,1.56,.64,1) both}@keyframes badge-pop{0%{transform:scale(0)}to{transform:scale(1)}}.sidebar nav a svg{transition:transform .15s ease,opacity .15s ease}.sidebar nav a:hover svg{transform:scale(1.12)}.sidebar nav a.active svg{transform:scale(1.08)}@media (prefers-reduced-motion: reduce){.content>*,.kpi,.notif,.notif-ic-pulse,.nav-badge{animation:none!important}.btn-primary:hover,.btn-sm:hover,.btn-secondary:hover,.notif:hover,.sidebar nav a:hover svg,.sidebar nav a.active svg{transform:none}}.chart-tip{background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-md);padding:9px 11px;font-size:12.5px;min-width:140px}.chart-tip-lbl{font-weight:700;color:var(--txt);margin-bottom:6px}.chart-tip-row{display:flex;align-items:center;gap:8px}.chart-tip-dot{width:9px;height:9px;border-radius:3px;flex:none}.chart-tip-name{color:var(--muted)}.chart-tip-val{margin-left:auto;font-weight:700;color:var(--txt);font-variant-numeric:tabular-nums}.chart-tip-sub{color:var(--muted);font-size:11px;margin-top:5px;padding-left:17px}.btn-danger{background:var(--red);box-shadow:0 2px 8px #dc262647}.btn-danger:hover{background:#b91c1c;box-shadow:0 4px 14px #dc26265c}.app-dialog{max-width:460px}.issue-list{display:flex;flex-direction:column;gap:10px;max-width:980px}.issue-card{border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}.issue-head{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;padding:12px 14px;cursor:pointer;text-align:left;font:inherit;color:inherit}.issue-head:hover{background:var(--panel2)}.issue-title{font-weight:600;flex:1}.issue-meta{color:var(--muted);font-size:12px;white-space:nowrap}.issue-status{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}.issue-status.s-open{background:#fde8ef;color:#c0185b}.issue-status.s-in-progress{background:#fef3c7;color:#92400e}.issue-status.s-resolved{background:#d1fae5;color:#065f46}:root[data-theme=dark] .issue-status.s-open{background:#4a1830;color:#f9a8c9}:root[data-theme=dark] .issue-status.s-in-progress{background:#46330b;color:#fcd34d}:root[data-theme=dark] .issue-status.s-resolved{background:#0d3a2a;color:#6ee7b7}.issue-body{padding:0 14px 12px;border-top:1px solid var(--line)}.issue-desc{white-space:pre-wrap;margin:10px 0}.issue-shots{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.shot{position:relative;display:inline-flex;align-items:center}.shot-thumb{max-height:110px;max-width:180px;border:1px solid var(--line);border-radius:6px;cursor:zoom-in}.shot-del{position:absolute;top:-6px;right:-6px;border:1px solid var(--line);background:var(--panel);border-radius:999px;width:20px;height:20px;line-height:1;font-size:11px;cursor:pointer}.issue-actions{display:flex;align-items:center;gap:8px}.issue-dialog textarea{width:100%;resize:vertical}.guide{max-width:880px;line-height:1.55}.guide h2{margin:22px 0 8px;font-size:20px}.guide h3{margin:18px 0 6px;font-size:16px}.guide ul{margin:6px 0 10px 22px}.guide li{margin:3px 0}.guide p{margin:8px 0}.guide code{background:var(--panel2);padding:1px 5px;border-radius:4px;font-size:.92em}.guide .g-note{border-left:3px solid var(--brand);background:var(--panel2);padding:8px 12px;border-radius:0 8px 8px 0;margin:10px 0}.lk-amt-orig{color:var(--muted);font-weight:400;font-size:12px;margin-right:4px}.period-banner{display:flex;align-items:baseline;justify-content:flex-end;gap:10px;margin:0 0 2px}.period-banner .pb-lbl{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.period-banner .pb-val{font-size:26px;font-weight:800;color:var(--brand);letter-spacing:.01em;line-height:1}.ld-table th.ld-mnum,.ld-table td.ld-mnum{min-width:110px;background:var(--panel2)}.ld-table th.ld-mnotes,.ld-table td.ld-mnotes{min-width:170px;background:var(--panel2)}.ld-mnum .ld-input,.ld-mnotes .ld-input{display:block;font-size:13px;color:inherit;padding:6px 7px}.mp{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:12px 16px;margin-bottom:16px;display:flex;flex-direction:column;gap:8px}.mp-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mp-lbl{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;min-width:64px}.mp-src{display:inline-flex;align-items:baseline;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);text-decoration:none;color:inherit;font-size:13px;font-weight:600}.mp-src small{color:var(--muted);font-weight:400;font-size:11px}.mp-src.ok .mp-dot{color:#16a34a}.mp-src.warn .mp-dot{color:#d97706}.mp-src:hover{background:var(--panel2)}.mp-stepwrap{display:inline-flex;align-items:center;gap:8px}.mp-arrow{color:var(--muted)}.mp-step{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;border:1px solid var(--line);text-decoration:none;color:inherit;font-size:13px}.mp-step.ok{color:#16a34a;border-color:#16a34a44}.mp-step.warn{border-color:var(--brand)}.mp-step:hover{background:var(--panel2)}.mp-count{background:var(--brand);color:#fff;border-radius:999px;font-size:11px;padding:0 7px;line-height:17px}.alert-group{margin-bottom:6px}.alert-group summary{cursor:pointer;padding:8px 10px;border-radius:8px;font-weight:600}.alert-group summary:hover{background:var(--panel2)}.alert-group ul.alerts{margin:6px 0 4px 12px}.pn-nav{position:relative;display:inline-block}.pn-navname{border:0;background:none;font:inherit;color:inherit;cursor:pointer;padding:0}.pn-navname:hover{text-decoration:underline dotted;text-underline-offset:3px}.pn-menu{z-index:60;min-width:175px;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow-md);padding:4px}.pn-menu button{border:0;background:none;font:inherit;color:inherit;cursor:pointer;text-align:left;padding:7px 10px;border-radius:6px;white-space:nowrap}.pn-menu button:hover{background:var(--panel2)}.audit-info{position:relative;margin-left:6px}.audit-btn{border:0;background:none;cursor:pointer;color:var(--muted);font-size:12px;padding:0;opacity:.55}tr:hover .audit-btn{opacity:1}.audit-pop{z-index:60;min-width:260px;display:flex;flex-direction:column;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow-md);padding:10px 12px;font-weight:400}.audit-h{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.audit-row{display:flex;flex-direction:column;font-size:12.5px;border-top:1px solid var(--line);padding-top:5px}.audit-row small{color:var(--muted)}.issue-status.s-pending-review{background:#e0e7ff;color:#3730a3}:root[data-theme=dark] .issue-status.s-pending-review{background:#23264a;color:#a5b4fc}.row-finnum td,.row-finnum td.ld-sticky,.row-finnum td.col-am,.row-finnum td.col-name{background:#fef2f2}:root[data-theme=dark] .row-finnum td,:root[data-theme=dark] .row-finnum td.col-am,:root[data-theme=dark] .row-finnum td.col-name{background:#2a1a1e}
