:root{--color-bg:#1a1a2e;--color-surface:#16213e;--color-surface-hover:#1f3460;--color-border:#346;--color-text:#e8e8e8;--color-text-muted:#888;--color-working:#4ade80;--color-working-bg:#166534;--color-not-working:#f87171;--color-not-working-bg:#991b1b;--color-available:#60a5fa;--color-available-bg:#1e40af;--color-unavailable:#525252;--color-unavailable-bg:#262626;--color-alena:#f472b6;--color-ilya:#60a5fa;--color-aglaya:#a78bfa;--color-primary:#3b82f6;--font-main:"Segoe UI", system-ui, -apple-system, sans-serif;--radius:8px;--shadow:0 4px 6px -1px #0000004d}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background:var(--color-bg);color:var(--color-text);padding:20px}.container{max-width:800px;margin:0 auto}.app-header{margin-bottom:24px;position:relative}h1{text-align:center;color:var(--color-text);justify-content:center;align-items:center;gap:12px;margin:0;font-size:1.8rem;font-weight:300;display:flex}.logo-icon{border-radius:8px;width:48px;height:48px}.hamburger{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;gap:4px;padding:8px;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.hamburger span{background:var(--color-text);border-radius:2px;width:24px;height:2px;transition:all .3s;display:block}.hamburger:hover span{background:var(--color-primary)}.hamburger.active span:first-child{transform:rotate(45deg)translateY(9px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg)translateY(-9px)}.dropdown-menu{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);opacity:0;visibility:hidden;z-index:1000;min-width:200px;transition:all .3s;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;transform:translateY(-10px)}.dropdown-menu.active{opacity:1;visibility:visible;transform:translateY(0)}.menu-item{color:var(--color-text);padding:12px 16px;text-decoration:none;transition:background .2s;display:block}.menu-item:hover{background:var(--color-surface-hover)}.force-mode-item{cursor:pointer;align-items:center;gap:8px;font-size:.9rem;display:flex}.force-mode-item input[type=checkbox]{cursor:pointer}#week-nav{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);justify-content:center;align-items:center;gap:16px;margin-bottom:20px;padding:12px;display:flex}.nav-btn{border-radius:var(--radius);background:var(--color-surface-hover);color:var(--color-text);cursor:pointer;border:none;padding:8px 16px;font-size:14px;transition:all .2s}.nav-btn:hover{background:var(--color-border)}.week-label{text-align:center;min-width:200px;font-size:1.1rem;font-weight:500}#brush-selector{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);justify-content:center;align-items:center;margin-bottom:20px;padding:12px;display:flex}.reset-btn{border-radius:var(--radius);background:var(--color-unavailable-bg);border:2px solid #0000;border-color:var(--color-unavailable);color:var(--color-text-muted);cursor:pointer;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.reset-btn:hover{background:var(--color-not-working-bg);border-color:var(--color-not-working);color:var(--color-not-working)}#schedule-table{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);touch-action:pan-y;-webkit-user-select:none;user-select:none;overflow:hidden}.schedule-header{background:var(--color-surface-hover);border-bottom:2px solid var(--color-border);grid-template-columns:100px 1fr 1fr 80px;display:grid}.header-cell{text-align:center;padding:14px 12px;font-size:.95rem;font-weight:600}.alena-header{color:var(--color-alena)}.ilya-header{color:var(--color-ilya)}.aglaya-header{color:var(--color-aglaya)}.schedule-row{border-bottom:1px solid var(--color-border);grid-template-columns:100px 1fr 1fr 80px;transition:background .2s;display:grid}.schedule-row:last-child{border-bottom:none}.schedule-row:hover{background:#ffffff05}.schedule-row.current-day{border-left:3px solid var(--color-primary);background:#3b82f61a}.schedule-row.current-day:hover{background:#3b82f626}.schedule-row.current-day .day-name{color:var(--color-primary);font-size:1rem;font-weight:700}.schedule-row.current-day .day-date{color:var(--color-primary);opacity:.9;font-weight:600}.date-cell{border-right:1px solid var(--color-border);flex-direction:column;justify-content:center;align-items:center;padding:12px;display:flex}.day-name{font-size:.9rem;font-weight:600}.day-date{color:var(--color-text-muted);margin-top:2px;font-size:.8rem}.person-cell{border-right:1px solid var(--color-border);justify-content:center;align-items:center;padding:8px;display:flex}.person-cell:last-child{border-right:none}.shifts-group{gap:6px;display:flex}.shift-cell{cursor:pointer;border:2px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:40px;height:40px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.shift-cell.available{background:var(--color-surface-hover);border-color:var(--color-border);color:var(--color-text-muted)}.shift-cell.available:hover{border-color:var(--color-available);color:var(--color-available)}.shift-cell.selected.working{background:var(--color-working-bg);border-color:var(--color-working);color:var(--color-working)}.shift-cell.blocked{background:var(--color-not-working-bg);border-color:var(--color-not-working);color:var(--color-not-working);cursor:not-allowed;opacity:.55;transition:none}.shift-cell.not-exists{border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;opacity:.5;background:0 0;transition:none}.shift-cell.force-override{cursor:pointer;opacity:.85;border-style:dashed}.shift-cell.force-override:hover{opacity:1;box-shadow:0 0 0 2px var(--color-primary)}.alena-shifts .shift-cell.available:hover{border-color:var(--color-alena);color:var(--color-alena)}.ilya-shifts .shift-cell.available:hover{border-color:var(--color-ilya);color:var(--color-ilya)}.kindergarten-container{justify-content:center}.kindergarten-cell{cursor:pointer;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;font-weight:700;transition:all .2s;display:flex}.kindergarten-cell.active{background:var(--color-working-bg);border-color:var(--color-working);color:var(--color-working)}.kindergarten-cell.inactive{background:var(--color-not-working-bg);border-color:var(--color-not-working);color:var(--color-not-working)}.kindergarten-cell:hover{transform:scale(1.1)}@media (width<=600px){body{padding:10px}h1{font-size:1.4rem}.logo-icon{width:36px;height:36px}.schedule-header,.schedule-row{grid-template-columns:70px 1fr 1fr 60px}.shift-cell{width:32px;height:32px;font-size:10px}.kindergarten-cell{width:36px;height:36px;font-size:14px}.header-cell{padding:10px 6px;font-size:.85rem}#week-nav{flex-wrap:wrap}.week-label{order:-1;width:100%;margin-bottom:8px}}.page-nav{text-align:center;margin-bottom:24px}.nav-link{background:var(--color-surface);color:var(--color-text);border-radius:var(--radius);padding:12px 24px;text-decoration:none;transition:background .2s;display:inline-block}.nav-link:hover{background:var(--color-surface-hover)}#history-container{flex-direction:column;gap:12px;display:flex}.history-item{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;transition:background .2s}.history-item:hover{background:var(--color-surface-hover)}.history-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.history-user{color:var(--color-primary);font-weight:600}.history-time{color:var(--color-text-muted);font-size:.85rem}.history-description{color:var(--color-text);line-height:1.5}.loading,.empty-state,.error{text-align:center;color:var(--color-text-muted);padding:40px 20px}.error{color:var(--color-not-working)}.login-container{flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:60px 20px;display:flex}.login-text{color:var(--color-text-muted);text-align:center;font-size:1.1rem}.login-error{color:var(--color-not-working);text-align:center;font-size:.9rem}.logout-item{cursor:pointer;width:100%;font-family:inherit;font-size:inherit;text-align:left;color:var(--color-not-working);background:0 0;border:none}.logout-item:hover{background:var(--color-surface-hover)}@media (width<=600px){.history-header{flex-direction:column;align-items:flex-start;gap:4px}.history-time{font-size:.8rem}}
