@import"https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;500;600;700&display=swap";:root{--indigo:#14233F;--indigo-2:#1D3055;--peri:#454F73;--aqua:#1FA3B8;--aqua-d:#127287;--violet:#8E86C8;--ice:#E7EBF6;--graphite:#17202F;--bg:#F2F5FB;--card:#FFFFFF;--ink:#17202F;--mut:#5E6884;--line:#DFE5F0;--line-2:#EDF1F8;--ok:#1E9E5A;--ok-bg:#E3F4EB;--warn:#C98A06;--warn-bg:#FBF1D8;--bad:#C24A57;--bad-bg:#F9E6E8;--soft:#EBF0F9;--aqua2:#9FE6F0;--r-sm:8px;--r-md:12px;--r-lg:16px;--sh-1:0 1px 2px rgba(20,35,63,.06),0 1px 3px rgba(20,35,63,.08);--sh-2:0 4px 16px rgba(20,35,63,.1);--sh-3:0 12px 40px rgba(20,35,63,.18);--tr:.18s cubic-bezier(.2,.7,.3,1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Golos Text,Segoe UI,system-ui,-apple-system,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}::selection{background:var(--aqua2)}header{background:linear-gradient(115deg,var(--indigo) 0%,var(--indigo-2) 70%,#24406e 100%);color:#fff;padding:14px 26px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;position:relative;overflow:hidden}header .hex{position:absolute;right:-10px;top:-46px;opacity:.12;pointer-events:none}header img.logo{height:32px;display:block}header h1{font-size:15.5px;font-weight:600;letter-spacing:.2px;opacity:.95}.hbar{margin-left:auto;display:flex;align-items:center;gap:22px;flex-wrap:wrap;z-index:1}.hkpi{text-align:right}.hkpi b{font-size:19px;color:var(--aqua2);font-variant-numeric:tabular-nums;font-weight:700}.hkpi span{display:block;font-size:10px;opacity:.7;text-transform:uppercase;letter-spacing:.6px;margin-top:1px}.huser{border-left:1px solid rgba(255,255,255,.22);padding-left:18px;font-size:12px;text-align:right}.huser b{display:block;font-size:13px}.huser a{color:var(--aqua2);cursor:pointer;font-size:11px;text-decoration:none}.huser a:hover{text-decoration:underline}nav{display:flex;gap:2px;background:var(--card);padding:0 18px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40;overflow-x:auto;box-shadow:var(--sh-1)}nav button{border:0;background:transparent;padding:13px 15px 11px;cursor:pointer;font-size:13px;font-weight:600;color:var(--mut);white-space:nowrap;font-family:inherit;display:flex;align-items:center;gap:7px;border-bottom:2.5px solid transparent;transition:color var(--tr),border-color var(--tr);margin-bottom:-1px}nav button svg{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}nav button:hover{color:var(--indigo)}nav button.act{color:var(--indigo);border-bottom-color:var(--aqua)}nav button:focus-visible{outline:2px solid var(--aqua);outline-offset:-2px;border-radius:6px}main{padding:20px 26px;max-width:1660px;margin:0 auto}.fadein{animation:fadeUp .28s cubic-bezier(.16,1,.3,1) both}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:18px;margin-bottom:16px;box-shadow:var(--sh-1)}.card h2{font-size:14.5px;margin-bottom:14px;color:var(--indigo);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card h2:before{content:"";width:4px;height:16px;border-radius:2px;background:var(--aqua);flex:none}.card h3{font-size:13px;margin:10px 0 8px;color:var(--peri)}.grid{display:grid;gap:14px}.g4{grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:15px 17px;box-shadow:var(--sh-1);position:relative;overflow:hidden;transition:transform var(--tr),box-shadow var(--tr)}.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3.5px;background:var(--aqua)}.kpi:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}.kpi .v{font-size:23px;font-weight:700;color:var(--indigo);font-variant-numeric:tabular-nums;letter-spacing:-.3px}.kpi .l{font-size:11.5px;color:var(--mut);margin-top:3px}.kpi .d{font-size:12px;margin-top:5px}.pos{color:var(--ok)}.neg{color:var(--bad)}.wrn{color:var(--warn)}table{width:100%;border-collapse:collapse;font-size:12px}th{background:#f5f7fc;text-align:left;padding:7px 8px;font-size:9.5px;text-transform:uppercase;letter-spacing:.55px;color:var(--peri);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:3;font-weight:600}td{padding:5.5px 7px;border-bottom:1px solid var(--line-2);vertical-align:middle;font-variant-numeric:tabular-nums}tbody tr{transition:background .12s}tr:hover>td{background:#f6f9fe}.tbl-wrap{overflow:auto;max-height:72vh;border:1px solid var(--line);border-radius:var(--r-sm)}.bar{height:12px;background:#e3e9f4;border-radius:7px;overflow:hidden;position:relative;min-width:58px}.bar i{position:absolute;left:0;top:0;bottom:0;border-radius:7px;transition:width .4s cubic-bezier(.2,.7,.3,1)}.bar .p{background:#c2cde3}.bar .f{background:var(--aqua)}.bar.ok .f{background:var(--ok)}.bar.warn .f{background:var(--warn)}.bar.bad .f{background:var(--bad)}.pct{font-weight:700;font-variant-numeric:tabular-nums}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:10.5px;font-weight:600;white-space:nowrap;line-height:1.5}.tag:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.tag.nod:before{display:none}.t-ok{background:var(--ok-bg);color:#157347}.t-warn{background:var(--warn-bg);color:#8a6400}.t-bad{background:var(--bad-bg);color:#a32b38}.t-none{background:#edf0f6;color:#5e6884}.t-done{background:#157347;color:#fff}.t-adj{background:#eeebfa;color:#5f55a8}.t-pnr{background:#ddf2f6;color:#0c7488}.t-blue{background:#e1eff4;color:#127287}.t-ind{background:var(--indigo);color:#fff}select,input[type=date],input[type=text],input[type=number],input[type=password],textarea{border:1px solid #C4CEE0;border-radius:var(--r-sm);padding:6px 9px;font-size:12.5px;background:#fff;color:var(--ink);font-family:inherit;transition:border-color var(--tr),box-shadow var(--tr)}select:hover,input:hover:not(:disabled){border-color:#9faecb}select:focus,input:focus,textarea:focus{outline:none;border-color:var(--aqua);box-shadow:0 0 0 3px #1fa3b826}input[type=number]{width:68px;padding:4px 6px;font-size:11.5px}input[type=date]{width:106px;padding:4px 5px;font-size:11px;color:var(--peri)}td select{padding:4px 7px;font-size:11.5px;max-width:160px}td input[type=text]{padding:4px 7px;font-size:11.5px}td .smallbtn{padding:2.5px 7px;font-size:10.5px}.filters select{min-width:110px;max-width:200px}.filters input[type=text]{max-width:170px}select:disabled,input:disabled{background:#f0f3f9;color:#939db3;cursor:not-allowed;border-color:var(--line)}button.btn{border:1px solid transparent;background:var(--aqua);color:#fff;padding:8px 15px;border-radius:var(--r-sm);cursor:pointer;font-size:12.5px;font-weight:600;font-family:inherit;display:inline-flex;align-items:center;gap:6px;transition:all var(--tr);box-shadow:var(--sh-1)}button.btn:hover{background:var(--aqua-d);transform:translateY(-1px);box-shadow:var(--sh-2)}button.btn:active{transform:none}button.btn.sec{background:#edf1f9;color:var(--indigo);border-color:#c9d3e4;box-shadow:none}button.btn.sec:hover{border-color:var(--aqua);color:var(--aqua-d);background:#f7fbfc}button.btn.ind{background:var(--indigo)}button.btn.ind:hover{background:var(--indigo-2)}button.btn.dng{background:#fff;color:var(--bad);border-color:#e4b7bc;box-shadow:none}button.btn.dng:hover{background:var(--bad);color:#fff;border-color:var(--bad)}button.btn.sm{padding:5px 10px;font-size:11.5px}button:focus-visible{outline:2px solid var(--aqua);outline-offset:2px}.smallbtn{border:1px solid #C4CEE0;background:#fff;border-radius:6px;cursor:pointer;padding:3.5px 9px;font-size:11px;color:var(--aqua-d);font-weight:600;font-family:inherit;transition:all var(--tr);display:inline-flex;align-items:center;gap:4px}.smallbtn:hover{border-color:var(--aqua);background:#f0fafb;transform:translateY(-1px)}.smallbtn.danger{color:var(--bad)}.smallbtn.danger:hover{border-color:var(--bad);background:var(--bad-bg)}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:14px;padding:12px;background:#f7f9fd;border:1px solid var(--line-2);border-radius:var(--r-sm)}.filters label{font-size:10.5px;color:var(--mut);display:block;margin-bottom:3px;text-transform:uppercase;letter-spacing:.4px;font-weight:600}.chip{cursor:pointer;border:1px solid #C4CEE0;background:#fff;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;color:var(--mut);font-family:inherit;transition:all var(--tr)}.chip:hover{border-color:var(--aqua);color:var(--aqua-d)}.chip.act{background:var(--indigo);border-color:var(--indigo);color:#fff}.heat{width:34px;height:20px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;margin:0 auto}.objlink{color:var(--aqua-d);cursor:pointer;font-weight:600;text-decoration:none}.objlink:hover{text-decoration:underline}.sysrow td{background:#edf1f9!important;font-weight:700;font-size:11.5px;color:var(--indigo);border-top:1px solid var(--line)}.adjrow td{background:#f6f4fc!important}.pnrrow td{background:#eff9fb!important}.subrow td{background:#fbfcfe!important;font-size:12px}.subrow td:first-child{padding-left:28px}.mut{color:var(--mut);font-size:11.5px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#14233f80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:400;display:none;align-items:center;justify-content:center}.modal-bg.show{display:flex}.modal{background:#fff;border-radius:var(--r-lg);padding:22px;width:480px;max-width:94vw;max-height:88vh;overflow:auto;box-shadow:var(--sh-3);animation:modalIn .22s cubic-bezier(.16,1,.3,1) both}@keyframes modalIn{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.modal h3{margin-bottom:14px;color:var(--indigo);font-size:15px}.frow{margin-bottom:11px}.frow label{display:block;font-size:11px;color:var(--mut);margin-bottom:4px;font-weight:600}.frow input,.frow select,.frow textarea{width:100%}.mact{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.hist{font-size:11.5px;max-height:150px;overflow:auto;border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 9px;background:#fafbfe}.shah td{padding:2px 3px;text-align:center;font-size:10px;min-width:34px;border:1px solid #E7ECF5}.shah th{padding:4px 3px;font-size:9.5px;text-align:center}.shah .wname{text-align:left;min-width:200px;max-width:260px;font-size:11px;position:sticky;left:0;background:#fff;z-index:2}.shah .sysname{position:sticky;left:0;z-index:2;text-align:left;font-weight:700;font-size:10.5px;color:var(--indigo);background:#edf1f9;padding:4px 6px}svg text{font-family:Golos Text,Segoe UI,sans-serif}.legend{display:flex;gap:14px;font-size:11.5px;color:var(--mut);flex-wrap:wrap;margin-top:8px;align-items:center}.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:4px;vertical-align:-1px}.star{color:#c98a06;font-size:14px;letter-spacing:1px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}.note{font-size:12px;color:var(--peri);background:var(--soft);border-radius:var(--r-sm);padding:9px 13px;margin-bottom:14px;border-left:3px solid var(--aqua)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:1100px){.two-col{grid-template-columns:1fr}}.obj-head{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:14px 18px;align-items:start;margin-bottom:16px;padding:14px;background:#f7f9fd;border:1px solid var(--line-2);border-radius:10px}.obj-head .fi{min-width:0}.obj-head .fi.w2{grid-column:span 2}@media(max-width:640px){.obj-head .fi.w2{grid-column:span 1}}.obj-head .fi label{display:flex;align-items:flex-end;min-height:26px;font-size:10px;color:var(--mut);margin-bottom:5px;text-transform:uppercase;letter-spacing:.45px;font-weight:600;line-height:1.25}.obj-head .fi select,.obj-head .fi input[type=date]{width:100%}.lock{color:var(--bad);font-weight:700}.sol-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:18px 0}.sol-card{background:#fff;border-radius:16px;padding:22px;cursor:pointer;border:2px solid transparent;transition:all var(--tr);position:relative;overflow:hidden}.sol-card:hover:not(.disabled){transform:translateY(-3px);box-shadow:var(--sh-3);border-color:var(--aqua)}.sol-card.disabled{opacity:.55;cursor:not-allowed;background:#dfe5f1}.sol-card .sol-ico{width:52px;height:52px;border-radius:14px;background:var(--soft);display:flex;align-items:center;justify-content:center;margin-bottom:12px}.sol-card .sol-ico svg{width:30px;height:30px;stroke:var(--aqua-d);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sol-card h3{color:var(--indigo);font-size:16px;margin:0 0 6px}.sol-card p{color:var(--mut);font-size:12.5px;line-height:1.45}.proj-card{background:#fff;border-radius:14px;padding:18px;margin-bottom:12px;display:flex;gap:18px;flex-wrap:wrap;align-items:center;border-left:4px solid var(--aqua);transition:box-shadow var(--tr)}.proj-card:hover{box-shadow:var(--sh-2)}.proj-card .pi{min-width:110px}.proj-card .pi b{display:block;font-size:14px;color:var(--indigo)}.proj-card .pi span{font-size:10.5px;color:var(--mut);text-transform:uppercase;letter-spacing:.4px}.login-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(1200px 700px at 70% -10%,#24406e 0%,var(--indigo) 55%);z-index:200;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px}.login-box{background:#fff;border-radius:18px;padding:30px;width:370px;box-shadow:var(--sh-3);animation:modalIn .3s cubic-bezier(.16,1,.3,1) both}.login-box h2{color:var(--indigo);margin-bottom:16px;font-size:17px}.expander{cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:700;color:var(--peri)}.gantt-row{display:flex;align-items:center;gap:10px;margin-bottom:5px;font-size:11.5px}.gantt-lbl{width:215px;flex:none;text-align:right;color:var(--peri);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-track{flex:1;height:17px;background:#e7ecf5;border-radius:5px;position:relative}.gantt-bar{position:absolute;top:2px;bottom:2px;border-radius:4px;background:var(--peri);opacity:.45}.gantt-fact{position:absolute;top:5px;bottom:5px;border-radius:3px;background:var(--aqua)}.gantt-mark{position:absolute;top:-2px;bottom:-2px;width:2.5px;background:var(--bad);border-radius:2px}.subtab{display:flex;gap:0;margin-bottom:14px;flex-wrap:wrap;align-items:center;background:#e4e9f3;border-radius:10px;padding:3px;width:fit-content;max-width:100%}.subtab .chip{border:0;border-radius:8px;background:transparent;color:var(--peri);padding:7px 16px}.subtab .chip:hover{color:var(--indigo)}.subtab .chip.act{background:#fff;color:var(--indigo);box-shadow:var(--sh-1);font-weight:700}.subtab .btn,.subtab select{margin-left:8px}.subtab span[style*="flex:1"]{flex:1}.wraptxt{white-space:normal!important;word-break:break-word;line-height:1.35}.uchrow td{padding-top:10px;padding-bottom:10px}.uchrow .chip{margin:2px 1px;padding:4px 10px;font-size:11px}.rd-only{opacity:.6;pointer-events:none}.brandbar{display:none}.icon{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vertical-align:-2px}#printArea{display:none}@media print{@page{size:A4 landscape;margin:9mm}body.print-portrait @page{size:A4 portrait}nav,header,.toolbar,.filters,button,.smallbtn,.note,.chip{display:none!important}body{background:#fff}body.printing main{display:none}body.printing #printArea{display:block}#printArea .tbl-wrap{max-height:none;overflow:visible;border:none}main{max-width:none;padding:0}.card{break-inside:avoid;box-shadow:none;border:none;padding:6px}.tbl-wrap{max-height:none;overflow:visible}th{position:static}.brandbar{display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--aqua);padding:6px 2px;margin-bottom:12px;font-size:11px;color:var(--peri);-webkit-print-color-adjust:exact;print-color-adjust:exact}.brandbar img{height:26px}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.savestate{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:4px 11px;border-radius:20px;line-height:1.5;white-space:nowrap}.savestate .dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.savestate.ok{background:var(--ok-bg);color:#157347}.savestate.saving{background:var(--soft);color:var(--aqua-d)}.savestate.saving .dot{animation:blink 1s ease-in-out infinite}.savestate.err{background:var(--bad-bg);color:#a32b38}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.avatar{width:30px;height:30px;border-radius:50%;background:var(--aqua);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;border:2px solid var(--card);box-sizing:border-box;flex:none}.avatar.sm{width:24px;height:24px;font-size:10px}.avatar.rp{background:var(--indigo)}.avatar.sk{background:var(--warn)}.avatar.uch{background:var(--aqua-d)}.avatar.snab{background:var(--violet)}.presence{display:inline-flex;align-items:center}.presence .avatar:not(:first-child){margin-left:-9px}.presence .avatar.more{background:var(--soft);color:var(--peri);font-size:10px}.presence-live{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:var(--mut)}.presence-live:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px var(--ok-bg);animation:blink 1.6s ease-in-out infinite}.rolebadge{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;padding:2px 9px;border-radius:6px;background:var(--soft);color:var(--peri);white-space:nowrap}.rolebadge svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.9}.rt-toast{display:flex;align-items:center;gap:11px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--aqua);border-radius:var(--r-md);padding:10px 13px;box-shadow:var(--sh-2);font-size:12.5px;color:var(--ink);max-width:420px}.rt-toast .ava{flex:none}.rt-toast b{color:var(--indigo)}.rt-toast .act{margin-left:auto;color:var(--aqua-d);font-weight:600;cursor:pointer;white-space:nowrap}.rt-toast .act:hover{text-decoration:underline}.conflict{border:1px solid #e4b7bc;background:var(--bad-bg);border-radius:var(--r-md);padding:14px 16px}.conflict .ch{display:flex;align-items:center;gap:8px;font-weight:700;color:#a32b38;font-size:13.5px;margin-bottom:6px}.conflict p{font-size:12.5px;color:var(--peri);line-height:1.5;margin-bottom:10px}.conflict .vers{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.conflict .vcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 11px;font-size:11.5px}.conflict .vcard .who{font-size:10px;color:var(--mut);text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}.conflict .vcard b{color:var(--indigo);font-size:13px;font-variant-numeric:tabular-nums}.dropzone{border:1.5px dashed #c4cee0;border-radius:var(--r-md);padding:22px;text-align:center;background:#f7f9fd;transition:all var(--tr);cursor:pointer}.dropzone:hover{border-color:var(--aqua);background:#f0fafb}.dropzone svg{width:30px;height:30px;stroke:var(--aqua-d);fill:none;stroke-width:1.6;margin-bottom:6px}.dropzone .dt{font-size:13px;font-weight:600;color:var(--indigo)}.dropzone .dh{font-size:11px;color:var(--mut);margin-top:2px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}.thumb{position:relative;aspect-ratio:1;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,#dde5f2,#eef2f9);display:flex;align-items:center;justify-content:center}.thumb svg{width:26px;height:26px;stroke:#9faecb;fill:none;stroke-width:1.5}.thumb .x{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:#14233f99;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;cursor:pointer}.thumb .cap{position:absolute;left:0;right:0;bottom:0;background:#14233f8c;color:#fff;font-size:9px;padding:2px 4px;text-align:center}.bell{position:relative;width:38px;height:38px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--card);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--tr)}.bell:hover{border-color:var(--aqua)}.bell svg{width:18px;height:18px;stroke:var(--peri);fill:none;stroke-width:1.8}.bell .cnt{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--bad);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--card)}.notif-list{width:340px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-3);overflow:hidden}.notif-list .nh{padding:11px 14px;border-bottom:1px solid var(--line);font-weight:700;color:var(--indigo);font-size:13px;display:flex;align-items:center;justify-content:space-between}.notif-list .nh a{font-size:11px;color:var(--aqua-d);font-weight:600;cursor:pointer}.notif{display:flex;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line-2);cursor:pointer;transition:background .12s}.notif:hover{background:#f6f9fe}.notif.unread{background:#f4fafb}.notif .ni{width:30px;height:30px;border-radius:var(--r-sm);flex:none;display:flex;align-items:center;justify-content:center}.notif .ni.sk{background:var(--warn-bg);color:#8a6400}.notif .ni.sup{background:var(--bad-bg);color:#a32b38}.notif .ni.ok{background:var(--ok-bg);color:#157347}.notif .ni svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9}.notif .nb{font-size:12px;color:var(--ink);line-height:1.4}.notif .nb b{color:var(--indigo)}.notif .nt{font-size:10.5px;color:var(--mut);margin-top:2px}.crumbs{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--mut);flex-wrap:wrap}.crumbs a{color:var(--aqua-d);text-decoration:none;font-weight:600;cursor:pointer}.crumbs a:hover{text-decoration:underline}.crumbs .sep{color:#c2cde3}.crumbs .cur{color:var(--indigo);font-weight:700}.datepick{display:inline-flex;align-items:center;gap:0;border:1px solid #c4cee0;border-radius:var(--r-sm);background:#fff;overflow:hidden}.datepick .lbl{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--mut);font-weight:600;padding:0 4px 0 10px}.datepick input[type=date]{border:0;border-radius:0;padding:7px 6px;font-size:12.5px;color:var(--indigo);font-weight:600}.datepick .today{border:0;border-left:1px solid var(--line);background:#f7f9fd;color:var(--aqua-d);font-weight:600;font-size:11.5px;padding:0 11px;cursor:pointer;align-self:stretch;font-family:inherit;transition:background var(--tr)}.datepick .today:hover{background:#f0fafb}.datepick.snapshot{border-color:var(--warn);box-shadow:0 0 0 3px var(--warn-bg)}.slice-note{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#8a6400;background:var(--warn-bg);border-radius:20px;padding:3px 11px;font-weight:600}.empty{text-align:center;padding:40px 20px;color:var(--mut)}.empty .ei{width:60px;height:60px;border-radius:16px;background:var(--soft);display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px}.empty .ei svg{width:32px;height:32px;stroke:var(--aqua-d);fill:none;stroke-width:1.5}.empty h3{color:var(--indigo);font-size:15px;margin-bottom:6px}.empty p{font-size:12.5px;line-height:1.5;max-width:360px;margin:0 auto 14px}.skel{background:linear-gradient(90deg,#edf1f8 25%,#e3e9f4 37%,#edf1f8 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite;border-radius:6px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skel-row{display:flex;align-items:center;gap:12px;padding:9px 0}.skel.line{height:11px}.skel.pill{height:20px;width:64px;border-radius:20px}.skel.circle{width:30px;height:30px;border-radius:50%}.pager{display:inline-flex;align-items:center;gap:3px}.pager button{min-width:32px;height:32px;padding:0 8px;border:1px solid var(--line);background:var(--card);border-radius:var(--r-sm);font-size:12.5px;font-weight:600;color:var(--peri);font-family:inherit;cursor:pointer;transition:all var(--tr)}.pager button:hover:not(:disabled){border-color:var(--aqua);color:var(--aqua-d)}.pager button.act{background:var(--indigo);border-color:var(--indigo);color:#fff}.pager button:disabled{opacity:.4;cursor:not-allowed}.stepper{display:flex;align-items:center;flex-wrap:wrap;gap:0}.stepper .step{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--mut);white-space:nowrap}.stepper .step .num{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:#fff;flex:none}.stepper .step.done .num{background:var(--ok);border-color:var(--ok);color:#fff}.stepper .step.done{color:var(--ink)}.stepper .step.cur .num{border-color:var(--aqua);color:var(--aqua-d);box-shadow:0 0 0 3px #1fa3b826}.stepper .step.cur{color:var(--indigo);font-weight:700}.stepper .bar{width:34px;height:2px;background:var(--line);margin:0 4px;flex:none}.stepper .step.done+.bar{background:var(--ok)}.field{margin-bottom:12px}.field label{display:block;font-size:11px;color:var(--mut);margin-bottom:4px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.field input,.field select,.field textarea{width:100%}.field .hint{font-size:11px;color:var(--mut);margin-top:4px}.field.err input,.field.err select,.field.err textarea{border-color:var(--bad);box-shadow:0 0 0 3px #c24a571f}.field.err .hint{color:var(--bad)}.field.ok input{border-color:var(--ok);box-shadow:0 0 0 3px #1e9e5a1f}.field .hint.err:before{content:"⚠ "}.field .hint.ok{color:#157347}.field .hint.ok:before{content:"✓ "}.snack{display:inline-flex;align-items:center;gap:10px;background:var(--indigo);color:#fff;padding:11px 16px;border-radius:var(--r-sm);box-shadow:var(--sh-3);font-size:12.5px;font-weight:600}.snack.ok{background:#157347}.snack.err{background:var(--bad)}.snack .sx{margin-left:6px;opacity:.7;cursor:pointer}.snack .undo{margin-left:8px;color:var(--aqua2);font-weight:700;cursor:pointer}.confirm-card{background:#fff;border-radius:var(--r-lg);padding:22px;width:400px;max-width:94vw;box-shadow:var(--sh-3)}.confirm-card .ci{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.confirm-card .ci.warn{background:var(--warn-bg);color:#8a6400}.confirm-card .ci.danger{background:var(--bad-bg);color:#a32b38}.confirm-card .ci svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2}.confirm-card h3{color:var(--indigo);font-size:16px;margin-bottom:6px}.confirm-card p{font-size:12.5px;color:var(--peri);line-height:1.5;margin-bottom:16px}.audit{display:flex;align-items:flex-start;gap:11px;padding:10px 0;border-bottom:1px solid var(--line-2);font-size:12px}.audit .at{width:120px;flex:none;color:var(--mut);font-size:11px;font-variant-numeric:tabular-nums}.audit .aa{width:34px;height:24px;border-radius:6px;flex:none;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.audit .aa.appr{background:var(--ok-bg);color:#157347}.audit .aa.unlock{background:var(--warn-bg);color:#8a6400}.audit .aa.del{background:var(--bad-bg);color:#a32b38}.audit .aa.edit{background:var(--soft);color:var(--peri)}.audit .ab{color:var(--ink);line-height:1.4}.audit .ab b{color:var(--indigo)}.audit .ab .who{color:var(--mut)}.segbar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:#e3e9f4}.segbar i{height:100%}.segbar .s-done{background:var(--ok)}.segbar .s-part{background:var(--aqua)}.segbar .s-order{background:var(--violet)}.demo-note{font-size:11.5px;color:var(--peri);background:var(--soft);border-left:3px solid var(--aqua);border-radius:var(--r-sm);padding:8px 11px;margin-bottom:12px;line-height:1.45}nav a{border:0;background:transparent;padding:13px 15px 11px;cursor:pointer;font-size:13px;font-weight:600;color:var(--mut);white-space:nowrap;font-family:inherit;display:flex;align-items:center;gap:7px;border-bottom:2.5px solid transparent;transition:color var(--tr),border-color var(--tr);margin-bottom:-1px;text-decoration:none}nav a:hover{color:var(--indigo)}nav a.act{color:var(--indigo);border-bottom-color:var(--aqua)}nav a:focus-visible{outline:2px solid var(--aqua);outline-offset:-2px;border-radius:6px}.page-stub{background:var(--card);border:1px dashed var(--line);border-radius:var(--r-md);padding:40px;text-align:center;color:var(--mut)}
