:root{--ink:#1b2430;--muted:#5b6675;--line:#d9dee5;--bg:#f5f7fa;--panel:#fff;--brand:#0b5cad;--brand-dark:#084a8c;--red:#b3261e;--amber:#8a5a00;--green:#1b6b3a;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}*{box-sizing:border-box}body{background:var(--bg);margin:0;line-height:1.45}h1{margin:.2rem 0 .4rem;font-size:1.5rem}h2{margin:0;font-size:1.1rem}h3{font-size:1rem}a{color:var(--brand)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #7ab0e6}.muted{color:var(--muted)}.help{font-size:.85rem}.num{text-align:right;font-variant-numeric:tabular-nums}.sr-only,.skip:not(:focus){clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip:focus{background:#fff;padding:.5rem;position:static}.topbar{color:#fff;background:#10253f;flex-wrap:wrap;align-items:center;gap:1.5rem;padding:.6rem 1.25rem;display:flex}.topbar a{color:#fff;border-radius:4px;padding:.25rem .5rem;text-decoration:none}.topbar a.active{background:#24476f}.topbar .brand{padding-left:0;font-size:1.1rem;font-weight:700}.topbar nav{flex:1;gap:.25rem;display:flex}.who{align-items:center;gap:.75rem;display:flex}.who .link{color:#cfe0f5}main{max-width:1180px;margin:0 auto;padding:1.25rem}button{font:inherit;cursor:pointer;color:var(--ink);background:#fff;border:1px solid #b6bec9;border-radius:6px;padding:.45rem .9rem}button:hover:not(:disabled){background:#eef2f7}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--brand);border-color:var(--brand);color:#fff}button.primary:hover:not(:disabled){background:var(--brand-dark)}button.danger,button.danger.link{color:var(--red)}button.link{color:var(--brand);background:0 0;border:none;padding:.1rem .3rem;text-decoration:underline}button.link.danger{color:var(--red)}.actions{align-items:center;gap:.5rem;display:flex}.actions.wrap{flex-wrap:wrap}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}label.inline{align-items:center;gap:.4rem;display:flex}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-bottom:1.1rem;padding:1rem 1.1rem}.panel-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem;display:flex}.panel-foot{margin-top:.6rem;font-weight:600}.intro{margin-bottom:.6rem}.two-col{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1.1rem;display:grid}.facts{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem 1.25rem;margin:0 0 1rem;display:grid}.facts.panel{padding:1rem}.facts dt{color:var(--muted);font-size:.85rem}.facts dd{margin:0;font-weight:500}.facts .wide{grid-column:1/-1}.table-wrap{overflow-x:auto}table{border-collapse:collapse;background:var(--panel);width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.5rem .6rem}th{color:var(--muted);background:#f0f3f7;font-size:.85rem;font-weight:600}th.num{text-align:right}td.row-actions{white-space:nowrap;text-align:right}ul.plain{margin:0;padding:0;list-style:none}ul.plain li{border-bottom:1px solid var(--line);padding:.35rem 0}.badge{border:1px solid #0000;border-radius:999px;margin-right:.3rem;padding:.1rem .5rem;font-size:.78rem;font-weight:600;display:inline-block}.badge-grey{color:#39424e;background:#e8ebf0}.badge-blue{color:#0b4a8f;background:#e0eefc}.badge-green{color:var(--green);background:#dff3e6}.badge-amber{color:var(--amber);background:#fdf0d4}.badge-red{color:var(--red);background:#fbe0de}.banner{border:1px solid;border-radius:6px;margin:.5rem 0 .9rem;padding:.6rem .8rem}.banner ul{margin:.3rem 0 0 1.1rem;padding:0}.banner-info{background:#e8f1fb;border-color:#b5d2f0}.banner-warn{background:#fff5dc;border-color:#ecd28b}.banner-error{background:#fdeceb;border-color:#f0b5b1}.banner-ok{background:#e5f5ea;border-color:#a9d9b9}.field{flex-direction:column;gap:.2rem;display:flex}.field label{font-size:.9rem;font-weight:600}.field.check label{font-weight:500}input[type=text],input[type=email],input[type=number],input[type=date],input[type=search],input[type=password],input:not([type]),select,textarea{font:inherit;background:#fff;border:1px solid #aab3bf;border-radius:6px;width:100%;padding:.4rem .5rem}.grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem 1rem;display:grid}fieldset{border:1px solid var(--line);border-radius:6px;margin:1rem 0 0;padding:.6rem .8rem}legend{padding:0 .3rem;font-weight:600}.form-actions{justify-content:flex-end;gap:.6rem;margin-top:1rem;display:flex}.record-form{min-width:min(560px,86vw)}.modal-backdrop{z-index:20;background:#10253f73;justify-content:center;align-items:flex-start;padding:4vh 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:#fff;border-radius:10px;width:100%;max-width:760px;padding:1.1rem 1.25rem;box-shadow:0 10px 40px #0000004d}.modal-head{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.modal-head .link{font-size:1.6rem;text-decoration:none}.login{justify-content:center;padding:10vh 1rem;display:flex}.login form{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:.8rem;width:min(380px,100%);padding:1.5rem;display:flex}.login label{flex-direction:column;gap:.2rem;font-size:.9rem;font-weight:600;display:flex}.login h1{margin:0}.workspace-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.crumbs{color:var(--muted);font-size:.85rem}.head-badges{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.tabs{border-bottom:2px solid var(--line);flex-wrap:wrap;gap:.15rem;margin:1rem 0 1.1rem;display:flex}.tabs a{color:var(--muted);border-bottom:3px solid #0000;margin-bottom:-2px;padding:.5rem .8rem;text-decoration:none}.tabs a.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.pager{align-items:center;gap:1rem;margin:.8rem 0;display:flex}code.secret{letter-spacing:.08em;word-break:break-all;background:#eef2f7;border-radius:4px;padding:.3rem .5rem;font-size:1.1rem}.level-card{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.level-card .big{font-size:2rem;font-weight:700}tr.bonus td{background:#f7fbf4}tr.supporting td{color:var(--muted)}.delta-up{color:var(--green);font-weight:600}.delta-down{color:var(--red);font-weight:600}@media print{.topbar,.tabs,.actions,button{display:none!important}}fieldset.bare{border:none;min-width:0;margin:0;padding:0}tr.child td:first-child{padding-left:1.6rem}.indent{color:var(--muted)}.drop{background:#fafbfd;border:2px dashed #aab3bf;border-radius:8px;padding:1rem}.topbar .brand{align-items:center;gap:.55rem;display:flex}.logo-mark{flex:none;display:block}.login-split{background:#fff;grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.login-split .login{background:#fff;align-items:center;padding:2rem}.login-split .login form{border:none;width:min(360px,100%);padding:0}.login-art{color:#fff;background:linear-gradient(#10253fe0 0%,#10253f4d 42% 62%,#10253fe6 100%),url(/login-photo.jpg) 50%/cover no-repeat,linear-gradient(160deg,#10253f,#1d4a7d);flex-direction:column;justify-content:space-between;padding:2.5rem;display:flex}.login-brand{align-items:center;gap:.8rem;font-size:1.5rem;font-weight:700;display:flex}.login-note{color:#a9c2de;max-width:34rem;margin:0;font-size:.9rem}@media (width<=800px){.login-split{grid-template-columns:1fr}.login-art{gap:1.5rem;min-height:auto;padding:1.5rem}}.stepper{flex-wrap:wrap;margin:.6rem 0 1.1rem;padding:0;list-style:none;display:flex}.stepper .step{min-width:110px;color:var(--muted);border-top:4px solid #e3e8ee;flex:1;padding:.4rem .6rem;font-size:.85rem}.stepper .step.done{border-color:var(--green);color:var(--ink)}.stepper .step.now{border-color:var(--brand);color:var(--brand);font-weight:700}.ws{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:1.1rem;display:grid}@media (width<=900px){.ws{grid-template-columns:1fr}}.side{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;padding:.5rem;display:flex;position:sticky;top:.6rem}.side a{color:var(--ink);border-radius:6px;align-items:center;gap:.55rem;padding:.45rem .6rem;text-decoration:none;display:flex}.side a:hover{background:#f2f5f9}.side a.active{color:var(--brand);background:#e6f0fb;font-weight:600}.side hr{border:none;border-top:1px solid var(--line);margin:.4rem .3rem}.side .dot{border:2px solid #0000;border-radius:50%;flex:none;width:.65rem;height:.65rem}.dot.err{background:var(--red)}.dot.warn{background:#d99a00}.side .cnt{color:#39424e;background:#eef0f3;border-radius:999px;margin-left:auto;padding:.05rem .45rem;font-size:.75rem;font-weight:600}.side .cnt.err{color:var(--red);background:#fbe0de}.side .cnt.warn{color:var(--amber);background:#fdf0d4}@media (width<=900px){.side{flex-flow:wrap;position:static}.side hr{display:none}.side .side-item{display:contents}}.ready{margin:0;padding:0;list-style:none}.ready li{border-bottom:1px solid var(--line);align-items:center;gap:.7rem;padding:.55rem 0;display:flex}.ready li:last-child{border:none}.ready .what{flex:1;min-width:0}.ready .what small{color:var(--muted);display:block}.ico{border-radius:50%;flex:none;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;font-size:.8rem;font-weight:700;display:inline-flex}.ico.ok{color:var(--green);background:#dff3e6}.ico.err{color:var(--red);background:#fbe0de}.ico.warn{color:var(--amber);background:#fdf0d4}.meter{background:#e3e8ee;border-radius:4px;height:8px;overflow:hidden}.meter>i{background:var(--brand);border-radius:4px;height:100%;display:block}.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.kpi{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.8rem 1rem}.kpi .v{font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:700;line-height:1.1}.kpi .l{color:var(--muted);font-size:.85rem}.kpi .d{color:var(--muted);margin-top:.2rem;font-size:.8rem}.kpi.warn{background:#fffaf0;border-color:#ecd28b}.kpi.bad{background:#fff7f6;border-color:#f0b5b1}.chips{flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem;display:flex}.chip{border:1px solid var(--line);cursor:pointer;color:var(--ink);background:#fff;border-radius:999px;padding:.28rem .8rem;font-size:.85rem}.chip[aria-pressed=true]{background:var(--brand);color:#fff;border-color:var(--brand)}.chip .n{opacity:.75;margin-left:.35rem}a.button-link{color:var(--ink);white-space:nowrap;background:#fff;border:1px solid #b6bec9;border-radius:6px;padding:.3rem .8rem;font-size:.9rem;text-decoration:none;display:inline-block}a.button-link:hover{background:#eef2f7}.grouped{border:1px solid var(--line);background:#fff;border-radius:8px;margin-bottom:.6rem;overflow:hidden}.grouped summary,.grouped.single{cursor:pointer;align-items:center;gap:.6rem;padding:.6rem .8rem;list-style:none;display:flex}.grouped.single{cursor:default}.grouped summary::-webkit-details-marker{display:none}.grouped .grow{flex:1;min-width:0}.grouped ul.rows{border-top:1px solid var(--line);padding:.2rem .8rem .6rem;font-size:.9rem}.tag{color:#39424e;background:#eef2f7;border-radius:4px;padding:.05rem .4rem;font-size:.72rem}.view-toggle{border:1px solid #b6bec9;border-radius:6px;display:inline-flex;overflow:hidden}.view-toggle button{border:none;border-radius:0;padding:.25rem .8rem;font-size:.85rem}.view-toggle button[aria-pressed=true]{background:var(--ink);color:#fff}ul.bars{gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.bar-row{grid-template-columns:minmax(150px,230px) 1fr minmax(120px,170px);align-items:center;gap:.8rem;display:grid}@media (width<=700px){.bar-row{grid-template-columns:1fr;gap:.3rem}}.bar-track{background:#e3e8ee;border-radius:6px;height:12px;position:relative}.bar-fill{background:var(--brand);border-radius:6px;min-width:2px;position:absolute;inset:0 auto 0 0}.bar-val{text-align:right;font-variant-numeric:tabular-nums}.legend{color:var(--muted);flex-wrap:wrap;gap:1.2rem;margin-top:.8rem;font-size:.8rem;display:flex}.sw{vertical-align:middle;border-radius:3px;width:14px;height:8px;margin-right:.35rem;display:inline-block}.sw.earned{background:var(--brand)}.sw.left{background:#e3e8ee}button.kpi-button{text-align:left;cursor:pointer;font:inherit;color:var(--ink);flex-direction:column;display:flex}button.kpi-button:hover{background:#f8fafc}button.kpi-button[aria-pressed=true]{outline:2px solid var(--brand);outline-offset:-2px}button.kpi-button .v{font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:700;line-height:1.1}
