:root{--ink:#25272c;--muted:#61636a;--paper:#f6f6f3;--white:#fff;--line:#e5e5df;--gold:#f1c94d;--gold-dark:#765900;--nav:#202227;--red:#9d3636;--green:#2c654c;--radius:14px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:14px}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;min-width:300px}
button,input,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.48}
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #886714;outline-offset:3px}
h1,h2,h3,p{margin:0}
svg{width:18px;height:18px;flex:none}
.muted{color:var(--muted)}
.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:750;color:var(--gold-dark);margin-bottom:10px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:700;padding:8px 14px;white-space:nowrap;transition:background .16s,border .16s}
.primary{background:var(--gold);color:#211b0c}
.primary:hover:not(:disabled){background:#e8bb34}
.secondary{background:white;color:var(--ink);border-color:var(--line)}
.secondary:hover:not(:disabled),.plain:hover:not(:disabled){background:#f4f3ed}
.plain{color:var(--muted);background:transparent}
.dark{background:var(--ink);color:white}
.dark:hover:not(:disabled){background:#3e4148}
.icon-button{border:1px solid transparent;color:inherit;background:transparent;border-radius:7px;display:grid;place-items:center;min-width:36px;height:36px}
.icon-button:hover{background:#80808020}
.official-logo{display:block;width:100%;height:auto}
.login-logo{width:min(100%,320px);position:relative;z-index:1}
.side-brand{width:171px;max-width:100%;min-width:0}
.side-brand span{display:block;color:#b1b0ad;letter-spacing:.14em;font-size:8px;font-weight:750;margin:6px 0 0 2px}
.login-view{display:grid;grid-template-columns:minmax(350px,1fr) minmax(400px,1fr);min-height:100dvh}
.login-brand{min-height:560px;display:flex;flex-direction:column;justify-content:space-between;padding:56px max(42px,9vw);background:var(--nav);color:#fff;position:relative;overflow:hidden}
.login-brand::after{content:"";border:1px solid #f1c94d30;width:440px;height:440px;transform:rotate(42deg);position:absolute;right:-285px;bottom:-100px;pointer-events:none;box-shadow:0 0 0 35px #f1c94d10,0 0 0 70px #f1c94d09}
.login-title{z-index:1;margin-block:50px}
.login-title .eyebrow{color:var(--gold)}
.login-title h1{font-size:clamp(42px,6.2vw,91px);letter-spacing:-.07em;line-height:.99;font-weight:760}
.login-title h1 span{color:var(--gold)}
.login-title>p:last-child{color:#d6d4cc;line-height:1.6;margin-top:24px;max-width:290px;font-size:16px}
.login-footer{color:#b9b8b3;font-size:10px;font-weight:700;letter-spacing:.13em}
.login-main{display:grid;place-items:center;background:white;padding:34px}
.login-form{width:min(100%,370px)}
.login-form h2{font-size:37px;letter-spacing:-.05em;margin-bottom:6px}
.login-form .muted{margin-bottom:23px}
.login-form label{display:grid;gap:8px;margin-bottom:16px}
.login-form .primary{justify-content:space-between;width:100%;margin-top:6px}
.error{color:var(--red);margin-top:12px}
.app{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100dvh}
.app.collapsed{grid-template-columns:73px minmax(0,1fr)}
.sidebar{background:var(--nav);color:#e3e2dd;display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;min-height:465px;padding:23px 13px;z-index:3;overflow:auto}
.side-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 3px 40px}
.side-toggle{color:#c4c4bd;min-width:29px}
.nav-heading{font-size:10px;letter-spacing:.17em;font-weight:750;color:#aaa9a6;margin:0 12px 10px}
#nav{display:grid;gap:5px}
.nav-button{display:flex;align-items:center;gap:11px;min-height:43px;width:100%;color:#dad9d6;border:1px solid transparent;background:transparent;text-align:left;border-radius:8px;padding:8px 11px;font-weight:570;white-space:nowrap}
.nav-button:hover{background:#ffffff12}
.nav-button[aria-current=page]{background:#f1c94d15;color:#ffe285;border-color:#f1c94d34}
.side-bottom{margin-top:auto;padding-top:26px}
.environment{color:#c6c6bd;display:flex;align-items:center;gap:9px;margin:0 10px 20px;font-size:11px}
.environment i,.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:#b59a4a;flex:none}
.status-dot.ready{background:#4a8664}
.user{border-top:1px solid #ffffff1c;display:flex;gap:9px;align-items:center;padding:15px 6px 7px;overflow:hidden}
.user strong,.user small{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:150px}
.user small{color:#b5b4af;margin-top:3px}
.avatar{display:grid;place-items:center;background:#f1c94d22;border:1px solid #f1c94d44;color:#ffe596;width:34px;height:34px;border-radius:50%;flex:none;font-weight:800}
.app.collapsed :is(.side-brand,.nav-heading,.nav-button span,.environment span,.user>div){display:none}
.app.collapsed .side-top{justify-content:center;margin-bottom:24px}
.app.collapsed :is(.nav-button,.user,.environment){justify-content:center}
.topbar{height:60px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,3vw,43px);gap:12px}
.topbar>div{display:flex;gap:11px;align-items:center;color:var(--muted)}
.topbar strong{color:var(--ink)}
.slash{color:#a5a6a3}
.top-tag{color:#66665e;font-size:10px;letter-spacing:.12em;font-weight:750}
.mobile-menu{display:none}
.content{padding:30px clamp(18px,3vw,43px) 48px;margin:auto;max-width:1660px}
.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:20px}
.page-heading h1{font-weight:750;letter-spacing:-.055em;font-size:clamp(29px,3.3vw,49px);line-height:1.04;margin-bottom:8px}
.page-heading .muted{line-height:1.55}
.page-actions{display:flex;gap:8px;flex-wrap:wrap}
.source-strip{background:#f0efe8;border:1px solid #e8e6da;min-height:43px;border-radius:9px;display:flex;gap:12px 22px;align-items:center;flex-wrap:wrap;padding:8px 13px;margin-bottom:19px;color:#5c5a50;font-size:12px}
.source-strip>span{display:inline-flex;align-items:center;gap:7px}
.source-strip strong{color:#383830}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 5px #1d1d1005;min-width:0}
.filters{margin-bottom:21px;padding:17px}
.filter-heading,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.filter-heading h2,.section-heading h2{font-size:17px;letter-spacing:-.025em}
.filter-heading p,.section-heading p{font-size:12px;margin-top:4px}
.filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.more-filters{border-top:1px solid var(--line);margin-top:13px;padding-top:13px}
label,.label{font-weight:670;color:#42434a;font-size:12px}
.filter-grid label,.field{display:grid;gap:6px;min-width:0}
input:not([type=checkbox]),select{border:1px solid #dcdcd6;color:var(--ink);background:#fff;border-radius:7px;min-height:37px;width:100%;padding:7px 9px;min-width:0}
select:disabled{background:#f7f7f4;color:var(--muted)}
.filter-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:13px}
.filter-footer>div:last-child{display:flex;gap:6px;justify-content:flex-end}
.multi{position:relative;min-width:0}
.multi summary,.columns summary{list-style:none;cursor:pointer;border:1px solid #dcdcd6;background:white;border-radius:7px;padding:8px 10px;min-height:37px;display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--ink);font-weight:540;overflow:hidden}
.multi summary::after,.columns summary::after{content:"⌄";font-size:14px;color:var(--muted)}
.multi summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.multi summary::-webkit-details-marker,.columns summary::-webkit-details-marker{display:none}
.multi[open],.columns[open]{z-index:2}
.multi-options,.columns-options{position:absolute;left:0;top:calc(100% + 4px);width:max(100%,190px);padding:8px;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 24px #1112;max-height:255px;overflow:auto}
.multi-options label,.columns-options label{display:flex;align-items:flex-start;gap:6px;line-height:1.35;padding:6px;cursor:pointer;font-weight:520;overflow-wrap:anywhere}
input[type=checkbox]{accent-color:#97711e}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #dfcc87;background:#fff5d0;border-radius:6px;padding:5px 7px;font-size:12px;overflow-wrap:anywhere}
.chip button{background:none;border:0;font-size:17px;color:var(--ink)}
#message{padding:11px 14px;background:#fff6d7;border:1px solid #ead99e;margin-bottom:14px;border-radius:8px}
#message[data-type=error]{background:#fff1ef;border-color:#efc7c1;color:var(--red)}
#message[data-type=success]{background:#edf6ee;border-color:#cedfce;color:var(--green)}
#body{display:grid;gap:17px}
#body[aria-busy=true]{opacity:.55}
.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.kpi{padding:13px 13px 12px;border-top:2px solid #d8d6ca;min-height:80px}
.kpi:first-child{border-top-color:#d7a91d}
.kpi[data-key=overdue],.kpi[data-key=default_pct]{border-top-color:#dbaca3}
.kpi span{display:block;color:var(--muted);font-size:11px;font-weight:690;margin-bottom:9px}
.kpi strong{font-variant-numeric:tabular-nums;font-size:clamp(15px,1.65vw,24px);letter-spacing:-.045em;overflow-wrap:anywhere}
.kpi[data-key=overdue] strong{color:var(--red)}
.charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.chart{padding:16px}
.chart.wide{grid-column:1/-1}
.chart h2{font-size:16px;letter-spacing:-.02em;margin-bottom:4px}
.chart .muted{font-size:12px;line-height:1.45}
.bar-list{display:grid;gap:6px;margin-top:12px;max-height:290px;overflow:auto}
.bar-row{display:grid;grid-template-columns:minmax(72px,1fr) minmax(38px,1.4fr) minmax(82px,auto);gap:8px;align-items:center;text-align:left;background:white;border:1px solid transparent;border-radius:6px;padding:5px 2px;color:var(--ink);font-size:12px;width:100%}
.bar-row:hover{background:#faf8f0;border-color:#ece8d7}
.bar-row .bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar-row strong{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.bar-row progress{width:100%;height:10px;appearance:none;border:0;border-radius:3px;background:#f2f0e8}
progress::-webkit-progress-bar{background:#f2f0e8;border-radius:3px}
progress::-webkit-progress-value{background:#d9ae39;border-radius:3px}
progress::-moz-progress-bar{background:#d9ae39;border-radius:3px}
.bar-row.alert progress::-webkit-progress-value{background:#c78276}
.bar-row.alert progress::-moz-progress-bar{background:#c78276}
.empty{padding:26px 20px}
.empty h2{font-size:21px;letter-spacing:-.035em;margin:6px 0}
.empty p{max-width:670px;line-height:1.6}
.empty .button{margin-top:15px}
.table-card{min-width:0}
.table-card .section-heading{padding:15px 16px 0}
.table-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;align-items:center}
.columns{position:relative}
.columns-options{left:auto;right:0}
.table-scroll{overflow:auto}
table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}
th{background:#f5f5f1;color:#55564f;font-weight:720;text-align:left;padding:9px 12px}
th button{border:0;background:transparent;color:inherit;font:inherit;padding:0}
.column-heading{display:flex;align-items:center;gap:5px}
.column-filter{display:inline-grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border-radius:6px;color:#68685f}
.column-filter svg{width:14px;height:14px}
.column-filter:hover,.column-filter:focus-visible{background:#e9e7dc;color:#27272a}
.column-filter.active{background:#f7e9b6;color:#674b00}
.column-filter-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
td{border-top:1px solid #eeeee9;padding:9px 12px}
tbody tr:hover{background:#fcfbf5}
.numeric{font-variant-numeric:tabular-nums}
.link{color:#705500;background:transparent;border:0;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.pill{background:#eeeae0;color:#625743;padding:4px 8px;border-radius:6px;font-weight:690;font-size:11px}
.pill.red{background:#fbece9;color:#8e382d}
.pill.green{background:#eaf4ed;color:#28563c}
.pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--line)}
.pagination>div{display:flex;align-items:center;gap:6px}
.pagination select{width:auto}
.pagination .button{min-height:34px;padding:5px 8px}
dialog{width:min(740px,calc(100% - 24px));max-height:90dvh;padding:0;border:1px solid var(--line);border-radius:15px;box-shadow:0 20px 60px #14161435;color:var(--ink)}
dialog::backdrop{background:#181a1c80}
.dialog-pad{padding:21px}
.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:15px}
.dialog-head h2{font-size:23px;letter-spacing:-.035em}
.dialog-head p,.dialog-note{margin-top:6px;color:var(--muted);line-height:1.5}
.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:17px}
.map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.map-grid label{display:grid;gap:4px}
.load-config{display:grid;gap:10px}
.detail-list{display:grid;grid-template-columns:minmax(92px,1fr) minmax(0,2fr);gap:1px 12px;overflow-wrap:anywhere}
.detail-list :is(dt,dd){border-bottom:1px solid var(--line);padding:6px 0;margin:0}
.detail-list dt{color:var(--muted);font-weight:680}
@media (max-width:1120px){.app{grid-template-columns:210px minmax(0,1fr)}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.side-top{margin-inline:0}}
@media (max-width:850px){.app,.app.collapsed{grid-template-columns:minmax(0,1fr)}.app .sidebar{display:none;position:fixed;width:235px;top:57px;left:0;height:calc(100dvh - 57px);min-height:0;box-shadow:8px 12px 28px #12121545}.app.mobile-open .sidebar{display:flex}.app.collapsed .side-brand{display:block}.app.collapsed .side-top{justify-content:space-between}.mobile-menu{display:grid}.side-toggle{display:none}.topbar{height:57px}.page-heading{align-items:flex-start;flex-direction:column}.login-brand{padding:36px 28px}}
@media (max-width:600px){.login-view{grid-template-columns:1fr}.login-brand{min-height:auto}.login-logo{width:min(100%,244px)}.login-title{margin:34px 0 8px}.login-title h1{font-size:47px}.login-title>p:last-child{font-size:13px;margin-top:12px}.login-footer,.top-tag{display:none}.login-main{padding:25px 20px}.content{padding:22px 12px 30px}.topbar{padding:0 10px}.filter-grid,.kpis,.map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.charts{grid-template-columns:1fr}.filter-footer{flex-wrap:wrap}.filter-footer>div:last-child{margin-left:auto}.table-card .section-heading{align-items:flex-start}.pagination{flex-wrap:wrap}.kpi strong{font-size:19px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

.sigavi-dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.sigavi-dates label{display:grid;gap:6px}


.sigavi-loading{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:rgba(28,29,32,.89)}
.loading-panel{width:min(100%,450px);padding:38px 34px;border-radius:22px;background:#fff;text-align:center;box-shadow:0 24px 90px #0004}
.loading-panel h2{margin:8px 0 10px;font-size:clamp(22px,4vw,30px);line-height:1.15}
.loading-panel p:last-child{color:#57575d;line-height:1.6}
.loading-spinner{display:block;width:44px;height:44px;margin:0 auto 23px;border:4px solid #f3eddd;border-top-color:#d2a22c;border-radius:50%;animation:loading-turn .85s linear infinite}
@keyframes loading-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none;border-color:#d2a22c}}
