:root{
  --bg:#f4f7fb;
  --surface:#ffffff;
  --surface-2:#f8fafc;
  --line:#dfe7f1;
  --line-soft:#edf2f7;
  --text:#122033;
  --muted:#66758a;
  --muted-2:#8b9aaf;
  --primary:#1f6feb;
  --primary-2:#0f5bd6;
  --primary-soft:#e8f1ff;
  --good:#0f9f6e;
  --good-soft:#e8f8f1;
  --bad:#d64545;
  --bad-soft:#fff0f0;
  --warning:#b7791f;
  --warning-soft:#fff7e6;
  --shadow:0 18px 45px rgba(20, 42, 80, .10);
  --shadow-soft:0 8px 22px rgba(20,42,80,.07);
  --radius:24px;
  --radius-md:18px;
  --sidebar:292px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(135deg,#f7fbff 0%,#eef4fb 45%,#f8fafc 100%);color:var(--text);font:14px/1.45 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:11px;color:var(--primary);margin:0 0 8px}.good{color:var(--good)!important}.bad{color:var(--bad)!important}.num{text-align:right;white-space:nowrap}.logo{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--primary),#65a2ff);color:#fff;font-weight:900;box-shadow:0 12px 26px rgba(31,111,235,.25)}.logo.xl{width:56px;height:56px;border-radius:18px;font-size:18px}.login-screen{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 20% 20%,#dbeafe 0,#f8fbff 36%,#eef4fb 100%)}.login-screen.active{display:flex}.login-wrap{width:min(1080px,100%);display:grid;grid-template-columns:1.25fr .75fr;gap:24px}.login-hero,.login-card{border:1px solid rgba(255,255,255,.85);background:rgba(255,255,255,.84);backdrop-filter:blur(18px);box-shadow:var(--shadow);border-radius:32px;padding:34px;position:relative;overflow:hidden}.hero-glow{position:absolute;width:420px;height:420px;right:-120px;bottom:-150px;border-radius:50%;background:radial-gradient(circle,rgba(31,111,235,.22),transparent 70%);pointer-events:none}.brand-line,.brand{display:flex;align-items:center;gap:14px}.brand-line b,.brand b{display:block;font-size:18px}.brand-line span,.brand span{display:block;color:var(--muted);font-size:12px}.login-hero h1{font-size:48px;line-height:1.02;margin:18px 0 14px;max-width:690px;letter-spacing:-.04em}.lead{font-size:18px;color:var(--muted);max-width:720px}.hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.hero-tags span,.pill,.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;color:var(--muted);font-weight:700;font-size:12px}.login-card h2{font-size:30px;margin:6px 0}.login-card label{display:block;color:var(--muted);font-weight:700;margin-top:18px}.login-card input,.form-grid input,.form-grid select,.filters input,.toolbar select,.upload-box input,.upload-box select{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);padding:12px 14px;outline:none;transition:.2s}.login-card input:focus,.form-grid input:focus,.filters input:focus,.toolbar select:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.primary-btn,.toolbar-btn,.link-btn,.ghost-btn,.action-btn,.form-grid button,.filters button,.upload-box button,.note-form button{border:0;border-radius:14px;padding:11px 15px;font-weight:850;background:var(--primary);color:#fff;box-shadow:0 10px 24px rgba(31,111,235,.22);transition:.18s}.primary-btn:hover,.toolbar-btn:hover,.link-btn:hover,.action-btn:hover,.form-grid button:hover,.filters button:hover,.upload-box button:hover{transform:translateY(-1px);background:var(--primary-2)}.primary-btn{width:100%;margin-top:22px}.ghost-btn{background:#fff;color:var(--text);border:1px solid var(--line);box-shadow:none}.link-btn{background:var(--primary-soft);color:var(--primary);box-shadow:none}.action-btn{padding:8px 10px;font-size:12px;box-shadow:none}.action-btn.danger{background:var(--bad-soft);color:var(--bad)}.login-error{margin-top:14px;color:var(--bad);font-weight:800}.demo-users{margin-top:18px;color:var(--muted-2);font-size:12px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-right:1px solid var(--line);padding:22px 18px;overflow:auto;z-index:10}.side-caption{margin:18px 4px 20px;color:var(--muted-2);font-size:10px;letter-spacing:.14em;font-weight:900}.nav-menu{display:flex;flex-direction:column;gap:16px}.nav-group{padding:10px;border:1px solid var(--line-soft);background:var(--surface-2);border-radius:20px}.nav-group-title{font-size:10px;color:var(--muted-2);font-weight:950;letter-spacing:.14em;text-transform:uppercase;margin:4px 8px 8px}.nav{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#42526a;padding:10px 10px;border-radius:14px;font-weight:800;text-align:left;margin:2px 0}.nav span{font-size:10px;color:var(--muted-2);min-width:24px}.nav:hover{background:#fff;color:var(--primary)}.nav.active{background:#fff;color:var(--primary);box-shadow:var(--shadow-soft)}.main{margin-left:var(--sidebar);padding:24px;min-height:100vh}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;background:rgba(255,255,255,.78);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-soft);border-radius:28px;padding:22px 24px;margin-bottom:16px}.topbar h1{font-size:34px;line-height:1.05;margin:0;letter-spacing:-.03em}.top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 18px}.toolbar select{width:auto;margin:0;min-width:170px}.view{display:none}.view.active{display:block}.hero-panel,.report-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#f7fbff 70%,#eaf3ff 100%);border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow);border-radius:30px;padding:28px;margin-bottom:18px}.hero-panel:after,.report-hero:after{content:"";position:absolute;right:-70px;top:-90px;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(31,111,235,.12),transparent 70%)}.hero-panel h2,.report-hero h2{font-size:34px;line-height:1.05;margin:0 0 10px;letter-spacing:-.035em;max-width:760px}.hero-metrics{display:grid;grid-template-columns:repeat(2,minmax(145px,1fr));gap:10px;min-width:320px;position:relative;z-index:1}.metric-mini{border:1px solid var(--line);background:#fff;border-radius:20px;padding:15px;box-shadow:var(--shadow-soft)}.metric-mini span,.card span{display:block;color:var(--muted);font-size:12px;font-weight:850}.metric-mini b,.card b{display:block;font-size:22px;margin-top:5px;letter-spacing:-.025em}.grid{display:grid;gap:16px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.kpi-grid.small{grid-template-columns:repeat(5,minmax(0,1fr))}.wide-left{grid-template-columns:1.25fr .75fr}.panel,.owner-sheet{background:var(--surface);border:1px solid var(--line-soft);box-shadow:var(--shadow-soft);border-radius:var(--radius);padding:20px;margin-bottom:16px}.accent-panel{border-color:#cfe1ff}.panel-head,.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.panel-head h2,.sheet-head h2{margin:0 0 4px;font-size:23px;letter-spacing:-.025em}.panel-head p,.sheet-head p{margin:0;color:var(--muted)}.panel-head>span{display:inline-flex;border-radius:999px;padding:7px 10px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-weight:850;font-size:12px}.card{background:#fff;border:1px solid var(--line-soft);border-radius:22px;padding:18px;box-shadow:var(--shadow-soft);min-height:118px}.card em{display:block;margin-top:8px;color:var(--muted);font-style:normal;font-size:12px}.chart{height:270px;display:flex;gap:9px;align-items:flex-end;padding:18px;border:1px solid var(--line-soft);border-radius:20px;background:linear-gradient(180deg,#fff,#f8fbff)}.bar-wrap{height:100%;display:flex;align-items:flex-end;gap:3px;flex:1;position:relative;padding-bottom:24px}.bar{width:45%;border-radius:10px 10px 3px 3px;background:linear-gradient(180deg,#7db1ff,#1f6feb);min-height:6px}.bar.profit{background:linear-gradient(180deg,#5fd9ae,#0f9f6e)}.bar.profit.neg{background:linear-gradient(180deg,#ff9c9c,#d64545)}.bar-label{position:absolute;bottom:0;left:0;right:0;text-align:center;color:var(--muted-2);font-size:11px}.alerts{display:grid;gap:10px}.alert{border:1px solid var(--line);background:var(--surface-2);border-radius:18px;padding:14px}.alert b{display:block;margin-bottom:4px}.alert span{color:var(--muted)}.alert.good{background:var(--good-soft);border-color:#b7ead4}.alert.warning{background:var(--warning-soft);border-color:#f1d18a}.alert.danger{background:var(--bad-soft);border-color:#ffc3c3}.section-card,.ref-card,.settings-card,.export-card,.step{display:block;text-decoration:none;color:var(--text);background:#fff;border:1px solid var(--line-soft);border-radius:22px;padding:18px;box-shadow:var(--shadow-soft)}.section-card p,.ref-card p,.step p{color:var(--muted)}.filters,.upload-box,.note-form{display:flex;gap:10px;align-items:center;margin:10px 0 16px}.filters input{margin:0;flex:1}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.form-grid input,.form-grid select{margin:0}.form-grid button{grid-column:auto}.table-wrap{width:100%;overflow:auto;border:1px solid var(--line-soft);border-radius:18px;background:#fff}table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}th{position:sticky;top:0;background:#f8fbff;z-index:1;color:#526276;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:12px;border-bottom:1px solid var(--line)}td{padding:11px 12px;border-bottom:1px solid var(--line-soft);vertical-align:top}tr:last-child td{border-bottom:0}td span{display:block;color:var(--muted);font-size:12px;margin-top:3px}tbody tr:hover:not(.report-section){background:#fbfdff}.report-table table{min-width:1180px}.report-table th:not(:first-child),.report-table td:not(:first-child){text-align:right;white-space:nowrap}.report-table th:first-child,.report-table td:first-child{min-width:330px}.report-section td{background:#eef5ff;border-top:1px solid #cfe1ff;border-bottom:1px solid #cfe1ff;font-weight:900}.report-section td:first-child{color:#123f7a}.report-result td{background:#f7fbff;font-weight:900}.report-control td{background:#fff7e6}.report-notes{margin-bottom:16px}.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.insight-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));min-width:410px;margin:0}.rules-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rules-grid>div{background:#fff;border:1px solid var(--line-soft);border-radius:18px;padding:14px}.rules-grid p{color:var(--muted);margin:7px 0 0}.ref-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chips{display:flex;gap:8px;flex-wrap:wrap}.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#eef2f7;color:#59687d;font-weight:850;font-size:12px}.status-chip.good{background:var(--good-soft);color:var(--good)}.status-chip.warning{background:var(--warning-soft);color:var(--warning)}.status-chip.danger{background:var(--bad-soft);color:var(--bad)}.empty{padding:24px;border:1px dashed var(--line);background:var(--surface-2);border-radius:18px;color:var(--muted);text-align:center}.risk-map{height:270px;display:flex;align-items:flex-end;gap:8px;padding:18px;border:1px solid var(--line-soft);border-radius:20px;background:#fff}.risk-column{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;border:0;background:transparent;color:var(--muted);font-size:10px;font-weight:850}.risk-column span{width:100%;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#ffd36b,#f59e0b);min-height:5px}.risk-column.good span{background:linear-gradient(180deg,#7be4bb,#0f9f6e)}.risk-column.danger span{background:linear-gradient(180deg,#ff9c9c,#d64545)}.object-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.object-status{text-align:right}.object-status b,.object-status span{display:block}.timeline,.steps,.exports-grid,.settings-cards{display:grid;gap:12px}.timeline-item,.status-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line-soft);background:#fff;border-radius:18px;padding:12px}.timeline-date{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-weight:900}.steps{grid-template-columns:repeat(3,minmax(0,1fr))}.step-num{width:34px;height:34px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:900}.exports-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.export-card b,.export-card span{display:block}.export-card span{color:var(--primary);font-weight:850;margin-top:8px}.owner-sheet{background:#fff;max-width:1120px;margin:auto}.log{white-space:pre-wrap;background:#0f172a;color:#dbeafe;border-radius:18px;padding:16px;overflow:auto}.company-form{grid-template-columns:repeat(5,minmax(0,1fr))}.closing-form{grid-template-columns:160px 180px 1fr 160px}@media(max-width:1180px){:root{--sidebar:248px}.kpi-grid,.four{grid-template-columns:repeat(2,minmax(0,1fr))}.two,.wide-left,.login-wrap{grid-template-columns:1fr}.hero-metrics,.insight-grid.compact{min-width:0;width:100%}.hero-panel,.report-hero{flex-direction:column;align-items:stretch}.rules-grid,.exports-grid,.steps,.ref-grid{grid-template-columns:1fr 1fr}.form-grid,.company-form{grid-template-columns:1fr 1fr}}@media(max-width:820px){.sidebar{position:static;width:auto;max-height:none}.main{margin-left:0;padding:14px}.topbar{flex-direction:column}.toolbar{overflow:auto;flex-wrap:nowrap}.toolbar select,.toolbar-btn{min-width:max-content}.login-wrap{grid-template-columns:1fr}.login-hero h1{font-size:36px}.hero-panel h2,.report-hero h2{font-size:28px}.rules-grid,.exports-grid,.steps,.ref-grid,.kpi-grid,.four,.form-grid,.company-form,.closing-form{grid-template-columns:1fr}.filters,.upload-box,.note-form{flex-direction:column;align-items:stretch}.panel-head{flex-direction:column}.top-actions{justify-content:flex-start}}@media print{body{background:#fff}.sidebar,.topbar,.toolbar,.login-screen,.link-btn,.ghost-btn,.primary-btn,.filters,.form-grid,.upload-box{display:none!important}.main{margin:0;padding:0}.panel,.owner-sheet,.hero-panel,.report-hero{box-shadow:none;border:1px solid #ddd;break-inside:avoid}.view{display:block}.view:not(.active){display:none}}

/* v1.0 · premium light polish */
:root{--surface-glass:rgba(255,255,255,.86);--ink-soft:#334155;--brand-grad:linear-gradient(135deg,#2563eb 0%,#0ea5e9 52%,#14b8a6 100%)}
body{background:radial-gradient(circle at 18% 4%,#eaf3ff 0,#f7fbff 26%,#f8fafc 60%,#eef4fb 100%)}
.sidebar{background:rgba(247,250,255,.92);backdrop-filter:blur(18px);border-right:1px solid rgba(203,213,225,.75)}
.brand .logo,.logo{background:var(--brand-grad);box-shadow:0 12px 26px rgba(37,99,235,.18)}
.nav-group{background:rgba(255,255,255,.56);border:1px solid rgba(226,232,240,.82);border-radius:22px;padding:10px;margin:0 0 12px}
.nav-group-title{padding-left:8px;color:#64748b;font-size:10px;letter-spacing:.12em}
.nav{border:1px solid transparent}.nav.active{border-color:#dbeafe;background:#ffffff}.nav span{background:#eff6ff;color:#2563eb}
.topbar,.hero-panel,.report-hero,.panel,.owner-sheet{background:var(--surface-glass);border-color:rgba(226,232,240,.9)}
.hero-panel,.report-hero{box-shadow:0 30px 70px rgba(15,23,42,.08)}
.card,.metric-mini,.section-card,.ref-card,.settings-card,.export-card,.step{border-color:#e6eef8;box-shadow:0 16px 42px rgba(15,23,42,.055)}
.primary-btn,.toolbar-btn,.link-btn{box-shadow:0 10px 20px rgba(37,99,235,.12)}
.dashboard-focus{margin-top:16px}.chip{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#eef6ff;color:#2563eb;font-weight:850;font-size:12px;margin:3px}
.good{color:#0f9f6e}.bad{color:#d64545}.warning{color:#b45309}

.report-formula{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:0 0 18px}.report-formula>div{background:#fff;border:1px solid #e5edf7;border-radius:18px;padding:14px;min-height:118px;box-shadow:0 12px 30px rgba(15,23,42,.045)}.report-formula b{display:grid;place-items:center;width:30px;height:30px;border-radius:11px;background:#eff6ff;color:#2563eb;margin-bottom:10px}.report-formula strong{display:block;font-size:14px;line-height:1.2}.report-formula span{display:block;margin-top:8px;color:#64748b;font-size:12px;line-height:1.35}
.report-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.report-block{background:#fff;border:1px solid #e6edf7;border-radius:24px;padding:18px;box-shadow:0 16px 42px rgba(15,23,42,.055)}.report-block.good{border-color:#bbf7d0}.report-block.warning{border-color:#fde68a}.report-block.danger{border-color:#fecaca}.report-block-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.report-block-head span{display:inline-flex;border-radius:999px;padding:5px 9px;background:#f1f5f9;color:#64748b;font-size:11px;font-weight:900;margin-bottom:8px}.report-block-head h3{margin:0;font-size:20px;letter-spacing:-.02em}.report-block-head p{margin:6px 0 0;color:#64748b}.report-block-head strong{font-size:22px;white-space:nowrap}.month-strip{height:92px;display:flex;align-items:flex-end;gap:6px;padding:12px;border:1px solid #eef2f7;border-radius:16px;background:linear-gradient(180deg,#ffffff,#f8fbff);margin-bottom:12px}.month-strip span{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px}.month-strip i{display:block;width:100%;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#60a5fa,#2563eb);min-height:6px}.month-strip i.neg{background:linear-gradient(180deg,#fca5a5,#ef4444)}.month-strip b{font-size:10px;color:#94a3b8}.report-lines{display:grid;gap:8px}.report-line{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-top:1px solid #eef2f7;padding-top:9px}.report-line:first-child{border-top:0}.report-line b{display:block}.report-line span{display:block;color:#64748b;font-size:12px;margin-top:2px}.report-line strong{white-space:nowrap}.control-title{margin:22px 0 12px;color:#475569}.control-blocks .report-block{background:#fffaf0}.raw-details{margin-top:18px}.raw-details summary{cursor:pointer;display:inline-flex;border-radius:999px;padding:10px 14px;background:#eff6ff;color:#2563eb;font-weight:900}.raw-details .table-wrap{margin-top:12px}.report-section.good td{background:#ecfdf5}.report-section.warning td{background:#fff7ed}.report-section.danger td{background:#fff1f2}.empty.small{padding:12px;font-size:12px}
.abc-mini{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.abc-mini>div{background:#fff;border:1px solid #e5edf7;border-radius:18px;padding:14px;box-shadow:0 10px 25px rgba(15,23,42,.045)}.abc-mini b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#eff6ff;color:#2563eb;margin-bottom:8px}.abc-mini span,.abc-mini em{display:block;color:#64748b;font-size:12px;font-style:normal}.abc-mini strong{display:block;font-size:17px;margin-top:3px}.abc-mini .loss b{background:#fff1f2;color:#dc2626}.abc-mini.big{margin-bottom:12px}.abc-note{margin-top:12px}.diagnosis-banner{display:flex;gap:12px;align-items:flex-start;border:1px solid #dbeafe;background:#eff6ff;border-radius:20px;padding:14px;margin:16px 0}.diagnosis-banner b{white-space:nowrap}.diagnosis-banner span{color:#334155}.diagnosis-banner.warning{background:#fff7ed;border-color:#fed7aa}.diagnosis-banner.danger{background:#fff1f2;border-color:#fecaca}.diagnosis-banner.good{background:#ecfdf5;border-color:#bbf7d0}
@media(max-width:1280px){.report-formula{grid-template-columns:repeat(3,minmax(0,1fr))}.report-blocks{grid-template-columns:1fr}.abc-mini{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.report-formula{grid-template-columns:1fr}.abc-mini{grid-template-columns:1fr}.report-block-head{flex-direction:column}.report-block-head strong{font-size:20px}.month-strip{overflow:auto}.month-strip span{min-width:32px}}

/* v1.1 · import master and data quality */
.import-master{border-color:#dbeafe}.import-box{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px;align-items:center}.import-section{background:#fff;border:1px solid #e6edf7;border-radius:22px;padding:16px;box-shadow:0 14px 34px rgba(15,23,42,.045);margin-bottom:16px}.panel-head.slim{margin-bottom:10px}.mini-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mini-stat{border:1px solid #e6edf7;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:18px;padding:14px}.mini-stat span{display:block;color:#64748b;font-size:12px;font-weight:850}.mini-stat b{display:block;margin-top:4px;font-size:24px;letter-spacing:-.025em}.mini-stat em{display:block;margin-top:4px;color:#94a3b8;font-style:normal;font-size:12px}.import-checks{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 16px}.check-chip{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-weight:900;border:1px solid #e2e8f0;background:#fff;color:#64748b}.check-chip.good{background:#ecfdf5;border-color:#bbf7d0;color:#0f9f6e}.check-chip.warning{background:#fff7ed;border-color:#fed7aa;color:#b45309}.rules-master-list{display:grid;gap:10px}.article-rule-card{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(190px,.9fr) minmax(210px,1fr) minmax(240px,1fr) auto auto auto;gap:10px;align-items:center;border:1px solid #e6edf7;background:#fff;border-radius:18px;padding:12px}.article-rule-card b,.article-rule-card span,.article-rule-card em{display:block}.article-rule-card span{color:#64748b;font-size:12px}.article-rule-card em{color:#94a3b8;font-style:normal;font-size:12px;margin-top:3px}.article-rule-card input:not([type="checkbox"]),.article-rule-card select{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;padding:10px 12px}.article-rule-card label{display:flex;align-items:center;gap:6px;color:#64748b;font-size:12px;font-weight:850;white-space:nowrap}@media(max-width:1200px){.import-box,.article-rule-card{grid-template-columns:1fr}.mini-stat-grid{grid-template-columns:1fr}.article-rule-card label{white-space:normal}}

/* v1.2 · object card intelligence */
.object-card-head.v12{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.object-section-title{margin:18px 0 10px}.object-section-title h3{margin:0;font-size:20px;letter-spacing:-.02em}.object-section-title p{margin:4px 0 0;color:var(--muted)}.object-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:12px 0 16px}.flow-step{position:relative;background:#fff;border:1px solid #e6edf7;border-radius:20px;padding:14px;box-shadow:0 12px 30px rgba(15,23,42,.045);min-height:138px}.flow-step:after{content:"";position:absolute;right:-10px;top:50%;width:18px;height:2px;background:#dbeafe}.flow-step:last-child:after{display:none}.flow-step span{display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:#eff6ff;color:#2563eb;font-weight:950;font-size:11px;margin-bottom:9px}.flow-step b{display:block;font-size:13px}.flow-step strong{display:block;font-size:19px;margin:6px 0 3px;letter-spacing:-.02em}.flow-step em{display:block;color:#64748b;font-style:normal;font-size:12px;line-height:1.3}.flow-step.good{border-color:#bbf7d0}.flow-step.bad{border-color:#fecaca;background:#fffafa}.inner-panel{background:#fff;border:1px solid #e6edf7;border-radius:22px;padding:16px;box-shadow:0 12px 30px rgba(15,23,42,.045);margin-bottom:16px}.inner-panel h3{margin:0 0 12px;font-size:18px;letter-spacing:-.015em}.risk-explain{display:grid;gap:10px}.risk-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:18px;padding:13px}.risk-card b{display:block}.risk-card p{margin:3px 0 0;color:#64748b}.risk-card strong{white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:6px 9px;color:#475569}.risk-card.good{background:#ecfdf5;border-color:#bbf7d0}.risk-card.warning{background:#fff7ed;border-color:#fed7aa}.risk-card.danger{background:#fff1f2;border-color:#fecaca}.bucket-list{display:grid;gap:10px}.bucket-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #eef2f7;border-radius:18px;padding:12px;background:linear-gradient(180deg,#fff,#f8fbff)}.bucket-row b,.bucket-row span,.bucket-row strong{display:block}.bucket-row span{color:#64748b;font-size:12px;margin-top:3px}.bucket-row strong{font-size:17px;white-space:nowrap}.bucket-row i{grid-column:1/-1;display:block;height:8px;border-radius:999px;background:#eaf1fb;overflow:hidden}.bucket-row i u{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#60a5fa,#2563eb);text-decoration:none}.cash-timeline{display:grid;gap:10px}.cash-row{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:12px;align-items:center}.cash-row b{font-size:12px;color:#475569}.cash-row strong{white-space:nowrap}.cash-bars{display:grid;gap:4px}.cash-bars span{display:block;height:9px;border-radius:999px;background:linear-gradient(90deg,#34d399,#0f9f6e);min-width:3px}.cash-bars span.expense{background:linear-gradient(90deg,#fca5a5,#ef4444)}.quality-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:start;border:1px solid #e6edf7;background:#f8fbff;border-radius:18px;padding:14px}.quality-card span,.quality-card em{display:block;color:#64748b;font-size:12px}.quality-card b{display:block;font-size:28px;letter-spacing:-.03em}.quality-card ul{margin:0;padding-left:18px;color:#64748b}.quality-card li{margin:3px 0}.object-details{border:1px solid #e6edf7;background:#fff;border-radius:22px;padding:14px 16px;margin:14px 0;box-shadow:0 12px 30px rgba(15,23,42,.04)}.object-details summary{cursor:pointer;font-weight:950;color:#2563eb}.object-ops-tabs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}@media(max-width:1380px){.object-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-step:after{display:none}}@media(max-width:920px){.object-card-head.v12,.risk-card{flex-direction:column}.object-flow,.object-ops-tabs{grid-template-columns:1fr}.quality-card{grid-template-columns:1fr}.cash-row{grid-template-columns:1fr}.cash-row strong{text-align:left}}

/* v1.2.1: object analysis entry points */
.object-open-btn{white-space:nowrap;background:#1f6feb;color:#fff;border-radius:12px;padding:9px 12px;font-weight:950}
.quick-object-panel{border-color:#cfe1ff;background:linear-gradient(135deg,#fff 0%,#f7fbff 100%)}
.object-quick-picks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.object-pick{text-align:left;border:1px solid #dbe7f6;background:#fff;border-radius:20px;padding:14px;box-shadow:0 12px 28px rgba(15,23,42,.045);color:#172033;transition:.18s}
.object-pick:hover{transform:translateY(-1px);border-color:#1f6feb;box-shadow:0 18px 36px rgba(31,111,235,.12)}
.object-pick span,.object-pick em,.object-pick strong{display:block}
.object-pick span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#64748b;font-weight:950}
.object-pick b{display:block;font-size:18px;margin:5px 0 6px}
.object-pick em{font-style:normal;color:#64748b;font-size:12px}
.object-pick strong{margin-top:10px;color:#1f6feb;font-size:12px}
.object-pick.danger{border-color:#fecaca;background:#fff7f7}
.object-pick.warning{border-color:#fed7aa;background:#fffaf0}
.object-pick.good{border-color:#bbf7d0;background:#f8fffb}
@media(max-width:1180px){.object-quick-picks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.object-quick-picks{grid-template-columns:1fr}}

.loading-card{border:1px solid #dbeafe;background:#eff6ff;border-radius:22px;padding:18px;color:#1e3a8a}.loading-card b,.loading-card span{display:block}.loading-card span{margin-top:5px;color:#64748b}.error-card{border:1px solid #fecaca!important;background:#fff1f2!important;color:#991b1b}.error-card b,.error-card span{display:block}.error-card span{margin:6px 0 12px;color:#991b1b}.object-open-btn{position:relative;z-index:3;pointer-events:auto}

/* v1.4.0: кнопка разбора объекта работает прямо из строки таблицы */
.object-action-cell{position:sticky;left:0;z-index:6;background:#fff;min-width:96px;box-shadow:8px 0 14px rgba(15,23,42,.035)}
.object-action-cell .object-open-btn,.object-open-btn{cursor:pointer;border:0;display:inline-flex;align-items:center;justify-content:center;min-width:76px;min-height:36px;line-height:1;pointer-events:auto;user-select:none}
.object-open-btn:hover{filter:brightness(.96);transform:translateY(-1px)}
.object-open-btn:active{transform:translateY(0)}
.object-open-btn.is-loading,.object-open-btn[disabled]{opacity:.72;cursor:progress;transform:none}
.risk-column{cursor:pointer;pointer-events:auto}
.risk-column.is-loading{opacity:.72;cursor:progress}
.object-detail{scroll-margin-top:24px}


/* v1.3 object analysis fixes */
.object-filters select{min-width:210px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);padding:12px 14px;outline:none}
.object-monitor{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 14px}
.monitor-chip{border:1px solid var(--line-soft);background:#fff;border-radius:18px;padding:12px 14px;text-align:left;box-shadow:var(--shadow-soft);cursor:pointer;transition:.16s}
.monitor-chip:hover{transform:translateY(-1px);border-color:#bfdbfe}.monitor-chip span{display:block;color:var(--muted);font-size:11px;font-weight:850}.monitor-chip b{display:block;font-size:20px;margin-top:2px;color:var(--text)}
.object-row{cursor:pointer}.object-row:hover td{background:#f8fbff}.object-row td:first-child{background:#fff}
.object-action-cell{position:sticky;left:0;z-index:8;background:#fff;min-width:104px;box-shadow:10px 0 18px rgba(15,23,42,.05)}
.object-action-cell .object-open-btn,.object-open-btn{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-width:78px;min-height:36px;line-height:1;pointer-events:auto;user-select:none;border-radius:12px;font-weight:900}
.object-open-btn.is-loading{opacity:.82;transform:none!important}.object-open-btn:focus{outline:3px solid rgba(31,111,235,.22);outline-offset:2px}
.object-drawer-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.22);z-index:70;opacity:0;pointer-events:none;transition:.18s}.object-drawer{position:fixed;top:0;right:0;width:min(980px,92vw);height:100vh;background:#f8fbff;border-left:1px solid var(--line);box-shadow:-24px 0 70px rgba(15,23,42,.18);z-index:71;transform:translateX(104%);transition:.22s;overflow:auto;padding:18px}.object-drawer-open .object-drawer{transform:translateX(0)}.object-drawer-open .object-drawer-backdrop{opacity:1;pointer-events:auto}.object-drawer-head{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:14px;background:rgba(248,251,255,.92);backdrop-filter:blur(12px);border:1px solid var(--line-soft);border-radius:22px;padding:14px;margin-bottom:12px}.object-drawer-head span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.object-drawer-head b{display:block;font-size:24px;letter-spacing:-.025em}.object-drawer #object-drawer-body>.panel{margin-bottom:0}.object-drawer .object-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.object-drawer .flow-step:after{display:none}
@media(max-width:1180px){.object-monitor{grid-template-columns:repeat(3,minmax(0,1fr))}.object-drawer .object-flow{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.object-monitor{grid-template-columns:1fr 1fr}.object-drawer{width:100vw;padding:12px}.object-drawer .object-flow,.object-drawer .grid.two,.object-drawer .object-ops-tabs{grid-template-columns:1fr}}

/* v1.4.0: стабильный разбор объекта прямо из строки */
.object-row{cursor:pointer}
.object-row:hover td{background:#f6f9ff}
.object-action-cell{position:relative!important;left:auto!important;z-index:12!important;background:#fff!important;min-width:110px!important;box-shadow:none!important}
.object-open-btn{appearance:none!important;-webkit-appearance:none!important;position:relative!important;z-index:20!important;pointer-events:auto!important;cursor:pointer!important;background:#1f6feb!important;color:#fff!important;border:0!important;text-decoration:none!important;box-shadow:0 8px 18px rgba(31,111,235,.22)!important}
.object-open-btn:hover{background:#185bd1!important;filter:none!important}
.object-open-btn:focus-visible{outline:3px solid rgba(31,111,235,.25)!important;outline-offset:2px!important}
.object-open-btn.is-loading{opacity:.82!important;cursor:progress!important}
.object-drawer .object-card-head.v12{border:1px solid var(--line-soft);background:#fff;border-radius:22px;padding:16px;margin-bottom:12px}
.object-drawer .diagnosis-banner{margin-bottom:14px}

/* v2.1: стабильный разбор объекта и контроль качества данных */
.object-open-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;min-width:86px!important;min-height:38px!important;border-radius:13px!important;background:#1f6feb!important;color:#fff!important;border:0!important;font-weight:950!important;box-shadow:0 10px 22px rgba(31,111,235,.24)!important;pointer-events:auto!important;cursor:pointer!important}
.object-open-btn:visited{color:#fff!important}.object-open-btn:hover{background:#185bd1!important;transform:translateY(-1px)}
.object-action-cell{white-space:nowrap!important;min-width:112px!important}
.check-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900;color:var(--muted);margin:0 6px 8px 0}.check-chip.good{background:var(--good-soft);color:var(--good);border-color:#b7ead4}.check-chip.warning{background:var(--warning-soft);color:var(--warning);border-color:#f1d18a}.quality-score{font-size:44px;letter-spacing:-.04em}.data-quality-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}

/* v2.1 — Portfolio command center */
.portfolio-hero{background:linear-gradient(135deg,#ffffff 0%,#eef6ff 48%,#f7fbff 100%);border-color:#dbeafe}
.portfolio-board-panel{overflow:hidden}.portfolio-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.portfolio-lane{border:1px solid var(--line);background:#f8fbff;border-radius:22px;padding:14px;min-height:280px}.portfolio-lane header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.portfolio-lane header b,.portfolio-lane header span{display:block}.portfolio-lane header b{font-size:16px}.portfolio-lane header span{color:var(--muted);font-size:12px;margin-top:3px}.portfolio-lane header strong{display:grid;place-items:center;min-width:38px;height:38px;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:16px}.portfolio-lane.danger{background:#fff7f7;border-color:#fecaca}.portfolio-lane.warning{background:#fffaf0;border-color:#fed7aa}.portfolio-lane.good{background:#f8fffb;border-color:#bbf7d0}.portfolio-cards{display:flex;flex-direction:column;gap:10px}.portfolio-card{width:100%;text-align:left;border:1px solid #dbe7f6;background:#fff;border-radius:18px;padding:12px;cursor:pointer;color:var(--text);transition:.16s;box-shadow:0 10px 20px rgba(15,23,42,.04)}.portfolio-card:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:0 16px 32px rgba(31,111,235,.12)}.portfolio-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.portfolio-card-top b{font-size:15px}.portfolio-card em{display:block;font-style:normal;color:var(--muted);font-size:12px;margin-top:6px}.portfolio-card strong{display:block;font-size:18px;margin-top:8px}.portfolio-card strong small{font-size:11px;color:var(--muted);font-weight:800}.portfolio-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.portfolio-card-grid i{font-style:normal;background:#f4f7fb;border:1px solid var(--line-soft);border-radius:10px;padding:6px;font-size:11px;color:var(--muted)}.portfolio-card>small{display:block;margin-top:8px;color:#475569}.portfolio-card.danger{border-color:#fecaca;background:#fffafa}.portfolio-card.warning{border-color:#fed7aa;background:#fffdf7}.portfolio-card.good{border-color:#bbf7d0;background:#fbfffd}.health-score{border:1px solid var(--line);background:#fff;border-radius:22px;padding:22px}.health-score b{display:block;font-size:52px;letter-spacing:-.06em;line-height:1}.health-score span{display:block;font-size:18px;font-weight:900;margin-top:4px}.health-score p{color:var(--muted);margin:10px 0 0}.health-score.good{border-color:#bbf7d0;background:#f8fffb}.health-score.warning{border-color:#fed7aa;background:#fffaf0}.health-score.danger{border-color:#fecaca;background:#fff7f7}.alert .link-btn{margin-top:10px;width:auto}.object-open-btn{touch-action:manipulation}.table-wrap table button.object-open-btn{pointer-events:auto!important;position:relative!important;z-index:30!important}
@media(max-width:1400px){.portfolio-lanes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.portfolio-lanes{grid-template-columns:1fr}.portfolio-card-grid{grid-template-columns:1fr}.health-score b{font-size:42px}}

/* v2.1 — bank CSV import */
.bank-import-panel{border-color:#dbeafe}
.bank-import-box{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(150px,.7fr) minmax(200px,1fr) minmax(200px,1fr) auto auto;gap:10px;align-items:center}
.bank-import-box input{margin:0}
.bank-import-box .ghost-btn{white-space:nowrap}
@media(max-width:1280px){.bank-import-box{grid-template-columns:1fr 1fr}.bank-import-box button{width:100%}}
@media(max-width:820px){.bank-import-box{grid-template-columns:1fr}}

/* v2.4 allocation center */
.allocation-box{margin:18px 0 20px;padding:18px;border:1px solid #dbeafe;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:24px;box-shadow:0 14px 34px rgba(15,23,42,.045)}
.toolbar.compact{margin:0;justify-content:flex-end}.toolbar.compact button{white-space:nowrap}
.rules-grid.compact{display:grid;grid-template-columns:1fr;gap:10px}.rules-grid.compact div{background:#fff;border:1px solid #e6edf7;border-radius:16px;padding:12px}.rules-grid.compact b,.rules-grid.compact p{display:block;margin:0}.rules-grid.compact p{margin-top:4px;color:#64748b}
.allocation-box .kpi-grid.small{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1180px){.allocation-box .kpi-grid.small{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar.compact{justify-content:flex-start}}
@media(max-width:820px){.allocation-box .kpi-grid.small{grid-template-columns:1fr}.toolbar.compact{flex-direction:column;align-items:stretch}}

/* v2.4 manual allocation */
.manual-allocation-panel { margin: 18px 0; }
.manual-card { border: 1px solid rgba(17, 24, 39, .10); background: #fff; box-shadow: 0 18px 45px rgba(15, 23, 42, .08); }
.manual-toolbar { margin: 14px 0; flex-wrap: wrap; }
.manual-total-line { display:flex; gap:16px; align-items:center; flex-wrap:wrap; padding:12px 14px; border-radius:14px; background:#f8fafc; border:1px solid #e5e7eb; margin:12px 0; }
.manual-total-line span, .manual-total-line b { font-size: 14px; }
.manual-table input[type="number"] { width: 130px; padding: 8px 10px; border: 1px solid #dbe3ef; border-radius: 10px; background: #fff; }
.manual-table input[type="checkbox"] { width: 18px; height: 18px; }
.action-btn.muted { background:#f1f5f9; color:#334155; border-color:#dbe3ef; }
.danger-btn { border: 1px solid #fecaca; background: #fff1f2; color: #be123c; padding: 10px 14px; border-radius: 12px; font-weight: 700; cursor: pointer; }
.danger-btn:hover { background: #ffe4e6; }

/* v2.5: operation editing and group manual allocation */
.operation-actions{display:flex;gap:8px;align-items:center;white-space:nowrap;position:sticky;left:0;background:var(--panel, #fff);z-index:2}
.operation-edit-panel,.manual-allocation-panel{margin:16px 0}
.operation-editor-card{border:1px solid rgba(17,24,39,.10);border-radius:20px;background:#fff;padding:18px;box-shadow:0 18px 50px rgba(15,23,42,.08)}
.operation-edit-form{margin-top:14px}
.manual-filters{display:grid;grid-template-columns:180px minmax(220px,1fr) 180px 180px auto;gap:10px;align-items:center;margin:14px 0}
.manual-filters input,.manual-filters select{height:40px;border:1px solid rgba(17,24,39,.14);border-radius:12px;padding:0 12px;background:#fff}
.manual-table th:first-child,.manual-table td:first-child{position:sticky;left:0;background:#fff;z-index:2}
.manual-total-line{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:#f8fafc;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:12px 14px;margin:12px 0}
@media (max-width: 900px){.manual-filters{grid-template-columns:1fr}.operation-actions{position:static}}

/* v3.2 — wider readable object card and settings */
.object-drawer{width:min(1420px,96vw)!important;padding:22px!important}
.object-drawer .grid.two{grid-template-columns:1.15fr .85fr}
.object-drawer .object-ops-tabs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.object-drawer .table-wrap{max-height:420px}
.account-form{grid-template-columns:1.2fr 1fr 1fr .7fr .55fr 1fr auto auto}
.rules-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.rules-grid.compact div{background:#fff;border:1px solid var(--line-soft);border-radius:16px;padding:14px}
#company-side-caption{display:block}
.month-strip{min-height:70px}
@media(max-width:1200px){.account-form{grid-template-columns:1fr 1fr}.object-drawer{width:100vw!important}.object-drawer .grid.two,.object-drawer .object-ops-tabs{grid-template-columns:1fr}.rules-grid.compact{grid-template-columns:1fr}}

/* v3.2 — detailed report matrices and working settings */
.hidden{display:none!important}
.date-filter{min-width:150px}
.report-matrix-note{margin:0 0 12px;color:#68758a;font-size:13px}
.report-matrix{max-height:70vh;overflow:auto;border:1px solid var(--line,#e4ebf5);border-radius:18px;background:#fff}
.report-matrix table{min-width:1320px;border-collapse:separate;border-spacing:0;width:100%}
.report-matrix th{position:sticky;top:0;background:#f7faff;z-index:3}
.report-matrix .sticky-col{position:sticky;left:0;background:#fff;z-index:2;min-width:340px;max-width:420px;white-space:normal}
.report-matrix thead .sticky-col{background:#f7faff;z-index:4}
.matrix-section .sticky-col,.matrix-section td{background:#eef5ff!important;font-weight:800;border-top:1px solid #d7e5fb}
.matrix-section.good .sticky-col,.matrix-section.good td{background:#ecfdf5!important}
.matrix-section.danger .sticky-col,.matrix-section.danger td{background:#fff1f2!important}
.matrix-section.warning .sticky-col,.matrix-section.warning td{background:#fff8eb!important}
.matrix-line .sticky-col{padding-left:26px;color:#233044}
.matrix-line small{display:block;color:#7b8798;font-weight:600;margin-top:3px}
.settings-articles-list{max-height:620px;overflow:auto;padding-right:6px}
.operation-actions{display:flex;gap:8px;align-items:center}
.operation-edit-form select,.operation-edit-form input{min-width:0}
.status-chip.good{background:#ecfdf5;color:#047857}.status-chip.warning{background:#fff7ed;color:#b45309}.status-chip.danger{background:#fef2f2;color:#dc2626}

/* v3.4 — clean client-facing UI */
.tech-pill{display:none!important}
.topbar{align-items:center}
.top-actions{min-width:160px}.user-pill{background:#f8fafc;color:#334155}.brand b{letter-spacing:-.01em}.brand span{color:#64748b}.side-caption{letter-spacing:.08em;color:#64748b}
.toolbar select,.filters select,.form-grid select,.manual-filters select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20'%3E%3Cpath fill='%2364758a' d='M5.5 7.5 10 12l4.5-4.5z'/%3E%3C/svg%3E") no-repeat right 12px center;padding-right:36px;border:1px solid var(--line);border-radius:14px;min-height:44px;color:#172033;box-shadow:0 8px 18px rgba(15,23,42,.025)}
.toolbar input,.filters input,.form-grid input{min-height:44px;border-radius:14px}
.action-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:34px;white-space:nowrap}
.action-btn:hover{text-decoration:none}.action-btn.muted{background:#eef4fb;color:#1e3a5f}.action-btn.danger{background:#fff1f2;color:#dc2626}
.panel-head>span{font-size:11px;letter-spacing:.02em;text-transform:none}.report-matrix-panel{order:3}.report-panel{order:1}.view#view-pnl,.view#view-cashflow{display:none}.view#view-pnl.active,.view#view-cashflow.active{display:flex;flex-direction:column}.report-matrix{max-height:78vh}.report-matrix th,.report-matrix td{padding:10px 12px}.report-matrix .sticky-col{min-width:420px}.report-matrix-note{font-weight:700;color:#526276}
#settings-articles-master .rules-master-list{max-height:760px}.article-rule-card{grid-template-columns:minmax(300px,1.4fr) minmax(220px,.9fr) minmax(240px,1fr) minmax(260px,1fr) auto auto auto}.article-rule-card button{min-height:40px}
#balance-accounts-table .table-wrap table{min-width:760px}.operation-edit-card,.operation-editor-card{border:1px solid #dbeafe;background:linear-gradient(180deg,#fff,#f8fbff)}

/* v3.5 — clean working tables */
th.sortable{cursor:pointer;user-select:none;position:relative}th.sortable:hover{background:#eef5ff}.sort-mark{display:inline-block;margin-left:6px;color:#94a3b8}.sort-asc .sort-mark:after{content:'↑';color:#2563eb}.sort-desc .sort-mark:after{content:'↓';color:#2563eb}
.group-row td{background:#edf5ff!important;color:#1e3a5f;font-weight:950;text-transform:none;letter-spacing:.02em;border-top:1px solid #d6e6fb;border-bottom:1px solid #d6e6fb}
.salary-selector-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.salary-selector-toolbar span{margin-left:auto;color:#64748b;font-weight:850}.salary-alloc-amount{width:150px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:9px 11px}.salary-deal-check{width:18px;height:18px}
#view-pnl .report-matrix-panel,#view-cashflow .report-matrix-panel{order:2}#view-pnl .report-panel,#view-cashflow .report-panel{order:1}#view-pnl .report-raw-toggle,#view-cashflow .report-raw-toggle{margin-top:4px}

/* review markers + non-scrolling side drawers */
.review-summary{margin:12px 0 14px;grid-template-columns:repeat(5,minmax(0,1fr))}
.review-chip{display:inline-flex;align-items:center;justify-content:center;min-height:28px;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:950;background:#eef4fb;color:#1e3a5f;white-space:nowrap;border:1px solid #dbeafe}
.review-chip.marker-director_question,.review-chip.status-waiting_director{background:#fff1f2;color:#be123c;border-color:#fecdd3}
.review-chip.marker-to_review,.review-chip.status-open{background:#fff7ed;color:#b45309;border-color:#fed7aa}
.review-chip.marker-link_object,.review-chip.marker-check_article,.review-chip.marker-check_counterparty,.review-chip.status-in_progress{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.review-chip.marker-approved,.review-chip.status-approved,.review-chip.marker-closed,.review-chip.status-closed{background:#ecfdf5;color:#047857;border-color:#bbf7d0}
.operation-context{margin-top:14px;border:1px solid #e5edf7;background:#f8fbff;border-radius:16px;padding:12px}.operation-context p{margin:6px 0 0}.operation-review-form label{display:flex;flex-direction:column;gap:6px}.operation-review-form label span{font-size:12px;color:#64748b;font-weight:900}.operation-review-form textarea{border:1px solid var(--line);border-radius:14px;padding:12px;font:inherit;resize:vertical}.operation-review-form .wide{grid-column:1/-1}
#operation-edit-panel:not(:empty),#operations-manual-allocation-panel:not(:empty),#manual-allocation-panel:not(:empty){position:fixed!important;inset:0!important;z-index:90!important;margin:0!important;pointer-events:none!important;overflow:hidden!important}
.drawer-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.24);pointer-events:auto}.operation-drawer-card{position:absolute;top:16px;right:16px;bottom:16px;width:min(980px,calc(100vw - 32px));overflow:auto;pointer-events:auto;border-radius:24px!important;padding:18px!important;box-shadow:-24px 0 70px rgba(15,23,42,.20)!important}.operation-drawer-card .panel-head{position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);z-index:3;border-radius:18px;padding:8px 0 12px}.operation-drawer-card .table-wrap{max-height:none}.operation-drawer-card.manual-card{width:min(1260px,calc(100vw - 32px))}.operation-actions{gap:6px;flex-wrap:nowrap}.operation-actions .action-btn{min-height:32px;padding:8px 10px}
.multi-source{display:none!important}.multi-select{position:relative;min-width:180px;flex:0 0 auto}.filters .multi-select,.toolbar .multi-select{min-width:180px}.multi-select-btn{width:100%;min-height:44px;border:1px solid var(--line);border-radius:14px;background:#fff;color:#172033;text-align:left;font-weight:800;padding:0 36px 0 13px;box-shadow:0 8px 18px rgba(15,23,42,.025);cursor:pointer;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.multi-select-btn:after{content:'▾';position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#64748b;font-size:12px}.multi-select-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:260px;max-width:360px;max-height:320px;overflow:auto;background:#fff;border:1px solid #dbe7f6;border-radius:16px;box-shadow:0 18px 45px rgba(15,23,42,.16);padding:8px;z-index:120}.multi-select.open .multi-select-menu{display:block}.multi-select-menu label{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:12px;cursor:pointer;font-size:13px;font-weight:800;color:#243044}.multi-select-menu label:hover{background:#f4f8ff}.multi-select-menu input{width:16px;height:16px;min-height:auto}.filters{align-items:flex-start}.filters input{min-width:260px}
@media(max-width:1100px){.review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-drawer-card{top:8px;right:8px;bottom:8px;width:calc(100vw - 16px);padding:14px!important}.multi-select{min-width:100%;width:100%}.filters .multi-select,.toolbar .multi-select{min-width:100%}.filters input{min-width:100%}}
@media(max-width:720px){.review-summary{grid-template-columns:1fr}.operation-drawer-card{inset:0!important;width:100vw!important;border-radius:0!important}.operation-review-form,.operation-edit-form{grid-template-columns:1fr!important}}

/* v3.7 — workflow: agenda, bulk actions, history, sticky tables */
.bulk-panel{margin:12px 0}.bulk-inner{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#f8fbff;border:1px solid #dbeafe;border-radius:18px;padding:12px}.bulk-inner select,.bulk-inner input{min-height:40px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 12px}.bulk-inner b{margin-right:auto;color:#1e3a5f}.select-cell{width:38px;text-align:center}.operation-select{width:17px;height:17px}.review-history{display:grid;gap:8px;margin-top:8px}.history-item{display:grid;gap:3px;border:1px solid #e5edf7;background:#fff;border-radius:12px;padding:10px}.history-item b{font-size:12px;color:#1e3a5f}.history-item span,.history-item em{font-size:12px;color:#475569}.history-item em{background:#f8fafc;border-radius:10px;padding:7px 8px;font-style:normal}.closing-checklist{margin-bottom:16px}.backup-action{display:flex;flex-direction:column;gap:8px}.table-wrap{max-height:72vh;overflow:auto}.table-wrap thead th{position:sticky;top:0;background:#f7faff;z-index:5}.table-wrap td:first-child,.table-wrap th:first-child{position:sticky;left:0;background:#fff;z-index:4}.table-wrap thead th:first-child{background:#f7faff;z-index:6}.table-wrap td:nth-child(2),.table-wrap th:nth-child(2){position:sticky;left:48px;background:#fff;z-index:3}.table-wrap thead th:nth-child(2){background:#f7faff;z-index:5}.operation-actions{background:#fff!important}.object-details summary{cursor:pointer}.settings-card .table-wrap{max-height:260px}


/* PostgreSQL readiness / database status */
.db-status-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff;box-shadow:var(--shadow-soft)}
.db-status-card.good{border-color:rgba(22,163,74,.22)}
.db-status-card.warning{border-color:rgba(245,158,11,.28)}
.db-status-card.bad{border-color:rgba(220,38,38,.28)}
.db-status-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.db-status-head p{margin:.35rem 0 0;color:var(--muted);font-size:13px;line-height:1.45}
.db-mode{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-weight:900;font-size:12px;background:#eef6ff;color:#1d4ed8;white-space:nowrap}
.db-mode.pg{background:#ecfdf5;color:#047857}.db-mode.sqlite{background:#fff7ed;color:#c2410c}
.db-target{margin:10px 0;padding:12px;border-radius:14px;background:#f8fafc;border:1px solid var(--line);font-size:13px;overflow:auto}
.db-target code{display:block;margin-top:6px;white-space:normal;word-break:break-word;color:#0f172a}
.db-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 16px;margin:10px 0;color:var(--muted);font-size:13px}
.db-details p{margin:0}.db-details b{color:var(--text)}
.db-counts{margin-top:12px}.db-status-card .alert{margin-top:12px}.db-status-card #db-check-btn{margin-top:12px}
