:root{--bg: #f4f5f7;--surface: #ffffff;--border: #e4e6eb;--text: #14161a;--muted: #6b7280;--accent: #e11d2e;--accent-dark: #b3151f;--ok: #16a34a;--warn: #b45309;--radius: 16px;--shadow-sm: 0 1px 2px rgba(16, 19, 26, .06), 0 2px 8px rgba(16, 19, 26, .05);--shadow-md: 0 8px 24px rgba(16, 19, 26, .1);--shadow-lg: 0 24px 64px rgba(16, 19, 26, .22)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,Inter,system-ui,-apple-system,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}.hidden-input{display:none}.navbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 32px;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;background:none;border:0;padding:4px}.logo{height:22px;width:auto;fill:var(--text);display:block}.nav-actions{display:flex;align-items:center;gap:10px}.nav-link{border:0;background:transparent;color:var(--muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:13px;padding:10px 14px;border-radius:10px;transition:color .15s,background .15s}.nav-link:hover{color:var(--text);background:#eef0f4}.nav-link.active{color:var(--text);background:#e9ebf0}.nav-upload{border:0;border-radius:10px;background:var(--accent);color:#fff;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:13px;padding:11px 18px;box-shadow:var(--shadow-sm);transition:background .15s,transform .12s}.nav-upload:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-1px)}.nav-upload:disabled{opacity:.6;cursor:progress}.split-btn{display:inline-flex;align-items:stretch;width:172px;border-radius:10px;overflow:hidden;background:var(--accent);box-shadow:var(--shadow-sm);transition:background .15s}.split-btn:hover{background:var(--accent-dark)}.split-part{border:0;background:transparent;color:#fff;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:13px;padding:11px 6px;white-space:nowrap;overflow:hidden;transition:background .15s}.split-part:hover:not(:disabled){background:#0000002e}.split-part:disabled{opacity:.55;cursor:not-allowed}.split-btn.is-busy .split-part{cursor:progress}.split-upload{flex:1 1 auto;min-width:0}.split-divider{flex:0 0 1px;background:#ffffff80;margin:7px 0;opacity:0;transition:opacity .18s}.split-view{flex:0 0 0;padding-left:0;padding-right:0;opacity:0;transition:flex-basis .18s ease,opacity .18s ease}.split-btn:hover .split-divider,.split-btn:focus-within .split-divider{opacity:1}.split-btn:hover .split-view,.split-btn:focus-within .split-view{flex:0 0 72px;opacity:1}.label-short{display:none}.split-btn:hover .label-full,.split-btn:focus-within .label-full{display:none}.split-btn:hover .label-short,.split-btn:focus-within .label-short{display:inline}.split-btn.is-busy .label-short{display:none!important}.split-btn.is-busy .label-full{display:inline!important}.page{max-width:1200px;margin:0 auto;padding:36px 32px 72px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:26px}.page-head h1{margin:0 0 6px;font-size:28px;letter-spacing:-.02em}.page-head-actions{display:flex;gap:10px}.date-picker{display:flex;align-items:center;gap:8px}.date-field{position:relative;display:inline-flex}.date-native{position:absolute;left:14px;bottom:0;width:1px;height:1px;padding:0;border:0;opacity:0;pointer-events:none}.date-display{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:9px 13px;font:inherit;font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;transition:border-color .15s,background .15s}.date-display:hover{background:#f0f1f4}.date-display svg{color:var(--muted);flex:0 0 auto}.date-display:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #e11d2e1f}.step-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);width:36px;height:38px;border-radius:10px;font-size:20px;line-height:1}.step-btn:hover:not(:disabled){background:#f0f1f4}.step-btn:disabled{opacity:.4;cursor:not-allowed}.small-btn{padding:8px 14px}.muted{color:var(--muted);margin:0}.small{font-size:13px}.search{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:10px 14px;min-width:220px;outline:none}.search:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e11d2e1f}.primary-btn{border:0;background:var(--text);color:#fff;border-radius:10px;padding:10px 18px;font-weight:600;transition:opacity .15s,transform .12s}.primary-btn:hover{opacity:.88;transform:translateY(-1px)}.ghost-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:10px 16px;font-weight:600}.ghost-btn:hover:not(:disabled){background:#f0f1f4}.ghost-btn:disabled{opacity:.5;cursor:not-allowed}.danger-btn{border:1px solid #f2c9cd;background:#fff5f6;color:var(--accent-dark);border-radius:10px;padding:10px 16px;font-weight:600}.danger-btn:hover{background:#ffe9eb}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}.card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 12px;box-shadow:var(--shadow-sm);transition:transform .16s ease,box-shadow .16s ease,border-color .16s}.employee-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#d6d9e0}.employee-card{display:flex;flex-direction:column;gap:6px}.card-top{display:flex;align-items:center;gap:9px}.avatar{flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;overflow:hidden;background:linear-gradient(140deg,#22252b,#4b5058)}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.photo-initials{color:#fff;font-weight:700;font-size:14px;letter-spacing:.02em}.photo-edit .photo-initials{font-size:30px}.badge{flex:0 0 auto;font-size:10.5px;font-weight:700;line-height:1.2;padding:3px 7px;border-radius:999px;letter-spacing:.02em;white-space:nowrap}.badge-on{background:#e8f7ee;color:var(--ok)}.badge-off{background:#f1f2f5;color:var(--muted)}.badge-warn{background:#fff0db;color:#b45309}.badge-rest{background:#ffe3e5;color:#b3151f}.employee-card.card-absence{background:#fff3e0;border-color:#f0ad4e}.employee-card.card-absence:hover{border-color:#e9a93f}.employee-card.card-off{background:#ffeaec;border-color:#ee8189}.employee-card.card-off:hover{border-color:#e2848b}.employee-card.card-absence .chip{background:#fce8cb}.employee-card.card-off .chip{background:#fbd6d9}.card-name{flex:1;min-width:0;margin:0;font-size:13.5px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}.chips{display:flex;flex-wrap:wrap;gap:4px}.chip{display:inline-flex;align-items:center;gap:4px;background:#f2f3f6;border-radius:6px;padding:2px 6px;font-size:11px;line-height:1.45;color:#3c414a;white-space:nowrap}.chip b{color:var(--accent)}.chip-more{color:var(--muted)}.stores{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:22px}.store-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px 26px 20px;box-shadow:var(--shadow-sm)}.store-card h2{display:flex;align-items:center;min-height:32px;margin:0 0 16px;font-size:20px;letter-spacing:-.01em;padding-bottom:14px;border-bottom:2px solid var(--text)}.store-logo{height:30px;width:auto;max-width:100%;display:block}.store-logo-drugi{height:24px}.store-card h2 .logo{height:22px}.store-praktiker{background:#85c44d;border-color:#6ba838}.store-praktiker h2{color:#16300a;border-bottom-color:#00000059}.store-praktiker .slot{border-bottom-color:#00000021}.store-praktiker .slot-meta,.store-praktiker .slot-count,.store-praktiker .muted{color:#00000094}.store-praktiker .slot-empty .slot-label{color:#00000080}.store-praktiker .name-btn:hover{color:#14300a}.store-praktiker .name-btn:focus-visible{outline-color:#14300a}.store-technopolis{background:#db232a;border-color:#b21b21;color:#fff}.store-technopolis h2{color:#fff;border-bottom-color:#ffffff80}.store-technopolis h2 .logo{fill:#fff}.store-technopolis .slot{border-bottom-color:#ffffff26}.store-technopolis .slot-label{color:#fff}.store-technopolis .slot-empty .slot-label{color:#fff9}.store-technopolis .slot-meta,.store-technopolis .slot-count,.store-technopolis .muted{color:#ffffffb8}.store-technopolis .name-btn{color:#fff}.store-technopolis .name-btn:hover{color:#ffe0e2}.store-technopolis .name-btn:focus-visible{outline-color:#fff}.slots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.slot{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #f0f1f4}.slot:last-child{border-bottom:0}.slot-label{font-weight:700;font-size:14px;white-space:nowrap}.slot-value{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:7px}.slot-person{display:flex;flex-direction:column;align-items:flex-end}.slot-count{color:var(--muted);font-weight:600}.extra-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:#0000001f;font-size:10px;font-weight:700;letter-spacing:.02em}.store-technopolis .extra-tag{background:#ffffff38}.slot-menu{position:fixed;z-index:70;width:260px;max-height:70vh;overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;animation:pop .12s ease}.slot-menu-head{padding:8px 10px 10px;font-weight:700;font-size:14px;border-bottom:1px solid var(--border);margin-bottom:6px}.slot-menu-note{margin:0;padding:4px 10px 10px;font-size:12px;color:var(--warn)}.slot-menu-store{padding:8px 10px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.slot-menu-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:0;background:none;text-align:left;padding:7px 10px;border-radius:8px;font-size:13px;color:var(--text)}.slot-menu-item:hover:not(:disabled){background:#f0f1f4}.slot-menu-item:disabled{opacity:.45;cursor:not-allowed}.slot-menu-hint{font-size:11px;color:var(--muted);white-space:nowrap}.slot-menu-foot{border-top:1px solid var(--border);margin-top:6px;padding-top:2px}.slot-menu-remove{color:var(--accent-dark)}.slot-menu-remove:hover{background:#fff0f1}.slot-value b{font-size:15px}.name-btn{border:0;background:none;padding:0;font:inherit;color:inherit;text-align:inherit;border-radius:4px;transition:color .12s}.name-btn:hover{color:var(--accent);text-decoration:underline}.name-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.name-btn.strong{font-size:15px;font-weight:700}.slot-meta{font-size:12px;color:var(--muted)}.slot-empty .slot-label{color:var(--muted);font-weight:600}.lists{margin-top:26px;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px}.list-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow-sm)}.list-box h3{margin:0 0 12px;font-size:15px}.list-box ul{list-style:none;margin:0;padding:0}.list-box li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #f2f3f6;font-size:14px}.list-box li:last-child{border-bottom:0}.notice{border-radius:12px;padding:12px 16px;margin-bottom:20px;font-size:14px}.notice.warn{background:#fff7e6;color:var(--warn);border:1px solid #f5dfae}.notice-action{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.notice-action .primary-btn{flex:0 0 auto}.empty-state{background:var(--surface);border:1px dashed #d4d7de;border-radius:var(--radius);padding:48px;text-align:center;color:var(--muted)}.empty-state.big h1{color:var(--text);margin:0 0 8px}.empty-state.big p{max-width:460px;margin:0 auto 22px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:#12141973;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade .18s ease}.modal{width:min(560px,100%);max-height:88vh;display:flex;flex-direction:column;background:var(--surface);border-radius:20px;box-shadow:var(--shadow-lg);animation:pop .2s cubic-bezier(.2,.9,.3,1.1);overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px 16px;border-bottom:1px solid var(--border)}.photo-block{display:flex;flex-direction:column;align-items:center;gap:6px;flex:0 0 auto}.photo-edit{position:relative;width:104px;height:104px;padding:0;border:1px solid var(--border);border-radius:18px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(140deg,#22252b,#4b5058)}.photo-edit img{width:100%;height:100%;object-fit:cover;display:block}.photo-edit:disabled{cursor:progress}.photo-overlay{position:absolute;left:0;right:0;bottom:0;padding:4px 0;background:#0a0c109e;color:#fff;font-size:11px;font-weight:600;text-align:center;opacity:0;transition:opacity .15s}.photo-edit:hover .photo-overlay,.photo-edit.empty .photo-overlay{opacity:1}.link-btn{border:0;background:none;color:var(--muted);font-size:12px;text-decoration:underline;padding:0}.link-btn:hover{color:var(--accent)}.modal-head-text{flex:1;min-width:0}.field-error{margin:0 0 14px;color:var(--accent-dark);font-size:13px}.modal-name{border:1px solid transparent;background:transparent;font-family:inherit;font-size:27px;font-weight:800;line-height:1.15;letter-spacing:-.02em;color:var(--text);padding:4px 6px;border-radius:8px;width:100%;outline:none}.modal-name:hover{border-color:var(--border)}.modal-name:focus{border-color:var(--accent);background:#fff}.modal-sub{margin:4px 0 0 6px;color:var(--muted);font-size:13px}.modal-shift{margin:6px 0 0 6px;font-size:14px;font-weight:600;color:var(--muted)}.modal-shift.is-working{color:var(--ok)}.icon-btn{border:0;background:#f1f2f5;color:var(--muted);width:32px;height:32px;border-radius:9px;font-size:19px;line-height:1}.icon-btn:hover{background:#e6e8ec;color:var(--text)}.modal-body{padding:18px 24px;overflow:auto}.coef-table{width:100%;border-collapse:collapse;margin-bottom:14px}.coef-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:0 8px 10px 0}.coef-table .col-coef{width:140px}.coef-table .col-act{width:36px}.coef-table td{padding:5px 8px 5px 0}.coef-table select{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:#fff;color:var(--text);outline:none}.coef-table select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e11d2e1f}.empty-row{color:var(--muted);font-size:14px;padding:14px 0}.row-del{border:0;background:transparent;color:var(--muted);font-size:20px;line-height:1;border-radius:8px;width:30px;height:30px}.row-del:hover{background:#fff0f1;color:var(--accent)}.modal-foot{display:flex;align-items:center;gap:10px;padding:16px 24px;border-top:1px solid var(--border);background:#fafbfc}.spacer{flex:1}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:80;max-width:560px;padding:13px 20px;border-radius:12px;font-size:14px;color:#fff;background:#22252b;box-shadow:var(--shadow-md);animation:pop .2s ease}.toast.error{background:var(--accent-dark)}.toast.success{background:#15803d}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 720px){.navbar{padding:12px 16px}.page{padding:24px 16px 56px}.logo{height:17px}}.modal-wide{width:min(1400px,96vw);height:94vh;max-height:94vh}.modal-wide .modal-head{padding:12px 18px 10px;align-items:center}.modal-wide .modal-foot{padding:10px 18px}.modal-wide .modal-title{font-size:17px}.modal-wide .modal-sub{font-size:12px;margin-top:2px}.modal-wide .qr-tabs{padding:0 18px 4px}.modal-title{margin:0;font-size:20px}.schedule-body{padding:0;overflow:auto;flex:1;min-height:0;display:flex;justify-content:center;align-items:flex-start}.schedule-table{border-collapse:separate;border-spacing:0;table-layout:fixed;white-space:nowrap}.schedule-table th,.schedule-table td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:0}.schedule-table thead th{position:sticky;top:0;z-index:2;background:#f7f8fa;height:calc(var(--cell) * 1.35);width:var(--cell);text-align:center;font-weight:700;overflow:hidden}.schedule-table thead th.is-weekend{background:#eef0f4;color:var(--accent-dark)}.schedule-table thead th.is-selected{background:#ffe3e5}.th-day{display:block;font-size:var(--cell-font);line-height:1.1}.th-weekday{display:block;font-size:calc(var(--cell-font) * .72);font-weight:600;color:var(--muted);text-transform:uppercase;line-height:1.1}.sticky-col{position:sticky;left:0;z-index:3;background:var(--surface);text-align:left;padding:0 8px;width:var(--name-w);max-width:var(--name-w);font-size:var(--name-font);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-table thead .sticky-col{z-index:4;background:#f7f8fa}.cell{width:var(--cell);height:var(--cell);text-align:center;vertical-align:middle;cursor:pointer;font-size:var(--cell-font);line-height:1;overflow:hidden}.cell:hover{outline:2px solid var(--accent);outline-offset:-2px}.cell-shift{color:var(--text)}.cell-absence{background:#fff3e0;color:#92400e;font-weight:700}.cell-empty{background:#fafbfc}.cell-unknown{background:#ffeaec;color:var(--accent-dark);font-weight:700}.cell.is-selected{background-image:linear-gradient(#e11d2e12,#e11d2e12)}.cell-input{width:100%;height:100%;border:0;outline:2px solid var(--accent);background:#fff;font:inherit;font-size:var(--cell-font);text-align:center;padding:0}.nav-auth{border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:13px;padding:10px 18px;border-radius:10px;transition:background .15s,border-color .15s}.nav-auth:hover{background:#f0f1f4}.nav-auth-in{background:var(--text);border-color:var(--text);color:#fff}.nav-auth-in:hover{background:#2b2f36}.modal-login{width:min(420px,100%)}.login-body{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.field .search{min-width:0;width:100%}.blocked{min-height:calc(100vh - 140px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px}.blocked-code{margin:0;font-size:clamp(110px,26vw,260px);font-weight:900;line-height:.95;letter-spacing:-.04em;color:var(--text)}.blocked-note{margin:18px 0 0;max-width:560px;font-size:15px;line-height:1.5;color:var(--muted)}.units-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;align-items:start}.unit-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px 14px 10px;box-shadow:var(--shadow-sm)}.unit-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;margin-bottom:8px;border-bottom:2px solid var(--text)}.unit-head h2{margin:0;font-size:15px;letter-spacing:-.01em}.unit-count{flex:0 0 auto;min-width:22px;text-align:center;background:#f1f2f5;color:var(--muted);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.unit-empty{padding:6px 0 10px}.rank-list{list-style:none;margin:0;padding:0}.rank-row{border-bottom:1px solid #f2f3f6}.rank-row:last-child{border-bottom:0}.rank-row.is-dim{opacity:.3}.rank-btn{display:flex;align-items:center;gap:9px;width:100%;border:0;background:none;text-align:left;padding:6px 4px;border-radius:8px;color:var(--text)}.rank-btn:hover{background:#f4f5f7}.rank-place{flex:0 0 auto;width:20px;text-align:center;font-size:12px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.rank-avatar{flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;overflow:hidden;background:linear-gradient(140deg,#22252b,#4b5058)}.rank-avatar img{width:100%;height:100%;object-fit:cover;display:block}.rank-avatar .photo-initials{font-size:10.5px}.rank-name{flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}.rank-status{flex:0 0 auto;font-size:9.5px;font-weight:700;padding:2px 6px;border-radius:999px;white-space:nowrap}.rank-total{font-size:.78em;font-weight:700;color:var(--muted)}.rank-value{flex:0 0 auto;min-width:46px;text-align:right;font-size:14px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}.rank-row.is-top .rank-name{font-weight:700}.slot-person{position:relative}.slot-person-top{display:flex;align-items:center;justify-content:flex-end;gap:5px}.swap-icon{flex:0 0 auto;color:var(--accent);opacity:.85}.store-technopolis .swap-icon{color:#ffd9db;opacity:1}.slot-actions{position:absolute;right:100%;top:0;margin-right:10px;display:flex;align-items:center;gap:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .14s}.slot-actions:after{content:"";position:absolute;left:100%;top:-4px;bottom:-4px;width:14px}.slot-person:hover .slot-actions,.slot-actions:hover,.slot-actions:focus-within{opacity:1;pointer-events:auto}.slot-remove{border:1px solid rgba(0,0,0,.18);background:#ffffffd9;color:var(--accent-dark);border-radius:999px;padding:1px 8px;font-size:10.5px;font-weight:700;line-height:1.5}.slot-remove:hover{background:#fff;border-color:var(--accent)}.slot-add{display:grid;place-items:center;width:20px;height:20px;padding:0;border:1px solid rgba(0,0,0,.18);background:#ffffffd9;color:var(--text);border-radius:999px;font-size:15px;font-weight:700;line-height:1}.slot-add:hover{background:#fff;border-color:var(--accent);color:var(--accent)}.store-technopolis .slot-remove,.store-technopolis .slot-add{background:#ffffff2e;border-color:#ffffff80;color:#fff}.store-technopolis .slot-remove:hover,.store-technopolis .slot-add:hover{background:#ffffff52}.slot-menu-sub{display:block;margin-top:2px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.slot-menu-move{font-weight:600}.slot-menu-move:hover:not(:disabled){background:#eef6ff}.slot-person{cursor:grab}.slot-person:active{cursor:grabbing}.slot.is-drop{outline:2px dashed var(--accent);outline-offset:2px;border-radius:8px}.store-technopolis .slot.is-drop{outline-color:#fff}.rank-row{cursor:grab}.rank-row:active{cursor:grabbing}.rank-row.is-drop{outline:2px dashed var(--accent);outline-offset:-2px;border-radius:8px}.nav-qr{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:700;letter-spacing:.04em;font-size:13px;padding:9px 14px;border-radius:10px;transition:background .15s,border-color .15s}.nav-qr:hover{background:#f0f1f4;border-color:#d6d9e0}.nav-qr svg{flex:0 0 auto}.modal-qr{width:min(520px,100%)}.qr-body{display:flex;flex-direction:column;align-items:center;gap:12px}.qr-code{width:420px;max-width:100%;line-height:0;padding:10px;border:1px solid var(--border);border-radius:12px;background:#fff}.qr-code svg{width:100%;height:auto;display:block}.qr-url{margin:0;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.qr-note{text-align:center;max-width:300px}@media (max-width: 680px){.navbar{flex-wrap:wrap;gap:10px;padding:10px 14px}.logo{height:18px}.nav-actions{width:100%;flex-wrap:wrap;gap:6px}.nav-link,.nav-qr{padding:8px 10px;font-size:12px}.nav-auth{padding:8px 12px;font-size:12px;margin-left:auto}.split-part{padding:9px 12px;font-size:12px}.page{padding:20px 14px 56px}.page-head h1{font-size:22px}.store-card{padding:16px 16px 12px}.slot{gap:10px}.slot-label{font-size:13px}.units-grid{grid-template-columns:1fr}.modal-name{font-size:22px}.photo-edit{width:84px;height:84px}}@media (hover: none){.split-btn{width:auto}.split-view{flex:0 0 auto;padding-left:14px;padding-right:14px;opacity:1}.split-divider{opacity:1}.label-full{display:none}.label-short{display:inline}}.qr-tabs{display:flex;gap:6px;padding:0 24px 4px}.qr-tab{flex:1;border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:10px;padding:8px 10px;font-size:12.5px;font-weight:700;transition:background .15s,color .15s,border-color .15s}.qr-tab:hover{background:#f0f1f4}.qr-tab.active{background:var(--text);border-color:var(--text);color:#fff}.schedule-table tbody tr.is-match .sticky-col{background:#fff3c4;color:#7a5b00}.schedule-table td.is-trail{box-shadow:inset 0 0 0 999px #e11d2e21}.schedule-table td.is-pin{box-shadow:inset 0 0 0 999px #e11d2e47;outline:2px solid var(--accent);outline-offset:-2px}.schedule-table th.sticky-col.is-trail{background:#ffe3e5;color:var(--accent-dark);box-shadow:inset 3px 0 0 var(--accent)}.schedule-table tbody tr.is-boss .sticky-col{font-style:italic;color:var(--muted)}.schedule-table tbody tr.is-boss .cell{opacity:.72}.schedule-table tbody .sticky-col{cursor:pointer}.schedule-table tbody .sticky-col:hover{background:#f2f3f6}.schedule-table .hours-col{width:58px;min-width:58px;max-width:58px;text-align:center;font-variant-numeric:tabular-nums;border-right:0}.schedule-table thead .hours-col{background:#f7f8fa;font-size:calc(var(--cell-font) * .85);letter-spacing:.02em}.schedule-table tbody .hours-col{background:#f7f8fa;font-weight:800;font-size:var(--name-font);color:var(--text)}.schedule-table tbody tr.is-boss .hours-col{color:var(--muted)}.promo-range{display:flex;align-items:center;gap:6px;flex:0 0 auto;font-size:12px;color:var(--muted);white-space:nowrap}.promo-label{font-weight:800;letter-spacing:.06em;color:var(--text)}.date-field-small{position:relative;display:inline-flex}.date-display-small{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:6px 10px;font:inherit;font-size:12px;font-weight:600;color:var(--text);white-space:nowrap}.date-display-small:hover{background:#f0f1f4}.promo-clear{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700}.promo-clear:hover{background:#dbeafe}.schedule-table thead th.is-promo{background:#dbeafe;color:#1d4ed8}.schedule-table td.cell.is-promo{background-image:linear-gradient(#2563eb24,#2563eb24)}.schedule-table thead th.is-trail{background:#ffe3e5;color:var(--accent-dark)}.qr-hosts{display:flex;gap:6px}.qr-host{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700}.qr-host:hover{background:#f0f1f4}.qr-host.active{background:var(--text);border-color:var(--text);color:#fff}@media (max-width: 680px){.page{padding:12px 10px 40px}.page-head{margin-bottom:12px;gap:10px}.page-head h1{font-size:18px;margin-bottom:3px}.page-head .muted{font-size:11px;line-height:1.4}.date-picker{gap:6px}.date-display{padding:6px 10px;font-size:13px;border-radius:9px}.stores{grid-template-columns:1fr;gap:10px}.store-card{padding:12px 13px 8px;border-radius:13px}.store-card h2{margin:0 0 9px;padding-bottom:8px;min-height:24px}.store-logo{height:22px}.store-logo-drugi{height:18px}.store-card h2 .logo{height:16px}.slot{padding:7px 0;gap:10px;align-items:center}.slot-label{font-size:12px}.slot-value{gap:5px}.slot-value .muted,.slot-value.muted{font-size:11px}.name-btn,.name-btn.strong{font-size:13px}.slot-meta{font-size:10px;line-height:1.3}.lists{grid-template-columns:1fr;gap:10px;margin-top:14px}.list-box{padding:12px 14px;border-radius:13px}.list-box h3{font-size:13px;margin-bottom:8px}.list-box li{font-size:12px;padding:6px 0;gap:8px}.notice{padding:9px 12px;font-size:12px;margin-bottom:12px}.navbar{padding:8px 12px;gap:8px}.nav-actions{width:100%;gap:5px;justify-content:space-between}.nav-link,.nav-qr,.nav-auth,.split-part{padding:6px 8px;font-size:11px}.nav-qr{gap:5px}.nav-qr svg{width:13px;height:13px}.nav-auth{margin-left:0}}@media (orientation: landscape) and (max-height: 520px) and (max-width: 1024px){.app{height:100dvh;display:flex;flex-direction:column}.navbar{position:static;flex:0 0 auto;padding:4px 10px;gap:6px}main{flex:1;min-height:0;overflow:auto}.logo{height:12px}.nav-actions{width:auto;flex-wrap:nowrap;gap:4px}.nav-link,.nav-qr,.nav-auth,.split-part{padding:5px 8px;font-size:11px}.nav-qr svg{width:13px;height:13px}.page-home{height:100%;max-width:none;padding:6px 8px;display:flex;flex-direction:column;overflow:hidden}.page-home .lists,.page-home .page-head h1,.page-home .page-head .muted{display:none}.page-home .page-head{margin:0 0 5px;align-items:center;justify-content:flex-end;gap:6px}.page-home .date-picker{gap:4px}.page-home .date-display{padding:3px 8px;font-size:11px;border-radius:7px;gap:6px}.page-home .date-display svg{width:11px;height:11px}.page-home .step-btn{width:24px;height:24px;font-size:15px}.page-home .small-btn{padding:3px 9px;font-size:11px}.page-home .notice{padding:4px 9px;font-size:11px;margin-bottom:5px;border-radius:8px}.page-home .stores{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr .46fr;gap:6px}.page-home .store-card{padding:6px 8px 4px;border-radius:10px;min-height:0;display:flex;flex-direction:column;overflow:hidden}.page-home .store-card h2{flex:0 0 auto;margin:0 0 4px;padding-bottom:4px;min-height:0;border-bottom-width:1px}.page-home .store-logo{height:14px}.page-home .store-logo-drugi{height:12px}.page-home .store-card h2 .logo{height:11px}.page-home .slots{flex:1;min-height:0;overflow-y:auto}.page-home .slot{padding:2px 0;gap:5px;align-items:center}.page-home .slot-person{flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:0 6px}.page-home .slot-label{font-size:10px}.page-home .slot-value{gap:2px}.page-home .slot-value .muted,.page-home .slot-value.muted{font-size:9px}.page-home .name-btn,.page-home .name-btn.strong{font-size:11px}.page-home .slot-meta{font-size:9px;line-height:1.25}.page-home .extra-tag{font-size:8px;padding:0 4px;margin-left:3px}.page-home .swap-icon{width:10px;height:10px}.page-home .slot-actions{display:none}.page-home .slot-multi .slot-value{gap:1px}.page-home .store-drugi .slot{flex-direction:column;align-items:flex-start;gap:1px}.page-home .store-drugi .slot-value{align-items:flex-start;text-align:left}.page-home .store-drugi .slot-person{justify-content:flex-start}}
