@font-face{font-family:Akrobat;src:url('/assets/fonts/Akrobat-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:Akrobat;src:url('/assets/fonts/Akrobat-SemiBold.otf') format('opentype');font-weight:600;font-display:swap}
@font-face{font-family:Akrobat;src:url('/assets/fonts/Akrobat-Bold.otf') format('opentype');font-weight:700;font-display:swap}
:root{--green:#59665c;--green-deep:#245242;--wood:#d5792a;--sand:#f4eee4;--paper:#fffaf2;--line:#dfd4c3;--ink:#17231e;--muted:#66746d;--danger:#9b2f21;--shadow:0 20px 55px rgba(36,82,66,.10);font-family:Akrobat,'Arial Narrow',Arial,sans-serif;color:var(--ink);background:var(--sand);font-size:18px;line-height:1.4;color-scheme:light}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% -20%,rgba(213,121,42,.12),transparent 32%),var(--sand)}button,input,select{font:inherit}.shell{min-height:100vh}.topbar{height:88px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px max(22px,calc((100vw - 1160px)/2));color:#fff;background:var(--green)}.brand{display:flex;width:max-content}.brand img{display:block;width:116px;height:66px;object-fit:contain}.product{text-align:center;display:grid;line-height:1.05}.product span{font-size:23px;font-weight:700}.product small{margin-top:5px;color:rgba(255,255,255,.62);font-size:14px}.ghost{justify-self:end;border:1px solid rgba(255,255,255,.28);border-radius:8px;padding:9px 15px;color:#fff;background:transparent;font-weight:600}.ghost:hover{background:rgba(255,255,255,.1)}
.auth-layout{min-height:calc(100vh - 88px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,430px);align-items:center;gap:70px;width:min(1100px,calc(100% - 40px));margin:auto;padding:60px 0 90px}.auth-copy h1{max-width:650px;margin:12px 0 18px;color:var(--green-deep);font-size:clamp(46px,6.8vw,82px);line-height:.94;letter-spacing:-1.5px}.auth-copy p{max-width:550px;margin:0;color:var(--muted);font-size:22px}.eyebrow{color:var(--wood);font-size:14px;font-weight:700;letter-spacing:.12em}.panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.login-card{padding:36px}.login-mark{width:max-content;margin-bottom:24px;border-radius:6px;padding:6px 10px;color:#fff;background:var(--wood);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.login-card h2{margin:0;color:var(--green-deep);font-size:34px}.login-card>p{margin:4px 0 25px;color:var(--muted)}form{display:grid;gap:15px}label{display:grid;gap:6px;font-size:15px;font-weight:600}input,select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:8px;padding:10px 13px;color:var(--ink);background:#fff;font-weight:400;outline:none}input:focus,select:focus{border-color:var(--wood);box-shadow:0 0 0 3px rgba(213,121,42,.13)}button{border:0;cursor:pointer}.primary{min-height:48px;border-radius:8px;padding:10px 17px;color:#fff;background:var(--green-deep);font-weight:700}.primary:hover{background:#173f32}.primary:disabled{cursor:wait;opacity:.55}.error{min-height:22px;color:var(--danger)!important;font-weight:600}
.workspace{width:min(1160px,calc(100% - 40px));margin:auto;padding:52px 0 100px}.welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.welcome h1{margin:7px 0 3px;color:var(--green-deep);font-size:clamp(38px,5vw,56px);line-height:1}.welcome p{margin:0;color:var(--muted);font-size:19px}.system-status{display:flex;align-items:center;gap:8px;border:1px solid rgba(36,82,66,.14);border-radius:99px;padding:8px 13px;color:var(--green-deep);background:rgba(255,250,242,.7);font-size:15px;font-weight:600}.system-status i{width:9px;height:9px;border-radius:50%;background:#3b9e65;box-shadow:0 0 0 4px rgba(59,158,101,.12)}.gate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.gate{position:relative;overflow:hidden;min-height:270px;padding:26px;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.gate:after{content:'';position:absolute;right:-46px;top:-56px;width:150px;height:150px;border:24px solid rgba(89,102,92,.07);border-radius:50%}.gate .eyebrow{position:relative;z-index:1}.gate h2{position:relative;z-index:1;margin:10px 0 4px;color:var(--green-deep);font-size:30px;line-height:1.05}.gate p{position:relative;z-index:1;max-width:260px;margin:0;color:var(--muted);font-size:16px}.gate .open{position:relative;z-index:1;width:100%;min-height:54px;margin-top:auto;border-radius:9px;color:#fff;background:var(--wood);font-weight:700;font-size:20px}.gate .open:hover{background:#bb6620}.gate .open:disabled{cursor:wait;opacity:.62}.state{position:relative;z-index:1;display:block;margin-top:11px;font-size:14px;font-weight:600}.state.wait{color:#846523}.state.ok{color:#2c7c4d}.state.fail{color:var(--danger)}.empty{padding:34px;text-align:center}.empty span{color:var(--green-deep);font-size:26px;font-weight:700}.empty p{margin:5px 0;color:var(--muted)}
.admin{margin-top:58px;border-top:1px solid var(--line);padding-top:25px}.admin>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-radius:12px;color:#fff;background:var(--green);cursor:pointer}.admin>summary::-webkit-details-marker{display:none}.admin>summary span:first-child{display:grid}.admin>summary b{font-size:22px}.admin>summary small{color:rgba(255,255,255,.68)}.summary-action{border:1px solid rgba(255,255,255,.25);border-radius:7px;padding:7px 11px;font-size:14px;font-weight:600}.admin[open] .summary-action{font-size:0}.admin[open] .summary-action:after{content:'Свернуть';font-size:14px}.admin-content{padding-top:28px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.section-title h2{margin:4px 0;color:var(--green-deep);font-size:34px}.secondary{border:1px solid var(--green-deep);border-radius:8px;padding:9px 14px;color:var(--green-deep);background:transparent;font-weight:600}.secondary:hover{background:rgba(36,82,66,.06)}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.compact{position:relative;padding:25px;align-content:start}.compact h3{margin:0;color:var(--green-deep);font-size:25px}.compact>p{margin:-9px 0 4px;color:var(--muted);font-size:15px}.form-number{position:absolute;right:20px;top:15px;color:rgba(213,121,42,.22);font-size:44px;font-weight:700}.catalog{margin-top:17px;padding:24px;overflow:auto}.catalog-heading{display:flex;justify-content:space-between;align-items:center}.catalog-heading h3{margin:0;color:var(--green-deep);font-size:25px}.catalog-heading span{color:var(--muted);font-size:14px}.catalog table{width:100%;margin-top:15px;border-collapse:collapse;font-size:15px}.catalog th,.catalog td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}.catalog th{color:var(--wood);font-size:13px;font-weight:700;letter-spacing:.04em}.confirm-dialog{width:min(420px,calc(100% - 28px));border:1px solid var(--line);border-radius:14px;padding:28px;color:var(--ink);background:var(--paper);box-shadow:0 28px 80px rgba(23,35,30,.35)}.confirm-dialog::backdrop{background:rgba(23,35,30,.52);backdrop-filter:blur(3px)}.confirm-dialog h2{margin:9px 0 5px;color:var(--green-deep);font-size:30px}.confirm-dialog p{margin:0 0 23px;color:var(--muted)}.dialog-mark{width:max-content;border-radius:6px;padding:5px 9px;color:#fff;background:var(--wood);font-size:13px;font-weight:700;letter-spacing:.08em}.dialog-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px}.toast{position:fixed;right:24px;bottom:24px;z-index:20;max-width:min(420px,calc(100vw - 32px));border-left:4px solid var(--wood);border-radius:8px;padding:14px 18px;color:#fff;background:var(--green-deep);box-shadow:0 16px 45px rgba(23,35,30,.28)}.toast.error{border-left-color:#e9a096;background:var(--danger)}.hidden{display:none!important}
@media(max-width:820px){.topbar{grid-template-columns:1fr auto}.product{display:none}.auth-layout{grid-template-columns:1fr;gap:32px;padding:44px 0}.auth-copy{text-align:center}.auth-copy p{margin:auto}.login-card{width:min(430px,100%);margin:auto}.admin-grid{grid-template-columns:1fr}}
@media(max-width:560px){:root{font-size:17px}.topbar{height:76px;padding:8px 16px}.brand img{width:95px;height:58px}.workspace{width:calc(100% - 28px);padding:34px 0 80px}.welcome{display:grid;margin-bottom:22px}.system-status{width:max-content}.gate-grid{grid-template-columns:1fr}.gate{min-height:245px}.auth-layout{width:calc(100% - 28px);padding:32px 0 60px}.auth-copy h1{font-size:48px}.auth-copy p{font-size:18px}.login-card{padding:25px}.section-title{align-items:flex-start}.admin>summary{padding:15px}.summary-action{display:none}.catalog-heading{display:block}.catalog-heading span{display:block;margin-top:3px}.toast{right:16px;bottom:16px}.compact{padding:21px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.compact label small{color:var(--muted);font-size:12px;font-weight:400}
.catalog-section+.catalog-section{margin-top:28px}.catalog-section h4{margin:16px 0 4px;color:var(--green-deep);font-size:21px}.catalog td small{display:block;color:var(--muted);font-size:13px}.table-action{min-height:34px;border:1px solid var(--line);border-radius:7px;padding:5px 9px;color:var(--green-deep);background:#fff;font-weight:600;white-space:nowrap}.table-action:hover{border-color:var(--wood)}.table-action:disabled{opacity:.5}.table-select{min-width:150px;min-height:36px;padding:4px 8px;font-size:14px}.record-status{display:inline-block;border-radius:99px;padding:4px 8px;font-size:13px;font-weight:700}.record-status.active{color:#246541;background:#e6f3e9}.record-status.disabled{color:#85534b;background:#f5e8e5}
.gate.unavailable{background:#f1eee7}.gate.unavailable .open:disabled{cursor:not-allowed;background:#7d867f;opacity:1}.gate.unavailable:after{opacity:.45}
