:root{--bg: #f4f6f7;--card: #ffffff;--ink: #0b1215;--sec: #5f6a72;--ter: #5f686d;--line: #e3e8ea;--accent: #0e9bb0;--accent-bg: #e6f5f8;--green: #28a745;--green-bg: #e9f7ee;--orange: #e28800;--orange-bg: #fbf1de;--red: #e5484d;--red-bg: #fdebec;--hero: linear-gradient(135deg, #0b2f37, #0e5f6e);--blue: var(--accent);--blue-bg: var(--accent-bg);--vio: #6d5ae6;--vio-bg: #efecfc;--tick-dot: #4fc7da;--radius-card: 14px;--radius-btn: 13px;--shadow-card: 0 1px 2px rgba(0, 0, 0, .04);--focus-ring: 0 0 0 3px rgba(14, 155, 176, .4)}@media(min-width:1120px){:root{--bg: #f5f5f7;--ink: #101013;--sec: #5c5e63;--ter: #5f686d;--line: #e5e5ea;--orange: #d97706;--orange-bg: #fbf0dc}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Inter,Roboto,sans-serif;background:var(--bg);color:var(--ink);font-size:13.5px}:focus-visible{outline:none;box-shadow:var(--focus-ring)}.shell{display:flex;flex:1;min-height:0}.side{width:216px;background:#0b2f37;color:#fff;padding:18px 12px;flex:none;display:flex;flex-direction:column;gap:2px}.side .logo{display:flex;align-items:baseline;gap:8px;padding:6px 10px 16px}.side .logo img{width:132px;max-width:100%;height:auto;display:block}.side .logo .admin{font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c}.side a{display:flex;align-items:center;gap:9px;width:100%;text-decoration:none;color:#ffffffa6;font:inherit;font-size:13.5px;font-weight:500;padding:10px;border-radius:9px;cursor:pointer}.side a.on{background:#ffffff1a;color:#fff}.side a .lbl{flex:1}.side a .ico{width:19px;height:19px;flex:none;color:var(--tick-dot)}.side .cnt{margin-left:auto;font-size:11px;font-weight:700;background:#4fc7da2e;color:var(--tick-dot);border-radius:99px;padding:2px 7px}.side .cnt.vio{background:#4fc7da2e;color:var(--tick-dot)}.side .foot{margin-top:auto;font-size:11.5px;color:#fff6;padding:10px;line-height:1.5}.main{flex:1;padding:22px 26px;max-width:1200px}.hrow{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:10px}.h1{font-size:21px;font-weight:800;letter-spacing:-.02em}.app-frame{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 24px;border-bottom:1px solid var(--line);background:var(--card)}.topbar .brand{display:flex;align-items:center;gap:10px;text-decoration:none}.topbar .brand img{height:40px;width:auto;display:block}.topbar .brand .admin{font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--sec)}.topbar-right{display:flex;align-items:center;gap:14px}.topbar .user{display:flex;align-items:center;gap:9px}.topbar .avatar{width:30px;height:30px;border-radius:99px;background:var(--ink);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}.topbar .who{display:flex;flex-direction:column;line-height:1.25}.topbar .who .role{font-size:11px;color:var(--sec)}.view-intro{color:var(--sec);font-size:13px;line-height:1.55;max-width:760px;margin:-6px 0 16px}.home-hero{padding:18px 20px;line-height:1.6;margin-bottom:18px}.home-hero p+p{margin-top:8px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tile{display:flex;gap:12px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);text-decoration:none;color:inherit;transition:border-color .12s,transform .12s,box-shadow .12s}.tile:hover{border-color:var(--ink);transform:translateY(-1px);box-shadow:0 4px 14px #1010130f}.tile-ico{width:22px;height:22px;flex:none;color:var(--accent)}.tile-body{display:flex;flex-direction:column;gap:4px}.tile-title{font-weight:700;font-size:14px}.tile-desc{color:var(--sec);font-size:12.5px;line-height:1.5}@media(max-width:980px){.tiles{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.tiles{grid-template-columns:1fr}}.chip{font-size:11px;font-weight:700;padding:3px 9px;border-radius:99px;white-space:nowrap;display:inline-block}.c-g{background:var(--green-bg);color:var(--green)}.c-o{background:var(--orange-bg);color:var(--orange)}.c-r{background:var(--red-bg);color:var(--red)}.c-b{background:var(--blue-bg);color:var(--blue)}.c-v{background:var(--vio-bg);color:var(--vio)}.c-n{background:var(--line);color:var(--sec)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.state-card{padding:18px;line-height:1.6}.muted{color:var(--sec)}.api-status{margin-top:8px;font-size:12px;color:var(--sec)}input:not([type=checkbox],[type=radio]),select,textarea{width:100%;font:inherit;color:var(--ink);padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-btn);background:var(--card)}input:not([type=checkbox],[type=radio]):focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:default}textarea{min-height:76px;line-height:1.5;resize:vertical}.tools{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap;align-items:center}.tools input,.tools select{width:auto;font:inherit;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-btn);background:var(--card)}.tools input{width:260px}table{width:100%;border-collapse:collapse}th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--sec);text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--bg)}td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle}tr.clickable:hover td{background:var(--bg);cursor:pointer}.mono{font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--sec)}.pager{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:11px 14px;color:var(--sec);font-size:12.5px}.pager .pg{display:flex;gap:4px}.pager .pg button{padding:5px 10px;border-radius:7px;cursor:pointer;border:0;background:transparent;font:inherit;color:var(--sec)}.pager .pg button.on{background:var(--ink);color:#fff}.pager .pg button:disabled{opacity:.4;cursor:default}.grid2{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}.grid2.even{grid-template-columns:1fr 1fr}.kv{display:flex;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--line);font-size:13px}.kv b{font-weight:600}.sechead{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--sec);padding:12px 14px 6px;font-weight:700}.btn{border:0;font:inherit;font-weight:600;border-radius:var(--radius-btn);padding:8px 14px;cursor:pointer;text-decoration:none;display:inline-block}.btn:disabled{opacity:.5;cursor:default}.btn.dark{background:var(--ink);color:#fff}.btn.lite{background:var(--line);color:var(--ink)}.btn.ok{background:var(--green-bg);color:var(--green)}.btn.bad{background:var(--red-bg);color:var(--red)}.split{display:grid;grid-template-columns:1fr 1fr;gap:0}.split>div{padding:14px}.split>div+div{border-left:1px solid var(--line)}.doc{background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:12px;font-size:12.5px;line-height:1.7}.red-strike{background:var(--red-bg);color:var(--red);border-radius:4px;padding:0 4px;text-decoration:line-through}.grn-keep{background:var(--green-bg);border-radius:4px;padding:0 4px}.note{font-size:12px;color:var(--sec);padding:10px 14px;background:var(--bg);border-top:1px solid var(--line);line-height:1.5}.filters{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.filters button{font:inherit;font-size:12px;font-weight:600;padding:6px 11px;border-radius:99px;background:var(--card);border:1px solid var(--line);cursor:pointer;color:var(--sec)}.filters button.on{background:var(--ink);border-color:var(--ink);color:#fff}.filters button:disabled{opacity:.5;cursor:default}.filters .lbl-inline{font-size:12px;color:var(--sec);font-weight:600}.seg2{display:inline-flex;background:var(--line);border-radius:10px;padding:2.5px}.blind{display:flex;gap:9px;align-items:flex-start;background:var(--vio-bg);border:1px solid var(--vio);border-radius:9px;padding:11px 13px;font-size:12.5px;color:var(--vio);line-height:1.5;margin-bottom:12px}.voterow{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.votebox{flex:1;min-width:220px;border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--card)}.votebox.ok{border-color:var(--green);background:var(--green-bg)}.votebox.bad{border-color:var(--red);background:var(--red-bg)}.votebox.pend{border-style:dashed}.votebox b{font-size:13px}.votebox .why{font-size:12px;color:var(--sec);margin-top:4px;line-height:1.5}.state{padding:22px;color:var(--sec);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spinner{width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--sec);border-radius:50%;display:inline-block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-loading{display:flex;min-height:100vh;align-items:center;justify-content:center}.signin-shell,.noaccess{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}.signin-brand{display:flex;flex-direction:column;align-items:center;gap:6px}.signin-brand .brand-logo{width:220px;max-width:70vw;height:auto;display:block}.signin-brand .brand-admin{font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--sec)}.signin-note,.noaccess-msg{color:var(--sec);max-width:380px;line-height:1.5}.noaccess-id{font-weight:600}.toast{position:fixed;right:26px;bottom:26px;background:var(--ink);color:#fff;font-size:13px;font-weight:600;padding:11px 17px;border-radius:12px;z-index:99;max-width:360px;line-height:1.4}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:14px 16px}.kpi .v{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.kpi .l{font-size:11.5px;color:var(--sec);margin-top:2px}.view{display:block}.chart{display:flex;align-items:flex-end;gap:3px;height:120px;padding:6px 2px 0}.chart i{flex:1;background:var(--green);border-radius:3px 3px 0 0;min-height:3px;opacity:.85}.chart i.r{background:var(--red)}.xlab{display:flex;justify-content:space-between;font-size:10.5px;color:var(--ter);padding:6px 2px 0}.kpi .d{font-size:11.5px;font-weight:700;margin-top:4px}.kpi.empty .v{color:var(--ter)}tr.changed-row td{background:var(--orange-bg)}td.pending-cell{font-weight:600}.escalate-card{border-left:4px solid var(--vio);padding:14px 16px}.escalate-card p{margin:6px 0 0}.hamburger{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:var(--radius-btn);background:transparent;color:var(--ink);font-size:18px;cursor:pointer;flex:none}.hamburger:hover{background:var(--accent-bg)}@media(max-width:900px){.grid2,.grid2.even{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.split{grid-template-columns:1fr}.split>div+div{border-left:0;border-top:1px solid var(--line)}}@media(max-width:820px){.side{position:fixed;inset-block:0;inset-inline-start:0;z-index:60;width:min(78vw,260px);transform:translate(-100%);transition:transform .2s ease;box-shadow:2px 0 18px #00000040}.side.open{transform:translate(0)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b121573;z-index:55;border:0;padding:0;cursor:default}.hamburger{display:inline-flex}.btn,input:not([type=checkbox],[type=radio]),select,textarea{min-height:40px}input:not([type=checkbox],[type=radio]),select,textarea,.tools input,.tools select{font-size:15px}input[type=checkbox],input[type=radio]{width:18px;height:18px}.topbar{padding:10px 12px;gap:8px}.topbar .brand img{height:32px}.topbar-right{gap:8px}.topbar .who{display:none}.main{padding:14px 12px;max-width:100%}.h1{font-size:18px}.hrow{flex-wrap:wrap}.tools input{flex:1;min-width:0;width:auto}.toast{inset-inline:12px;inset-block-end:12px;max-width:none}.card:has(>table:has(thead)){background:transparent;border:0;box-shadow:none;border-radius:0}.card table,.card>table{display:block;width:100%}.card table thead{display:none}.card table tbody,.card table tr{display:block}.card table:has(thead) tr{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:12px 14px;margin:0 0 10px}.card table:has(thead) tr:last-child{margin-bottom:0}.card table:not(:has(thead)) tr{padding:8px 14px;border-bottom:1px solid var(--line)}.card table:not(:has(thead)) tr:last-child{border-bottom:0}.card table tr.clickable{cursor:pointer}.card table td{display:block;border:0;padding:3px 0}.card table td:empty{display:none}.card table td:before{content:attr(data-label);display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--sec);font-weight:700;margin-bottom:1px}.card table td:not([data-label]):before,.card table td[data-label=""]:before{content:none}.card table td:first-child{padding-top:0;font-weight:700;font-size:14px}.card table td:first-child:before{content:none}.sechead{padding-left:14px!important}.trend-card .sechead{padding-left:0!important}}
