*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0e27;--bg-secondary: #141b2d;--bg-card: #1a2238;--bg-card-hover: #1f2845;--accent-cyan: #00d9ff;--accent-purple: #9d4edd;--accent-green: #00ff88;--accent-red: #ff3366;--accent-orange: #ff9500;--text-primary: #ffffff;--text-secondary: #b4b8c8;--text-dimmed: #6b7280;--status-available: var(--accent-green);--status-active: var(--accent-cyan);--status-maintenance: var(--accent-red);--status-closed: var(--text-dimmed);--shadow-glow: 0 0 20px rgba(0, 217, 255, .3);--shadow-glow-purple: 0 0 20px rgba(157, 78, 221, .3);--shadow-glow-green: 0 0 20px rgba(0, 255, 136, .3)}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:auto}#root{min-height:100vh;width:100%}.app{min-height:100vh;padding:2rem;background:linear-gradient(135deg,var(--bg-primary) 0%,#0f1629 100%)}.app-header{text-align:center;margin-bottom:1.5rem}.app-title{font-size:2rem;font-weight:700;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.25rem;text-shadow:0 0 30px rgba(0,217,255,.5)}.app-subtitle{color:var(--text-secondary);font-size:1rem}.station-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;max-width:1600px;margin:0 auto}.dashboard-canvas-wrap{max-width:1600px;margin:0 auto;width:100%}.dashboard-canvas{width:100%}.station-card{background:var(--bg-card);border-radius:clamp(6px,3cqmin,12px);padding:clamp(4px,3cqmin,16px);border:2px solid transparent;transition:transform .3s ease,filter .3s ease;position:relative;box-shadow:0 4px 15px #0000004d;width:100%;height:100%;box-sizing:border-box;overflow:visible;display:flex;flex-direction:column;font-size:clamp(7px,3.2cqmin,14px);gap:clamp(1px,.8cqb,6px)}.station-card:hover{filter:brightness(1.12);transform:scale(1.02);z-index:5}.station-card.status-maintenance:hover{filter:grayscale(50%) brightness(1.12)}.station-card.status-available{cursor:pointer}@media(hover:none){.station-card:hover{transform:none}}.station-card.status-available{border-color:#00ff8873;animation:glow-available-green 4s ease-in-out infinite}.station-card.status-active{border-color:#00d9ffcc;animation:glow-active-cyan 2.5s ease-in-out infinite;padding-bottom:clamp(18px,6cqb,28px)}.station-card--ps.status-available{border-color:#9d4edd73;animation:glow-available-purple 4s ease-in-out infinite}.station-card--ps.status-active{border-color:#b43cffcc;animation:glow-active-purple 2.5s ease-in-out infinite}.station-card.status-maintenance{border-color:var(--status-maintenance);opacity:.6;filter:grayscale(50%)}.station-card.status-closed{border-color:var(--status-closed);opacity:.5}.station-card.no-pulse{animation:none!important}.station-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:clamp(1px,.6cqb,8px);position:relative;flex-shrink:0}.station-id{display:flex;align-items:flex-start;gap:clamp(3px,1.5cqi,12px);flex:1;min-width:0}.station-icon{width:clamp(16px,8cqmin,32px);height:clamp(16px,8cqmin,32px);background:linear-gradient(135deg,var(--accent-cyan),var(--accent-purple));border-radius:clamp(4px,2cqmin,8px);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(.5rem,3.5cqmin,1rem);flex-shrink:0}.station-name-wrapper{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:0 clamp(.25em,1cqi,.5em)}.station-name{font-size:clamp(.6rem,7cqmin,1.75rem);font-weight:700;color:var(--text-primary);line-height:1.2}.station-status-wrapper{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;position:absolute;top:0;right:0;flex-shrink:0}.station-status{padding:clamp(2px,.8cqb,5px) clamp(4px,2.2cqi,14px);border-radius:clamp(3px,1.5cqmin,6px);font-size:clamp(.45rem,3.8cqmin,.8rem);font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:all .2s;white-space:nowrap}.station-status.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.station-status.clickable:hover{transform:scale(1.05);opacity:.9}.station-status.available{background:#0f83;color:var(--status-available)}.station-status.active{background:#00d9ff33;color:var(--status-active)}.station-status.maintenance{background:#f363;color:var(--status-maintenance)}.station-status.closed{background:#6b728033;color:var(--status-closed)}.avail-bar{position:absolute;bottom:0;left:0;right:0;height:clamp(18px,6.5cqb,28px);background:#0000008c;border-radius:0 0 clamp(4px,2.5cqmin,10px) clamp(4px,2.5cqmin,10px);border-top:1px solid rgba(255,255,255,.12);overflow:hidden;display:flex;align-items:center;justify-content:flex-end;z-index:2}.avail-bar__fill{position:absolute;top:0;left:0;bottom:0;border-radius:0 0 0 clamp(4px,2.5cqmin,10px);transition:width 1s linear;background:linear-gradient(90deg,#00d9ff40,#00d9ffb3);box-shadow:0 0 10px #00d9ff66}.station-card--ps .avail-bar__fill{background:linear-gradient(90deg,#9d4edd40,#9d4eddb3);box-shadow:0 0 10px #9d4edd66}.avail-bar--soon .avail-bar__fill{background:linear-gradient(90deg,#ff95004d,#ff9500bf)!important;box-shadow:0 0 10px #ff950080!important}.avail-bar--now .avail-bar__fill{background:linear-gradient(90deg,#0f83,#00ff88a6)!important;box-shadow:0 0 10px #00ff8880!important;animation:avail-pulse 1.2s ease-in-out infinite}@keyframes avail-pulse{0%,to{box-shadow:0 0 10px #00ff8880}50%{box-shadow:0 0 20px #00ff88d9}}.avail-bar__text{position:relative;z-index:1;font-size:clamp(.45rem,3.2cqmin,.8rem);font-weight:700;color:#fffffff2;padding:0 clamp(6px,2.5cqi,12px);font-variant-numeric:tabular-nums;letter-spacing:.3px;text-shadow:0 1px 4px rgba(0,0,0,.9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.active-sessions{margin-bottom:clamp(1px,.3cqb,4px);flex:0 1 auto;min-height:0;overflow:hidden}.active-sessions--dense{gap:clamp(1px,.3cqb,4px)}.active-sessions--grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1px,.5cqb,6px)}.active-sessions--grid .active-session{margin-bottom:0}.active-session{background:#00d9ff1a;border:1px solid rgba(0,217,255,.3);border-radius:clamp(4px,2cqmin,8px);padding:clamp(4px,2cqmin,14px);margin-bottom:clamp(1px,.5cqb,6px);position:relative;overflow:hidden;isolation:isolate}.active-session__fill{position:absolute;top:0;left:0;bottom:0;transition:width 1s linear;background:#00d9ff1f;z-index:-1;pointer-events:none}.station-card--ps .active-session__fill{background:#9d4edd1f}.active-session__fill--warning{background:#ff950026}.active-session__fill--critical{background:#ff33662e}.station-card--ps-dense{gap:clamp(1px,.4cqb,4px)}.station-card--ps-dense .active-session{padding:clamp(3px,1.4cqmin,10px)}.active-session:last-child{margin-bottom:0}.session-name-timer-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:clamp(.25em,1cqi,.5em);margin-bottom:clamp(1px,.5cqb,6px);min-width:0;position:relative;z-index:1}.station-card--ps-dense .session-name-timer-row{margin-bottom:clamp(1px,.25cqb,3px)}.session-name-timer-row .session-user-input{flex:1;min-width:0;margin-bottom:0}.session-user{font-weight:600;color:var(--accent-cyan);cursor:pointer;padding:clamp(2px,.6cqmin,6px);border-radius:4px;transition:all .2s;font-size:clamp(.6rem,5cqmin,1.25rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.session-user:hover{background:#00d9ff1a;border:1px solid rgba(0,217,255,.3)}.session-balance{font-weight:400;font-size:.95em;color:var(--text-secondary);margin-left:clamp(2px,.5cqi,6px)}.session-balance--low{color:var(--accent-orange, #ff9500);font-weight:600}.session-user-input{width:100%;padding:clamp(2px,1.2cqmin,10px);background:#00d9ff1a;border:2px solid var(--accent-cyan);border-radius:clamp(3px,1.5cqmin,6px);color:var(--text-primary);font-size:clamp(.55rem,4.5cqmin,1.15rem);font-weight:600;font-family:inherit;margin-bottom:clamp(1px,.3cqb,4px);outline:none;box-sizing:border-box}.session-user-input:focus{background:#00d9ff26;box-shadow:0 0 10px #00d9ff4d}.session-timer{font-size:clamp(.85rem,7cqmin,2.2rem);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary);font-family:Courier New,monospace;flex-shrink:0;text-shadow:0 0 8px currentColor}.session-timer.warning{color:var(--accent-orange);animation:blink 1s ease-in-out infinite}.session-timer.critical{color:var(--accent-red);animation:blink .5s ease-in-out infinite}.session-timer.paused{opacity:.6;color:var(--text-secondary)}.session-timer.pending{color:var(--accent-green);opacity:.9}.paused-indicator{font-size:.75em;color:var(--text-secondary);font-weight:400;margin-left:.3em}.pending-indicator{font-size:.85em;color:var(--accent-green);font-weight:600}.session-timer.attendance{color:var(--accent-orange, #ff9500);opacity:.9}.attendance-indicator{font-size:.85em;color:var(--accent-orange, #ff9500);font-weight:600}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}.session-extend{display:flex;gap:clamp(3px,1.2cqmin,10px);margin-top:clamp(2px,.8cqb,8px);flex-wrap:wrap;align-items:center;position:relative;z-index:1}.session-extend--compact{gap:clamp(1px,.6cqmin,5px);margin-top:clamp(1px,.3cqb,4px)}.session-extend--compact .extend-btn{padding:clamp(2px,.8cqb,5px) clamp(3px,1.2cqi,8px);font-size:clamp(.45rem,3cqmin,.8rem);min-height:clamp(16px,5cqb,24px)}.session-extend--compact .time-btn{padding:clamp(2px,.7cqb,5px) clamp(3px,1.2cqi,9px)!important;font-size:clamp(.45rem,3cqmin,.8rem)!important;min-height:clamp(16px,5cqb,24px)!important}.extend-btn{padding:clamp(3px,1.4cqb,8px) clamp(4px,2cqi,12px);background:#00d9ff33;border:1px solid var(--accent-cyan);border-radius:clamp(2px,1cqmin,4px);color:var(--accent-cyan);cursor:pointer;font-size:clamp(.5rem,3.8cqmin,1rem);font-weight:600;transition:all .2s;min-height:clamp(18px,6cqb,30px);display:inline-flex;align-items:center;justify-content:center}.session-control-buttons{display:flex;gap:clamp(2px,1cqmin,8px)}.time-adjust-buttons{display:flex;gap:clamp(1px,.5cqmin,4px);align-items:center;background:#ffffff0d;padding:clamp(1px,.3cqmin,3px);border-radius:clamp(3px,1.5cqmin,6px);border:1px solid rgba(255,255,255,.1)}.time-btn{padding:clamp(3px,1.2cqb,8px) clamp(4px,1.8cqi,14px)!important;min-width:0;font-size:clamp(.55rem,4cqmin,1.1rem)!important;font-weight:700!important;min-height:clamp(18px,6cqb,30px)!important}.time-btn:first-child{color:var(--accent-red)!important;border-color:var(--accent-red)!important;background:#f363!important}.time-btn:first-child:hover{background:#ff33664d!important}.time-btn:last-child{color:var(--accent-green)!important;border-color:var(--accent-green)!important;background:#0f83!important}.time-btn:last-child:hover{background:#00ff884d!important}.extend-btn:hover{background:#00d9ff4d;transform:scale(1.05)}.pause-session-btn{background:#fa03!important;border-color:var(--accent-orange)!important;color:var(--accent-orange)!important}.pause-session-btn:hover{background:#ffaa004d!important}.resume-session-btn{background:#0f83!important;border-color:var(--accent-green)!important;color:var(--accent-green)!important}.resume-session-btn:hover{background:#00ff884d!important}.start-session-btn{background:#00ff884d!important;border-color:var(--accent-green)!important;color:var(--accent-green)!important;font-weight:700!important;font-size:clamp(.45rem,3cqmin,.9rem)!important;padding:clamp(2px,1cqb,8px) clamp(3px,2cqi,16px)!important}.start-session-btn:hover{background:#0f86!important;transform:scale(1.05)}.delete-btn{background:#f363!important;border-color:var(--accent-red)!important;color:var(--accent-red)!important;font-weight:700!important}.delete-btn:hover{background:#ff33664d!important;transform:scale(1.05)}.queue-section{margin-top:clamp(2px,.4cqb,4px);padding-top:clamp(2px,.4cqb,4px);border-top:1px solid rgba(255,255,255,.1)}.station-card--ps-dense .queue-section{margin-top:clamp(1px,.2cqb,2px);padding-top:clamp(1px,.2cqb,2px)}.queue-title{font-size:clamp(.5rem,3cqmin,.85rem);text-transform:uppercase;letter-spacing:.5px;color:var(--accent-purple, #9d4edd);margin-bottom:clamp(2px,.5cqb,8px);font-weight:700}.queue-list{min-height:0}.queue-list--dense{gap:clamp(1px,.25cqb,3px)}.queue-list--grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1px,.4cqb,6px)}.queue-list--grid .queue-item{margin-bottom:0}.queue-item{display:flex;align-items:center;gap:clamp(3px,1.2cqmin,10px);padding:clamp(4px,1.5cqmin,10px);background:#9d4edd0f;border-radius:clamp(3px,1.5cqmin,6px);margin-bottom:clamp(1px,.4cqb,6px);transition:all .2s;cursor:move;border:1px solid rgba(157,78,221,.15);border-left:2px solid rgba(157,78,221,.4)}.queue-list--dense .queue-item{padding:clamp(1px,.7cqmin,6px);margin-bottom:clamp(1px,.2cqb,3px)}.queue-item:hover{background:#ffffff1a;border-color:var(--accent-cyan);transform:translate(4px)}.queue-item.dragging{opacity:.5;transform:rotate(2deg)}.queue-item-number{font-weight:700;color:var(--accent-purple);min-width:0}.queue-item-content{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.queue-item-name-time-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:clamp(.25em,1cqi,.5em);min-width:0}.queue-item-name-wrap{flex:1;min-width:0;display:flex;overflow:hidden}.queue-item-name-wrap .queue-item-name{flex:1;min-width:0;width:0}.queue-item-name-time-row .queue-item-time{flex-shrink:0;white-space:nowrap}.queue-item-name{width:100%;color:var(--text-primary);border:none;background:transparent;font-size:clamp(.5rem,3.4cqmin,.95rem);font-family:inherit;padding:clamp(1px,.5cqmin,4px);border-radius:4px;font-weight:500}.queue-item-name:focus{outline:2px solid var(--accent-cyan);background:#00d9ff1a}.queue-item-time{font-size:.85em;color:var(--text-secondary);font-variant-numeric:tabular-nums;padding-left:clamp(1px,.5cqi,4px);opacity:.8}.queue-item-group{width:100%;display:flex;flex-direction:column;gap:.5rem}.queue-list--dense .queue-item-group{gap:clamp(1px,.25cqb,3px)}.queue-item-group-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.queue-item-group-badge{font-size:.85em;font-weight:600;color:var(--accent-purple);background:#9d4edd33;padding:clamp(1px,.4cqb,3px) clamp(2px,1cqi,8px);border-radius:4px;border:1px solid var(--accent-purple);text-transform:uppercase;letter-spacing:.5px}.queue-item-group-users{display:flex;flex-direction:column;gap:.25rem;padding-left:.5rem;border-left:2px solid rgba(157,78,221,.3)}.queue-item-group-preview{color:var(--text-primary);font-size:clamp(.4rem,2.7cqmin,.8rem);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-item-group-name{font-size:.9em;margin-left:clamp(1px,.5cqi,4px)}.queue-item-remove{background:transparent;border:none;color:var(--accent-red);cursor:pointer;padding:clamp(1px,.5cqmin,4px) clamp(2px,1cqi,8px);border-radius:4px;font-size:clamp(.5rem,3cqmin,.9rem);opacity:.6;transition:all .2s}.queue-item-remove:hover{opacity:1;background:#f363}.queue-empty{color:var(--text-dimmed);font-size:.9em;text-align:center;padding:clamp(2px,1cqb,12px);font-style:italic}.select-user-section{margin-top:auto;padding-top:clamp(1px,.5cqb,8px);border-top:1px solid rgba(255,255,255,.1);flex-shrink:0;display:flex;flex-direction:column;flex:1;min-height:0}.station-card.status-available .select-user-section{justify-content:center}.station-card.status-available .select-user-btn{flex:1;max-height:4rem}.station-available-label{font-size:clamp(1.5rem,8cqmin,3rem);font-weight:700;color:var(--status-available);text-align:center;flex:1;display:flex;align-items:center;justify-content:center;padding:clamp(.5rem,2cqb,1.5rem) 0}.select-user-btn{width:100%;padding:clamp(3px,3cqb,12px) clamp(4px,1.5cqi,14px);background:#0f83;border:2px solid var(--accent-green);border-radius:clamp(3px,1.5cqmin,6px);color:var(--accent-green);cursor:pointer;font-weight:600;font-size:clamp(.5rem,5cqmin,1rem);transition:all .2s;display:flex;align-items:center;justify-content:center;gap:clamp(2px,1cqi,8px)}.select-user-btn:hover{background:#00ff884d;transform:scale(1.02)}.select-user-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.selected-users-list{margin-bottom:clamp(2px,.8cqb,12px);padding:clamp(3px,1.5cqmin,12px);background:#00ff881a;border:1px solid rgba(0,255,136,.3);border-radius:clamp(3px,1.5cqmin,6px)}.selected-users-title{font-size:clamp(.4rem,2.5cqmin,.75rem);font-weight:600;color:var(--accent-green);margin-bottom:clamp(1px,.4cqb,6px);text-transform:uppercase;letter-spacing:.5px}.selected-user-item{display:flex;align-items:center;justify-content:space-between;padding:clamp(2px,1cqmin,8px);background:#ffffff0d;border-radius:4px;margin-bottom:clamp(1px,.3cqb,4px)}.selected-user-item:last-child{margin-bottom:0}.selected-user-item span{color:var(--text-primary);font-size:clamp(.45rem,3cqmin,.9rem);font-weight:500}.selected-user-remove{background:transparent;border:none;color:var(--accent-red);cursor:pointer;padding:clamp(1px,.5cqmin,4px) clamp(2px,1cqi,8px);border-radius:4px;font-size:clamp(.5rem,3cqmin,1rem);opacity:.6;transition:all .2s;line-height:1}.selected-user-remove:hover{opacity:1;background:#f363}.add-to-queue{margin-top:clamp(1px,.5cqb,6px);flex-shrink:0}.add-form{display:flex;flex-direction:column;gap:clamp(2px,1cqmin,8px)}.add-btn{width:100%;padding:clamp(3px,1.4cqb,10px) clamp(4px,1.5cqi,14px);background:#9d4edd33;border:1px solid var(--accent-purple);border-radius:clamp(3px,1.5cqmin,6px);color:var(--accent-purple);cursor:pointer;font-weight:600;font-size:clamp(.5rem,3.5cqmin,.95rem);transition:all .2s;display:flex;align-items:center;justify-content:center;gap:clamp(2px,1cqi,8px);min-height:clamp(20px,6cqb,32px)}.add-btn:hover{background:#9d4edd4d;transform:scale(1.02)}.add-input{width:100%;padding:clamp(2px,1.2cqb,10px) clamp(3px,1.5cqi,12px);background:#ffffff0d;border:1px solid var(--accent-purple);border-radius:clamp(3px,1.5cqmin,6px);color:var(--text-primary);font-size:clamp(.5rem,3cqmin,1rem);font-family:inherit;box-sizing:border-box}.add-input:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 10px #00d9ff4d}.add-form-actions{display:flex;gap:clamp(2px,1cqi,8px)}.add-submit-btn{flex:1;padding:clamp(2px,1cqb,8px);background:#9d4edd4d;border:1px solid var(--accent-purple);border-radius:clamp(3px,1.5cqmin,6px);color:var(--accent-purple);cursor:pointer;font-weight:600;font-size:clamp(.45rem,3cqmin,.9rem);transition:all .2s}.add-submit-btn:hover:not(:disabled){background:#9d4edd66;transform:scale(1.02)}.add-submit-btn:disabled{opacity:.5;cursor:not-allowed}.add-cancel-btn{flex:1;padding:clamp(2px,1cqb,8px);background:#ffffff0d;border:1px solid var(--text-dimmed);border-radius:clamp(3px,1.5cqmin,6px);color:var(--text-secondary);cursor:pointer;font-weight:600;font-size:clamp(.45rem,3cqmin,.9rem);transition:all .2s}.add-cancel-btn:hover{background:#ffffff1a;border-color:var(--text-secondary)}.station-actions{display:flex;gap:clamp(2px,1cqi,8px);margin-top:auto;padding-top:clamp(1px,.5cqb,6px);flex-shrink:0}.action-btn{flex:1;padding:clamp(3px,1.4cqb,10px) clamp(4px,1.8cqi,14px);border:none;border-radius:clamp(3px,1.5cqmin,6px);font-weight:600;cursor:pointer;transition:all .2s;font-size:clamp(.5rem,3.5cqmin,.95rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:clamp(20px,6cqb,32px)}.action-btn.start{background:var(--accent-green);color:var(--bg-primary)}.action-btn.start:hover{background:var(--status-available);transform:scale(1.05)}.action-btn.stop{background:var(--accent-red);color:var(--text-primary)}.action-btn.stop:hover{background:#ff1a4d;transform:scale(1.05)}.action-btn.pause{background:var(--accent-orange);color:var(--bg-primary)}.action-btn.pause:hover{background:#fa0;transform:scale(1.05)}.action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.drag-overlay{background:#9d4edd4d;border:2px dashed var(--accent-purple);border-radius:8px;min-height:40px;display:flex;align-items:center;justify-content:center;color:var(--accent-purple);font-weight:600}.header-btn{padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-family:inherit;font-weight:500;transition:all .2s;display:flex;align-items:center;gap:.4rem}.header-btn--view{background:#00d9ff1a;border:1px solid rgba(0,217,255,.3);color:#00d9ff}.header-btn--view:hover{background:#00d9ff33;border-color:#00d9ff80}.header-btn--next-available{background:#ff95001a;border:1px solid rgba(255,149,0,.3);color:#ff9500;animation:next-available-pulse 2s ease-in-out infinite}.header-btn--next-available:hover{background:#ff950033;border-color:#ff950080}@keyframes next-available-pulse{0%,to{box-shadow:none}50%{box-shadow:0 0 12px #ff95004d}}.header-btn--layout{background:#9d4edd1a;border:1px solid rgba(157,78,221,.3);color:#9d4edd}.header-btn--layout:hover{background:#9d4edd33;border-color:#9d4edd80}.header-btn--users{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e}.header-btn--users:hover{background:#22c55e33;border-color:#22c55e80}.header-btn--settings{background:#00d9ff1a;border:1px solid rgba(0,217,255,.3);color:#00d9ff}.header-btn--settings:hover{background:#00d9ff33;border-color:#00d9ff80}.header-btn--logout{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ff6b6b}.header-btn--logout:hover{background:#ef444433;border-color:#ef444480}.header-user-info{display:flex;align-items:center;gap:.6rem;padding:.5rem 1rem;border-radius:6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);font-size:.9rem;color:#ffffffb3;white-space:nowrap;margin-right:.25rem}.header-user-info__divider{width:1px;height:16px;background:#ffffff26}.header-user-info__item{display:flex;align-items:center;gap:.35rem}.header-user-info svg{opacity:.5;flex-shrink:0}@media(max-width:768px){.station-grid{grid-template-columns:1fr}.app{padding:1rem}.app-title{font-size:1.5rem}}.user-selector-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.user-selector-modal{background:var(--bg-card, #1a1f3a);border-radius:12px;width:90%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;border:2px solid var(--accent-cyan, #00d9ff);box-shadow:0 8px 32px #00d9ff4d;animation:modalSlideIn .2s ease-out}.user-selector-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-bottom:1px solid rgba(0,217,255,.2);flex-wrap:wrap}.user-selector-header__left{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.user-selector-header h3{margin:0;color:var(--text-primary, #ffffff);font-size:1.25rem;font-weight:600}.user-selector-count{font-size:.8rem;font-weight:600;background:#00d9ff26;color:var(--accent-cyan, #00d9ff);padding:.15rem .5rem;border-radius:10px;min-width:1.6rem;text-align:center}.user-selector-close{background:none;border:none;color:var(--text-secondary, #a0a0b8);font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0;margin-left:auto}.user-selector-close:hover{background:#ffffff1a;color:var(--text-primary, #ffffff)}.user-selector-grade-filter{display:flex;align-items:center;gap:.35rem;flex:1;flex-wrap:wrap;min-width:0}.user-selector-grade-chip{padding:.25rem .6rem;font-size:.8rem;font-weight:600;border-radius:12px;border:1px solid rgba(0,217,255,.3);background:#ffffff0d;color:var(--text-secondary, #a0a0b8);cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none;line-height:1.2}.user-selector-grade-chip:hover{background:#00d9ff1a;border-color:var(--accent-cyan, #00d9ff);color:var(--text-primary, #ffffff)}.user-selector-grade-chip--active{background:var(--accent-cyan, #00d9ff);color:#000;border-color:var(--accent-cyan, #00d9ff)}.user-selector-grade-chip--active:hover{background:var(--accent-purple, #b347d9);border-color:var(--accent-purple, #b347d9);color:#fff}.user-selector-error{margin:1rem 1.5rem;padding:.75rem 1rem;background:#ff64641a;border:1px solid rgba(255,100,100,.3);border-radius:6px;color:#ff6464;font-size:.875rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.user-selector-retry-btn{padding:.4rem .8rem;background:#ff646426;border:1px solid rgba(255,100,100,.4);border-radius:4px;color:#ff6464;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.user-selector-retry-btn:hover{background:#ff646440}.user-selector-search{padding:1rem 1.5rem;border-bottom:1px solid rgba(0,217,255,.2)}.user-selector-input{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(0,217,255,.3);border-radius:6px;color:var(--text-primary, #ffffff);font-size:1rem;transition:all .2s}.user-selector-input:focus{outline:none;border-color:var(--accent-cyan, #00d9ff);background:#ffffff14;box-shadow:0 0 0 3px #00d9ff1a}.user-selector-input::placeholder{color:var(--text-secondary, #a0a0b8)}.user-selector-loading{margin-top:.5rem;color:var(--text-secondary, #a0a0b8);font-size:.875rem}.user-selector-table-wrap{flex:1;overflow-y:auto;max-height:400px}.user-selector-table{width:100%;border-collapse:collapse;font-size:.9rem}.user-selector-table thead{position:sticky;top:0;z-index:1}.user-selector-th{padding:.6rem .75rem;text-align:left;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b8);background:var(--bg-card, #1a1f3a);border-bottom:1px solid rgba(0,217,255,.2);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color .2s}.user-selector-th:hover,.user-selector-th.active{color:var(--accent-cyan, #00d9ff)}.user-selector-th__arrow{font-size:.7rem;opacity:.8}.user-selector-row{cursor:pointer;transition:background .15s;border-bottom:1px solid rgba(255,255,255,.04)}.user-selector-row:hover{background:#00d9ff1a}.user-selector-row.selected{background:#00d9ff33;box-shadow:inset 3px 0 0 var(--accent-cyan, #00d9ff)}.user-selector-row.selected:hover{background:#00d9ff40}.user-selector-row--busy{opacity:.5;cursor:not-allowed}.user-selector-row--busy:hover{background:transparent}.user-selector-name--busy{text-decoration:line-through;text-decoration-color:#ffffff4d}.user-selector-busy-badge{font-size:.78rem;color:var(--accent-orange, #ff9500);font-weight:600;white-space:nowrap}.user-selector-td{padding:.6rem .75rem;color:var(--text-primary, #ffffff);vertical-align:middle}.user-selector-td--name{font-weight:500;min-width:120px}.user-selector-td--nickname{color:var(--text-secondary, #a0a0b8);font-style:italic;min-width:80px}.user-selector-td--number{white-space:nowrap;color:var(--text-secondary, #a0a0b8);min-width:50px}.user-selector-td--grade{white-space:nowrap;color:var(--text-secondary, #a0a0b8);min-width:55px}.user-selector-td--balance{white-space:nowrap;color:var(--accent-cyan, #00d9ff);font-weight:500;text-align:right;min-width:65px}.user-selector-empty{padding:2rem 1rem;text-align:center;color:var(--text-secondary, #a0a0b8);font-size:.9rem}.user-selector-manual-link{display:block;margin-top:.5rem;color:var(--accent-cyan, #00d9ff);background:none;border:none;cursor:pointer;font-size:.9rem;text-decoration:underline;padding:.25rem .5rem}.user-selector-manual-link:hover{color:var(--accent-purple, #b347d9)}.user-selector-footer{padding:1rem 1.5rem;border-top:1px solid rgba(0,217,255,.2)}.user-selector-manual-btn{width:100%;padding:.75rem 1rem;background:#00d9ff1a;border:1px solid rgba(0,217,255,.3);border-radius:6px;color:var(--accent-cyan, #00d9ff);font-size:.95rem;cursor:pointer;transition:all .2s;font-weight:500}.user-selector-manual-btn:hover{background:#00d9ff33;border-color:var(--accent-cyan, #00d9ff)}.user-selector-manual{padding:1.5rem}.user-selector-manual-actions{display:flex;gap:.75rem;margin-top:1rem}.user-selector-submit,.user-selector-cancel{flex:1;padding:.75rem 1rem;border-radius:6px;font-size:.95rem;cursor:pointer;transition:all .2s;font-weight:500;border:none}.user-selector-submit{background:var(--accent-cyan, #00d9ff);color:#000}.user-selector-submit:hover:not(:disabled){background:var(--accent-purple, #b347d9);transform:translateY(-2px);box-shadow:0 4px 12px #00d9ff4d}.user-selector-submit:disabled{opacity:.5;cursor:not-allowed}.user-selector-cancel{background:#ffffff0d;color:var(--text-primary, #ffffff);border:1px solid rgba(255,255,255,.1)}.user-selector-cancel:hover{background:#ffffff1a}.user-selector-table-wrap::-webkit-scrollbar{width:8px}.user-selector-table-wrap::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.user-selector-table-wrap::-webkit-scrollbar-thumb{background:#00d9ff4d;border-radius:4px}.user-selector-table-wrap::-webkit-scrollbar-thumb:hover{background:#00d9ff80}.login-container{position:fixed;inset:0;background:var(--bg-primary, #0a0e27);display:flex;align-items:center;justify-content:center;z-index:10000;overflow:hidden}.login-container:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,217,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,217,255,.03) 1px,transparent 1px);background-size:50px 50px;animation:login-grid-drift 20s linear infinite}@keyframes login-grid-drift{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.login-container:after{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(157,78,221,.15) 0%,transparent 70%);top:-150px;right:-100px;pointer-events:none;animation:login-orb-float 8s ease-in-out infinite alternate}@keyframes login-orb-float{0%{transform:translate(0) scale(1)}to{transform:translate(-40px,30px) scale(1.1)}}.login-glow-orb-bottom{position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(0,217,255,.1) 0%,transparent 70%);bottom:-120px;left:-80px;pointer-events:none;animation:login-orb-float2 10s ease-in-out infinite alternate}@keyframes login-orb-float2{0%{transform:translate(0) scale(1)}to{transform:translate(30px,-20px) scale(1.15)}}.login-card{position:relative;z-index:1;background:#141b2dd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;padding:2.5rem;width:100%;max-width:440px;border:1px solid rgba(0,217,255,.15);box-shadow:0 0 40px #00d9ff14,0 20px 60px #00000080,inset 0 1px #ffffff0d;transition:border-color .4s ease,box-shadow .4s ease}.login-card:hover{border-color:#00d9ff40;box-shadow:0 0 60px #00d9ff1f,0 20px 60px #00000080,inset 0 1px #ffffff0d}.login-logo{text-align:center;margin-bottom:2rem}.login-logo-icon{width:56px;height:56px;margin:0 auto 1rem;border-radius:14px;background:linear-gradient(135deg,#00d9ff26,#9d4edd26);border:1px solid rgba(0,217,255,.2);display:flex;align-items:center;justify-content:center;box-shadow:0 0 20px #00d9ff26}.login-logo-icon svg{width:28px;height:28px;color:var(--accent-cyan, #00d9ff);filter:drop-shadow(0 0 6px rgba(0,217,255,.5))}.login-logo h1{font-size:1.5rem;font-weight:700;margin:0 0 .25rem;background:linear-gradient(135deg,var(--accent-cyan, #00d9ff),var(--accent-purple, #9d4edd));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-logo p{color:var(--text-secondary, #b4b8c8);font-size:.9rem;margin:0}.login-steps{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:2rem}.login-step-dot{width:8px;height:8px;border-radius:50%;background:#ffffff26;transition:all .4s ease}.login-step-dot.active{background:var(--accent-cyan, #00d9ff);box-shadow:0 0 10px #00d9ff80;width:24px;border-radius:4px}.login-step-dot.completed{background:var(--accent-green, #00ff88);box-shadow:0 0 8px #0f86}.login-step-connector{width:24px;height:2px;background:#ffffff1a;border-radius:1px;transition:background .4s ease}.login-step-connector.completed{background:var(--accent-green, #00ff88);box-shadow:0 0 4px #00ff884d}.login-error{background:#ff33661a;border:1px solid rgba(255,51,102,.25);color:var(--accent-red, #ff3366);padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.85rem;text-align:center;animation:login-error-shake .4s ease}@keyframes login-error-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-field{display:flex;flex-direction:column;gap:.4rem}.login-field label{color:var(--text-secondary, #b4b8c8);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em}.login-field select,.login-field input{background:#0a0e27b3;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:.8rem 1rem;color:var(--text-primary, #ffffff);font-size:1rem;font-family:inherit;transition:all .25s ease;-webkit-appearance:none;appearance:none}.login-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23b4b8c8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}.login-field select:focus,.login-field input:focus{outline:none;border-color:var(--accent-cyan, #00d9ff);box-shadow:0 0 0 3px #00d9ff1a,0 0 15px #00d9ff14}.login-field select:disabled,.login-field input:disabled{opacity:.5;cursor:not-allowed}.login-field input::placeholder,.login-field select option[value=""]{color:var(--text-dimmed, #6b7280)}.login-field select option{background:var(--bg-secondary, #141b2d);color:var(--text-primary, #ffffff)}.login-remember{display:flex;align-items:center;gap:.6rem;cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:-.25rem}.login-remember input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.login-remember-check{flex-shrink:0;width:18px;height:18px;border-radius:4px;border:1.5px solid rgba(255,255,255,.2);background:#0a0e2780;transition:all .25s ease;position:relative}.login-remember-check:after{content:"";position:absolute;top:2px;left:5px;width:5px;height:9px;border:solid var(--accent-cyan, #00d9ff);border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .2s ease}.login-remember input:checked+.login-remember-check{border-color:var(--accent-cyan, #00d9ff);background:#00d9ff1a;box-shadow:0 0 8px #00d9ff33}.login-remember input:checked+.login-remember-check:after{transform:rotate(45deg) scale(1)}.login-remember>span:last-child{color:var(--text-secondary, #b4b8c8);font-size:.85rem}.login-remember:hover .login-remember-check{border-color:#ffffff59}.login-remember:hover input:checked+.login-remember-check{border-color:var(--accent-cyan, #00d9ff)}.login-btn{position:relative;border:none;border-radius:10px;padding:.85rem 1.5rem;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .3s ease;margin-top:.5rem;overflow:hidden}.login-btn--primary{background:linear-gradient(135deg,var(--accent-cyan, #00d9ff),#0099cc);color:#000;text-shadow:0 1px 0 rgba(255,255,255,.15)}.login-btn--primary:hover:not(:disabled){box-shadow:0 0 25px #00d9ff66,0 4px 15px #0000004d;transform:translateY(-1px)}.login-btn--primary:active:not(:disabled){transform:translateY(0)}.login-btn--primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.login-btn--back{background:transparent;color:var(--text-secondary, #b4b8c8);border:1px solid rgba(255,255,255,.1);font-weight:500}.login-btn--back:hover{background:#ffffff0d;border-color:#fff3;color:var(--text-primary, #fff)}.login-btn .login-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(0,0,0,.2);border-top-color:#000;border-radius:50%;animation:login-spin .6s linear infinite;margin-right:.5rem;vertical-align:middle}@keyframes login-spin{to{transform:rotate(360deg)}}.login-institution-badge{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#00ff880f;border:1px solid rgba(0,255,136,.2);border-radius:10px;margin-bottom:1.5rem}.login-institution-badge svg{width:18px;height:18px;color:var(--accent-green, #00ff88);flex-shrink:0;filter:drop-shadow(0 0 4px rgba(0,255,136,.5))}.login-institution-badge span{color:var(--text-primary, #fff);font-size:.9rem;font-weight:500}.login-role-choice{display:flex;flex-direction:column;gap:1rem}.login-role-btn{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;cursor:pointer;transition:all .3s ease;text-align:left;font-family:inherit}.login-role-btn:hover{transform:translateY(-2px)}.login-role-btn--operator{border-color:#00d9ff40}.login-role-btn--operator:hover{background:#00d9ff14;border-color:#00d9ff80;box-shadow:0 0 20px #00d9ff26,0 4px 12px #0003}.login-role-btn--admin{border-color:#9d4edd40}.login-role-btn--admin:hover{background:#9d4edd14;border-color:#9d4edd80;box-shadow:0 0 20px #9d4edd26,0 4px 12px #0003}.login-role-btn-icon{width:40px;height:40px;flex-shrink:0;border-radius:10px;display:flex;align-items:center;justify-content:center}.login-role-btn--operator .login-role-btn-icon{color:var(--accent-cyan, #00d9ff);background:#00d9ff1a;filter:drop-shadow(0 0 6px rgba(0,217,255,.3))}.login-role-btn--admin .login-role-btn-icon{color:var(--accent-purple, #9d4edd);background:#9d4edd1a;filter:drop-shadow(0 0 6px rgba(157,78,221,.3))}.login-role-btn-icon svg{width:22px;height:22px}.login-role-btn-text{display:flex;flex-direction:column;gap:.2rem}.login-role-btn-text strong{color:var(--text-primary, #ffffff);font-size:.95rem}.login-role-btn-text span{color:var(--text-secondary, #b4b8c8);font-size:.8rem}.login-footer{margin-top:2rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.06);text-align:center}.login-footer p{color:var(--text-dimmed, #6b7280);font-size:.8rem;margin:0;line-height:1.5}.login-step-enter{animation:login-step-in .35s ease-out}@keyframes login-step-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media(max-width:500px){.login-card{margin:1rem;padding:1.75rem}.login-logo h1{font-size:1.3rem}}.settings-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.settings-modal{background:var(--bg-card, #1a1f3a);border-radius:12px;width:90%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;border:2px solid var(--accent-cyan, #00d9ff);box-shadow:0 8px 32px #00d9ff4d;animation:modalSlideIn .2s ease-out;position:relative}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-header{display:flex;align-items:center;gap:.75rem;padding:1.5rem;border-bottom:1px solid rgba(0,217,255,.2)}.settings-header h2{margin:0;flex:1;color:var(--text-primary, #ffffff);font-size:1.5rem;font-weight:600}.settings-close{background:none;border:none;color:var(--text-secondary, #a0a0b8);font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.settings-close:hover{background:#ffffff1a;color:var(--text-primary, #ffffff)}.settings-error{margin:1rem 1.5rem;padding:.75rem 1rem;background:#ff64641a;border:1px solid rgba(255,100,100,.3);border-radius:6px;color:#ff6464;font-size:.875rem}.settings-success{margin:1rem 1.5rem;padding:.75rem 1rem;background:#64ff641a;border:1px solid rgba(100,255,100,.3);border-radius:6px;color:#64ff64;font-size:.875rem}.settings-loading{padding:2rem;text-align:center;color:var(--text-secondary, #a0a0b8)}.settings-content{flex:1;overflow-y:auto;padding:1.5rem}.settings-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(0,217,255,.1)}.settings-section:last-child{border-bottom:none}.settings-section h3{margin:0 0 1rem;color:var(--text-primary, #ffffff);font-size:1.125rem;font-weight:600}.settings-subsection{margin:.75rem 0 .75rem .5rem;padding-left:.75rem;border-left:2px solid rgba(0,217,255,.15)}.settings-subsection h4{margin:0 0 .5rem;color:var(--text-secondary, #b4b8c8);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.settings-field{margin-bottom:1rem}.settings-field label{display:block;margin-bottom:.5rem;color:var(--text-secondary, #a0a0b8);font-size:.9rem}.settings-field input[type=number],.settings-field input[type=time],.settings-field select{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(0,217,255,.3);border-radius:6px;color:var(--text-primary, #ffffff);font-size:1rem;transition:all .2s}.settings-field input[type=number]:focus,.settings-field input[type=time]:focus,.settings-field select:focus{outline:none;border-color:var(--accent-cyan, #00d9ff);background:#ffffff14;box-shadow:0 0 0 3px #00d9ff1a}.settings-range-label{display:flex;flex-direction:column;gap:.4rem}.settings-range{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:#ffffff1a;border-radius:3px;outline:none;cursor:pointer;accent-color:var(--accent-cyan, #00d9ff)}.settings-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent-cyan, #00d9ff);cursor:pointer}.settings-field input[type=checkbox]{width:18px;height:18px;margin-right:.5rem;cursor:pointer;accent-color:var(--accent-cyan, #00d9ff)}.settings-field label{display:flex;align-items:center;cursor:pointer}.settings-help{margin-top:.5rem;color:var(--text-secondary, #a0a0b8);font-size:.85rem;font-style:italic}.settings-muted{color:var(--text-secondary, #a0a0b8);font-size:.8rem;font-weight:400}.settings-grade-picker{margin-top:.75rem;padding:.75rem 1rem;background:#ffffff08;border:1px solid rgba(0,217,255,.15);border-radius:8px}.settings-grade-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem .75rem}.settings-grade-option{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-primary, #ffffff);cursor:pointer;padding:.25rem 0;-webkit-user-select:none;user-select:none}.settings-grade-option input[type=checkbox]{accent-color:var(--accent-cyan, #00d9ff);width:14px;height:14px;cursor:pointer}.settings-warn{color:#f0ad4e;font-style:normal}.settings-admin-actions{display:flex;gap:.75rem;flex-wrap:wrap}.settings-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(0,217,255,.2)}.settings-btn{padding:.75rem 1.5rem;border-radius:6px;font-size:.95rem;cursor:pointer;transition:all .2s;font-weight:500;border:none}.settings-btn-primary{background:var(--accent-cyan, #00d9ff);color:#000;width:100%}.settings-btn-primary:hover:not(:disabled){background:var(--accent-purple, #b347d9);transform:translateY(-2px);box-shadow:0 4px 12px #00d9ff4d}.settings-btn-primary:disabled{opacity:.5;cursor:not-allowed}.settings-btn-secondary{background:#00d9ff1a;color:var(--accent-cyan, #00d9ff);border:1px solid rgba(0,217,255,.3)}.settings-btn-secondary:hover:not(:disabled){background:#00d9ff33;border-color:var(--accent-cyan, #00d9ff)}.settings-btn-danger{background:#ff64641a;color:#ff6464;border:1px solid rgba(255,100,100,.3)}.settings-btn-danger:hover:not(:disabled){background:#ff646433;border-color:#ff6464}.settings-btn:disabled{opacity:.5;cursor:not-allowed}.settings-add-time-modal{position:absolute;inset:0;background:var(--bg-card, #1a1f3a);border-radius:12px;display:flex;flex-direction:column;z-index:10}.settings-add-time-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid rgba(0,217,255,.2)}.settings-add-time-header h3{margin:0;color:var(--text-primary, #ffffff);font-size:1.25rem;font-weight:600}.settings-user-search{flex:1;overflow-y:auto;padding:1.5rem}.settings-search-input-wrapper{margin-bottom:1rem}.settings-search-input{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(0,217,255,.3);border-radius:6px;color:var(--text-primary, #ffffff);font-size:1rem;transition:all .2s}.settings-search-input:focus{outline:none;border-color:var(--accent-cyan, #00d9ff);background:#ffffff14;box-shadow:0 0 0 3px #00d9ff1a}.settings-search-input::placeholder{color:var(--text-secondary, #a0a0b8)}.settings-loading-users{margin-top:.5rem;color:var(--text-secondary, #a0a0b8);font-size:.875rem}.settings-user-table-wrap{flex:1;overflow-y:auto;max-height:400px}.settings-user-table{width:100%;border-collapse:collapse;font-size:.9rem}.settings-user-table thead{position:sticky;top:0;z-index:1}.settings-user-th{padding:.6rem .75rem;text-align:left;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b8);background:var(--bg-card, #1a1f3a);border-bottom:1px solid rgba(0,217,255,.2);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color .2s}.settings-user-th:hover,.settings-user-th.active{color:var(--accent-cyan, #00d9ff)}.settings-user-th__arrow{font-size:.7rem;opacity:.8}.settings-user-row{cursor:pointer;transition:background .15s;border-bottom:1px solid rgba(255,255,255,.04)}.settings-user-row:hover{background:#00d9ff1a}.settings-user-row.selected{background:#00d9ff33;box-shadow:inset 3px 0 0 var(--accent-cyan, #00d9ff)}.settings-user-row.selected:hover{background:#00d9ff40}.settings-user-td{padding:.6rem .75rem;color:var(--text-primary, #ffffff);vertical-align:middle}.settings-user-td--name{font-weight:500;min-width:120px}.settings-user-td--number{white-space:nowrap;color:var(--text-secondary, #a0a0b8);min-width:50px}.settings-user-td--grade{white-space:nowrap;color:var(--text-secondary, #a0a0b8);min-width:55px}.settings-user-td--balance{white-space:nowrap;color:var(--accent-cyan, #00d9ff);font-weight:500;text-align:right;min-width:65px}.settings-user-nickname-hint{font-size:.8rem;color:var(--text-secondary, #a0a0b8);font-style:italic}.settings-user-empty{padding:2rem 1rem;text-align:center;color:var(--text-secondary, #a0a0b8);font-size:.9rem}.settings-user-actions{flex:1;overflow-y:auto;padding:1.5rem}.settings-selected-user-info{margin-bottom:1.5rem;padding:1rem;background:#00d9ff1a;border:1px solid rgba(0,217,255,.3);border-radius:6px}.settings-selected-user-name,.settings-selected-user-balance{margin:.5rem 0;color:var(--text-primary, #ffffff);font-size:1rem}.settings-selected-user-name:first-child,.settings-selected-user-balance:first-child{margin-top:0}.settings-selected-user-name:last-child,.settings-selected-user-balance:last-child{margin-bottom:0}.settings-selected-user-name strong,.settings-selected-user-balance strong{color:var(--accent-cyan, #00d9ff);font-weight:600}.settings-user-actions p{margin-bottom:1rem;color:var(--text-primary, #ffffff);font-size:1rem}.settings-user-actions strong{color:var(--accent-cyan, #00d9ff)}.settings-back-btn{background:none;border:none;color:var(--accent-cyan, #00d9ff);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.settings-back-btn:hover{background:#00d9ff1a}.settings-menu{display:flex;flex-direction:column;gap:.5rem}.settings-menu-btn{display:flex;align-items:center;gap:1rem;width:100%;padding:1rem 1.25rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:left;color:var(--text-primary, #ffffff)}.settings-menu-btn:hover{background:#00d9ff14;border-color:#00d9ff4d;transform:translate(4px)}.settings-menu-btn:active{transform:translate(2px)}.settings-menu-btn__icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#00d9ff1a;border-radius:10px;color:var(--accent-cyan, #00d9ff)}.settings-menu-btn__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.settings-menu-btn__title{font-size:1rem;font-weight:600;color:var(--text-primary, #ffffff)}.settings-menu-btn__desc{font-size:.8rem;color:var(--text-secondary, #a0a0b8);line-height:1.3}.settings-menu-btn__arrow{flex-shrink:0;color:var(--text-secondary, #a0a0b8);opacity:.5;transition:all .2s}.settings-menu-btn:hover .settings-menu-btn__arrow{opacity:1;color:var(--accent-cyan, #00d9ff);transform:translate(2px)}.settings-content::-webkit-scrollbar,.settings-user-table-wrap::-webkit-scrollbar,.settings-user-actions::-webkit-scrollbar{width:8px}.settings-content::-webkit-scrollbar-track,.settings-user-table-wrap::-webkit-scrollbar-track,.settings-user-actions::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.settings-content::-webkit-scrollbar-thumb,.settings-user-table-wrap::-webkit-scrollbar-thumb,.settings-user-actions::-webkit-scrollbar-thumb{background:#00d9ff4d;border-radius:4px}.settings-content::-webkit-scrollbar-thumb:hover,.settings-user-table-wrap::-webkit-scrollbar-thumb:hover,.settings-user-actions::-webkit-scrollbar-thumb:hover{background:#00d9ff80}.gc-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gc-panel{background:var(--bg-card, #1a2238);border:1px solid rgba(0,217,255,.2);border-radius:12px;padding:1.5rem;width:90%;max-width:500px;max-height:80vh;overflow-y:auto;animation:gcSlideIn .2s ease-out}@keyframes gcSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.gc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.gc-title{font-size:1.3rem;font-weight:700;color:var(--text-primary, #fff)}.gc-close{background:none;border:none;color:var(--text-secondary, #b4b8c8);font-size:1.5rem;cursor:pointer;padding:.25rem .5rem;line-height:1}.gc-close:hover{color:var(--text-primary, #fff)}.gc-description{font-size:.85rem;color:var(--text-secondary, #b4b8c8);margin-bottom:1rem}.gc-loading,.gc-empty{text-align:center;color:var(--text-secondary, #b4b8c8);padding:2rem 0;font-size:.9rem}.gc-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.gc-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.08);transition:all .2s}.gc-item:hover{border-color:#00d9ff4d}.gc-item--inactive{opacity:.5}.gc-item-info{display:flex;align-items:center;gap:.75rem;min-width:0}.gc-item-name{font-weight:600;color:var(--text-primary, #fff);font-size:.95rem}.gc-item-category{font-size:.7rem;color:var(--accent-purple, #9d4edd);background:#9d4edd26;padding:.15rem .5rem;border-radius:4px;font-weight:600;text-transform:uppercase;flex-shrink:0}.gc-item-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.gc-toggle{font-size:.75rem;padding:.25rem .6rem;border-radius:4px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:var(--text-secondary, #b4b8c8);cursor:pointer;font-weight:600;transition:all .2s}.gc-toggle--active{border-color:#0f86;color:var(--accent-green, #00ff88);background:#00ff881a}.gc-delete{background:none;border:none;color:var(--accent-red, #ff3366);cursor:pointer;font-size:1.2rem;padding:.15rem .4rem;opacity:.5;transition:opacity .2s;line-height:1}.gc-delete:hover{opacity:1}.gc-add-form{display:flex;flex-direction:column;gap:.5rem}.gc-input{width:100%;padding:.6rem .75rem;background:#ffffff0d;border:1px solid rgba(0,217,255,.3);border-radius:6px;color:var(--text-primary, #fff);font-size:.9rem;font-family:inherit}.gc-input:focus{outline:none;border-color:var(--accent-cyan, #00d9ff);box-shadow:0 0 8px #00d9ff33}.gc-select{width:100%;padding:.6rem .75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--text-primary, #fff);font-size:.9rem;font-family:inherit}.gc-select option{background:#1a2238}.gc-add-actions{display:flex;gap:.5rem}.gc-btn{padding:.6rem 1rem;border-radius:6px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;font-family:inherit;border:1px solid transparent}.gc-btn--add{width:100%;background:#00d9ff1a;border-color:#00d9ff4d;color:var(--accent-cyan, #00d9ff)}.gc-btn--add:hover{background:#00d9ff33}.gc-btn--save{flex:1;background:#0f83;border-color:#0f86;color:var(--accent-green, #00ff88)}.gc-btn--save:hover{background:#00ff884d}.gc-btn--cancel{flex:1;background:#ffffff0d;border-color:#ffffff26;color:var(--text-secondary, #b4b8c8)}.gc-btn--cancel:hover{background:#ffffff1a}.sm-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sm-modal{background:var(--bg-card, #1a1f3a);border-radius:12px;width:95%;max-width:700px;max-height:85vh;display:flex;flex-direction:column;border:2px solid var(--accent-cyan, #00d9ff);box-shadow:0 8px 32px #00d9ff4d}.sm-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(0,217,255,.15)}.sm-header h2{margin:0;font-size:1.25rem;color:var(--text-primary, #ffffff)}.sm-close{background:none;border:none;color:var(--text-secondary, #a0a0b8);font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1}.sm-close:hover{color:var(--text-primary, #ffffff)}.sm-content{flex:1;overflow-y:auto;padding:1.25rem 1.5rem}.sm-summary{display:flex;gap:1.5rem;padding:.75rem 1rem;background:#00d9ff0f;border-radius:8px;margin-bottom:1.25rem;font-size:.9rem;color:var(--text-secondary, #a0a0b8)}.sm-summary strong{color:var(--text-primary, #ffffff)}.sm-section{margin-bottom:1.25rem;padding:1rem;border-radius:8px;border:1px solid rgba(255,255,255,.06)}.sm-section h3{margin:0 0 .25rem;font-size:.95rem;color:var(--text-primary, #ffffff)}.sm-section-help{margin:0 0 .75rem;font-size:.8rem;color:var(--text-secondary, #a0a0b8);font-style:italic}.sm-section--create{border-color:#28a7454d;background:#28a7450f}.sm-section--create h3{color:#5cb85c}.sm-section--update{border-color:#ffc1074d;background:#ffc1070f}.sm-section--update h3{color:#f0ad4e}.sm-section--orphaned{border-color:#a0a0b833;background:#a0a0b80a}.sm-section--orphaned h3{color:var(--text-secondary, #a0a0b8)}.sm-table{width:100%;border-collapse:collapse;font-size:.85rem}.sm-table th{text-align:left;padding:.4rem .6rem;color:var(--text-secondary, #a0a0b8);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.08)}.sm-table td{padding:.4rem .6rem;color:var(--text-primary, #ffffff);border-bottom:1px solid rgba(255,255,255,.03);white-space:nowrap}.sm-old{color:var(--text-secondary, #a0a0b8);text-decoration:line-through}.sm-arrow{color:var(--text-secondary, #a0a0b8);text-align:center;width:2rem}.sm-new{color:var(--accent-cyan, #00d9ff);font-weight:600}.sm-orphan-list{list-style:none;padding:0;margin:0;font-size:.85rem}.sm-orphan-list li{padding:.3rem 0;color:var(--text-secondary, #a0a0b8);border-bottom:1px solid rgba(255,255,255,.03)}.sm-loading{color:var(--text-secondary, #a0a0b8);font-style:italic;text-align:center;padding:2rem 0}.sm-error{background:#dc354526;border:1px solid rgba(220,53,69,.3);color:#ff6b7a;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.sm-up-to-date{text-align:center;padding:2rem 0;color:#5cb85c;font-size:1.1rem;font-weight:600}.sm-notice{color:var(--text-secondary, #a0a0b8);font-size:.8rem;font-style:italic;margin:1rem 0 0}.sm-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.06)}.sm-result{text-align:center;padding:1rem 0}.sm-result h3{color:#5cb85c;margin:0 0 1.25rem;font-size:1.15rem}.sm-result-grid{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1.5rem}.sm-result-item{display:flex;flex-direction:column;align-items:center;padding:1rem 1.5rem;border-radius:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.sm-result-count{font-size:2rem;font-weight:700;color:var(--text-primary, #ffffff)}.sm-result-label{font-size:.8rem;color:var(--text-secondary, #a0a0b8);text-transform:uppercase;letter-spacing:.5px;margin-top:.25rem}.sm-result-item--create .sm-result-count{color:#5cb85c}.sm-result-item--update .sm-result-count{color:#f0ad4e}.sm-result-item--orphaned .sm-result-count{color:var(--text-secondary, #a0a0b8)}.um-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.um-modal{background:var(--bg-card, #1a1f3a);border-radius:12px;width:95%;max-width:1050px;max-height:92vh;display:flex;flex-direction:column;border:2px solid var(--accent-cyan, #00d9ff);box-shadow:0 8px 32px #00d9ff4d;animation:umSlideIn .2s ease-out;position:relative}@keyframes umSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.um-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(0,217,255,.2);flex-shrink:0}.um-header h2{margin:0;color:var(--text-primary, #ffffff);font-size:1.4rem;font-weight:600}.um-close{background:none;border:none;color:var(--text-secondary, #a0a0b8);font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.um-close:hover{background:#ffffff1a;color:var(--text-primary, #ffffff)}.um-tabs{display:flex;border-bottom:1px solid rgba(0,217,255,.15);padding:0 1.5rem;flex-shrink:0}.um-tab{padding:.75rem 1.25rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary, #a0a0b8);font-size:.95rem;cursor:pointer;transition:all .2s;white-space:nowrap}.um-tab:hover{color:var(--text-primary, #ffffff);background:#00d9ff0d}.um-tab.active{color:var(--accent-cyan, #00d9ff);border-bottom-color:var(--accent-cyan, #00d9ff);font-weight:600}.um-content{flex:1;overflow-y:auto;padding:1.25rem 1.5rem}.um-loading{text-align:center;color:var(--text-secondary, #a0a0b8);padding:2rem}.um-actions{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.um-btn{padding:.6rem 1.25rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s;font-weight:500;border:none;white-space:nowrap}.um-btn:disabled{opacity:.5;cursor:not-allowed}.um-btn-primary{background:var(--accent-cyan, #00d9ff);color:#000}.um-btn-primary:hover:not(:disabled){background:#33e0ff;transform:translateY(-1px);box-shadow:0 4px 12px #00d9ff4d}.um-btn-secondary{background:#00d9ff1a;color:var(--accent-cyan, #00d9ff);border:1px solid rgba(0,217,255,.3)}.um-btn-secondary:hover:not(:disabled){background:#00d9ff33;border-color:var(--accent-cyan, #00d9ff)}.um-btn-danger{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.um-btn-danger:hover:not(:disabled){background:#ef444433;border-color:#ef4444}.um-btn-sm{padding:.3rem .6rem;font-size:.8rem;border-radius:4px;background:#00d9ff1a;color:var(--accent-cyan, #00d9ff);border:1px solid rgba(0,217,255,.25);cursor:pointer;transition:all .15s;white-space:nowrap}.um-btn-sm:hover:not(:disabled){background:#00d9ff33;border-color:var(--accent-cyan, #00d9ff)}.um-btn-sm.danger{background:#ef44441a;color:#ef4444;border-color:#ef444440}.um-btn-sm.danger:hover:not(:disabled){background:#ef444433;border-color:#ef4444}.um-btn-sm:disabled{opacity:.4;cursor:not-allowed}.um-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid rgba(0,217,255,.15)}.um-table{width:100%;border-collapse:collapse;font-size:.9rem}.um-table thead{background:#00d9ff14;position:sticky;top:0;z-index:1}.um-table th{padding:.65rem .75rem;text-align:left;color:var(--text-secondary, #a0a0b8);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(0,217,255,.15)}.um-table td{padding:.6rem .75rem;color:var(--text-primary, #ffffff);border-bottom:1px solid rgba(255,255,255,.04);white-space:nowrap}.um-table tbody tr:hover{background:#00d9ff0a}.um-action-col{display:flex;gap:.4rem;justify-content:flex-end;flex-wrap:nowrap}.um-empty{text-align:center;color:var(--text-secondary, #a0a0b8);padding:2rem!important;font-style:italic}.um-badge{display:inline-block;padding:.15rem .5rem;border-radius:10px;font-size:.75rem;font-weight:600;text-transform:lowercase}.um-badge.cafe_sync,.um-badge.cafe{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.um-badge.standalone,.um-badge.skaermtid{background:#00d9ff26;color:var(--accent-cyan, #00d9ff);border:1px solid rgba(0,217,255,.3)}.um-app-badges{display:flex;gap:.35rem;flex-wrap:wrap}.um-sub-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10001}.um-sub-modal{background:var(--bg-card, #1a1f3a);border-radius:12px;padding:1.5rem;width:90%;max-width:440px;max-height:85vh;overflow-y:auto;border:2px solid var(--accent-cyan, #00d9ff);box-shadow:0 8px 32px #00d9ff4d;animation:umSlideIn .15s ease-out}.um-sub-modal.um-wide{max-width:650px}.um-sub-modal h3{margin:0 0 1rem;color:var(--text-primary, #ffffff);font-size:1.2rem;font-weight:600}.um-field{margin-bottom:.9rem}.um-field label{display:block;margin-bottom:.35rem;color:var(--text-secondary, #a0a0b8);font-size:.85rem;font-weight:500}.um-field input,.um-field select{width:100%;padding:.6rem .8rem;background:#ffffff0d;border:1px solid rgba(0,217,255,.3);border-radius:6px;color:var(--text-primary, #ffffff);font-size:.95rem;transition:all .2s;box-sizing:border-box}.um-field input:focus,.um-field select:focus{outline:none;border-color:var(--accent-cyan, #00d9ff);background:#ffffff14;box-shadow:0 0 0 3px #00d9ff1a}.um-field input::placeholder{color:var(--text-secondary, #a0a0b8);opacity:.6}.um-field input[type=file]{padding:.5rem;font-size:.85rem}.um-field input[type=file]::file-selector-button{padding:.4rem .8rem;border-radius:4px;border:1px solid rgba(0,217,255,.3);background:#00d9ff1a;color:var(--accent-cyan, #00d9ff);cursor:pointer;margin-right:.5rem;font-size:.85rem}.um-field input[type=file]::file-selector-button:hover{background:#00d9ff33}.um-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem;flex-wrap:wrap}.um-error{padding:.6rem .9rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;font-size:.85rem;margin-bottom:.75rem}.um-info{padding:.9rem;background:#00d9ff14;border:1px solid rgba(0,217,255,.2);border-radius:6px;margin-bottom:.75rem}.um-info p{margin:.35rem 0;color:var(--text-primary, #ffffff);font-size:.9rem}.um-info strong{color:var(--accent-cyan, #00d9ff)}.um-warn{color:#f59e0b;font-size:.85rem;margin:.5rem 0}.um-help{color:var(--text-secondary, #a0a0b8);font-size:.9rem;margin:0 0 .75rem}.um-temp-password{display:block;padding:.6rem .9rem;background:#ffffff0f;border:1px solid rgba(0,217,255,.3);border-radius:6px;font-family:JetBrains Mono,Fira Code,monospace;font-size:1.1rem;color:var(--accent-cyan, #00d9ff);letter-spacing:1px;word-break:break-all;-webkit-user-select:all;user-select:all;margin-top:.25rem}.um-email-change{display:block;margin-top:.35rem;color:#f59e0b;font-size:.8rem}.um-login-code-section{padding:.5rem 0}.um-login-code-section h3{margin:0 0 .5rem;color:var(--text-primary, #ffffff);font-size:1.1rem;font-weight:600}.um-code-display{display:flex;align-items:center;gap:.75rem;margin:.75rem 0}.um-code{display:inline-block;padding:.5rem 1rem;background:#ffffff0f;border:1px solid rgba(0,217,255,.3);border-radius:6px;font-family:JetBrains Mono,Fira Code,monospace;font-size:1.2rem;color:var(--accent-cyan, #00d9ff);letter-spacing:2px;-webkit-user-select:all;user-select:all}.um-diff-summary{display:flex;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.um-diff-new,.um-diff-update,.um-diff-unchanged{padding:.3rem .7rem;border-radius:10px;font-size:.8rem;font-weight:600}.um-diff-new{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.um-diff-update{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.um-diff-unchanged{background:#94a3b81a;color:#94a3b8;border:1px solid rgba(148,163,184,.2)}.um-row-new{background:#22c55e0d!important}.um-row-update{background:#f59e0b0d!important}.um-row-unchanged{opacity:.5}.um-status-new,.um-status-update,.um-status-unchanged{padding:.15rem .4rem;border-radius:8px;font-size:.75rem;font-weight:600}.um-status-new{background:#22c55e26;color:#22c55e}.um-status-update{background:#f59e0b26;color:#f59e0b}.um-status-unchanged{background:#94a3b81a;color:#94a3b8}.um-content::-webkit-scrollbar,.um-table-wrap::-webkit-scrollbar,.um-sub-modal::-webkit-scrollbar{width:8px}.um-content::-webkit-scrollbar-track,.um-table-wrap::-webkit-scrollbar-track,.um-sub-modal::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.um-content::-webkit-scrollbar-thumb,.um-table-wrap::-webkit-scrollbar-thumb,.um-sub-modal::-webkit-scrollbar-thumb{background:#00d9ff4d;border-radius:4px}.um-content::-webkit-scrollbar-thumb:hover,.um-table-wrap::-webkit-scrollbar-thumb:hover,.um-sub-modal::-webkit-scrollbar-thumb:hover{background:#00d9ff80}@media(max-width:640px){.um-modal{width:100%;max-width:100%;max-height:100vh;border-radius:0}.um-table{font-size:.8rem}.um-table th,.um-table td{padding:.45rem .5rem}.um-tabs{overflow-x:auto;padding:0 1rem}.um-tab{font-size:.85rem;padding:.6rem .9rem}.um-action-col{flex-wrap:wrap}}.am-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.am-modal{background:var(--bg-card, #1a1f3a);border-radius:12px;width:95%;max-width:750px;max-height:85vh;display:flex;flex-direction:column;border:2px solid var(--accent-cyan, #00d9ff);box-shadow:0 8px 32px #00d9ff4d;animation:amSlideIn .2s ease-out}@keyframes amSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.am-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(0,217,255,.2);flex-shrink:0}.am-header h2{margin:0;color:var(--text-primary, #ffffff);font-size:1.3rem;font-weight:600}.am-close{background:none;border:none;color:var(--text-secondary, #a0a0b8);font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.am-close:hover{background:#ffffff1a;color:var(--text-primary, #ffffff)}.am-content{flex:1;overflow-y:auto;padding:1.25rem 1.5rem}.am-toolbar{display:flex;gap:.5rem;margin-bottom:1rem}.am-table-wrap{overflow-x:auto}.am-table{width:100%;border-collapse:collapse;font-size:.9rem}.am-table th{text-align:left;padding:.6rem .75rem;color:var(--text-secondary, #a0a0b8);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.1);white-space:nowrap}.am-table td{padding:.6rem .75rem;color:var(--text-primary, #ffffff);border-bottom:1px solid rgba(255,255,255,.04);white-space:nowrap}.am-table tr.am-self-row td{color:var(--accent-cyan, #00d9ff)}.am-self-badge{font-size:.7rem;background:#00d9ff26;color:var(--accent-cyan, #00d9ff);padding:.15rem .4rem;border-radius:4px;margin-left:.4rem;font-weight:600}.am-actions{display:flex;gap:.35rem}.am-actions button{padding:.3rem .6rem;font-size:.8rem;border-radius:4px;cursor:pointer;border:none;transition:all .15s}.am-action-edit{background:#00d9ff1a;color:var(--accent-cyan, #00d9ff)}.am-action-edit:hover{background:#00d9ff33}.am-action-reset{background:#ffc1071a;color:#f0ad4e}.am-action-reset:hover{background:#ffc10733}.am-action-delete{background:#ef44441a;color:#ef4444}.am-action-delete:hover{background:#ef444433}.am-sub-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10200}.am-sub-modal{background:var(--bg-card, #1a1f3a);border-radius:10px;padding:1.5rem;width:90%;max-width:420px;border:1px solid rgba(0,217,255,.3);box-shadow:0 4px 24px #00000080}.am-sub-modal h3{margin:0 0 1rem;color:var(--text-primary, #ffffff);font-size:1.1rem}.am-field{margin-bottom:.75rem}.am-field label{display:block;font-size:.8rem;color:var(--text-secondary, #a0a0b8);margin-bottom:.25rem}.am-field input{width:100%;padding:.5rem .75rem;background:#ffffff0f;border:1px solid rgba(0,217,255,.3);border-radius:6px;color:var(--text-primary, #ffffff);font-size:.95rem;box-sizing:border-box}.am-field input:focus{outline:none;border-color:var(--accent-cyan, #00d9ff);box-shadow:0 0 0 2px #00d9ff26}.am-sub-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.am-temp-password{background:#28a7451f;border:1px solid rgba(40,167,69,.3);border-radius:8px;padding:1rem;margin-bottom:1rem;text-align:center}.am-temp-password p{margin:0 0 .5rem;color:#5cb85c;font-weight:600;font-size:.9rem}.am-temp-password code{display:inline-block;background:#ffffff14;padding:.5rem 1.25rem;border-radius:6px;font-size:1.3rem;font-weight:700;letter-spacing:.08em;color:var(--text-primary, #ffffff);-webkit-user-select:all;user-select:all}.am-temp-password small{display:block;margin-top:.5rem;color:var(--text-secondary, #a0a0b8);font-size:.75rem}.am-loading{text-align:center;padding:2rem 0;color:var(--text-secondary, #a0a0b8);font-style:italic}.am-error{background:#dc354526;border:1px solid rgba(220,53,69,.3);color:#ff6b7a;padding:.6rem .75rem;border-radius:6px;margin-bottom:.75rem;font-size:.85rem}.am-empty{text-align:center;padding:2rem 0;color:var(--text-secondary, #a0a0b8)}.am-confirm-text{color:var(--text-primary, #ffffff);margin:0 0 .5rem;font-size:.95rem}.am-confirm-warn{color:var(--text-secondary, #a0a0b8);font-size:.8rem;margin:0 0 1rem}.vdt{background:var(--bg-card, #1a2238);border:2px solid transparent;border-radius:clamp(6px,3cqmin,12px);padding:clamp(4px,3cqmin,16px);display:flex;flex-direction:column;box-shadow:0 4px 15px #0000004d;position:relative;width:100%;height:100%;box-sizing:border-box;overflow:hidden;font-size:clamp(7px,3.2cqmin,14px);gap:clamp(1px,.8cqb,6px)}.vdt--dense{gap:clamp(1px,.4cqb,4px)}.vdt--available{border-color:#00ff8873;animation:glow-available-green 4s ease-in-out infinite}.vdt--active{border-color:#00d9ffcc;animation:glow-active-cyan 2.5s ease-in-out infinite;padding-bottom:clamp(18px,6cqb,28px)}.vdt--ps.vdt--available{border-color:#9d4edd73;animation:glow-available-purple 4s ease-in-out infinite}.vdt--ps.vdt--active{border-color:#b43cffcc;animation:glow-active-purple 2.5s ease-in-out infinite}.vdt--maintenance{border-color:var(--accent-red, #ff3366);opacity:.6;filter:grayscale(50%)}.vdt--closed{border-color:var(--text-dimmed, #6b7280);opacity:.5}.vdt.no-pulse{animation:none!important}@keyframes glow-active-cyan{0%,to{box-shadow:0 0 calc(8px * var(--pulse-i, .5)) rgb(0 217 255 / calc(.2 * var(--pulse-i, .5))),0 0 calc(20px * var(--pulse-i, .5)) rgb(0 217 255 / calc(.07 * var(--pulse-i, .5)));border-color:rgb(0 217 255 / calc(.4 * var(--pulse-i, .5)))}50%{box-shadow:0 0 calc(18px * var(--pulse-i, .5)) rgb(0 217 255 / calc(.5 * var(--pulse-i, .5))),0 0 calc(40px * var(--pulse-i, .5)) rgb(0 217 255 / calc(.2 * var(--pulse-i, .5))),0 0 calc(60px * var(--pulse-i, .5)) rgb(0 217 255 / calc(.07 * var(--pulse-i, .5)));border-color:rgb(0 217 255 / calc(.7 * var(--pulse-i, .5)))}}@keyframes glow-available-green{0%,to{box-shadow:0 0 calc(4px * var(--pulse-i, .5)) rgb(0 255 136 / calc(.07 * var(--pulse-i, .5))),0 0 calc(10px * var(--pulse-i, .5)) rgb(0 255 136 / calc(.03 * var(--pulse-i, .5)));border-color:rgb(0 255 136 / calc(.25 * var(--pulse-i, .5)))}50%{box-shadow:0 0 calc(10px * var(--pulse-i, .5)) rgb(0 255 136 / calc(.25 * var(--pulse-i, .5))),0 0 calc(22px * var(--pulse-i, .5)) rgb(0 255 136 / calc(.08 * var(--pulse-i, .5)));border-color:rgb(0 255 136 / calc(.5 * var(--pulse-i, .5)))}}@keyframes glow-active-purple{0%,to{box-shadow:0 0 calc(8px * var(--pulse-i, .5)) rgb(157 78 221 / calc(.2 * var(--pulse-i, .5))),0 0 calc(20px * var(--pulse-i, .5)) rgb(157 78 221 / calc(.07 * var(--pulse-i, .5)));border-color:rgb(180 60 255 / calc(.4 * var(--pulse-i, .5)))}50%{box-shadow:0 0 calc(18px * var(--pulse-i, .5)) rgb(190 60 255 / calc(.5 * var(--pulse-i, .5))),0 0 calc(40px * var(--pulse-i, .5)) rgb(157 78 221 / calc(.2 * var(--pulse-i, .5))),0 0 calc(60px * var(--pulse-i, .5)) rgb(157 78 221 / calc(.07 * var(--pulse-i, .5)));border-color:rgb(190 60 255 / calc(.7 * var(--pulse-i, .5)))}}@keyframes glow-available-purple{0%,to{box-shadow:0 0 calc(4px * var(--pulse-i, .5)) rgb(157 78 221 / calc(.07 * var(--pulse-i, .5))),0 0 calc(10px * var(--pulse-i, .5)) rgb(157 78 221 / calc(.03 * var(--pulse-i, .5)));border-color:rgb(157 78 221 / calc(.25 * var(--pulse-i, .5)))}50%{box-shadow:0 0 calc(10px * var(--pulse-i, .5)) rgb(157 78 221 / calc(.25 * var(--pulse-i, .5))),0 0 calc(22px * var(--pulse-i, .5)) rgb(157 78 221 / calc(.08 * var(--pulse-i, .5)));border-color:rgb(175 65 240 / calc(.5 * var(--pulse-i, .5)))}}.vdt__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:clamp(1px,.6cqb,8px);min-height:2rem;flex-shrink:0}.vdt__header-left{display:flex;align-items:center;gap:clamp(3px,1.5cqi,12px)}.vdt__icon{width:clamp(16px,8cqmin,32px);height:clamp(16px,8cqmin,32px);background:linear-gradient(135deg,var(--accent-cyan, #00d9ff),var(--accent-purple, #9d4edd));border-radius:clamp(4px,2cqmin,8px);display:flex;align-items:center;justify-content:center;flex-shrink:0}.vdt__icon svg{width:60%;height:60%;color:#fff}.vdt__name-row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:0 clamp(.25em,1cqi,.5em);min-width:0}.vdt__label{font-size:clamp(.6rem,7cqmin,1.75rem);font-weight:700;color:var(--text-primary, #fff);line-height:1.2}.vdt__badge{padding:clamp(2px,.8cqb,5px) clamp(4px,2.2cqi,14px);border-radius:clamp(3px,1.5cqmin,6px);font-size:clamp(.45rem,3.8cqmin,.8rem);font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;flex-shrink:0}.vdt__badge--available{background:#0f83;color:var(--accent-green, #00ff88)}.vdt__badge--active{background:#00d9ff33;color:var(--accent-cyan, #00d9ff)}.vdt__badge--maintenance{background:#f363;color:var(--accent-red, #ff3366)}.vdt__badge--closed{background:#6b728033;color:var(--text-dimmed, #6b7280)}.vdt__avail-bar{position:absolute;bottom:0;left:0;right:0;height:clamp(18px,6.5cqb,28px);background:#0000008c;border-radius:0 0 clamp(4px,2.5cqmin,10px) clamp(4px,2.5cqmin,10px);border-top:1px solid rgba(255,255,255,.12);overflow:hidden;display:flex;align-items:center;justify-content:flex-end;z-index:2}.vdt__avail-bar__fill{position:absolute;top:0;left:0;bottom:0;border-radius:0 0 0 clamp(4px,2.5cqmin,10px);transition:width 1s linear;background:linear-gradient(90deg,#00d9ff40,#00d9ffb3);box-shadow:0 0 10px #00d9ff66}.vdt--ps .vdt__avail-bar__fill{background:linear-gradient(90deg,#9d4edd40,#9d4eddb3);box-shadow:0 0 10px #9d4edd66}.vdt__avail-bar--soon .vdt__avail-bar__fill{background:linear-gradient(90deg,#ff95004d,#ff9500bf)!important;box-shadow:0 0 10px #ff950080!important}.vdt__avail-bar--now .vdt__avail-bar__fill{background:linear-gradient(90deg,#0f83,#00ff88a6)!important;box-shadow:0 0 10px #00ff8880!important;animation:vdt-avail-pulse 1.2s ease-in-out infinite}@keyframes vdt-avail-pulse{0%,to{box-shadow:0 0 10px #00ff8880}50%{box-shadow:0 0 20px #00ff88d9}}.vdt__avail-bar__text{position:relative;z-index:1;font-size:clamp(.45rem,3.2cqmin,.8rem);font-weight:700;color:#fffffff2;padding:0 clamp(6px,2.5cqi,12px);font-variant-numeric:tabular-nums;letter-spacing:.3px;text-shadow:0 1px 4px rgba(0,0,0,.9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vdt__content{flex:1;display:flex;flex-direction:column;justify-content:center;gap:clamp(.25rem,.5cqb,.5rem);min-height:0}.vdt__status{font-size:clamp(1.25rem,8cqmin,3rem);font-weight:600;color:var(--text-dimmed, #6b7280);text-align:center;padding:clamp(.5rem,2cqb,1.5rem) 0}.vdt__status--available{color:var(--accent-green, #00ff88)}.vdt__sessions{display:flex;flex-direction:column;gap:clamp(1px,.5cqb,6px)}.vdt__sessions--dense{gap:clamp(1px,.3cqb,4px)}.vdt__sessions--grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1px,.5cqb,6px)}.vdt__session{background:#00d9ff14;border:1px solid rgba(0,217,255,.25);border-radius:clamp(4px,2cqmin,8px);padding:clamp(4px,2cqmin,14px);position:relative;overflow:hidden;isolation:isolate}.vdt__session-fill{position:absolute;top:0;left:0;bottom:0;transition:width 1s linear;background:#00d9ff1f;z-index:-1;pointer-events:none}.vdt--ps .vdt__session-fill{background:#9d4edd1f}.vdt__session-fill--warning{background:#ff950026}.vdt__session-fill--critical{background:#ff33662e}.vdt--dense .vdt__session{padding:clamp(3px,1.4cqmin,10px)}.vdt__sessions--grid .vdt__session{padding:clamp(3px,1.5cqmin,12px)}.vdt__session-name-timer-row{display:flex;flex-direction:row;align-items:center;position:relative;z-index:1;justify-content:space-between;gap:clamp(.25em,1cqi,.5em);min-width:0}.vdt__session-name-timer-row .vdt__session-name{flex:1;min-width:0}.vdt__session-timer{flex-shrink:0}.vdt__session--waiting{background:#ff950014;border-color:#ff950040}.vdt__session-name{font-size:clamp(.6rem,5cqmin,1.25rem);font-weight:600;color:var(--accent-cyan, #00d9ff);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vdt__session-name--waiting{color:var(--accent-orange, #ff9500)}.vdt__session-timer{display:flex;align-items:baseline;gap:.4rem}.vdt__timer-value{font-size:clamp(.85rem,7cqmin,2.2rem);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary, #fff);font-family:Courier New,monospace;text-shadow:0 0 8px currentColor}.vdt__timer-value--warning{color:var(--accent-orange, #ff9500);animation:vdt-blink 1s ease-in-out infinite}.vdt__timer-value--critical{color:var(--accent-red, #ff3366);animation:vdt-blink .5s ease-in-out infinite}@keyframes vdt-blink{0%,to{opacity:1}50%{opacity:.5}}.vdt__attendance-label{font-size:clamp(.4rem,2.5cqmin,.75rem);color:var(--accent-orange, #ff9500);font-weight:600;margin-top:clamp(1px,.3cqb,4px);position:relative;z-index:1}.vdt__attendance-timer{font-size:clamp(.6rem,4.5cqmin,1.5rem);font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent-orange, #ff9500);font-family:Courier New,monospace}.vdt__queue{margin-top:clamp(2px,.4cqb,4px);padding-top:clamp(2px,.4cqb,4px);border-top:1px solid rgba(255,255,255,.1);flex-shrink:0}.vdt--dense .vdt__queue{margin-top:clamp(1px,.2cqb,2px);padding-top:clamp(1px,.2cqb,2px)}.vdt__queue-list{display:flex;flex-direction:column;gap:clamp(1px,.4cqb,6px)}.vdt__queue-list--dense{gap:clamp(1px,.25cqb,3px)}.vdt__queue-list--grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1px,.4cqb,6px)}.vdt__queue-item{display:flex;align-items:center;gap:clamp(2px,1cqmin,8px);padding:clamp(2px,1cqmin,8px);background:#ffffff0d;border-radius:clamp(3px,1.5cqmin,6px);border:1px solid transparent}.vdt__queue-list--dense .vdt__queue-item{padding:clamp(1px,.7cqmin,6px)}.vdt__queue-number{font-weight:700;color:var(--accent-purple, #9d4edd);font-size:clamp(.5rem,3.4cqmin,.95rem);min-width:0}.vdt__queue-name{color:var(--text-primary, #fff);font-size:clamp(.5rem,3.4cqmin,.95rem);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.vdt__queue-time{font-size:.85em;color:var(--text-secondary, #b4b8c8);font-variant-numeric:tabular-nums;opacity:.8;white-space:nowrap}@media(max-width:768px){.vdt__icon{display:none}}.lc{position:relative;width:100%;height:100%;min-height:300px;overflow:visible;padding:8px}.lc--editable{cursor:crosshair}.lc__grid-lines{position:absolute;inset:0;pointer-events:none;z-index:0}.lc__tile{z-index:1;transition:opacity .15s ease;overflow:visible;border-radius:10px;container-type:size}.lc--editable .lc__tile{cursor:grab}.lc--editable .lc__tile:active{cursor:grabbing}.lc__tile--selected{box-shadow:0 0 0 2px var(--accent-cyan, #00d9ff),0 0 16px #00d9ff59!important;z-index:2}.lc__tile--dragging{z-index:10;pointer-events:none}.lc__tile--collision{animation:lc-flash-red .5s ease}@keyframes lc-flash-red{0%,to{box-shadow:none}50%{box-shadow:0 0 20px #f36c,inset 0 0 10px #ff33664d}}.lc__tile--focused{box-shadow:0 0 0 3px #00d9ffb3,0 0 20px #00d9ff4d;z-index:3}.lc__tile--highlighted{animation:lc-highlight-pulse .6s ease-in-out 5;z-index:10}@keyframes lc-highlight-pulse{0%,to{box-shadow:0 0 0 3px #ff950080}50%{box-shadow:0 0 0 6px #ff9500cc,0 0 30px #ff950066}}.lc__ghost{position:absolute;border:2px dashed var(--accent-cyan, #00d9ff);border-radius:10px;background:#00d9ff14;z-index:5;pointer-events:none;transition:left .06s,top .06s,width .06s,height .06s}.lc__marquee{border:1.5px dashed var(--accent-purple, #9d4edd);background:#9d4edd1a;z-index:50;pointer-events:none;border-radius:2px}.lc__selection-badge{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:#00d9ff26;border:1px solid rgba(0,217,255,.4);color:var(--accent-cyan, #00d9ff);font-size:.75rem;font-weight:600;padding:4px 14px;border-radius:20px;z-index:60;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.3px}.lc__resize-handle{position:absolute;bottom:0;right:0;width:18px;height:18px;cursor:nwse-resize;z-index:20;background:linear-gradient(135deg,transparent 50%,var(--accent-cyan, #00d9ff) 50%);border-radius:0 0 8px;opacity:0;transition:opacity .2s}.lc--editable .lc__tile:hover .lc__resize-handle,.lc--editable .lc__tile:active .lc__resize-handle{opacity:.7}.lc__resize-handle:hover{opacity:1!important}.view-mode{position:fixed;inset:0;z-index:9999;background:linear-gradient(135deg,var(--bg-primary, #0a0e27) 0%,#0f1629 100%);display:flex;flex-direction:column;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.view-mode__header{display:flex;justify-content:space-between;align-items:center;padding:clamp(16px,2vw,32px) clamp(20px,2.5vw,48px);flex-shrink:0}.view-mode__title{font-size:clamp(1.5rem,2.5vw,2.5rem);font-weight:700;background:linear-gradient(135deg,var(--accent-cyan, #00d9ff),var(--accent-purple, #9d4edd));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.view-mode__subtitle{color:var(--text-secondary, #b4b8c8);font-size:clamp(.75rem,1vw,1rem);margin-top:.25rem}.view-mode__meta{display:flex;align-items:center;gap:clamp(12px,1.5vw,24px)}.view-mode__updated{font-size:clamp(.7rem,.9vw,.9rem);color:var(--text-dimmed, #6b7280);font-variant-numeric:tabular-nums}.view-mode__exit-btn{background:#00d9ff1a;border:1px solid rgba(0,217,255,.3);border-radius:8px;color:var(--accent-cyan, #00d9ff);cursor:pointer;padding:8px 14px;display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:500;font-family:inherit;transition:all .2s}.view-mode__exit-btn:hover{background:#00d9ff33;border-color:#00d9ff80}.view-mode__layout{flex:1;min-height:0;padding:8px clamp(20px,2.5vw,48px) clamp(20px,2.5vw,48px);overflow:visible;display:flex;flex-direction:column;align-items:center}.view-mode__canvas{width:100%;max-width:1600px}.view-mode__empty{font-size:clamp(1.25rem,2vw,2rem);color:var(--text-dimmed, #6b7280);text-align:center;padding:4rem}.mss__overlay{position:fixed;inset:0;z-index:10001;background:#0000008c;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mss{background:var(--bg-card, #1a1f3c);border:1px solid rgba(0,217,255,.2);border-radius:14px;padding:0;width:460px;max-width:95vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 0 60px #00000080,0 0 20px #00d9ff1a;overflow:hidden}.mss__header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(0,217,255,.1)}.mss__header h3{margin:0;font-size:1.1rem;color:var(--text-primary, #e5e7eb)}.mss__close{background:transparent;border:none;color:var(--text-secondary, #b4b8c8);font-size:1.2rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s}.mss__close:hover{color:var(--text-primary, #e5e7eb);background:#ffffff14}.mss__msg{padding:8px 20px;font-size:.85rem;font-weight:500}.mss__msg--error{background:#ff33661f;color:var(--accent-red, #ff3366);border-bottom:1px solid rgba(255,51,102,.2)}.mss__msg--success{background:#00ff881a;color:var(--accent-green, #00ff88);border-bottom:1px solid rgba(0,255,136,.2)}.mss__content{padding:16px 20px;overflow-y:auto;flex:1}.mss__list{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.mss__item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff0a;border-radius:8px;border:1px solid rgba(255,255,255,.06);transition:border-color .15s}.mss__item:hover{border-color:#00d9ff33}.mss__item-icon{font-size:1.2rem;flex-shrink:0}.mss__item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.mss__item-name{font-weight:600;color:var(--text-primary, #e5e7eb);font-size:.9rem}.mss__item-meta{font-size:.75rem;color:var(--text-secondary, #b4b8c8)}.mss__item-actions{display:flex;gap:4px;flex-shrink:0}.mss__add-btn{width:100%;margin-top:4px}.mss__empty{text-align:center;padding:24px 0;color:var(--text-secondary, #b4b8c8);font-size:.9rem}.mss__form{padding:16px 20px}.mss__form-title{margin:0 0 14px;font-size:1rem;color:var(--text-primary, #e5e7eb)}.mss__field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.mss__field span{font-size:.8rem;font-weight:600;color:var(--text-secondary, #b4b8c8);text-transform:uppercase;letter-spacing:.3px}.mss__field input,.mss__field select{padding:8px 12px;background:#ffffff0f;border:1px solid rgba(0,217,255,.2);border-radius:6px;color:var(--text-primary, #e5e7eb);font-size:.9rem;font-family:inherit}.mss__field input:focus,.mss__field select:focus{outline:none;border-color:var(--accent-cyan, #00d9ff);box-shadow:0 0 6px #00d9ff33}.mss__field select option{background:#1a1f3c;color:#e5e7eb}.mss__form-actions{display:flex;gap:8px;margin-top:16px}@media(max-width:520px){.mss{width:100%;max-height:90vh;border-radius:14px 14px 0 0;margin-top:auto}}.le{position:fixed;inset:0;z-index:9998;background:linear-gradient(135deg,var(--bg-primary, #0a0e27) 0%,#0f1629 100%);display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.le__toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#0000004d;border-bottom:1px solid rgba(0,217,255,.15);flex-shrink:0;flex-wrap:wrap;gap:8px}.le__toolbar-left,.le__toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.le__select{padding:6px 12px;background:#ffffff0f;border:1px solid rgba(0,217,255,.3);border-radius:6px;color:var(--text-primary, #e5e7eb);font-size:.85rem;font-family:inherit;cursor:pointer;min-width:140px}.le__select:focus{outline:none;border-color:var(--accent-cyan, #00d9ff);box-shadow:0 0 6px #00d9ff4d}.le__select option{background:#1a1f3c;color:#e5e7eb}.le__btn{padding:6px 14px;border-radius:6px;border:1px solid rgba(0,217,255,.3);background:#00d9ff14;color:var(--accent-cyan, #00d9ff);font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;white-space:nowrap}.le__btn:hover{background:#00d9ff2e;border-color:#00d9ff80}.le__btn--primary{background:#00d9ff33;border-color:var(--accent-cyan, #00d9ff)}.le__btn--primary:hover{background:#00d9ff59}.le__btn--danger{border-color:#f366;color:var(--accent-red, #ff3366);background:#ff336614}.le__btn--danger:hover{background:#f363;border-color:#f369}.le__btn--close{border-color:#ffffff26;color:var(--text-secondary, #b4b8c8);background:#ffffff0d}.le__btn--close:hover{background:#ffffff1f;color:var(--text-primary, #e5e7eb)}.le__btn:disabled{opacity:.4;cursor:not-allowed}.le__undo-group{display:flex;gap:2px}.le__btn--undo{padding:4px 10px;font-size:1rem;line-height:1;min-width:32px;border-radius:5px}.le__btn--undo:disabled{opacity:.25}.le__size-group{display:flex;align-items:center;gap:3px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:3px 8px}.le__size-label{font-size:.7rem;color:var(--text-secondary, #b4b8c8);font-weight:600;margin-right:4px;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px}.le__btn--size{padding:3px 8px;min-width:28px;font-size:.85rem;font-weight:700;border-radius:4px;text-align:center;border-color:#00d9ff33}.le__btn--size:hover{background:#00d9ff40}.le__btn--size-w{font-size:.65rem;font-weight:700;color:var(--accent-purple, #9d4edd);border-color:#9d4edd40;background:#9d4edd0f}.le__btn--size-w:hover{background:#9d4edd33}.le__btn--size-h{font-size:.65rem;font-weight:700;color:var(--accent-green, #00ff88);border-color:#00ff8840;background:#00ff880f}.le__btn--size-h:hover{background:#0f83}.le__default-badge{font-size:.75rem;color:var(--accent-green, #00ff88);background:#00ff881f;padding:4px 10px;border-radius:6px;border:1px solid rgba(0,255,136,.3);font-weight:600}.le__toggle{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.le__toggle input[type=checkbox]{appearance:none;width:36px;height:20px;background:#ffffff1a;border-radius:10px;position:relative;cursor:pointer;transition:background .2s;border:1px solid rgba(255,255,255,.15)}.le__toggle input[type=checkbox]:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--text-secondary, #b4b8c8);border-radius:50%;transition:transform .2s,background .2s}.le__toggle input[type=checkbox]:checked{background:#00d9ff40;border-color:var(--accent-cyan, #00d9ff)}.le__toggle input[type=checkbox]:checked:after{transform:translate(16px);background:var(--accent-cyan, #00d9ff)}.le__toggle-label{font-size:.8rem;color:var(--text-secondary, #b4b8c8);font-weight:500}.le__status{padding:8px 20px;font-size:.85rem;font-weight:500;text-align:center;animation:le-status-in .2s ease}.le__status--success{background:#00ff881a;color:var(--accent-green, #00ff88);border-bottom:1px solid rgba(0,255,136,.2)}.le__status--error{background:#ff33661f;color:var(--accent-red, #ff3366);border-bottom:1px solid rgba(255,51,102,.2)}@keyframes le-status-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.le__canvas-wrap{flex:1;min-height:0;padding:16px;display:flex;align-items:stretch}.le__canvas{flex:1;border:1px solid rgba(0,217,255,.08);border-radius:8px}.le__loading{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-secondary, #b4b8c8);font-size:1.1rem}.le-tile{width:100%;height:100%;background:var(--bg-card, #1a1f3c);border-radius:10px;border:2px solid transparent;padding:10px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 2px 10px #0000004d;overflow:hidden}.le-tile--available{border-color:var(--status-available, #00ff88)}.le-tile--active{border-color:var(--status-active, #00d9ff);box-shadow:0 0 12px #00d9ff40}.le-tile--maintenance{border-color:var(--status-maintenance, #ff3366);opacity:.6}.le-tile--closed{border-color:var(--status-closed, #6b7280);opacity:.5}.le-tile__header{display:flex;align-items:center;gap:6px;min-width:0}.le-tile__icon{font-size:clamp(.8rem,1.2vw,1.2rem);flex-shrink:0}.le-tile__name{font-weight:700;font-size:clamp(.7rem,1vw,1.1rem);color:var(--text-primary, #e5e7eb);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.le-tile__info{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.le-tile__badge{font-size:clamp(.55rem,.7vw,.7rem);padding:2px 6px;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.le-tile__badge--active{background:#00d9ff33;color:var(--accent-cyan, #00d9ff)}.le-tile__badge--queue{background:#9d4edd33;color:var(--accent-purple, #9d4edd)}.le-tile__badge--available{background:#00ff8826;color:var(--status-available, #00ff88)}.le__dialog-overlay{position:fixed;inset:0;z-index:10000;background:#0009;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.le__dialog{background:var(--bg-card, #1a1f3c);border:1px solid rgba(0,217,255,.25);border-radius:12px;padding:24px;min-width:320px;box-shadow:0 0 40px #00000080}.le__dialog h3{margin:0 0 16px;color:var(--text-primary, #e5e7eb);font-size:1.1rem}.le__dialog-input{width:100%;padding:10px 12px;background:#ffffff0f;border:1px solid rgba(0,217,255,.3);border-radius:6px;color:var(--text-primary, #e5e7eb);font-size:.95rem;font-family:inherit;box-sizing:border-box}.le__dialog-input:focus{outline:none;border-color:var(--accent-cyan, #00d9ff);box-shadow:0 0 8px #00d9ff40}.le__dialog-actions{display:flex;gap:8px;margin-top:16px;justify-content:flex-end}@media(max-width:768px){.le__toolbar{padding:8px 12px}.le__toolbar-left,.le__toolbar-right{gap:4px}.le__btn{padding:5px 10px;font-size:.75rem}.le__canvas-wrap{padding:8px}}
