@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--primary: #6366f1;--primary-hover: #4f46e5;--secondary: #ec4899;--bg-main: #0f172a;--bg-card: rgba(30, 41, 59, .7);--glass-border: rgba(255, 255, 255, .1);--text-main: #f8fafc;--text-dim: #94a3b8;--accent-glow: rgba(99, 102, 241, .2);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--transition: all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-main);background-image:radial-gradient(at 0% 0%,hsla(253,16%,7%,1) 0,transparent 50%),radial-gradient(at 50% 0%,hsla(225,39%,30%,1) 0,transparent 50%),radial-gradient(at 100% 0%,hsla(339,49%,30%,1) 0,transparent 50%);color:var(--text-main);min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden}.glass-panel{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:20px;box-shadow:0 8px 32px #0000005e}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--secondary));border:none;color:#fff;padding:10px 24px;border-radius:12px;font-weight:600;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 15px var(--accent-glow)}.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 6px 20px var(--accent-glow)}.btn-secondary{background:transparent;border:1px solid var(--glass-border);color:var(--text-main);padding:10px 24px;border-radius:12px;font-weight:600;cursor:pointer;transition:var(--transition)}.btn-secondary:hover{background:#ffffff0d}.input-field{background:#ffffff0d;border:1px solid var(--glass-border);border-radius:10px;padding:12px 16px;color:#fff;font-family:inherit;transition:var(--transition);width:100%}.input-field:focus{outline:none;border-color:var(--primary);background:#ffffff1a}h1,h2,h3{font-weight:700;letter-spacing:-.025em}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0000001a}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}.app-container{display:grid;grid-template-columns:260px minmax(0,1fr);height:100vh;overflow:hidden;transition:grid-template-columns .25s ease;width:100%}.app-container.sidebar-collapsed{grid-template-columns:72px 1fr}.sidebar{margin:16px;padding:24px;display:flex;flex-direction:column;gap:32px;overflow:hidden;transition:padding .25s ease,gap .25s ease}.sidebar.collapsed{padding:16px 8px;gap:16px}.sidebar-toggle-btn{background:#ffffff14;border:none;color:#fff9;width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);flex-shrink:0;margin-left:auto}.sidebar-toggle-btn:hover{background:#ffffff2e;color:#fff}.sidebar.collapsed .logo{justify-content:center;flex-wrap:wrap;gap:8px}.sidebar.collapsed .sidebar-toggle-btn{margin-left:0}.sidebar.collapsed .nav-items button{justify-content:center;padding:12px}.sidebar.collapsed .run-btn{padding:12px}.logo{display:flex;align-items:center;gap:12px;font-size:1.25rem;font-weight:700;color:#fff}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.nav-items{display:flex;flex-direction:column;gap:8px;flex-grow:1}.nav-items button{background:transparent;border:none;color:var(--text-dim);padding:12px 16px;border-radius:12px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:var(--transition);text-align:left;font-weight:500}.nav-items button:hover,.nav-items button.active{background:#ffffff1a;color:#fff}.run-btn{width:100%;justify-content:center;padding:16px}.content{padding:24px clamp(18px,2.4vw,36px);overflow-y:auto;display:flex;flex-direction:column;gap:32px;min-width:0}header{display:flex;justify-content:space-between;align-items:center}.user-profile{padding:8px 16px;border-radius:50px;font-size:.9rem}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.stat-card{padding:24px;display:flex;align-items:center;gap:20px}.stat-card .icon{width:48px;height:48px;padding:12px;background:#6366f11a;border-radius:12px;color:var(--primary)}.stat-card h3{font-size:1.5rem;margin-bottom:4px}.stat-card p{color:var(--text-dim);font-size:.9rem}.quick-action{grid-column:span 3;padding:40px;background:linear-gradient(135deg,#6366f11a,#ec48991a)}.quick-action h2{margin-bottom:16px}.quick-action p{color:var(--text-dim);margin-bottom:24px;max-width:600px}.quick-action .actions{display:flex;gap:12px}.list-view{padding:24px;width:100%;min-width:0}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}table{width:100%;border-collapse:collapse}.table-wrap{width:100%;min-width:0;overflow-x:auto}.floating-horizontal-scroller{width:100%;min-width:0}.floating-horizontal-scrollbar{height:22px;overflow-x:auto;overflow-y:hidden;border:1px solid rgba(29,78,216,.4);border-radius:10px;background:#e2e8f0f2;box-shadow:0 8px 24px #0f172a3d;scrollbar-width:auto;scrollbar-color:#1d4ed8 rgba(226,232,240,.95)}.floating-horizontal-scrollbar::-webkit-scrollbar{height:16px}.floating-horizontal-scrollbar::-webkit-scrollbar-track{background:#e2e8f0f2;border-radius:10px}.floating-horizontal-scrollbar::-webkit-scrollbar-thumb{background:#1d4ed8;border:3px solid rgba(226,232,240,.95);border-radius:10px}.floating-horizontal-scrollbar::-webkit-scrollbar-thumb:hover{background:#1e40af}.floating-horizontal-scrollbar-inner{height:1px;min-width:100%}th{text-align:left;color:var(--text-dim);padding:12px;border-bottom:1px solid var(--glass-border);font-weight:500}td{padding:16px 12px;border-bottom:1px solid var(--glass-border);vertical-align:top}.trainer-table{table-layout:fixed;min-width:1524px}.trainer-table th,.trainer-table td{padding:14px 10px}.trainer-selection-cell{width:44px;min-width:44px;text-align:center;vertical-align:middle}.trainer-selection-cell input[type=checkbox]{transform:scale(1.15);cursor:pointer}.trainer-name-cell{width:13%;min-width:140px;word-break:break-word}.trainer-expertise-cell{width:27%;font-size:.84rem;opacity:.82;line-height:1.35;white-space:normal;word-break:break-word}.trainer-metric-cell{width:8%;white-space:normal}.trainer-promo-summary-cell{width:18%;min-width:230px}.trainer-promo-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.trainer-promo-list-expanded{max-height:180px;overflow-y:auto;padding-right:2px}.trainer-promo-row{padding:7px 8px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#0f172a47}.trainer-promo-name{display:block;color:var(--text-main);font-size:.78rem;font-weight:650;line-height:1.25;word-break:break-word}.trainer-promo-stats{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.trainer-promo-stat{display:inline-flex;padding:2px 6px;border-radius:6px;font-size:.68rem;line-height:1.25;white-space:nowrap}.trainer-promo-stat-assigned{background:#6366f12e;color:#c7d2fe}.trainer-promo-stat-available{background:#10b98129;color:#a7f3d0}.trainer-promo-details{margin-top:7px}.trainer-promo-details summary{cursor:pointer;color:#c7d2fe;font-size:.74rem;font-weight:600}.trainer-promo-empty{margin-top:8px;color:var(--text-dim);font-size:.74rem}.trainer-actions-cell{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}.trainer-table select,.trainer-table input[type=number]{max-width:100%}.subject-table{table-layout:auto;min-width:1760px}.subject-table th,.subject-table td{padding:12px 10px}.subject-name-cell{width:14%}.subject-table .subject-name-cell{position:sticky;left:0;z-index:2;min-width:240px;background:#0f172afa;box-shadow:1px 0 #ffffff1f}.subject-table thead .subject-name-cell{z-index:3}.subject-trainers-cell{width:24%}.subject-wide-cell{width:16%}.subject-stack{min-width:260px;display:flex;flex-direction:column;gap:8px}.subject-chip-row{display:flex;gap:6px;flex-wrap:wrap}.subject-control-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.subject-inline-control{max-width:100%}.schedule-list{width:100%;min-width:0;padding:18px}.schedule-table{table-layout:fixed}.schedule-table th,.schedule-table td{padding:12px 10px}.schedule-entity-cell{word-break:break-word}.schedule-subject-cell{width:28%;word-break:break-word;line-height:1.35}.room-calendar-shell{padding:0;overflow:hidden}.room-calendar-table{min-width:980px}.marine-export-view{display:flex;flex-direction:column;gap:16px;min-width:0}.marine-export-toolbar{padding:16px;display:flex;justify-content:space-between;gap:16px;align-items:center}.marine-export-stats{display:grid;grid-template-columns:repeat(5,minmax(92px,auto));gap:10px;align-items:stretch}.marine-export-stats>div{min-width:92px;padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#0f172a57}.marine-stat-label{display:block;margin-bottom:4px;color:var(--text-dim);font-size:.76rem}.marine-export-stats strong{font-size:1rem;color:var(--text-main);white-space:nowrap}.marine-export-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.marine-export-actions .btn-secondary,.marine-export-actions .btn-primary{display:inline-flex;align-items:center;gap:8px}.marine-export-warning{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(248,113,113,.36);border-radius:8px;background:#7f1d1d38;color:#fecaca;font-size:.9rem}.room-unassigned-alerts{padding:16px;border-left:4px solid #f59e0b;background:#f59e0b0d}.room-unassigned-alerts-title{margin-bottom:10px;color:#fbbf24;font-weight:700}.room-unassigned-alert-list{display:grid;gap:8px}.room-unassigned-alert-item{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(180px,.9fr);align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(251,191,36,.24);border-radius:8px;background:#0f172a57}.room-unassigned-alert-entry,.room-unassigned-alert-meta{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.room-unassigned-alert-entry span,.room-unassigned-alert-meta,.room-unassigned-alert-reason{color:var(--text-dim);font-size:.82rem}.room-unassigned-alert-reason{color:#fde68a;font-weight:700}@media(max-width:700px){.room-unassigned-alert-item{grid-template-columns:1fr;gap:6px}.room-unassigned-alert-meta{justify-content:space-between}}.marine-sheet-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.marine-sheet-tabs button{border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff0f;color:var(--text-dim);padding:9px 14px;font-weight:700;cursor:pointer;white-space:nowrap}.marine-sheet-tabs button.active{background:#14b8a633;border-color:#14b8a6a6;color:#ccfbf1}.marine-table-shell{overflow:visible;padding:0;border-radius:8px;min-width:0}.marine-table-scroll{overflow:auto;max-height:calc(100vh - 304px);min-width:0;scrollbar-gutter:stable}.marine-horizontal-scrollbar{position:sticky;bottom:0;z-index:6;height:22px;overflow-x:auto;overflow-y:hidden;border:1px solid rgba(29,78,216,.4);border-radius:10px;background:#e2e8f0f2;box-shadow:0 8px 24px #0f172a3d;scrollbar-width:auto;scrollbar-color:#1d4ed8 rgba(226,232,240,.95)}.marine-horizontal-scrollbar::-webkit-scrollbar{height:16px}.marine-horizontal-scrollbar::-webkit-scrollbar-track{background:#e2e8f0f2;border-radius:10px}.marine-horizontal-scrollbar::-webkit-scrollbar-thumb{background:#1d4ed8;border:3px solid rgba(226,232,240,.95);border-radius:10px}.marine-horizontal-scrollbar::-webkit-scrollbar-thumb:hover{background:#1e40af}.marine-horizontal-scrollbar-inner{height:1px;min-width:100%}.marine-month-title{padding:14px 16px;background:#7f98b8;color:#fff;font-size:1.05rem;font-style:italic;font-weight:800}.marine-total-table,.marine-month-table,.marine-no-trainer-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;background:#fff;color:#111827;font-size:.86rem}.marine-total-table th,.marine-total-table td,.marine-month-table th,.marine-month-table td,.marine-no-trainer-table th,.marine-no-trainer-table td{border-right:1px solid #111827;border-bottom:1px solid #111827;padding:8px 9px;vertical-align:middle}.marine-total-table thead th,.marine-month-table thead th,.marine-no-trainer-table thead th{position:sticky;top:0;z-index:3;background:#fff;color:#111827;text-align:center;font-weight:800}.marine-total-table thead tr:first-child th,.marine-month-table thead tr:first-child th,.marine-no-trainer-table thead tr:first-child th{top:0}.marine-total-table thead tr:nth-child(2) th,.marine-month-table thead tr:nth-child(2) th{top:35px}.marine-promo-header{min-width:210px;max-width:300px;white-space:normal}.marine-total-table td{background:#ffc;text-align:center}.marine-total-table td:nth-child(2),.marine-total-table td:nth-child(3){text-align:left}.marine-code-cell,.marine-total-table tbody td:nth-child(2),.marine-total-table tbody td:nth-child(3){background:#d8e4bc;font-weight:700}.marine-total-table .marine-total-row-missing-hours td:nth-child(3){background:#fef3c7}.marine-date-col{width:178px;min-width:178px;font-weight:700;text-transform:lowercase;white-space:nowrap}.marine-month-table .marine-date-col{position:sticky;left:0;z-index:4;background:#fff;box-shadow:1px 0 #111827}.marine-month-table tbody .marine-date-col{z-index:2}.marine-month-table thead .marine-date-col{z-index:5}.marine-month-table tbody td{height:56px}.marine-slot-cell{width:118px;min-width:118px;max-width:118px;padding:3px;text-align:center;background:#fff;cursor:pointer;transition:filter .16s ease,outline-color .16s ease;position:relative}.marine-slot-cell.has-multiple-details{padding:0}.marine-slot-cell:hover,.marine-slot-cell:focus-visible{filter:brightness(.95);outline:3px solid rgba(20,184,166,.68);outline-offset:-3px}.marine-slot-cell.occupied{background:color-mix(in srgb,var(--marine-slot-color, #9bbb59) 72%,white)}.marine-slot-cell.open{background:#faff00;color:#111827;box-shadow:inset 0 0 0 2px #f59e0b}.marine-slot-cell.unavailable{background:repeating-linear-gradient(135deg,#f8fafc,#f8fafc 8px,#e5e7eb 8px 16px);color:#6b7280}.marine-slot-cell.blocked{background:#fee2e2;color:#991b1b;font-weight:800}.marine-weekend-row .marine-slot-cell,.marine-slot-cell.weekend{background:#262626;color:#262626}.marine-slot-cell.conflict{outline:3px solid #ef4444;outline-offset:-3px}.marine-slot-content{display:flex;flex-direction:column;min-height:50px;height:100%}.marine-slot-header{display:inline-flex;align-items:center;justify-content:center;min-height:18px;padding:2px 3px 0;gap:3px}.marine-slot-code{display:inline-block;font-size:.96rem;font-weight:900;line-height:1.15}.marine-slot-alert{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;background:#ef4444;color:#fff;font-size:.72rem;font-weight:900}.marine-slot-alert.trainer-booking-conflict{background:#2563eb}.marine-slot-details-grid{display:grid;grid-template-columns:repeat(var(--marine-slot-detail-count, 1),minmax(0,1fr));flex:1;min-height:0;width:100%}.marine-slot-detail{display:flex;align-items:center;justify-content:center;min-width:0;padding:1px 4px 3px;white-space:normal;overflow-wrap:anywhere;line-height:1.12;text-align:center;font-size:.68rem;font-weight:700;opacity:.8}.marine-slot-cell.has-multiple-details .marine-slot-detail{height:100%;border-left:1px solid rgba(17,24,39,.28);line-height:1.05;font-size:.61rem}.marine-slot-cell.has-multiple-details .marine-slot-detail:first-child{border-left:0}.marine-slot-more{position:absolute;right:3px;bottom:2px;padding:0 3px;border-radius:999px;background:#111827c2;color:#fff;font-size:.58rem;font-weight:900;line-height:1.2}.marine-empty-slot-label{display:inline-block;font-size:.72rem;font-weight:800;text-transform:uppercase;opacity:.78}.marine-empty-row,.marine-empty-state{padding:28px;color:var(--text-dim);text-align:center}.marine-empty-state{display:flex;gap:10px;align-items:center;justify-content:center}.marine-total-table .positive,.marine-export-stats .positive{color:#047857}.marine-total-table .negative,.marine-export-stats .negative{color:#b91c1c}.marine-no-trainer-table{min-width:1280px}.marine-no-trainer-table td{background:#fff7ed;color:#111827;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.marine-no-trainer-table tbody td:first-child{background:#dbeafe;font-weight:800}.marine-no-trainer-table .marine-date-col{background:#fff}.marine-no-trainer-row{cursor:pointer}.marine-no-trainer-row:hover td,.marine-no-trainer-row:focus-visible td{filter:brightness(.96);outline:2px solid rgba(20,184,166,.5);outline-offset:-2px}.marine-no-trainer-issues{display:flex;flex-wrap:wrap;gap:5px;align-items:center;justify-content:center}.marine-no-trainer-issue{display:inline-flex;align-items:center;max-width:100%;padding:4px 8px;border-radius:8px;font-size:.78rem;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.marine-no-trainer-issue.unfilled-slot{background:#dbeafe;color:#1e3a8a}.marine-no-trainer-issue.no-qualified-trainer{background:#fee2e2;color:#991b1b}.marine-no-trainer-issue.no-available-trainer{background:#fef3c7;color:#92400e}.marine-availability-rate{font-weight:900;white-space:nowrap}.marine-availability-detail{width:min(920px,96vw)}.marine-availability-summary{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(240px,1.3fr);gap:12px;margin-bottom:16px}.marine-availability-summary>div,.marine-availability-block{padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#0f172a61}.marine-availability-summary strong{color:var(--text-main);font-size:1.04rem}.marine-availability-block h4{margin:0 0 10px;color:var(--text-main);font-size:.92rem}.marine-availability-block p{margin:0;color:var(--text-dim);font-size:.9rem}.marine-availability-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.marine-trainer-availability-card{display:flex;flex-direction:column;gap:3px;padding:9px 10px;border-radius:8px;font-size:.88rem;font-weight:800}.marine-trainer-availability-card+.marine-trainer-availability-card{margin-top:8px}.marine-trainer-availability-card.available{background:#16a34a29;color:#bbf7d0}.marine-trainer-availability-card.unavailable{background:#b91c1c24;color:#fecaca}.marine-trainer-availability-card span{color:#fecacac7;font-size:.78rem;font-weight:700}.marine-slot-editor-backdrop{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;background:#020617b8}.marine-slot-editor{width:min(760px,96vw);max-height:min(88vh,760px);overflow:auto;padding:20px;border-radius:12px}.marine-slot-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.marine-slot-editor-header h3{margin:3px 0 0;font-size:1.08rem}.marine-slot-editor-kicker{color:var(--text-dim);font-size:.82rem;font-weight:700}.marine-editor-icon-btn{width:34px;height:34px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff0f;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.marine-editor-warning{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;padding:8px 10px;border-radius:8px;background:#f59e0b24;color:#fcd34d;font-size:.86rem;font-weight:700}.marine-editor-section{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.marine-editor-empty{padding:12px;border-radius:8px;background:#ffffff0d;color:var(--text-dim);font-size:.9rem}.marine-editor-entry,.marine-editor-add-row{display:grid;gap:10px;align-items:center}.marine-editor-entry{grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) minmax(170px,1fr) auto}.marine-editor-add-row{grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) auto}.marine-editor-entry select,.marine-editor-add-row select{min-width:0;width:100%;padding:9px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#0f172ae6;color:#fff}.marine-editor-subject-lock{min-width:0;width:100%;padding:9px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#fff;font-size:.88rem;font-weight:700;overflow-wrap:anywhere}.marine-editor-trainer-picker{min-width:0;width:100%;max-height:170px;overflow-y:auto;padding:7px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#0f172ae6;display:flex;flex-direction:column;gap:5px}.marine-editor-trainer-checkbox{display:flex;align-items:flex-start;gap:7px;min-width:0;color:#fff;font-size:.85rem;line-height:1.25;cursor:pointer}.marine-editor-trainer-checkbox input{margin-top:2px;accent-color:#6366f1}.marine-editor-trainer-checkbox span{min-width:0;overflow-wrap:anywhere}.marine-editor-trainer-checkbox.warning span,.marine-editor-picker-empty{color:#94a3b8}.marine-editor-picker-empty{padding:3px 2px;font-size:.82rem}.marine-editor-entry select:disabled,.marine-editor-add-row select:disabled{opacity:.55}.marine-editor-entry option.marine-editor-option-warning,.marine-editor-add-row option.marine-editor-option-warning{color:#94a3b8}.marine-editor-room-select.exception{border-color:#f59e0b;color:#fbbf24;box-shadow:0 0 0 1px #f59e0b33}.marine-room-option-exception{color:#f59e0b;font-weight:700}.marine-room-option-occupied{color:#fca5a5}.marine-room-option-legacy{color:#cbd5e1}option.marine-editor-option-missing-hours{background:#fef3c7;color:#111827}option.marine-editor-option-warning.marine-editor-option-missing-hours{color:#475569}.marine-editor-danger-btn{width:38px;height:38px;border:1px solid rgba(248,113,113,.42);border-radius:8px;background:#7f1d1d29;color:#fca5a5;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.marine-editor-danger-btn:disabled,.marine-editor-add-row .btn-primary:disabled{opacity:.45;cursor:not-allowed}@media(max-width:760px){.marine-export-toolbar{align-items:stretch;flex-direction:column}.marine-export-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.marine-editor-entry,.marine-editor-add-row,.marine-availability-summary,.marine-availability-columns{grid-template-columns:1fr}.marine-editor-danger-btn,.marine-editor-add-row .btn-primary{width:100%;justify-content:center}}.rooms-manage-table{table-layout:fixed}.rooms-manage-table th,.rooms-manage-table td{padding:12px 10px}.room-promo-links-cell{min-width:260px}.room-promo-links-summary{margin-bottom:8px;color:#cbd5e1;font-size:.78rem}.room-promo-links{display:flex;flex-wrap:wrap;gap:6px}.room-promo-link{border:1px solid rgba(148,163,184,.28);border-radius:999px;padding:6px 10px;background:#64748b24;color:#cbd5e1;cursor:pointer;font-size:.78rem;transition:background .16s ease,border-color .16s ease,color .16s ease}.room-promo-link:hover:not(:disabled){border-color:#818cf8bf;background:#6366f133}.room-promo-link.selected{border-color:#34d399bf;background:#10b9813d;color:#d1fae5}.room-promo-link.saving{cursor:wait;opacity:.7}.room-management-error{margin-bottom:12px;border:1px solid rgba(248,113,113,.45);border-radius:8px;padding:10px 12px;background:#ef44441f;color:#fecaca;font-size:.86rem}.modal-content{max-width:min(720px,calc(100vw - 32px));width:min(92vw,720px);max-height:min(88vh,920px);overflow:auto;padding:28px}.modal-content.modal-medium{max-width:min(560px,calc(100vw - 32px));width:min(90vw,560px)}.modal-content.modal-wide{max-width:min(1040px,calc(100vw - 32px));width:min(95vw,1040px)}.badge{padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:700}.badge.AM{background:#f59e0b33;color:#f59e0b}.badge.PM{background:#3b82f633;color:#3b82f6}.priority-badge{padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:600;display:inline-flex;align-items:center;gap:4px}.priority-badge.p1{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.2)}.priority-badge.p2{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.2)}.priority-badge.p3,.priority-badge.p4,.priority-badge.p5{background:#94a3b81a;color:#94a3b8;border:1px solid rgba(148,163,184,.2)}.error-box{border-left:4px solid #ef4444;padding:20px;margin-bottom:24px;background:#ef44441a}.error-box h3{display:flex;align-items:center;gap:8px;color:#ef4444;margin-bottom:12px}.empty-state{padding:80px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text-dim)}.schedule-controls{display:flex;justify-content:space-between;margin-bottom:16px}.locked-row{background:#6366f10d!important}.table-select{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:4px 8px;border-radius:6px;font-size:.85rem;width:100%;cursor:pointer}.table-select option{background:#1a1c1e;color:#fff}.tsf-promo-links{display:flex;flex-direction:column;gap:8px;padding:12px;margin-bottom:16px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0a}.tsf-promo-links-header,.tsf-promo-link-row{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(130px,auto);gap:10px;align-items:center}.tsf-promo-links-header{color:var(--text-dim);font-size:.86rem;font-weight:700}.tsf-promo-link-row{min-height:42px;padding:8px;border-radius:8px;background:#0f172a66}.tsf-promo-link-row.active{background:#10b9811a}.tsf-promo-link-check{display:flex;gap:8px;align-items:center;min-width:0}.tsf-promo-link-check span{overflow-wrap:anywhere}.tsf-year-buttons{display:inline-flex;gap:6px}.tsf-year-button{padding:6px 10px;border:1px solid rgba(255,255,255,.16);border-radius:6px;background:#ffffff0d;color:var(--text-main);cursor:pointer}.tsf-year-button.active{border-color:#f59e0b;background:#f59e0b38;font-weight:700}.tsf-year-button:disabled{cursor:not-allowed;opacity:.45}.tsf-promo-link-preview{color:var(--text-dim);font-size:.78rem;text-align:right}@media(max-width:640px){.tsf-promo-links-header,.tsf-promo-link-row{grid-template-columns:1fr}.tsf-year-buttons{flex-wrap:wrap}.tsf-promo-link-preview{text-align:left}}.actions-cell{display:flex;gap:8px;justify-content:center}.icon-btn{background:none;border:none;color:#ffffff80;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.icon-btn:hover{background:#ffffff1a;color:#fff}.icon-btn.danger:hover{background:#ef44441a;color:#ef4444}.calendar-view-mock{padding:40px;text-align:center;color:#ffffff80}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{max-width:min(720px,calc(100vw - 32px));width:min(92vw,720px);max-height:min(88vh,920px);overflow:auto;padding:28px;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes generationProgressSweep{0%{transform:translate(-120%)}to{transform:translate(260%)}}@keyframes generationProgressPulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.35)}}.generation-progress-indeterminate{animation:generationProgressSweep 1.15s ease-in-out infinite}.generation-progress-active{animation:generationProgressPulse 1.2s ease-in-out infinite}.modal-content h3{margin-bottom:16px;font-size:1.25rem}.modal-content p{color:var(--text-dim);line-height:1.6;margin-bottom:24px}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.btn-secondary{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);color:var(--text);padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:500;transition:var(--transition)}.btn-secondary:hover{background:#ffffff26}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;color:#fff;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:500;transition:var(--transition)}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px)}@media(max-width:1200px){.app-container{grid-template-columns:220px minmax(0,1fr)}.content{padding:18px}.table-wrap{overflow-x:auto}.trainer-table{min-width:1380px;table-layout:auto}.subject-table{min-width:1320px;table-layout:auto}.schedule-table{min-width:760px;table-layout:auto}.rooms-manage-table{min-width:980px;table-layout:auto}}.progressions-view{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;min-width:0}.progressions-tabs{grid-column:1 / -1;display:flex;gap:8px;padding:6px;border:1px solid var(--glass-border);border-radius:10px;background:#ffffff09}.progressions-tab{flex:1 1 180px;min-height:42px;padding:9px 14px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-dim);cursor:pointer;font:inherit;font-weight:700;transition:background .18s ease,border-color .18s ease,color .18s ease}.progressions-tab:hover{color:var(--text-main);background:#ffffff0f}.progressions-tab.is-active{border-color:#38bdf885;background:#0ea5e92e;color:#e0f2fe}.progressions-tab:focus-visible{outline:3px solid #7dd3fc;outline-offset:2px}.progressions-tabpanel{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;min-width:0}.progressions-panel{padding:20px;min-width:0}.progressions-wide{grid-column:1 / -1}.progressions-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.progressions-panel-header h2{margin:0 0 4px;font-size:1.05rem;letter-spacing:0}.progressions-panel-header p{margin:0;color:var(--text-dim);font-size:.86rem;line-height:1.35}.progressions-import-help{display:grid;gap:5px;margin:0 0 16px;padding:12px 14px;border:1px solid rgba(56,189,248,.28);border-radius:10px;background:#0ea5e914;color:var(--text-dim);font-size:.84rem;line-height:1.45}.progressions-import-help strong{color:#e0f2fe}.progressions-import-help code{color:#bae6fd;font-size:.82rem}.progressions-header-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.progressions-header-actions>button{min-width:132px;justify-content:center}.progressions-zip-select{min-width:min(220px,100%)}.progressions-import-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px;align-items:center;margin-bottom:14px}.progressions-import-form>.input-field,.progressions-import-form>button{min-width:0}.progressions-import-form>button{justify-content:center;width:100%}.progressions-control-row,.progressions-generate-grid{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end}.progressions-control-row label,.progressions-generate-grid label{display:flex;flex-direction:column;gap:6px;color:var(--text-dim);font-size:.78rem;font-weight:700;text-transform:uppercase}.progressions-view select.input-field option{background:#fff;color:#111827}.progressions-referential-summary,.progressions-source,.progressions-session-meta,.progressions-actions,.progressions-loading,.progressions-ai-toggle span{display:inline-flex;align-items:center;gap:8px}.progressions-referential-summary{flex-wrap:wrap;color:var(--text-dim);font-size:.82rem;justify-self:end;align-self:center}.progressions-official-badge,.progressions-version-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.02em}.progressions-official-badge{border:1px solid rgba(56,189,248,.42);background:#0ea5e924;color:#7dd3fc}.progressions-version-badge{border:1px solid var(--glass-border);background:#ffffff0e;color:var(--text-main)}.progressions-extraction-report{display:flex;align-items:center;gap:10px;flex-wrap:wrap;grid-column:1 / -1;padding:10px 12px;border:1px solid var(--glass-border);border-radius:8px;background:#ffffff09;color:var(--text-dim);font-size:.82rem}.progressions-extraction-report strong{color:var(--text-main)}.progressions-promo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.progressions-check-row,.progressions-ai-toggle{display:flex;align-items:center;gap:10px;min-height:40px;padding:10px 12px;border:1px solid var(--glass-border);border-radius:8px;background:#ffffff0a}.progressions-check-row span,.progressions-ai-toggle span{min-width:0;line-height:1.25}.progressions-ai-toggle{align-self:stretch;justify-content:center;color:var(--text-main);font-size:.88rem;font-weight:600;text-transform:none}.progressions-instructions{margin-top:12px;min-height:88px;resize:vertical}.progressions-message{grid-column:1 / -1;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;font-size:.9rem;border:1px solid var(--glass-border)}.progressions-message-success{background:#10b9811f;color:#86efac}.progressions-message-error{background:#ef44441f;color:#fca5a5}.progressions-message-info{background:#3b82f61f;color:#93c5fd}.progressions-table{min-width:960px;table-layout:fixed}.progressions-readiness-table{min-width:1120px}.progressions-list-table{min-width:1040px}.progressions-table th,.progressions-table td{padding:11px 10px;font-size:.84rem;line-height:1.35;overflow-wrap:anywhere}.progressions-pill{display:inline-flex;align-items:center;white-space:nowrap;padding:4px 8px;border-radius:999px;font-size:.74rem;font-weight:800}.progressions-pill-green{background:#10b98124;color:#86efac;border:1px solid rgba(16,185,129,.25)}.progressions-pill-amber{background:#f59e0b24;color:#fbbf24;border:1px solid rgba(245,158,11,.25)}.progressions-pill-red{background:#ef444424;color:#fca5a5;border:1px solid rgba(239,68,68,.25)}.progressions-pill-blue{background:#3b82f624;color:#93c5fd;border:1px solid rgba(59,130,246,.25)}.progressions-source{color:#bfdbfe;font-size:.82rem;font-weight:700}.progressions-muted{color:var(--text-dim);font-size:.82rem}.progressions-actions{flex-wrap:wrap}.progressions-icon-button{padding:7px 10px;min-height:34px;white-space:nowrap}.progressions-icon-button svg,.progressions-actions svg{flex-shrink:0}.progressions-empty,.progressions-empty-cell,.progressions-loading{color:var(--text-dim);font-size:.9rem}.progressions-empty{padding:14px 0}.progressions-empty-cell{text-align:center;padding:26px 12px}.progressions-sessions{display:flex;flex-direction:column;gap:12px}.progressions-detail{display:flex;flex-direction:column;gap:12px;min-width:0}.progressions-detail-summary{display:flex;flex-wrap:wrap;gap:8px}.progressions-detail-summary span{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:8px;border:1px solid var(--glass-border);background:#ffffff0b;color:#dbeafe;font-size:.82rem;font-weight:700}.progressions-detail-table{min-width:1800px;table-layout:fixed}.progressions-detail-table th,.progressions-detail-table td{vertical-align:top}.progressions-detail-table textarea.input-field{min-height:92px;resize:vertical;line-height:1.35}.progressions-detail-table th:nth-child(1),.progressions-detail-table td:nth-child(1){width:46px;text-align:center}.progressions-detail-table th:nth-child(2),.progressions-detail-table td:nth-child(2){width:96px}.progressions-detail-table th:nth-child(3),.progressions-detail-table td:nth-child(3),.progressions-detail-table th:nth-child(4),.progressions-detail-table td:nth-child(4),.progressions-detail-table th:nth-child(5),.progressions-detail-table td:nth-child(5),.progressions-detail-table th:nth-child(11),.progressions-detail-table td:nth-child(11){width:82px;text-align:center}.progressions-detail-table th:nth-child(6),.progressions-detail-table td:nth-child(6){width:190px}.progressions-detail-table th:nth-child(7),.progressions-detail-table td:nth-child(7),.progressions-detail-table th:nth-child(8),.progressions-detail-table td:nth-child(8){width:260px}.progressions-detail-table th:nth-child(9),.progressions-detail-table td:nth-child(9),.progressions-detail-table th:nth-child(10),.progressions-detail-table td:nth-child(10),.progressions-detail-table th:nth-child(12),.progressions-detail-table td:nth-child(12){width:210px}.progressions-detail-index,.progressions-detail-theme{color:var(--text-main);font-weight:800}.progressions-detail-text{white-space:pre-line;color:#f8fafce6}.progressions-detail-warning{display:flex;align-items:flex-start;gap:7px;margin-top:8px;color:#fbbf24;font-size:.8rem;line-height:1.35}.progressions-session-row{display:grid;grid-template-columns:minmax(210px,.36fr) minmax(0,1fr);gap:16px;padding:14px 0;border-top:1px solid var(--glass-border)}.progressions-session-row:first-child{border-top:none;padding-top:0}.progressions-session-meta{align-content:start;align-items:flex-start;flex-direction:column;color:var(--text-dim);font-size:.82rem}.progressions-session-index{color:var(--text-main);font-weight:800;font-size:.95rem}.progressions-session-main{min-width:0}.progressions-session-main h3{margin:0 0 8px;font-size:1rem;letter-spacing:0}.progressions-session-main p{margin:0 0 7px;color:#f8fafce0;line-height:1.45}.progressions-competencies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.progressions-competencies div{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:8px;border:1px solid var(--glass-border);background:#ffffff09;min-width:0}.progressions-competencies span{color:var(--text-dim);font-size:.82rem;line-height:1.35;overflow-wrap:anywhere}.progressions-session-warning{display:flex;align-items:flex-start;gap:8px;margin-top:10px;color:#fbbf24;font-size:.84rem}.progressions-spin{animation:spin .9s linear infinite}.progressions-view button:disabled,.progressions-view input:disabled,.progressions-view select:disabled,.progressions-view textarea:disabled{opacity:.58;cursor:not-allowed}@media(max-width:1100px){.progressions-view,.progressions-tabpanel,.progressions-import-form,.progressions-control-row,.progressions-generate-grid,.progressions-session-row,.progressions-competencies{grid-template-columns:1fr}.progressions-referential-summary{justify-self:start}.progressions-panel-header{flex-direction:column}.progressions-tabs{flex-wrap:wrap}}@media(max-width:960px){.app-container{grid-template-columns:1fr;height:auto}.sidebar{margin:12px;padding:18px}.content{padding:14px}.modal-content,.modal-content.modal-medium,.modal-content.modal-wide{width:min(96vw,960px);max-width:min(96vw,960px);padding:18px}}@media print{@page{size:A3 landscape;margin:10mm}body{background:#fff!important;color:#000!important}.sidebar,.header,.no-print{display:none!important}.app-container{display:block!important;height:auto!important;overflow:visible!important}.schedule-year-view .glass-panel,.schedule-year-view .year-month{background:#fff!important;color:#000!important;border:1px solid #ddd!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.schedule-year-view .year-grid{grid-template-columns:repeat(4,1fr)!important;gap:8px!important;page-break-inside:avoid}.schedule-year-view .year-month{page-break-inside:avoid}}.adv-gen-overlay{position:fixed;inset:0;background:#0009;z-index:10000;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:40px 16px}.adv-gen-panel{background:#1e1e2e;color:#e2e8f0;border-radius:16px;width:min(860px,100%);max-height:calc(100vh - 80px);overflow-y:auto;box-shadow:0 12px 60px #0009;padding:28px;border:1px solid rgba(168,85,247,.25)}.adv-gen-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.08)}.adv-gen-header>div{display:flex;align-items:center;gap:10px;color:#a855f7}.adv-gen-header h2{font-size:1.25rem;margin:0;color:#e2e8f0}.adv-gen-close{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:6px;border-radius:6px}.adv-gen-close:hover{background:#ffffff0f;color:#fff}.adv-gen-section{margin-bottom:24px}.adv-gen-section h3{font-size:.95rem;margin:0 0 10px;color:#cbd5e1;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.adv-gen-section h4{display:flex;align-items:center;gap:6px;font-size:.85rem;margin:16px 0 8px;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.adv-gen-preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.adv-gen-preset{display:flex;flex-direction:column;gap:4px;padding:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;cursor:pointer;color:#cbd5e1;text-align:left;transition:all .15s ease}.adv-gen-preset:hover:not(:disabled){background:#a855f714;border-color:#a855f766}.adv-gen-preset.active{background:#a855f724;border-color:#a855f7;color:#fff}.adv-gen-preset strong{font-size:.95rem}.adv-gen-preset span{font-size:.8rem;color:#94a3b8}.adv-gen-preset small{font-size:.72rem;color:#64748b;margin-top:4px}.adv-gen-toggle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.adv-gen-toggle{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;color:#cbd5e1;font-size:.85rem}.adv-gen-toggle:hover:not(:disabled){background:#ffffff0f}.adv-gen-toggle small{font-size:.7rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.adv-gen-toggle-on{background:#22c55e1f;border-color:#22c55e66}.adv-gen-toggle-on small{color:#4ade80}.adv-gen-toggle-off{background:#ef444414;border-color:#ef44444d;opacity:.8}.adv-gen-toggle-off small{color:#f87171}.adv-gen-iter-input{display:flex;flex-direction:column;gap:4px;margin-top:12px;font-size:.85rem;color:#94a3b8}.adv-gen-iter-input input{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:8px 10px;color:#e2e8f0;font-size:.9rem;max-width:220px}.adv-gen-actions{display:flex;gap:10px;align-items:center;margin-bottom:0}.adv-gen-run{background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer}.adv-gen-run:disabled{opacity:.5;cursor:not-allowed}.adv-gen-error{background:#ef44441f;border:1px solid rgba(239,68,68,.4);color:#fca5a5;padding:10px 14px;border-radius:8px;display:flex;align-items:center;gap:8px;margin-top:16px;font-size:.9rem}.adv-gen-results{border-top:1px solid rgba(255,255,255,.08);margin-top:20px;padding-top:20px}.adv-gen-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:12px}.adv-gen-metric{display:flex;flex-direction:column;padding:10px 12px;background:#ffffff08;border-radius:8px}.adv-gen-metric span{font-size:.72rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.adv-gen-metric strong{font-size:1.25rem;color:#fff;margin-top:4px}.adv-gen-timings{display:flex;flex-direction:column;gap:6px}.adv-gen-timing{display:grid;grid-template-columns:120px 1fr 60px;align-items:center;gap:8px;font-size:.82rem;color:#cbd5e1}.adv-gen-timing-track{background:#ffffff0f;border-radius:4px;height:8px;overflow:hidden}.adv-gen-timing-fill{height:100%;background:linear-gradient(90deg,#6366f1,#a855f7)}.adv-gen-timing-value{text-align:right;font-variant-numeric:tabular-nums;color:#94a3b8}.adv-gen-info{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#94a3b8;margin:8px 0}.adv-gen-narrative{font-size:.92rem;color:#e2e8f0;line-height:1.5;margin:6px 0}.adv-gen-residuals{margin:6px 0;padding-left:20px;color:#cbd5e1;font-size:.87rem}.adv-gen-residuals li{margin-bottom:4px}.adv-gen-factors{font-size:.87rem;color:#94a3b8;margin-top:8px}.adv-gen-diff{font-size:.9rem;color:#cbd5e1;margin:4px 0 12px}.adv-gen-apply{margin-top:16px;width:100%;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;padding:12px;border-radius:8px;font-weight:600;cursor:pointer}.deployment-update-overlay{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:16px;background:#020617b8}.deployment-update-banner{width:min(680px,100%);border:1px solid rgba(129,140,248,.55);border-radius:14px;background:#0f172af5;box-shadow:0 16px 40px #00000073;color:var(--text-main)}.deployment-update-content{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px}.deployment-update-content p{margin:6px 0 0;color:var(--text-muted);line-height:1.5}.deployment-update-actions button{border:0;border-radius:10px;padding:9px 14px;background:var(--primary);color:#fff;font-weight:700;cursor:pointer;white-space:nowrap}.deployment-update-actions button:disabled{cursor:wait;opacity:.65}.deployment-update-error{margin-top:4px;color:#fca5a5;font-size:.85rem}@media(max-width:560px){.deployment-update-content{align-items:stretch;flex-direction:column}.deployment-update-actions button{width:100%}}.meetings-view{display:grid;gap:20px}.meetings-header,.meetings-list-toolbar,.meeting-card-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.meetings-header h2{margin-bottom:6px}.meetings-muted{color:var(--text-dim);font-size:.9rem;line-height:1.6}.meetings-view .btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px}.meetings-view button:disabled{cursor:not-allowed;opacity:.6}.meetings-view .input-field{min-width:0;color-scheme:dark}.meetings-view input[type=checkbox]{width:17px;height:17px;flex-shrink:0;accent-color:var(--primary)}.meetings-view summary{cursor:pointer}.meeting-form-fields,.meeting-participants{border:0;padding:0;min-width:0}.meeting-field{display:grid;gap:8px;min-width:0;font-size:.9rem}.meeting-title-field{margin-bottom:20px}.meeting-time-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:10px}.meeting-participants{margin-top:28px}.meeting-participants legend{font-weight:600;margin-bottom:8px}.meeting-count{margin-left:8px;color:var(--text-dim);font-size:.85rem;font-weight:400}.meeting-participant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:14px}.meeting-participant{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;font-size:.9rem;overflow-wrap:anywhere}.meeting-participant:hover{background:#ffffff0a}.meeting-participant.selected{border-color:var(--primary);background:#6366f11f}.meeting-form-actions{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid var(--glass-border);padding-top:20px;margin-top:28px}.meetings-empty{display:grid;justify-items:center;gap:12px;padding:40px 20px;text-align:center;border:1px dashed var(--glass-border);border-radius:14px}.meetings-empty svg{color:#a5b4fc}.meetings-empty p{color:var(--text-dim);max-width:450px;line-height:1.7}.meeting-feedback{padding:12px 16px;border-radius:10px;background:#6366f11f}.meeting-error{color:#fca5a5;background:#ef44441a}.meeting-conflict{color:#fbbf24;margin-top:12px;font-size:.9rem}.meeting-filters{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px;padding:16px;border:1px solid var(--glass-border);border-radius:12px}.meeting-trainer-filter{min-width:230px}.meeting-filter-options{display:grid;gap:10px;padding:12px;margin-top:8px;max-height:260px;overflow-y:auto;border:1px solid var(--glass-border);border-radius:10px}.meeting-filter-option{display:flex;align-items:center;gap:8px;cursor:pointer}.meetings-list{display:grid;gap:14px}.meeting-card{padding:20px;border:1px solid var(--glass-border);border-radius:14px;background:#0f172a33}.meeting-card-heading strong{font-size:1.05rem;overflow-wrap:anywhere}.meeting-card-date{margin:10px 0 6px}.meeting-duration-badge{padding:6px 10px;border-radius:8px;background:#6366f129;color:#c7d2fe;font-size:.85rem;white-space:nowrap}.meeting-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.meeting-hours{border-top:1px solid var(--glass-border);padding-top:16px}.meeting-hours summary{color:var(--text-dim)}.meeting-hours table{margin-top:12px;text-align:left}.meeting-hours th,.meeting-hours td{padding:10px 12px;white-space:nowrap}.meeting-publication-note{font-size:.8rem}@media(max-width:700px){.meeting-time-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.meetings-header{align-items:flex-start}.meetings-header>.btn-primary{width:100%;justify-content:center}}@media(max-width:440px){.meetings-view{padding:16px}.meeting-time-fields,.meeting-participant-grid{grid-template-columns:minmax(0,1fr)}.meeting-filters>*,.meeting-trainer-filter{width:100%;min-width:0}.meeting-card{padding:14px}}
