@font-face{font-family:Bodoni Moda;src:url(/fonts/bodoni-moda.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}@font-face{font-family:Bodoni Moda;src:url(/fonts/bodoni-moda-italic.woff2) format("woff2");font-weight:400 900;font-style:italic;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/plex-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/plex-mono-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--paper: #F4F2EC;--paper-2: #EAE7DE;--white: #FCFBF8;--ink: #0E2A2F;--ink-deep: #091E22;--ink-2: #31494D;--ink-3: #52666A;--teal: #1E7B78;--teal-deep: #145B59;--aqua: #CFE7E1;--aqua-2: #E3F1ED;--coral: #E4694C;--coral-deep: #B9462E;--coral-soft: #FBE9E4;--amber: #B8860B;--amber-soft: #F7EBCF;--green: #2E7D4F;--green-soft: #DFF0E3;--line: rgba(14, 42, 47, .16);--line-soft: rgba(14, 42, 47, .07);--line-inv: rgba(244, 242, 236, .18);--muted-inv: rgba(244, 242, 236, .72);--f-display: "Bodoni Moda", "Didot", Georgia, serif;--f-text: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;--f-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--side: 250px;--ease: cubic-bezier(.2, .7, .2, 1);--r: 8px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:400 .95rem/1.5 var(--f-text);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,ul,ol,dl,dd,figure,fieldset{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:2px}::selection{background:var(--ink);color:var(--paper)}[hidden]{display:none!important}.mono{font-family:var(--f-mono)}.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.muted{color:var(--ink-3)}.small{font-size:.82rem}.right{text-align:right}.nowrap{white-space:nowrap}.link{color:var(--teal-deep);text-decoration:underline;text-underline-offset:3px;cursor:pointer;background:none;border:0;padding:0}.link:hover{color:var(--ink)}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row--between{justify-content:space-between}.stack{display:grid;gap:14px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 20px}.grid-2>*,.grid-3>*,.grid-4>*,.kpis>*{min-width:0}.span-2{grid-column:span 2}.span-all{grid-column:1 / -1}hr.hair{border:0;border-top:1px solid var(--line);margin:18px 0}.shell{display:grid;grid-template-columns:var(--side) minmax(0,1fr);min-height:100dvh}.side{position:sticky;top:0;height:100dvh;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;overflow-y:auto}.side__brand{display:flex;align-items:center;gap:12px;padding:22px 22px 18px;border-bottom:1px solid var(--line-inv)}.side__brand svg{height:30px;width:auto}.side__brand .mark{display:flex;align-items:center}.side__brand b{font:500 1.05rem/1 var(--f-display);letter-spacing:.01em}.side__brand small{display:block;margin-top:4px;font:500 .58rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-inv)}.side__group{padding:14px 12px 6px}.side__label{padding:8px 12px 6px;font:500 .6rem/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:#f4f2ec73}.side__link{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:6px;color:var(--muted-inv);font-size:.9rem;font-weight:500;transition:background .2s,color .2s}.side__link svg{width:17px;height:17px;flex:none;opacity:.8}.side__link:hover{background:#f4f2ec12;color:var(--paper)}.side__link.is-active{background:var(--paper);color:var(--ink)}.side__link.is-active svg{opacity:1}.side__link .pill{margin-left:auto}.side__foot{margin-top:auto;padding:16px 20px 20px;border-top:1px solid var(--line-inv);font-size:.82rem;color:var(--muted-inv)}.side__foot b{color:var(--paper);font-weight:600}.side__foot .row{margin-top:10px}.main{min-width:0;display:flex;flex-direction:column}.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;min-height:58px;padding:0 clamp(16px,3vw,36px);background:#f4f2ece0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.top__crumb{font:500 .68rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.top__spacer{flex:1}.burger{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:none;cursor:pointer;position:relative}.burger span{position:absolute;left:11px;right:11px;height:1.5px;background:var(--ink)}.burger span:first-child{top:15px}.burger span:last-child{top:23px}.lang{display:inline-flex;gap:6px;font:500 .72rem/1 var(--f-mono);letter-spacing:.1em}.lang button{background:none;border:0;padding:6px 2px;cursor:pointer;color:var(--ink-3);border-bottom:1px solid transparent}.lang button.is-active{color:var(--ink);border-color:var(--ink)}.page{padding:clamp(18px,3vw,36px) clamp(16px,3vw,36px) 80px;display:grid;gap:22px;align-content:start}.page--narrow{max-width:900px}.page__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:14px 24px;padding-bottom:18px;border-bottom:1px solid var(--line)}.page__title{font:500 clamp(1.7rem,3vw,2.5rem)/1.05 var(--f-display);letter-spacing:-.02em}.page__sub{margin-top:6px;color:var(--ink-2);font-size:.92rem;max-width:70ch}.eyebrow{display:flex;align-items:center;gap:10px;font:500 .66rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--coral)}.page__actions{display:flex;flex-wrap:wrap;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;padding:10px 18px;border-radius:999px;border:1px solid transparent;font:600 .86rem/1 var(--f-text);white-space:nowrap;transition:background .2s,color .2s,border-color .2s,transform .2s;background:var(--ink);color:var(--paper)}.btn svg{width:15px;height:15px}.btn:hover{background:var(--teal-deep)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--ghost{background:none;border-color:var(--line);color:var(--ink)}.btn--ghost:hover{background:var(--white);border-color:var(--ink)}.btn--coral{background:var(--coral);color:var(--ink)}.btn--coral:hover{background:var(--ink);color:var(--paper)}.btn--teal{background:var(--teal)}.btn--danger{background:none;border-color:var(--coral-deep);color:var(--coral-deep)}.btn--danger:hover{background:var(--coral-deep);color:var(--paper)}.btn--sm{padding:7px 12px;font-size:.78rem}.btn--xs{padding:5px 9px;font-size:.72rem}.btn--icon{padding:8px;border-radius:50%}.card{min-width:0;background:var(--white);border:1px solid var(--line-soft);border-radius:10px;padding:18px 20px}.card--flush{padding:0;overflow:hidden}.card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:14px;border-bottom:1px dashed var(--line)}.card--flush .card__head{padding:14px 18px;margin:0;border-bottom:1px solid var(--line-soft)}.card__title{font:500 1.15rem/1.2 var(--f-display)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.kpi{background:var(--white);border:1px solid var(--line-soft);border-radius:10px;padding:16px 18px;display:grid;gap:6px;position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--teal)}.kpi--coral:before{background:var(--coral)}.kpi--amber:before{background:var(--amber)}.kpi--ink:before{background:var(--ink)}.kpi__label{font:500 .62rem/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.kpi__value{font:500 1.7rem/1 var(--f-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.kpi__sub{font-size:.8rem;color:var(--ink-3)}.kpi--link{cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s}.kpi--link:hover{transform:translateY(-2px);box-shadow:0 18px 30px -22px #0e2a2f80}.tbl-wrap{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:.88rem}.tbl th{text-align:left;padding:10px 12px;font:500 .62rem/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--white);position:sticky;top:0;z-index:1}.tbl th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.tbl th.sortable:hover{color:var(--ink)}.tbl th.num,.tbl td.num{text-align:right}.tbl td{padding:10px 12px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:0}.tbl tbody tr.clickable{cursor:pointer;transition:background .15s}.tbl tbody tr.clickable:hover{background:var(--aqua-2)}.tbl tr.is-muted td{color:var(--ink-3)}.tbl tfoot td{font-weight:600;border-top:1px solid var(--line);background:var(--paper)}.tbl--compact td,.tbl--compact th{padding:6px 10px}.tbl input,.tbl select{padding:7px 9px;font-size:.86rem}.tbl .cell-strong{font-weight:600}.tbl .cell-sub{display:block;font-size:.76rem;color:var(--ink-3)}.tbl-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line-soft);background:var(--white)}.tbl-toolbar .search{flex:1 1 220px;max-width:360px}.tbl-count{font:400 .7rem/1 var(--f-mono);color:var(--ink-3);margin-left:auto;letter-spacing:.05em}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font:500 .68rem/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:var(--paper-2);color:var(--ink-2);border:1px solid transparent}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}.badge--teal{background:var(--aqua-2);color:var(--teal-deep)}.badge--green{background:var(--green-soft);color:var(--green)}.badge--amber{background:var(--amber-soft);color:var(--amber)}.badge--coral{background:var(--coral-soft);color:var(--coral-deep)}.badge--ink{background:var(--ink);color:var(--paper)}.badge--ghost{background:none;border-color:var(--line)}.pill{display:inline-flex;min-width:20px;height:20px;padding:0 6px;align-items:center;justify-content:center;border-radius:999px;background:var(--coral);color:var(--ink);font:600 .68rem/1 var(--f-mono)}.form{display:grid;gap:16px}.field{display:grid;gap:6px;align-content:start;min-width:0}.field>label,.field__label{font:500 .64rem/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.field .req{color:var(--coral-deep);margin-left:3px}.field input,.field select,.field textarea,.input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--paper);font-size:.92rem;line-height:1.35;transition:border-color .2s,box-shadow .2s,background .2s;appearance:none;-webkit-appearance:none;min-width:0}.field select,select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%230E2A2F' stroke-width='1.5'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}.field textarea{resize:vertical;min-height:88px}.field input:hover,.field select:hover,.field textarea:hover,.input:hover{border-color:#0e2a2f66}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #1e7b782e;background:var(--white)}.field input[type=number],.num-input{font-family:var(--f-mono);text-align:right}.field input[type=checkbox]{width:18px;height:18px;accent-color:var(--teal-deep);padding:0}.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-color:var(--coral-deep)}.field__err{font-size:.78rem;color:var(--coral-deep)}.field__hint{font-size:.78rem;color:var(--ink-3)}.field--inline{display:flex;align-items:center;gap:10px}.field--inline>label{text-transform:none;letter-spacing:0;font:500 .9rem/1.3 var(--f-text);color:var(--ink);cursor:pointer}.field .with-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.form__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;padding-top:12px;border-top:1px solid var(--line-soft)}.form__foot .left{margin-right:auto}.fieldset{border:1px solid var(--line-soft);border-radius:8px;padding:14px 16px;display:grid;gap:14px}.fieldset>legend{padding:0 6px;font:500 .64rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.dropzone{border:1.5px dashed var(--line);border-radius:8px;padding:22px;text-align:center;color:var(--ink-3);font-size:.88rem;cursor:pointer;transition:border-color .2s,background .2s}.dropzone:hover,.dropzone.is-over{border-color:var(--teal);background:var(--aqua-2);color:var(--ink)}.alert{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:8px;font-size:.88rem;background:var(--aqua-2);color:var(--ink);border:1px solid rgba(30,123,120,.25)}.alert--warn{background:var(--amber-soft);border-color:#b8860b59}.alert--error{background:var(--coral-soft);border-color:#b9462e59;color:#7a2a18}.alert--ok{background:var(--green-soft);border-color:#2e7d4f4d}.alert svg{width:18px;height:18px;flex:none;margin-top:1px}.empty{text-align:center;padding:40px 20px;color:var(--ink-3)}.empty h3{font:400 1.4rem/1.2 var(--f-display);color:var(--ink);margin-bottom:6px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto}.tabs button{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:10px 14px;cursor:pointer;font:500 .86rem/1 var(--f-text);color:var(--ink-3);white-space:nowrap}.tabs button.is-active{color:var(--ink);border-color:var(--ink)}.tabs button:hover{color:var(--ink)}.dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 18px;font-size:.9rem}.dl dt{font:500 .64rem/1.6 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.dl dd{min-width:0;overflow-wrap:anywhere}.timeline{display:grid;gap:0}.timeline__item{display:grid;grid-template-columns:14px minmax(0,1fr);gap:12px;padding:8px 0;font-size:.84rem}.timeline__dot{width:8px;height:8px;border-radius:50%;background:var(--teal);margin-top:6px}.timeline__meta{font:400 .68rem/1.4 var(--f-mono);color:var(--ink-3)}.doc{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:.88rem}.doc:last-child{border-bottom:0}.doc__ic{width:34px;height:34px;border-radius:8px;background:var(--aqua-2);color:var(--teal-deep);display:grid;place-items:center;flex:none}.doc__ic svg{width:17px;height:17px}.doc__name{font-weight:600;overflow-wrap:anywhere}.doc__meta{font:400 .7rem/1.4 var(--f-mono);color:var(--ink-3)}.doc__acts{margin-left:auto;display:flex;gap:6px;flex:none}.progress{height:6px;border-radius:999px;background:var(--paper-2);overflow:hidden}.progress>i{display:block;height:100%;background:var(--teal)}.progress--coral>i{background:var(--coral)}.total-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:8px;background:var(--paper-2);font-family:var(--f-mono);font-size:.86rem}.total-bar.is-ok{background:var(--green-soft);color:var(--green)}.total-bar.is-warn{background:var(--coral-soft);color:var(--coral-deep)}.chart{width:100%;height:auto;display:block}.chart text{font:500 10px var(--f-mono);fill:var(--ink-3)}.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font:400 .72rem/1.4 var(--f-mono);color:var(--ink-2)}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}.sev-high{color:var(--coral-deep)}.sev-medium{color:var(--amber)}.sev-low{color:var(--ink-3)}.steps{display:flex;gap:6px;font:500 .68rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);flex-wrap:wrap}.steps span{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid var(--line)}.steps span.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.steps span.is-done{color:var(--teal-deep);border-color:var(--teal)}.actions-cell{display:flex;gap:6px;justify-content:flex-end}.modal-back{position:fixed;inset:0;z-index:80;background:#091e2280;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:20px;overflow-y:auto}.modal{width:min(100%,var(--mw, 640px));background:var(--white);border-radius:12px;box-shadow:0 50px 100px -40px #0009;max-height:calc(100dvh - 40px);display:flex;flex-direction:column}.modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px 14px;border-bottom:1px solid var(--line-soft)}.modal__title{font:500 1.35rem/1.15 var(--f-display)}.modal__body{padding:18px 22px;overflow-y:auto}.modal__close{background:none;border:1px solid var(--line);border-radius:50%;width:34px;height:34px;cursor:pointer;display:grid;place-items:center}.modal__close:hover{background:var(--ink);color:var(--paper)}.toasts{position:fixed;right:18px;bottom:18px;z-index:90;display:grid;gap:8px}.toast{padding:12px 16px;border-radius:8px;background:var(--ink);color:var(--paper);font-size:.88rem;box-shadow:0 20px 40px -20px #00000080;animation:rise .35s var(--ease) both;max-width:380px}.toast--error{background:var(--coral-deep)}.toast--ok{background:var(--teal-deep)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.auth{min-height:100dvh;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.auth__side{background:var(--ink);color:var(--paper);padding:clamp(28px,5vw,64px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth__side:after{content:"";position:absolute;right:-80px;bottom:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(closest-side,rgba(30,123,120,.55),transparent)}.auth__side h1{font:500 clamp(2rem,4vw,3.2rem)/1.02 var(--f-display);letter-spacing:-.02em;margin-top:60px}.auth__side h1 em{font-style:italic;font-weight:400;color:var(--aqua)}.auth__side p{margin-top:18px;color:var(--muted-inv);max-width:42ch}.auth__main{display:grid;place-items:center;padding:32px}.auth__card{width:min(100%,420px);display:grid;gap:18px}.auth__card h2{font:500 1.8rem/1.1 var(--f-display)}.print-only{display:none}@media print{.side,.top,.page__actions,.no-print,.toasts{display:none!important}.shell{grid-template-columns:1fr}.page{padding:0;gap:14px}.card{border-color:#999;break-inside:avoid}.print-only{display:block}body{background:#fff;font-size:11pt}.tbl th{position:static}a[href]:after{content:""}}@media(max-width:1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1100px){.shell{grid-template-columns:1fr}.side{position:fixed;inset:0 auto 0 0;width:min(86vw,320px);z-index:70;transform:translate(-100%);transition:transform .3s var(--ease);box-shadow:0 0 80px #0006}.side.is-open{transform:none}.burger{display:block}.auth{grid-template-columns:1fr}.auth__side{min-height:180px}.auth__side h1{margin-top:18px;font-size:1.7rem}.auth__side p{display:none}}@media(max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.span-2{grid-column:auto}.page__head{align-items:start;flex-direction:column}.modal{max-height:calc(100dvh - 16px)}.modal-back{padding:8px}}
