@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500;600;700&display=swap";:root{--bg-primary:#0a0a0c;--bg-secondary:#111114;--bg-card:#16161a;--bg-card-hover:#1c1c21;--bg-elevated:#1e1e24;--bg-glass:#16161ab8;--border-subtle:#ffffff0f;--border-default:#ffffff1a;--border-focus:#fff3;--text-primary:#e8e8ed;--text-secondary:#8e8e93;--text-muted:#48484a;--accent:#5e5ce6;--accent-hover:#7674ff;--accent-glow:#5e5ce640;--accent-bg:#5e5ce61f;--urgent:#ff3b30;--urgent-bg:#ff3b301a;--soon:#ff9f0a;--soon-bg:#ff9f0a1a;--normal:#5e5ce6;--normal-bg:#5e5ce614;--done:#30d158;--done-bg:#30d1581a;--subject-math:#ff6b6b;--subject-physics:#4ecdc4;--subject-cs:#7c5cfc;--subject-chem:#fc5c65;--subject-lang:#45aaf2;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Fira Code", monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.2s ease;--transition-spring:.3s cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow-x:hidden}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}::-webkit-scrollbar{width:0;height:0}.app-shell{min-height:100vh;padding-bottom:calc(70px + env(safe-area-inset-bottom,0px));flex-direction:column;display:flex}.page-content{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #ff3b3000}50%{box-shadow:0 0 16px -4px #ff3b301f}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.tab-bar{height:56px;padding-bottom:env(safe-area-inset-bottom,0px);-webkit-backdrop-filter:blur(20px)saturate(180%);border-top:1px solid var(--border-subtle);z-index:100;background:#0a0a0cd1;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-item{color:var(--text-muted);transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:center;gap:2px;padding:6px 16px;display:flex}.tab-item.active{color:var(--accent);filter:drop-shadow(0 0 6px var(--accent-glow))}.tab-icon{font-size:22px;line-height:1}.tab-label{letter-spacing:.02em;font-size:10px;font-weight:500}.stats-bar{margin:0 0 var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-subtle);gap:2px;padding:3px;display:flex}.stat-item{text-align:center;padding:var(--space-2) var(--space-1);transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent;border-radius:8px;flex:1}.stat-item.active{background:var(--bg-card)}.stat-number{font-family:var(--font-mono);letter-spacing:-.02em;font-size:18px;font-weight:700;line-height:1.2}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:10px;font-weight:500}.chips-row{padding:0 0 var(--space-3);scrollbar-width:none;-ms-overflow-style:none;gap:6px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000 100%);mask-image:linear-gradient(90deg,#000 85%,#0000 100%)}.chips-row::-webkit-scrollbar{display:none}.chip{white-space:nowrap;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-subtle);transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600}.chip:active{transform:scale(.95)}.chip.active{background:var(--accent-bg);color:#b4b2ff;border-color:#5e5ce64d}.chip-all{font-family:var(--font-mono);font-weight:700}.chip-overdue{align-items:center;gap:4px;display:flex}.overdue-dot{background:var(--urgent);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5;box-shadow:0 0 6px 2px #ff3b3066}}.countdown{font-family:var(--font-mono);border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:600}.countdown-overdue,.countdown-urgent{background:var(--urgent-bg);color:var(--urgent);text-shadow:0 0 8px #ff3b304d}.countdown-soon{background:var(--soon-bg);color:var(--soon)}.countdown-normal{background:var(--normal-bg);color:#8886e5}.countdown-done{background:var(--done-bg);color:var(--done)}.assignment-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-fast);cursor:pointer;padding:14px 14px 14px 17px;animation:.35s both slide-up;position:relative;overflow:hidden}.assignment-card:active{background:var(--bg-card-hover);transform:scale(.98)}.card-expanded{border-color:var(--border-default)}.assignment-card:before{content:"";width:3px;position:absolute;top:0;bottom:0;left:0}.card-overdue:before,.card-urgent:before{background:var(--urgent)}.card-soon:before{background:var(--soon)}.card-normal:before{background:var(--accent)}.card-done:before{background:var(--done);opacity:.5}.card-overdue,.card-urgent{background:linear-gradient(90deg, #ff3b300f 0%, var(--bg-card) 35%);animation:.35s both slide-up,3s ease-in-out infinite pulse-glow}.card-soon{background:linear-gradient(90deg, #ff9f0a0d 0%, var(--bg-card) 35%)}.card-done{opacity:.55}.card-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.card-header-left{align-items:center;gap:8px;display:flex}.subject-chip{font-family:var(--font-mono);border-radius:var(--radius-sm);letter-spacing:.02em;padding:2px 8px;font-size:11px;font-weight:600}.chip-math{color:#ff8a8a;background:#ff6b6b1f}.chip-physics{color:#6edcd4;background:#4ecdc41f}.chip-cs{color:#9b85ff;background:#7c5cfc1f}.chip-chem{color:#ff7a82;background:#fc5c651f}.chip-default{background:var(--accent-bg);color:#b4b2ff}.work-type{color:var(--text-secondary);font-size:12px;font-weight:500}.card-title{color:var(--text-primary);margin-bottom:8px;font-size:14px;font-weight:500;line-height:1.4}.card-meta{align-items:center;gap:12px;display:flex}.card-date{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;font-size:11px}.card-status-badge{border-radius:var(--radius-sm);padding:2px 8px;font-size:11px;font-weight:600}.badge-done{color:var(--done);background:var(--done-bg)}.badge-pending{color:var(--text-muted);background:var(--bg-secondary)}.card-detail{border-top:1px solid var(--border-subtle);margin-top:12px;padding-top:12px;animation:.2s both slide-up}.card-raw-text{color:var(--text-secondary);white-space:pre-wrap;font-size:12px;line-height:1.5;font-family:var(--font-mono);background:var(--bg-secondary);border-radius:var(--radius-sm);margin-bottom:12px;padding:8px 10px}.card-actions-expanded{flex-wrap:wrap;gap:8px;display:flex}.action-btn{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-secondary);color:var(--text-secondary);transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;cursor:pointer;padding:8px 14px;font-size:12px;font-weight:600;text-decoration:none}.action-btn:active{transform:scale(.95)}.action-btn-done{background:var(--done-bg);color:var(--done);border-color:#30d15833}.action-btn-done:active{background:#30d15833}.action-btn-undo{background:var(--soon-bg);color:var(--soon);border-color:#ff9f0a33}.action-btn-link,.action-btn-materials{align-items:center;display:inline-flex}.calendar-wrapper{padding-bottom:var(--space-4)}.calendar-nav{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.calendar-month{letter-spacing:-.01em;font-size:16px;font-weight:600}.calendar-arrows{gap:4px;display:flex}.arrow-btn{border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border-subtle);width:28px;height:28px;color:var(--text-secondary);transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;font-size:12px;display:flex}.arrow-btn:active{background:var(--bg-card-hover);transform:scale(.95)}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-weekday{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:4px 0 8px;font-size:10px;font-weight:600}.cal-day{color:var(--text-secondary);transition:all var(--transition-spring);-webkit-tap-highlight-color:transparent;border-radius:10px;flex-direction:column;align-items:center;min-height:40px;padding:6px 0 4px;font-size:13px;font-weight:500;display:flex}.cal-day:active{transform:scale(.9)}.cal-day.other-month{color:var(--text-muted);opacity:.4}.cal-day.today{background:var(--accent);color:#fff;font-weight:700}.cal-day.selected{border:1.5px solid var(--accent);color:var(--text-primary)}.cal-dots{gap:3px;min-height:4px;margin-top:3px;display:flex}.cal-dot{border-radius:50%;width:4px;height:4px}.dot-overdue,.dot-urgent{background:var(--urgent)}.dot-soon{background:var(--soon)}.dot-normal{background:var(--accent)}.dot-done{background:var(--done)}.dot-overflow{width:auto;height:auto;color:var(--text-muted);background:0 0;font-size:6px;line-height:1}.selected-day-card{margin-top:var(--space-3);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:14px;animation:.2s both slide-up}.selected-day-header{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:11px;font-weight:600}.selected-day-item{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;padding:8px 0;display:flex}.selected-day-item:last-child{border-bottom:none}.sdi-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sdi-info{flex:1}.sdi-title{margin-bottom:2px;font-size:13px;font-weight:500}.sdi-meta{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.page-deadlines{padding:var(--space-5) var(--space-4) 0}.page-header h1{letter-spacing:-.02em;margin-bottom:var(--space-1);font-size:28px;font-weight:700}.header-subtitle{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;margin-bottom:var(--space-4);font-size:12px;font-weight:500}.header-subtitle .accent{color:var(--urgent)}.header-top{justify-content:space-between;align-items:flex-start;display:flex}.view-toggle{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;flex-shrink:0;padding:3px;display:flex}.view-btn{color:var(--text-muted);transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:500}.view-btn.active{background:var(--bg-card);color:var(--text-primary)}.cards-container{gap:var(--space-2);padding-bottom:var(--space-4);flex-direction:column;display:flex}.section-label{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:var(--space-2) 0 var(--space-1);font-size:11px;font-weight:600}.empty-state{min-height:200px;color:var(--text-muted);font-family:var(--font-mono);justify-content:center;align-items:center;gap:var(--space-2);flex-direction:column;font-size:14px;display:flex}.empty-cursor{font-size:24px;animation:1.06s step-end infinite blink}@keyframes blink{50%{opacity:0}}.lab-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-fast);cursor:pointer;animation:.35s both slide-up;position:relative;overflow:hidden}.lab-card:active{background:var(--bg-card-hover);transform:scale(.98)}.lab-card-selected{background:linear-gradient(90deg, #5e5ce60f 0%, var(--bg-card) 35%);border-color:#5e5ce64d}.lab-card-inner{display:flex}.lab-card-accent{background:var(--accent);flex-shrink:0;width:3px}.lab-card-body{flex:1;min-width:0;padding:14px}.lab-card-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.lab-card-header-left{align-items:center;gap:8px;min-width:0;display:flex}.lab-tag{font-family:var(--font-mono);border-radius:var(--radius-sm);letter-spacing:.02em;background:var(--accent-bg);color:#b4b2ff;white-space:nowrap;padding:2px 8px;font-size:11px;font-weight:600}.lab-group-badge{border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-secondary);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;font-size:10px;font-weight:600}.lab-due-date{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;white-space:nowrap;flex-shrink:0;font-size:11px}.lab-card-title{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:500;line-height:1.4}.lab-progress-container{align-items:center;gap:8px;margin-bottom:6px;display:flex}.lab-progress-bar{background:var(--bg-secondary);border-radius:var(--radius-full);flex:1;height:4px;overflow:hidden}.lab-progress-fill{background:var(--accent);border-radius:var(--radius-full);height:100%;transition:width var(--transition-normal);min-width:0}.lab-progress-text{font-family:var(--font-mono);color:var(--text-secondary);text-align:right;flex-shrink:0;min-width:32px;font-size:11px;font-weight:600}.lab-card-stats{align-items:center;gap:12px;display:flex}.lab-stat{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;font-size:11px}.queue-view{margin-top:var(--space-2);animation:.3s both slide-up}.queue-header{padding:var(--space-2) 0 var(--space-3);justify-content:space-between;align-items:center;display:flex}.queue-section-label{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600}.queue-live-badge{font-family:var(--font-mono);color:var(--done);letter-spacing:.06em;border-radius:var(--radius-sm);background:var(--done-bg);align-items:center;gap:5px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.queue-live-dot{background:var(--done);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse-live}@keyframes pulse-live{0%,to{opacity:1;box-shadow:0 0 #30d15866}50%{opacity:.7;box-shadow:0 0 6px 2px #30d1584d}}.queue-loading{align-items:center;gap:var(--space-2);padding:var(--space-4);color:var(--text-muted);font-family:var(--font-mono);font-size:12px;display:flex}.queue-loading-cursor{animation:1.06s step-end infinite blink}.queue-empty{text-align:center;padding:var(--space-6) 0;color:var(--text-muted);font-family:var(--font-mono);font-size:12px}.queue-list{flex-direction:column;gap:2px;display:flex}.queue-item{align-items:center;gap:var(--space-3);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-fast);padding:10px 12px;animation:.25s both slide-up;display:flex}.queue-item:active{background:var(--bg-card-hover);transform:scale(.98)}.queue-item-current{background:linear-gradient(90deg, #5e5ce614 0%, var(--bg-card) 50%);border-color:#5e5ce64d}.queue-item-golden{background:linear-gradient(90deg, #ff9f0a0f 0%, var(--bg-card) 50%);border-color:#ff9f0a40}.queue-position{font-family:var(--font-mono);color:var(--text-muted);text-align:center;min-width:24px;font-size:14px;font-weight:700}.queue-item-current .queue-position{color:var(--accent)}.queue-item-golden .queue-position{color:var(--soon)}.queue-user-info{flex:1;min-width:0}.queue-user-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;display:block;overflow:hidden}.queue-golden-mark{color:var(--soon);font-weight:700}.queue-status{border-radius:var(--radius-sm);flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.queue-status-dot{background:currentColor;border-radius:50%;width:5px;height:5px}.queue-status-ready{color:var(--done);background:var(--done-bg)}.queue-status-waiting{color:var(--text-muted);background:var(--bg-secondary)}.page-labs{padding:var(--space-5) var(--space-4) 0}.page-labs .page-header h1{letter-spacing:-.02em;margin-bottom:var(--space-1);font-size:28px;font-weight:700}.page-labs .header-subtitle{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;margin-bottom:var(--space-4);font-size:12px;font-weight:500}.page-labs .header-subtitle .accent{color:var(--accent)}.labs-container{gap:var(--space-2);padding-bottom:var(--space-4);flex-direction:column;display:flex}.page-labs .empty-state{min-height:200px;color:var(--text-muted);font-family:var(--font-mono);justify-content:center;align-items:center;gap:var(--space-2);flex-direction:column;font-size:14px;display:flex}.page-labs .empty-cursor{font-size:24px;animation:1.06s step-end infinite blink}.admin-assignment-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-fast);animation:.35s both slide-up;overflow:hidden}.admin-assignment-card:active{background:var(--bg-card-hover);transform:scale(.98)}.admin-card-inner{display:flex}.admin-card-accent{background:var(--accent);flex-shrink:0;width:3px}.admin-card-body{flex:1;min-width:0;padding:14px}.admin-card-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.admin-card-header-left{align-items:center;gap:8px;min-width:0;display:flex}.admin-card-tag{font-family:var(--font-mono);border-radius:var(--radius-sm);letter-spacing:.02em;background:var(--accent-bg);color:#b4b2ff;white-space:nowrap;padding:2px 8px;font-size:11px;font-weight:600}.admin-card-work-type{color:var(--text-secondary);font-size:12px;font-weight:500}.admin-card-date{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;flex-shrink:0;font-size:11px}.admin-card-title{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:500;line-height:1.4}.admin-card-actions{gap:6px;display:flex}.admin-card-edit-btn{border-radius:var(--radius-sm);background:var(--accent-bg);color:#b4b2ff;transition:all var(--transition-fast);border:1px solid #5e5ce633;padding:5px 12px;font-size:11px;font-weight:500}.admin-card-edit-btn:active{background:#5e5ce633;transform:scale(.95)}.admin-card-delete-btn{border-radius:var(--radius-sm);background:var(--urgent-bg);color:var(--urgent);transition:all var(--transition-fast);border:1px solid #ff3b3026;padding:5px 12px;font-size:11px;font-weight:500}.admin-card-delete-btn:active{background:#ff3b3033;transform:scale(.95)}.assignment-form{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);gap:var(--space-3);flex-direction:column;padding:14px;display:flex}.form-field{gap:var(--space-1);flex-direction:column;display:flex}.form-label{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.form-input{font-family:var(--font-sans);border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-primary);transition:border-color var(--transition-fast);-webkit-appearance:none;outline:none;width:100%;padding:10px 12px;font-size:14px;font-weight:500}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{border-color:var(--accent)}.form-input-datetime{font-family:var(--font-mono);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:13px}.form-actions{margin-top:var(--space-1);justify-content:flex-end;gap:8px;display:flex}.form-cancel-btn{border-radius:var(--radius-md);color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-subtle);transition:all var(--transition-fast);padding:10px 16px;font-size:13px;font-weight:500}.form-cancel-btn:active{transform:scale(.96)}.form-submit-btn{border-radius:var(--radius-md);color:#fff;background:var(--accent);transition:all var(--transition-fast);padding:10px 16px;font-size:13px;font-weight:600}.form-submit-btn:active{background:var(--accent-hover);transform:scale(.96)}.users-list{flex-direction:column;gap:2px;display:flex}.users-empty{text-align:center;padding:var(--space-4) 0;color:var(--text-muted);font-family:var(--font-mono);font-size:12px}.user-item{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-fast);justify-content:space-between;align-items:center;padding:10px 14px;animation:.25s both slide-up;display:flex}.user-item:active{background:var(--bg-card-hover);transform:scale(.98)}.user-item-inactive{opacity:.55}.user-item-left{align-items:center;gap:var(--space-3);flex:1;min-width:0;display:flex}.user-item-id{font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0;min-width:28px;font-size:11px;font-weight:600}.user-item-info{flex-direction:column;gap:1px;min-width:0;display:flex}.user-item-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.user-item-username{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.user-item-status{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:500;display:inline-flex}.user-status-dot{background:currentColor;border-radius:50%;width:5px;height:5px}.user-status-active{color:var(--done);background:var(--done-bg)}.user-status-inactive{color:var(--text-muted);background:var(--bg-secondary)}.user-item-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.user-action-btn{border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border-subtle);width:32px;height:32px;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;font-size:14px;display:flex}.user-action-btn:active{transform:scale(.9)}.btn-block{color:var(--urgent)}.btn-unblock{color:var(--done)}.btn-delete{color:var(--text-muted)}.user-confirm-delete{gap:4px;display:flex}.btn-confirm-yes{background:var(--urgent-bg);color:var(--urgent);border-color:#ff3b3033;width:auto;padding:0 8px;font-size:11px;font-weight:600}.btn-confirm-no{width:auto;padding:0 8px;font-size:11px;font-weight:600}.page-admin{padding:var(--space-5) var(--space-4) 0}.page-admin .page-header h1{letter-spacing:-.02em;margin-bottom:var(--space-1);font-size:28px;font-weight:700}.page-admin .header-subtitle{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;margin-bottom:var(--space-4);font-size:12px;font-weight:500}.page-admin .empty-state{min-height:200px;color:var(--text-muted);font-family:var(--font-mono);justify-content:center;align-items:center;gap:var(--space-2);flex-direction:column;font-size:14px;display:flex}.page-admin .empty-cursor{font-size:24px;animation:1.06s step-end infinite blink}.admin-sections{gap:var(--space-6);padding-bottom:var(--space-8);flex-direction:column;display:flex}.admin-section{gap:var(--space-2);flex-direction:column;display:flex}.admin-section-header{justify-content:space-between;align-items:center;display:flex}.page-admin .section-label{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:var(--space-2) 0 var(--space-1);font-size:11px;font-weight:600}.admin-add-btn{border-radius:var(--radius-md);background:var(--accent-bg);width:32px;height:32px;color:var(--accent);font-family:var(--font-mono);transition:all var(--transition-fast);border:1px solid #5e5ce633;justify-content:center;align-items:center;font-size:18px;font-weight:700;line-height:1;display:flex}.admin-add-btn:active{background:#5e5ce633;transform:scale(.9)}.admin-cards-container{gap:var(--space-2);flex-direction:column;display:flex}.admin-empty{text-align:center;padding:var(--space-4) 0;color:var(--text-muted);font-family:var(--font-mono);font-size:12px}.admin-export-btn{width:100%;font-family:var(--font-mono);color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-fast);text-align:center;letter-spacing:.02em;padding:12px;font-size:13px;font-weight:600;animation:.35s both slide-up}.admin-export-btn:active{background:var(--bg-card-hover);transform:scale(.98)}.subs-list{flex-direction:column;gap:2px;display:flex}.subs-empty{text-align:center;padding:var(--space-4) 0;color:var(--text-muted);font-family:var(--font-mono);font-size:12px}.sub-item{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-fast);justify-content:space-between;align-items:center;padding:12px 14px;animation:.35s both slide-up;display:flex}.sub-item:active{background:var(--bg-card-hover);transform:scale(.98)}.sub-info{flex:1;min-width:0}.sub-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;display:block;overflow:hidden}.toggle-switch{cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-track{border-radius:var(--radius-full);background:var(--bg-secondary);border:1px solid var(--border-subtle);width:44px;height:26px;transition:all var(--transition-normal);display:block;position:relative}.toggle-thumb{background:var(--text-muted);width:20px;height:20px;transition:all var(--transition-spring);border-radius:50%;position:absolute;top:2px;left:2px}.toggle-switch input:checked+.toggle-track{background:var(--accent-bg);border-color:#5e5ce64d}.toggle-switch input:checked+.toggle-track .toggle-thumb{background:var(--accent);box-shadow:0 0 8px var(--accent-glow);transform:translate(18px)}.presets-list{flex-direction:column;gap:2px;display:flex}.presets-empty{text-align:center;padding:var(--space-4) 0;color:var(--text-muted);font-family:var(--font-mono);font-size:12px}.preset-item{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-fast);justify-content:space-between;align-items:center;padding:12px 14px;animation:.35s both slide-up;display:flex}.preset-item:active{background:var(--bg-card-hover)}.preset-info{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.preset-label{font-family:var(--font-mono);color:var(--text-primary);white-space:nowrap;font-size:13px;font-weight:500}.preset-badge{border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:2px 7px;font-size:10px;font-weight:600}.preset-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.preset-delete-btn{border-radius:var(--radius-sm);background:var(--urgent-bg);width:28px;height:28px;color:var(--urgent);transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:16px;font-weight:700;line-height:1;display:flex}.preset-delete-btn:active{background:#ff3b3033;transform:scale(.9)}.preset-form{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:14px}.preset-form-row{margin-bottom:var(--space-3);gap:8px;display:flex}.preset-form-select,.preset-form-input{font-family:var(--font-mono);border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-primary);transition:border-color var(--transition-fast);-webkit-appearance:none;outline:none;padding:8px 10px;font-size:13px;font-weight:500}.preset-form-select:focus,.preset-form-input:focus{border-color:var(--accent)}.preset-form-select{flex:1;min-width:0}.preset-form-input{text-align:center;width:70px}.preset-form-time{width:90px}.preset-form-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.preset-form-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.preset-form-actions{justify-content:flex-end;gap:8px;display:flex}.preset-form-cancel{border-radius:var(--radius-md);color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-subtle);transition:all var(--transition-fast);padding:8px 16px;font-size:13px;font-weight:500}.preset-form-cancel:active{transform:scale(.96)}.preset-form-submit{border-radius:var(--radius-md);color:#fff;background:var(--accent);transition:all var(--transition-fast);padding:8px 16px;font-size:13px;font-weight:600}.preset-form-submit:active{background:var(--accent-hover);transform:scale(.96)}.preset-add-btn{margin-top:var(--space-2);width:100%;font-family:var(--font-mono);color:var(--accent);background:var(--accent-bg);border-radius:var(--radius-lg);transition:all var(--transition-fast);text-align:center;letter-spacing:.02em;border:1px dashed #5e5ce640;padding:10px;font-size:12px;font-weight:600}.preset-add-btn:active{background:#5e5ce62e;transform:scale(.98)}.preset-item .toggle-switch{cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0;display:inline-block;position:relative}.preset-item .toggle-switch input{opacity:0;width:0;height:0;position:absolute}.preset-item .toggle-track{border-radius:var(--radius-full);background:var(--bg-secondary);border:1px solid var(--border-subtle);width:44px;height:26px;transition:all var(--transition-normal);display:block;position:relative}.preset-item .toggle-thumb{background:var(--text-muted);width:20px;height:20px;transition:all var(--transition-spring);border-radius:50%;position:absolute;top:2px;left:2px}.preset-item .toggle-switch input:checked+.toggle-track{background:var(--accent-bg);border-color:#5e5ce64d}.preset-item .toggle-switch input:checked+.toggle-track .toggle-thumb{background:var(--accent);box-shadow:0 0 8px var(--accent-glow);transform:translate(18px)}.page-profile{padding:var(--space-5) var(--space-4) 0}.page-profile .page-header h1{letter-spacing:-.02em;margin-bottom:var(--space-1);font-size:28px;font-weight:700}.page-profile .header-subtitle{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;margin-bottom:var(--space-4);font-size:12px;font-weight:500}.page-profile .empty-state{min-height:200px;color:var(--text-muted);font-family:var(--font-mono);justify-content:center;align-items:center;gap:var(--space-2);flex-direction:column;font-size:14px;display:flex}.page-profile .empty-cursor{font-size:24px;animation:1.06s step-end infinite blink}.profile-sections{gap:var(--space-6);padding-bottom:var(--space-8);flex-direction:column;display:flex}.profile-section{gap:var(--space-2);flex-direction:column;display:flex}.page-profile .section-label{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:var(--space-2) 0 var(--space-1);font-size:11px;font-weight:600}.profile-fio-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);gap:var(--space-3);flex-direction:column;padding:14px;animation:.35s both slide-up;display:flex}.profile-fio-label{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.profile-fio-input{font-family:var(--font-sans);border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-primary);transition:border-color var(--transition-fast);outline:none;width:100%;padding:10px 12px;font-size:14px;font-weight:500}.profile-fio-input::placeholder{color:var(--text-muted)}.profile-fio-input:focus{border-color:var(--accent)}.profile-save-btn{border-radius:var(--radius-md);color:#fff;background:var(--accent);transition:all var(--transition-fast);text-align:center;padding:10px;font-size:13px;font-weight:600}.profile-save-btn:active{background:var(--accent-hover);transform:scale(.96)}.profile-save-btn:disabled{opacity:.6;cursor:default}.profile-save-btn-saved,.profile-save-btn-saved:active{background:var(--done)}.profile-export-btn{width:100%;font-family:var(--font-mono);color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-fast);text-align:center;letter-spacing:.02em;padding:12px;font-size:13px;font-weight:600;animation:.35s both slide-up}.profile-export-btn:active{background:var(--bg-card-hover);transform:scale(.98)}
