@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap');html{--mpd-bg: #F6F4F1;--mpd-ink: #2B2A29;--mpd-ink-strong: #1F1E1D;--mpd-muted: #5F5A55;--mpd-label: #45403C;--mpd-line: #E4DFD9;--mpd-line-soft: #EFEBE7;--mpd-input-line: #D6CFC8;--mpd-surface-alt: #FAF8F6;--mpd-accent: #B5500A;--mpd-accent-hover: #9A4306;--mpd-accent-dark: #8A3B06;--mpd-orange: #F37A20;--mpd-orange-soft: #FDEBDD;--mpd-orange-softer: #FDF4EC;--mpd-orange-line: #F5B88A;--mpd-danger: #B42318;--mpd-side: #2B2A29;--lumo-font-family: 'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--lumo-font-size-m: 14px;--lumo-primary-color: var(--mpd-accent);--lumo-primary-text-color: var(--mpd-accent);--lumo-primary-color-50pct: rgba(243,122,32,0.35);--lumo-primary-color-10pct: rgba(181,80,10,0.1);--lumo-error-color: var(--mpd-danger);--lumo-error-text-color: var(--mpd-danger);--lumo-body-text-color: var(--mpd-ink);--lumo-header-text-color: var(--mpd-ink-strong);--lumo-secondary-text-color: var(--mpd-muted);--lumo-border-radius-m: 7px;--lumo-border-radius-s: 6px;--lumo-size-m: 40px;--vaadin-input-field-background: #fff;--vaadin-input-field-border-width: 1px;--vaadin-input-field-border-color: var(--mpd-input-line);--vaadin-input-field-hover-highlight: transparent;--vaadin-input-field-label-color: var(--mpd-label);--vaadin-input-field-label-font-size: 13px;--vaadin-input-field-label-font-weight: 500;color-scheme: light}*{box-sizing: border-box}body{margin: 0;background: var(--mpd-bg);color: var(--mpd-ink);font-family: var(--lumo-font-family);font-size: 14px;line-height: 1.45}a{color: var(--mpd-accent)}a:hover{color: var(--mpd-accent-dark)}h1,h2,h3{font-family: 'Archivo','Arial Narrow',system-ui,sans-serif;margin: 0;letter-spacing: -0.01em;color: var(--mpd-ink-strong)}p{margin: 0}.mono{font-family: 'IBM Plex Mono',ui-monospace,Menlo,monospace;font-variant-numeric: tabular-nums}.muted{color: var(--mpd-muted)}.sm{font-size: 12px;color: var(--mpd-muted)}.strong{font-weight: 700}.neg{color: var(--mpd-danger)}.r{text-align: right;justify-self: end}.eyebrow{font-family: 'IBM Plex Mono',ui-monospace,monospace;font-size: 12px;letter-spacing: .12em;text-transform: uppercase;color: var(--mpd-accent);font-weight: 500}.page-title{font-size: 32px;font-weight: 800}.h2{font-size: 18px;font-weight: 700}.h3{font-size: 17px;font-weight: 700}.stack{display: flex;flex-direction: column;gap: 24px}.stack-s{display: flex;flex-direction: column;gap: 6px}.stack-m{display: flex;flex-direction: column;gap: 14px}.row-wrap{display: flex;flex-wrap: wrap;gap: 12px;align-items: flex-end}.spread{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: flex-end;gap: 16px}.spread-base{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: baseline;gap: 8px 12px}.btn{display: inline-flex;align-items: center;justify-content: center;gap: 8px;min-height: 44px;padding: 0 18px;border-radius: 8px;border: 1px solid var(--mpd-accent);background: var(--mpd-accent);color: #fff;font: 600 14px 'IBM Plex Sans',system-ui,sans-serif;cursor: pointer;white-space: nowrap;text-decoration: none}.btn:hover{background: var(--mpd-accent-hover);color: #fff}.btn:focus-visible{outline: 2px solid var(--mpd-orange);outline-offset: 2px}.btn.ghost{background: #fff;color: var(--mpd-accent);border-color: #E0C3AC}.btn.ghost:hover{background: var(--mpd-orange-softer);color: var(--mpd-accent)}.btn.warn{background: #fff;color: var(--mpd-danger);border-color: #E3B9A0}.btn.warn:hover{background: #FBF1EA;color: var(--mpd-danger)}.btn.small{min-height: 36px;padding: 0 12px}vaadin-dialog-overlay::part(header){font-family: 'Archivo',sans-serif}vaadin-dialog-overlay::part(footer){gap: 10px}.btn[disabled]{opacity: .5;cursor: not-allowed}.card{background: #fff;border: 1px solid var(--mpd-line);border-radius: 12px;padding: 22px}.chip{display: inline-flex;align-items: center;padding: 3px 10px;border-radius: 999px;font-size: 12px;font-weight: 600;white-space: nowrap}.chip.ok{background: var(--mpd-orange-soft);color: var(--mpd-accent-dark)}.chip.pend{background: #EEEAE6;color: #4A4541}.chip.neu{background: var(--mpd-bg);color: var(--mpd-label)}.chip.firm{background: var(--mpd-ink);color: #fff}.chip.test{background: #fff;color: var(--mpd-accent-dark);border: 1px dashed var(--mpd-accent)}.bar{display: block;height: 10px;border-radius: 5px;background: #EEEAE6;overflow: hidden}.bar>span{display: block;height: 100%;background: var(--mpd-orange);border-radius: 5px}.bar.amber>span{background: #6B635C}.kpi{display: flex;flex-direction: column;gap: 6px;background: #fff;border: 1px solid var(--mpd-line);border-radius: 12px;padding: 18px 20px}.kpi .v{font-family: 'Archivo',sans-serif;font-size: 30px;font-weight: 700;color: var(--mpd-ink-strong);font-variant-numeric: tabular-nums;line-height: 1.1}.kpi .v small{font-size: 18px;color: var(--mpd-muted)}.kpi .v.money{font-size: 24px;overflow-wrap: anywhere}.kpi .l{font-size: 12px;font-weight: 600;letter-spacing: .05em;text-transform: uppercase;color: var(--mpd-muted)}.kpi .go{font-size: 12px;font-weight: 600;color: var(--mpd-accent)}.kbtn{cursor: pointer;text-align: left;font: inherit;color: inherit;width: 100%}.kpi.kbtn:hover{border-color: var(--mpd-orange);box-shadow: 0 4px 14px rgba(243,122,32,.18)}.kpi.on{border-color: var(--mpd-orange);box-shadow: inset 0 0 0 1px var(--mpd-orange)}.kpi-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(190px,100%),1fr));gap: 14px}.cards-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(420px,100%),1fr));gap: 16px}.param-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(210px,100%),1fr));gap: 16px}.data-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(320px,100%),1fr));gap: 16px}.note{font-size: 13px;font-weight: 600;color: var(--mpd-accent)}.note.err{color: var(--mpd-danger)}.banner{display: flex;flex-wrap: wrap;gap: 8px 16px;align-items: center;background: var(--mpd-orange-soft);border: 1px solid var(--mpd-orange-line);border-radius: 10px;padding: 12px 16px;font-size: 13px;color: #7A3405}.big-nota{font-family: 'Archivo',sans-serif;font-size: 44px;font-weight: 800;line-height: 1.05;color: var(--mpd-accent)}.fld{display: flex;flex-direction: column;gap: 6px;font-size: 13px;font-weight: 500;color: var(--mpd-label)}:is(vaadin-text-field,vaadin-password-field,vaadin-email-field,vaadin-integer-field,vaadin-number-field,vaadin-big-decimal-field,vaadin-date-picker,vaadin-select,vaadin-combo-box,vaadin-text-area)[focused]::part(input-field){box-shadow: inset 0 0 0 1.5px var(--mpd-accent);background-color: #FFFCFA;transition: box-shadow .12s ease,background-color .12s ease}:is(vaadin-text-field,vaadin-password-field,vaadin-email-field,vaadin-integer-field,vaadin-number-field,vaadin-big-decimal-field,vaadin-date-picker,vaadin-select,vaadin-combo-box,vaadin-text-area)[focused]::part(label){color: var(--mpd-label)}:is(vaadin-text-field,vaadin-password-field,vaadin-email-field,vaadin-integer-field,vaadin-number-field,vaadin-big-decimal-field,vaadin-date-picker,vaadin-select,vaadin-combo-box,vaadin-text-area)[invalid][focused]::part(input-field){box-shadow: inset 0 0 0 1.5px var(--mpd-danger)}vaadin-checkbox[focus-ring]::part(checkbox){box-shadow: 0 0 0 2px #fff,0 0 0 4px rgba(243,122,32,0.45)}vaadin-big-decimal-field::part(label),vaadin-date-picker::part(label),vaadin-integer-field::part(label){white-space: normal}.ro-value{min-height: 40px;padding: 8px 10px;border: 1px solid var(--mpd-input-line);border-radius: 7px;background: var(--mpd-surface-alt);display: flex;align-items: center;font-weight: 700}.brow{display: grid;grid-template-columns: minmax(120px,200px) minmax(0,1fr) 64px;gap: 12px;align-items: center;font-size: 13px}button.brow{border: 0;background: transparent;padding: 6px;margin: 0 -6px;width: calc(100% + 12px);border-radius: 6px;cursor: pointer;text-align: left;font: inherit;color: inherit}button.brow:hover,button.brow.on{background: var(--mpd-orange-softer)}button.rank{display: grid;grid-template-columns: 28px minmax(0,1fr) auto;gap: 10px;align-items: center;border: 0;border-top: 1px solid var(--mpd-line-soft);background: transparent;padding: 8px 6px;text-align: left;font: inherit;color: inherit;cursor: pointer;width: 100%}button.rank:hover{background: var(--mpd-orange-softer)}.tbl{overflow-x: auto;border: 1px solid var(--mpd-line);border-radius: 10px;background: #fff}.tbl.scroll{max-height: 760px;overflow-y: auto}.tbl.scroll-s{max-height: 460px;overflow-y: auto}.tr{display: grid;align-items: center;column-gap: 14px;padding: 10px 16px;border-top: 1px solid var(--mpd-line-soft)}.tr.th{border-top: 0;background: var(--mpd-surface-alt);font-size: 11px;font-weight: 600;letter-spacing: .06em;text-transform: uppercase;color: var(--mpd-muted);padding-top: 12px;padding-bottom: 12px;position: sticky;top: 0;z-index: 1}.tr.tot{background: var(--mpd-surface-alt);font-weight: 700}.tr.click{cursor: pointer;width: 100%;border-left: 0;border-right: 0;border-bottom: 0;background: #fff;text-align: left;font: inherit;color: inherit}.tr.click:hover{background: var(--mpd-orange-softer)}.tr.click.on{background: var(--mpd-orange-soft)}.tn{display: flex;flex-direction: column;gap: 2px;font-weight: 600;min-width: 0}.tn small{font-weight: 400;font-size: 12px;color: var(--mpd-muted)}.g-det{grid-template-columns: minmax(220px,1.5fr) 110px minmax(160px,1fr) 130px 160px;min-width: 840px}.g-hist{grid-template-columns: 150px minmax(200px,1fr) 70px 150px 90px minmax(160px,220px) 210px;min-width: 1100px}.g-rrhh{grid-template-columns: minmax(230px,1.6fr) 96px 96px 80px 160px 64px 84px 92px 92px 132px 130px 136px;min-width: 1540px}.g-col{grid-template-columns: minmax(220px,1.5fr) 120px minmax(160px,1fr) 100px 110px;min-width: 780px}.g-pue{grid-template-columns: minmax(220px,1.2fr) minmax(200px,1fr) 150px 230px 220px 80px 170px;min-width: 1360px}.g-usr{grid-template-columns: 110px minmax(220px,1.4fr) 90px 160px repeat(5,84px) 90px 330px;min-width: 1560px}.g-cat{grid-template-columns: minmax(240px,1fr) 130px 190px;min-width: 600px}.g-niv{grid-template-columns: 96px minmax(200px,1fr) 120px 130px 190px;min-width: 780px}.g-crit{grid-template-columns: 40px minmax(280px,1fr) 96px 120px 380px;min-width: 980px}.g-ev{grid-template-columns: 70px 120px 90px minmax(140px,1fr);min-width: 440px}.g-rep{min-width: 1240px}.trow{display: grid;grid-template-columns: minmax(0,1fr) auto;align-items: center;gap: 12px;width: 100%;min-height: 52px;padding: 10px 12px;border: 1px solid transparent;border-radius: 8px;background: transparent;text-align: left;cursor: pointer;font: inherit;color: inherit}.trow:hover{background: var(--mpd-orange-softer)}.trow.on{background: var(--mpd-orange-soft);border-color: var(--mpd-orange-line)}.team-list{display: flex;flex-direction: column;gap: 2px;max-height: 720px;overflow-y: auto}.team-list>*{flex: none}.crit{display: grid;grid-template-columns: 28px minmax(0,1fr) auto;gap: 12px;align-items: center;padding: 10px 0;border-top: 1px solid var(--mpd-line-soft)}.crit label{font-size: 14px;color: var(--mpd-ink)}.crit vaadin-integer-field{width: 96px}.crit vaadin-integer-field::part(input-field){font-family: 'IBM Plex Mono',ui-monospace,monospace}.sticky-foot{position: sticky;bottom: 12px;box-shadow: 0 8px 24px rgba(43,42,41,0.12);z-index: 5}.split{display: flex;flex-wrap: wrap;gap: 24px;align-items: flex-start}.split>.side-col{flex: 1 1 300px;max-width: 100%}.split>.main-col{flex: 999 1 560px;min-width: 0}.tabs{display: flex;gap: 6px;flex-wrap: wrap;border-bottom: 1px solid var(--mpd-line)}.tab{min-height: 44px;padding: 0 16px;border: 0;border-bottom: 3px solid transparent;background: transparent;font: 600 14px 'IBM Plex Sans',sans-serif;color: var(--mpd-muted);cursor: pointer}.tab.on{color: var(--mpd-accent);border-bottom-color: var(--mpd-orange)}.shell{display: flex;flex-wrap: wrap;min-height: 100vh;background: var(--mpd-bg)}.side{flex: 1 1 248px;max-width: 100%;background: var(--mpd-side);color: #F2EEEA;padding: 24px 16px;display: flex;flex-direction: column;gap: 28px}.side .brand{display: flex;flex-direction: column;gap: 10px;padding: 0 8px}.side .brand img{width: 150px;height: auto;display: block}.side .brand p{font-size: 12px;letter-spacing: .08em;text-transform: uppercase;color: #B3ACA6}.side nav{display: flex;flex-direction: column;gap: 4px}.nav{display: flex;gap: 12px;align-items: center;width: 100%;min-height: 44px;padding: 10px 12px;border-radius: 8px;border: 0;background: transparent;color: #D9D4CF;font: 500 14px 'IBM Plex Sans',system-ui,sans-serif;text-align: left;cursor: pointer;text-decoration: none}.nav:hover{background: #3A3836;color: #fff}.nav.on{background: var(--mpd-orange);color: var(--mpd-ink-strong);font-weight: 600}.nav .k{font-family: 'IBM Plex Mono',monospace;font-size: 11px;opacity: .8}.main{flex: 999 1 560px;min-width: 0;padding: 0 clamp(16px,3vw,40px) 64px;display: flex;flex-direction: column;gap: 24px}.topbar{position: sticky;top: 0;z-index: 20;margin: 0 calc(-1 * clamp(16px,3vw,40px));padding: 12px clamp(16px,3vw,40px);background: #fff;border-bottom: 1px solid var(--mpd-line);display: flex;flex-wrap: wrap;justify-content: flex-end;align-items: center;gap: 12px 16px}.avatar{width: 40px;height: 40px;flex: none;border-radius: 50%;background: var(--mpd-orange);color: var(--mpd-ink-strong);display: flex;align-items: center;justify-content: center;font-family: 'Archivo',sans-serif;font-weight: 700;font-size: 15px}.who{display: flex;flex-direction: column;min-width: 0;text-align: right}.who .name{font-weight: 600;color: var(--mpd-ink-strong)}.login{min-height: 100vh;display: flex;flex-wrap: wrap;background: var(--mpd-bg)}.login .hero{flex: 1 1 440px;background: var(--mpd-side);color: #F2EEEA;padding: 56px clamp(24px,6vw,80px);display: flex;flex-direction: column;justify-content: space-between;gap: 48px}.login .hero img{width: 220px;height: auto;display: block}.login .hero .kicker{font-family: 'IBM Plex Mono',monospace;font-size: 12px;letter-spacing: .14em;text-transform: uppercase;color: #F7A666}.login .hero h1{font-size: clamp(36px,5vw,60px);line-height: 1.02;font-weight: 800;color: #fff}.login .hero .lead{font-size: 16px;color: #CFC8C2;max-width: 460px}.login .hero .foot{font-size: 12px;color: #A39C96}.login .form-side{flex: 1 1 440px;display: flex;align-items: center;justify-content: center;padding: 48px 24px}.login .form-box{width: 100%;max-width: 380px;display: flex;flex-direction: column;gap: 18px}.login vaadin-login-form::part(form-title){display: none}.login vaadin-login-form::part(form){background: transparent;padding: 0;max-width: none;box-shadow: none}.login vaadin-login-form vaadin-button[slot="submit"],.login vaadin-login-form vaadin-button[theme~="submit"]{min-height: 44px;border-radius: 8px;font-weight: 600}@media (max-width: 720px){.page-title{font-size: 26px}.big-nota{font-size: 36px}}