:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color:#111827;background-color:#f3f4f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{color-scheme:dark}[data-theme=dark] body{background:#0f172a;color:#e2e8f0}[data-theme=dark] .app-header{background:#1e293b;border-bottom-color:#334155}[data-theme=dark] .panel{background:#1e293b;border-color:#334155;color:#e2e8f0}[data-theme=dark] .panel-header h2,[data-theme=dark] .modal-header h3,[data-theme=dark] .setting-info h4{color:#f1f5f9}[data-theme=dark] .panel-subtitle,[data-theme=dark] .setting-info p{color:#94a3b8}[data-theme=dark] .workplace-card,[data-theme=dark] .info-card{background:#1e293b;border-color:#334155;color:#e2e8f0}[data-theme=dark] .workplace-card:hover{border-color:#3b82f6;box-shadow:0 4px 16px #3b82f633}[data-theme=dark] .workplace-card h3,[data-theme=dark] .info-card h3{color:#f1f5f9}[data-theme=dark] .add-card{background:#1e293b;border-color:#475569;color:#94a3b8}[data-theme=dark] .add-card:hover{border-color:#3b82f6;background:#1e3a5f;color:#60a5fa}[data-theme=dark] .modal{background:#1e293b;color:#e2e8f0}[data-theme=dark] .modal-overlay{background:#000000d9}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#0f172a;border-color:#334155;color:#e2e8f0}[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus{border-color:#3b82f6;background:#1e293b}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#64748b}[data-theme=dark] .btn-secondary{background:#334155;border-color:#475569;color:#f1f5f9}[data-theme=dark] .btn-secondary:hover{background:#475569;border-color:#64748b}[data-theme=dark] .btn-danger{background:#991b1b;border-color:#b91c1c}[data-theme=dark] .btn-danger:hover{background:#b91c1c;border-color:#dc2626}[data-theme=dark] .announcement-card{background:#1e293b;border-color:#334155}[data-theme=dark] .announcement-header h3,[data-theme=dark] .announcement-meta{color:#e2e8f0}[data-theme=dark] .setting-item{border-bottom-color:#334155}[data-theme=dark] .theme-btn{background:#0f172a;border-color:#475569;color:#94a3b8}[data-theme=dark] .theme-btn:hover{border-color:#64748b;background:#1e293b}[data-theme=dark] .theme-btn.active{background:#1e3a8a;border-color:#3b82f6;color:#93c5fd}[data-theme=dark] .theme-btn.active:hover{background:#1e40af}[data-theme=dark] .user-row{background:#1e293b;border-color:#334155}[data-theme=dark] .user-row:hover{background:#334155;border-color:#475569}[data-theme=dark] .user-info h4,[data-theme=dark] .user-name{color:#f1f5f9}[data-theme=dark] .user-email,[data-theme=dark] .user-meta,[data-theme=dark] .time-ago{color:#94a3b8}[data-theme=dark] .user-role-badge.admin{background:#422006;color:#fbbf24;border:1px solid #78350f}[data-theme=dark] .user-role-badge.user{background:#1e3a8a;color:#93c5fd;border:1px solid #3b82f6}[data-theme=dark] .search-input,[data-theme=dark] .filter-select{background:#0f172a;border-color:#475569;color:#e2e8f0}[data-theme=dark] .search-input:focus,[data-theme=dark] .filter-select:focus{border-color:#3b82f6;background:#1e293b}[data-theme=dark] .search-input::placeholder{color:#64748b}[data-theme=dark] .user-list-container,[data-theme=dark] .user-dashboard-toolbar{background:transparent}[data-theme=dark] .btn-small{background:#334155;border-color:#475569;color:#f1f5f9}[data-theme=dark] .btn-small:hover{background:#475569;border-color:#64748b}[data-theme=dark] .user-table{background:#1e293b;border:1px solid #334155}[data-theme=dark] .user-table thead{background:#0f172a}[data-theme=dark] .user-table th{color:#94a3b8;border-bottom-color:#475569}[data-theme=dark] .user-table td{color:#e2e8f0;border-bottom-color:#334155}[data-theme=dark] .user-table tbody tr:hover{background:#334155}[data-theme=dark] .role-badge{border:1px solid transparent}[data-theme=dark] .role-admin{background:#422006;color:#fbbf24;border-color:#78350f}[data-theme=dark] .role-worker{background:#1e3a8a;color:#93c5fd;border-color:#3b82f6}[data-theme=dark] .workplace-cell{color:#cbd5e1}[data-theme=dark] .empty-state{color:#94a3b8}[data-theme=dark] .user-table strong{color:#f1f5f9;font-weight:600}[data-theme=dark] .schedule-grid{background:#1e293b}[data-theme=dark] .day-header{background:#334155;color:#f1f5f9}[data-theme=dark] .time-slot{background:#1e293b;border-color:#334155}[data-theme=dark] .time-slot.assigned{background:#1e3a5f;border-color:#3b82f6}[data-theme=dark] .time-slot:hover{background:#334155}[data-theme=dark] .loading{color:#94a3b8}[data-theme=dark] .error-message{background:#7f1d1d;border-color:#991b1b;color:#fecaca}[data-theme=dark] .success-message{background:#14532d;border-color:#166534;color:#86efac}[data-theme=dark] .badge{background:#334155;color:#e2e8f0}[data-theme=dark] .badge-danger{background:#991b1b;color:#fecaca}[data-theme=dark] .badge-warning{background:#854d0e;color:#fef08a}[data-theme=dark] .badge-success{background:#166534;color:#86efac}[data-theme=dark] .badge-info{background:#075985;color:#7dd3fc}*{box-sizing:border-box}body,.panel,.modal,.btn,.workplace-card,.info-card,.user-row,.announcement-card,input,select,textarea{transition:background-color .3s ease,color .3s ease,border-color .3s ease}body{margin:0;min-height:100vh;background:#f3f4f6}#app{min-height:100vh}.app-header{background:#1d4ed8;color:#fff;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.2);box-shadow:0 2px 8px #0f172a29}.header-title h1{margin:0;font-size:1.45rem;font-weight:600}.subtitle{opacity:.9;font-size:.82rem}.subtitle-home-button{background:transparent;border:none;color:inherit;font:inherit;text-align:left;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.subtitle-home-button:hover{opacity:1}.container{max-width:1200px;margin:0 auto;padding:1.5rem}.panel{background:#fff;border-radius:12px;padding:1.25rem 1.25rem 1.5rem;border:1px solid #e5e7eb;box-shadow:0 4px 14px #11182712}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.panel-header h2{margin:0;font-size:1.2rem;font-weight:600;color:#111827}.panel-subtitle{margin:0 0 1.25rem;color:#4b5563}.header-actions{display:flex;align-items:center;gap:.6rem}.user-badge{background:#ffffff29;color:#fff;padding:.32rem .72rem;border-radius:7px;font-size:.8rem;font-weight:500;border:1px solid rgba(255,255,255,.28)}.user-badge.admin-badge{background:#0f172a;color:#fff;font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.45px;border-color:#0f172a}.role-badge{background:#28a745;color:#fff;padding:.25rem .6rem;border-radius:6px;font-size:.75rem;font-weight:600}.user-email{font-size:.85rem;opacity:.9}.btn{border:1px solid transparent;border-radius:8px;padding:.56rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn-primary{background:#1d4ed8;color:#fff;border-color:#1e40af}.btn-light{background:#fff;color:#fff;color:#1f2937;border:1px solid #d1d5db}.btn-light-dark{background:#fff;color:#1f2937;border:1px solid #d1d5db}.btn-secondary{background:#f8fafc;color:#1f2937;border-color:#cbd5e1}.btn-danger{background:#fff;color:#b91c1c;border-color:#fecaca}.btn-primary:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.btn-primary:not(:disabled):hover{background:#1e40af;border-color:#1e3a8a}.btn-light:hover,.btn-light-dark:hover,.btn-secondary:hover{background:#f3f4f6;border-color:#9ca3af}.btn-danger:hover{background:#fef2f2;border-color:#fca5a5}.score-badge{background:#e3f2fd;color:#1565c0;padding:.4rem .8rem;border-radius:999px;font-size:.85rem;font-weight:600}.panel-actions{display:flex;flex-wrap:wrap;gap:.5rem}.workplace-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;margin-top:1rem}.workplace-card{background:#fff;color:#111827;border:1px solid #dbe4ff;border-radius:12px;padding:1rem;text-align:left;cursor:pointer;box-shadow:0 4px 12px #11182714;transition:border-color .15s ease,box-shadow .15s ease}.workplace-card h3{margin:0 0 .35rem;font-size:1.02rem}.workplace-card p{margin:0;opacity:1;font-size:.88rem;color:#4b5563}.workplace-card:hover{border-color:#93c5fd;box-shadow:0 8px 18px #1e40af24}.workplace-card.selected{border-color:#1d4ed8;box-shadow:0 0 0 1px #1d4ed8,0 10px 20px #1d4ed829}.workplace-card.add-card{background:#f9fafb;color:#111827;border:1px dashed #93c5fd;box-shadow:none}.workplace-header{margin-bottom:.7rem}.workplace-name{color:#0f172a;font-weight:700}.workplace-location{display:block;font-size:.82rem;color:#6b7280}.workplace-stats{display:grid;grid-template-columns:1fr;gap:.35rem;margin-bottom:.85rem}.workplace-stats .stat-item{display:grid;grid-template-columns:18px 1fr;grid-template-rows:auto auto;column-gap:.45rem;align-items:center;padding:.35rem .45rem;border-radius:8px;background:#f8fafc;border:1px solid #e5e7eb}.workplace-stats .stat-icon{grid-row:1 / span 2;align-self:center}.workplace-stats .stat-value{margin:0;font-size:1.05rem;line-height:1.1;color:#111827}.workplace-stats .stat-label{margin:0;font-size:.72rem;letter-spacing:.4px;color:#6b7280}.workplace-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.workplace-actions .btn{width:100%;padding:.5rem .55rem;font-size:.82rem}.user-sections,.workplace-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-top:1.5rem}.info-card{background:#f9fafb;border-radius:14px;padding:1.25rem;border:1px solid #e5e7eb}.info-card h3{margin:0 0 .5rem;font-size:1rem}.info-card p{margin:0 0 1rem;color:#6b7280}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;align-items:end}.form-field{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem}.form-field input,.form-field select{padding:.6rem .75rem;border-radius:8px;border:1px solid #e5e7eb;font-size:.95rem}.form-status{grid-column:1 / -1;color:#16a34a;font-weight:600}.form-status.error{color:#dc2626}.grid-container{overflow-x:auto}.schedule-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.day-schedule{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.day-header{margin:0;padding:.875rem 1rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:1rem;font-weight:600;text-align:center}.shifts-list{padding:.75rem}.no-shifts{padding:2rem 1rem;text-align:center;color:#9ca3af;font-style:italic}.shift-block{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem;margin-bottom:.75rem;transition:all .2s ease}.shift-block:last-child{margin-bottom:0}.shift-block:hover{box-shadow:0 2px 8px #2563eb26;border-color:#2563eb}.shift-block.unfilled{background:#fef2f2;border-color:#fecaca}.shift-block.empty{background:#fffbeb;border-color:#fde68a}.shift-time{font-weight:600;color:#2563eb;font-size:.875rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.375rem}.shift-workers{display:flex;flex-direction:column;gap:.375rem}.shift-worker{background:#fff;padding:.5rem .75rem;border-radius:6px;border:1px solid #e5e7eb;font-size:.875rem;color:#374151}.shift-worker.unfilled{background:#fee2e2;color:#b91c1c;font-weight:600;border-color:#fca5a5}.worker-hours-summary{margin-top:2rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #0ea5e9;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0ea5e926}.summary-header{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:#0c4a6e;display:flex;align-items:center;gap:.5rem}.summary-icon{font-size:1.5rem}.time-icon{font-size:1rem}.worker-hours-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.75rem}.worker-hours-item{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:.875rem 1rem;border-radius:8px;border:1px solid #bae6fd;transition:all .2s ease;box-shadow:0 1px 3px #0000000d}.worker-hours-item:hover{border-color:#0ea5e9;box-shadow:0 4px 8px #0ea5e933;transform:translateY(-1px)}.worker-name{font-weight:500;color:#0c4a6e;font-size:.9rem}.worker-hours-badge{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;padding:.375rem .75rem;border-radius:20px;font-weight:600;font-size:.875rem;box-shadow:0 2px 4px #0ea5e94d}.schedule-table{width:100%;border-collapse:collapse;min-width:780px;display:none}.schedule-table th,.schedule-table td{border:1px solid #e5e7eb;padding:.75rem;text-align:center;font-size:.9rem}.schedule-table th{background:#f3f4f6;font-weight:600}.schedule-table td:first-child{background:#f9fafb;font-weight:600}.slot{color:#374151}.slot.unfilled{color:#b91c1c;background:#fef2f2;font-weight:600}.empty-state{text-align:center;padding:2.5rem 1.5rem;border:2px dashed #e5e7eb;border-radius:16px;background:#fafafa}.empty-state h3{margin:0 0 .5rem;font-size:1.2rem}.empty-state p{margin:0 0 1.5rem;color:#6b7280}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#d1d5db,#9ca3af);padding:2rem}.login-card{background:#fff;padding:2.5rem;border-radius:20px;box-shadow:0 20px 40px #0000001a;width:100%;max-width:420px;text-align:center}.login-title{font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.login-subtitle{color:#6b7280;margin-bottom:1.5rem}.login-form{display:flex;flex-direction:column;gap:.8rem;text-align:left}.login-label{font-size:.9rem;color:#374151}.login-input{padding:.75rem;border:1px solid #e5e7eb;border-radius:10px;font-size:1rem}.login-button{margin-top:.5rem}.login-error{background:#fee2e2;color:#b91c1c;padding:.75rem;border-radius:10px;margin-bottom:1rem;text-align:left}.login-loading{margin-top:1rem;color:#6b7280}.modal-overlay{position:fixed;inset:0;background:#0f172a73;display:none;align-items:center;justify-content:center;padding:2rem;z-index:20}.modal-overlay.show{display:flex}.modal{background:#fff;border-radius:16px;padding:1.5rem 2rem 2rem;width:100%;max-width:720px;box-shadow:0 20px 40px #0f172a33}.modal-scroll{max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-close{background:transparent;border:none;font-size:1.8rem;cursor:pointer;color:#6b7280}.hours-instructions{background:#eef2ff;color:#4338ca;padding:.75rem 1rem;border-radius:12px;margin-bottom:1rem;font-size:.9rem}.hours-day{border:1px solid #e5e7eb;border-radius:12px;padding:1rem;margin-bottom:1rem;background:#f9fafb}.hours-day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.hours-block{display:grid;grid-template-columns:auto 1fr auto auto 1fr auto auto;gap:.5rem;align-items:center;margin-bottom:.75rem}.hours-block label{font-size:.85rem;color:#4b5563}.time-input{padding:.4rem .6rem;border-radius:8px;border:1px solid #d1d5db}.time-preview{font-size:.8rem;color:#6b7280}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.modal-large{width:90%;max-width:900px}.settings-container{padding:1rem 0}.setting-item{padding:1.25rem;border-bottom:1px solid #e5e7eb}.setting-item:last-child{border-bottom:none}.setting-info h4{margin:0 0 .375rem;font-size:1rem;font-weight:600;color:#111827}.setting-info p{margin:0;font-size:.875rem;color:#6b7280}.theme-toggle{display:flex;gap:.625rem;margin-top:.875rem}.theme-btn{flex:1;padding:.75rem 1rem;border:2px solid #d1d5db;background:#fff;border-radius:8px;font-size:.9375rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.theme-btn:hover{border-color:#9ca3af;background:#f9fafb}.theme-btn.active{border-color:#1d4ed8;background:#dbeafe;color:#1d4ed8;font-weight:600}.theme-btn.active:hover{background:#bfdbfe}.user-dashboard-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding:0 .5rem}.user-controls-left{display:flex;gap:.75rem;flex:1}.search-input{flex:1;max-width:400px;padding:.6rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem}.search-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #667eea1a}.sort-select{padding:.6rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;background:#fff;cursor:pointer}.sort-select:focus{outline:none;border-color:#2563eb}.user-list-container{min-height:400px;max-height:600px;overflow-y:auto}.user-list{display:flex;flex-direction:column;gap:.75rem}.user-row{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px;transition:all .2s}.user-row:hover{border-color:#2563eb;box-shadow:0 2px 8px #667eea26}.user-info{display:flex;flex-direction:column;gap:.25rem}.user-name{font-weight:600;font-size:1rem;color:#1f2937}.user-email{font-size:.85rem;color:#6b7280}.user-meta{display:flex;align-items:center;gap:1rem}.user-role-badge{padding:.35rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.user-role-badge.admin{background:#fef3c7;color:#92400e}.user-role-badge.user{background:#e0e7ff;color:#3730a3}.btn-small{padding:.4rem .8rem;font-size:.85rem}.edit-user-form{padding:.5rem}.form-section{margin-bottom:2rem}.form-section h4{margin:0 0 1rem;color:#1f2937;font-size:1.1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.form-section h5{margin:.75rem 0 .5rem;color:#4b5563;font-size:.9rem;font-weight:600}.workplace-assignment{border:1px solid #e5e7eb;border-radius:12px;padding:1rem;margin-bottom:1rem;background:#f9fafb}.assignment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#1f2937;cursor:pointer}.workstudy-label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#6b7280;cursor:pointer}.workstudy-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.workstudy-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.availability-section{margin-top:.75rem}.availability-section.hidden{display:none}.availability-days{display:flex;flex-direction:column;gap:.75rem}.availability-day{border-left:3px solid #2563eb;padding-left:1rem}.day-checkbox-label{display:flex;align-items:center;gap:.5rem;font-weight:500;color:#374151;cursor:pointer;margin-bottom:.5rem}.day-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.day-times{margin-left:1.5rem;display:flex;flex-direction:column;gap:.5rem}.day-times.hidden{display:none}.time-block input[type=time]{padding:.4rem .6rem;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem}.time-block span{font-size:.85rem;color:#6b7280}.btn-icon{background:none;border:none;color:#ef4444;font-size:1.2rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s}.btn-icon:hover{color:#dc2626}.add-time-block{margin-top:.25rem}.empty-state-text{color:#9ca3af;font-size:.9rem;font-style:italic}.loading{padding:2rem;text-align:center;color:#6b7280;font-size:.95rem}.schedules-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;padding:1rem}.schedule-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.25rem;transition:all .2s ease}.schedule-card:hover{border-color:#2563eb;box-shadow:0 4px 12px #2563eb26;transform:translateY(-2px)}.schedule-card.current{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#fff)}.schedule-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.schedule-card-header h4{margin:0;color:#1f2937;font-size:1.1rem}.current-badge{background:#10b981;color:#fff;padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600}.schedule-card-meta{margin-bottom:1rem}.schedule-card-meta p{margin:.5rem 0;color:#6b7280;font-size:.9rem}.view-schedule-btn{width:100%;margin-top:.5rem}.schedule-editor-actions{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;gap:1rem}.view-toggle-group{display:flex;gap:.5rem;background:#fff;padding:.25rem;border-radius:8px;border:1px solid #e5e7eb}.view-toggle-group .btn{margin:0;border-radius:6px;transition:all .2s ease}.view-toggle-group .btn.active{background:#2563eb;color:#fff}.view-toggle-group .btn:not(.active){background:transparent;color:#6b7280}.view-toggle-group .btn:not(.active):hover{background:#f3f4f6;color:#374151}.action-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.schedule-grid-view{width:100%;overflow-x:auto;margin-bottom:2rem}.schedule-table-grid{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.schedule-table-grid th,.schedule-table-grid td{padding:1rem;border:1px solid #e5e7eb;text-align:center}.schedule-table-grid.schedule-gantt td{padding:0;border-left:1px solid #e5e7eb;border-right:1px solid #e5e7eb;border-top:none;border-bottom:none;height:60px}.schedule-table-grid.schedule-gantt td.time-cell{border:1px solid #e5e7eb;padding:.5rem}.schedule-table-grid.schedule-gantt tbody tr,.schedule-table-grid.schedule-gantt tbody tr:hover{background:transparent}.schedule-table-grid thead th{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.schedule-table-grid tbody tr:nth-child(2n){background:#f9fafb}.schedule-table-grid tbody tr:hover{background:#f0f9ff}.schedule-table-grid .time-column{min-width:180px;font-weight:600}.schedule-table-grid .time-cell{background:#f3f4f6;font-weight:600;color:#374151;text-align:left;white-space:nowrap}.schedule-table-grid .worker-cell{font-size:.875rem;color:#374151;line-height:1.6}.schedule-table-grid .empty-cell{color:#9ca3af;font-style:italic}.schedule-table-grid .closed-cell{background:#e5e7eb;color:#9ca3af;font-weight:600;position:relative}.schedule-table-grid .closed-cell:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(156,163,175,.1) 5px,rgba(156,163,175,.1) 10px);pointer-events:none}.worker-cell-gantt{padding:0!important;vertical-align:middle;position:relative;height:60px}.shift-block-segment{padding:4px 8px;margin:0;border-width:3px;border-style:solid;font-size:.875rem;font-weight:500;text-align:center;position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .2s ease}.shift-block-segment:hover{filter:brightness(.95);z-index:10}.shift-block-segment.shift-start{border-top-left-radius:10px;border-top-right-radius:10px;border-top-width:4px}.shift-block-segment.shift-end{border-bottom-left-radius:10px;border-bottom-right-radius:10px;border-bottom-width:4px}.shift-block-segment.shift-mid{border-top:none;border-bottom:none;border-radius:0}.shift-worker-name{font-weight:600;font-size:.95rem;line-height:1.3;white-space:nowrap}.shift-time{font-size:.75rem;opacity:.9;font-weight:500;margin-top:2px;white-space:nowrap}.schedule-editor-container{padding:1.5rem;max-height:calc(90vh - 200px);overflow-y:auto}.see__layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:1rem;align-items:start}.see__main{min-width:0;display:grid;gap:1rem}.see__intro{border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;padding:.75rem .9rem}.see__intro p{margin:0;color:#374151;font-size:.9rem}.see__day-group{border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:.8rem}.see__day-group-header{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;margin-bottom:.65rem;border-bottom:1px solid #f1f5f9;padding-bottom:.45rem}.see__day-group-header h4{margin:0;font-size:.98rem}.see__day-group-header p{margin:0;color:#6b7280;font-size:.8rem}.see__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.see__day-card{border:1px solid #dbe4ff;border-radius:10px;background:#f8fbff;padding:.65rem;display:grid;gap:.5rem;min-width:0}.see__day-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.see__day-header-main{display:grid;gap:.12rem}.see__day-name{font-size:.9rem;font-weight:700;color:#1f2937}.see__day-count{font-size:.76rem;color:#4b5563}.see__day-shifts{display:grid;gap:.4rem}.see__day-empty{font-size:.82rem;color:#6b7280;padding:.45rem;border:1px dashed #d1d5db;border-radius:8px;background:#fff}.see__shift-pill{border:1px solid #cbd5e1;border-radius:9px;background:#fff;text-align:left;padding:.48rem .55rem;width:100%;display:grid;gap:.15rem;cursor:pointer}.see__shift-pill:hover{border-color:#93c5fd;background:#f8fbff}.see__shift-pill--selected{border-color:#2563eb;background:#eff6ff;box-shadow:inset 0 0 0 1px #2563eb}.see__shift-index{font-size:.72rem;color:#6b7280}.see__shift-time{font-size:.84rem;font-weight:700;color:#1f2937}.see__shift-meta{font-size:.75rem;color:#4b5563}.see__panel{border:1px solid #dbe4ff;border-radius:12px;background:#fff;min-height:280px;position:sticky;top:.5rem}.see__panel-empty{padding:1rem}.see__panel-hint{margin:0;color:#4b5563;font-size:.88rem}.see__panel-content{padding:.9rem;display:grid;gap:.75rem}.see__panel-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.see__panel-context{margin:-.2rem 0 0;color:#4b5563;font-size:.82rem}.see__notice{border-radius:8px;padding:.5rem .65rem;font-size:.83rem;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a}.see__notice--error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.see__time-group,.see__workers-group{border:1px solid #e5e7eb;border-radius:9px;background:#f9fafb;padding:.65rem;display:grid;gap:.45rem}.see__time-label{display:grid;gap:.2rem;font-size:.82rem;color:#374151}.see__time-hint{margin:0;font-size:.76rem;color:#6b7280}.see__workers-label{margin:0;font-size:.84rem;font-weight:600;color:#1f2937}.see__workers-empty{margin:0;color:#6b7280;font-size:.8rem}.see__workers-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.see__worker-row{display:flex;justify-content:space-between;align-items:center;gap:.4rem;border:1px solid #e5e7eb;border-radius:7px;padding:.35rem .45rem;background:#fff}.see__worker-name{font-size:.8rem;color:#1f2937;word-break:break-word}.see__worker-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;align-items:center}.see__shift-danger-zone{display:flex;justify-content:flex-end}@media(max-width:1060px){.see__layout{grid-template-columns:1fr}.see__panel{position:static;min-height:0}}@media(max-width:760px){.see__grid{grid-template-columns:1fr}}[data-theme=dark] .see__intro{background:#111827;border-color:#374151}[data-theme=dark] .see__intro p,[data-theme=dark] .see__day-name,[data-theme=dark] .see__shift-time,[data-theme=dark] .see__workers-label,[data-theme=dark] .see__worker-name{color:#e5e7eb}[data-theme=dark] .see__day-group,[data-theme=dark] .see__panel,[data-theme=dark] .see__shift-pill,[data-theme=dark] .see__worker-row{background:#0f172a;border-color:#334155}[data-theme=dark] .see__day-card,[data-theme=dark] .see__time-group,[data-theme=dark] .see__workers-group{background:#111827;border-color:#374151}[data-theme=dark] .see__day-count,[data-theme=dark] .see__day-group-header p,[data-theme=dark] .see__shift-index,[data-theme=dark] .see__shift-meta,[data-theme=dark] .see__panel-context,[data-theme=dark] .see__panel-hint,[data-theme=dark] .see__workers-empty,[data-theme=dark] .see__time-hint,[data-theme=dark] .see__time-label,[data-theme=dark] .see__day-empty{color:#cbd5e1}[data-theme=dark] .see__day-empty{background:#0f172a;border-color:#475569}[data-theme=dark] .see__shift-pill:hover{background:#1e293b;border-color:#60a5fa}[data-theme=dark] .see__shift-pill--selected{background:#1e3a8a;border-color:#60a5fa;box-shadow:inset 0 0 0 1px #60a5fa}.visual-editor-panel{border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:1rem}.visual-editor-header h4{margin:0 0 .25rem}.visual-editor-header p{margin:0 0 .75rem;color:#6b7280;font-size:.9rem}.visual-editor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.7rem;flex-wrap:wrap}.visual-editor-hint{font-size:.82rem;color:#6b7280}.visual-editor-notice{border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#1e3a8a;font-size:.88rem;padding:.55rem .7rem;margin-bottom:.75rem}.visual-editor-notice.is-error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.visual-editor-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:.9rem}.visual-day-card{border:1px solid #dbe4ff;border-radius:10px;padding:.75rem;background:#f8fbff;min-width:0}.visual-day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.visual-day-header h5{margin:0}.visual-shift-list{display:grid;gap:.55rem}.visual-shift-item{border:1px solid #dbe4ff;border-radius:8px;background:#fff;padding:.65rem;min-width:0}.visual-shift-title{font-size:.85rem;color:#1f2937;font-weight:600;margin-bottom:.45rem}.visual-shift-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;align-items:end}.visual-shift-actions-inline{display:flex;flex-wrap:wrap;gap:.35rem;grid-column:1 / -1}.visual-shift-times label{font-size:.82rem;color:#374151;display:grid;gap:.25rem;min-width:0}.visual-shift-actions-inline .btn{flex:1 1 120px}.visual-shift-times .form-control{min-width:0;width:100%}.visual-workers-block{margin-top:.6rem;display:grid;gap:.4rem}.visual-workers-list{display:grid;gap:.3rem}.visual-worker-row{display:flex;justify-content:space-between;align-items:center;gap:.45rem;border:1px solid #e5e7eb;border-radius:6px;padding:.35rem .45rem;background:#f9fafb}.visual-worker-name{font-size:.86rem;color:#1f2937;min-width:0;overflow-wrap:anywhere}.visual-worker-remove-btn{border:none;background:#ef4444;color:#fff;border-radius:6px;padding:.25rem .55rem;font-size:.78rem;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer;flex:0 0 auto}.visual-worker-remove-btn:hover{background:#dc2626}.visual-worker-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem}.visual-worker-add .form-control{min-width:0;width:100%}.visual-worker-add .btn{white-space:nowrap}@media(max-width:760px){.visual-worker-add{grid-template-columns:1fr}.visual-worker-add .btn{width:100%}}.shift-block.editable{position:relative}.shift-worker.editable{display:flex;justify-content:space-between;align-items:center}.btn-icon{background:transparent;border:none;color:#ef4444;cursor:pointer;padding:.25rem .5rem;font-size:1.1rem;line-height:1;transition:all .2s}.btn-icon:hover{background:#fee2e2;border-radius:4px}.add-worker-btn{margin-top:.5rem;width:100%;background:#f3f4f6;color:#374151;border:1px dashed #d1d5db}.add-worker-btn:hover{background:#e5e7eb;border-color:#2563eb}.modal-xlarge{max-width:95vw;width:1400px}.btn-success{background:#1d4ed8;color:#fff;border-color:#1e40af}.btn-success:hover{background:#1e40af}.btn-info{background:#fff;color:#1e3a8a;border-color:#bfdbfe}.btn-info:hover{background:#eff6ff;border-color:#93c5fd}.workplace-selected-panel{background:#fff;border:1px solid #dbe4ff;border-radius:12px;padding:1rem 1rem .95rem;box-shadow:0 3px 10px #1118270f}.workplace-selected-name{margin:0;font-size:1.35rem;color:#0f172a}.workplace-selected-subtitle{margin:.3rem 0 .9rem;color:#6b7280}.workplace-hours-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.workplace-hours-day{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.75rem}.workplace-hours-day.is-closed{background:#f9fafb;border-color:#e5e7eb}.workplace-hours-day-name{font-weight:600;color:#111827}.workplace-hours-day-value{margin-top:.3rem;color:#334155;font-size:.95rem}.action-menu-list{display:flex;flex-direction:column;gap:.55rem}.action-menu-button{width:100%;text-align:left;justify-content:flex-start}.workplace-manager-create-card{border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;padding:1rem;margin-bottom:1rem}.workplace-manager-create-card h3{margin:0 0 .65rem;color:#0f172a}.workplace-manager-form-grid{display:grid;grid-template-columns:1.1fr 1.25fr 1fr auto;gap:.6rem;align-items:center}.workplace-manager-list{display:flex;flex-direction:column;gap:.7rem}.workplace-manager-item{border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:.8rem}.workplace-manager-item-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr auto;gap:.7rem;align-items:end}.workplace-manager-field{display:flex;flex-direction:column;gap:.35rem}.workplace-manager-field label{font-size:.8rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.03em}.workplace-manager-actions{display:flex;gap:.45rem}.workplace-workers-modal-body{display:flex;flex-direction:column;gap:.9rem}.workplace-workers-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:.25rem}.workplace-workers-subtitle{margin:0;color:#4b5563;font-size:.95rem}.workplace-workers-count{display:inline-flex;align-items:center;justify-content:center;padding:.3rem .65rem;border-radius:999px;background:#eef2ff;color:#1e3a8a;font-size:.82rem;font-weight:600}.workplace-workers-table-wrap{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff}.workplace-workers-table{box-shadow:none;border-radius:0}.workplace-worker-name{font-weight:600;color:#111827}.workplace-worker-email{color:#334155}.workplace-hours-modal{z-index:40}.workplace-hours-modal-content{max-width:1100px}.workplace-hours-form-body{display:flex;flex-direction:column;gap:.6rem}.workplace-hours-row{display:grid;grid-template-columns:140px 120px 1fr 220px;gap:.75rem;align-items:center;padding:.7rem;border:1px solid #e5e7eb;border-radius:10px;background:#f9fafb}.workplace-hours-day-label{font-weight:600;color:#1f2937}.workplace-hours-closed-toggle{display:flex;align-items:center;gap:.5rem;color:#4b5563}.workplace-hours-time-fields{display:flex;align-items:center;gap:.5rem}.workplace-hours-time-fields input[type=time]{padding:.45rem .55rem;border:1px solid #d1d5db;border-radius:8px}.workplace-hours-preview{color:#374151;font-size:.9rem;font-weight:500;text-align:right}.workplace-hours-footer{margin-top:1rem;display:flex;justify-content:space-between;align-items:center}.workplace-hours-status{color:#374151;font-size:.9rem}.workplace-hours-footer-actions{display:flex;gap:.6rem}@media(max-width:900px){.workplace-hours-row{grid-template-columns:1fr;text-align:left}.workplace-hours-preview{text-align:left}}.user-shifts-list{display:flex;flex-direction:column;gap:.5rem}.total-hours-badge{background:#2563eb;color:#fff;padding:.5rem 1rem;border-radius:8px;text-align:center;font-weight:600;margin-bottom:.75rem}.shift-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8f9fa;border-radius:8px;border-left:3px solid #2563eb;gap:1rem}.shift-item .shift-info{display:flex;flex:1;gap:1rem;align-items:center}.shift-item strong{min-width:100px;color:#1f2937}.shift-item span{flex:1;color:#4b5563}.shift-item small{color:#6b7280;font-weight:600}.btn-release-shift{background:#dc3545;color:#fff;border:none;padding:.4rem .75rem;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-release-shift:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 2px 4px #dc35454d}.btn-release-shift:active{transform:translateY(0)}.shift-detail-card{background:#f8f9fa;border-radius:8px;padding:1rem;border-left:4px solid #dc3545}.shift-detail-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #e9ecef}.shift-detail-row:last-child{border-bottom:none}.shift-detail-row strong{color:#495057;font-weight:600}.shift-detail-row span{color:#212529}.time-off-requests-list{margin-top:2rem;padding-top:2rem;border-top:2px solid #e5e7eb}.time-off-requests-list h4{margin:0 0 1rem;color:#1f2937}.time-off-request-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;margin-bottom:.75rem}.request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.request-header strong{color:#1f2937;font-size:1rem}.badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-warning{background:#fef3c7;color:#92400e}.badge-success{background:#d1fae5;color:#065f46}.badge-danger{background:#fee2e2;color:#991b1b}.request-details{font-size:.9rem;color:#4b5563}.request-details p{margin:.25rem 0}.request-details small{color:#6b7280}.empty-state-text{color:#9ca3af;font-style:italic;text-align:center;padding:1rem}.error-text{color:#dc2626;text-align:center;padding:1rem}.work-study-badge{display:inline-block;background:#fef3c7;color:#92400e;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;margin-bottom:.5rem}.btn-warning{background:#fff;color:#7c2d12;border-color:#fed7aa}.btn-warning:hover{background:#fff7ed;border-color:#fdba74}.time-off-filter-buttons{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.time-off-requests-table{display:flex;flex-direction:column;gap:1rem}.time-off-request-admin-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.5rem;transition:all .2s ease}.time-off-request-admin-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#2563eb}.time-off-request-admin-card .request-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.requester-info h4{margin:0 0 .25rem;color:#1f2937;font-size:1.1rem}.requester-info .request-email{margin:0 0 .5rem;color:#6b7280;font-size:.9rem}.requester-info .request-workplace{margin:0;color:#2563eb;font-size:.9rem}.time-off-request-admin-card .request-body,.request-dates,.request-reason{margin-bottom:1rem}.request-dates strong,.request-reason strong{display:block;color:#374151;margin-bottom:.25rem}.request-dates p,.request-reason p{margin:0;color:#4b5563}.request-meta{display:flex;gap:1.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #f3f4f6}.request-meta small{color:#6b7280;font-size:.85rem}.time-off-request-admin-card .request-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-small.active{background:#2563eb;color:#fff;font-weight:600}.btn-small.btn-warning.active{background:#d97706}.btn-small.btn-success.active{background:#059669}.btn-small.btn-danger.active{background:#dc2626}.btn-small.btn-danger.active .schedule-generator-content{padding:1rem 0}.btn-small.btn-danger.active #schedule-generator-modal{padding:0;align-items:stretch;justify-content:stretch}.btn-small.btn-danger.active #schedule-generator-modal .modal{width:100%;max-width:none;height:100%;max-height:none;border-radius:0;box-shadow:none;padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;background:#f8fafc}.btn-small.btn-danger.active #schedule-generator-modal .modal-header{position:sticky;top:0;z-index:2;background:#f8fafc;margin:0;padding:.25rem 0 .85rem;border-bottom:1px solid #e5e7eb}.btn-small.btn-danger.active #schedule-generator-modal .modal-header-actions{display:flex;align-items:center;gap:.5rem}.btn-small.btn-danger.active #schedule-generator-modal #back-from-schedule-generator{white-space:nowrap}.btn-small.btn-danger.active #schedule-generator-modal .schedule-generator-content{flex:1;overflow-y:auto;padding:1rem 0 0}.btn-small.btn-danger.active #schedule-generator-modal .generator-section{max-width:1200px;width:100%;margin:0 auto 1.25rem;padding:1rem;border-radius:12px;background:#fff;border:1px solid #e5e7eb}.btn-small.btn-danger.active #schedule-generator-modal .generator-section:last-child{margin-bottom:0}.btn-small.btn-danger.active #schedule-generator-modal .worker-selection-list{max-height:48vh}.btn-small.btn-danger.active .generator-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.btn-small.btn-danger.active .generator-section:last-child{border-bottom:none}.btn-small.btn-danger.active .generator-section h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#111827}.btn-small.btn-danger.active .generator-config{display:flex;flex-direction:column;gap:1rem}.btn-small.btn-danger.active .config-field{display:flex;flex-direction:column;gap:.5rem}.btn-small.btn-danger.active .config-field label{font-weight:600;font-size:.9rem;color:#374151}.btn-small.btn-danger.active .config-field input[type=number]{padding:.5rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;max-width:200px}.btn-small.btn-danger.active .config-field small{color:#6b7280;font-size:.85rem}.btn-small.btn-danger.active .worker-selection-controls{display:flex;gap:.5rem;margin-bottom:1rem}.btn-small.btn-danger.active .worker-selection-list{max-height:400px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem}.btn-small.btn-danger.active .worker-checkbox-item{padding:.625rem;border-bottom:1px solid #f3f4f6}.btn-small.btn-danger.active .worker-checkbox-item:last-child{border-bottom:none}.btn-small.btn-danger.active .worker-checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.btn-small.btn-danger.active .worker-checkbox{width:18px;height:18px;cursor:pointer}.btn-small.btn-danger.active .worker-info-inline{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.btn-small.btn-danger.active .worker-name{font-weight:600;color:#111827}.btn-small.btn-danger.active .worker-email-small{font-size:.85rem;color:#6b7280}.btn-small.btn-danger.active .workstudy-badge-small{background:#4caf50;color:#fff;padding:.125rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.btn-small.btn-danger.active .generation-status{padding:1rem;margin-bottom:1rem;border-radius:8px;font-weight:500;min-height:60px}.btn-small.btn-danger.active .generation-status.error{background:#fee;color:#c00;border-left:4px solid #c00}.btn-small.btn-danger.active .generation-status.success{background:#d1fae5;color:#065f46;border-left:4px solid #10b981}.btn-small.btn-danger.active [data-theme=dark] .generator-section{border-bottom-color:#334155}.btn-small.btn-danger.active [data-theme=dark] #schedule-generator-modal .modal{background:#0f172a}.btn-small.btn-danger.active [data-theme=dark] #schedule-generator-modal .modal-header{background:#0f172a;border-bottom-color:#334155}.btn-small.btn-danger.active [data-theme=dark] #schedule-generator-modal .generator-section{background:#1e293b;border-color:#334155}.btn-small.btn-danger.active [data-theme=dark] .generator-section h4{color:#f1f5f9}.btn-small.btn-danger.active [data-theme=dark] .config-field label{color:#e2e8f0}.btn-small.btn-danger.active [data-theme=dark] .config-field input[type=number]{background:#0f172a;border-color:#475569;color:#e2e8f0}.btn-small.btn-danger.active [data-theme=dark] .config-field small{color:#94a3b8}.btn-small.btn-danger.active [data-theme=dark] .worker-selection-list{background:#0f172a;border-color:#334155}.btn-small.btn-danger.active [data-theme=dark] .worker-checkbox-item{border-bottom-color:#334155}.btn-small.btn-danger.active [data-theme=dark] .worker-name{color:#f1f5f9}.btn-small.btn-danger.active [data-theme=dark] .worker-email-small{color:#94a3b8}.btn-small.btn-danger.active [data-theme=dark] .generation-status.error{background:#7f1d1d;color:#fecaca;border-left-color:#b91c1c}.btn-small.btn-danger.active [data-theme=dark] .generation-status.success{background:#14532d;color:#86efac;border-left-color:#166534}.coverage-dashboard-modal{max-width:1200px}.coverage-dashboard-modal .modal-body{max-height:calc(90vh - 200px);overflow-y:auto}.coverage-summary-stats{margin-bottom:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem;text-align:center;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.stat-card.open{border-left:4px solid #3b82f6;background:#eff6ff}.stat-card.filled{border-left:4px solid #10b981;background:#f0fdf4}.stat-card.urgent{border-left:4px solid #ef4444;background:#fef2f2}.stat-value{font-size:2.5rem;font-weight:700;color:#1f2937;margin-bottom:.25rem;line-height:1}.stat-label{font-size:.875rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.coverage-gaps-list{display:flex;flex-direction:column;gap:1rem}.coverage-gap-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem;transition:all .2s}.coverage-gap-card:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.coverage-gap-card.open{border-left:4px solid #3b82f6}.coverage-gap-card.filled{border-left:4px solid #10b981;background:#f9fafb}.coverage-gap-card.expired{border-left:4px solid #6b7280;background:#f9fafb;opacity:.8}.gap-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem}.gap-title-section{flex:1}.gap-title{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.gap-workplace{font-size:.875rem;color:#6b7280;margin:0}.gap-status{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.gap-status.open{background:#dbeafe;color:#1e40af}.gap-status.filled{background:#d1fae5;color:#065f46}.gap-status.expired{background:#f3f4f6;color:#4b5563}.gap-body{margin-bottom:1rem}.gap-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:.75rem}.gap-info-item{display:flex;align-items:center;gap:.5rem}.gap-info-item strong{color:#4b5563;font-size:.875rem;font-weight:500}.gap-info-item span{color:#1f2937;font-size:.875rem}.gap-meta{display:flex;gap:1rem;font-size:.75rem;color:#9ca3af;padding-top:.75rem;border-top:1px solid #e5e7eb}.gap-views,.gap-released-by,.gap-filled-by{display:flex;align-items:center;gap:.25rem}.gap-actions{display:flex;gap:.5rem;justify-content:flex-end}.gap-actions .btn-small{padding:.5rem 1rem;font-size:.875rem}.gap-detail-modal{max-width:900px}.gap-detail-header{background:#f9fafb;padding:1.5rem;margin:-1.5rem -1.5rem 1.5rem;border-bottom:1px solid #e5e7eb}.gap-detail-header h3{margin:0 0 .75rem;color:#1f2937;font-size:1.25rem}.gap-detail-info{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.gap-detail-info .info-item{display:flex;flex-direction:column}.gap-detail-info .info-item strong{color:#6b7280;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.gap-detail-info .info-item span{color:#1f2937;font-size:1rem}.workers-section{margin-bottom:2rem}.workers-section h4{font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.workers-list{display:flex;flex-direction:column;gap:.75rem;transition:all .3s ease}.workers-list.collapsed{max-height:0;overflow:hidden;opacity:0;gap:0}.worker-card{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:1rem;display:flex;justify-content:space-between;align-items:center;transition:all .2s}.worker-card:hover{box-shadow:0 2px 4px #0000000d}.worker-card.eligible{border-left:3px solid #10b981;background:#f0fdf4}.worker-card.ineligible{border-left:3px solid #ef4444;background:#fef2f2;opacity:.9}.worker-name{font-weight:600;color:#1f2937;margin-bottom:.25rem}.worker-type{font-size:.875rem;color:#6b7280;margin-bottom:.5rem}.worker-hours{font-size:.875rem;color:#4b5563}.worker-hours .hours-change{color:#10b981;font-weight:600}.worker-reasons{flex:1;margin-left:1rem}.worker-reasons ul{margin:0;padding-left:1.25rem;list-style:none}.worker-reasons li{font-size:.875rem;color:#ef4444;margin-bottom:.25rem;position:relative}.worker-reasons li:before{content:"✗";position:absolute;left:-1.25rem;font-weight:700}.toggle-ineligible-btn{display:inline-block;margin-top:.5rem;padding:.5rem 1rem;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#4b5563;cursor:pointer;transition:all .2s}.toggle-ineligible-btn:hover{background:#e5e7eb;color:#1f2937}.no-gaps-message{text-align:center;padding:3rem 2rem;color:#9ca3af}.no-gaps-message p{font-size:1.125rem;margin:0}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.gap-info-grid,.gap-detail-info{grid-template-columns:1fr}.gap-header{flex-direction:column;gap:.75rem}.worker-card{flex-direction:column;align-items:flex-start;gap:.75rem}.worker-reasons{margin-left:0}}.available-shifts-intro{background:#eff6ff;border-left:4px solid #3b82f6;padding:1rem;margin-bottom:1.5rem;border-radius:4px}.available-shifts-intro p{margin:0;color:#1e40af;font-size:.875rem}.available-shifts-filters{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.available-shifts-list{display:flex;flex-direction:column;gap:1rem}.available-shift-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem;transition:all .2s;border-left:4px solid #3b82f6}.available-shift-card:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.available-shift-card.urgent{border-left-color:#ef4444;background:#fef2f2}.shift-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem}.shift-card-header h4{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0 0 .25rem}.shift-workplace{font-size:.875rem;color:#6b7280;margin:0}.shift-hours-badge{background:#dbeafe;color:#1e40af;padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:1rem}.shift-card-body{margin-bottom:1rem}.shift-info-row{display:flex;gap:.5rem;margin-bottom:.5rem;font-size:.875rem}.shift-label{color:#6b7280;font-weight:500}.shift-urgent-badge{background:#fee2e2;color:#991b1b;padding:.5rem;border-radius:4px;font-size:.75rem;font-weight:600;margin-top:.5rem;text-align:center}.shift-card-actions{display:flex;justify-content:flex-end}.claim-shift-btn{padding:.75rem 1.5rem;font-size:.875rem}.claim-detail-section{margin-bottom:1.5rem}.claim-detail-section h4{font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item strong{color:#6b7280;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.detail-item span{color:#1f2937;font-size:1rem}.hours-impact{display:flex;align-items:center;justify-content:center;gap:1.5rem;background:#f9fafb;padding:1.5rem;border-radius:8px;border:1px solid #e5e7eb}.hours-before,.hours-after{text-align:center;font-size:.875rem;color:#6b7280}.hours-before strong,.hours-after strong{display:block;font-size:1.5rem;color:#1f2937;margin-top:.25rem}.hours-after strong{color:#10b981}.hours-arrow{font-size:1.5rem;color:#9ca3af}.claim-warning{background:#fef3c7;border-left:4px solid #f59e0b;padding:1rem;border-radius:4px}.claim-warning p{margin:0;color:#92400e;font-size:.875rem}@media(max-width:768px){.detail-grid{grid-template-columns:1fr}.hours-impact{flex-direction:column;gap:1rem}.hours-arrow{transform:rotate(90deg)}.available-shifts-filters{flex-direction:column}}.notification-btn{position:relative}.notification-badge{position:absolute;top:-8px;right:-8px;background:#ef4444;color:#fff;border-radius:10px;padding:2px 6px;font-size:.7rem;font-weight:700;min-width:18px;text-align:center}.notifications-actions{display:flex;justify-content:flex-end;margin-bottom:1rem}.notifications-list{display:flex;flex-direction:column;gap:.75rem}.messages-modal{max-height:86vh}.messages-toolbar{display:flex;gap:.6rem;flex-wrap:wrap;align-items:flex-end;margin-bottom:.75rem}.messages-control-group{display:flex;flex-direction:column;gap:.25rem}.messages-recipient-group{flex:1 1 320px}.messages-control-label{font-size:.8rem;color:#374151;font-weight:600}.messages-action-group{display:flex;gap:.5rem;align-items:flex-end;margin-left:auto}.messages-status{border:1px solid #d1d5db;border-radius:8px;padding:.45rem .6rem;margin-bottom:.7rem;font-size:.86rem}.messages-status.info{background:#f8fafc;color:#334155}.messages-status.success{background:#ecfdf5;border-color:#86efac;color:#166534}.messages-status.warning{background:#fffbeb;border-color:#fcd34d;color:#92400e}.messages-status.error{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.messages-layout{display:grid;grid-template-columns:320px 1fr;gap:.8rem;min-height:520px}.messages-threads{border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:.5rem;overflow-y:auto}.messages-thread-item{width:100%;text-align:left;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:.55rem;margin-bottom:.45rem;cursor:pointer}.messages-thread-item.active{border-color:#2563eb;background:#eff6ff}.messages-thread-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.messages-thread-title{font-weight:600;color:#111827}.messages-thread-unread{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:999px;background:#2563eb;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px}.messages-thread-preview{margin-top:.2rem;font-size:.82rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messages-conversation{border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:.65rem;display:flex;flex-direction:column;min-height:0}.messages-conversation-title{font-weight:700;color:#111827;margin-bottom:.5rem}.messages-list{flex:1;min-height:0;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc;padding:.65rem;display:flex;flex-direction:column;gap:.5rem}.messages-bubble{max-width:78%;border-radius:10px;padding:.5rem .6rem;border:1px solid #dbeafe;background:#fff}.messages-bubble.mine{margin-left:auto;background:#dbeafe;border-color:#bfdbfe}.messages-bubble.theirs{margin-right:auto}.messages-meta{font-size:.73rem;color:#64748b;margin-bottom:.2rem}.messages-text{color:#0f172a;white-space:pre-wrap;word-break:break-word}.messages-compose{margin-top:.6rem;display:grid;grid-template-columns:1fr auto;gap:.5rem}.messages-compose-meta{margin-top:.35rem;display:flex;justify-content:space-between;gap:.5rem;font-size:.78rem;color:#64748b}.messages-compose-tip{text-align:right}@media(max-width:980px){.messages-layout{grid-template-columns:1fr;min-height:620px}.messages-action-group{width:100%;margin-left:0}.messages-compose-meta{flex-direction:column;align-items:flex-start}}.notification-item{display:flex;align-items:start;gap:1rem;background:#fff;border:1px solid #e5e7eb;border-left:4px solid #3b82f6;border-radius:6px;padding:1rem;transition:all .2s}.notification-item:hover{box-shadow:0 2px 4px #0000000d}.notification-item.unread{background:#eff6ff;border-left-color:#3b82f6}.notification-item.read{opacity:.7;border-left-color:#d1d5db}.notif-icon{font-size:1.5rem;flex-shrink:0}.notif-content{flex:1}.notif-title{font-weight:600;color:#1f2937;margin-bottom:.25rem}.notif-message{font-size:.875rem;color:#4b5563;margin-bottom:.5rem}.notif-meta{display:flex;gap:1rem;font-size:.75rem;color:#9ca3af}.notif-workplace{font-weight:500}.mark-read-btn{padding:.5rem 1rem;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#4b5563;cursor:pointer;transition:all .2s;flex-shrink:0}.mark-read-btn:hover{background:#e5e7eb;color:#1f2937}.tracking-filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.tracking-filters .form-control{flex:1;min-width:200px}.schedule-tracking-list{display:flex;flex-direction:column;gap:.75rem}.tracking-item{display:flex;align-items:start;gap:1rem;background:#fff;border:1px solid #e5e7eb;border-left:4px solid #6b7280;border-radius:6px;padding:1rem;transition:all .2s}.tracking-item:hover{box-shadow:0 2px 4px #0000000d}.tracking-item.claimed{border-left-color:#10b981;background:#f0fdf4}.tracking-item.released{border-left-color:#f59e0b;background:#fffbeb}.tracking-item.manual{border-left-color:#3b82f6;background:#eff6ff}.tracking-icon{font-size:1.5rem;flex-shrink:0}.tracking-content{flex:1}.tracking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.tracking-header strong{color:#1f2937;font-size:1rem}.tracking-workplace{font-size:.75rem;color:#6b7280;background:#f3f4f6;padding:.25rem .5rem;border-radius:4px}.tracking-details{margin-bottom:.5rem}.tracking-worker{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}.tracking-worker strong{color:#1f2937;font-size:.875rem}.tracking-worker span{color:#6b7280;font-size:.75rem}.tracking-shift{font-size:.875rem;color:#4b5563;padding:.5rem;background:#f9fafb;border-radius:4px;margin-bottom:.5rem}.tracking-notes{font-size:.75rem;color:#6b7280;font-style:italic}.tracking-time{font-size:.75rem;color:#9ca3af}.dashboard-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e5e7eb}.tab-button{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;color:#6b7280;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:-2px}.tab-button:hover{color:#1f2937;background:#f9fafb}.tab-button.active{color:#3b82f6;border-bottom-color:#3b82f6}.tab-content{display:none}.tab-content.active{display:block}.analytics-content{padding:1rem 0}.analytics-section{margin-bottom:2rem}.analytics-section h4{font-size:1.125rem;font-weight:600;color:#1f2937;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.analytics-metric{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;text-align:center;transition:transform .2s}.analytics-metric:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.analytics-metric.success{background:#f0fdf4;border-color:#86efac}.analytics-metric.warning{background:#fef3c7;border-color:#fcd34d}.metric-value{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.metric-label{font-size:.875rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.analytics-chart{display:flex;flex-direction:column;gap:1rem}.chart-bar{display:flex;align-items:center;gap:1rem}.chart-label{flex:0 0 150px;font-size:.875rem;color:#4b5563;font-weight:500}.chart-bar-container{flex:1;height:30px;background:#f3f4f6;border-radius:15px;overflow:hidden}.chart-bar-fill{height:100%;background:#3b82f6;border-radius:15px;transition:width .5s ease}.chart-bar-fill.understaffed{background:#f59e0b}.chart-value{flex:0 0 50px;text-align:right;font-size:.875rem;font-weight:600;color:#1f2937}.top-workers-list{display:flex;flex-direction:column;gap:.75rem}.top-worker-item{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;transition:all .2s}.top-worker-item:hover{box-shadow:0 2px 4px #0000000d;transform:translate(4px)}.worker-rank{font-size:1.5rem;font-weight:700;color:#3b82f6;flex-shrink:0;width:50px;text-align:center}.top-worker-item:first-child .worker-rank{color:#f59e0b}.top-worker-item:nth-child(2) .worker-rank{color:#9ca3af}.top-worker-item:nth-child(3) .worker-rank{color:#cd7f32}.worker-info{flex:1}.worker-info .worker-name{font-weight:600;color:#1f2937;margin-bottom:.25rem}.worker-info .worker-email{font-size:.75rem;color:#6b7280}.worker-stats{display:flex;gap:2rem}.worker-stats .stat{text-align:center}.worker-stats .stat strong{display:block;font-size:1.25rem;color:#1f2937}.worker-stats .stat span{display:block;font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}@media(max-width:768px){.analytics-grid{grid-template-columns:repeat(2,1fr)}.chart-label{flex:0 0 100px;font-size:.75rem}.worker-stats{flex-direction:column;gap:.5rem}.tracking-filters{flex-direction:column}.tracking-filters .form-control{width:100%}.dashboard-tabs{overflow-x:auto}.tab-button{white-space:nowrap}}.user-dashboard-container{display:flex;flex-direction:column;gap:1.5rem}.user-dashboard-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}#user-dashboard-modal .modal-scroll{max-height:82vh;overflow:hidden;display:flex;flex-direction:column}#user-dashboard-modal .user-dashboard-container{flex:1;min-height:0;display:flex;flex-direction:column}#user-dashboard-modal .user-list-container{flex:1;min-height:0;max-height:none;overflow-y:auto}.search-filter-bar{display:flex;gap:.75rem;flex:1;flex-wrap:wrap;align-items:center}.search-input{flex:1;min-width:250px;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:4px;font-size:.95rem}.search-input:focus{outline:none;border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed81a}.filter-select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:.95rem;min-width:150px}.filter-select:focus{outline:none;border-color:#1d4ed8}.user-table{width:100%;border-collapse:collapse;background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.user-table thead{background:#f9fafb}.user-table th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.85rem;color:#4b5563;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb}.user-table td{padding:.875rem 1rem;border-bottom:1px solid #e5e7eb;font-size:.95rem}.user-table tbody tr:hover{background:#f9fafb}.user-table tbody tr:last-child td{border-bottom:none}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.role-admin{background:#fef3c7;color:#92400e}.role-worker{background:#dbeafe;color:#1e40af}.workplace-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions-cell{display:flex;gap:.5rem;align-items:center}.form-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.form-section:last-of-type{border-bottom:none}.form-section h4{margin:0 0 1rem;color:#1f2937;font-size:1rem;font-weight:600}.form-group{margin-bottom:1rem}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group input[type=number]{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:4px;font-size:.95rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;border-radius:4px;transition:background .15s}.checkbox-label:hover{background:#f9fafb}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label span{font-size:.95rem;color:#374151}.help-text{font-size:.875rem;color:#6b7280;margin:.5rem 0}.help-text-small{font-size:.8rem;color:#9ca3af;font-style:italic}.workplace-assignments{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;padding:.5rem;border:1px solid #e5e7eb;border-radius:4px;background:#f9fafb}.workplace-checkbox{margin:0}.availability-grid{display:flex;flex-direction:column;gap:1rem;max-height:400px;overflow-y:auto;padding:1rem;border:1px solid #e5e7eb;border-radius:4px;background:#f9fafb}.availability-day{background:#fff;padding:1rem;border-radius:4px;border:1px solid #e5e7eb}.btn-add{font-size:.85rem;padding:.25rem .75rem}.time-blocks{display:flex;flex-direction:column;gap:.5rem}.time-input{padding:.4rem .6rem;border:1px solid #d1d5db;border-radius:4px;font-size:.9rem}.btn-icon{background:none;border:none;font-size:1.5rem;color:#ef4444;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .15s}.btn-icon:hover{background:#fee2e2}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}@media(max-width:768px){.user-dashboard-toolbar{flex-direction:column;align-items:stretch}.search-filter-bar{flex-direction:column}.search-input,.filter-select{width:100%}.user-table{font-size:.85rem}.user-table th,.user-table td{padding:.5rem}.actions-cell{flex-direction:column}.time-block{flex-wrap:wrap}}.user-manager-overlay{position:fixed;inset:0;background:#f3f4f6;z-index:10000;overflow-y:auto;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.user-manager-container{min-height:100vh;display:flex;flex-direction:column}.user-manager-header{background:#fff;border-bottom:2px solid #e5e7eb;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px #0000000d}.header-left{display:flex;align-items:center;gap:1rem}.header-left h2{margin:0;font-size:1.5rem;color:#1f2937}.btn-back{background:#f3f4f6;border:1px solid #d1d5db;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.95rem;color:#374151;transition:all .15s}.btn-back:hover{background:#e5e7eb;border-color:#9ca3af}.user-manager-content{flex:1;padding:2rem;max-width:1400px;width:100%;margin:0 auto}.user-manager-form{display:flex;flex-direction:column;gap:2rem}.form-section-full{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:2rem;box-shadow:0 1px 3px #0000001a}.form-section-full h3{margin:0 0 1.5rem;font-size:1.25rem;color:#1f2937;padding-bottom:.75rem;border-bottom:2px solid #e5e7eb}.form-section-full h4{margin:1.5rem 0 1rem;font-size:1.1rem;color:#374151}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:1.5rem}.form-row:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.95rem}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group input[type=number]{width:100%;padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:4px;font-size:.95rem;transition:all .15s}.form-group input:focus{outline:none;border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed81a}.checkbox-label-inline{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.75rem;border-radius:4px;transition:background .15s}.checkbox-label-inline:hover{background:#f9fafb}.checkbox-label-inline input[type=checkbox]{width:20px;height:20px;cursor:pointer}.checkbox-label-inline span{font-size:1rem;color:#374151;font-weight:500}.workplace-assignments-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px}.workplace-assignment-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;transition:all .15s}.workplace-assignment-item:hover{border-color:#1d4ed8;box-shadow:0 2px 4px #1d4ed81a}.workplace-assignment-item input[type=checkbox]{width:20px;height:20px;cursor:pointer}.workplace-name{font-weight:600;color:#1f2937;font-size:1rem;flex-shrink:0;min-width:150px}.workplace-desc{color:#6b7280;font-size:.9rem;flex:1}.workplace-settings{border-left:4px solid #1d4ed8}.availability-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.availability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;margin-top:1rem}.availability-day{background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;padding:1rem}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.day-header strong{font-size:.95rem;color:#1f2937}.time-blocks-container{display:flex;flex-direction:column;gap:.5rem}.time-block{display:flex;align-items:center;gap:.5rem;background:#fff;padding:.5rem;border-radius:4px}.time-input{padding:.4rem .6rem;border:1px solid #d1d5db;border-radius:4px;font-size:.9rem;flex:1}.time-input:focus{outline:none;border-color:#1d4ed8}.time-block>span{color:#6b7280;font-size:.9rem}.btn-icon-remove{background:none;border:none;font-size:1.5rem;color:#ef4444;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .15s}.btn-icon-remove:hover{background:#fee2e2}.availability-empty{color:#9ca3af;font-size:.875rem;font-style:italic;margin:0;padding:.5rem}.user-manager-actions{display:flex;justify-content:flex-end;gap:1rem;padding:2rem;background:#fff;border-top:2px solid #e5e7eb;position:sticky;bottom:0;box-shadow:0 -2px 4px #0000000d}.btn-large{padding:.75rem 2rem;font-size:1.05rem;font-weight:600}@media(max-width:768px){.user-manager-overlay .user-manager-header{padding:1rem}.user-manager-overlay .header-left{flex-direction:column;align-items:flex-start;width:100%}.user-manager-overlay .header-left h2{font-size:1.25rem}.user-manager-overlay .user-manager-content{padding:1rem}.user-manager-overlay .form-section-full{padding:1.5rem}.user-manager-overlay .form-row,.user-manager-overlay .availability-grid{grid-template-columns:1fr}.user-manager-overlay .workplace-assignment-item{flex-direction:column;align-items:flex-start}.user-manager-overlay .workplace-name{min-width:unset}.user-manager-overlay .user-manager-actions{flex-direction:column;padding:1rem}.user-manager-overlay .btn-large{width:100%}}.user-manager-overlay{overflow-x:hidden}.user-manager-overlay .user-manager-content{max-width:none;width:100%;padding:1.25rem}.user-manager-overlay .user-manager-form,.user-manager-overlay .form-section-full,.user-manager-overlay .availability-day,.user-manager-overlay .time-block,.user-manager-overlay .time-blocks-container{box-sizing:border-box;min-width:0}.user-manager-overlay .availability-grid{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;width:100%}.user-manager-overlay .availability-day-section{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:.75rem 1rem}.user-manager-overlay .availability-day-header{margin:0;padding:0;border:0;display:flex;justify-content:flex-start;align-items:center}.user-manager-overlay .day-checkbox-label{display:inline-flex;align-items:center;gap:.6rem;font-weight:600;color:#1f2937;margin:0}.user-manager-overlay .day-checkbox-label input[type=checkbox]{width:16px;height:16px}.user-manager-overlay .day-times{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #eef2f7}.user-manager-overlay .day-times.hidden{display:none}.user-manager-overlay .btn-add{padding:.3rem .6rem;border:1px solid #d1d5db;background:#fff;color:#1f2937;border-radius:4px}.user-manager-overlay .time-blocks-container{overflow-x:hidden;display:flex;flex-direction:column;gap:.4rem}.user-manager-overlay .time-block{display:flex;align-items:center;flex-wrap:nowrap;gap:.5rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;padding:.45rem .55rem}.user-manager-overlay .time-input{flex:0 0 128px;min-width:0;max-width:128px}.user-manager-overlay .add-time-block{margin-top:.5rem}.user-manager-overlay .availability-actions-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.user-manager-overlay .quick-slot-btn{min-width:88px}@media(max-width:980px){.user-manager-overlay .time-block{flex-wrap:wrap}.user-manager-overlay .time-input{flex:1 1 140px;max-width:none}}.announcements-controls{padding:0 .5rem 1rem}.announcements-list{display:flex;flex-direction:column;gap:1rem;min-height:200px}.announcement-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem;transition:all .2s}.announcement-card:hover{border-color:#2563eb;box-shadow:0 2px 8px #667eea26}.announcement-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.announcement-header h4{margin:0;color:#1f2937;font-size:1.1rem}.announcement-actions{display:flex;gap:.5rem}.announcement-message{margin:0 0 .75rem;color:#4b5563;line-height:1.6;white-space:pre-wrap}.announcement-meta{padding-top:.75rem;border-top:1px solid #e5e7eb}.announcement-meta small{color:#9ca3af;font-size:.8rem}.announcement-form{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem}.announcement-form h4{margin:0 0 1rem;color:#1f2937}.announcement-form textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:.9rem;resize:vertical}.announcement-form textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #667eea1a}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}#user-workplaces-container{display:flex;flex-direction:column;gap:2rem;margin-top:1.5rem}.user-workplace-section{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.workplace-section-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.workplace-section-header h3{margin:0 0 .25rem;color:#1f2937;font-size:1.5rem}.workplace-description{color:#6b7280;font-size:.9rem}.workplace-section-content{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.announcements-panel{background:#f9fafb;border-radius:12px;padding:1.25rem;border:1px solid #e5e7eb}.announcements-panel h4{margin:0 0 1rem;color:#1f2937;font-size:1.1rem}.user-announcements-list{display:flex;flex-direction:column;gap:1rem}.user-announcement-item{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1rem}.announcement-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.announcement-title-row strong{color:#1f2937;font-size:1rem}.announcement-title-row small{color:#9ca3af;font-size:.8rem}.user-announcement-item p{margin:0;color:#4b5563;line-height:1.5;white-space:pre-wrap}.info-panels{display:flex;flex-direction:column;gap:1rem}.info-panels .info-card h4{margin:0 0 .5rem;font-size:1rem;color:#1f2937}.info-panels .info-card p{margin:.25rem 0;font-size:.9rem}@media(max-width:768px){.workplace-section-content{grid-template-columns:1fr}}.schedule-generator-content{display:flex;flex-direction:column;gap:1.5rem}.generator-section{background:#f9fafb;border-radius:12px;padding:1.25rem;border:1px solid #e5e7eb}.generator-section h4{margin:0 0 1rem;color:#1f2937;font-size:1.1rem}.generator-config{display:flex;flex-direction:column;gap:1rem}.config-field{display:flex;flex-direction:column;gap:.5rem}.config-field label{font-weight:600;color:#374151;font-size:.95rem}.config-field input[type=number]{width:120px;padding:.6rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem}.config-field small{color:#6b7280;font-size:.85rem}.worker-selection-controls{display:flex;gap:.75rem;margin-bottom:1rem}.worker-selection-list{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto}.worker-checkbox-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem;transition:all .2s}.worker-checkbox-item:hover{border-color:#2563eb;background:#f9fafb}.worker-checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.worker-checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.worker-info-inline{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.worker-name{font-weight:600;color:#1f2937}.workstudy-badge-small{background:#fef3c7;color:#92400e;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.worker-email-small{color:#6b7280;font-size:.85rem}.generation-status{padding:.75rem 1rem;border-radius:8px;font-weight:600;margin-bottom:1rem;display:none}.generation-status:not(:empty){display:block}.generation-status.error{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.generation-status.success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.requests-container{display:flex;flex-direction:column;gap:1rem;padding:1rem;max-height:600px;overflow-y:auto}.request-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;transition:all .2s}.request-card:hover{border-color:#2563eb;box-shadow:0 2px 12px #667eea26}.request-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.request-header h4{margin:0 0 .25rem;color:#1f2937;font-size:1.1rem}.request-email{margin:0;color:#6b7280;font-size:.9rem}.request-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.request-workplace{background:#e0e7ff;color:#3730a3;padding:.25rem .75rem;border-radius:6px;font-size:.85rem;font-weight:600}.request-date{color:#9ca3af;font-size:.8rem}.request-availability{margin-bottom:1rem}.request-availability h5{margin:0 0 .75rem;color:#374151;font-size:.95rem}.availability-list{display:flex;flex-direction:column;gap:.5rem}.availability-day{display:flex;gap:.5rem;padding:.5rem;background:#f9fafb;border-radius:6px}.availability-day strong{min-width:100px;color:#1f2937}.availability-day span{color:#4b5563}.request-actions{display:flex;gap:.75rem;justify-content:flex-end}.work-study-badge{display:inline-block;background:#fef3c7;color:#92400e;padding:.25rem .75rem;border-radius:6px;font-size:.85rem;font-weight:600;margin-bottom:.5rem}.availability-day-section{border:1px solid #e5e7eb;border-radius:8px;padding:1rem;margin-bottom:1rem;background:#f9fafb}.day-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.day-header input[type=checkbox]{width:20px;height:20px;cursor:pointer}.day-header label{cursor:pointer;margin:0;color:#1f2937}.time-blocks{display:flex;flex-direction:column;gap:.75rem;margin-left:1.75rem}.time-block{display:flex;align-items:center;gap:.5rem}.time-block input[type=time]{padding:.5rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem}.time-block span{color:#6b7280;font-size:.9rem}.btn-icon{background:#ef4444;color:#fff;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;line-height:1;transition:all .2s}.btn-icon:hover{background:#dc2626;transform:scale(1.1)}.add-time-block{align-self:flex-start;margin-top:.5rem}.form-container{padding:1rem}.form-control{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:all .2s}.form-control:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #667eea1a}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.settings-container{padding:1.5rem}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:1rem}.setting-info h4{margin:0 0 .25rem;color:#1f2937;font-size:1.1rem}.setting-info p{margin:0;color:#6b7280;font-size:.9rem}.theme-toggle{display:flex;gap:.5rem;background:#fff;padding:.25rem;border-radius:8px;border:1px solid #e5e7eb}.theme-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;background:transparent;color:#6b7280;font-weight:600;cursor:pointer;transition:all .2s;font-size:.95rem}.theme-btn:hover{background:#f3f4f6;color:#374151}.theme-btn.active{background:#2563eb;color:#fff;box-shadow:0 2px 8px #2563eb4d}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-hover: #475569;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--border-color: #334155;--border-hover: #475569;--accent-primary: #2563eb;--accent-hover: #1d4ed8}[data-theme=dark] body{background:var(--bg-primary);color:var(--text-primary)}[data-theme=dark] .header,[data-theme=dark] .app-header{background:#2563eb;border-bottom-color:#1d4ed8}[data-theme=dark] .app-title{color:#fff}[data-theme=dark] .user-badge{background:#fff3;color:#fff}[data-theme=dark] .user-badge.admin-badge{background:#16a34a;color:#fff}[data-theme=dark] .panel{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .panel-subtitle{color:var(--text-tertiary)}[data-theme=dark] .panel-header h2{color:var(--text-primary)}[data-theme=dark] .btn{border-color:var(--border-color)}[data-theme=dark] .btn-light-dark{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-hover)}[data-theme=dark] .btn-light-dark:hover{background:var(--bg-hover)}[data-theme=dark] .btn-primary{background:var(--accent-primary);border-color:var(--accent-primary)}[data-theme=dark] .btn-primary:hover{background:var(--accent-hover)}[data-theme=dark] .workplace-card{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .workplace-card:hover,[data-theme=dark] .workplace-card.selected{background:var(--bg-hover);border-color:var(--accent-primary)}[data-theme=dark] .workplace-card h3{color:var(--text-primary)}[data-theme=dark] .workplace-card p{color:var(--text-tertiary)}[data-theme=dark] .info-card{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .info-card h3,[data-theme=dark] .info-card h4{color:var(--text-primary)}[data-theme=dark] .info-card ul li{color:var(--text-secondary)}[data-theme=dark] .modal-overlay{background:#000c}[data-theme=dark] .modal{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .modal-header{border-bottom-color:var(--border-color)}[data-theme=dark] .modal-header h3{color:var(--text-primary)}[data-theme=dark] .modal-close{color:var(--text-secondary)}[data-theme=dark] .modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}[data-theme=dark] .form-field label{color:var(--text-secondary)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea,[data-theme=dark] .form-control{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus,[data-theme=dark] .form-control:focus{border-color:var(--accent-primary);background:var(--bg-hover)}[data-theme=dark] input::placeholder{color:var(--text-tertiary)}[data-theme=dark] .user-dashboard-modal .modal{background:var(--bg-secondary)}[data-theme=dark] .dashboard-controls{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .search-box{background:var(--bg-hover);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .user-row{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .user-row:hover{background:var(--bg-hover)}[data-theme=dark] .user-name{color:var(--text-primary)}[data-theme=dark] .user-email{color:var(--text-tertiary)}[data-theme=dark] .user-role-badge{background:var(--bg-hover);color:var(--text-secondary)}[data-theme=dark] .user-role-badge.admin{background:#7c3aed;color:#fff}[data-theme=dark] .announcement-card{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .announcement-card:hover{border-color:var(--accent-primary)}[data-theme=dark] .announcement-header h4{color:var(--text-primary)}[data-theme=dark] .announcement-message{color:var(--text-secondary)}[data-theme=dark] .announcement-meta{color:var(--text-tertiary)}[data-theme=dark] .user-workplace-section{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .workplace-section-header h3{color:var(--text-primary)}[data-theme=dark] .workplace-description{color:var(--text-tertiary)}[data-theme=dark] .user-announcement-item{background:var(--bg-hover);border-color:var(--border-color)}[data-theme=dark] .user-announcement-item strong{color:var(--text-primary)}[data-theme=dark] .user-announcement-item p,[data-theme=dark] .empty-state{color:var(--text-secondary)}[data-theme=dark] .empty-state h3{color:var(--text-primary)}[data-theme=dark] .empty-state-text{color:var(--text-tertiary)}[data-theme=dark] .schedule-container{background:transparent}[data-theme=dark] .day-schedule{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .day-header{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}[data-theme=dark] .no-shifts{color:var(--text-tertiary)}[data-theme=dark] .shift-block{background:var(--bg-hover);border-color:var(--border-color)}[data-theme=dark] .shift-block:hover{box-shadow:0 2px 8px #2563eb40}[data-theme=dark] .shift-block.unfilled{background:#dc26261a;border-color:#dc26264d}[data-theme=dark] .shift-block.empty{background:#eab3081a;border-color:#eab3084d}[data-theme=dark] .shift-time{color:#60a5fa}[data-theme=dark] .shift-worker{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .shift-worker.unfilled{background:#b91c1c33;color:#f87171;border-color:#b91c1c66}[data-theme=dark] .schedule-grid{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .schedule-header{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .schedule-cell{border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .schedule-cell.assigned{background:var(--bg-hover)}[data-theme=dark] .request-card{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .request-card:hover{border-color:var(--accent-primary)}[data-theme=dark] .request-header h4{color:var(--text-primary)}[data-theme=dark] .request-email,[data-theme=dark] .request-date{color:var(--text-tertiary)}[data-theme=dark] .availability-day{background:var(--bg-hover)}[data-theme=dark] .availability-day strong{color:var(--text-primary)}[data-theme=dark] .availability-day span{color:var(--text-secondary)}[data-theme=dark] .availability-day-section{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .day-header label{color:var(--text-primary)}[data-theme=dark] .time-block input[type=time]{background:var(--bg-hover);border-color:var(--border-color);color:var(--text-primary);color-scheme:dark}[data-theme=dark] .time-block span{color:var(--text-secondary)}[data-theme=dark] .setting-item{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .setting-info h4{color:var(--text-primary)}[data-theme=dark] .setting-info p{color:var(--text-tertiary)}[data-theme=dark] .theme-toggle{background:var(--bg-hover);border-color:var(--border-color)}[data-theme=dark] .theme-btn{color:var(--text-secondary)}[data-theme=dark] .theme-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}[data-theme=dark] .theme-btn.active{background:var(--accent-primary);color:#fff}[data-theme=dark] .form-status.error{background:#7f1d1d;color:#fecaca;border-color:#991b1b}[data-theme=dark] .form-status.success{background:#064e3b;color:#a7f3d0;border-color:#065f46}[data-theme=dark] .loading{color:var(--text-secondary)}[data-theme=dark] .worker-checkbox-item{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .worker-checkbox-item:hover{background:var(--bg-hover)}[data-theme=dark] .worker-info-inline{color:var(--text-primary)}[data-theme=dark] .worker-email-small{color:var(--text-tertiary)}[data-theme=dark] .score-badge{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .generation-status.error{background:#7f1d1d;color:#fecaca;border-color:#991b1b}[data-theme=dark] .generation-status.success{background:#064e3b;color:#a7f3d0;border-color:#065f46}[data-theme=dark] .work-study-badge,[data-theme=dark] .workstudy-badge-small{background:#78350f;color:#fef3c7}[data-theme=dark] .request-workplace{background:#4338ca;color:#e0e7ff}[data-theme=dark] ::-webkit-scrollbar{width:10px;height:10px}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--bg-secondary)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:5px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}[data-theme=dark] .schedule-card{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .schedule-card:hover{border-color:var(--accent-primary)}[data-theme=dark] .schedule-card.current{border-color:#10b981;background:linear-gradient(135deg,rgba(16,185,129,.1) 0%,var(--bg-tertiary) 100%)}[data-theme=dark] .schedule-card-header h4{color:var(--text-primary)}[data-theme=dark] .schedule-card-meta p{color:var(--text-secondary)}[data-theme=dark] .schedule-editor-actions{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .add-worker-btn{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .add-worker-btn:hover{background:var(--bg-secondary);border-color:var(--accent-primary)}[data-theme=dark] .btn-icon:hover{background:#ef444433}
