:root{--bg:#0f1115;--bg-elev:#171a21;--bg-elev-2:#1f232c;--line:#2a2f3a;--text:#f2f3f5;--text-2:#a4aab6;--text-3:#6b7280;--accent:#e8b849;--accent-ink:#1a1400;--ok:#4ade80;--warn:#f59e0b;--danger:#f87171;--info:#60a5fa;--radius:14px;--nav-h:64px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0}body{-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.45}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:700}h1{font-size:26px}h2{font-size:18px}p{margin:0}.app{flex-direction:column;min-height:100dvh;display:flex}.page{padding:20px 18px calc(var(--nav-h) + var(--safe-b) + 24px);flex:1;width:100%;max-width:640px;margin:0 auto}.app>.page:first-child{padding-top:calc(20px + var(--safe-t))}.page--admin{max-width:960px;padding-bottom:40px}.page-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:18px;display:flex}.page-head .sub{color:var(--text-2);margin-top:2px;font-size:14px}.brand{letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);font-size:12px;font-weight:700}.section{margin-top:26px}.section-title{letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px;font-size:12px;font-weight:700}.card{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.card+.card{margin-top:12px}.list{flex-direction:column;gap:10px;display:flex}.row{align-items:center;gap:12px;min-height:44px;display:flex}.row--link{cursor:pointer}.row--link:active{opacity:.7}.row .grow{flex:1;min-width:0}.row .title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.row .meta{color:var(--text-2);font-size:13px}.chev{color:var(--text-3)}.badge{background:var(--bg-elev-2);color:var(--text-2);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.badge--ok{color:var(--ok);background:#4ade8026}.badge--warn{color:var(--warn);background:#f59e0b26}.badge--danger{color:var(--danger);background:#f8717126}.badge--accent{color:var(--accent);background:#e8b8492e}.btn{border:1px solid var(--line);background:var(--bg-elev-2);min-height:48px;color:var(--text);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:0 18px;font-weight:600;transition:transform 50ms,opacity .15s;display:inline-flex}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn--danger{color:var(--danger);background:0 0;border-color:#f8717166}.btn--ghost{background:0 0}.btn--inline{width:auto;min-height:40px;padding:0 14px;font-size:14px}.btn--xl{border-radius:16px;min-height:64px;font-size:18px}.btn-row{gap:10px;margin-top:16px;display:flex}.btn-row .btn{flex:1}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--text-2);font-size:13px;font-weight:600}.field input,.field select{border:1px solid var(--line);background:var(--bg);min-height:48px;color:var(--text);border-radius:12px;outline:none;width:100%;padding:0 14px}.field input:focus,.field select:focus{border-color:var(--accent)}.field input[type=time]{width:auto;min-width:110px}.field .hint{color:var(--text-3);font-size:12px}.field .err{color:var(--danger);font-size:12px}.field--inline{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.field--inline label{flex:1}.check{cursor:pointer;align-items:center;gap:12px;min-height:44px;display:flex}.check input{width:22px;height:22px;accent-color:var(--accent)}.alert{border:1px solid;border-radius:12px;margin-bottom:14px;padding:12px 14px;font-size:14px}.alert--error{color:#fecaca;background:#f8717114;border-color:#f8717166}.alert--ok{color:#bbf7d0;background:#4ade8014;border-color:#4ade8066}.alert--info{color:#bfdbfe;background:#60a5fa14;border-color:#60a5fa66}.empty{text-align:center;color:var(--text-2);padding:48px 16px}.empty h2{color:var(--text);margin-bottom:6px}.mono{letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px}.secret{background:var(--bg);border:1px dashed var(--accent);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;display:flex}.secret .mono{word-break:break-all;flex:1}.bottom-nav{height:calc(var(--nav-h) + var(--safe-b));padding-bottom:var(--safe-b);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:10;background:#0f1115eb;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:600;display:flex}.bottom-nav a.active{color:var(--accent)}.bottom-nav svg{width:24px;height:24px}.admin-bar{z-index:9;padding-top:var(--safe-t);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#0f1115eb;position:sticky;top:0}.admin-bar-inner{flex-wrap:wrap;align-items:center;gap:4px 6px;max-width:1400px;margin:0 auto;padding:8px 12px;display:flex}.admin-bar a{color:var(--text-2);white-space:nowrap;border-radius:10px;padding:8px 12px;font-size:14px;font-weight:600}.admin-bar a.active{background:var(--bg-elev-2);color:var(--text)}.admin-bar .spacer{flex:1}.grid-2{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=700px){.grid-2{grid-template-columns:1fr 1fr}}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);padding:8px 10px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--line);vertical-align:top;padding:10px}.table-wrap{overflow-x:auto}.day-grid{grid-template-columns:1fr auto auto auto;align-items:center;gap:8px 12px;display:grid}.day-grid .head{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600}.day-grid input[type=time]{border:1px solid var(--line);background:var(--bg);min-height:40px;color:var(--text);border-radius:10px;width:100px;padding:0 8px}.day-grid input[type=time]:disabled{opacity:.35}.center{min-height:100dvh;padding:calc(24px + var(--safe-t)) 24px calc(24px + var(--safe-b));justify-content:center;align-items:center;display:flex}.center .card{width:100%;max-width:400px;padding:24px}.login-brand{text-align:center;margin-bottom:24px}.login-brand .brand{font-size:14px}.login-brand h1{margin-top:6px}.toast{left:50%;bottom:calc(var(--nav-h) + var(--safe-b) + 14px);background:var(--bg-elev-2);border:1px solid var(--line);z-index:20;border-radius:999px;padding:10px 16px;font-size:14px;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #0006}.toast--admin{bottom:20px}.sheet-backdrop{z-index:30;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg-elev);width:100%;max-width:560px;padding:20px 18px calc(20px + var(--safe-b));border:1px solid var(--line);border-radius:20px 20px 0 0;max-height:90dvh;overflow-y:auto}.sheet h2{margin-bottom:8px}.seg{background:var(--bg-elev);border:1px solid var(--line);border-radius:12px;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:38px;padding:8px 14px;font-weight:600}.seg button.active{background:var(--bg-elev-2);color:var(--text)}.seg button:disabled{opacity:.5;cursor:default}.kv{justify-content:space-between;align-items:center;min-height:34px;display:flex}.kv b{font-variant-numeric:tabular-nums}.textarea{border:1px solid var(--line);background:var(--bg);width:100%;min-height:80px;color:var(--text);resize:vertical;font:inherit;border-radius:12px;padding:12px 14px}.textarea:focus{border-color:var(--accent);outline:none}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--bg);min-height:40px;color:var(--text-2);cursor:pointer;border-radius:999px;padding:0 14px;font-weight:600}.chip--on{border-color:var(--accent);color:var(--accent);background:#e8b8492e}.chip:disabled{opacity:.6;cursor:default}.stats{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.stat{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.stat-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600}.kanban{align-items:flex-start;gap:12px;padding:12px 0 8px;display:flex;overflow-x:auto}.kanban-col{flex:1;min-width:250px}.day-grid--5{grid-template-columns:1fr auto auto auto auto}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}.duty-chip{border:1px solid var(--line);background:var(--bg-elev);color:var(--text);white-space:nowrap;cursor:pointer;font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:600;display:inline-flex}.duty-chip--ok{color:var(--ok);border-color:#4ade8080}.duty-chip--break{color:var(--warn);border-color:#f59e0b99}.duty-chip--primary{border-color:var(--accent);color:var(--accent)}.duty-chip:disabled{opacity:.6;cursor:default}.admin-bar-btn{color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;padding:8px 12px;font-size:14px;font-weight:600}.admin-bar-btn:hover{color:var(--text);background:var(--bg-elev-2)}.org-logo{object-fit:contain;width:auto;max-width:140px;height:36px;display:block}.org-logo-wrap{justify-content:center;padding:6px 0 14px;display:flex}.org-logo-wrap--left{justify-content:flex-start}.org-logo--hero{max-width:70%;height:72px}.org-logo-wrap--small .org-logo--hero{height:44px}.org-logo-wrap--large .org-logo--hero{max-width:90%;height:110px}.login-brand .org-logo--login{width:auto;max-width:100%;height:auto;max-height:160px;margin:0 auto 18px}.duty{padding:18px 16px}.duty-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.duty-state{font-size:15px;font-weight:700}.duty-timer{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:8px 0 2px;font-size:40px;font-weight:800;line-height:1.05}.duty-sub{color:var(--text-3);font-size:13px}.duty-plan{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.duty-plan span{color:var(--text-2);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:12px}.duty-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.duty-actions .btn{margin:0}.duty-actions--single{grid-template-columns:1fr}.duty-bar{background:var(--bg);border-radius:3px;height:6px;margin-top:12px;overflow:hidden}.duty-bar i{background:var(--ok);border-radius:3px;height:100%;display:block}.duty--break{border-color:#f59e0b80}.duty--working{border-color:#4ade8066}.intervals{flex-direction:column;gap:4px;margin-top:8px;display:flex}.intervals .iv{color:var(--text-2);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:13px;display:flex}.intervals .iv b{color:var(--text);font-weight:600}.wd-row{grid-template-columns:30px minmax(0,1fr) minmax(0,1fr) 56px;align-items:center;gap:6px;min-height:44px;display:grid}.wd-row input[type=time]{width:100%;min-width:0;min-height:40px;padding:0 6px;font-size:14px}.wd-row .sum{color:var(--text-3);text-align:right;font-variant-numeric:tabular-nums;min-width:44px;font-size:12px}.week-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.week-day{background:var(--bg);border:1px solid var(--line);text-align:center;border-radius:10px;min-width:0;padding:8px 6px}.week-day .d{color:var(--text-3);font-size:11px}.week-day .v{font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.week-day .p{color:var(--text-3);font-size:11px}.week-day--off{opacity:.45}.week-day--under .v{color:var(--warn)}.week-day--ok .v{color:var(--ok)}.admin-mobile{display:none}@media (width<=720px){.admin-bar-inner{display:none}.admin-mobile{align-items:center;gap:8px;padding:8px 12px;display:flex}.admin-mobile select{border:1px solid var(--line);background:var(--bg-elev);min-height:40px;color:var(--text);border-radius:10px;flex:1;padding:0 10px;font-weight:600}.admin-mobile .duty-chip{padding:7px 10px}.page--admin{padding-bottom:88px}}.mail-tiles{grid-template-columns:1fr 1fr;gap:12px;display:grid}.mail-tile{text-align:left;background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);cursor:pointer;flex-direction:column;min-height:120px;padding:14px;display:flex}.mail-tile--active{border-color:#e8b84980}.mail-tile-top{justify-content:space-between;align-items:center;display:flex}.mail-tile-icon{font-size:20px}.mail-tile-count{font-variant-numeric:tabular-nums;margin-top:8px;font-size:34px;font-weight:800;line-height:1.1}.mail-tile--active .mail-tile-count{color:var(--accent)}.mail-tile-label{margin-top:2px;font-weight:700}.mail-tile-sub{color:var(--text-3);margin-top:2px;font-size:12px}.mail-row{border-bottom:1px solid var(--line);align-items:flex-start;padding:12px 14px}.mail-row:last-child{border-bottom:0}.mail-dot{background:0 0;border-radius:50%;flex:none;width:8px;height:8px;margin-top:8px}.mail-row--unread .mail-dot{background:var(--accent)}.mail-row--unread .title,.mail-row--unread .mail-subject{font-weight:700}.mail-subject{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.mail-summary{background:#e8b8491a;border:1px solid #e8b8494d;border-radius:10px;margin-top:10px;padding:10px 12px;font-size:14px}.mail-body{white-space:pre-wrap;word-break:break-word;font:inherit;max-height:60vh;margin:12px 0 0;font-size:14px;line-height:1.5;overflow:auto}.mail-body--small{color:var(--text-2);max-height:200px;margin-top:4px;font-size:13px}.mail-thread-item{border-left:2px solid var(--line);margin-top:8px;padding-left:10px}.nav-dot{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:16px;padding:1px 5px;font-size:10px;font-weight:800;line-height:14px;position:absolute;top:-4px;right:-10px}select.inline{border:1px solid var(--line);background:var(--bg);min-height:36px;color:var(--text);border-radius:10px;padding:0 10px;font-size:14px}.cash-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.cash-input{text-align:right;font-variant-numeric:tabular-nums;font-weight:700;font-size:22px!important}.cash-total{justify-content:space-between;align-items:baseline;padding:8px 2px 14px;font-size:20px;display:flex}.cash-date{border:1px solid var(--line);background:var(--bg);min-height:36px;color:var(--text);border-radius:10px;padding:0 10px;font-size:14px}.cash-month{grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:8px;display:grid}.cash-month div{flex-direction:column;gap:2px;display:flex}.cash-row{border-bottom:1px solid var(--line);cursor:pointer;padding:12px 14px}.cash-row:last-child{border-bottom:0}.stock-row{border-bottom:1px solid var(--line);padding:12px 14px}.stock-row:last-child{border-bottom:0}.stock-qty{text-align:right;font-variant-numeric:tabular-nums;min-width:40px;font-size:22px}.stock-actions{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin-top:8px;display:grid}.stock-actions .btn{white-space:nowrap;padding-left:6px;padding-right:6px}.stock-stepper{justify-content:center;align-items:center;gap:10px;display:flex}.stock-form{background:var(--bg-elev-2);border-radius:12px;margin-top:10px;padding:12px}.stock-form input:not([type=checkbox]),.stock-form select{border:1px solid var(--line);background:var(--bg);width:100%;min-height:40px;color:var(--text);border-radius:10px;padding:0 10px;font-size:15px}.stock-form b{overflow-wrap:break-word}.stock-form input.stock-input,.stock-input{text-align:center;flex:0 0 80px;font-weight:700;width:80px!important;padding:4px!important;font-size:20px!important}.stock-step{flex:1;font-size:20px}.stock-mov{border-bottom:1px solid var(--line);padding:10px 14px}.stock-mov:last-child{border-bottom:0}.stock-cat{border-bottom:1px solid var(--line);padding:10px 14px}.stock-cat:last-child{border-bottom:0}.stock-cat .btn--sm{flex:none;width:auto;min-width:44px;padding-left:10px;padding-right:10px}.stock-cat input{flex:1;min-width:0}.abs-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.abs-actions .btn{min-height:56px;font-size:15px}.abs-row{border-bottom:1px solid var(--line);padding:12px 14px}.abs-row:last-child{border-bottom:0}.vac-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px;display:grid}.vac-grid>div{flex-direction:column;gap:2px;display:flex}.vac-grid b{font-variant-numeric:tabular-nums;font-size:20px}@media (width<=480px){.vac-grid{grid-template-columns:1fr 1fr}}.table th.r,.table td.r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
