@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";.appr-dot{vertical-align:middle;border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block;box-shadow:0 0 0 2px #00000040}.appr-dot.pending{animation:1.6s ease-in-out infinite apprPulse}@keyframes apprPulse{0%,to{opacity:1}50%{opacity:.45}}.appr-pill{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-flex}.appr-modal{flex-direction:column;gap:10px;width:560px;max-width:94vw;display:flex}.appr-items{border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border-default);flex-direction:column;gap:4px;max-height:180px;padding:8px 10px;font-size:12px;display:flex;overflow-y:auto}.appr-items span{align-items:center;gap:6px;display:flex}.appr-log{flex-direction:column;width:1080px;max-width:96vw;max-height:92vh;display:flex}.appr-log-body{flex-direction:column;gap:12px;padding-right:2px;display:flex;overflow-y:auto}.appr-kpis{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.appr-kpi{border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-default);padding:8px 10px}.appr-kpi small{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700;display:block}.appr-kpi b{font-size:16px}.appr-kpi>span:not(.appr-pill){color:var(--text-secondary);margin-top:4px;font-size:11px;display:block}.appr-kpi>.appr-pill{margin-top:4px}.appr-table{border-collapse:collapse;width:100%;font-size:12px}.appr-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border-default);padding:6px;font-size:10px;font-weight:700}.appr-table td{border-bottom:1px solid var(--border-muted);vertical-align:top;padding:6px}.appr-event{white-space:nowrap;font-weight:700}.appr-details{white-space:pre-line;color:var(--text-secondary)}.appr-tabs{border-bottom:1px solid var(--border-default);gap:4px;display:flex}.appr-tab{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 12px;font-size:12px}.appr-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.appr-bell{position:relative}.appr-bell-badge{background:var(--color-danger);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:700;display:inline-flex;position:absolute;top:-3px;right:-3px}.appr-notifs{z-index:2000;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);width:380px;max-height:70vh;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #00000073}.appr-notifs-head{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.appr-notif{border-bottom:1px solid var(--border-muted);cursor:pointer;gap:10px;padding:10px 12px;display:flex}.appr-notif:hover{background:var(--bg-secondary)}.appr-notif.unread{background:var(--accent-subtle)}.appr-notif-title{color:var(--text-primary);font-size:12px;font-weight:700}.appr-notif-body{color:var(--text-secondary);white-space:pre-line;margin-top:2px;font-size:11px}.appr-notif-time{color:var(--text-muted);margin-top:4px;font-size:10px}.appr-summary{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.appr-legend{color:var(--text-secondary);align-items:center;gap:12px;margin-left:auto;font-size:11px;display:inline-flex}.appr-legend-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.appr-legend-item{align-items:center;gap:5px;display:inline-flex}.app-header{background:var(--bg-primary);-webkit-backdrop-filter:none;border-bottom:1px solid var(--border-default);z-index:100;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 1px 2px #0000001a}.header-page-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:0;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:500;overflow:hidden}.app-logo{align-items:center;gap:var(--space-sm);text-decoration:none;display:flex}.logo-text{font-size:var(--font-size-xl);color:var(--text-primary);letter-spacing:-.02em;font-weight:700}.header-nav{gap:var(--space-sm);display:flex}.nav-link{color:var(--text-secondary);font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast);font-weight:500}.nav-link:hover{color:var(--text-primary);background:var(--bg-hover)}.header-user-section{align-items:center;gap:var(--space-md);display:flex}.user-profile-btn{align-items:center;gap:var(--space-sm);cursor:pointer;color:var(--text-secondary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);transition:all var(--transition-fast);background:0 0;border:none;display:flex}.user-profile-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.user-name{font-weight:500;font-size:var(--font-size-sm)}.header-left{flex-shrink:0;align-items:center;max-width:50%;display:flex;overflow:hidden}.header-client-name{font-family:var(--font-display);color:var(--accent);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;pointer-events:none;opacity:.7;flex-shrink:1;align-items:center;gap:8px;min-width:0;font-size:16px;font-weight:500;display:flex;overflow:hidden}.module-switcher{position:relative}.module-menu{top:calc(100% + var(--space-xs));width:220px;padding:var(--space-xs);z-index:1000;flex-direction:column;display:flex;position:absolute;left:0}.menu-header{font-size:var(--font-size-xs);text-transform:uppercase;color:var(--text-muted);padding:var(--space-sm);letter-spacing:.05em;font-weight:700}.menu-item{color:var(--text-secondary);padding:var(--space-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast);cursor:pointer;font-family:inherit;font-weight:500;font-size:inherit;text-align:left;background:0 0;border:none;width:100%;text-decoration:none;display:block}.menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.menu-item.active{color:var(--accent-light);background:#38bdf81a}.header-db-scope{color:var(--accent);background:var(--accent-subtle);border:1px solid var(--accent);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;margin-left:12px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.login-page{background:var(--bg-body);min-height:100dvh;padding:var(--space-lg);background-image:radial-gradient(circle at 50% 35%,#38bdf817 0%,#0000 45%),linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-position:50%,50%,50%;background-size:100% 100%,40px 40px,40px 40px;justify-content:center;align-items:center;display:flex}.login-card{width:100%;max-width:420px;padding:var(--space-2xl,40px) var(--space-xl);gap:var(--space-xl);-webkit-backdrop-filter:blur(16px);background:#0f172ab3;border:1px solid #ffffff0d;flex-direction:column;display:flex;box-shadow:0 25px 50px -12px #00000080}.login-header{text-align:center;flex-direction:column;align-items:center;gap:0;display:flex}.login-brand{letter-spacing:.04em;background:linear-gradient(115deg,#e0f2fe 0%,#7dd3fc 35%,#38bdf8 60%,#2bb198 100%);-webkit-text-fill-color:transparent;color:#0000;filter:drop-shadow(0 4px 18px #38bdf859);-webkit-background-clip:text;background-clip:text;margin:0;font-size:4.25rem;font-weight:800;line-height:1}.login-swoosh{width:220px;height:22px;margin-top:2px}.login-client-logo{margin-top:var(--space-md);display:inline-flex}.login-client-logo.plate{border-radius:10px;padding:8px 14px;box-shadow:0 6px 18px #00000059}.login-client-logo img{object-fit:contain;max-width:220px;height:30px;display:block}.login-subtitle{margin:var(--space-md) 0 0}.login-form .form-group{flex-direction:column;align-items:stretch;display:flex}.login-form .form-label{text-align:center}.login-form .form-input{text-align:center;width:100%}.login-form{gap:var(--space-lg);flex-direction:column;display:flex}.login-btn{margin-top:var(--space-md);justify-content:center;align-items:center;gap:var(--space-sm);width:100%;font-weight:600;display:flex}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper .form-input{flex:1;padding-left:40px;padding-right:40px}.password-toggle-btn{right:var(--space-sm);color:var(--text-secondary);cursor:pointer;padding:var(--space-xs);background:0 0;border:none;justify-content:center;align-items:center;transition:color .2s;display:flex;position:absolute}.password-toggle-btn:hover{color:var(--text-primary)}.login-link{margin-top:var(--space-xs);color:var(--text-secondary);font-size:var(--font-size-xs);cursor:pointer;background:0 0;border:none;align-self:center;align-items:center;gap:4px;padding:0;text-decoration:underline;display:inline-flex}.login-link:hover{color:var(--accent)}.login-link-center{align-self:center}.login-info{background:var(--accent-subtle);border:1px solid var(--accent);color:var(--text-primary);font-size:var(--font-size-sm);border-radius:6px;padding:10px 12px}.layout-with-sidebar{flex:1;width:100%;display:flex}.admin-page-layout{padding-top:var(--space-xl);padding-left:var(--space-2xl);padding-right:var(--space-2xl);padding-bottom:var(--space-2xl);width:100%;min-width:0}.admin-header{margin-bottom:var(--space-xl)}.admin-section{animation:fadeIn var(--transition-normal)}.section-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.error-banner{padding:var(--space-sm) var(--space-md);background:var(--color-danger-subtle);color:var(--color-danger);border-radius:var(--radius-sm);margin-bottom:var(--space-md);font-size:var(--font-size-sm);border:1px solid #f851494d}.success-banner{padding:var(--space-sm) var(--space-md);background:var(--color-success-subtle);color:var(--color-success);border-radius:var(--radius-sm);margin-bottom:var(--space-md);font-size:var(--font-size-sm);border:1px solid #3fb9504d}.admin-form{margin-bottom:var(--space-lg);animation:slideUp var(--transition-normal)}.form-row{gap:var(--space-md);margin-bottom:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.form-actions{gap:var(--space-sm);margin-top:var(--space-md);display:flex}.platforms-list{gap:var(--space-sm);flex-direction:column;display:flex}.platform-item{padding:var(--space-md);justify-content:space-between;align-items:center;display:flex}.platform-info{align-items:center;gap:var(--space-md);display:flex}.platform-name{font-weight:500}.platform-actions{gap:var(--space-xs);display:flex}.competencies-list{gap:var(--space-sm);flex-direction:column;display:flex}.competency-item{padding:var(--space-md)}.competency-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.competency-number{color:var(--text-muted);font-size:var(--font-size-sm);min-width:20px}.competency-name{flex:1;font-weight:500}.competency-desc{font-size:var(--font-size-sm);line-height:1.6}.competency-edit{margin-top:var(--space-sm)}.competency-edit-textarea{resize:vertical;width:100%;min-height:80px}.ob-list{margin-top:var(--space-sm);padding-left:var(--space-sm);border-left:2px solid var(--border-default);flex-direction:column;gap:2px;display:flex}.ob-list-editing{gap:var(--space-xs);margin-bottom:var(--space-sm)}.ob-item{align-items:baseline;gap:var(--space-sm);padding:3px var(--space-xs);font-size:var(--font-size-xs);border-radius:var(--radius-sm);transition:background var(--transition-fast);display:flex}.ob-item:hover{background:var(--bg-hover)}.ob-item-editing{align-items:center}.ob-id{font-family:var(--font-mono,monospace);color:var(--accent);min-width:56px;font-weight:600;font-size:var(--font-size-xs);flex-shrink:0}.ob-description{color:var(--text-secondary);line-height:1.4}.ob-edit-input{font-size:var(--font-size-xs);padding:4px var(--space-xs);flex:1}.matrix-empty,.matrix-info{text-align:center;padding:var(--space-2xl)}.matrix-empty p,.matrix-info p{margin-bottom:var(--space-md)}.upload-label{cursor:pointer}.matrix-preview{margin-top:var(--space-lg);animation:slideUp var(--transition-normal)}.matrix-preview h3{margin-bottom:var(--space-md)}.preview-table-wrapper{margin-bottom:var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--border-default);overflow-x:auto}.preview-table{border-collapse:collapse;width:100%;font-size:var(--font-size-xs)}.preview-table th,.preview-table td{padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-muted);white-space:nowrap;text-align:left}.preview-table th{background:var(--bg-elevated);color:var(--text-secondary);font-weight:600;position:sticky;top:0}.preview-table td{background:var(--bg-primary)}.loading{padding:var(--space-2xl);text-align:center;color:var(--text-secondary);animation:1.5s infinite pulse}@media (width<=640px){.form-row{grid-template-columns:1fr}.admin-tabs{flex-wrap:nowrap}.admin-tab{font-size:var(--font-size-xs);padding:var(--space-xs) var(--space-sm)}}.records-table-wrapper{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-card);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 var(--border-highlight), var(--shadow-sm);overflow-x:auto}.records-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm);min-width:1000px}.records-header-row{background:var(--bg-elevated)}.records-th{padding:var(--space-sm) var(--space-md);text-align:left;font-weight:600;font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-default);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color var(--transition-fast);z-index:2;background:var(--bg-elevated);position:sticky;top:0}.records-th:hover,.records-th.sorted{color:var(--accent)}.sort-icon{color:var(--accent);flex-shrink:0}.th-actions{cursor:default;text-align:center;width:56px}.cl-col-filter-dropdown{z-index:9999;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:200px;max-width:300px;max-height:360px;animation:fadeIn var(--transition-fast);flex-direction:column;display:flex;position:fixed;overflow:hidden;box-shadow:0 8px 32px #00000073}.cl-col-filter-list .col-filter-option,.cl-col-filter-dropdown .col-filter-option{text-align:left;width:100%;min-height:28px;color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;background:0 0;border:none;flex-shrink:0;padding:6px 10px;font-family:inherit;font-size:12px;line-height:1.4;display:block;overflow:hidden}.col-header-select{border:1px solid var(--border-default);width:100%;color:var(--text-primary);font-family:var(--font-family);cursor:pointer;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#00000040;border-radius:4px;outline:none;max-width:100%;margin-top:4px;padding:3px 6px;font-size:11px;display:block}.col-header-select:focus{border-color:var(--accent)}.records-row{transition:background var(--transition-fast)}.records-row:nth-child(2n){background:#161b2240}.records-row:hover{background:var(--bg-hover)}.records-td{padding:var(--space-sm) var(--space-md);color:var(--text-primary);border-bottom:1px solid var(--border-muted);white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.td-actions{text-align:center;width:56px;overflow:visible}.btn-download-pdf{min-width:30px;min-height:30px;padding:var(--space-xs)}.btn-download-pdf:hover{border-color:var(--accent);color:var(--accent)}.records-empty{padding:var(--space-2xl);text-align:center;color:var(--text-muted);font-style:italic}.platform-pill-bar{gap:var(--space-xs);margin-bottom:var(--space-md);padding:var(--space-sm) 0;flex-wrap:wrap;display:flex}.platform-pill{border:1px solid var(--border-default);background:var(--bg-card);color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border-radius:999px;align-items:center;padding:5px 14px;font-weight:500;display:inline-flex}.platform-pill:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.platform-pill-active{background:var(--accent);color:#fff;border-color:var(--accent)}.platform-pill-active:hover{background:var(--accent);color:#fff;opacity:.9}.platform-pills-cell{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.platform-pill-badge{background:var(--accent-subtle,#388bfd26);color:var(--accent,#58a6ff);font-size:var(--font-size-xs);white-space:nowrap;letter-spacing:.02em;border-radius:999px;align-items:center;padding:2px 10px;font-weight:500;display:inline-flex}.form-platform-selector{flex-direction:column;display:flex}.form-platform-pills{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.form-platform-pill{background:var(--accent-subtle,#388bfd26);color:var(--accent,#58a6ff);font-size:var(--font-size-xs);white-space:nowrap;animation:fadeIn var(--transition-fast);border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 12px;font-weight:500;display:inline-flex}.form-platform-pill-x{color:var(--text-muted);cursor:pointer;width:16px;height:16px;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.form-platform-pill-x:hover{background:var(--color-danger-subtle,#f8514933);color:var(--color-danger,#f85149)}.lib-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.lib-th-actions,.lib-td-actions{white-space:nowrap;text-align:center;width:1%}.lib-td-actions .btn{justify-content:center;align-items:center;margin-left:0;display:inline-flex}.lib-td-actions .actions-wrapper,.lib-td-actions{gap:4px}.sortable-th{cursor:pointer;transition:color var(--transition-fast);-webkit-user-select:none;user-select:none}.sortable-th:hover{color:var(--text-primary)}.th-content{align-items:center;gap:4px;display:inline-flex}.th-label{align-items:center;gap:2px;display:inline-flex}.th-label.clickable{cursor:pointer}.sort-indicator{color:var(--accent);flex-shrink:0;font-size:.7em}.sort-indicator.idle{color:var(--text-muted);opacity:0;transition:opacity var(--transition-fast)}.sortable-th:hover .sort-indicator.idle{opacity:1}.column-filter-wrapper{vertical-align:middle;align-items:center;margin-left:2px;display:inline-flex;position:relative}.column-filter-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);opacity:.35;background:0 0;border:none;justify-content:center;align-items:center;padding:2px;line-height:1;display:inline-flex}.column-filter-btn:hover{opacity:1;color:var(--text-primary);background:var(--bg-hover)}.column-filter-btn.active{opacity:1;color:var(--accent)}.column-filter-dropdown{z-index:9999;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:180px;max-width:min(440px,100vw - 16px);box-shadow:var(--shadow-lg);padding:var(--space-xs);animation:fadeIn var(--transition-fast);position:fixed}.column-filter-search{width:100%;margin-bottom:var(--space-xs);padding:4px var(--space-sm);font-size:var(--font-size-xs);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);outline:none}.column-filter-actions{gap:var(--space-xs);padding:var(--space-xs);border-bottom:1px solid var(--border-muted);margin-bottom:var(--space-xs);display:flex}.column-filter-list{flex-direction:column;gap:1px;max-height:220px;display:flex;overflow-y:auto}.column-filter-option{align-items:center;gap:var(--space-xs);padding:4px var(--space-sm);font-size:var(--font-size-xs);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;display:flex;overflow:hidden}.column-filter-option:hover{background:var(--bg-hover)}.column-filter-option input[type=checkbox]{accent-color:var(--accent);flex-shrink:0}.sortable-table th{position:relative}.col-resizer{cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:1;width:6px;height:100%;position:absolute;top:0;right:0}.col-resizer:after{content:"";border-left:1px solid var(--text-muted);border-right:1px solid var(--text-muted);opacity:.45;pointer-events:none;width:3px;height:12px;position:absolute;top:50%;right:1px;transform:translateY(-50%)}.col-resizer:hover,body.col-resizing .col-resizer:active{background:color-mix(in srgb, var(--accent) 35%, transparent)}.col-resizer:hover:after,body.col-resizing .col-resizer:active:after{border-color:var(--accent);opacity:1}body.col-resizing,body.col-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.empty-row{text-align:center;color:var(--text-muted);font-style:italic;padding:var(--space-2xl)!important}.clickable-row{cursor:pointer}.matrix-admin-section{width:100%;max-width:none}.matrix-info.card{text-align:left;padding:var(--space-sm) var(--space-md);margin-bottom:0}.matrix-info p{margin-bottom:0}.matrix-full-width{width:100%;margin-top:var(--space-sm)}.matrix-table-container{border-radius:var(--radius-sm);border:1px solid var(--border-default);background-color:var(--bg-card);max-height:calc(100vh - 170px);overflow:auto}.matrix-table.lib-table{border-collapse:separate;border-spacing:0;font-size:var(--font-size-xs);table-layout:auto;min-width:100%}.matrix-table.lib-table thead{position:static!important}.matrix-table.lib-table th{z-index:3;background:var(--bg-elevated);white-space:nowrap;padding:var(--space-xs) var(--space-sm);position:sticky;top:0}.matrix-table.lib-table th:not(.sticky-col){min-width:48px}.matrix-table.lib-table td{padding:4px var(--space-sm);white-space:nowrap;border-bottom:1px solid var(--border-muted)}.matrix-table.lib-table td:not(.sticky-col){text-align:center;min-width:48px}.matrix-table.lib-table tbody tr.band-alt td{background:var(--bg-secondary)}.matrix-table.lib-table tbody tr:hover td{background:var(--bg-hover)}.matrix-table.lib-table tbody tr.group-start td{border-top:3px solid var(--text-muted)}.sticky-col{z-index:2;background-color:var(--bg-primary);position:sticky!important}.matrix-table.lib-table tbody tr.band-alt td.sticky-col{background-color:var(--bg-secondary)}.matrix-table.lib-table tbody tr:hover td.sticky-col{background-color:var(--bg-hover)}th.sticky-col{z-index:10!important;background-color:var(--bg-elevated)!important;top:0!important}.sticky-col{text-overflow:ellipsis;overflow:hidden}.sticky-last{border-right:2px solid var(--border-default)!important}.ob-cell{text-align:center;font-weight:600;font-size:var(--font-size-xs)}.ob-val-R{color:var(--color-success);background-color:var(--color-success-subtle);border-radius:var(--radius-sm);padding:1px 4px;font-weight:700}.ob-val-C{color:var(--color-warning);background-color:var(--color-warning-subtle);border-radius:var(--radius-sm);padding:1px 4px;font-weight:700}.ob-val-I{color:#ef4444;border-radius:var(--radius-sm);background-color:#ef44441a;padding:1px 4px;font-weight:700}.matrix-table.lib-table th.ob-group-start,.matrix-table.lib-table td.ob-group-start{border-left:2px solid #6366f180!important}.ebt-tag{vertical-align:middle;background:#66ff992e;border:1px solid #34d39999;border-radius:6px;align-items:center;gap:2px;margin-left:6px;padding:1px 3px 1px 5px;display:inline-flex}.ebt-tag-k{letter-spacing:.4px;color:var(--color-success);margin-right:2px;font-size:9px;font-weight:800}.ebt-tag-c{color:#062d42;background:#6f9;border-radius:4px;justify-content:center;align-items:center;min-width:16px;height:16px;font-size:10px;font-weight:800;display:inline-flex}.crs-occ{font-variant-numeric:tabular-nums;margin-top:2px;font-size:10.5px;font-weight:700}.crs-occ.ok{color:var(--color-success)}.crs-occ.short{color:var(--color-danger)}.ebt-sel{flex-wrap:wrap;align-items:center;gap:6px;min-height:38px;display:flex}.ebt-sel-btn{border:1px solid var(--border-default);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.ebt-sel-btn b{border:1px solid var(--border-default);border-radius:4px;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;display:inline-flex}.ebt-sel-btn.on{color:var(--color-success);background:#66ff9926;border-color:#34d39999}.ebt-sel-btn.on b{color:#062d42;background:#6f9;border-color:#34d399}.ebt-sel-hint{color:var(--text-muted);margin-top:4px;font-size:11px}.apr-tag{background:#38bdf824;border-color:#0d5f8b80;flex-wrap:wrap;max-width:100%}.apr-tag .ebt-tag-k{color:var(--accent);align-items:center;display:inline-flex}.apr-tag-t,.apr-tag-a{white-space:nowrap;text-overflow:ellipsis;border-radius:4px;align-items:center;max-width:180px;height:16px;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex;overflow:hidden}.apr-tag-t{color:#fff;background:#0d5f8b}.apr-tag-a{color:#062d42;background:#38bdf8}.apr-sel-hint{color:var(--text-muted);margin-top:4px;font-size:11px}.apr-sel-empty{color:var(--text-muted);font-size:12px}.ebt-sel-btn.apr-on{color:var(--accent);background:#38bdf826;border-color:#0d5f8b99}.designer-page-layout{padding-top:var(--space-xl);padding-left:var(--space-lg);padding-right:var(--space-lg);padding-bottom:var(--space-2xl);width:100%;min-width:0}.designer-page-layout.designer-page-full{min-width:0;max-width:none}.designer-selectors{margin-top:var(--space-sm);margin-bottom:var(--space-sm);padding:var(--space-sm) var(--space-md)}.designer-selectors .form-row{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.session-editor{animation:fadeIn var(--transition-normal)}.session-meta{margin-bottom:var(--space-md);padding:var(--space-md)}.session-meta .form-row{gap:var(--space-md);grid-template-columns:1fr 1fr;align-items:start;display:grid}.session-meta .form-row .form-group+.form-group{margin-top:0}.session-meta .form-group+.form-group{margin-top:var(--space-sm)}.session-actions{gap:var(--space-md);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-default);display:flex}.course-editor{animation:fadeIn var(--transition-normal)}.course-meta{margin-bottom:var(--space-md);padding:var(--space-md)}.course-meta .form-row{gap:var(--space-md);align-items:flex-end;display:flex}.course-meta .form-row .form-group+.form-group{margin-top:0}.course-meta .form-group+.form-group{margin-top:var(--space-sm)}.course-actions{gap:var(--space-md);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-default);display:flex}.editor-top-actions{align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);display:flex}.editor-top-actions .btn{align-items:center;gap:6px;display:inline-flex}.exercise-list-section{margin-top:var(--space-md)}.exercise-list-section .section-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.exercise-list-actions{gap:var(--space-sm);display:flex}.exercise-list{gap:var(--space-xs);flex-direction:column;display:flex}.exercise-list-item{padding:var(--space-sm) var(--space-md);justify-content:space-between;align-items:center;display:flex}.exercise-list-info{align-items:center;gap:var(--space-md);display:flex}.exercise-list-num{background:var(--bg-elevated);width:24px;height:24px;font-size:var(--font-size-xs);color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.exercise-list-name{font-weight:500;font-size:var(--font-size-sm)}.exercise-list-btns{gap:var(--space-xs);display:flex}.add-exercise-list{gap:var(--space-xs);flex-direction:column;max-height:300px;display:flex;overflow-y:auto}.add-exercise-item{text-align:left;justify-content:flex-start}.exercise-editor{margin-top:var(--space-md);padding:var(--space-md);animation:slideUp var(--transition-normal)}.exercise-editor .form-row{gap:var(--space-md);display:flex}.exercise-editor .form-group{margin-bottom:var(--space-sm)}.exercise-editor-actions{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-default)}.selector-fieldset{border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin:var(--space-sm) 0}.selector-fieldset legend{color:var(--text-secondary);font-size:var(--font-size-sm);padding:0 var(--space-sm);font-weight:600}.cascading-row-container{width:100%}.cascading-row{gap:var(--space-md);width:100%;display:flex}.cascading-row .form-group{flex:1;min-width:0;margin-bottom:0}.selector-harmonized{white-space:normal;width:100%;min-height:38px;line-height:1.2;height:auto!important}.selector-harmonized option{white-space:normal}.relevance-section{margin-top:var(--space-md)}.relevance-section h4{margin-bottom:var(--space-sm);flex-wrap:wrap;align-items:center;display:flex}.relevance-table-wrapper{border-radius:var(--radius-sm);border:1px solid var(--border-default);max-height:500px;overflow:auto}.relevance-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.relevance-table th,.relevance-table td{padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-muted);text-align:left}.relevance-table th{background:var(--bg-elevated);color:var(--text-secondary);z-index:1;font-weight:600;position:sticky;top:0}.relevance-table td{background:var(--bg-primary)}.comp-cell{vertical-align:top;background:var(--bg-secondary)!important}.col-rel{min-width:70px;text-align:center!important}.ob-desc{max-width:300px;font-size:var(--font-size-xs);color:var(--text-secondary)}.cell-r{font-weight:700;color:var(--color-success)!important;text-align:center!important}.cell-c{font-weight:700;color:var(--color-warning)!important;text-align:center!important}.cell-i{color:var(--text-muted)!important;text-align:center!important}.cell-conflict{background:var(--color-danger-subtle)!important;text-align:center!important}.conflict-row,.conflict-row td{background:var(--color-danger-subtle)!important}.conflict-cell{align-items:center;gap:var(--space-xs);justify-content:center;display:flex}.conflict-cell>span{color:var(--color-danger);font-weight:700;font-size:var(--font-size-lg)}.conflict-btn{min-width:24px!important;min-height:24px!important;font-size:var(--font-size-xs)!important;padding:2px 6px!important}.col-total{background-color:var(--bg-hover)!important;border-left:2px solid var(--border-muted)!important}th.col-total{background-color:var(--bg-hover)!important}td.cell-forced{white-space:nowrap;font-weight:700;background-color:var(--color-purple-subtle)!important;color:var(--color-purple)!important;text-align:center!important}.guidances-section{margin-top:var(--space-lg)}.guidances-section .section-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.guidance-item{margin-bottom:var(--space-xs);padding:var(--space-sm)}.guidance-header{gap:var(--space-sm);align-items:center;display:flex}.guidance-header .form-input{flex:1}.guidance-scope{color:var(--text-secondary);white-space:nowrap;cursor:pointer;align-items:center;gap:4px;font-size:12px;display:inline-flex}.guidance-obs{margin-top:var(--space-xs)}.guidance-obs .form-label{margin-bottom:var(--space-xs);display:block}.guidance-ob-chips{flex-wrap:wrap;gap:4px;display:flex}.guidance-ob-chip{font-size:var(--font-size-xs);border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family);border-radius:999px;padding:2px 8px}.guidance-ob-chip:hover{border-color:var(--accent);color:var(--accent)}.guidance-ob-chip.selected{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent);font-weight:600}.guidance-ob-chip.taken{opacity:.3;cursor:not-allowed}.exercise-library,.course-library{animation:fadeIn var(--transition-normal);max-width:100%;margin:0 auto}.lib-filter-bar{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm)}.lib-filter-row{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.lib-search-wrapper{flex:1;min-width:180px;max-width:320px;position:relative}.lib-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.lib-search-wrapper--wide{max-width:560px}.lib-search-input{padding-left:32px!important}.lib-filter-select{min-width:140px;max-width:200px;height:34px;font-size:var(--font-size-sm)!important;padding:var(--space-xs) var(--space-sm)!important}.lib-itt-btn{white-space:nowrap;background:var(--color-purple);border-color:var(--color-purple);color:#fff;margin-left:auto;font-weight:600}.lib-itt-btn:hover{filter:brightness(1.1)}.lib-itt-btn--on{box-shadow:0 0 0 3px var(--color-purple-subtle), 0 0 0 4px var(--color-purple)}.lib-itt-tag{border-radius:var(--radius-sm);background:var(--color-purple-subtle);color:var(--color-purple);padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}.ex-itt-toggle{margin-left:var(--space-sm);border:1px solid var(--border-default);color:var(--text-secondary);vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.ex-itt-toggle input{accent-color:var(--color-purple);cursor:pointer;margin:0}.ex-itt-toggle--on{border-color:var(--color-purple);background:var(--color-purple-subtle);color:var(--color-purple)}.ex-itt-roles{vertical-align:middle;border:1px solid var(--color-purple);border-radius:999px;margin-left:6px;display:inline-flex;overflow:hidden}.ex-itt-role{color:var(--color-purple);cursor:pointer;background:0 0;border:none;padding:3px 10px;font-size:12px;font-weight:600}.ex-itt-role+.ex-itt-role{border-left:1px solid var(--color-purple)}.ex-itt-role.on{background:var(--color-purple);color:#fff}.lib-comp-chips{margin-top:var(--space-xs);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lib-comp-label{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap;align-items:center;gap:4px;font-weight:600;display:flex}.lib-comp-chip{font-size:var(--font-size-xs);font-weight:700;font-family:var(--font-family);border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);letter-spacing:.5px;border-radius:999px;padding:2px 10px}.lib-comp-chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.lib-comp-chip.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 1px var(--accent)}.session-library,.course-library{min-width:0;overflow:hidden}.lib-table-wrapper{border:1px solid var(--border-default);border-radius:var(--radius-sm);max-height:calc(100vh - 180px);overflow:hidden auto}.lib-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.lib-table thead{z-index:2;position:sticky;top:0}.lib-table th{background:var(--bg-elevated);color:var(--text-secondary);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;padding:var(--space-xs) var(--space-sm);border-bottom:2px solid var(--border-default);text-align:left;white-space:nowrap;-webkit-user-select:none;user-select:none}.lib-th-sortable{cursor:pointer;transition:color var(--transition-fast)}.lib-th-sortable:hover{color:var(--text-primary)}.lib-table-custom th{padding-right:12px;position:relative}.lib-table-wrapper.lib-table-scroll-x{overflow-x:auto}.lib-table-custom td{overflow:hidden}.lib-ex-name-row{align-items:center;gap:6px;min-width:0;display:flex}.lib-ex-name-row .lib-ex-name{min-width:0}.lib-ex-name-row .badge{flex-shrink:0}.lib-row-clickable{cursor:pointer}.lib-table-custom .lib-th-filler,.lib-table-custom .lib-cell-filler{padding:0}.lib-table-custom th.lib-th-actions,.lib-table-custom td.lib-cell-actions{z-index:2;position:sticky;right:0;box-shadow:-6px 0 8px -6px #00000073}.lib-table-custom td.lib-cell-actions{background:var(--bg-primary)}.lib-table-custom .lib-row:nth-child(2n) td.lib-cell-actions{background:var(--bg-secondary)}.lib-table-custom .lib-row:hover td.lib-cell-actions{background:var(--bg-hover)}.add-picker .lib-table-wrapper{background:var(--bg-secondary);max-height:320px;margin-top:4px}.add-picker .lib-table td{padding:4px var(--space-sm)}.add-picker .lib-row-clickable:hover td{background:var(--accent-subtle)}.col-filter-dropdown>*{flex-shrink:0}.col-filter-options{flex-direction:column;gap:1px;display:flex}.col-filter-options .col-filter-option{flex-shrink:0}.col-filter-search{width:100%;padding:4px var(--space-sm);font-size:var(--font-size-xs);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);outline:none;margin-bottom:4px}.col-filter-check{border:1px solid var(--border-default);vertical-align:-2px;border-radius:3px;justify-content:center;align-items:center;width:13px;height:13px;margin-right:6px;display:inline-flex}.col-filter-check.on{background:var(--accent);border-color:var(--accent);color:#fff}.col-filter-count{margin-left:2px;font-size:9px;font-weight:800;line-height:1}.lib-table td{padding:6px var(--space-sm);border-bottom:1px solid var(--border-muted);color:var(--text-primary);vertical-align:middle}.lib-th-platform,.lib-cell-platform{white-space:nowrap;width:170px;padding-left:var(--space-xs)!important;padding-right:var(--space-xs)!important}.lib-actions-row{flex-wrap:nowrap;justify-content:center;align-items:center;gap:4px;display:flex}.lib-actions-row .btn{margin:0!important}.sem-view{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:5px 12px;font-size:13px;display:flex}.sem-view:hover{background:var(--bg-hover)}.cex-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:6px 0;font-size:11px;font-weight:700}.cex-modes{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.cex-mode{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;text-align:left;transition:all var(--transition-fast);flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;display:flex}.cex-mode svg{color:var(--text-muted)}.cex-mode strong{font-size:13px}.cex-mode span{color:var(--text-secondary);font-size:11px;line-height:1.35}.cex-mode.active{border-color:var(--accent);background:var(--accent-subtle)}.cex-mode.active svg{color:var(--accent)}.cex-sessions{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);max-height:300px;overflow-y:auto}.cex-sessions.disabled{opacity:.45}.cex-session{border-bottom:1px solid var(--border-muted);cursor:pointer;align-items:center;gap:10px;padding:7px 12px;font-size:13px;display:flex}.cex-session:last-child{border-bottom:none}.cex-session:hover{background:var(--bg-hover)}.cex-num{background:var(--bg-elevated);min-width:22px;height:22px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.cex-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.lib-th-actions,.lib-cell-actions,.lib-td-actions{white-space:nowrap;text-align:center;width:150px}.lib-td-actions .btn{justify-content:center;align-items:center;min-width:26px;min-height:26px;margin:0 1px;padding:2px 6px;display:inline-flex}.lib-row{transition:background var(--transition-fast)}.lib-row:nth-child(2n) td{background:var(--bg-secondary)}.lib-row:hover td{background:var(--bg-hover)}.lib-th-name{width:22%}.lib-th-platform{width:170px}.lib-th-dur{width:50px;text-align:center!important}.lib-th-phase{width:18%}.lib-th-threat{width:20%}.lib-th-actions{width:150px;text-align:center!important}.lib-cell-name{font-weight:500}.lib-ex-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.lib-cell-platform{white-space:nowrap;overflow:hidden}.lib-platform-badge{text-overflow:ellipsis;vertical-align:middle;max-width:100%;display:inline-block;overflow:hidden;font-size:var(--font-size-xs)!important;padding:1px 6px!important}.lib-cell-dur{text-align:center;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.lib-cell-phase,.lib-cell-threat{color:var(--text-secondary);font-size:var(--font-size-xs);max-width:0}.lib-truncated-text{white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.lib-cell-actions .btn{margin:0 2px}.lib-empty{text-align:center;color:var(--text-muted);font-style:italic;padding:var(--space-xl)!important}.btn-xs{min-height:26px!important;font-size:var(--font-size-xs)!important;border-radius:var(--radius-sm)!important;padding:2px 8px!important}@media (width<=768px){.designer-selectors .form-row,.cascading-row{grid-template-columns:1fr}.exercise-editor .form-row{flex-direction:column}.lib-filter-row{flex-direction:column;align-items:stretch}.lib-search-wrapper,.lib-filter-select{max-width:100%}.lib-cell-actions{opacity:1}}.drag-row{cursor:default;transition:background var(--transition-fast), border-color var(--transition-fast)}.drag-row:active{opacity:.7}.drag-handle{color:var(--text-muted);cursor:grab;opacity:.4;transition:opacity var(--transition-fast), color var(--transition-fast);flex-shrink:0}.drag-row:hover .drag-handle{opacity:.8;color:var(--text-secondary)}.drag-handle:active{cursor:grabbing}.drag-over-top{box-shadow:inset 0 2px 0 0 var(--accent);background:var(--accent-subtle)!important}.drag-over-bottom{box-shadow:inset 0 -2px 0 0 var(--accent);background:var(--accent-subtle)!important}.add-picker{border:1px solid var(--border-default);border-radius:var(--radius-sm);overflow:hidden}.add-picker-summary{font-size:var(--font-size-xs);color:var(--accent);cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 10px;font-weight:600}.add-picker-summary:hover{background:var(--bg-hover)}.add-picker-list{border-top:1px solid var(--border-muted);max-height:240px;overflow-y:auto}.add-picker-item{cursor:pointer;border-bottom:1px solid var(--border-muted);transition:background var(--transition-fast);padding:6px 10px}.add-picker-item:last-child{border-bottom:none}.add-picker-item:hover{background:var(--bg-hover)}.add-picker-line1{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.add-picker-name{color:var(--text-primary);font-size:12px;font-weight:600}.add-picker-meta{color:var(--text-secondary);white-space:nowrap;margin-left:auto;font-size:11px}.add-picker-tag{color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-muted);white-space:nowrap;border-radius:3px;padding:0 4px;font-size:10px}.add-picker-tag-te{color:var(--color-warning);border-color:var(--color-warning);background:#f59e0b0f}.add-picker-tag-fp{color:#38bdf8;background:#38bdf814;border-color:#38bdf8}:root{--status-incomplete:#f59e0b;--status-complete:#22c55e;--status-validated:#a78bfa}.session-tabs{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);gap:2px;margin-left:auto;padding:2px;display:inline-flex}.session-tabs button{border-radius:var(--radius-sm);color:var(--text-secondary);font:inherit;font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;padding:5px 12px;font-weight:600;display:inline-flex}.session-tabs button:hover{color:var(--text-primary);background:var(--bg-hover)}.session-tabs button.active{background:var(--accent-subtle);color:var(--accent)}.exo-options{flex-direction:column;gap:8px;display:flex}.exo-option{color:var(--text-secondary);cursor:pointer;align-items:flex-start;gap:8px;font-size:13px;line-height:1.45;display:flex}.exo-option input{margin-top:3px}.exo-option svg{vertical-align:-2px}.exo-choice{align-items:center;gap:10px;margin-left:24px;font-size:12px;display:flex}.exo-choice-label{color:var(--text-muted)}.exo-seg{border:1px solid var(--border-default);border-radius:6px;display:inline-flex;overflow:hidden}.exo-seg button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 12px;font-family:inherit;font-size:12px}.exo-seg button+button{border-left:1px solid var(--border-default)}.exo-seg button.active{background:var(--accent-subtle);color:var(--accent);font-weight:600}.exo-extra-tasks{margin-top:var(--space-sm);gap:var(--space-xs);flex-direction:column;align-items:flex-start;display:flex}.exo-extra-chips{flex-wrap:wrap;gap:4px;display:flex}.exo-extra-chip{background:var(--accent-subtle);color:var(--text-primary);border-radius:10px;padding:2px 8px;font-size:12px}.guidance-threat-group{border-left:3px solid var(--border-default);margin-bottom:10px;padding-left:10px}.guidance-threat-title{margin:0;font-size:13px;font-weight:700}.seq-event{border-bottom:1px solid var(--border-muted);background:#7c5cc414;border-left:3px solid #7c5cc4;grid-template-columns:18px 18px 130px 1fr max-content;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:grid}.seq-event-reset,.seq-event-break{border-left-color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 8%, transparent)}.seq-event-icon{color:#7c5cc4}.seq-event-reset .seq-event-icon,.seq-event-break .seq-event-icon{color:var(--color-warning)}.seq-event-label{font-weight:700}.seq-event-detail{align-items:center;gap:6px;min-width:0;display:inline-flex;overflow:hidden}.seq-event .seq-event-min{text-align:right;flex-shrink:0;width:72px;height:26px;min-height:26px;padding:2px 6px;font-size:13px}.seq-event .seq-event-hint{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.seq-event .seq-event-assessed{flex-shrink:0;width:auto;height:26px;min-height:26px;margin-left:8px;padding:2px 24px 2px 8px;font-size:12px}.seq-event-set,.seq-event-x{padding:2px 6px;font-size:10px}.seq-event-add{margin-top:6px;position:relative}.seq-event-menu{z-index:30;border:1px solid var(--border-default);background:var(--bg-elevated);border-radius:8px;flex-direction:column;min-width:380px;margin-top:4px;padding:4px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #00000059}.seq-event-menu-item{color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;display:flex}.seq-event-menu-item:hover{background:var(--accent-subtle)}.seq-event-menu-hint{padding:4px 8px;font-size:11px}.cit-table th.lib-th-actions{width:92px}.cit-table .cit-th-select,.cit-table .cit-td-select{text-align:center;width:36px;padding-left:4px;padding-right:4px}.cit-table input[type=checkbox]{cursor:pointer;width:15px;height:15px;accent-color:var(--accent)}.cit-table .cit-row-selected td{background:var(--accent-subtle)!important}.cit-table .cit-ebt .ebt-tag{margin-left:0}.cit-table td .badge{text-overflow:ellipsis;vertical-align:middle;max-width:100%;overflow:hidden}.cit-table .lib-empty{text-align:center;color:var(--text-muted);padding:48px;font-style:italic}.cit-table .cit-th-lead,.cit-table .cit-td-lead{text-align:center;padding-left:4px;padding-right:4px}.lifecycle-row-selected td:not(.lib-cell-actions){background:var(--accent-subtle)!important}.lifecycle-card-selected{outline:2px solid var(--accent);background:var(--accent-subtle)}.ctp{min-width:0;display:inline-flex}.ctp-trigger{text-align:left;min-width:0;max-width:560px;font-family:inherit;font-size:var(--font-size-xs);color:var(--text-muted);border:1px dashed var(--border-default);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);background:0 0;flex-wrap:wrap;align-items:center;gap:4px;padding:3px 8px;display:inline-flex;overflow:hidden}.ctp-trigger:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.ctp-trigger.has-own{color:var(--accent);border-style:solid;border-color:#38bdf84d}.ctp-trigger:disabled{cursor:default}.ctp-chip{white-space:nowrap;text-overflow:ellipsis;background:#38bdf826;border-radius:3px;max-width:100%;padding:1px 6px;font-weight:600;overflow:hidden}.ctp-inherited{white-space:normal;font-style:italic}.ctp-dropdown{z-index:9999;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);width:360px;max-width:calc(100vw - 16px);box-shadow:var(--shadow-lg);padding:var(--space-xs);position:fixed}.ctp-search{width:100%;margin-bottom:var(--space-xs);padding:4px var(--space-sm);font-size:var(--font-size-xs);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);outline:none}.ctp-list{flex-direction:column;gap:1px;max-height:240px;display:flex;overflow-y:auto}.ctp-option{align-items:center;gap:var(--space-xs);padding:4px var(--space-sm);font-size:var(--font-size-xs);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;display:flex}.ctp-option:hover{background:var(--bg-hover)}.ctp-option input[type=checkbox]{accent-color:var(--accent);flex-shrink:0}.ctp-option-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ctp-option-meta{color:var(--text-muted);flex-shrink:0;font-size:10px}.ctp-none{padding:var(--space-sm);font-size:var(--font-size-xs);color:var(--text-muted)}.ctp-actions{padding-top:var(--space-xs);margin-top:var(--space-xs);border-top:1px solid var(--border-muted);justify-content:flex-end;display:flex}.rup-modal{gap:var(--space-sm);width:min(1600px,97vw);max-width:none;height:92vh;padding:var(--space-md) var(--space-lg);flex-direction:column;display:flex}.rup-header{align-items:center;gap:var(--space-md);display:flex}.rup-title{align-items:center;gap:8px;margin:0 auto 0 0;display:flex}.rup-title svg{color:var(--accent)}.rup-body{gap:var(--space-sm);flex-direction:column;flex:1;min-height:0;display:flex}.rup-controls{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.rup-export{margin-left:auto;position:relative}.rup-export-menu{z-index:20;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:10px;flex-direction:column;gap:6px;min-width:240px;padding:10px 12px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 28px #00000059}.rup-export-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:11px;font-weight:700}.rup-export-opt{color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;padding:3px 0;font-size:13px;display:flex}.rup-export-opt input{accent-color:var(--accent);width:15px;height:15px}.rup-export-opt .rup-seg-count{margin-left:auto}.rup-export-opt.all{border-bottom:1px solid var(--border-default);padding-bottom:6px;font-weight:600}.rup-export-hint{color:var(--text-muted);margin:2px 0 4px;font-size:11px}.rup-export-menu .btn{justify-content:center}.rup-seg{border:1px solid var(--border-default);border-radius:8px;display:inline-flex;overflow:hidden}.rup-seg button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:12px;display:inline-flex}.rup-seg button+button{border-left:1px solid var(--border-default)}.rup-seg button.active{background:var(--accent-subtle);color:var(--accent);font-weight:600}.rup-seg-count{background:var(--bg-hover);color:var(--text-secondary);border-radius:999px;padding:0 6px;font-size:10px}.rup-legend{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:11px;display:flex}.rup-legend span{align-items:center;gap:5px;display:inline-flex}.rup-legend-sep{background:var(--border-default);width:1px;height:14px}.rup-dot{width:12px;height:12px;box-shadow:0 0 0 1px var(--border-muted);background:#062d42;border-radius:50%;justify-content:center;align-items:center;font-style:normal;display:inline-flex}.rup-dot.se{background:#38bdf8}.rup-dot.s{color:#fff;box-shadow:none;background:#2bb198;font-size:8px;font-weight:800}.rup-swatch{border-radius:5px;width:18px;height:9px;display:inline-block}.rup-source{color:var(--text-muted);font-size:11.5px}.rup-warn{color:var(--color-warning);background:var(--color-warning-subtle);border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.rup-empty{padding:var(--space-xl);text-align:center;color:var(--text-muted)}.rup-chart{border:1px solid var(--border-default);background:var(--bg-card);border-radius:12px;flex:none;max-height:70%;padding:6px 4px;overflow:auto}.rup-svg{font-family:var(--font-body,inherit);display:block}.rup-band{fill-opacity:.09;pointer-events:none}.rup-band-line{stroke:var(--border-default);stroke-width:1px;stroke-dasharray:3 5}.rup-axis-label{font-size:12px;font-weight:700}.rup-axis{stroke:var(--text-muted);stroke-width:1.5px}.rup-arrow{fill:none;stroke:var(--accent);stroke-width:2.2px;stroke-linecap:round}.rup-arrow-head{fill:var(--accent)}.rup-link-flat{stroke:var(--text-muted);stroke-width:1.5px;stroke-dasharray:2 4;opacity:.7}.rup-transition{cursor:pointer}.rup-transition:hover .rup-arrow,.rup-transition.selected .rup-arrow{stroke-width:3px}.rup-pill rect{stroke:var(--bg-card);stroke-width:2.5px;paint-order:stroke}.rup-pill text{fill:#fff;pointer-events:none;letter-spacing:.01em;font-size:10px;font-weight:700}.rup-card{cursor:pointer}.rup-card>rect{filter:drop-shadow(0 2px 4px #00000038);stroke:#0000;stroke-width:2.5px;transition:stroke .12s}.rup-card:hover>rect,.rup-card.selected>rect{stroke:var(--accent)}.rup-card-zone{letter-spacing:.02em;font-size:10px;font-weight:800}.rup-card-empty{font-size:10px;font-style:italic}.rup-badge-s circle{fill:#2bb198;stroke:#fff;stroke-width:1.2px}.rup-badge-s text{fill:#fff;text-anchor:middle;font-size:8.5px;font-weight:800}.rup-bubble{fill:#062d42}.rup-bubble.se{fill:#38bdf8}.rup-bubble-text{fill:#fff;pointer-events:none;font-size:8px;font-weight:700}.rup-bubble-text.se{fill:#062d42}.rup-svg.compact .rup-bubble-text{font-size:7.3px}.rup-step-label{color:var(--text-primary);text-align:center;-webkit-line-clamp:2;cursor:pointer;-webkit-box-orient:vertical;font-size:11px;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.rup-step-label.selected{color:var(--accent)}.rup-bracket{fill:none;stroke:var(--accent);stroke-width:1.4px}.rup-bracket.outer{stroke:var(--text-muted)}.rup-bracket-label{color:var(--accent);text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;font-weight:700;overflow:hidden}.rup-bracket-label.outer{color:var(--text-secondary)}.rup-list{border:1px solid var(--border-default);border-radius:12px;flex:1;min-height:110px;overflow-y:auto}.rup-list-title{z-index:1;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--bg-elevated);border-bottom:1px solid var(--border-default);margin:0;padding:8px 12px;font-size:12px;position:sticky;top:0}.rup-row{border-bottom:1px solid var(--border-default);cursor:pointer;grid-template-columns:minmax(220px,300px) 1fr;gap:12px;padding:7px 12px;font-size:12px;display:grid}.rup-row:hover{background:var(--bg-hover)}.rup-row.selected{background:var(--accent-subtle)}.rup-row-head{color:var(--text-secondary);flex-direction:column;gap:3px;display:flex}.rup-row-head b{color:var(--text-primary)}.rup-zone-note{color:var(--text-muted);font-size:10.5px;font-weight:700}.rup-zone-note.up{color:var(--color-warning)}.rup-zone-note.down{color:var(--color-success)}.rup-row-body{color:var(--text-primary);flex-direction:column;justify-content:center;gap:4px;display:flex}.rup-change{align-items:center;gap:8px;display:flex}.rup-tag{text-align:center;color:#fff;border-radius:999px;flex-shrink:0;min-width:70px;padding:2px 8px;font-size:10px;font-weight:700}.apx-page{gap:var(--space-md);flex-direction:column;display:flex}.apx-head{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.apx-head h2{align-items:center;gap:10px;margin:0;display:flex}.apx-head-actions{gap:var(--space-sm);flex-wrap:wrap;align-items:center;margin-left:auto;display:flex}.apx-intro{color:var(--text-secondary);margin:0;font-size:12.5px;line-height:1.5}.apx-empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding:28px;display:flex}.apx-summary{flex-wrap:wrap;gap:8px;display:flex}.apx-tile{border:1px solid var(--border-default);background:var(--bg-card);cursor:pointer;color:var(--text-secondary);border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:12.5px;display:inline-flex}.apx-tile:hover{border-color:var(--accent)}.apx-tile.active{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent)}.apx-tile .apx-n{font-variant-numeric:tabular-nums;font-weight:700}.apx-chip{white-space:nowrap;border:1px solid #0000001f;border-radius:5px;justify-content:center;align-items:center;height:20px;padding:0 7px;font-size:11px;font-weight:700;display:inline-flex}.apx-chip-freq{min-width:22px;padding:0 5px}.apx-phase{border:1px solid var(--border-default);height:18px;color:var(--text-muted);cursor:default;background:0 0;border-radius:4px;align-items:center;padding:0 6px;font-size:10px;font-weight:700;display:inline-flex}.apx-phase.on{color:var(--accent);border-color:var(--accent);background:var(--accent-subtle)}.apx-phase.editable{cursor:pointer}.apx-phases{flex-wrap:wrap;gap:3px;display:inline-flex}.apx-table-wrap{border:1px solid var(--border-default);border-radius:var(--radius-md);max-height:calc(100vh - 290px);overflow:auto}.apx-table{border-collapse:collapse;width:100%;font-size:13px}.apx-table th{z-index:2;background:var(--bg-elevated);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;border-bottom:2px solid var(--border-default);text-align:left;white-space:nowrap;padding:8px;font-size:11px;font-weight:700;position:sticky;top:0}.apx-table td{border-bottom:1px solid var(--border-muted);vertical-align:middle;padding:5px 8px}.apx-table tbody tr:hover td{background:var(--bg-hover)}.apx-table td.apx-order{white-space:nowrap;width:60px;color:var(--text-muted);font-variant-numeric:tabular-nums}.apx-table td.apx-actions{white-space:nowrap;text-align:right;width:90px}.apx-table .form-input,.apx-table .form-select{height:28px;padding:2px 6px;font-size:12px}.apx-table .form-textarea{min-height:28px;padding:3px 6px;font-size:12px}.apx-edit-row td{background:var(--accent-subtle)!important}.apx-name{font-weight:600}.apx-notes{color:var(--text-secondary);white-space:pre-line;font-size:12px}.apx-usage{color:var(--text-muted);white-space:nowrap;font-size:11px}.apx-usage b{color:var(--text-secondary)}.apx-table .btn-xs{min-height:22px!important;padding:1px 6px!important}.apx-move{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;line-height:1}.apx-move:hover{color:var(--accent)}.apx-move:disabled{opacity:.3;cursor:default}.apx-aircraft{flex-wrap:wrap;gap:3px;display:inline-flex}.apx-aircraft button{border:1px solid var(--border-default);height:18px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:0 6px;font-size:10px;font-weight:700}.apx-aircraft button.on{color:var(--accent);border-color:var(--accent);background:var(--accent-subtle)}.apx-defs{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.apx-defs h4{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:0 0 6px;font-size:11px}.apx-def{border-bottom:1px solid var(--border-muted);align-items:flex-start;gap:10px;padding:7px 0;font-size:12.5px;line-height:1.45;display:flex}.apx-def:last-child{border-bottom:none}.apx-def strong{color:var(--text-primary)}.apx-def p{color:var(--text-secondary);margin:2px 0 0}@media (width<=1000px){.apx-defs{grid-template-columns:1fr}}.cat-tab{gap:var(--space-sm);flex-direction:column;display:flex}.cat-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cat-head-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.cat-levels{border:1px solid var(--border-default);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.cat-levels button{height:24px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:0 10px;font-size:12px;font-weight:600}.cat-levels button.active{background:var(--accent-subtle);color:var(--accent)}.cat-toggle{color:var(--text-secondary);cursor:pointer;align-items:center;gap:5px;font-size:12px;display:inline-flex}.cat-spin{color:var(--text-muted);animation:1s linear infinite cat-spin}@keyframes cat-spin{to{transform:rotate(360deg)}}.cat-table-wrap{border:1px solid var(--border-default);border-radius:var(--radius-md);max-height:calc(100vh - 320px);overflow:auto}.cat-table{border-collapse:collapse;min-width:100%;font-size:12.5px}.cat-table th{z-index:2;background:var(--bg-elevated);color:var(--text-secondary);border-bottom:2px solid var(--border-default);text-align:center;vertical-align:top;min-width:76px;padding:6px 8px;font-size:11px;font-weight:700;position:sticky;top:0}.cat-table th.cat-label,.cat-table td.cat-label{text-align:left;z-index:1;background:var(--bg-card);width:320px;min-width:240px;position:sticky;left:0}.cat-table td.cat-cell,.cat-table th:not(.cat-label){width:110px}.cat-table th.cat-label{z-index:3;background:var(--bg-elevated)}.cat-table th.cat-total,.cat-table td.cat-cell.bold:last-child{background:var(--accent-subtle)}.cat-step{white-space:nowrap;text-overflow:ellipsis;max-width:140px;margin:0 auto;display:block;overflow:hidden}.cat-parent{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:140px;margin:0 auto;font-size:10px;font-weight:500;display:block;overflow:hidden}.cat-table td{border-bottom:1px solid var(--border-muted);vertical-align:middle;padding:4px 8px}.cat-row-group td{background:var(--bg-secondary);font-weight:700}.cat-row-group td.cat-label{background:var(--bg-secondary)}.cat-label-in{align-items:center;gap:8px;display:inline-flex}.cat-row-type td.cat-label{padding-left:22px}.cat-cell{text-align:center;font-variant-numeric:tabular-nums}.cat-cell .cat-n{color:var(--text-primary);font-weight:700;display:block}.cat-cell.empty .cat-n{color:var(--text-muted);opacity:.5;font-weight:400}.cat-cell .cat-seats{color:var(--text-muted);white-space:nowrap;font-size:9.5px;display:block}.cat-missing{color:var(--color-danger);margin-left:6px;font-size:10px;font-style:italic}.cat-legend{color:var(--text-muted);margin:0;font-size:11.5px;line-height:1.45}.cat-reqs{margin-top:var(--space-sm)}.cat-reqs-title{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:700}.cat-req-table th,.cat-req-table td{text-align:left;position:static}.cat-req-table td.cat-c,.cat-req-table th.cat-c{text-align:center}.acbta-modal{background:var(--bg-card);width:min(1600px,97vw);max-width:none;height:92vh;padding:var(--space-lg);gap:var(--space-md);flex-direction:column;display:flex;overflow:hidden}.acbta-header{align-items:center;gap:var(--space-md);display:flex}.acbta-title{white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:8px;min-width:0;margin:0;display:flex;overflow:hidden}.acbta-count{font-size:var(--font-size-xs);white-space:nowrap}.acbta-tabs{border:1px solid var(--border-default);border-radius:8px;display:inline-flex;overflow:hidden}.acbta-tabs button{color:var(--text-secondary);font-size:var(--font-size-xs);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-weight:600;display:inline-flex}.acbta-tabs button+button{border-left:1px solid var(--border-default)}.acbta-tabs button.active{background:var(--accent-subtle);color:var(--accent)}.acbta-body{gap:var(--space-md);flex:1;grid-template-columns:250px 1fr;min-height:0;display:grid}.acbta-nav{border-right:1px solid var(--border-default);padding-right:var(--space-sm);overflow-y:auto}.acbta-nav-milestone,.acbta-nav-module{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;width:100%;font-family:inherit;display:block}.acbta-nav-milestone{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin:10px 0 4px;padding:3px 6px;font-size:11px;font-weight:700}.acbta-nav-module{color:var(--text-secondary);margin:6px 0 2px;padding:3px 6px 3px 10px;font-size:12px;font-weight:600}.acbta-nav-milestone:hover,.acbta-nav-module:hover{background:var(--bg-hover)}.acbta-nav-milestone.active,.acbta-nav-module.active{background:var(--accent-subtle)}.acbta-nav-module.active{color:var(--accent)}.acbta-nav-event{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:5px 8px 5px 14px;font-family:inherit;font-size:12px;display:flex}.acbta-nav-event:hover{background:var(--bg-hover)}.acbta-nav-event.active{background:var(--accent-subtle);color:var(--accent);font-weight:600}.acbta-dot{border:1px solid var(--border-muted);border-radius:50%;flex-shrink:0;width:7px;height:7px}.acbta-dot.on{background:var(--color-success);border-color:var(--color-success)}.acbta-editor{gap:var(--space-md);flex-direction:column;padding-right:4px;display:flex;overflow-y:auto}.acbta-editor-head{justify-content:space-between;align-items:flex-end;gap:var(--space-md);flex-wrap:wrap;display:flex}.acbta-path{color:var(--text-muted);font-size:11px}.acbta-event-title{font-size:var(--font-size-lg);margin:2px 0 0}.acbta-head-actions{gap:var(--space-sm);align-items:center;display:flex}.acbta-copy{color:var(--text-secondary);align-items:center;gap:6px;display:inline-flex}.acbta-copy .form-select{font-size:var(--font-size-xs);max-width:240px;padding:4px 8px}.acbta-section{border:1px solid var(--border-default);background:var(--bg-secondary);border-radius:10px;padding:12px 14px}.acbta-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 10px;font-size:12px;font-weight:700}.acbta-section-title .text-muted{text-transform:none;letter-spacing:0;font-weight:400}.acbta-empty{color:var(--text-muted);margin:0;font-size:12px}.acbta-comp-grid{columns:2 460px;column-gap:16px}.acbta-comp-grid>.acbta-comp-row{break-inside:avoid;margin-bottom:4px}.acbta-comp-row{border-radius:6px;align-items:center;gap:10px;padding:3px 6px;display:flex}.acbta-comp-row.ta{background:#4299e114}.acbta-comp-row.tase{background:#f59e0b1a}.acbta-comp-row.na{background:#94a3b814}.acbta-comp-row.na .acbta-trigram,.acbta-comp-row.na .acbta-comp-name{opacity:.6}.acbta-trigram{flex-shrink:0;width:42px;font-family:monospace;font-size:12px;font-weight:700}.acbta-comp-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.acbta-seg{border:1px solid var(--border-default);border-radius:6px;flex-shrink:0;display:inline-flex;overflow:hidden}.acbta-seg button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:3px 9px;font-family:inherit;font-size:11px}.acbta-seg button+button{border-left:1px solid var(--border-default)}.acbta-seg button.active{color:var(--text-primary);background:var(--bg-hover);font-weight:600}.acbta-seg button.active.ta{background:var(--accent-subtle);color:var(--accent)}.acbta-seg button.active.tase{color:#f59e0b;background:#f59e0b2e}.acbta-seg button.active.na{color:var(--text-primary);background:#94a3b84d;font-weight:700}.acbta-obs{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:10px 16px;display:grid}.acbta-ob-group-title{color:#f59e0b;margin-bottom:4px;font-size:12px;font-weight:700}.acbta-ob{cursor:pointer;border-radius:6px;align-items:flex-start;gap:8px;padding:3px 6px;font-size:12px;display:flex}.acbta-ob:hover{background:var(--bg-hover)}.acbta-ob.on{background:#ef44441a}.acbta-ob input{accent-color:var(--color-danger);cursor:pointer;margin-top:2px}.acbta-ob-id{white-space:nowrap;font-family:monospace;font-weight:700}.acbta-ob-desc{color:var(--text-secondary)}.acbta-pills{flex-wrap:wrap;gap:6px;display:flex}.acbta-pill{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:4px 12px;font-family:inherit;font-size:12px}.acbta-pill.active{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent);font-weight:600}.acbta-pill.stale,.acbta-pill.stale.active{border-color:var(--color-warning);color:var(--color-warning);background:var(--color-warning-subtle)}.acbta-pill.coloured{align-items:center;gap:6px;display:inline-flex}.acbta-pill-dot{background:var(--pill-color);border-radius:50%;width:8px;height:8px}.acbta-pill.coloured:hover{border-color:var(--pill-color)}.acbta-pill.coloured.active{border-color:var(--pill-color);color:var(--pill-color);background:color-mix(in srgb, var(--pill-color) 18%, transparent)}.acbta-support-tag{color:var(--pill-color);background:color-mix(in srgb, var(--pill-color) 18%, transparent);border:1px solid var(--pill-color);border-radius:999px;padding:2px 10px;font-weight:600;display:inline-block}.acbta-cond-grid{grid-template-columns:230px 1fr;align-items:center;gap:10px 14px;display:grid}.acbta-cond-label{color:var(--text-secondary);font-size:12px;font-weight:600}.acbta-zone .form-select{width:150px;padding:4px 8px;font-size:12px}.acbta-zone{align-items:center;gap:8px;display:flex}.acbta-cond-label-top{align-self:start;padding-top:6px}.acbta-ctx{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.acbta-ctx-table{border-collapse:separate;border-spacing:3px}.acbta-ctx-axis{letter-spacing:.06em;color:var(--text-muted);font-size:9px;font-weight:700}.acbta-ctx-axis-o{width:14px;padding:0}.acbta-ctx-axis-o span{writing-mode:vertical-rl;white-space:nowrap;transform:rotate(180deg)}.acbta-ctx-axis-e{text-align:center;padding-top:2px}.acbta-ctx-level{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:11px;font-weight:600}.acbta-ctx-level:hover{color:var(--text-primary)}.acbta-ctx-level-o{text-align:right;padding-right:6px}.acbta-ctx-level-e{text-align:center}.acbta-ctx-td{padding:0}.acbta-ctx-cell{border:1px dashed var(--border-default);width:44px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:5px;padding:0;font-size:11px;font-weight:700}.acbta-ctx-cell:hover:not(:disabled){border-color:var(--zone-bg);color:var(--text-primary)}.acbta-ctx-cell.on{background:var(--zone-bg);color:var(--zone-fg);border:1px solid #0000}.acbta-ctx-cell.on:hover{box-shadow:inset 0 0 0 2px #ffffff8c}.acbta-ctx-cell.over{opacity:.35;cursor:not-allowed}.acbta-ctx-cell.over.on{opacity:1;cursor:pointer;box-shadow:0 0 0 2px var(--color-warning)}.acbta-ctx-side{flex-direction:column;gap:6px;max-width:260px;padding-top:4px;font-size:12px;display:flex}.acbta-ctx-clear{align-self:flex-start;align-items:center;gap:4px;display:inline-flex}.acbta-zone-chip{color:#062d42;white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.acbta-hint{font-size:11px}.acbta-warn{color:var(--color-warning);background:var(--color-warning-subtle);border-radius:6px;grid-column:1/-1;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.acbta-env{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:8px;display:grid}.acbta-env .form-select{padding:4px 8px;font-size:12px}.acbta-env-tags{flex-wrap:wrap;grid-column:2/-1;align-items:center;gap:4px;display:flex}.acbta-tag{background:var(--accent-subtle);color:var(--accent);border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 8px;font-size:11px;font-weight:600;display:inline-flex}.acbta-tag button{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:1px;display:inline-flex}.acbta-tag button:hover{opacity:1}.acbta-tag.stale{background:var(--color-warning-subtle);color:var(--color-warning)}.acbta-assess-row{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.acbta-seg-lg button{padding:5px 14px;font-size:12px}.acbta-seg button.active.formative{background:var(--accent-subtle);color:var(--accent)}.acbta-seg button.active.summative{background:var(--color-purple-subtle);color:var(--color-purple)}.acbta-outcome{color:var(--text-secondary);font-size:12px}.acbta-outcome b{color:var(--color-purple);letter-spacing:.05em}.acbta-howwell{flex-direction:column;gap:4px;display:flex}.acbta-howwell-row{border-radius:6px;align-items:center;gap:10px;padding:3px 6px;display:flex}.acbta-howwell-row .acbta-comp-name{flex:0 0 300px}.acbta-howwell-row.ta{background:#4299e114}.acbta-howwell-row.tase{background:#f59e0b1a}.acbta-howwell-all{border-bottom:1px dashed var(--border-default);border-radius:0;margin-bottom:2px;padding-bottom:6px}.acbta-howwell .acbta-pill{padding:2px 10px;font-size:11px}.acbta-emph-badge{color:#f59e0b;border:1px solid #f59e0b80;border-radius:4px;margin-left:6px;padding:0 3px;font-size:9px;font-weight:700}.acbta-nature{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.acbta-nature-field{flex-direction:column;gap:3px;display:flex}.acbta-nature-label{color:var(--text-muted);font-size:11px}.acbta-nature .form-select{padding:4px 8px;font-size:12px}.acbta-nature .form-select.acbta-stale{border-color:var(--color-warning);color:var(--color-warning)}.acbta-matrix-wrap{border:1px solid var(--border-default);border-radius:8px;flex:1;min-height:0;overflow:auto}.acbta-matrix{border-collapse:separate;border-spacing:0;min-width:100%;font-size:12px}.acbta-matrix th,.acbta-matrix td{border-right:1px solid var(--border-default);border-bottom:1px solid var(--border-default);vertical-align:top;padding:6px 8px}.acbta-matrix thead th{background:var(--bg-secondary);z-index:2;text-align:center;white-space:nowrap;position:sticky}.acbta-matrix thead tr:first-child th{top:0}.acbta-matrix thead tr:nth-child(2) th{top:29px}.acbta-matrix thead tr:nth-child(3) th{top:58px}.acbta-mx-milestone{color:#fff;font-weight:700;background:#4a78b5!important}.acbta-mx-module{font-weight:600}.acbta-mx-event{color:var(--accent);cursor:pointer}.acbta-mx-event:hover{text-decoration:underline}.acbta-matrix-corner{min-width:200px;left:0;z-index:3!important}.acbta-mx-label{z-index:1;background:var(--bg-secondary);text-align:left;color:var(--text-secondary);white-space:nowrap;font-weight:600;position:sticky;left:0}.acbta-matrix td{cursor:pointer;text-align:center;min-width:110px}.acbta-matrix td:hover{background:var(--bg-hover)}.acbta-matrix td.acbta-mx-formative{color:var(--accent);font-size:11px;font-weight:600}.acbta-matrix td.acbta-mx-summative{color:var(--color-purple);background:var(--color-purple-subtle);font-size:11px;font-weight:700}.acbta-mx-outcome{color:var(--color-purple);margin-bottom:2px;font-weight:700}.acbta-footer{justify-content:flex-end;align-items:center;gap:var(--space-sm);display:flex}.acbta-footer .text-muted{font-size:var(--font-size-xs);flex:1}.acbta-chip{border:1px solid var(--border-default);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-family:inherit;font-size:11px;display:inline-flex}.acbta-chip.on{border-color:var(--color-success);color:var(--color-success);background:var(--color-success-subtle)}.acbta-desc-input{resize:vertical;width:100%;min-height:64px;font-family:inherit;font-size:13px;line-height:1.45}.acbta-node-title{align-items:center;gap:8px;display:flex}.acbta-node-title svg{color:var(--accent)}.acbta-node-children{flex-direction:column;gap:4px;display:flex}.acbta-node-child{text-align:left;border:1px solid var(--border-default);background:var(--bg-card);width:100%;color:var(--text-primary);cursor:pointer;border-radius:6px;align-items:baseline;gap:8px;padding:6px 10px;font-family:inherit;font-size:12px;display:flex}.acbta-node-child:hover{border-color:var(--accent)}.acbta-node-child .acbta-dot{align-self:center}.acbta-node-child-name{flex-shrink:0;font-weight:600}.acbta-node-child-desc{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.acbta-rampup{min-height:0;margin-top:var(--space-sm);flex-direction:column;flex:1;display:flex}.acbta-rampup .rup-chart{max-height:76%}.acbta-rampup .rup-list{min-height:90px}.acbta-mx-group{z-index:2;color:#fff;width:34px;min-width:34px;position:sticky;left:0;text-align:center!important;vertical-align:middle!important;background:#4a78b5!important;padding:6px 4px!important}.acbta-mx-group span{writing-mode:vertical-rl;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700;display:inline-block;transform:rotate(180deg)}.acbta-mx-group-start>th,.acbta-mx-group-start>td{border-top:2px solid #4a78b5!important}.acbta-mx-label.in-group{left:34px}.acbta-mx-sub-start>th:not(.acbta-mx-group),.acbta-mx-sub-start>td{border-top:2px solid #4a78b5!important}.acbta-matrix thead tr:nth-child(3) th,.acbta-matrix-corner{border-bottom:3px solid #4a78b5!important}.acbta-matrix .acbta-mx-mod-end{border-right:2px solid #8fa9cf!important}.acbta-matrix .acbta-mx-ms-end{border-right:4px solid #4a78b5!important}.acbta-mx-lvls{text-align:left;flex-direction:column;gap:2px;display:inline-flex}.acbta-mx-lvl{white-space:nowrap;align-items:baseline;gap:6px;display:flex}.acbta-mx-lvl b{min-width:30px;color:var(--text-primary);font-weight:700}.acbta-mx-lvl span{color:var(--text-secondary)}.acbta-modal .export-menu-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:8px 12px 2px;font-size:11px;font-weight:700}.acbta-export-rampup{border-top:1px solid var(--border-default);flex-direction:column;gap:6px;margin-top:4px;padding:10px 12px 8px;display:flex}.acbta-export-rampup .rup-export-hint{margin:-4px 0 2px}.acbta-export-rampup .btn{justify-content:center}.acbta-approaches{min-height:0;padding:var(--space-md);flex:1;overflow:auto}.ccx-page{gap:var(--space-md);flex-direction:column;display:flex}.ccx-intro{font-size:var(--font-size-sm);color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;line-height:1.5;display:flex}.ccx-intro svg{color:var(--accent);flex-shrink:0;margin-top:2px}.ccx-empty{align-items:center;gap:var(--space-md);flex-wrap:wrap;padding:18px;display:flex}.ccx-toolbar{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.ccx-count{font-size:var(--font-size-sm);color:var(--text-secondary);align-items:center;gap:8px;font-weight:600;display:inline-flex}.ccx-count .form-input{width:70px;padding:4px 8px}.ccx-summary{font-size:var(--font-size-xs);color:var(--text-muted)}.ccx-actions{gap:var(--space-sm);margin-left:auto;display:flex}.ccx-warn{font-size:var(--font-size-xs);color:var(--color-warning);background:var(--color-warning-subtle);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.ccx-table-wrap{padding:var(--space-sm) 0;overflow-x:auto}.ccx-table{border-collapse:separate;border-spacing:3px;margin:0 auto}.ccx-axis{background:var(--bg-secondary);color:var(--text-primary);letter-spacing:.06em;text-align:center;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:800}.ccx-axis-o{width:70px}.ccx-axis-o span{writing-mode:vertical-rl;white-space:nowrap;transform:rotate(180deg)}.ccx-axis-e{height:46px}.ccx-level{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:0}.ccx-level-o{width:130px}.ccx-level-e{width:110px}.ccx-name{width:100%;color:var(--text-primary);text-align:center;background:0 0;border:none;border-radius:8px;outline:none;padding:14px 6px;font-family:inherit;font-size:13px;font-weight:700}.ccx-name:focus{background:var(--bg-hover)}.ccx-name:disabled{color:var(--text-primary)}.ccx-blank{background:0 0}.ccx-cell{text-align:center;border-radius:8px;width:110px;height:56px;padding:0;font-size:13px;font-weight:800;position:relative}.ccx-cell select{appearance:none;text-align:center;text-align-last:center;cursor:pointer;background:0 0;border:none;outline:none;width:100%;height:100%;padding:0 6px;font-family:inherit;font-size:13px;font-weight:800}.ccx-cell select option{color:var(--text-primary);background:var(--bg-card);font-weight:400}.ccx-cell:hover{box-shadow:inset 0 0 0 2px #ffffff8c}.ccx-cell.changed:after{content:"";background:#062d42;border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:6px;box-shadow:0 0 0 2px #fffc}.ccx-maps{gap:var(--space-sm);flex-direction:column;display:flex}.ccx-maps-head{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.ccx-maps-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ccx-map{min-width:0;padding:12px 14px}.ccx-map h4{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:0 0 10px;font-size:12px}.ccx-map-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px}.ccx-map-col-threat{width:128px}.ccx-map-table th,.ccx-map-table td{padding:0}.ccx-map-corner{vertical-align:bottom;text-align:left;border-bottom:1px solid var(--border-default);padding:0 8px 7px 0!important}.ccx-map-corner span{text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);font-size:10.5px;font-weight:700}.ccx-map-band{background:var(--bg-hover);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);text-align:center;border-radius:6px 6px 0 0;font-size:10.5px;font-weight:700;padding:5px 6px!important}.ccx-map-level{background:var(--bg-hover);border-bottom:1px solid var(--border-default);color:var(--text-primary);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:700;overflow:hidden;padding:6px 2px!important}.ccx-map-threat{text-align:left;white-space:nowrap;border-bottom:1px solid var(--border-muted);font-weight:700;padding:7px 8px 7px 0!important}.ccx-map-threat small{color:var(--text-muted);font-size:10.5px;font-weight:400;display:block}.ccx-map-cell{text-align:center;border-bottom:1px solid var(--border-muted);border-left:1px dashed var(--border-muted)}.ccx-map-table tbody tr:hover .ccx-map-threat,.ccx-map-table tbody tr:hover .ccx-map-cell{background:var(--bg-hover)}.ccx-map-tick{border:1.5px solid var(--border-default);color:#fff;cursor:pointer;vertical-align:middle;background:0 0;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.ccx-map-tick:hover:not(:disabled){border-color:var(--accent)}.ccx-map-tick.on{border:1.5px dashed var(--accent);color:var(--accent);background:0 0}.ccx-map-tick.used{background:var(--accent);border-color:var(--accent);color:#fff}.ccx-map-tick.locked{cursor:not-allowed}.ccx-map-tick:disabled:not(.used):not(.on){opacity:.5;cursor:default}.ccx-map-legend{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:11px;display:flex}.ccx-map-legend .ccx-map-tick{cursor:default;border-radius:4px;width:16px;height:16px;margin-left:8px}.ccx-map-legend .ccx-map-tick:first-child{margin-left:0}.ccx-rule{color:var(--text-secondary);padding:12px 16px;font-size:12.5px;line-height:1.5}.ccx-rule h4{color:var(--text-primary);align-items:center;gap:6px;margin:0 0 6px;font-size:13px;display:flex}.ccx-rule ol{margin:0 0 8px;padding-left:20px}.ccx-rule-map{font-size:12px}@media (width<=1000px){.ccx-maps-grid{grid-template-columns:1fr}}.gs-page{gap:var(--space-md);flex-direction:column;display:flex}.gs-intro{font-size:var(--font-size-sm);color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;line-height:1.5;display:flex}.gs-intro svg{color:var(--accent);flex-shrink:0;margin-top:2px}.gs-empty{flex-direction:column;gap:12px;padding:18px;display:flex}.gs-empty-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gs-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:600}.gs-toolbar{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.gs-levels{align-items:center;gap:8px;display:inline-flex}.gs-summary{font-size:var(--font-size-xs);color:var(--text-muted)}.gs-actions{gap:var(--space-sm);flex-wrap:wrap;margin-left:auto;display:flex}.gs-on{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent)}.gs-seg{border:1px solid var(--border-default);border-radius:6px;flex-shrink:0;display:inline-flex;overflow:hidden}.gs-seg button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:5px 12px;font-family:inherit;font-size:12px;display:inline-flex}.gs-seg button+button{border-left:1px solid var(--border-default)}.gs-seg button.active{color:var(--accent);background:var(--accent-subtle);font-weight:600}.gs-warn{font-size:var(--font-size-xs);color:var(--color-warning);background:var(--color-warning-subtle);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.gs-figure{grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) minmax(130px,1fr) minmax(175px,.75fr) minmax(140px,1.1fr) minmax(78px,.35fr);gap:6px 8px;width:100%;display:grid}.gs-group,.gs-sub{text-align:center;color:#fff;border-radius:6px;justify-content:center;align-items:center;font-weight:700;display:flex}.gs-group{background:#062d42;padding:10px 8px;font-size:14px}.gs-sub{background:#0d5f8b;padding:7px 8px;font-size:13px}.gs-cell{text-align:center;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;padding:8px 10px;display:flex}.gs-cell.gs-howWell{background:var(--bg-card);border-color:var(--border-strong,var(--border-default))}.gs-cell.tryable{cursor:pointer}.gs-cell.tryable:hover{border-color:var(--accent)}.gs-cell.picked,.gs-cell.picked.gs-howWell{background:#9dc3e6;border-color:#9dc3e6}.gs-cell.picked .gs-word,.gs-cell.picked .gs-desc{color:#062d42}.gs-word{color:var(--text-primary);align-items:center;gap:5px;font-size:14px;font-weight:700;display:inline-flex}.gs-desc-icon{color:var(--text-muted);flex-shrink:0}.gs-desc{color:var(--text-secondary);white-space:pre-line;font-size:11px;line-height:1.4}.gs-grade{color:#fff;border:3px solid #0000;border-radius:6px;justify-content:center;align-items:center;font-size:22px;font-weight:800;display:flex}.gs-grade.picked{border-color:#9dc3e6}.gs-arrow{min-height:120px;position:relative}.gs-arrow svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.gs-arrow polygon{fill:var(--bg-card);stroke:#0d5f8b;stroke-width:2px;stroke-linejoin:round}.gs-arrow-text{white-space:nowrap;color:var(--accent);flex-direction:column;gap:2px;font-size:12px;font-weight:700;display:flex;position:absolute;top:50%;left:12px;right:30%;transform:translateY(-50%)}.gs-arrow-text b{letter-spacing:.02em;margin-bottom:2px;font-size:13px;font-weight:800}.gs-arrow-text span:before{content:"•";margin-right:5px}.gs-picker{flex-direction:column;gap:5px;width:100%;display:flex}.gs-picker .form-select,.gs-picker .form-input{width:100%;padding:5px 8px;font-size:12px}.gs-custom{align-items:center;gap:4px;display:flex}.gs-custom .form-input{flex:1;min-width:0}.gs-desc-input{resize:vertical;line-height:1.4;font-size:11px!important}.gs-missing{border-color:var(--color-danger)!important}.gs-try{background:var(--bg-secondary);border:1px dashed var(--border-default);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.gs-try>svg{color:var(--accent)}.gs-try-field{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.gs-try-field .form-select{width:auto;min-width:150px;padding:4px 8px;font-size:12px}.gs-try-result{color:var(--text-primary);margin-left:auto;font-size:13px}.gs-try-result b{color:var(--accent)}.gs-rules{margin-top:var(--space-md);padding:var(--space-md)}.gs-rules-head{margin-bottom:var(--space-sm);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.gs-rules-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.gs-rule{flex-direction:column;gap:6px;display:flex}.gs-rule-title{flex-direction:column;font-size:13px;display:flex}.gs-rule-title .text-muted{font-size:11px}.gs-rule-mode{align-self:flex-start}.gs-rule-badge{background:var(--accent-subtle);color:var(--accent);border-radius:999px;align-self:flex-start;padding:1px 8px;font-size:11px;font-weight:600}.gs-rule-table{border-collapse:collapse;width:100%;font-size:13px}.gs-rule-table td{border-bottom:1px solid var(--border-default);padding:4px 6px}.gs-rule-level{text-align:center;width:24px;font-weight:700}.gs-rule-word{color:var(--text-secondary)}.gs-rule-range{white-space:nowrap;text-align:right}.gs-rule-input{text-align:right;width:64px;padding:2px 6px;display:inline-block}.xps{border-bottom:1px solid var(--border-muted);flex-direction:column;gap:6px;margin-bottom:4px;padding:6px 6px 8px;display:flex}.xps-switch{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:8px;gap:2px;padding:2px;display:flex}.xps-switch button{color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:5px 8px;font-size:12px;font-weight:600}.xps-switch button.active{background:var(--accent-subtle);color:var(--accent)}.xps-note{color:#f59e0b;max-width:300px;font-size:11px;font-weight:600}.mfx-page{gap:var(--space-md);flex-direction:column;display:flex}.mfx-head{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.mfx-head h2{align-items:center;gap:10px;margin:0;display:flex}.mfx-head-actions{gap:var(--space-sm);flex-wrap:wrap;align-items:center;margin-left:auto;display:flex}.mfx-aircraft{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mfx-aircraft button{border:1px solid var(--border-default);background:var(--bg-secondary);color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.mfx-aircraft button.active{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent)}.mfx-aircraft button span{color:var(--text-muted);font-size:11px;font-weight:500}.mfx-source{color:var(--text-secondary);white-space:pre-line;font-size:12px;font-style:italic}.mfx-empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding:28px;display:flex}.mfx-summary{gap:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.mfx-tile{padding:12px 14px}.mfx-tile h4{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:0 0 8px;font-size:11px}.mfx-tile-row{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:3px 0;font-size:12.5px;display:flex}.mfx-tile-row:hover{background:var(--bg-hover)}.mfx-tile-row.active{background:var(--accent-subtle)}.mfx-tile-row .mfx-n{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.mfx-tile-label{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mfx-chip{border:1px solid #0000001f;border-radius:5px;justify-content:center;align-items:center;min-width:24px;height:20px;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex}.mfx-yes{color:#062d42;background:#6f9}.mfx-no{color:var(--text-muted);opacity:.45;font-size:11px}.mfx-defs{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mfx-def{border-bottom:1px solid var(--border-muted);gap:10px;padding:8px 0;font-size:12.5px;line-height:1.45;display:flex}.mfx-def:last-child{border-bottom:none}.mfx-def strong{color:var(--text-primary)}.mfx-def p{color:var(--text-secondary);margin:2px 0 0}.mfx-def em{color:var(--text-muted);font-size:11.5px;font-style:normal}.mfx-filters{gap:var(--space-sm);flex-wrap:wrap;align-items:center;display:flex}.mfx-filters .form-input,.mfx-filters .form-select{width:auto;height:32px;font-size:13px}.mfx-char-filter{border:1px solid var(--border-default);border-radius:8px;align-items:center;gap:2px;padding:2px;display:inline-flex}.mfx-char-filter button{min-width:26px;height:26px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;font-size:12px;font-weight:800}.mfx-char-filter button.yes{color:#062d42;background:#6f9}.mfx-char-filter button.no{background:var(--color-danger-subtle);color:var(--color-danger);text-decoration:line-through}.mfx-table-wrap{border:1px solid var(--border-default);border-radius:var(--radius-md);max-height:calc(100vh - 260px);overflow:auto}.mfx-table{border-collapse:collapse;width:100%;font-size:13px}.mfx-table th{z-index:2;background:var(--bg-elevated);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;border-bottom:2px solid var(--border-default);text-align:left;white-space:nowrap;padding:8px;font-size:11px;font-weight:700;position:sticky;top:0}.mfx-table th.mfx-c,.mfx-table td.mfx-c{text-align:center;width:54px}.mfx-table th.mfx-sort{cursor:pointer}.mfx-table td{border-bottom:1px solid var(--border-muted);vertical-align:middle;padding:5px 8px}.mfx-table tr.mfx-ata-start td{border-top:2px solid var(--border-default)}.mfx-table tbody tr:hover td{background:var(--bg-hover)}.mfx-ata{color:var(--accent);white-space:nowrap;font-weight:700}.mfx-table td.mfx-actions{white-space:nowrap;text-align:right;width:80px}.mfx-table .form-input,.mfx-table .form-select{height:28px;padding:2px 6px;font-size:12px}.mfx-edit-row td{background:var(--accent-subtle)!important}.mfx-tri{border:1px solid var(--border-default);background:var(--bg-primary);width:34px;height:24px;color:var(--text-muted);font:inherit;cursor:pointer;border-radius:5px;font-size:11px;font-weight:800}.mfx-tri.yes{color:#062d42;background:#6f9;border-color:#34d399}.mfx-tri.no{color:var(--text-secondary)}@media (width<=1000px){.mfx-summary,.mfx-defs{grid-template-columns:1fr}}.mfx-table .btn-xs{min-height:22px!important;padding:1px 6px!important}.mfx-aircraft button.mfx-tab-empty{color:var(--text-muted);border-style:dashed}.mfx-cls-levels{flex-direction:column;gap:10px;padding:12px 14px;display:flex}.mfx-cls-head{flex-direction:column;gap:3px;display:flex}.mfx-cls-head h4{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);align-items:center;gap:6px;margin:0;font-size:11px;display:flex}.mfx-cls-head .text-muted{font-size:12px}.mfx-cls-head a{color:var(--accent)}.mfx-cls-missing{color:#f59e0b}.mfx-cls-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.mfx-cls-item{border:1px solid var(--border-default);color:var(--text-secondary);border-radius:8px;grid-template-columns:auto auto 1fr;align-items:center;gap:6px;padding:6px 8px;font-size:12px;display:grid}.mfx-cls-item.unset{border-style:dashed;border-color:#f59e0b}.mfx-cls-item .form-select{min-width:0;height:28px;padding:2px 6px;font-size:12px}.mfx-cls-item small{color:var(--text-muted);grid-column:1/-1;min-height:13px;font-size:11px}.mfx-cls-empty{color:var(--text-muted);font-size:12.5px;font-style:italic}.mfp-modal{flex-direction:column;gap:10px;width:min(1100px,94vw);display:flex}.mfp-table{max-height:60vh}.mfp-row{cursor:pointer}.mfp-row.mfp-mismatch td:first-child{box-shadow:inset 3px 0 #f59e0b}.mfp-row.mfp-unset td:first-child{box-shadow:inset 3px 0 0 var(--text-muted)}.mfp-consistent{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:inline-flex}.mfp-legend{color:var(--text-muted);align-items:center;gap:6px;font-size:11px;display:flex}.mfp-dot{border-radius:2px;width:10px;height:10px;display:inline-block}.mfp-dot.mismatch{background:#f59e0b}.mfp-dot.unset{background:var(--text-muted)}.mfx-cls-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mfx-cls-actions{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.mfx-cls-locked{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}.mfx-cls-item.editing{border-color:var(--accent)}.mfx-cls-item .form-select:disabled{opacity:1;cursor:default;appearance:none;background:0 0}.sc-card{padding:var(--space-md);margin-top:var(--space-md);flex-direction:column;gap:8px;display:flex}.sc-head{align-items:center;gap:8px;display:flex}.sc-head svg{color:var(--accent)}.sc-title{color:var(--text-primary);font-size:14px;font-weight:700}.sc-sub{font-size:12px}.sc-apply-all{color:var(--text-secondary);align-items:center;gap:6px;margin-left:auto;font-size:12px;display:inline-flex}.sc-apply-all .form-select{width:auto;min-width:180px;padding:3px 8px;font-size:12px}.sc-info,.sc-warn{border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.sc-info{background:var(--accent-subtle);color:var(--accent)}.sc-warn{background:var(--color-warning-subtle);color:var(--color-warning)}.sc-table{border-collapse:collapse;width:100%;font-size:13px}.sc-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border-default);padding:6px 8px;font-size:11px;font-weight:600}.sc-table td{border-bottom:1px solid var(--border-default);vertical-align:middle;padding:5px 8px}.sc-table tr.sc-na td:first-child{opacity:.55}.sc-trigram{min-width:38px;color:var(--accent);font-family:monospace;font-weight:700;display:inline-block}.sc-seg{border:1px solid var(--border-default);border-radius:6px;align-items:center;display:inline-flex;overflow:hidden}.sc-seg button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 10px;font-family:inherit;font-size:11px}.sc-seg button+button{border-left:1px solid var(--border-default)}.sc-seg button.active{background:var(--accent-subtle);color:var(--accent);font-weight:600}.sc-seg button.active.na{background:var(--bg-hover);color:var(--text-secondary)}.sc-seg button:disabled{cursor:not-allowed}.sc-lock{color:var(--text-muted);margin:0 6px}.sc-level{align-items:center;gap:4px;display:inline-flex}.sc-level .form-select{min-width:220px;padding:4px 8px;font-size:12px}.sc-missing{border-color:var(--color-warning)!important}.sc-foot{margin:0;font-size:11px}.sc-chip{background:var(--accent-subtle);color:var(--accent);border-radius:999px;padding:2px 8px;font-family:monospace;font-size:11px;font-weight:700;display:inline-flex}.sc-chip.na{background:var(--bg-elevated);color:var(--text-muted)}.session-compliance-card{padding:var(--space-md);margin-top:var(--space-md)}.session-compliance-card>.card:first-of-type{margin-top:8px!important}.badge.complexity-out{outline:2px solid var(--color-danger);outline-offset:1px;align-items:center;gap:3px;display:inline-flex}.complexity-alert{border:1px solid var(--color-danger);color:var(--text-primary);background:#f851491a;border-radius:6px;align-items:flex-start;gap:8px;margin:6px 0 8px;padding:8px 12px;font-size:12px;display:flex}.complexity-alert>svg{color:var(--color-danger);flex-shrink:0;margin-top:1px}.complexity-alert ul{margin:4px 0 0;padding-left:18px}.cpy-modal{flex-direction:column;gap:10px;width:760px;max-width:95vw;max-height:92vh;display:flex}.cpy-body{flex-direction:column;flex:auto;gap:10px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.cpy-body>*{flex-shrink:0}.cpy-status{border-radius:var(--radius-md);border:1px solid;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;display:flex}.cpy-status svg{flex-shrink:0;margin-top:1px}.cpy-status.ok{color:var(--color-success);background:#3fb95014}.cpy-status.added,.cpy-status.recalculate{color:var(--color-warning);background:#d299221a}.cpy-status.incompatible{color:var(--color-danger);background:#f851491a}.cpy-status b{color:var(--text-primary)}.cpy-status span{color:var(--text-secondary);margin-top:2px;font-size:12px;display:block}.cpy-checks{border:1px solid var(--border-default);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.cpy-check{border-bottom:1px solid var(--border-muted);gap:10px;padding:8px 10px;font-size:12px;display:flex}.cpy-check:last-child{border-bottom:none}.cpy-check-title{color:var(--text-primary);font-weight:700}.cpy-check-msg{color:var(--text-secondary);margin-top:2px}.cpy-check ul{color:var(--text-secondary);margin:4px 0 0;padding-left:16px}.cpy-level{text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;width:118px;font-size:10px;font-weight:700}.cpy-banner{border-radius:var(--radius-md);border:1px solid;align-items:center;gap:10px;padding:8px 12px;font-size:12px;display:flex}.cpy-banner.recalculate{border-color:var(--color-warning);background:#d299221a}.cpy-banner.incompatible{border-color:var(--color-danger);background:#f851491a}.cpy-banner button.link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.cpy-flag{vertical-align:middle;cursor:pointer;float:none;margin:0 6px;display:inline-flex}.lib-ex-name-row .cpy-flag{margin:0}.cpy-option{border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;align-items:flex-start;gap:8px;padding:8px 10px;font-size:12px;display:flex}.cpy-option input{margin-top:2px}.cpy-option span{color:var(--text-secondary);margin-top:2px;font-size:11px;display:block}.cpy-plan{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-secondary);color:var(--text-secondary);padding:10px 12px;font-size:12px}.cpy-plan-title{color:var(--text-primary);align-items:center;gap:6px;margin-bottom:4px;font-weight:700;display:flex}.cpy-plan ul{flex-direction:column;gap:3px;margin:0;padding-left:18px;display:flex}.cpy-plan b{color:var(--text-primary)}.cpy-plan button.link,.cpy-history button.link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.cpy-plan-list{flex-direction:column;gap:3px;max-height:180px;margin-top:4px;font-size:11px;display:flex;overflow-y:auto}.cpy-history{border:1px solid var(--border-default);border-radius:var(--radius-md);flex-direction:column;max-height:220px;font-size:12px;display:flex;overflow-y:auto}.cpy-history-row{border-bottom:1px solid var(--border-muted);align-items:center;gap:10px;padding:6px 10px;display:flex}.cpy-history-row:last-child{border-bottom:none}.cpy-more{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px}.cpy-group{background:var(--bg-elevated);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border-muted);padding:6px 10px;font-size:10px;font-weight:700}.cpy-legend{color:var(--text-secondary);flex-wrap:wrap;gap:12px;font-size:11px;display:flex}.cpy-legend span{align-items:center;gap:4px;display:inline-flex}.im-editor{flex-direction:column;gap:10px;display:flex}.im-hint{color:var(--text-muted);font-size:12px}.im-actions{gap:8px;display:flex}.im-table-edit{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.im-table-head{align-items:center;gap:8px;display:flex}.im-title{flex:1;font-weight:700}.im-check{color:var(--text-secondary);white-space:nowrap;cursor:pointer;align-items:center;gap:5px;font-size:12px;display:inline-flex}.im-row-actions{gap:2px;display:flex}.im-grid{border-collapse:collapse;table-layout:fixed;width:100%}.im-grid th,.im-grid td{vertical-align:top;padding:2px;position:relative}.im-grid .form-input{width:100%;padding:4px 6px;font-size:12px}.im-grid textarea.form-input{resize:vertical;min-height:28px;line-height:1.35}.im-grid th .form-input{font-weight:700}.im-grid .im-row-tools{white-space:nowrap;width:84px}.im-grid .im-row-tools .btn{margin-right:2px}.im-cell-wrap{position:relative}.im-x{border:1px solid var(--border-default);background:var(--bg-card);width:18px;height:18px;color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.im-x:hover{color:var(--color-danger);border-color:var(--color-danger)}.im-cell-wrap .im-x,.im-x-col{z-index:1;position:absolute;top:-6px;right:-4px}.im-add-row{align-self:flex-start}.im-files{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.im-files-list{flex-wrap:wrap;gap:6px;display:flex}.im-file{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-secondary);align-items:center;gap:4px;padding:3px 6px;display:inline-flex}.im-file-open{color:var(--text-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-family:inherit;font-size:12px;display:inline-flex}.im-file-open:hover .im-file-name{color:var(--accent);text-decoration:underline}.im-file-name{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.im-file-size{color:var(--text-muted);font-size:11px}.im-view{flex-direction:column;gap:8px;margin:8px 0;display:flex}.im-view-table{border:1px solid var(--border-default);background:var(--bg-secondary);border-radius:8px;overflow:hidden}.im-view-title{letter-spacing:.05em;text-transform:uppercase;text-align:center;background:var(--accent-subtle);color:var(--accent);padding:5px 10px;font-size:12px;font-weight:800}.im-view-table table{border-collapse:collapse;width:100%;font-size:13.5px}.im-view-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border-default);padding:4px 10px;font-size:11px}.im-view-table td{border-top:1px solid var(--border-muted);white-space:pre-wrap;vertical-align:top;padding:4px 10px;line-height:1.4}.im-view-table td.first{color:var(--accent);white-space:nowrap;width:1%;font-weight:700}.im-view-images{flex-wrap:wrap;gap:8px;display:flex}.im-img{border:1px solid var(--border-default);cursor:zoom-in;background:#fff;border-radius:6px;max-width:100%;max-height:360px}.im-img-loading{cursor:default;justify-content:center;align-items:center;width:160px;height:120px;display:flex}.im-actions{flex-wrap:wrap;align-items:center}.im-text{resize:vertical;width:100%;font-size:13px;line-height:1.45}.im-view-text{white-space:pre-wrap;padding:6px 10px;font-size:13.5px;line-height:1.45}.session-briefing{gap:var(--space-md);animation:fadeIn var(--transition-normal);flex-direction:column;display:flex}.session-briefing-head{justify-content:space-between;align-items:flex-start;gap:var(--space-md);flex-wrap:wrap;display:flex}.session-briefing-kicker{font-size:var(--font-size-xs);letter-spacing:.5px;text-transform:uppercase;color:var(--accent);align-items:center;gap:6px;font-weight:700;display:inline-flex}.session-briefing-title{text-overflow:ellipsis;white-space:nowrap;margin:2px 0 8px;font-size:1.25rem;overflow:hidden}.session-briefing-facts{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.session-briefing-fact{font-size:var(--font-size-sm);color:var(--text-secondary);border:1px solid var(--border-muted);border-radius:999px;align-items:center;gap:5px;padding:3px 10px;display:inline-flex}.sb-section{flex-direction:column;gap:10px;display:flex}.sb-title{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);align-items:center;gap:8px;margin:0;font-weight:700;display:flex}.sb-title svg{color:var(--accent)}.sb-input{box-sizing:border-box;width:100%;line-height:1.55}.sb-text{white-space:pre-wrap;line-height:1.55;font-size:var(--font-size-sm)}.sb-text.sb-empty{color:var(--text-muted)}.sb-small{font-size:12px}.sb-label{color:var(--text-secondary);margin-bottom:4px;font-size:12px;font-weight:600}.sb-complexity{font-size:var(--font-size-sm);align-items:center;gap:8px;display:flex}.sb-tech-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sb-hidden-count{text-transform:none;letter-spacing:0;color:var(--text-muted);align-items:center;gap:4px;margin-left:auto;font-size:11px;font-weight:600;display:inline-flex}.session-briefing-hint{color:var(--text-muted);font-size:11px}.session-briefing-outline{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.session-briefing-outline li{border-bottom:1px solid var(--border-muted);align-items:center;gap:10px;padding:8px 0;display:flex}.session-briefing-outline li:last-child{border-bottom:none}.session-briefing-outline li.sb-ex-hidden>:not(.sb-eye){opacity:.45}.session-briefing-num{background:var(--bg-elevated);width:22px;height:22px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.session-briefing-ex{align-items:baseline;gap:6px;min-width:0;display:flex}.session-briefing-code{color:var(--text-secondary);flex-shrink:0;font-size:11px;font-weight:700}.session-briefing-name{font-weight:600;font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-briefing-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.sb-hidden-chip{text-transform:uppercase;background:var(--bg-elevated);color:var(--text-muted);border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:9px;font-weight:700}.sb-assist{border:1px solid;border-radius:999px;flex-shrink:0;padding:2px 9px;font-size:11px;font-weight:700}@media (width<=900px){.sb-tech-grid{grid-template-columns:1fr}}.briefing-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:flex-start;padding:24px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.briefing-modal{width:100%;max-width:1100px;padding:var(--space-md);background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-lg,12px);position:relative;box-shadow:0 16px 48px #00000080}.briefing-modal .session-briefing-head{padding-right:76px}.briefing-modal-close{top:calc(var(--space-md) + 10px);right:calc(var(--space-md) + 10px);z-index:1;justify-content:center;align-items:center;display:inline-flex;position:absolute}.sb-files{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.sb-file{border:1px solid var(--border-default);background:var(--bg-primary);border-radius:999px;align-items:center;max-width:100%;display:inline-flex;overflow:hidden}.sb-file-open{min-width:0;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.sb-file-open:hover{background:var(--accent-subtle)}.sb-file-name{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.sb-file-size{color:var(--text-muted);flex-shrink:0;font-size:10px}.sb-file-del{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px 8px 4px 4px;display:inline-flex}.sb-file-del:hover{color:var(--color-danger)}.sb-attach{align-items:center;gap:4px;display:inline-flex}.sb-file-error{color:var(--color-danger);font-size:11px}.sb-files .spin{animation:1s linear infinite sb-spin}@keyframes sb-spin{to{transform:rotate(360deg)}}.sb-head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sb-export{align-items:center;gap:6px;display:inline-flex}.sb-chips{flex-wrap:wrap;align-items:flex-start;gap:10px 12px;display:flex}.sb-chip-wrap{flex-direction:column;align-items:center;gap:3px;display:inline-flex}.sb-chip{border-radius:var(--radius-md);letter-spacing:.5px;cursor:default;-webkit-user-select:none;user-select:none;border:1px solid;justify-content:center;align-items:center;min-width:58px;padding:6px 12px;font-size:13px;font-weight:800;display:inline-flex}.sb-chip-on{color:#05261a;background:var(--color-success,#2bb198);border-color:var(--color-success,#2bb198);box-shadow:0 2px 6px #2bb1984d}.sb-chip-off{color:var(--color-danger,#ef4444);background:var(--color-danger-subtle,#ef44441f);border-color:var(--color-danger,#ef4444)}.sb-chip-level{color:var(--text-secondary);white-space:nowrap;font-size:10.5px;font-weight:600}.sb-chip-level-none{color:var(--text-muted);font-style:italic;font-weight:400}.sb-chip-tem{color:#b45309;white-space:nowrap;background:#f59e0b26;border:1px solid #f59e0b66;border-radius:999px;padding:0 6px;font-size:9px;font-weight:700}.sb-chip-legend{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:14px;font-size:11px;display:flex}.sb-chip-legend>span{align-items:center;gap:5px;display:inline-flex}.sb-dot{border-radius:3px;width:9px;height:9px;display:inline-block}.sb-dot-on{background:var(--color-success,#2bb198)}.sb-dot-off{background:var(--color-danger,#ef4444)}.sb-mode-switch{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);gap:2px;padding:2px;display:inline-flex}.sb-mode-switch button{border-radius:var(--radius-sm);color:var(--text-secondary);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:5px 11px;font-size:12px;font-weight:600}.sb-mode-switch button:hover{color:var(--text-primary);background:var(--bg-hover)}.sb-mode-switch button.active{background:var(--accent-subtle);color:var(--accent)}.sb-export-group{gap:6px;display:inline-flex}.sb-field-split{grid-column:1/-1}.sb-label-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.sb-label-row .sb-label{margin-bottom:0}.sb-split-toggle{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;font-size:11px;display:inline-flex}.sb-split-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sb-side{border:1px dashed var(--border-default);border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:8px;display:flex}.sb-side-tag{text-transform:uppercase;letter-spacing:.4px;background:var(--bg-elevated);color:var(--text-secondary);border-radius:999px;align-self:flex-start;padding:1px 8px;font-size:10px;font-weight:700}.sb-side-trainee{color:#2f6fd0;background:#2f6fd024}.sb-side-instructor{color:#a0693a;background:#a0693a29}.sb-shared-files{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.sb-shared-files .sb-files{margin-top:0}@media (width<=900px){.sb-split-grid{grid-template-columns:1fr}}.session-briefing-outline li:has(.sb-ex-material){align-items:flex-start}.sb-ex-material{margin:6px 0 2px}.exth-mal{border-left:2px solid var(--accent);background:var(--bg-secondary);border-radius:0 6px 6px 0;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:6px 96px 0 8px;padding:6px 10px;font-size:12px;display:flex}.exth-mal-toggle{color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;font-weight:600;display:inline-flex}.exth-mal-toggle input:disabled+svg{opacity:.4}.exth-mal-none{color:var(--text-muted);font-style:italic}.exth-mal-proc{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:420px;overflow:hidden}.exth-mal-proc b{color:var(--accent);margin-right:4px}.exth-mal-check{flex-basis:100%;align-items:center;gap:5px;font-weight:600;display:inline-flex}.exth-mal-check.ok{color:var(--color-success)}.exth-mal-check.mismatch{color:#f59e0b}.exth-mal-check.unset{color:var(--text-muted);font-weight:500}.exth-mal-chars{gap:2px;display:inline-flex}.exth-char{width:20px;height:20px;color:var(--text-muted);border:1px dashed var(--border-default);opacity:.6;border-radius:5px;justify-content:center;align-items:center;font-size:10.5px;font-weight:800;display:inline-flex}.exth-char.yes{color:#062d42;opacity:1;background:#6f9;border:1px solid #34d399}.exth-item+.exth-item{padding-top:var(--space-sm);border-top:1px dashed var(--border-default)}.exth-desc{flex-direction:column;gap:3px;margin-bottom:6px;display:flex}.exth-desc .form-label{margin:0}.exth-desc textarea{resize:vertical;min-height:44px;font-size:12px}.exth-desc .form-label{align-items:center;gap:8px;display:flex}.exth-desc-lock{color:var(--text-muted);align-items:center;gap:3px;font-size:11px;font-weight:500;display:inline-flex}.exth-desc-locked{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed}.excomp-auto-warn{border-radius:var(--radius-sm);border:1px solid var(--color-warning);background:var(--color-warning-subtle);color:var(--text-primary);align-items:flex-start;gap:8px;margin:0 0 8px;padding:8px 12px;font-size:12px;display:flex}.excomp-auto-warn>svg{color:var(--color-warning);flex-shrink:0;margin-top:1px}.excomp-auto-warn ul{margin:4px 0 0;padding-left:18px}.excomp-sticky{z-index:1;background:var(--bg-secondary);position:sticky;right:0;box-shadow:-6px 0 6px -6px #00000080}.tpl-actions{flex-wrap:nowrap;justify-content:center;align-items:center;gap:4px;display:flex}.tpl-actions .btn{margin:0!important}.tpl-add{margin-top:var(--space-md);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);padding:6px 8px}.tpl-add>summary{cursor:pointer;color:var(--accent);align-items:center;gap:6px;padding:4px 2px;font-weight:600;list-style:none;display:flex}.tpl-add>summary::-webkit-details-marker{display:none}.tpl-add[open]>summary{margin-bottom:6px}.crew-editor{flex-direction:column;gap:6px;display:flex}.crew-editor-seat{grid-template-columns:64px minmax(120px,1fr) minmax(110px,1fr) 34px;align-items:center;gap:6px;display:grid}.crew-editor-seat .form-select{min-height:30px;padding:4px 8px;font-size:12px}.crew-editor-label{color:var(--text-secondary);align-items:center;gap:4px;font-size:12px;font-weight:700;display:inline-flex}.crew-editor-hint{color:var(--text-muted);font-size:11px}.crew-role-chip{text-align:center;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.crew-role-chip.pf{color:var(--accent);background:#38bdf826}.crew-role-chip.pm{color:#c084fc;background:#a855f726}.crew-modal-design{width:100%;max-width:560px}.crew-editor-intro{margin:0 0 10px;font-size:12px}.sx-page{padding:var(--space-lg);gap:var(--space-sm);flex-direction:column;display:flex}.sx-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:560px;margin-top:2px;font-size:11px;overflow:hidden}.sx-chip{background:var(--accent-subtle);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.sx-chip.pdf{color:var(--color-danger);background:#f851491f}.sx-modal{flex-direction:column;max-height:92vh;display:flex}.sx-modal-body{flex-direction:column;gap:10px;padding-right:2px;display:flex;overflow-y:auto}.sx-modal-footer{justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-md)}.sx-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;display:grid}.sx-text{font-family:var(--font-body,inherit);resize:vertical;min-height:200px;line-height:1.5}.sx-empty{color:var(--text-muted);padding:10px;font-size:12px;font-style:italic}.sx-num{background:var(--bg-elevated);min-width:22px;height:22px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.sx-kinds{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sx-kind{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;text-align:left;transition:all var(--transition-fast);flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;display:flex}.sx-kind svg{color:var(--text-muted)}.sx-kind strong{font-size:13px}.sx-kind span{color:var(--text-secondary);font-size:11px;line-height:1.4}.sx-kind.active{border-color:var(--accent);background:var(--accent-subtle)}.sx-kind.active svg{color:var(--accent)}.sx-picker{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px;min-height:260px;display:grid}.sx-picker-col{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);flex-direction:column;gap:6px;min-height:0;padding:10px;display:flex}.sx-picker-title{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.sx-picked{border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border-muted);align-items:center;gap:6px;padding:6px 8px;display:flex}.sx-picked-name,.sx-avail span{flex-direction:column;flex:1;min-width:0;font-size:13px;font-weight:600;display:flex}.sx-picked-name small,.sx-avail small{color:var(--text-muted);font-size:11px;font-weight:400}.sx-available{flex-direction:column;gap:4px;max-height:300px;display:flex;overflow-y:auto}.sx-avail{border:1px dashed var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:8px;padding:6px 8px;display:flex}.sx-avail:hover{border-color:var(--color-success);background:var(--color-success-subtle)}.sx-avail svg{color:var(--color-success);flex-shrink:0}.sx-pdf{grid-template-columns:280px minmax(0,1fr);gap:12px;min-height:460px;display:grid}.sx-pdf-side{flex-direction:column;gap:10px;display:flex}.sx-pdf-file{border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-default);align-items:center;gap:10px;padding:10px;display:flex}.sx-pdf-file svg{color:var(--color-danger);flex-shrink:0}.sx-pdf-file div{flex-direction:column;min-width:0;font-size:13px;display:flex}.sx-pdf-file b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sx-pdf-file small{color:var(--text-muted);font-size:11px}.sx-fields{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);max-height:300px;padding:10px;overflow-y:auto}.sx-field{border-bottom:1px solid var(--border-muted);justify-content:space-between;gap:8px;padding:4px 0;font-size:12px;display:flex}.sx-field small{color:var(--text-muted)}.sx-note{color:var(--text-secondary);gap:8px;font-size:12px;line-height:1.45;display:flex}.sx-pdf-view{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);display:flex;overflow:hidden}.sx-pdf-view iframe{background:#fff;border:0;width:100%;min-height:520px}.sx-tabs{border-bottom:1px solid var(--border-default);gap:6px;margin:4px 0 6px;display:flex}.sx-tabs button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:13px;font-weight:600}.sx-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.sx-tabs b{color:var(--text-muted);margin-left:4px;font-size:11px}.sx-formbuilder{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.sx-ff{border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border-muted);grid-template-columns:22px minmax(0,1fr) 128px auto auto auto auto;align-items:center;gap:6px;margin-bottom:6px;padding:6px;display:grid}.sx-ff-options{grid-column:2/-1}.sx-req{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:inline-flex}.sx-form-preview{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-card);padding:12px;position:sticky;top:0}.sx-form-title{font-family:var(--font-display);margin-bottom:10px;font-size:14px;font-weight:700}.sx-sign{border:1px dashed var(--border-default);border-radius:var(--radius-sm);height:54px;color:var(--text-muted);justify-content:center;align-items:center;font-size:11px;font-style:italic;display:flex}.icap-editor-head{margin-bottom:var(--space-sm);align-items:baseline;gap:10px;display:flex}.icap-editor-head .heading-3{margin:0}.icap-editor-head .text-muted{font-size:12px}.icap-editor-body{flex-direction:column;gap:12px;display:flex}.icap-step{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.icap-step-title{color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.icap-step-num{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;min-width:22px;height:22px;font-size:11px;font-weight:700;display:inline-flex}.icap-step-hint{color:var(--text-muted);font-size:11px;font-weight:400}.icap-chips{flex-wrap:wrap;gap:6px;display:flex}.icap-chip{cursor:pointer;border:1px solid var(--border-default);color:var(--text-secondary);background:0 0;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.icap-chip.on{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent)}.icap-chip.small{padding:1px 7px;font-size:11px}.icap-chip.pos{border-color:var(--color-success);color:var(--color-success)}.icap-chip.neg{border-color:var(--color-danger);color:var(--color-danger)}.icap-table{border-collapse:collapse;width:100%;font-size:12px}.icap-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-default);padding:6px;font-size:11px;font-weight:700}.icap-table td{border-bottom:1px solid var(--border-muted);vertical-align:top;padding:5px 6px}.icap-table textarea,.icap-table input,.icap-table select{font-size:12px}.icap-grade{border-radius:var(--radius-sm);color:#fff;justify-content:center;align-items:center;min-width:30px;height:24px;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.icap-grade.none{background:var(--bg-elevated);color:var(--text-muted)}.icap-cell{text-align:center;font-size:11px;font-weight:700}.icap-cell.r{color:var(--color-success);background:#3fb95038}.icap-cell.c{color:var(--color-warning);background:#d299222e}.icap-cell.x{color:var(--color-danger);background:#f851492e}.icap-cell.clickable{cursor:pointer}.icap-check{align-items:center;gap:4px;font-size:11px;font-weight:600;display:inline-flex}.icap-check.ok{color:var(--color-success)}.icap-check.warn{color:var(--color-warning)}.icap-block{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-card)}.icap-block-head{background:var(--bg-elevated);border-radius:var(--radius-md) var(--radius-md) 0 0;align-items:center;gap:8px;padding:8px 10px;display:flex}.icap-block-body{flex-direction:column;gap:8px;padding:10px;display:flex}.icap-cut{text-align:center;letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:700}.icap-event td{background:#f8514914}.icap-row-actions{gap:2px;display:flex}.icap-grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.icap-muted{color:var(--text-muted);font-size:11px}.icap-grade.na{background:var(--bg-elevated);color:var(--text-muted)}.icap-alert{border-radius:var(--radius-sm);border:1px solid var(--color-danger);color:var(--text-primary);background:#f851491a;align-items:flex-start;gap:8px;padding:8px 10px;font-size:12px;display:flex}.icap-alert svg{color:var(--color-danger);flex-shrink:0;margin-top:1px}.icap-check.bad{color:var(--color-danger)}.icap-na-row td{background:#f851490d}.icap-survey-toggle{cursor:pointer;align-self:flex-start;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.icap-survey-scale{align-items:flex-end;gap:10px;display:flex}.icap-survey-scale .form-group{width:90px;margin:0}.icap-survey-scale .icap-muted{padding-bottom:8px}.icap-survey-points{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 12px;display:grid}.icap-survey-point{align-items:center;gap:6px;display:flex}.icap-survey-point .form-input{flex:1;width:auto;min-width:0;padding:4px 8px;font-size:12px}.icap-survey-num{border-radius:var(--radius-sm);background:var(--accent-subtle);min-width:24px;height:24px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.icap-survey-question{align-items:flex-start;gap:8px;display:flex}.icap-survey-qnum{min-width:30px;color:var(--text-muted);padding-top:6px;font-size:12px;font-weight:700}.icap-survey-qbody{flex-direction:column;flex:1;gap:4px;display:flex}.icap-survey-qbody textarea{resize:vertical;font-size:12px}.icap-survey-qfoot{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.icap-survey-qfoot .icap-survey-move{width:auto;height:26px;min-height:0;margin-left:auto;padding:2px 6px;font-size:11px}.icap-survey-summary{align-items:center;gap:12px;font-size:12px;display:flex}.icap-survey-family-row td{background:var(--bg-elevated);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:11px;font-weight:700}.icap-survey-bars{align-items:flex-end;gap:2px;height:34px;display:flex}.icap-survey-bar{flex-direction:column;justify-content:flex-end;align-items:center;width:20px;height:100%;display:flex}.icap-survey-bar span{background:var(--accent);opacity:.75;border-radius:2px 2px 0 0;width:14px;min-height:1px}.icap-survey-bar span.ref{background:var(--color-success);opacity:1}.icap-survey-bar em{color:var(--text-muted);font-size:9px;font-style:normal;line-height:1.2}.icap-survey-answers th,.icap-survey-answers td{white-space:nowrap}.icap-survey-answers td:nth-last-child(2){white-space:normal}.icap-seq{border:1px solid var(--border-default);border-left:3px solid var(--accent);border-radius:var(--radius-md);background:var(--bg-card);flex-direction:column;gap:8px;padding:8px 10px;display:flex}.icap-seq.caution{border-left-color:var(--color-warning)}.icap-seq-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.icap-seq-num{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);align-items:center;gap:5px;font-size:11px;font-weight:800;display:inline-flex}.icap-seq-cover{flex-wrap:wrap;gap:3px;display:inline-flex}.icap-seq-cut{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);border-top:2px dashed var(--border-default);justify-content:center;align-items:center;gap:6px;margin-top:2px;padding-top:4px;font-size:10px;font-weight:700;display:flex}.icap-seq-row td{background:var(--accent-subtle);color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.icap-caution{border-radius:var(--radius-sm);border:1px solid var(--color-warning);background:#facc151a;align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:flex}.icap-caution>svg{color:var(--color-warning);flex-shrink:0}.icap-multi{border:1px dashed var(--border-default);border-radius:var(--radius-sm);flex-direction:column;gap:6px;padding:8px;display:flex}.icap-multi-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 12px;display:grid}.icap-multi-item{cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.icap-task{flex-direction:column;gap:4px;display:flex}.icap-task-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.icap-task-row .form-select{min-height:30px;padding:3px 8px;font-size:12px}.icap-task-num{min-width:28px;color:var(--text-muted);font-size:11px;font-weight:700}.icap-task-threats{gap:3px;display:inline-flex}.icap-zone{border-radius:999px;justify-content:center;align-items:center;min-width:30px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.icap-chip.off{opacity:.55;cursor:default;border-style:dashed}.icap-chip.threat{border-color:var(--color-warning);color:var(--color-warning);cursor:default;background:#facc151a}.icap-chip.gain{border-color:var(--color-success);color:var(--color-success);cursor:default;background:#4ade801f}.icap-threat{border-left:3px solid var(--color-warning);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#facc150d;align-items:flex-end;gap:8px;margin-left:36px;padding:6px 8px;display:flex}.icap-threat .cascading-row-container{margin:0}.icap-threat-tag{color:var(--color-warning);align-items:center;gap:3px;padding-bottom:9px;font-size:11px;font-weight:800;display:inline-flex}.icap-threat-until{color:var(--text-muted);white-space:nowrap;padding-bottom:9px;font-size:11px}.icap-reset{border-left:3px solid var(--color-success);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-success);background:#4ade8012;align-items:center;gap:8px;margin-left:36px;padding:5px 8px;font-size:11px;display:flex}.icap-reset-pick{width:150px;min-height:26px!important;font-size:11px!important}.icap-suggest{border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--bg-elevated);flex-direction:column;gap:8px;padding:10px;display:flex}.icap-suggest-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:8px;display:grid}.icap-suggest-phase{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-card);flex-direction:column;gap:4px;padding:6px 8px;display:flex}.icap-suggest-phase.focus{border-color:var(--accent)}.icap-suggest-phase-head{flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.icap-suggest-task{align-items:center;gap:8px;font-size:12px;display:flex}.icap-ob-off td{background:#f851490d}.icap-ob-where{color:var(--text-secondary);align-items:center;gap:3px;margin-left:6px;font-weight:500;display:inline-flex}.icap-ob-where .icap-chip{cursor:pointer}.icap-stop td{text-align:center;letter-spacing:.12em;color:var(--color-danger);font-size:11px;font-weight:800}.icap-stop svg{vertical-align:-1px;margin-right:4px}.icap-chip.dim{opacity:.6;border-style:dashed}.icap-orphans{border:1px dashed var(--color-warning);border-radius:var(--radius-md);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.icap-orphan{align-items:center;gap:8px;font-size:12px;display:flex}.icap-step.debrief{background:linear-gradient(180deg, #c084fc1a, var(--bg-secondary) 120px);border:2px solid #c084fc8c;box-shadow:0 0 0 4px #c084fc0f}.icap-step.debrief .icap-step-num{background:#c084fc}.icap-step.debrief .icap-step-title{color:#c084fc;font-size:15px}.icap-debrief{flex-direction:column;gap:10px;display:flex}.icap-debrief-switch{text-align:left;border-radius:var(--radius-md);border:1px dashed var(--border-default);background:var(--bg-card);width:100%;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);align-items:center;gap:12px;padding:12px 14px;display:flex}.icap-debrief-switch:hover{border-color:#c084fc}.icap-debrief-switch.on{color:var(--text-primary);background:#c084fc24;border:1px solid #c084fc}.icap-debrief-switch>svg{color:#c084fc;flex-shrink:0}.icap-debrief-knob{background:var(--border-default);width:40px;height:22px;transition:var(--transition-fast);border-radius:999px;flex-shrink:0;position:relative}.icap-debrief-knob:after{content:"";background:var(--text-primary);width:16px;height:16px;transition:var(--transition-fast);border-radius:50%;position:absolute;top:3px;left:3px}.icap-debrief-switch.on .icap-debrief-knob{background:#c084fc}.icap-debrief-switch.on .icap-debrief-knob:after{left:21px}.icap-debrief-switch-text{flex-direction:column;gap:2px;display:flex}.icap-debrief-switch-text b{letter-spacing:.04em;font-size:14px}.icap-debrief-switch.on .icap-debrief-switch-text b{color:#c084fc}.icap-debrief-switch-text span{color:var(--text-secondary);font-size:12px}.icap-debrief-target{border:1px dashed var(--border-default);border-radius:var(--radius-sm);flex-direction:column;gap:6px;padding:8px;display:flex}.icap-debrief-block{border-color:#c084fc99}.icap-tase-dot{background:var(--accent);border-radius:50%;width:5px;height:5px;margin-left:2px;display:inline-block}.icap-scenario{border:1px solid #c084fc;border-radius:999px;display:inline-flex;overflow:hidden}.icap-scenario button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:3px 12px;font-size:11px;font-weight:700}.icap-scenario button.on{color:#c084fc;background:#c084fc33}.icap-compare{border-radius:var(--radius-sm);background:#c084fc12;flex-wrap:wrap;align-items:center;gap:10px;padding:6px 8px;display:flex}.icap-compare-item{align-items:center;gap:4px;font-size:12px;display:inline-flex}.icap-debrief-ob{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.icap-debrief-ob select.form-input{text-overflow:ellipsis;width:100%;min-width:0}.icap-debrief-effect{border:1px solid var(--border-default);border-radius:999px;display:inline-flex;overflow:hidden}.icap-debrief-effect button{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:5px 12px;font-size:12px;font-weight:700}.icap-debrief-effect button+button{border-left:1px solid var(--border-default)}.icap-debrief-effect button.pos{color:var(--color-success);background:#4ade802e}.icap-debrief-effect button.neg{color:var(--color-danger);background:#ef44442e}.icap-pilot{letter-spacing:.03em;border-radius:999px;justify-content:center;align-items:center;min-width:40px;padding:1px 7px;font-size:11px;font-weight:800;display:inline-flex}.icap-pilot.CPT{color:var(--accent);background:#38bdf826}.icap-pilot.FO{color:#2dd4bf;background:#2dd4bf26}.icap-pilot.BOTH{background:var(--bg-elevated);color:var(--text-secondary)}.icap-grading tbody+tbody tr.icap-grading-first td{border-top:2px solid var(--border-default)}.icap-grading-look td{background:#ffffff04}.icap-compare-pilot{align-items:center;gap:3px;margin-left:6px;display:inline-flex}.icap-guidances{border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#38bdf80d;flex-direction:column;gap:6px;margin-left:36px;padding:8px;display:flex}.icap-guidance{align-items:flex-start;gap:8px;display:flex}.icap-guidance-num{min-width:24px;color:var(--accent);padding-top:6px;font-size:11px;font-weight:800}.icap-guidance .icap-guidance-scope{flex-shrink:0;align-self:flex-start;width:128px;min-height:32px;padding:4px 26px 4px 10px;font-size:12px}.icap-locked{background:var(--bg-elevated);color:var(--text-muted);border-radius:999px;align-items:center;gap:3px;margin-top:4px;padding:1px 6px;font-size:10px;font-weight:800;display:inline-flex}.icap-ap{flex-shrink:0;width:116px;min-height:26px!important;padding:2px 22px 2px 8px!important;font-size:11px!important}.icap-ap.warn{color:var(--color-warning);border-color:var(--color-warning)!important}.instructor-page{flex-direction:column;display:flex;position:fixed;inset:57px 0 0;overflow:hidden}.instructor-page.instructor-page-loader{position:static;overflow:visible}.instructor-page.session-active{top:0}.instructor-header-center{align-items:center;gap:var(--space-sm);z-index:101;pointer-events:none;height:57px;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.instructor-header-center .topbar-platform,.instructor-header-center .topbar-session{pointer-events:auto}.topbar-platform{font-size:var(--font-size-xs);padding:2px var(--space-sm)}.topbar-session{font-size:var(--font-size-md);color:var(--text-primary);white-space:nowrap;font-weight:600}.sidebar-students{padding:var(--space-md) var(--space-sm) var(--space-sm);border-bottom:1px solid var(--border-muted);flex-direction:column;flex-shrink:0;gap:2px;display:flex}.student-tab-btn{border-radius:var(--radius-sm);width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);justify-content:center}.student-tab-btn.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.sidebar-timer{padding:var(--space-md);border-bottom:1px solid var(--border-muted);align-items:center;gap:var(--space-xs);flex-direction:column;flex-shrink:0;display:flex}.timer-durations{align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:500;display:flex}.duration-completed{color:var(--color-success)}.duration-remaining{color:var(--text-primary)}.duration-sep{color:var(--border-default)}.sidebar-actions{gap:var(--space-sm);padding:var(--space-md);border-top:1px solid var(--border-muted);flex-direction:column;flex-shrink:0;margin-top:auto;display:flex}.sidebar-action-btn{justify-content:center;width:100%;min-height:44px}.timer-main{position:relative}.timer-display{font-family:Courier New,monospace;font-size:var(--font-size-xl);padding:0 var(--space-md);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);background:0 0;border:none;justify-content:center;align-items:center;min-width:110px;min-height:40px;font-weight:700;display:flex}.timer-start{font-family:var(--font-family);font-size:var(--font-size-sm);background:var(--accent-subtle);color:var(--accent);border:1px solid var(--accent)}.timer-time.pulsing{color:var(--color-success);animation:2s infinite pulse}.timer-time.paused{color:var(--color-warning)}.timer-paused-display{border:1px solid var(--color-warning);border-radius:var(--radius-sm);background:#f59e0b14;flex-direction:column;gap:2px}.timer-paused-label{font-family:var(--font-family);font-size:var(--font-size-xs);color:var(--color-warning);letter-spacing:1px;font-weight:700}.timer-confirm{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);margin-top:var(--space-xs);animation:fadeIn var(--transition-fast);display:flex}.timer-confirm-text{font-size:var(--font-size-xs);color:var(--text-primary);white-space:nowrap;font-weight:600}.timer-confirm-btns{gap:4px;display:flex}.timer-menu{z-index:100;gap:var(--space-sm);padding:var(--space-md);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:fadeIn var(--transition-fast);min-width:200px;margin-top:var(--space-xs);flex-direction:column;display:flex;position:absolute;top:100%;right:0}.timer-menu .btn{min-height:40px}.instructor-loader{width:100%;margin:var(--space-xl) 0;padding:var(--space-xl);flex-direction:column;display:flex}.assigned-sessions-list{gap:var(--space-sm);max-height:400px;padding-right:var(--space-xs);margin-bottom:var(--space-md);flex-direction:column;display:flex;overflow-y:auto}.assigned-session-item{padding:var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);gap:var(--space-xs);flex-direction:column;display:flex}.assigned-session-item:hover{border-color:var(--accent);background:var(--bg-elevated);transform:translate(4px)}.assigned-session-item.selected{background:var(--accent-subtle);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.as-header{justify-content:space-between;align-items:center;display:flex}.as-header strong{font-family:var(--font-display);font-size:var(--font-size-md);color:var(--text-primary)}.as-meta{gap:var(--space-md);font-size:var(--font-size-xs);color:var(--text-secondary);flex-wrap:wrap;display:flex}.as-date{font-size:var(--font-size-xs);color:var(--accent);font-weight:600}.as-header-right{align-items:center;gap:var(--space-xs);display:flex}.assigned-session-item.locked{opacity:.45;cursor:not-allowed;pointer-events:none}.assigned-session-item.locked:hover{border-color:var(--border-default);background:var(--bg-secondary);transform:none}.as-locked-label{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:2px;font-style:italic}.instructor-workspace{flex:1;min-height:0;display:flex;overflow:hidden}.exercise-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-default);flex-direction:column;flex-shrink:0;width:260px;display:flex;overflow:hidden}.sidebar-session-info{padding:var(--space-md) var(--space-sm) var(--space-sm);border-bottom:1px solid var(--border-muted);flex-direction:column;flex-shrink:0;align-items:center;gap:4px;display:flex}.sidebar-session-name{font-family:var(--font-display);font-size:var(--font-size-md);color:var(--text-primary);text-align:center;font-weight:600;line-height:1.3}.sidebar-header{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-muted);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.exercise-list-scroll{min-height:0;padding:var(--space-xs) 0;flex:1;overflow-y:auto}.exercise-list-row{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;min-height:44px;display:flex}.exercise-list-row:active{background:var(--bg-hover)}.exercise-list-row.current{background:var(--bg-elevated);border-left:4px solid var(--accent);font-weight:600}.exercise-list-row.completed .el-name{color:var(--color-success)}.exercise-list-row.skipped .el-name{color:var(--text-muted);text-decoration:line-through}.drag-row{cursor:grab;-webkit-user-select:none;user-select:none}.drag-row:active{cursor:grabbing}.drag-handle{font-size:var(--font-size-md);color:var(--text-muted);padding-right:var(--space-xs);cursor:grab}.drag-row.dragging{opacity:.4}.drag-row.drag-over-top{border-top:2px solid var(--accent)}.drag-row.drag-over-bottom{border-bottom:2px solid var(--accent)}.el-num{background:var(--bg-card);min-width:28px;height:28px;font-size:var(--font-size-sm);color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;display:flex}.exercise-list-row.current .el-num{background:var(--accent);color:#fff}.el-name{flex:1}.exercise-main{background:var(--bg-primary);flex:1;min-height:0;overflow-y:auto}.exercise-content-scrollable{padding:var(--space-lg) var(--space-2xl);width:100%}.exercise-content-inner{width:100%}.exercise-header{margin-bottom:var(--space-xl)}.exercise-title{font-size:var(--font-size-2xl);margin-bottom:var(--space-sm);font-weight:700}.title-skipped{color:var(--text-muted);text-decoration:line-through}.title-completed{color:var(--color-success)}.exercise-desc{font-size:var(--font-size-md);color:var(--text-secondary);line-height:1.6}.grayed{opacity:.4;pointer-events:none}.grading-section{border-top:1px solid var(--border-default);padding-top:var(--space-lg)}.competency-buttons{gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.comp-btn{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:700;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);text-align:center;border:2px solid;min-width:60px}.comp-pass{background:var(--color-success-subtle);border-color:var(--color-success);color:var(--color-success)}.comp-partial{background:var(--color-warning-subtle);border-color:var(--color-warning);color:var(--color-warning)}.comp-fail{background:var(--color-danger-subtle);border-color:var(--color-danger);color:var(--color-danger)}.comp-btn:hover{transform:scale(1.05)}.tem-btn{margin-bottom:var(--space-md)}.tem-panel{padding:var(--space-md);margin-bottom:var(--space-md);animation:slideUp var(--transition-fast)}.tem-panel .form-row{gap:var(--space-md);grid-template-columns:1fr 2fr;display:grid}.guidances-grading{gap:var(--space-sm);margin-bottom:var(--space-md);flex-direction:column;display:flex}.guidance-grade-item{padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-muted);justify-content:space-between;align-items:center;display:flex}.guidance-grade-text{font-size:var(--font-size-sm);flex:1}.guidance-toggle{min-width:80px}.exercise-list-modal{min-width:350px;max-width:500px}.modal-content .exercise-list-scroll{max-height:60vh}.edit-list-row{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-muted);font-size:var(--font-size-sm);justify-content:space-between;align-items:center;display:flex}.edit-list-btns{gap:var(--space-xs);display:flex}.competency-popup{width:480px}.popup-header{margin-bottom:var(--space-md)}.popup-header .badge{font-size:var(--font-size-xl);padding:var(--space-xs) var(--space-md)}.popup-obs{gap:var(--space-xs);flex-direction:column;display:flex}.popup-ob-row{align-items:center;gap:var(--space-md);padding:6px var(--space-sm);border-radius:var(--radius-sm);display:flex}.ob-pass{background:var(--color-success-subtle)}.ob-fail{background:var(--color-danger-subtle)}.ob-id{min-width:36px;font-weight:600;font-size:var(--font-size-sm);flex-shrink:0}.ob-pass .ob-id{color:var(--color-success)}.ob-fail .ob-id{color:var(--color-danger)}.popup-ob-desc{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.popup-ob-btn{white-space:nowrap;flex-shrink:0}@media (width<=1024px){.instructor-topbar{gap:var(--space-md);flex-wrap:wrap}.topbar-center.student-switcher{width:100%;margin-top:var(--space-sm);order:3}.student-tab-btn{flex:1}}.briefing-panel{background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;margin-bottom:12px;padding:10px 14px}.briefing-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.briefing-title{color:#1e40af;font-size:13px;font-weight:600}.briefing-dismiss{color:#2563eb;cursor:pointer;background:0 0;border:1px solid #93c5fd;border-radius:4px;padding:2px 8px;font-size:11px}.briefing-content{flex-wrap:wrap;gap:6px;display:flex}.briefing-tag{color:#1e40af;background:#dbeafe;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.briefing-ob{color:#92400e;background:#fef3c7}.briefing-note{color:#64748b;margin:6px 0 0;font-size:11px}@media (width<=768px){.instructor-topbar{flex-direction:column;align-items:stretch}.topbar-right{justify-content:space-between}.instructor-loader .form-row{grid-template-columns:1fr}.exercise-card-actions{flex-direction:column}.competency-buttons{justify-content:center}.tem-panel .form-row{grid-template-columns:1fr}}.sidebar-session-actions{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.sidebar-briefing-btn{align-items:center;gap:6px;margin-top:4px;display:inline-flex}.ix-threats{border:1px solid var(--border-default);background:var(--bg-secondary);border-radius:8px;margin:12px 0;padding:8px 12px}.ix-threats-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);align-items:center;gap:6px;margin-bottom:6px;font-size:11px;font-weight:700;display:flex}.ix-threats-list{flex-wrap:wrap;gap:6px;display:flex}.ix-threat{border:1px solid var(--border-default);color:var(--text-primary);text-align:left;cursor:default;background:0 0;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-family:inherit;font-size:14px;display:inline-flex}.ix-threat.pickable{cursor:pointer}.ix-threat.pickable:hover{border-color:var(--accent)}.ix-threat.chosen{border-color:var(--accent);background:var(--accent-subtle);font-weight:600}.ix-threat-eo{border-radius:4px;padding:1px 6px;font-size:10px;font-weight:800}.ix-threat-eo.o{background:var(--color-warning-subtle);color:var(--color-warning)}.ix-threat-eo.e{background:var(--accent-subtle);color:var(--accent)}.ix-threat-body{flex-direction:column;gap:2px;display:flex}.ix-threat-desc{color:var(--text-primary);white-space:pre-wrap;max-width:520px;font-size:14px}.ix-threat-sub{color:var(--text-muted);font-size:12px;font-weight:400}.ix-threats-missing{color:var(--color-warning);align-items:center;gap:6px;margin-top:8px;font-size:13px;display:flex}.guidance-grade-open{color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:2px;padding:0;font-family:inherit;display:flex}.guidance-grade-open:hover{color:var(--accent)}.guidance-partial{color:var(--color-warning);font-size:11px;font-weight:600}.guidance-toggles{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:6px;display:flex}.guidance-toggle{flex-direction:column;align-items:center;line-height:1.15;display:inline-flex}.guidance-toggle-who{opacity:.85;font-size:10px;font-weight:700}.guidance-na{font-size:11px}.guidance-scope-badge{vertical-align:1px;border:1px solid var(--border-default);width:fit-content;color:var(--text-muted);border-radius:4px;align-self:flex-start;margin-right:6px;padding:0 5px;font-size:10px;font-weight:800;display:inline-block}.guidance-scope-badge.pf{color:#fff;background:#0d5f8b;border-color:#0d5f8b}.guidance-scope-badge.pm{color:#7c5cc4;border-color:#7c5cc4}.guidance-grade-text .guidance-partial{display:block}.guidance-targets{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.guidance-threat-hint{padding:0 4px;font-size:12px}.as-section-title{font-size:var(--font-size-sm);color:var(--text-primary);margin-top:var(--space-sm);font-weight:600}.as-section-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin-bottom:var(--space-xs)}.exercise-list-row.itt-row{border-left:3px solid var(--color-purple);background:var(--color-purple-subtle);color:var(--color-purple);font-weight:600}.exercise-list-row.itt-row.current{box-shadow:inset 0 0 0 1px var(--color-purple)}.exercise-list-row.itt-row .el-itt-min{white-space:nowrap;margin-left:auto;font-size:11px;font-weight:700}.exercise-list-row.itt-row .el-itt-min.over{color:var(--color-warning)}.exercise-list-row .el-itt-tag{color:var(--color-purple);border:1px solid var(--color-purple);border-radius:4px;flex-shrink:0;padding:0 3px;font-size:9px;font-weight:700}.itt-panel{max-width:760px;padding:var(--space-lg);gap:var(--space-md);flex-direction:column;margin:0 auto;display:flex}.itt-panel-head{align-items:center;gap:var(--space-md);color:var(--color-purple);display:flex}.itt-panel-title{color:var(--color-purple);margin:0;font-size:22px}.itt-panel-sub{color:var(--text-secondary);font-size:13px}.itt-panel-badge{background:var(--color-purple-subtle);color:var(--color-purple);margin-left:auto;font-size:13px;font-weight:700}.itt-gauge{align-items:center;gap:var(--space-sm);display:flex}.itt-gauge-bar{background:var(--bg-elevated);border-radius:4px;flex:1;height:8px;overflow:hidden}.itt-gauge-fill{background:var(--color-purple);height:100%;transition:width .2s}.itt-gauge-fill.over{background:var(--color-warning)}.itt-gauge-text{color:var(--color-purple);white-space:nowrap;font-size:13px;font-weight:700}.itt-gauge-text.over{color:var(--color-warning)}.itt-warning{align-items:flex-start;gap:var(--space-sm);border-radius:var(--radius-md);border:1px solid var(--color-warning);background:var(--color-warning-subtle);color:var(--color-warning);padding:10px 12px;font-size:13px;display:flex}.itt-warning svg{flex-shrink:0;margin-top:1px}.itt-chosen{flex-direction:column;gap:6px;display:flex}.itt-chosen-row{align-items:center;gap:var(--space-sm);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);padding:8px 10px;display:flex}.itt-chosen-num{background:var(--color-purple-subtle);width:22px;height:22px;color:var(--color-purple);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.itt-chosen-name{text-align:left;min-width:0;color:var(--text-primary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;padding:0;font-size:14px;overflow:hidden}.itt-chosen-name:hover{text-decoration:underline}.itt-chosen-dur{color:var(--text-secondary);white-space:nowrap;font-size:12px}.itt-chosen-lock{color:var(--color-success);padding:0 6px;display:inline-flex}.itt-choose-btn{background:var(--color-purple);border-color:var(--color-purple);color:#fff;align-self:flex-start;padding:12px 22px;font-size:16px;font-weight:700}.itt-choose-btn:hover{filter:brightness(1.1)}.itt-modal{gap:var(--space-sm);flex-direction:column;width:min(760px,96vw);max-width:96vw;display:flex}.itt-modal-head{justify-content:space-between;align-items:center;display:flex}.itt-modal-head h3{color:var(--color-purple);align-items:center;gap:8px;margin:0;display:inline-flex}.itt-modal-search{align-items:center;display:flex;position:relative}.itt-modal-search svg{color:var(--text-muted);position:absolute;left:10px}.itt-modal-search input{padding-left:32px}.itt-modal-comps{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.itt-modal-comps-label{color:var(--text-secondary);align-items:center;gap:4px;margin-right:4px;font-size:12px;display:inline-flex}.itt-comp-chip{border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.itt-comp-chip.on{border-color:var(--color-purple);background:var(--color-purple);color:#fff}.itt-modal-list{max-height:50vh;margin-top:var(--space-xs);flex-direction:column;gap:6px;display:flex;overflow-y:auto}.itt-modal-row{align-items:center;gap:var(--space-sm);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);padding:8px 10px;display:flex}.itt-modal-row-main{flex:1;min-width:0}.itt-modal-row-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.itt-modal-row-comps{flex-wrap:wrap;gap:3px;margin-top:3px;display:flex}.itt-comp-tag{background:var(--bg-elevated);color:var(--text-muted);border-radius:3px;padding:0 4px;font-size:10px;font-weight:700}.itt-comp-tag.on{background:var(--color-purple-subtle);color:var(--color-purple)}.itt-modal-row-dur{color:var(--text-secondary);white-space:nowrap;font-size:12px}.itt-modal-row-count{color:var(--color-purple);font-size:11px;font-weight:700}.itt-ctx-btn{border:1.5px solid var(--color-purple);background:var(--color-purple-subtle);color:var(--color-purple);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.itt-ctx-btn:hover{filter:brightness(1.1)}.itt-ctx-btn.set{background:var(--color-purple);color:#fff}.itt-ctx-modal{gap:var(--space-sm);flex-direction:column;width:min(600px,96vw);max-width:96vw;display:flex}.itt-ctx-ex{color:var(--text-secondary);font-size:14px}.itt-ctx-threats{gap:var(--space-sm);flex-wrap:wrap;display:flex}.itt-ctx-check{border:1.5px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;flex:1;align-items:center;gap:8px;min-width:200px;padding:10px 12px;font-weight:600;display:flex}.itt-ctx-check input{width:18px;height:18px;accent-color:var(--color-purple)}.itt-ctx-check small{color:var(--text-muted);margin-left:auto;font-weight:500}.itt-ctx-check.on{border-color:var(--color-purple);background:var(--color-purple-subtle);color:var(--color-purple)}.itt-ctx-cx{border-radius:var(--radius-md);background:var(--bg-secondary);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.itt-ctx-cx-label{color:var(--text-secondary);margin-right:4px;font-size:12px}.itt-zone{font-size:12px;font-weight:700}.itt-zone small{opacity:.9;margin-left:3px;font-weight:500}.itt-ctx-warning{font-size:14px}.itt-ctx-actions{justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-xs);display:flex}.itt-ctx-box{border:1px solid var(--color-purple);background:var(--color-purple-subtle);border-radius:8px;margin:8px 0;padding:8px 12px;font-size:14px}.itt-ctx-box-tags{gap:6px;margin-bottom:4px;display:flex}.itt-ctx-tag{background:var(--color-purple);color:#fff;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}.itt-ctx-box-text{white-space:pre-wrap;color:var(--text-primary)}.itt-modal-row-phase{color:var(--text-muted);font-size:12px}.exercise-list-row.marker-row{font-style:italic;font-weight:600}.exercise-list-row.break-row{border-left:3px solid var(--color-warning);background:var(--color-warning-subtle);color:var(--color-warning)}.exercise-list-row.event-row{border-left:3px solid var(--color-purple);background:color-mix(in srgb, var(--color-purple) 8%, transparent);color:var(--color-purple)}.exercise-list-row.marker-row.current{box-shadow:inset 0 0 0 1px}.exercise-list-row.marker-row .el-itt-min{margin-left:auto;font-size:11px;font-style:normal;font-weight:700}.marker-panel{max-width:760px;padding:var(--space-lg);gap:var(--space-md);flex-direction:column;margin:0 auto;display:flex}.marker-panel-head{align-items:center;gap:var(--space-md);display:flex}.marker-panel.break .marker-panel-head{color:var(--color-warning)}.marker-panel.event .marker-panel-head{color:var(--color-purple)}.marker-panel-title{color:inherit;margin:0;font-size:22px}.marker-panel-sub{color:var(--text-secondary);font-size:13px}.marker-panel-badge{background:var(--color-warning-subtle);color:var(--color-warning);margin-left:auto;font-size:13px;font-weight:700}.marker-crew{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);padding:8px 12px}.marker-crew-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:700}.marker-crew-row{justify-content:space-between;gap:var(--space-md);padding:4px 0;font-size:14px;display:flex}.marker-crew-name{font-weight:600}.marker-crew-out{color:var(--color-warning)}.marker-continue{align-self:flex-start;align-items:center;gap:6px;padding:10px 20px;font-size:15px;display:inline-flex}.itt-panel-actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.modal-content.crew-modal{width:min(560px,100vw - 32px);max-width:560px}.crew-head{color:var(--accent);align-items:center;gap:10px;margin-bottom:8px;display:flex}.crew-head h3{color:var(--text-primary);margin:0;font-size:18px}.crew-close{margin-left:auto}.crew-intro{color:var(--text-secondary);margin:0 0 14px;font-size:14px}.crew-cards{grid-template-columns:1fr 1fr;gap:12px;display:grid}.crew-card{border:2px solid var(--border-default);background:var(--bg-secondary);min-height:140px;color:var(--text-primary);font:inherit;cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:18px 12px;display:flex}.crew-card.on{border-color:var(--accent);background:var(--accent-subtle)}.crew-avatar{background:var(--bg-elevated);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:16px;font-weight:800;display:inline-flex}.crew-name{text-align:center;font-size:15px;font-weight:700}.crew-role{min-width:34px;height:22px;color:var(--text-muted);border:1px solid var(--border-default);border-radius:6px;justify-content:center;align-items:center;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.crew-role.pf{color:#fff;background:#0d5f8b;border-color:#0d5f8b}.crew-role.pm{color:#7c5cc4;background:0 0;border-color:#7c5cc4}.crew-changes{color:var(--text-secondary);border:1px dashed #7c5cc4;border-radius:8px;align-items:flex-start;gap:8px;margin-top:14px;padding:10px 12px;font-size:13px;display:flex}.crew-changes svg{color:#7c5cc4;flex-shrink:0;margin-top:2px}.crew-warn{color:var(--text-muted);margin:12px 0 0;font-size:12px}.crew-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.crew-badge{border:1px solid var(--border-default);background:var(--bg-secondary);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:6px 0;padding:8px 10px;font-size:13px;display:flex}.crew-badge .btn{margin-left:auto}.crew-badge.undeclared{color:var(--color-warning);border-style:dashed}.crew-line{align-items:center;gap:6px;display:inline-flex}.crew-line .crew-role{min-width:28px;height:18px;padding:0 5px;font-size:10px}.el-role{border:1px solid var(--border-default);border-radius:4px;margin-left:auto;padding:0 5px;font-size:10px;font-weight:800}.el-role.pf{color:#fff;background:#0d5f8b;border-color:#0d5f8b}.el-role.pm{color:#7c5cc4;border-color:#7c5cc4}.crew-card.seat{cursor:default;position:relative}.crew-seat-label{color:var(--text-muted);letter-spacing:.5px;font-size:11px;font-weight:800;position:absolute;top:8px;left:10px}.crew-seat-fn{color:var(--text-secondary);text-align:center;font-size:13px}.crew-swap-row{justify-content:center;margin-top:12px;display:flex}.crew-role.out{color:var(--text-muted);background:0 0;border-style:dashed}.crew-line-fn{color:var(--text-muted);font-size:11px}.el-role.out{color:var(--text-muted);border-style:dashed}.crew-ex-line{color:var(--text-secondary);margin-top:3px;font-size:12px;font-weight:600}.crew-ex-line.out{color:var(--color-warning)}.qs-modal{box-sizing:border-box;gap:var(--space-sm);flex-direction:column;width:min(880px,100vw - 32px);max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);display:flex;overflow-x:hidden}.qs-head{justify-content:space-between;align-items:center;display:flex}.qs-intro{font-size:var(--font-size-xs);color:var(--text-secondary)}.qs-cols{gap:var(--space-md);grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;display:grid}.qs-col{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.qs-modal .form-input{box-sizing:border-box;width:100%;min-width:0}.qs-list{border:1px solid var(--border-default);border-radius:var(--radius-md);flex-direction:column;max-height:320px;display:flex;overflow-y:auto}.qs-row{justify-content:space-between;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);cursor:pointer;border-bottom:1px solid var(--border-default);padding:6px 10px;display:flex}.qs-row:last-child{border-bottom:none}.qs-row:hover{background:var(--bg-elevated)}.qs-row.selected{background:var(--accent-subtle);box-shadow:inset 3px 0 0 var(--accent)}.qs-row.disabled{opacity:.45;cursor:not-allowed}.qs-row-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.qs-row-meta{align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--text-secondary);flex-shrink:0;display:inline-flex}.qs-badge{font-size:10px}.qs-empty{font-size:var(--font-size-xs);padding:8px 10px}.qs-fict{gap:var(--space-xs);flex-direction:column;align-items:flex-start;display:flex}.qs-fict-row{gap:var(--space-xs);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;width:100%;display:grid}.qs-error{font-size:var(--font-size-xs);color:var(--color-danger)}.qs-actions{justify-content:flex-end;gap:var(--space-sm);display:flex}@media (width<=720px){.qs-cols{grid-template-columns:minmax(0,1fr)}}.qs-kind{border:1px solid var(--border-default);border-radius:999px;margin-left:auto;margin-right:8px;display:inline-flex;overflow:hidden}.qs-kind button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-flex}.qs-kind button.on{background:var(--accent-subtle);color:var(--accent)}.qs-choices{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.qs-choice{border-radius:var(--radius-md);border:2px solid var(--border-default);background:var(--bg-card);color:var(--text-primary);text-align:left;cursor:pointer;transition:var(--transition-fast);flex-direction:column;align-items:flex-start;gap:8px;padding:18px;display:flex}.qs-choice b{font-family:var(--font-display);font-size:16px}.qs-choice span{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.5}.qs-choice.real svg{color:var(--color-success)}.qs-choice.test svg{color:var(--color-warning)}.qs-choice.real:hover{border-color:var(--color-success);background:#4ade8014}.qs-choice.test:hover:not(:disabled){border-color:var(--color-warning);background:#facc1514}.qs-choice:disabled{opacity:.45;cursor:not-allowed}.qs-mode-badge{border-radius:999px;align-items:center;gap:6px;margin-left:12px;margin-right:auto;padding:3px 12px;font-size:12px;font-weight:800;display:inline-flex}.qs-mode-badge.real{color:var(--color-success);background:#4ade8026}.qs-mode-badge.test{color:var(--color-warning);background:#facc152e}@media (width<=640px){.qs-choices{grid-template-columns:1fr}}.qs-hint{color:var(--color-warning);margin:2px 0 0;font-size:11px}.isv-status{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.isv-status.todo{color:var(--color-warning);background:#d2992229}.isv-status.draft{background:var(--accent-subtle);color:var(--accent)}.isv-status.done{color:var(--color-success);background:#3fb95029}.isv-page{max-width:980px}.isv-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.isv-progress{color:var(--text-secondary);margin-left:auto;font-size:12px;font-weight:600}.isv-done{border-radius:var(--radius-sm);border:1px solid var(--color-success);color:var(--color-success);background:#3fb9501a;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.isv-head{flex-direction:column;gap:6px;padding:14px 16px;display:flex}.isv-title{color:var(--text-primary);align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.isv-sub{font-size:12px}.isv-instructions{white-space:pre-wrap;color:var(--text-secondary);margin:4px 0 0;font-size:13px}.isv-anon{color:var(--accent);font-size:12px}.isv-legend{color:var(--text-secondary);flex-wrap:wrap;gap:6px 14px;margin-top:4px;font-size:12px;display:flex}.isv-legend-item b{border-radius:var(--radius-sm);background:var(--accent-subtle);min-width:20px;height:20px;color:var(--accent);justify-content:center;align-items:center;margin-right:2px;font-size:11px;display:inline-flex}.isv-family{flex-direction:column;padding:10px 16px;display:flex}.isv-family-name{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border-default);padding:4px 0 8px;font-size:12px;font-weight:700}.isv-question{border-bottom:1px solid var(--border-muted);align-items:center;gap:16px;padding:10px 0;display:flex}.isv-question:last-child{border-bottom:none}.isv-qtext{color:var(--text-primary);white-space:pre-wrap;flex:1;font-size:13px}.isv-qtext b{color:var(--text-muted);margin-right:4px}.isv-question:not(.rated) .isv-qtext b{color:var(--color-warning)}.isv-rating{flex-shrink:0;gap:4px;display:flex}.isv-point{border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--bg-primary);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:700}.isv-point:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.isv-point.on{background:var(--accent);border-color:var(--accent);color:#fff}.isv-point:disabled{cursor:default;opacity:.7}.isv-point.on:disabled{opacity:1}@media (width<=700px){.isv-question{flex-direction:column;align-items:stretch;gap:8px}}.ics-page{flex-direction:column;gap:12px;padding:16px 24px;display:flex}.ics-head{align-items:center;gap:12px;display:flex}.ics-title{font-family:var(--font-display);color:var(--text-primary);font-size:18px;font-weight:700}.ics-video{color:var(--accent);margin-left:8px;font-size:13px;font-style:italic;font-weight:500}.ics-me{background:var(--accent-subtle);color:var(--accent);border-radius:999px;margin-left:6px;padding:0 6px;font-size:10px;font-weight:700}.ics-dbfg{color:#c084fc;background:#c084fc26;border-radius:999px;align-items:center;gap:3px;margin-left:8px;padding:0 6px;font-size:10px;font-weight:700;display:inline-flex}.ics-state{background:var(--bg-elevated);color:var(--text-secondary);border-radius:999px;align-items:center;gap:3px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-flex}.ics-state.submitted,.ics-state.open{color:var(--color-success);background:#4ade8026}.ics-state.draft{color:var(--color-warning);background:#facc1526}.ics-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:16px;display:grid}.ics-side{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);flex-direction:column;gap:4px;padding:10px;display:flex;position:sticky;top:0}.ics-pilots{grid-template-columns:1fr 1fr;gap:4px;margin-bottom:6px;display:grid}.ics-pilots button{border-radius:var(--radius-sm);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;padding:7px;font-weight:800}.ics-pilots button.on.CPT{color:var(--accent);border-color:var(--accent);background:#38bdf82e}.ics-pilots button.on.FO{color:#2dd4bf;background:#2dd4bf2e;border-color:#2dd4bf}.ics-seq{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);align-items:center;gap:4px;margin-top:6px;font-size:10px;font-weight:800;display:flex}.ics-task{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:6px 8px;font-size:12px;display:flex}.ics-task:hover{background:var(--bg-hover)}.ics-task.on{border-color:var(--accent);background:var(--accent-subtle)}.ics-task-num{color:var(--text-muted);min-width:22px;font-size:11px;font-weight:700}.ics-task-num.big{color:var(--accent);font-size:16px}.ics-task-name{flex:1;min-width:0}.ics-role{background:var(--bg-elevated);color:var(--text-secondary);border-radius:4px;padding:0 5px;font-size:10px;font-weight:800}.ics-role.PF{color:var(--accent)}.ics-dev{color:var(--color-warning);flex-shrink:0}.ics-main{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);flex-direction:column;gap:10px;padding:14px;display:flex}.ics-task-head{align-items:center;gap:10px;display:flex}.ics-task-title{font-size:16px;font-weight:700}.ics-pilot-name.CPT{color:var(--accent);font-weight:800}.ics-pilot-name.FO{color:#2dd4bf;font-weight:800}.ics-block-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin-top:6px;font-size:11px;font-weight:800}.ics-comps{flex-wrap:wrap;gap:8px;display:flex}.ics-comp{border-radius:var(--radius-md);border:2px solid var(--color-success);min-width:72px;color:var(--color-success);cursor:pointer;background:#4ade801f;padding:12px 14px;font-size:15px;font-weight:800;position:relative}.ics-comp.partial{border-color:var(--color-warning);color:var(--color-warning);background:#facc151f}.ics-comp.fail{border-color:var(--color-danger);color:var(--color-danger);background:#ef44441f}.ics-comp-fail{margin-left:6px;font-size:11px}.ics-guidance{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-card);align-items:center;gap:8px;padding:6px 8px;display:flex}.ics-guidance.off{opacity:.5}.ics-guidance-text{text-align:left;color:var(--text-primary);cursor:pointer;background:0 0;border:0;flex:1;font-size:13px}.ics-scope{background:var(--bg-elevated);color:var(--text-secondary);white-space:nowrap;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:800}.ics-tem{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.ics-nav{justify-content:space-between;margin-top:8px;display:flex}.ics-done{flex-direction:column;gap:12px;display:flex}.ics-done-head{color:var(--color-success);align-items:center;gap:8px;font-weight:700;display:flex}.ics-th-pilot.CPT{color:var(--accent)!important}.ics-th-pilot.FO{color:#2dd4bf!important}.ics-grade{border-radius:var(--radius-sm);background:var(--bg-elevated);min-width:26px;height:22px;color:var(--text-primary);justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:800;display:inline-flex}.ics-grade.none{color:var(--text-muted)}.ics-grade.ref{background:var(--accent-subtle);color:var(--accent)}.ics-grade.eq{color:var(--color-success);background:#4ade8040}.ics-grade.near{color:var(--color-success);background:#4ade801f}.ics-grade.off{color:var(--color-danger);background:#ef444433}.ics-dbfg-block{border-radius:var(--radius-md);background:#c084fc0f;border:2px solid #c084fc8c;flex-direction:column;gap:8px;padding:12px;display:flex}.ics-dbfg-head{color:#c084fc;align-items:center;gap:6px;font-size:14px;font-weight:800;display:flex}.ics-participants{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;font-size:13px;display:flex}.ics-part{color:var(--color-warning);background:#facc151f;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-flex}.ics-part.submitted{color:var(--color-success);background:#4ade8026}.ics-reopen{color:inherit;cursor:pointer;background:0 0;border:0;padding:0 2px}.ics-reveal{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ics-panel{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);flex-direction:column;gap:8px;padding:12px;display:flex}.ics-panel.dbfg{border:2px solid #c084fc8c}.ics-panel-title{align-items:center;gap:6px;font-size:13px;font-weight:800;display:flex}.ics-panel.dbfg .ics-panel-title{color:#c084fc}.ics-results tbody+tbody tr:first-child td{border-top:2px solid var(--border-default)}.ics-concord{flex-wrap:wrap;gap:6px;display:flex}.ics-concord-item{border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700}.ics-concord-item.ok{color:var(--color-success);background:#4ade8026}.ics-concord-item.warn{color:var(--color-danger);background:#ef444426}.ics-ok{color:var(--color-success)}.ics-miss{color:var(--color-danger)}@media (width<=900px){.ics-layout{grid-template-columns:1fr}.ics-side{position:static}}.ih-page{flex-direction:column;gap:18px;padding:20px 28px 32px;display:flex}.ih-hero{border-radius:var(--radius-lg);border:1px solid var(--border-default);box-shadow:var(--shadow-md);background:radial-gradient(900px 300px at -10% -40%,#38bdf847,#0000 60%),radial-gradient(700px 260px at 110% 120%,#2dd4bf2e,#0000 60%),linear-gradient(135deg,#0d1b2a 0%,#111a26 55%,#0f1720 100%);grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);align-items:stretch;gap:24px;padding:28px 32px;display:grid;position:relative;overflow:hidden}.ih-hero:after{content:"";pointer-events:none;background-image:radial-gradient(#ffffff0d 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}.ih-hero>*{z-index:1;position:relative}.ih-hero-text{flex-direction:column;justify-content:center;gap:6px;display:flex}.ih-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:800}.ih-title{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:clamp(26px,3.2vw,38px);font-weight:700;line-height:1.15}.ih-date{color:var(--text-secondary);text-transform:capitalize;align-items:center;gap:6px;margin:0;font-size:14px;display:inline-flex}.ih-next{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#090c108c;border:1px solid #38bdf859;flex-direction:column;gap:6px;padding:16px 18px;display:flex}.ih-next-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:800}.ih-next-name{font-family:var(--font-display);color:var(--text-primary);font-size:18px}.ih-next-meta{color:var(--text-secondary);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.ih-next-none{color:var(--text-muted);margin-top:6px;font-size:13px}.ih-next-btn{align-self:flex-start;align-items:center;gap:6px;margin-top:6px;display:inline-flex}.ih-resume{border-radius:var(--radius-md);border:1px solid var(--color-warning);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:#facc151a;align-items:center;gap:12px;padding:12px 16px;font-size:13px;display:flex}.ih-resume>svg{color:var(--color-warning);flex-shrink:0}.ih-resume-go{color:var(--color-warning);white-space:nowrap;align-items:center;gap:4px;margin-left:auto;font-weight:800;display:inline-flex}.ih-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.ih-stat{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-card);flex-direction:column;gap:2px;padding:14px 16px;display:flex}.ih-stat-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:800}.ih-stat-value{font-family:var(--font-display);color:var(--text-primary);font-size:26px;font-weight:700;line-height:1.2}.ih-stat-sub{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.ih-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ih-tile{--tone:var(--accent);--tone-bg:#38bdf81f;text-align:left;cursor:pointer;border-radius:var(--radius-lg);border:1px solid var(--border-default);background:var(--bg-card);min-height:150px;color:var(--text-primary);transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);align-items:center;gap:18px;padding:22px 24px;display:flex;position:relative}.ih-tile:hover{border-color:var(--tone);box-shadow:0 12px 28px #00000073, 0 0 0 1px var(--tone);background:linear-gradient(135deg, var(--tone-bg), var(--bg-card) 70%);transform:translateY(-3px)}.ih-tile:focus-visible{outline:2px solid var(--tone);outline-offset:2px}.ih-tile.teal{--tone:#2dd4bf;--tone-bg:#2dd4bf1f}.ih-tile.purple{--tone:#c084fc;--tone-bg:#c084fc1f}.ih-tile.amber{--tone:#fbbf24;--tone-bg:#fbbf241f}.ih-tile-icon{background:var(--tone-bg);width:64px;height:64px;color:var(--tone);border:1px solid color-mix(in srgb, var(--tone) 40%, transparent);border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ih-tile-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.ih-tile-title{font-family:var(--font-display);font-size:20px;font-weight:700}.ih-tile-text{color:var(--text-secondary);font-size:13px;line-height:1.5}.ih-tile-badge{background:var(--tone-bg);color:var(--tone);border-radius:999px;align-self:flex-start;align-items:center;gap:4px;margin-top:2px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-flex}.ih-tile-arrow{color:var(--text-muted);transition:transform var(--transition-fast), color var(--transition-fast);flex-shrink:0}.ih-tile:hover .ih-tile-arrow{color:var(--tone);transform:translate(4px)}.ih-sub-head{align-items:center;gap:12px;display:flex}.ih-sub-icon{border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.ih-sub-icon.teal{color:#2dd4bf;background:#2dd4bf1f}.ih-sub-icon.purple{color:#c084fc;background:#c084fc1f}.ih-sub-icon.amber{color:#fbbf24;background:#fbbf241f}.ih-sub-title{font-family:var(--font-display);margin:0;font-size:22px;font-weight:700}.ih-sub-hint{color:var(--text-secondary);margin:0;font-size:13px}.ih-filters{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-secondary);flex-wrap:wrap;align-items:flex-end;gap:10px;padding:12px;display:flex}.ih-filters .form-group{margin:0}.ih-filters .form-input{min-width:150px}.ih-status{white-space:nowrap;text-align:center;justify-content:center;align-items:center;display:inline-flex}.ih-result{border-radius:999px;align-items:center;padding:1px 8px;font-size:11px;font-weight:800;display:inline-flex}.ih-result.PERFORM{color:var(--color-success);background:#4ade8026}.ih-result.UNDERPERFORM{color:var(--color-danger);background:#ef444426}.ih-result.none{background:var(--bg-elevated);color:var(--text-muted)}.ih-prep-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.ih-prep{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-card);flex-direction:column;gap:8px;padding:16px;display:flex}.ih-prep-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.ih-prep-name{font-family:var(--font-display);font-size:16px;font-weight:700}.ih-prep-meta{color:var(--text-secondary);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.ih-prep-actions{gap:6px;margin-top:4px;display:flex}.ih-notice{border-radius:var(--radius-md);color:var(--text-primary);background:#4ade801a;border:1px solid #4ade8066;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.ih-notice>svg{color:var(--color-success);flex-shrink:0}.ih-notice-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:18px;line-height:1}.ih-section-title{font-family:var(--font-display);color:var(--text-primary);align-items:center;gap:8px;margin:4px 0 0;font-size:15px;font-weight:700;display:inline-flex}.ih-section-title svg{color:#2dd4bf}.ih-ahead{border-top:1px dashed var(--border-default);flex-direction:column;gap:12px;padding-top:16px;display:flex}.ih-ahead-head{flex-direction:column;gap:2px;display:flex}.ih-ahead .ih-section-title svg{color:#fbbf24}.ih-prep.ahead{border-style:dashed}.ih-prep-head>.badge{white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.ih-search{align-items:center;display:flex;position:relative}.ih-search svg{color:var(--text-muted);pointer-events:none;position:absolute;left:10px}.ih-search .form-input{width:100%;padding-left:30px}.ih-soon{text-align:center;border-radius:var(--radius-lg);border:1px dashed var(--border-default);background:var(--bg-secondary);color:var(--text-secondary);flex-direction:column;align-items:center;gap:10px;padding:48px 24px;display:flex}.ih-soon svg{color:#fbbf24}.ih-soon b{font-family:var(--font-display);color:var(--text-primary);font-size:18px}.ih-empty{text-align:center;color:var(--text-muted);border:1px dashed var(--border-default);border-radius:var(--radius-md);padding:28px;font-style:italic}@media (width<=1000px){.ih-hero{grid-template-columns:1fr}.ih-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.ih-page{padding:16px}.ih-tiles{grid-template-columns:1fr}.ih-tile{min-height:120px}}.tst-intro{font-size:var(--font-size-xs);color:var(--text-secondary);margin:var(--space-md) 0}.tst-error{font-size:var(--font-size-xs);color:var(--color-danger)}.tst-table-wrap{border:1px solid var(--border-default);border-radius:var(--radius-md);overflow-x:auto}.tst-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.tst-table th{text-align:left;font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--bg-elevated);border-bottom:1px solid var(--border-default);white-space:nowrap;padding:6px 10px;font-weight:600}.tst-table td{border-bottom:1px solid var(--border-muted);color:var(--text-primary);vertical-align:middle;padding:6px 10px}.tst-table tbody tr:nth-child(2n){background:var(--bg-secondary)}.tst-trainees{gap:var(--space-sm);flex-wrap:wrap;display:flex}.tst-trainee{align-items:center;gap:var(--space-xs);display:inline-flex}.tst-actions-col{text-align:right;white-space:nowrap}.tst-btn{font-size:var(--font-size-xs);align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.tst-actions-col .tst-btn+.tst-btn,.tst-ml{margin-left:var(--space-xs)}.summary-page{width:100%;padding:var(--space-xl)}.summary-overview{gap:var(--space-md);margin-top:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:repeat(4,1fr);display:grid}.overview-card{text-align:center;padding:var(--space-sm) var(--space-sm);justify-content:center;align-items:baseline;gap:var(--space-xs);flex-direction:row;display:flex}.overview-num{font-size:var(--font-size-lg);color:var(--accent);font-weight:700;line-height:1}.overview-unit{font-size:var(--font-size-sm);opacity:.7;font-weight:500}.overview-label{font-size:var(--font-size-xs);color:var(--text-secondary)}.overview-actual{font-size:var(--font-size-xs);color:var(--text-muted)}.scoring-table-wrapper{border-radius:var(--radius-sm);border:1px solid var(--border-default);margin-top:var(--space-md);overflow-x:auto}.scoring-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.scoring-table th,.scoring-table td{padding:var(--space-md);border:1px solid var(--border-muted);text-align:left}.scoring-table th{background:var(--bg-elevated);color:var(--text-secondary);z-index:1;font-weight:600;position:sticky;top:0}.scoring-table td{background:var(--bg-primary)}.score-col{min-width:80px;text-align:center!important}.comp-name-td{vertical-align:middle}.comp-name-cell{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.comp-fails-inline{width:100%;margin-top:var(--space-xs);flex-direction:column;gap:2px;display:flex}.fail-detail-inline{font-size:var(--font-size-xs);color:var(--color-danger)}.fail-detail-inline em{color:var(--text-muted)}.score-cell{vertical-align:middle;text-align:center!important}.score-num{font-size:var(--font-size-lg);font-weight:700;display:block}.score-detail{font-size:var(--font-size-xs);color:var(--text-muted);display:block}.score-final-cell{font-weight:800}.score-word{color:var(--text-secondary);font-size:11px;font-weight:600;line-height:1.25;display:block}.score-popup-word{color:var(--text-secondary);white-space:nowrap;font-size:10px;font-weight:600}.score-na{color:var(--text-muted);font-style:italic;font-size:var(--font-size-sm)}.score-required .score-word{color:var(--text-primary)}.score-met,.score-unmet{border-radius:999px;margin-top:3px;padding:1px 8px;font-size:10px;font-weight:700;display:inline-block}.score-met{background:var(--color-success-subtle,#2bb19826);color:var(--color-success)}.score-unmet{background:var(--color-warning-subtle);color:var(--color-warning)}.comp-na-row td{opacity:.6}.score-good{color:var(--color-success)!important}.score-ok{color:var(--accent)!important}.score-warn{color:var(--color-warning)!important}.score-bad{color:var(--color-danger)!important}.score-overridden{border:1px dashed var(--color-warning)!important;background:#ffc1070f!important}.score-override-tag{justify-content:center;align-items:center;gap:4px;margin-top:2px;display:flex}.score-revert-btn{border:1px solid var(--border-muted);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;padding:0 4px;font-size:12px;line-height:1.4}.score-revert-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.score-popup{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg,0 4px 12px #0000004d);z-index:10;white-space:nowrap;gap:4px;padding:6px 8px;display:flex;position:absolute;top:100%;left:50%;transform:translate(-50%)}.score-popup-btn{border:1px solid var(--border-muted);background:var(--bg-primary);min-width:44px;min-height:44px;font-weight:700;font-size:var(--font-size-md);cursor:pointer;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;padding:3px 10px;transition:transform .1s;display:inline-flex}.score-popup-btn:hover{border-color:var(--accent);transform:scale(1.15)}.score-popup-active{background:var(--bg-elevated);border:2px solid var(--accent)!important}.exercise-details{gap:var(--space-sm);margin-top:var(--space-md);flex-direction:column;display:flex}.exercise-detail{padding:var(--space-md)}.detail-skipped{opacity:.6}.detail-header{align-items:center;gap:var(--space-sm);display:flex}.detail-num{min-width:24px;color:var(--text-muted);font-weight:600}.detail-name{flex:1;font-weight:500}.detail-comment{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border-muted)}.detail-comment p{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:2px}.detail-tem{align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border-muted);flex-wrap:wrap;display:flex}.detail-tem p{width:100%;font-size:var(--font-size-sm);margin-top:var(--space-xs)}.strikethrough{text-decoration:line-through}.tem-summary{gap:var(--space-sm);margin-top:var(--space-md);flex-direction:column;display:flex}.tem-card{align-items:center;gap:var(--space-sm);padding:var(--space-md);flex-wrap:wrap;display:flex}.tem-card p{width:100%;margin-top:var(--space-xs);font-size:var(--font-size-sm)}.summary-actions{margin-top:var(--space-xl);padding:var(--space-xl);text-align:center}.sign-section{text-align:left}.sign-section .form-group{margin-bottom:var(--space-md)}.sign-section .form-textarea{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-primary)}.sign-section .form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}@media (width<=768px){.summary-overview{grid-template-columns:repeat(2,1fr)}.competency-grid{grid-template-columns:1fr}}.score-near{color:var(--color-warning);background:var(--color-warning-subtle);border-radius:4px;margin-top:3px;padding:1px 4px;font-size:10px;font-weight:600;line-height:1.3;display:block}.pilot-management-layout{padding-top:var(--space-xl);padding-left:var(--space-lg);padding-right:var(--space-lg);padding-bottom:var(--space-2xl)}.student-content{flex:1}.student-edit-form{padding:var(--space-md);margin-bottom:var(--space-md);animation:fadeIn var(--transition-normal)}.form-row-grid{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.form-row-grid .form-group+.form-group{margin-top:0}.platform-chips{flex-wrap:wrap;gap:6px;display:flex}.platform-chip{font-size:var(--font-size-xs);font-family:var(--font-family);border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:999px;padding:4px 12px}.platform-chip:hover{border-color:var(--accent);color:var(--accent)}.platform-chip.selected{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent);font-weight:600}.platform-chip.chip-purple.selected{color:#c084fc;background:#a855f726;border-color:#c084fc}.platform-chip.chip-purple:hover{color:#c084fc;border-color:#c084fc}.student-select-list{border:1px solid var(--border-default);border-radius:var(--radius-sm);max-height:200px;padding:var(--space-sm);flex-direction:column;gap:4px;display:flex;overflow-y:auto}.student-checkbox{align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);padding:4px;display:flex}.student-checkbox:hover{background:var(--bg-hover)}.student-checkbox input[type=checkbox]{accent-color:var(--accent)}.lib-td-actions{white-space:nowrap;vertical-align:middle;width:1%;display:table-cell!important}.actions-wrapper{justify-content:flex-end;align-items:center;gap:4px;display:flex!important}.lib-sort-label{align-items:center;gap:4px;display:inline-flex}.sort-arrow{transition:opacity var(--transition-fast);flex-shrink:0}.sort-arrow-idle{opacity:.25}.sort-arrow-active{opacity:1;color:var(--accent)}.lib-results-summary{font-size:var(--font-size-xs);color:var(--text-secondary);padding:var(--space-xs) 0;font-weight:500}.lib-clear-btn{white-space:nowrap}.col-filter-wrapper{vertical-align:middle;margin-left:2px;display:inline-flex;position:relative}.col-filter-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);opacity:.4;background:0 0;border:none;justify-content:center;align-items:center;padding:2px;display:inline-flex}.col-filter-btn:hover{opacity:1;color:var(--text-primary);background:var(--bg-hover)}.col-filter-active{opacity:1;color:var(--accent)}.col-filter-dropdown{z-index:100;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:180px;max-width:280px;max-height:260px;box-shadow:var(--shadow-lg);padding:var(--space-xs);animation:fadeIn var(--transition-fast);flex-direction:column;gap:1px;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.col-filter-option{text-align:left;width:100%;padding:5px var(--space-sm);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-xs);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;display:block;overflow:hidden}.col-filter-option:hover{background:var(--bg-hover)}.col-filter-option-active{background:var(--accent-subtle);color:var(--accent);font-weight:600}.compliance-modal-content{-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-default);box-shadow:inset 0 1px 0 var(--border-highlight), var(--shadow-lg);border-radius:var(--radius-xl);padding:var(--space-xl);width:1100px;max-width:92vw;max-height:85vh;animation:slideUp var(--transition-normal);background:#161b22eb;flex-direction:column;display:flex}.compliance-modal-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:flex-start;display:flex}.compliance-summary-bar{gap:var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-md);border:1px solid var(--border-muted);border-radius:var(--radius-md);background:#ffffff08;display:flex}.compliance-summary-stat{flex-direction:column;flex:1;align-items:center;gap:2px;display:flex}.compliance-summary-number{font-family:var(--font-display);font-size:var(--font-size-xl);letter-spacing:-.02em;font-weight:700}.compliance-summary-label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.compliance-table-wrapper{border-radius:var(--radius-sm);max-height:50vh;overflow-y:auto}@media (width<=768px){.form-row-grid{grid-template-columns:1fr}}.pa-modal{max-width:980px}.pa-body{max-height:calc(100vh - 200px);overflow:auto}.pa-note{border:1px dashed var(--color-warning);color:var(--color-warning);border-radius:6px;margin-bottom:10px;padding:8px 10px;font-size:12.5px}.pa-table{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:12.5px}.pa-table th{background:var(--bg-elevated);color:var(--text-secondary);border-bottom:2px solid var(--border-default);text-align:center;padding:6px 8px;font-size:11px;font-weight:700}.pa-table th.pa-label,.pa-table td.pa-label{text-align:left}.pa-table td{border-bottom:1px solid var(--border-muted);padding:5px 8px}.pa-table th.pa-sub{color:#0d5f8b;width:56px}.pa-table th.pa-sub.pm{color:#7c5cc4}.pa-c{text-align:center;font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:700}.pa-c.pm{color:#7c5cc4}.pa-c.empty{color:var(--text-muted);opacity:.5;font-weight:400}.pa-group td{background:var(--bg-secondary);font-weight:700}.pa-title{color:var(--text-secondary);margin:6px 0 8px;font-size:13px}.pa-sessions td,.pa-sessions th{text-align:left}.scheduler-overlay{z-index:1100}.scheduler-modal{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);flex-direction:column;width:96vw;max-width:1200px;max-height:92vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #00000080}.scheduler-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-default);background:var(--bg-elevated);justify-content:space-between;align-items:center;display:flex}.scheduler-header-left{align-items:center;gap:var(--space-sm);color:var(--accent);display:flex}.scheduler-header-left h3{color:var(--text-primary)}.scheduler-body{flex:1;min-height:0;display:flex;overflow:hidden}.scheduler-sidebar{border-right:1px solid var(--border-default);width:280px;min-width:280px;padding:var(--space-md);background:var(--bg-secondary);gap:var(--space-xs);flex-direction:column;display:flex;overflow-y:auto}.scheduler-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px;font-weight:700;font-family:var(--font-display);margin-bottom:var(--space-xs)}.scheduler-field{flex-direction:column;gap:3px;display:flex}.scheduler-label{color:var(--text-secondary);align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.scheduler-select{height:auto!important;padding:5px 8px!important;font-size:12px!important}.scheduler-divider{background:var(--border-default);height:1px;margin:var(--space-sm) 0}.scheduler-toggle-label{color:var(--text-muted);cursor:pointer;align-items:center;gap:4px;margin-left:auto;font-size:10px;font-weight:400;display:flex}.scheduler-toggle-label input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:12px;height:12px}.scheduler-auto-badge{color:var(--accent);border-radius:var(--radius-sm);text-align:center;font-size:10px;font-weight:600;font-family:var(--font-display);background:#38bdf814;border:1px solid #38bdf833;padding:4px 8px}.scheduler-day-detail{gap:var(--space-xs);flex-direction:column;display:flex}.scheduler-detail-row{border-radius:var(--radius-sm);align-items:center;gap:6px;padding:3px 6px;font-size:11px;display:flex}.scheduler-detail-row.status-available{color:var(--color-success);background:#4ade8014}.scheduler-detail-row.status-partly{color:var(--color-warning);background:#facc1514}.scheduler-detail-row.status-unavailable,.scheduler-detail-row.status-booked{color:var(--color-danger);background:#ef44440f}.scheduler-detail-icon{text-align:center;width:14px;font-size:12px}.scheduler-detail-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.scheduler-detail-hours{color:var(--text-muted);font-size:10px;font-family:var(--font-display)}.scheduler-sim-slots{margin-top:var(--space-xs)}.scheduler-slot{border-radius:3px;align-items:center;gap:6px;margin-bottom:2px;padding:2px 6px;font-size:10px;display:flex}.scheduler-slot.slot-free{color:var(--color-success);background:#4ade800f}.scheduler-slot.slot-booked{color:var(--color-danger);opacity:.7;background:#ef44440f}.scheduler-slot.slot-maint{color:var(--text-muted);opacity:.5;background:#94a3b80f;font-style:italic}.scheduler-slot.slot-selected{background:#6366f11a;box-shadow:0 0 6px #6366f133;border:1.5px solid var(--accent)!important}.scheduler-slot-label{min-width:28px;font-weight:700;font-family:var(--font-display)}.scheduler-slot-time{font-family:var(--font-display)}.scheduler-slot-status{margin-left:auto;font-weight:600}.scheduler-fit-badge{border-radius:var(--radius-sm);text-align:center;margin-top:4px;padding:3px 6px;font-size:10px;font-weight:600}.scheduler-fit-badge.fit-yes{color:var(--color-success);background:#4ade801a;border:1px solid #4ade8040}.scheduler-fit-badge.fit-no{color:var(--color-danger);background:#ef44440f;border:1px solid #ef444426}.scheduler-assign-btn{margin-top:var(--space-sm);width:100%;font-size:12px;padding:7px 12px!important}.scheduler-autofind-btn{width:100%;font-size:11px;padding:6px 10px!important}.scheduler-autofind-results{margin-top:var(--space-xs);flex-direction:column;gap:4px;max-height:200px;display:flex;overflow-y:auto}.scheduler-autofind-empty{color:var(--text-muted);text-align:center;padding:var(--space-sm);font-size:11px;font-style:italic}.scheduler-autofind-count{color:var(--accent);text-align:center;font-size:10px;font-weight:600;font-family:var(--font-display);padding:2px 6px}.scheduler-autofind-searching{color:var(--text-muted);align-items:center;gap:6px;padding:4px 6px;font-size:10px;display:flex}.scheduler-autofind-item{border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border-default);cursor:pointer;transition:all var(--transition-fast);padding:6px 8px}.scheduler-autofind-item:hover{border-color:var(--accent);background:#38bdf80a}.scheduler-autofind-name{color:var(--text-primary);align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.scheduler-autofind-role{color:var(--accent);font-size:9px;font-weight:700}.scheduler-autofind-warn{color:var(--color-warning);font-size:9px;font-style:italic}.scheduler-autofind-desc{color:var(--text-muted);margin-top:1px;font-size:10px}.scheduler-calendar-area{padding:var(--space-md);gap:var(--space-sm);flex-direction:column;flex:1;display:flex;overflow-y:auto}.scheduler-loading{color:var(--text-muted);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:#38bdf80a;border:1px solid #38bdf81a;align-items:center;gap:8px;font-size:12px;display:flex}.scheduler-spinner{animation:1s linear infinite spin}.scheduler-legend{gap:var(--space-md);color:var(--text-muted);font-size:10px;display:flex}.scheduler-legend-item{align-items:center;gap:4px;display:flex}.scheduler-legend-dot{border-radius:2px;width:10px;height:10px}.dot-clear{background:#4ade8066;border:1px solid #4ade8099}.dot-partial{background:#facc1559;border:1px solid #facc158c}.dot-blocked{background:#ef444440;border:1px solid #ef444466}.dot-unknown{background:var(--bg-elevated);border:1px solid var(--border-default)}.scheduler-months-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.scheduler-month-card{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-sm)}.scheduler-month-title{text-align:center;color:var(--text-primary);font-size:14px;font-weight:700;font-family:var(--font-display);padding:6px 0 8px}.scheduler-dow-row{grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:2px;display:grid}.scheduler-dow-cell{text-align:center;color:var(--text-muted);font-size:10px;font-weight:600;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;padding:3px 0}.scheduler-calendar-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.scheduler-day-cell{aspect-ratio:1;cursor:pointer;border:1px solid #0000;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;min-height:44px;transition:all .12s;display:flex;position:relative}.scheduler-day-cell.empty{cursor:default}.scheduler-day-cell.weekend{opacity:.7}.scheduler-day-cell.day-clear{background:#4ade801f;border-color:#4ade8040}.scheduler-day-cell.day-clear:hover{background:#4ade8038;border-color:#4ade8073}.scheduler-day-cell.day-partial{background:#facc1514;border-color:#facc1533}.scheduler-day-cell.day-partial:hover{background:#facc1529;border-color:#facc1566}.scheduler-day-cell.day-blocked{background:#ef44440f;border-color:#ef44441f}.scheduler-day-cell.day-blocked:hover{background:#ef44441f;border-color:#ef444440}.scheduler-day-cell.day-past{opacity:.3;cursor:default;background:0 0}.scheduler-day-cell.day-unknown{background:var(--bg-elevated)}.scheduler-day-cell.day-unknown:hover{background:var(--bg-secondary);border-color:var(--border-default)}.scheduler-day-cell.selected{box-shadow:0 0 0 2px #38bdf840;border-color:var(--accent)!important}.scheduler-day-num{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1}.scheduler-micro-dots{gap:2px;margin-top:3px;display:flex}.micro-dot{width:13px;height:10px;font-size:7px;font-weight:800;line-height:1;font-family:var(--font-display);border-radius:2px;justify-content:center;align-items:center;display:flex}.micro-dot.micro-ok{color:#4ade80;background:#4ade804d}.micro-dot.micro-partly{color:#facc15;background:#facc1540}.micro-dot.micro-blocked{color:#ef4444;background:#ef444433}.micro-dot.micro-unset{color:var(--text-muted);background:#94a3b826}.micro-dot.micro-unknown{color:var(--text-muted);background:#94a3b81a}.scheduler-session-switcher{flex-direction:column;gap:3px;display:flex}.scheduler-session-tab{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:8px;padding:6px 8px;font-size:11px;transition:all .12s;display:flex}.scheduler-session-tab:hover{background:var(--bg-elevated);border-color:var(--border-default)}.scheduler-session-tab.active{border-color:var(--accent);background:#38bdf814;box-shadow:0 0 0 1px #38bdf826}.scheduler-session-tab.confirmed{background:#4ade800f}.scheduler-session-tab.active.confirmed{background:#4ade801a;border-color:#4ade80}.scheduler-session-num{background:var(--bg-elevated);border:1px solid var(--border-default);width:18px;height:18px;color:var(--text-muted);font-size:9px;font-weight:700;font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.scheduler-session-tab.active .scheduler-session-num{background:var(--accent);border-color:var(--accent);color:#fff}.scheduler-session-tab.confirmed .scheduler-session-num{color:#fff;background:#4ade80;border-color:#4ade80}.scheduler-session-info{flex-direction:column;flex:1;min-width:0;display:flex}.scheduler-session-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.scheduler-session-role{color:var(--text-muted);font-size:9px;font-family:var(--font-display);font-weight:600}.scheduler-session-status{flex-shrink:0;font-size:11px;font-weight:700}.scheduler-session-status.confirmed{color:#4ade80}.scheduler-session-status.pending{color:var(--text-muted)}.scheduler-day-cell.day-claimed{cursor:not-allowed;opacity:.75;background:#38bdf81a;border-color:#38bdf84d}.scheduler-claimed-marker{color:var(--accent);margin-top:1px;font-size:7px;font-weight:800}.dot-claimed{background:#38bdf84d;border:1px solid #38bdf880}.scheduler-confirmed-badge{color:#4ade80;border-radius:var(--radius-sm);margin-top:var(--space-sm);background:#4ade8014;border:1px solid #4ade8040;align-items:center;gap:6px;padding:6px 8px;font-size:11px;font-weight:600;display:flex}.scheduler-mode-toggle{border:1px solid var(--border-default);border-radius:var(--radius-sm);display:flex;overflow:hidden}.scheduler-mode-btn{background:var(--bg-secondary);color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:600;font-family:var(--font-display);border:none;align-items:center;gap:4px;padding:4px 10px;transition:all .12s;display:flex}.scheduler-mode-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.scheduler-mode-btn.active{background:var(--accent);color:#fff}.scheduler-mode-btn+.scheduler-mode-btn{border-left:1px solid var(--border-default)}.scheduler-auto-schedule{gap:var(--space-md);flex-direction:column;flex:1;display:flex}.scheduler-auto-loading{padding:var(--space-lg);border-radius:var(--radius-md);color:var(--accent);background:#38bdf80a;border:1px solid #38bdf81f;align-items:center;gap:12px;display:flex}.scheduler-auto-loading-text{flex-direction:column;gap:2px;display:flex}.scheduler-auto-error{padding:var(--space-md);border-radius:var(--radius-md);color:var(--color-danger);background:#ef44440f;border:1px solid #ef444426;justify-content:space-between;align-items:center;font-size:12px;display:flex}.scheduler-auto-noresults{text-align:center;padding:var(--space-xl) var(--space-lg);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.scheduler-auto-noresults-icon{margin-bottom:var(--space-sm);opacity:.7;font-size:40px}.scheduler-auto-proposals{gap:var(--space-md);flex-direction:column;display:flex}.scheduler-auto-proposals-header{align-items:baseline;gap:var(--space-sm);padding:0 var(--space-xs);display:flex}.scheduler-auto-fallback{align-items:center;gap:var(--space-sm);padding:var(--space-sm);border-top:1px solid var(--border-default);justify-content:center;display:flex}.scheduler-proposal-card{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);transition:border-color .15s;overflow:hidden}.scheduler-proposal-card:hover{border-color:var(--accent)}.scheduler-proposal-header{border-bottom:1px solid var(--border-default);background:var(--bg-elevated);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.scheduler-proposal-title{flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.scheduler-proposal-num{color:var(--accent);font-weight:700;font-family:var(--font-display);font-size:13px}.scheduler-proposal-location,.scheduler-proposal-sim{color:var(--text-secondary);align-items:center;gap:3px;font-size:11px;display:flex}.scheduler-proposal-accept{flex-shrink:0}.scheduler-proposal-sessions{flex-direction:column;display:flex}.scheduler-proposal-session{border-bottom:1px solid #ffffff08;align-items:center;gap:10px;padding:8px 12px;font-size:11px;display:flex}.scheduler-proposal-session:last-child{border-bottom:none}.scheduler-proposal-day-badge{border-radius:var(--radius-sm);min-width:42px;color:var(--accent);text-align:center;font-size:10px;font-weight:700;font-family:var(--font-display);background:#38bdf81a;padding:2px 6px}.scheduler-proposal-session-info{flex-direction:column;flex:1;min-width:0;display:flex}.scheduler-proposal-session-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.scheduler-proposal-session-date{color:var(--text-muted);font-size:10px;font-family:var(--font-display)}.scheduler-proposal-session-meta{flex-shrink:0;align-items:center;gap:10px;display:flex}.scheduler-proposal-slot{color:var(--color-success);font-size:10px;font-weight:600;font-family:var(--font-display);background:#4ade8014;border-radius:3px;padding:2px 6px}.scheduler-proposal-instr{color:var(--text-secondary);align-items:center;gap:3px;font-size:10px;display:flex}@media (width<=800px){.scheduler-body{flex-direction:column}.scheduler-sidebar{border-right:none;border-bottom:1px solid var(--border-default);width:100%;min-width:0;max-height:300px}.scheduler-months-grid{grid-template-columns:1fr}}.planner-root{flex-direction:column;gap:0;height:100%;min-height:0;display:flex}@keyframes plannerSpin{to{transform:rotate(360deg)}}.planner-spinner{animation:.8s linear infinite plannerSpin}.planner-filter-bar{border-bottom:1px solid var(--border-default,#ffffff0f);background:var(--bg-card,#ffffff08);padding:16px 24px}.planner-filter-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.planner-filter-group{flex-direction:column;gap:4px;min-width:0;display:flex}.planner-filter-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary,#8b949e);font-size:10px;font-weight:600}.planner-filter-arrow{color:var(--text-secondary,#8b949e);opacity:.4;flex-shrink:0;margin-bottom:8px}.planner-select{appearance:none;background:var(--bg-secondary,#161b22);border:1px solid var(--border-default,#ffffff14);color:var(--text-primary,#e6edf3);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238b949e'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:6px;min-width:160px;padding:7px 28px 7px 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.planner-select:focus{border-color:var(--accent,#58a6ff);outline:none;box-shadow:0 0 0 2px #58a6ff26}.planner-select:disabled{opacity:.4;cursor:not-allowed}.planner-select-wide{min-width:240px}.planner-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.planner-btn:disabled{opacity:.4;cursor:not-allowed}.planner-btn-primary{background:linear-gradient(135deg, var(--accent,#58a6ff), #387ed1);color:#fff;box-shadow:0 2px 8px #387ed133}.planner-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #387ed159}.planner-btn-accent{color:var(--accent,#58a6ff);background:#58a6ff1f;border:1px solid #58a6ff33}.planner-btn-accent:hover:not(:disabled){background:#58a6ff33}.planner-btn-ghost{color:var(--text-secondary,#8b949e);background:0 0;padding:6px 12px}.planner-btn-ghost:hover:not(:disabled){color:var(--text-primary,#e6edf3);background:#ffffff0a}.planner-course-summary{align-items:center;gap:12px;margin-top:10px;display:flex}.planner-course-name{color:var(--text-primary,#e6edf3);font-size:14px;font-weight:600}.planner-course-meta{color:var(--text-secondary,#8b949e);font-size:11px}.planner-loading-overlay{color:var(--text-primary,#e6edf3);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:80px 40px;font-size:15px;font-weight:600;display:flex}.planner-loading-sub{color:var(--text-secondary,#8b949e);font-size:12px;font-weight:400}.planner-error-panel{color:var(--text-primary,#e6edf3);background:#f851490f;border:1px solid #f8514933;border-radius:10px;align-items:center;gap:16px;margin:24px;padding:32px 40px;display:flex}.planner-error-title{margin-bottom:4px;font-size:15px;font-weight:600}.planner-error-detail{color:var(--text-secondary,#8b949e);font-size:12px}.planner-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:80px 40px;display:flex}.planner-empty-icon{color:var(--text-secondary,#8b949e);opacity:.25;margin-bottom:16px}.planner-empty-title{color:var(--text-primary,#e6edf3);margin:0 0 8px;font-size:18px;font-weight:600}.planner-empty-desc{color:var(--text-secondary,#8b949e);max-width:440px;margin:0;font-size:13px;line-height:1.5}.planner-discovery{flex:1;min-height:0;overflow-y:auto}.planner-split-view{gap:0;min-height:100%;display:flex}.planner-proposals-col{border-right:1px solid var(--border-default,#ffffff0f);flex-direction:column;width:380px;min-width:380px;display:flex;overflow-y:auto}.planner-proposals-header{color:var(--text-primary,#e6edf3);border-bottom:1px solid var(--border-default,#ffffff0f);background:var(--bg-primary,#0d1117);z-index:2;align-items:center;gap:8px;padding:14px 20px;font-size:13px;font-weight:600;display:flex;position:sticky;top:0}.planner-refine-bar{border-bottom:1px solid var(--border-default,#ffffff0f);z-index:2;background:#ffffff04;flex-direction:column;gap:6px;padding:8px 12px;display:flex;position:sticky;top:45px}.planner-refine-row{align-items:center;gap:6px;display:flex}.planner-refine-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.planner-refine-icon{color:var(--text-secondary,#8b949e);opacity:.5;flex-shrink:0}.planner-select-sm{width:100%;background-position:right 6px center!important;border-radius:5px!important;min-width:0!important;padding:4px 22px 4px 8px!important;font-size:11px!important}.planner-refine-clear{margin-left:auto;color:var(--accent,#58a6ff)!important;gap:3px!important;padding:3px 8px!important;font-size:10px!important}.planner-proposals-list{flex-direction:column;gap:12px;padding:12px;display:flex}.planner-proposal-badge{background:var(--bg-card,#ffffff08);border:1px solid var(--border-default,#ffffff0f);cursor:pointer;border-radius:10px;padding:16px;transition:all .2s;position:relative}.planner-proposal-badge:hover{background:#58a6ff0a;border-color:#58a6ff4d}.planner-proposal-badge.selected{border-color:var(--accent,#58a6ff);background:#58a6ff0f;box-shadow:0 0 0 1px #58a6ff26,0 4px 16px #0003}.planner-proposal-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.planner-proposal-num{color:var(--accent,#58a6ff);background:#58a6ff1f;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.planner-proposal-dates{color:var(--text-primary,#e6edf3);font-size:12px;font-weight:600}.planner-proposal-body{flex-direction:column;gap:5px;margin-bottom:12px;display:flex}.planner-proposal-row{color:var(--text-secondary,#8b949e);align-items:center;gap:8px;font-size:12px;display:flex}.planner-proposal-row svg{opacity:.5;flex-shrink:0}.planner-role-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:3px;margin-left:4px;padding:1px 6px;font-size:9px;font-weight:700}.planner-role-badge.role-tri{color:#3fb950;background:#3fb95026}.planner-role-badge.role-tre{color:#d29922;background:#d2992226}.planner-proposal-sessions{border-top:1px solid #ffffff0d;flex-direction:column;gap:4px;margin-bottom:12px;padding-top:10px;display:flex}.planner-proposal-session-row{color:var(--text-secondary,#8b949e);align-items:center;gap:8px;font-size:11px;display:flex}.planner-session-day{color:var(--text-primary,#e6edf3);min-width:52px;font-weight:600}.planner-session-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.planner-session-slot{color:var(--text-secondary,#8b949e);opacity:.7;font-size:10px}.planner-proposal-select-btn{justify-content:center;width:100%;padding:6px 12px;font-size:12px}.planner-calendar-col{flex:1;padding:16px;overflow-y:auto}.planner-calendar-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.planner-month-card{background:var(--bg-card,#ffffff08);border:1px solid var(--border-default,#ffffff0f);border-radius:10px;padding:14px}.planner-month-title{color:var(--text-primary,#e6edf3);margin-bottom:8px;padding-left:2px;font-size:14px;font-weight:700}.planner-dow-row{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;display:grid}.planner-dow{text-transform:uppercase;text-align:center;color:var(--text-secondary,#8b949e);opacity:.6;padding:2px 0;font-size:10px;font-weight:600}.planner-days-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.planner-day-cell{aspect-ratio:1;color:var(--text-primary,#e6edf3);cursor:default;border-radius:6px;justify-content:center;align-items:center;font-size:12px;font-weight:500;transition:all .15s;display:flex;position:relative}.planner-day-empty{visibility:hidden}.planner-day-out{color:var(--text-secondary,#8b949e);opacity:.3}.planner-day-weekend{color:var(--text-secondary,#8b949e);opacity:.4}.planner-day-past{opacity:.2}.planner-day-has-proposal{cursor:pointer;color:#3fb950;background:#3fb9501f;font-weight:600}.planner-day-has-proposal:hover{background:#3fb95038}.planner-day-selected{font-weight:700;box-shadow:0 0 0 2px #58a6ff33;background:var(--accent,#58a6ff)!important;color:#fff!important}.planner-day-dot{background:#3fb950;border-radius:50%;width:4px;height:4px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.planner-day-selected .planner-day-dot{background:#fff9}.planner-day-count{display:none}.planner-assign{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.planner-assign-header{border-bottom:1px solid var(--border-default,#ffffff0f);align-items:center;gap:16px;padding:12px 24px;display:flex}.planner-back-btn{font-size:12px}.planner-assign-title{color:var(--text-primary,#e6edf3);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.planner-check-icon{color:#3fb950}.planner-assign-split{flex:1;gap:0;min-height:0;display:flex}.planner-assign-detail{border-right:1px solid var(--border-default,#ffffff0f);width:420px;min-width:420px;padding:20px;overflow-y:auto}.planner-detail-card{background:var(--bg-card,#ffffff08);border:1px solid var(--border-default,#ffffff0f);border-radius:10px;padding:20px}.planner-detail-card-header{color:var(--text-primary,#e6edf3);align-items:center;gap:10px;margin-bottom:6px;font-size:16px;font-weight:700;display:flex}.planner-detail-card-sub{color:var(--text-secondary,#8b949e);align-items:center;gap:6px;margin-bottom:16px;font-size:12px;display:flex}.planner-detail-sessions{flex-direction:column;gap:12px;display:flex}.planner-detail-session{background:#ffffff05;border:1px solid #ffffff0a;border-radius:8px;align-items:flex-start;gap:12px;padding:12px;display:flex}.planner-detail-session-num{width:28px;height:28px;color:var(--accent,#58a6ff);background:#58a6ff1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.planner-detail-session-info{flex-direction:column;flex:1;gap:3px;display:flex}.planner-detail-session-name{color:var(--text-primary,#e6edf3);font-size:13px;font-weight:600}.planner-detail-session-date{color:var(--text-secondary,#8b949e);align-items:center;gap:5px;font-size:11px;display:flex}.planner-detail-session-slot{color:var(--text-secondary,#8b949e);opacity:.7;align-items:center;gap:5px;font-size:11px;display:flex}.planner-detail-session-instructor{color:var(--text-secondary,#8b949e);white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:flex}.planner-assign-pilots{flex:1;padding:20px;overflow-y:auto}.planner-pilots-card{background:var(--bg-card,#ffffff08);border:1px solid var(--border-default,#ffffff0f);border-radius:10px;max-width:520px;padding:20px}.planner-pilots-card-header{color:var(--text-primary,#e6edf3);align-items:center;gap:10px;margin-bottom:20px;font-size:16px;font-weight:700;display:flex}.planner-pilot-row{margin-bottom:20px}.planner-pilot-label{color:var(--text-primary,#e6edf3);align-items:center;gap:6px;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.planner-pilot-row .planner-select{width:100%}.planner-avail-warn-inline{color:#d29922;background:#d299221a;border-radius:10px;align-items:center;gap:4px;margin-left:auto;padding:1px 8px;font-size:10px;font-weight:600;display:inline-flex}.planner-avail-ok-inline{color:#3fb950;background:#3fb9501a;border-radius:10px;align-items:center;gap:4px;margin-left:auto;padding:1px 8px;font-size:10px;font-weight:600;display:inline-flex}.planner-avail-warnings{background:#d299220f;border:1px solid #d2992226;border-radius:6px;margin-top:8px;padding:10px}.planner-avail-warn-item{color:#d29922;align-items:center;gap:6px;margin-bottom:3px;font-size:11px;display:flex}.planner-avail-force{color:var(--text-secondary,#8b949e);margin-top:6px;font-size:10px;font-style:italic}.planner-create-section{border-top:1px solid #ffffff0d;margin-top:8px;padding-top:16px}.planner-create-btn{justify-content:center;width:100%;padding:10px 20px;font-size:14px}.planner-create-hint{text-align:center;color:var(--text-secondary,#8b949e);margin-top:8px;font-size:11px;display:block}.planner-create-error{color:#f85149;background:#f851490f;border:1px solid #f8514926;border-radius:6px;align-items:center;gap:6px;margin-bottom:12px;padding:8px 12px;font-size:12px;display:flex}.pr-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pr-toolbar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.pr-search-box{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:6px;align-items:center;gap:6px;min-width:260px;height:34px;padding:0 10px;transition:border-color .15s;display:flex}.pr-search-box:focus-within{border-color:var(--color-primary)}.pr-search-box svg{color:var(--text-muted);flex-shrink:0}.pr-search-input{color:var(--text-primary);width:100%;font-size:13px;font-family:var(--font-family);background:0 0;border:none;outline:none}.pr-search-input::placeholder{color:var(--text-muted)}.pr-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:2px;display:flex}.pr-search-clear:hover{color:var(--text-primary);background:var(--bg-hover)}.pr-count{color:var(--text-secondary);font-size:12px;font-family:var(--font-display);white-space:nowrap;align-items:center;gap:5px;display:flex}.pr-view-toggle{border:1px solid var(--border-default);border-radius:6px;display:flex;overflow:hidden}.pr-view-btn{background:var(--bg-elevated);width:32px;height:30px;color:var(--text-muted);cursor:pointer;border:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.pr-view-btn:not(:last-child){border-right:1px solid var(--border-default)}.pr-view-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.pr-view-btn.active{background:var(--color-primary);color:#fff}.pr-card{padding:var(--space-lg);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;transition:all var(--transition-normal);box-shadow:inset 0 1px 0 var(--border-highlight), var(--shadow-sm)}.pr-card:hover{background:var(--bg-hover);box-shadow:inset 0 1px 0 var(--border-highlight), var(--shadow-md);border-color:#38bdf84d;transform:translateY(-2px)}.pr-avatar-lg{border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-default);width:44px;height:44px;font-size:14px;font-family:var(--font-display);color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.pr-avatar{background:var(--bg-elevated);border:1px solid var(--border-default);width:30px;height:30px;font-size:11px;font-family:var(--font-display);color:var(--accent);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.pr-table-wrap{border:1px solid var(--border-default);border-radius:10px;overflow:hidden}.pr-table{border-collapse:collapse;width:100%;font-size:12px}.pr-th{text-align:center;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--bg-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:10px;font-weight:600;font-family:var(--font-display);border-bottom:2px solid #ffffff0f;padding:9px 10px;position:relative}.pr-th--sortable{cursor:pointer;transition:color .15s}.pr-th--sortable:hover{color:var(--text-primary)}.pr-sort-label{align-items:center;gap:3px;display:inline-flex}.pr-tr{border-bottom:1px solid var(--border-muted,var(--border-default));cursor:pointer;transition:background .12s}.pr-tr:last-child{border-bottom:none}.pr-tr:hover{background:var(--bg-hover)!important}.pr-td{color:var(--text-secondary);vertical-align:middle;padding:7px 10px}.pr-fleet-pill{fontSize:9px;font-weight:700;font-family:var(--font-display);background:var(--accent-subtle);color:var(--accent);letter-spacing:.03em;border:1px solid #38bdf833;border-radius:4px;padding:2px 6px;font-size:9px}.pr-rule-overdue{font-size:8px;font-weight:700;font-family:var(--font-display);letter-spacing:.03em;color:var(--color-danger);background:#ef444414;border:1px solid #ef444433;border-radius:3px;padding:2px 5px}.pr-rule-due{font-size:8px;font-weight:700;font-family:var(--font-display);letter-spacing:.03em;color:var(--color-warning);background:#facc1514;border:1px solid #facc1533;border-radius:3px;padding:2px 5px}.pr-col-filter-wrapper{vertical-align:middle;align-items:center;margin-left:4px;display:inline-flex}.pr-col-filter-btn{width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.pr-col-filter-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.pr-col-filter-active{background:#38bdf81a;color:var(--accent)!important}.pr-col-filter-dropdown{z-index:9999;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:8px;flex-direction:column;min-width:160px;max-width:260px;max-height:320px;animation:.1s fadeIn;display:flex;position:fixed;overflow:hidden;box-shadow:0 8px 32px #00000073}.pr-col-filter-list{flex-direction:column;gap:1px;max-height:280px;padding:4px;display:flex;overflow-y:auto}.pr-col-filter-option{text-align:left;width:100%;min-height:28px;color:var(--text-primary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:6px 10px;font-family:inherit;font-size:12px;line-height:1.4;display:block;overflow:hidden}.pr-col-filter-option:hover{background:var(--bg-hover)}.pr-col-filter-option-active{background:var(--accent-subtle);color:var(--accent);font-weight:600}.portfolio-tab{flex-direction:column;gap:16px;display:flex}.portfolio-loading,.portfolio-empty{text-align:center;color:var(--text-muted);padding:32px}.portfolio-alerts{flex-wrap:wrap;gap:8px;display:flex}.alert-card{border-radius:6px;padding:8px 14px;font-size:13px;font-weight:500}.alert-amber{background:var(--color-warning-subtle);color:var(--color-warning);border:1px solid var(--color-warning)}.alert-red{background:var(--color-danger-subtle);color:var(--color-danger);border:1px solid var(--color-danger)}.portfolio-enrollment{background:var(--accent-subtle);border:1px solid var(--accent);color:var(--text-primary);border-radius:6px;padding:8px 14px;font-size:13px}.portfolio-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.portfolio-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:16px}.portfolio-card h4{color:var(--text-primary);margin:0 0 12px;font-size:14px;font-weight:600}.sparklines-grid{flex-direction:column;gap:6px;display:flex}.sparkline-row{color:var(--text-primary);align-items:center;gap:8px;font-size:12px;display:flex}.spark-label{width:32px;color:var(--text-secondary);font-weight:600}.spark-avg{text-align:right;font-variant-numeric:tabular-nums;width:28px}.spark-chart{flex:0 0 80px}.spark-trend{min-width:80px;font-size:11px;font-weight:500}.portfolio-summary-bar{color:var(--text-muted);gap:24px;margin-bottom:8px;font-size:12px;display:flex}.portfolio-table{border-collapse:collapse;width:100%;font-size:12px}.portfolio-table th,.portfolio-table td{border-bottom:1px solid var(--border-default);text-align:left;color:var(--text-primary);padding:6px 8px}.portfolio-table th{color:var(--text-secondary);text-transform:uppercase;font-size:11px;font-weight:600}.th-mini{text-align:center;width:36px}.score-cell{text-align:center;font-variant-numeric:tabular-nums}.score-low{color:var(--color-danger);font-weight:600}.badge{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge-perform{background:var(--color-success-subtle);color:var(--color-success)}.badge-underperform{background:var(--color-danger-subtle);color:var(--color-danger)}.badge-instructor_decision{background:var(--color-warning-subtle);color:var(--color-warning)}.recs-card{border-left:3px solid var(--color-warning)}.recs-note{color:var(--text-muted);margin:0 0 8px;font-size:13px}.recs-weak h5,.recs-exercises h5,.recs-focus h5{color:var(--text-primary);margin:12px 0 6px;font-size:13px;font-weight:600}.recs-weak-list{flex-direction:column;gap:4px;display:flex}.recs-weak-item{color:var(--text-primary);align-items:center;gap:12px;padding:4px 0;font-size:12px;display:flex}.recs-trigram{width:32px;font-weight:700}.recs-exercise-list{color:var(--text-primary);margin:0;padding-left:18px;font-size:12px;line-height:1.6}.recs-focus-list{flex-wrap:wrap;gap:6px;display:flex}.recs-focus-item{background:var(--color-warning-subtle);color:var(--color-warning);border-radius:4px;padding:2px 8px;font-size:11px}.recs-module-type{color:var(--text-secondary);margin-top:12px;font-size:12px}.row-expanded{background:var(--bg-secondary)}.detail-row td{background:var(--bg-secondary);border-bottom:2px solid var(--border-default);padding:8px 12px!important}.record-detail{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:12px;display:flex}.detail-section{line-height:1.5}.detail-failed-obs{color:var(--color-danger)}@media (width<=900px){.portfolio-grid{grid-template-columns:1fr}}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{text-transform:none;appearance:button;cursor:pointer;overflow:visible}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{box-sizing:border-box;flex-direction:column;align-items:stretch;height:100%;display:flex}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar :before,.rbc-calendar :after{-webkit-box-sizing:inherit;box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{position:absolute;inset:0;overflow:hidden}.rbc-ellipsis,.rbc-show-more,.rbc-row-segment .rbc-event-content,.rbc-event-label{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{text-overflow:ellipsis;white-space:nowrap;text-align:center;vertical-align:middle;border-bottom:1px solid #ddd;flex:1 0;min-height:0;padding:0 3px;font-size:90%;font-weight:700;overflow:hidden}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{color:inherit;cursor:pointer;-webkit-user-select:text;user-select:text;background:0 0;border:none;margin:0;padding:0}.rbc-row-content{-webkit-user-select:none;user-select:none;z-index:4;position:relative}.rbc-row-content-scrollable{flex-direction:column;height:100%;display:flex}.rbc-row-content-scrollable .rbc-row-content-scroll-container{-ms-overflow-style:none;scrollbar-width:none;-ms-overflow-style:none;scrollbar-width:none;height:100%;overflow-y:scroll}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:10px;font-size:16px;display:flex}.rbc-toolbar .rbc-toolbar-label{text-align:center;flex-grow:1;padding:0 10px}.rbc-toolbar button{color:#373a3c;text-align:center;vertical-align:middle;white-space:nowrap;background:0 0;border:1px solid #ccc;border-radius:4px;margin:0;padding:.375rem 1rem;line-height:normal;display:inline-block}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background-color:#e6e6e6;background-image:none;border-color:#adadad;box-shadow:inset 0 3px 5px #00000020}.rbc-toolbar button:active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button.rbc-active:focus{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.rbc-toolbar button:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:hover{color:#373a3c;cursor:pointer;background-color:#e6e6e6;border-color:#adadad}.rbc-btn-group{white-space:nowrap;display:inline-block}.rbc-btn-group>button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:0 4px 4px 0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px 0 0 4px}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media (width<=767px){.rbc-toolbar{flex-direction:column}}.rbc-event,.rbc-day-slot .rbc-background-event{box-sizing:border-box;-webkit-box-shadow:none;box-shadow:none;color:#fff;cursor:pointer;text-align:left;background-color:#3174ad;border:none;border-radius:5px;width:100%;margin:0;padding:2px 5px}.rbc-slot-selecting .rbc-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-slot-selecting .rbc-background-event{cursor:inherit;pointer-events:none}.rbc-event.rbc-selected,.rbc-day-slot .rbc-selected.rbc-background-event{background-color:#265985}.rbc-event:focus,.rbc-day-slot .rbc-background-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{box-shadow:-1px 1px 5px #33333380}.rbc-event-continues-prior{border-top-left-radius:0;border-bottom-left-radius:0}.rbc-event-continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-right-radius:0;border-bottom-left-radius:0}.rbc-row{flex-direction:row;display:flex}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{z-index:4;color:#3174ad;background-color:#ffffff4d;height:auto;font-size:85%;font-weight:700;line-height:normal}.rbc-show-more:hover,.rbc-show-more:focus{color:#265985}.rbc-month-view{-webkit-user-select:none;user-select:none;border:1px solid #ddd;flex-direction:column;flex:1 0 0;width:100%;height:100%;display:flex;position:relative}.rbc-month-header{flex-direction:row;display:flex}.rbc-month-row{flex-direction:column;flex:1 0 0;height:100%;display:flex;position:relative;overflow:hidden}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{text-align:right;flex:1 1 0;min-width:0;padding-right:5px}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{flex-direction:row;flex:1 0 0;display:flex;right:1px;overflow:hidden}.rbc-day-bg{flex:1 0}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{z-index:5;background-color:#fff;border:1px solid #e5e5e5;padding:10px;position:absolute;box-shadow:0 5px 15px #00000040}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{flex-direction:column;flex:1 0 0;display:flex;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{border-spacing:0;border-collapse:collapse;border:1px solid #ddd;width:100%}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{vertical-align:top;padding:5px 10px}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{text-transform:lowercase;padding-left:15px;padding-right:15px}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:left;border-bottom:1px solid #ddd;padding:3px 5px}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{flex-direction:column;min-height:100%;display:flex}.rbc-time-column .rbc-timeslot-group{flex:1}.rbc-timeslot-group{border-bottom:1px solid #ddd;flex-flow:column;min-height:40px;display:flex}.rbc-time-gutter,.rbc-header-gutter{flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{margin-right:10px;position:absolute;inset:0}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-event,.rbc-day-slot .rbc-background-event{border:1px solid #265985;flex-flow:column wrap;align-items:flex-start;min-height:20px;max-height:100%;display:flex;position:absolute;overflow:hidden}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{flex:none;width:auto;padding-right:5px}.rbc-day-slot .rbc-event-content{word-wrap:break-word;flex:1 1 0;width:100%;height:100%;min-height:1em;line-height:1}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{z-index:10;background-color:#fff;border-right:1px solid #ddd;margin-right:-1px;position:sticky;left:0}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{flex:1 0 0;min-width:auto}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-header,.rbc-time-view-resources .rbc-day-bg{flex:1 1 0;-ms-flex-preferred-size:0 px;flex-basis:0 px;width:140px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{flex:1 0 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{z-index:10;color:#fff;background-color:#00000080;width:100%;padding:3px;font-size:75%;position:absolute}.rbc-slot-selecting{cursor:move}.rbc-time-view{border:1px solid #ddd;flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.rbc-time-view .rbc-time-gutter{white-space:nowrap;text-align:right}.rbc-time-view .rbc-allday-cell{box-sizing:content-box;width:100%;height:100%;position:relative}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{z-index:4;position:relative}.rbc-time-view .rbc-row{box-sizing:border-box;min-height:20px}.rbc-time-header{flex-direction:row;flex:none;display:flex}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-left:1px solid #ddd;border-right-width:0}.rbc-time-header>.rbc-row:first-child,.rbc-time-header>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{border-left:1px solid #ddd;flex-direction:column;flex:1;min-width:0;display:flex}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;flex-shrink:0}.rbc-time-content{border-top:2px solid #ddd;flex:1 0;align-items:flex-start;width:100%;display:flex;position:relative;overflow-y:auto}.rbc-time-content>.rbc-time-gutter{flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{-webkit-user-select:none;user-select:none;width:100%}.rbc-current-time-indicator{z-index:3;pointer-events:none;background-color:#74ad31;height:1px;position:absolute;left:0;right:0}.rbc-resource-grouping.rbc-time-header-content{flex-direction:column;display:flex}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.pdash{gap:var(--space-lg);width:100%;padding:var(--space-lg);flex-direction:column;animation:.3s pdash-fadeIn;display:flex}@keyframes pdash-fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pdash-welcome-bar{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex;position:relative}.pdash-greeting{font-size:var(--font-size-lg);color:var(--text-primary);font-weight:700;font-family:var(--font-display);margin:0}.pdash-subtitle{font-size:var(--font-size-xs);color:var(--text-secondary);margin:4px 0 0}.pdash-bell-btn{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-default);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.pdash-bell-btn:active{background:var(--bg-elevated);border-color:var(--accent);color:var(--accent)}.pdash-bell-badge{background:var(--color-danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.pdash-notif-dropdown{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-default);border-radius:var(--radius-md);z-index:100;flex-direction:column;width:340px;max-height:420px;margin-top:8px;animation:.15s pdash-slideDown;display:flex;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 12px 40px #0006}@keyframes pdash-slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pdash-notif-header{border-bottom:1px solid var(--border-default);color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;padding:12px 16px;font-size:12px;font-weight:600;display:flex}.pdash-notif-mark-all{color:var(--accent);cursor:pointer;border-radius:var(--radius-sm);font-size:11px;font-weight:600;font-family:var(--font-family);background:0 0;border:none;padding:2px 6px}.pdash-notif-mark-all:active{background:var(--accent-subtle)}.pdash-notif-list{flex:1;overflow-y:auto}.pdash-notif-item{border-bottom:1px solid var(--border-muted);align-items:flex-start;gap:10px;padding:12px 16px;display:flex}.pdash-notif-item.unread{background:#38bdf80a}.pdash-notif-dot{background:0 0;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:6px}.pdash-notif-item.unread .pdash-notif-dot{background:var(--accent)}.pdash-notif-content{flex-direction:column;gap:2px;min-width:0;display:flex}.pdash-notif-title{color:var(--text-primary);font-size:12px;font-weight:600}.pdash-notif-body{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.pdash-notif-time{color:var(--text-muted);font-size:10px}.pdash-notif-empty{text-align:center;color:var(--text-muted);padding:24px 16px;font-size:12px}.pdash-compliance-row{gap:var(--space-md);display:flex}.pdash-compliance-pill{align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);background:var(--bg-card);border:1px solid;flex:1;min-height:52px;padding:14px 16px;display:flex}.pdash-compliance-pill.valid{color:var(--color-success);border-color:#4ade8040}.pdash-compliance-pill.expiring{color:var(--color-warning);border-color:#facc1540}.pdash-compliance-pill.expired{color:var(--color-danger);border-color:#f8514940}.pdash-compliance-pill .pill-count{font-size:20px;font-weight:700;font-family:var(--font-display)}.pdash-compliance-pill .pill-label{text-transform:uppercase;letter-spacing:.04em;opacity:.8;font-size:11px;font-weight:500}.pdash-section{gap:var(--space-md);flex-direction:column;display:flex}.pdash-section-title{align-items:center;gap:var(--space-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0;font-size:11px;font-weight:600;display:flex}.pdash-section-count{background:var(--color-danger);color:#fff;border-radius:999px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:700}.pdash-action-list{gap:var(--space-md);flex-direction:column;display:flex}.pdash-action-card{align-items:center;gap:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-card);transition:border-color var(--transition-fast);padding:16px 20px;display:flex}.pdash-action-icon{border-radius:var(--radius-md);background:var(--bg-elevated);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.pdash-action-body{flex:1;min-width:0}.pdash-action-title{color:var(--text-primary);margin:0;font-size:13px;font-weight:600}.pdash-action-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 0;font-size:11px;display:flex}.pdash-action-meta svg{flex-shrink:0}.pdash-action-btn{align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);font-size:12px;font-weight:600;font-family:var(--font-display);cursor:pointer;white-space:nowrap;min-height:44px;transition:all var(--transition-fast);border:1px solid;padding:10px 18px;display:flex}.pdash-action-btn.acknowledge{color:var(--color-success);background:#4ade801a;border-color:#4ade804d}.pdash-action-btn.acknowledge:active{background:#4ade8033}.pdash-action-btn.upload{color:var(--accent);background:#38bdf814;border-color:#38bdf840}.pdash-action-btn.upload:active{background:#38bdf829}.pdash-action-btn.availability{color:var(--accent);background:#38bdf814;border-color:#38bdf840}.pdash-action-btn.availability:active{background:#38bdf829}.pdash-action-btn:disabled{opacity:.5;cursor:not-allowed}.pdash-all-clear{align-items:center;gap:var(--space-sm);padding:var(--space-2xl) var(--space-lg);background:var(--bg-card);border-radius:var(--radius-md);text-align:center;color:var(--color-success);border:1px solid #4ade8033;flex-direction:column;display:flex}.pdash-all-clear p{margin:0;font-size:15px;font-weight:600}.pdash-all-clear span{color:var(--text-secondary);font-size:12px}.pdash-event-list{gap:var(--space-sm);flex-direction:column;display:flex}.pdash-event-card{align-items:center;gap:var(--space-md);border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-default);padding:14px 16px;display:flex}.pdash-event-date-box{border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-default);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.pdash-event-day{font-size:18px;font-weight:700;font-family:var(--font-display);color:var(--text-primary);line-height:1}.pdash-event-month{text-transform:uppercase;color:var(--text-muted);letter-spacing:.04em;font-size:9px;font-weight:600}.pdash-event-info{flex:1;min-width:0}.pdash-event-title{color:var(--text-primary);margin:0;font-size:13px;font-weight:500}.pdash-event-meta{align-items:center;gap:var(--space-md);color:var(--text-secondary);margin-top:4px;font-size:11px;display:flex}.pdash-event-meta span{align-items:center;gap:4px;display:flex}.pdash-event-role{background:var(--accent-subtle);color:var(--accent);border:1px solid #38bdf833;border-radius:999px;padding:1px 8px;font-size:10px;font-weight:600}.pdash-event-course{color:#a78bfa;background:#8b5cf61a;border:1px solid #8b5cf633;border-radius:999px;padding:1px 8px;font-size:10px;font-weight:600}.pdash-empty-card{align-items:center;gap:var(--space-sm);padding:var(--space-xl);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-muted);text-align:center;flex-direction:column;display:flex}.pdash-empty-card p{color:var(--text-secondary);margin:0;font-size:12px}.pdash-quick-links{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.pdash-quick-link{align-items:center;gap:var(--space-md);border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-default);color:var(--text-secondary);font-size:13px;font-weight:500;font-family:var(--font-display);cursor:pointer;min-height:52px;transition:border-color var(--transition-fast), color var(--transition-fast);padding:16px 20px;display:flex}.pdash-quick-link:active{border-color:var(--accent);color:var(--accent);background:var(--bg-elevated)}.pdash-loading{justify-content:center;align-items:center;gap:var(--space-md);height:60vh;color:var(--text-secondary);font-size:13px;display:flex}.pdash-spinner{border:2px solid #38bdf84d;border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:1s linear infinite pdash-spin}@keyframes pdash-spin{to{transform:rotate(360deg)}}@media (width<=768px){.pdash{padding:var(--space-md)}.pdash-compliance-row{flex-direction:column}.pdash-action-card{text-align:center;flex-direction:column;align-items:stretch}.pdash-action-icon{align-self:center}.pdash-action-meta{justify-content:center}.pdash-action-btn{justify-content:center;width:100%}.pdash-quick-links{grid-template-columns:1fr}.pdash-notif-dropdown{width:calc(100vw - 32px);right:-16px}}.phist{gap:var(--space-lg);width:100%;max-width:100%;height:calc(100vh - 80px);padding:var(--space-lg);flex-direction:column;margin:0 auto;animation:.3s phist-fadeIn;display:flex}.phist-table-wrapper{flex:1;min-height:0;max-height:none!important}@keyframes phist-fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.phist-stats-row{gap:var(--space-md);display:flex}.phist-stat{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);flex-direction:column;flex:1;align-items:center;gap:4px;padding:16px;display:flex}.phist-stat-value{font-size:24px;font-weight:700;font-family:var(--font-display);color:var(--text-primary)}.phist-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:10px;font-weight:600}.phist-filter-row{align-items:center;gap:var(--space-sm);color:var(--text-muted);display:flex}.phist-filter-pill{font-size:12px;font-weight:500;font-family:var(--font-family);background:var(--bg-card);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:999px;align-items:center;gap:6px;padding:5px 14px;display:inline-flex}.phist-filter-pill:hover{border-color:var(--accent);color:var(--accent)}.phist-filter-pill.active{border-color:var(--accent);color:var(--accent);background:#38bdf814;font-weight:600}.phist-filter-count{background:var(--bg-elevated);color:var(--text-muted);border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.phist-filter-pill.active .phist-filter-count{color:var(--accent);background:#38bdf826}.phist-empty{align-items:center;gap:var(--space-sm);padding:var(--space-2xl);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);text-align:center;color:var(--text-muted);flex-direction:column;display:flex}.phist-empty p{color:var(--text-secondary);margin:0;font-size:14px;font-weight:500}.phist-empty span{color:var(--text-muted);font-size:12px}.phist-course-list{gap:var(--space-sm);flex-direction:column;display:flex}.phist-course-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden}.phist-course-header{align-items:center;gap:var(--space-md);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;font-family:var(--font-family);background:0 0;border:none;min-height:60px;padding:16px 20px;display:flex}.phist-course-header:active{background:var(--bg-elevated)}.phist-course-toggle{color:var(--text-muted);flex-shrink:0}.phist-course-info{flex:1;min-width:0}.phist-course-top{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.phist-course-name{color:var(--text-primary);font-size:14px;font-weight:600}.phist-course-meta{align-items:center;gap:var(--space-md);color:var(--text-secondary);flex-wrap:wrap;margin-top:4px;font-size:11px;display:flex}.phist-course-meta span{align-items:center;gap:4px;display:flex}.phist-source-badge{text-transform:uppercase;letter-spacing:.04em;border:1px solid;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:9px;font-weight:700;display:inline-flex}.phist-rule-tags{color:var(--text-muted);align-items:center;gap:4px;font-size:10px;font-weight:500;display:flex}.phist-result-badge{text-transform:uppercase;border:1px solid;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:10px;font-weight:700;display:inline-flex}.phist-result-badge.pass{color:var(--color-success);background:#4ade801a;border-color:#4ade804d}.phist-result-badge.fail{color:var(--color-danger);background:#f851491a;border-color:#f851494d}.phist-result-badge.pending{color:var(--text-muted);background:var(--bg-elevated);border-color:var(--border-default)}.phist-export-btn{border-radius:var(--radius-sm);background:var(--accent);border:1px solid var(--accent);color:#fff;cursor:pointer;width:40px;min-width:40px;height:40px;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.phist-export-btn:active{background:var(--accent-hover);border-color:var(--accent-hover)}.phist-sessions{border-top:1px solid var(--border-muted);padding:0 20px 16px}.phist-session-row{align-items:center;gap:var(--space-md);border-bottom:1px solid var(--border-muted);padding:12px 0;display:flex}.phist-session-row:last-child{border-bottom:none}.phist-session-index{background:var(--bg-elevated);border:1px solid var(--border-default);width:28px;height:28px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.phist-session-info{flex:1;min-width:0}.phist-session-name{color:var(--text-primary);font-size:13px;font-weight:500}.phist-session-meta{align-items:center;gap:var(--space-md);color:var(--text-secondary);margin-top:3px;font-size:11px;display:flex}.phist-session-meta span{align-items:center;gap:3px;display:flex}.phist-session-result{text-transform:uppercase;border:1px solid;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600}.phist-session-result.perform{color:var(--color-success);background:#4ade801a;border-color:#4ade804d}.phist-session-result.underperform{color:var(--color-danger);background:#f851491a;border-color:#f851494d}.phist-session-status{text-transform:uppercase;color:var(--text-muted);align-items:center;gap:4px;font-size:10px;font-weight:600;display:flex}.phist-session-status.completed{color:var(--color-success)}.phist-loading{justify-content:center;align-items:center;gap:var(--space-md);height:60vh;color:var(--text-secondary);font-size:13px;display:flex}.phist-spinner{border:2px solid #38bdf84d;border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:1s linear infinite phist-spin}@keyframes phist-spin{to{transform:rotate(360deg)}}@media (width<=768px){.phist{padding:var(--space-md)}.phist-stats-row{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.phist-filter-row{flex-wrap:wrap}.phist-course-header{flex-wrap:wrap;padding:12px 16px}.phist-course-meta{flex-wrap:wrap}.phist-sessions{padding:0 16px 12px}.phist-session-row{gap:var(--space-sm);flex-wrap:wrap}}.avail-page{gap:var(--space-lg);width:100%;padding:var(--space-lg);animation:fadeIn var(--transition-normal);flex-direction:column;display:flex}.avail-top-bar{justify-content:space-between;align-items:center;gap:var(--space-md);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:inset 0 1px 0 var(--border-highlight), var(--shadow-sm);flex-wrap:wrap;padding:12px 16px;display:flex}.avail-defaults{align-items:center;gap:var(--space-sm);color:var(--text-secondary);font-size:12px;font-family:var(--font-display);display:flex}.avail-defaults label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;font-size:10px;font-weight:600}.avail-defaults input[type=time]{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-family);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;width:90px;padding:3px 6px;font-size:11px}.avail-defaults input[type=time]:focus{border-color:var(--accent);outline:none}.avail-defaults .avail-sep{color:var(--text-muted);font-size:11px}.avail-hour-select{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-family);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;cursor:pointer;min-width:68px;padding:3px 6px;font-size:11px}.avail-hour-select:focus{border-color:var(--accent);outline:none}.theme-light .avail-hour-select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.avail-grid-container{gap:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=700px){.avail-grid-container{grid-template-columns:1fr}}.avail-month-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden}.avail-month-title{background:var(--bg-secondary);font-family:var(--font-display);color:var(--text-primary);letter-spacing:.02em;border-bottom:1px solid var(--border-default);padding:8px 12px;font-size:12px;font-weight:600}.avail-dow-row{grid-template-columns:repeat(7,1fr);gap:1px;padding:4px 6px 2px;display:grid}.avail-dow-cell{text-align:center;font-size:9px;font-weight:600;font-family:var(--font-display);color:var(--text-muted);text-transform:uppercase;padding:2px 0}.avail-calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;padding:4px 6px 6px;display:grid}.avail-day-cell{aspect-ratio:1;cursor:pointer;-webkit-user-select:none;user-select:none;border:1.5px solid #0000;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;min-height:38px;transition:all .12s;display:flex;position:relative}.avail-day-cell:hover{z-index:2;transform:scale(1.08)}.avail-day-cell.empty{cursor:default;pointer-events:none}.avail-day-cell.past{opacity:.2;pointer-events:none;cursor:default}.avail-day-cell.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-subtle)}.avail-day-num{font-size:11px;font-weight:600;font-family:var(--font-display);color:var(--text-primary);line-height:1}.avail-day-cell.weekend .avail-day-num{color:var(--text-muted)}.avail-day-cell.status-no{background:var(--bg-elevated);border-color:#0000}.avail-day-cell.status-no:hover{background:var(--bg-hover);border-color:var(--border-default)}.avail-day-cell.status-yes{background:#4ade8026;border-color:#4ade8066}.avail-day-cell.status-yes .avail-day-num{color:var(--color-success)}.avail-day-cell.status-yes:hover{background:#4ade8040}.avail-day-cell.status-partly{background:#facc151f;border-color:#facc1566}.avail-day-cell.status-partly .avail-day-num{color:var(--color-warning)}.avail-day-cell.status-partly:hover{background:#facc1538}.avail-day-time{font-size:7px;font-family:var(--font-family);color:var(--color-warning);opacity:.85;white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:1px;line-height:1;overflow:hidden}.avail-day-hint{font-size:7px;font-family:var(--font-family);color:var(--color-success);opacity:.6;margin-top:1px;line-height:1}.avail-day-cell.status-booked{cursor:not-allowed;background:#4299e126;border-color:#4299e166}.avail-day-cell.status-booked .avail-day-num{color:var(--accent)}.avail-day-cell.status-booked:hover{background:#4299e133;transform:none}.avail-day-booked{margin-top:1px;font-size:8px;line-height:1}.avail-time-popover{z-index:9999;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);flex-direction:column;gap:6px;min-width:180px;padding:10px 12px;animation:.1s fadeIn;display:flex;position:fixed;box-shadow:0 8px 24px #00000080}.avail-time-popover-title{font-size:10px;font-weight:600;font-family:var(--font-display);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.avail-time-popover-row{align-items:center;gap:6px;display:flex}.avail-time-popover-row input[type=time]{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-family);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;width:100px;padding:4px 6px;font-size:12px}.avail-time-popover-row input[type=time]:focus{border-color:var(--accent);outline:none}.avail-legend{align-items:center;gap:var(--space-md);color:var(--text-secondary);font-size:11px;font-family:var(--font-display);display:flex}.avail-legend-item{align-items:center;gap:4px;display:flex}.avail-legend-swatch{border:1px solid;border-radius:3px;width:12px;height:12px}.avail-stats{gap:var(--space-md);color:var(--text-secondary);font-size:11px;font-family:var(--font-display);display:flex}.avail-stats span{align-items:center;gap:3px;display:flex}.avail-stats .stat-count{color:var(--text-primary);font-weight:700}.avail-save-bar{justify-content:flex-end;align-items:center;gap:var(--space-md);display:flex}.avail-dirty-dot{background:var(--color-warning);border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite pulse}.theme-light .avail-defaults input[type=time],.theme-light .avail-time-popover-row input[type=time]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (width<=640px){.avail-page{padding:var(--space-md)}.avail-top-bar{flex-direction:column;align-items:stretch}.avail-day-cell{min-height:32px}.avail-day-num{font-size:10px}}.tc-page{width:100%;padding:var(--space-lg);gap:var(--space-lg);animation:fadeIn var(--transition-normal);flex-direction:column;display:flex}.tc-header{justify-content:space-between;align-items:center;display:flex}.tc-title{font-family:var(--font-display);font-size:var(--font-size-xl);color:var(--text-primary);letter-spacing:-.02em;font-weight:600}.tc-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(360px,1fr));display:grid}.tc-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-default);box-shadow:inset 0 1px 0 var(--border-highlight), var(--shadow-sm);border-radius:var(--radius-md);padding:var(--space-lg);gap:var(--space-md);transition:all var(--transition-normal);flex-direction:column;display:flex}.tc-card:hover{box-shadow:inset 0 1px 0 var(--border-highlight), var(--shadow-md);background:#2d333b66;transform:translateY(-2px)}.tc-card-header{justify-content:space-between;align-items:flex-start;display:flex}.tc-card-name-row{align-items:center;gap:var(--space-md);min-width:0;display:flex}.tc-card-icon{border-radius:var(--radius-sm);background:var(--accent-subtle);width:40px;height:40px;color:var(--accent);border:1px solid #38bdf833;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tc-card-name{font-family:var(--font-display);font-size:var(--font-size-md);color:var(--text-primary);min-width:0;font-weight:600;line-height:1.3}.tc-card-actions{flex-shrink:0;gap:4px;display:flex}.tc-action-btn{min-width:30px!important;min-height:30px!important;padding:4px!important}.tc-card-body{gap:var(--space-xs);flex-direction:column;display:flex}.tc-card-detail{align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--text-secondary);display:flex}.tc-card-detail svg{color:var(--text-muted);flex-shrink:0}.tc-card-badges{gap:var(--space-xs);margin-top:var(--space-xs);padding-top:var(--space-md);border-top:1px solid var(--border-muted);flex-wrap:wrap;display:flex}.tc-sim-badge{background:var(--accent-subtle);color:var(--accent);font-size:var(--font-size-xs);white-space:nowrap;border:1px solid #38bdf826;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-weight:600;display:inline-flex}.tc-sim-badge svg{opacity:.7}.tc-api-badge{color:#34d399;font-size:var(--font-size-xs);white-space:nowrap;background:#34d3991a;border:1px solid #34d39933;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-weight:600;display:inline-flex}.tc-api-badge svg{opacity:.8}.tc-api-section{padding-top:var(--space-md);border-top:1px solid var(--border-muted)}.tc-api-toggle-row{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.tc-toggle{background:var(--bg-tertiary,#3a3f47);border:1px solid var(--border-default);cursor:pointer;border-radius:11px;flex-shrink:0;width:40px;height:22px;padding:0;transition:background .2s,border-color .2s;position:relative}.tc-toggle-on{background:#34d39940;border-color:#34d39966}.tc-toggle-knob{background:var(--text-muted);border-radius:50%;width:16px;height:16px;transition:transform .2s,background .2s;position:absolute;top:2px;left:2px}.tc-toggle-on .tc-toggle-knob{background:#34d399;transform:translate(18px)}.tc-api-fields{gap:var(--space-sm);margin-top:var(--space-md);padding:var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-muted);border-radius:var(--radius-sm);flex-direction:column;animation:.2s fadeIn;display:flex}.tc-api-fields .form-label{align-items:center;gap:6px;display:flex}.tc-api-fields .form-label svg{color:var(--text-muted)}.tc-secret-row{align-items:stretch;gap:6px;display:flex}.tc-secret-row .form-input{flex:1}.tc-secret-toggle{min-width:36px!important;min-height:36px!important;padding:6px!important}.tc-empty{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-2xl) var(--space-lg);background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-default);border-radius:var(--radius-md);text-align:center;flex-direction:column;display:flex}.tc-empty svg{color:var(--text-muted)}.tc-empty p{font-size:var(--font-size-sm);color:var(--text-secondary)}.tc-modal{width:580px}.tc-form{gap:var(--space-md);margin-top:var(--space-md);flex-direction:column;display:flex}.tc-bridge-section{padding-top:var(--space-md);border-top:1px solid var(--border-muted);gap:var(--space-sm);flex-direction:column;display:flex}.tc-bridge-grid{margin-top:var(--space-xs);border:1px solid var(--border-muted);background:var(--bg-secondary);border-radius:6px;flex-direction:column;gap:2px;max-height:300px;display:flex;overflow-y:auto}.tc-bridge-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-muted);z-index:1;background:#00000026;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:6px 8px;font-size:10px;font-weight:700;display:grid;position:sticky;top:0}.tc-bridge-row{border-bottom:1px solid #ffffff08;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:grid}.tc-bridge-row:last-child{border-bottom:none}.tc-bridge-field{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.tc-bridge-example{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.tc-bridge-select{height:24px!important;padding:2px 4px!important;font-size:10px!important}@keyframes tcSpin{to{transform:rotate(360deg)}}.tc-spin{animation:1s linear infinite tcSpin}.tc-form-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:2px}.tc-loading{justify-content:center;align-items:center;gap:var(--space-md);height:60vh;color:var(--text-secondary);font-size:var(--font-size-sm);display:flex}.tc-spinner{border:2px solid #38bdf84d;border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin}@media (width<=768px){.tc-page{padding:var(--space-md)}.tc-grid{grid-template-columns:1fr}.tc-header{gap:var(--space-md);flex-direction:column;align-items:flex-start}.tc-modal{width:90vw}}.re-page{width:100%;padding:var(--space-lg);gap:var(--space-md);animation:fadeIn var(--transition-normal);flex-direction:column;display:flex}.re-header{justify-content:space-between;align-items:center;display:flex}.re-title{font-family:var(--font-display);font-size:var(--font-size-xl);color:var(--text-primary);letter-spacing:-.02em;font-weight:600}.re-section{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-default);box-shadow:inset 0 1px 0 var(--border-highlight), var(--shadow-sm);border-radius:var(--radius-md);overflow:hidden}.re-section-header{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-muted);justify-content:space-between;align-items:center;display:flex}.re-section-title-row{align-items:center;gap:var(--space-sm);display:flex}.re-section-icon{border-radius:var(--radius-sm);background:var(--accent-subtle);width:28px;height:28px;color:var(--accent);border:1px solid #38bdf833;flex-shrink:0;justify-content:center;align-items:center;display:flex}.re-section-icon svg{width:15px;height:15px}.re-section-icon.purple{color:#c084fc;background:#a855f726;border-color:#a855f740}.re-section-icon.teal{color:#2dd4bf;background:#2dd4bf26;border-color:#2dd4bf40}.re-section-icon.blue{color:#60a5fa;background:#60a5fa26;border-color:#60a5fa40}.re-section-icon.green{color:#2bb198;background:#2bb19826;border-color:#2bb19840}.re-section-icon.amber{color:#fbbf24;background:#fbbf2426;border-color:#fbbf2440}.re-section-title{font-family:var(--font-display);font-size:var(--font-size-sm);color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.re-section-count{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:500}.re-section-body{padding:var(--space-md)}.re-tag-grid{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.re-pill{background:var(--accent-subtle);color:var(--accent);font-size:var(--font-size-xs);transition:all var(--transition-fast);animation:fadeIn var(--transition-fast);border:1px solid #38bdf833;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-weight:600;display:inline-flex}.re-pill:hover{background:#38bdf838;border-color:#38bdf859}.re-pill.purple{color:#c084fc;background:#a855f726;border:1px solid #a855f740}.re-pill.purple:hover{background:#a855f740;border-color:#a855f766}.re-pill.teal{color:#2dd4bf;background:#2dd4bf26;border:1px solid #2dd4bf40}.re-pill.teal:hover{background:#2dd4bf40;border-color:#2dd4bf66}.re-pill.blue{color:#60a5fa;background:#60a5fa26;border:1px solid #60a5fa40}.re-pill.blue:hover{background:#60a5fa40;border-color:#60a5fa66}.re-pill.green{color:#2bb198;background:#2bb19826;border:1px solid #2bb19840}.re-pill.green:hover{background:#2bb19840;border-color:#2bb19866}.re-pill.amber{color:#fbbf24;background:#fbbf2426;border:1px solid #fbbf2440}.re-pill.amber:hover{background:#fbbf2440;border-color:#fbbf2466}.re-pill-name{letter-spacing:.02em;white-space:nowrap}.re-pill-delete{color:inherit;cursor:pointer;transition:all var(--transition-fast);opacity:0;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:1px;display:flex}.re-pill:hover .re-pill-delete{opacity:.6}.re-pill-delete:hover{color:var(--color-danger);background:var(--color-danger-subtle);opacity:1!important}.re-pill.pending-delete{background:var(--color-danger-subtle)!important;border-color:#ef444480!important}.re-pill.pending-delete .re-pill-name{color:var(--color-danger)}.re-pill-delete.visible{opacity:1;color:var(--color-danger)}.re-inline-form{align-items:center;gap:var(--space-sm);padding-top:var(--space-sm);animation:fadeIn var(--transition-fast);flex-wrap:wrap;display:flex}.re-inline-input{padding:5px var(--space-md);background:var(--bg-primary);border:1px solid var(--border-default);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-xs);min-width:200px;transition:all var(--transition-fast);border-radius:999px}.re-inline-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle);outline:none}.re-inline-input::placeholder{color:var(--text-muted)}.re-inline-btn{cursor:pointer;width:26px;height:26px;transition:all var(--transition-fast);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.re-inline-btn svg{width:14px;height:14px}.re-inline-btn.confirm{background:var(--accent-subtle);color:var(--accent)}.re-inline-btn.confirm:hover{background:var(--accent);color:#fff}.re-inline-btn.cancel{background:var(--bg-elevated);color:var(--text-muted)}.re-inline-btn.cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.re-inline-btn.confirm.warning{background:var(--color-warning-subtle);color:var(--color-warning);animation:1.5s ease-in-out infinite pulse}.re-inline-btn.confirm.warning:hover{background:var(--color-warning);color:#fff}.re-warning{width:100%;font-size:var(--font-size-xs);color:var(--color-warning);animation:fadeIn var(--transition-fast);align-items:flex-start;gap:5px;padding:4px 0 0;line-height:1.4;display:flex}.re-warning svg{flex-shrink:0;margin-top:1px}.re-empty{align-items:center;gap:var(--space-sm);color:var(--text-muted);font-size:var(--font-size-xs);padding:var(--space-xs) 0;display:flex}.re-empty svg{opacity:.5}.re-loading{justify-content:center;align-items:center;gap:var(--space-md);height:60vh;color:var(--text-secondary);font-size:var(--font-size-sm);display:flex}.re-spinner{border:2px solid #38bdf84d;border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin}.re-error{padding:var(--space-sm) var(--space-md);background:var(--color-danger-subtle);color:var(--color-danger);border-radius:var(--radius-sm);font-size:var(--font-size-sm);align-items:center;gap:var(--space-sm);border:1px solid #f851494d;display:flex}@media (width<=768px){.re-page{padding:var(--space-md)}.re-section-header{gap:var(--space-sm);flex-direction:column;align-items:flex-start}.re-inline-form{flex-direction:column;align-items:stretch}.re-inline-input{min-width:unset;width:100%}}.re-subfamilies{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.re-subfamily{border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md) var(--space-md);gap:var(--space-sm);flex-direction:column;display:flex}.re-subfamily-header{align-items:center;gap:var(--space-sm);display:flex}.re-subfamily-title{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:600}.re-subfamily-header .btn{margin-left:auto}.re-section-header{cursor:pointer;-webkit-user-select:none;user-select:none}.re-section-header:hover{background:var(--bg-hover)}.re-section.collapsed>.re-section-header{border-bottom:none}.re-section.collapsed>.re-section-body{display:none}.re-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .15s}.re-chevron.open{transform:rotate(90deg)}.re-ebt-intro{color:var(--text-secondary);margin:0 0 10px;font-size:12.5px;line-height:1.5}.re-ebt-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;display:grid}.re-ebt-item{border:1px solid var(--border-default);border-radius:8px;gap:10px;padding:8px 10px;font-size:12.5px;display:flex}.re-ebt-item p{color:var(--text-secondary);margin:2px 0 0;font-size:11.5px;line-height:1.4}.re-ebt-code{color:#062d42;background:#6f9;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-weight:800;display:inline-flex}.re-pill-lock{color:var(--text-muted);align-items:center;margin-left:4px;display:inline-flex}.re-tree{flex-direction:column;gap:10px;display:flex}.re-tree-nature{border:1px solid var(--border-default);border-radius:8px;padding:8px 10px}.re-tree-head,.re-tree-req{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.re-tree-head{padding-bottom:6px}.re-tree-req{border-top:1px solid var(--border-default);padding:6px 0 6px 20px;font-size:13px}.re-tree-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);min-width:210px;font-size:10px}.re-tree-origins{flex-wrap:wrap;align-items:center;gap:6px;margin-left:12px;display:flex}.re-tree-add{align-items:center;gap:4px;display:inline-flex}.re-tree-add .re-inline-input{min-width:160px}.re-tree-add-origin{border:1px dashed var(--border-default);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:3px;padding:2px 10px;font-family:inherit;font-size:11px;display:inline-flex}.re-tree-add-origin:hover{color:var(--accent);border-color:var(--accent)}.re-tree-confirm{color:var(--color-danger)}.re-tree-status{border:1px solid var(--border-default);border-radius:6px;display:inline-flex;overflow:hidden}.re-tree-status button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 8px;font-family:inherit;font-size:11px}.re-tree-status button+button{border-left:1px solid var(--border-default)}.re-tree-status button.on.mandatory{background:var(--color-danger-subtle);color:var(--color-danger);font-weight:600}.re-tree-status button.on.optional{background:var(--color-warning-subtle);color:var(--color-warning);font-weight:600}.re-tree-label-origin{min-width:0}.re-family{gap:inherit;flex-direction:column;display:flex}.re-family+.re-family{margin-top:var(--space-md)}.re-family-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary);border-bottom:2px solid var(--accent);align-items:baseline;gap:10px;margin:0;padding-bottom:6px;font-size:15px;font-weight:700;display:flex}.re-family-sub{text-transform:none;letter-spacing:0;color:var(--text-muted);font-size:11px;font-weight:400}.re-pill-edit{color:inherit;cursor:pointer;opacity:0;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:1px;display:flex}.re-pill:hover .re-pill-edit,.re-tree-head:hover>.re-pill-edit,.re-tree-req:hover>.re-pill-edit{opacity:.6}.re-pill-edit:hover{color:var(--accent);background:var(--accent-subtle);opacity:1!important}.re-rename{align-items:center;gap:4px;display:inline-flex}.re-rename .re-inline-input{min-width:140px;padding:2px 6px}.re-notice{padding:var(--space-sm) var(--space-md);background:var(--color-success-subtle,#22c55e1f);color:var(--color-success);border-radius:var(--radius-sm);font-size:var(--font-size-sm);border:1px solid #22c55e4d;align-items:center;gap:8px;display:flex}.re-locked{cursor:help}.re-lock-tip{z-index:2000;background:var(--bg-elevated,#1f2937);max-width:300px;color:var(--text-primary);border:1px solid var(--border-default);box-shadow:var(--shadow-md,0 4px 14px #0000004d);pointer-events:none;border-radius:6px;align-items:flex-start;gap:6px;padding:7px 10px;font-size:12px;line-height:1.4;display:flex;position:fixed;transform:translate(-50%,-100%)}.re-lock-tip.below{transform:translate(-50%)}.re-lock-tip svg{color:var(--color-warning);flex-shrink:0;margin-top:2px}.compliance-rules-page{flex-direction:column;gap:20px;display:flex}.cr-breadcrumb{font-family:var(--font-display);font-size:var(--font-size-lg);align-items:center;gap:8px;margin:0;font-weight:700;line-height:1;display:flex}.cr-breadcrumb-parent{color:var(--text-muted);font-weight:500}.cr-breadcrumb-sep{color:var(--text-muted);opacity:.5;flex-shrink:0}.cr-breadcrumb-current{color:var(--text-primary)}.cr-authority-bar{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 var(--border-highlight), var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.cr-authority-bar-left{align-items:center;gap:10px;display:flex}.cr-authority-label{font-family:var(--font-display);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:11px;font-weight:600}.cr-authority-select{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-display);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;cursor:pointer;min-width:160px;padding:6px 12px;font-size:13px;font-weight:600;transition:border-color .15s}.cr-authority-select:focus{border-color:#38bdf880;outline:none}.cr-btn-add{border-radius:var(--radius-sm);font-family:var(--font-display);cursor:pointer;background:var(--color-success-subtle);color:var(--color-success);border:1px solid #3fb9504d;align-items:center;gap:6px;padding:7px 14px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.cr-btn-add:hover:not(:disabled){background:var(--color-success);color:#fff}.cr-btn-add:disabled{opacity:.5;cursor:not-allowed}.cr-vocab-section{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 var(--border-highlight), var(--shadow-sm);padding:12px 16px}.cr-vocab-header{color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:10px;display:flex}.cr-vocab-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.cr-vocab-hint{color:var(--text-muted);margin-left:auto;font-size:11px}.cr-vocab-fields{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.cr-vocab-row{align-items:center;gap:8px;display:flex}.cr-vocab-label{font-family:var(--font-display);color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:500}.cr-vocab-input{text-align:center;letter-spacing:.04em;width:80px;padding:5px 8px;font-size:13px;font-weight:600}.cr-vocab-actions{align-items:center;gap:6px;margin-left:8px;display:flex}.cr-btn-sm{padding:5px 10px!important;font-size:11px!important}.cr-seed-btn{border-radius:var(--radius-sm);font-family:var(--font-display);cursor:pointer;background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-default);align-items:center;gap:6px;margin-left:auto;padding:6px 14px;font-size:11px;font-weight:600;transition:all .15s;display:flex}.cr-seed-btn:hover{color:var(--accent);border-color:#38bdf84d}.cr-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.cr-categorized-list{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.cr-categorized-list .cr-category-header{grid-column:1/-1}.cr-category-header{align-items:center;gap:10px;margin-top:8px;padding:8px 0 2px;display:flex}.cr-category-header:first-child{margin-top:0}.cr-category-indicator{border-radius:2px;flex-shrink:0;width:4px;height:20px}.cr-category-label{font-family:var(--font-display);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;font-size:11px;font-weight:700}.cr-category-count{font-family:var(--font-display);color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600}.cr-category-line{background:var(--border-muted);flex:1;height:1px}.cr-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 var(--border-highlight), var(--shadow-sm);padding:16px;transition:border-color .2s,box-shadow .2s;position:relative}.cr-card:hover{box-shadow:inset 0 1px 0 var(--border-highlight), 0 4px 12px #00000026;border-color:#38bdf833}.cr-card.disabled{opacity:.45;pointer-events:none}.cr-card.disabled .cr-toggle,.cr-card.disabled .cr-btn-delete{pointer-events:all;opacity:1}.cr-card.new{box-shadow:inset 0 1px 0 var(--border-highlight), 0 0 0 1px #10b9811f, var(--shadow-sm);border-color:#10b98159}.cr-btn-delete{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.cr-btn-delete:hover:not(:disabled){color:#ef4444;background:#ef44441a;border-color:#ef44444d}.cr-card-header{flex-direction:column;gap:12px;margin-bottom:12px;display:flex}.cr-card-top-row{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.cr-code-wrapper{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.cr-card-actions-inline{flex-shrink:0;align-items:center;gap:6px;display:flex}.cr-card-name-row{width:100%;display:flex}.cr-card-name-text{color:var(--text-primary);font-size:13px;font-family:var(--font-family);padding:4px 0;line-height:1.3}.cr-input{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-display);padding:5px 10px;font-size:12px;transition:border-color .15s}.cr-input:focus{border-color:#38bdf880;outline:none}.cr-input-code{text-transform:uppercase;letter-spacing:.04em;max-width:120px;font-size:11px;font-weight:700}.cr-input-name{width:100%;font-size:13px}.cr-card-title{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:14px;font-weight:600;line-height:1.3}.cr-card-code{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;background:var(--accent-subtle);color:var(--accent);white-space:nowrap;border:1px solid #38bdf826;border-radius:4px;margin-bottom:0;padding:4px 8px;font-size:10px;font-weight:700;display:inline-flex}.cr-card-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cr-badge{font-family:var(--font-display);white-space:nowrap;border:1px solid;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600}.cr-badge.recurrent{color:#c084fc;background:#a855f71f;border-color:#a855f740}.cr-badge.compliance{color:#38bdf8;background:#38bdf81a;border-color:#38bdf840}.cr-badge.type-rating{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b40}.cr-badge.sim{color:#10b981;background:#10b9811a;border-color:#10b98140}.cr-badge.lms{color:#c084fc;background:#a855f71f;border-color:#a855f740}.cr-badge.external{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b40}.cr-badge.unlimited{color:#38bdf8;background:#38bdf81a;border-color:#38bdf840}.cr-badge.time-limited{color:var(--text-secondary);background:var(--bg-elevated);border-color:var(--border-default)}.cr-badge.mandatory{color:#10b981;background:#10b9811a;border-color:#10b98140}.cr-badge.optional{color:var(--text-muted);border-color:var(--border-default);background:0 0;border-style:dashed}.cr-badge.grants-role{color:#a78bfa;background:#a78bfa1a;border-color:#a78bfa40}.cr-badge.acft-specific{color:#60a5fa;background:#60a5fa1a;border-color:#60a5fa40}.cr-badge.acft-global{color:var(--text-muted);border-color:var(--border-default);background:0 0;border-style:dashed}.cr-badge.category-tag{color:#c084fc;background:#c084fc14;border-color:#c084fc33}.cr-card-fields{flex-direction:column;gap:8px;margin-top:12px;display:flex}.cr-field{align-items:center;gap:10px;display:flex}.cr-field-label{font-family:var(--font-display);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;min-width:110px;font-size:11px;font-weight:600}.cr-field select,.cr-field input[type=number]{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;font-family:var(--font-family);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;flex:1;min-width:70px;max-width:200px;padding:4px 8px}.cr-field select:focus,.cr-field input[type=number]:focus{border-color:#38bdf880;outline:none}.cr-valid-invalid-label{font-family:var(--font-display);color:var(--text-secondary);font-size:12px;font-style:italic;font-weight:500}.cr-toggle{cursor:pointer;border:none;border-radius:999px;flex-shrink:0;width:36px;height:20px;padding:0;transition:background .2s;position:relative}.cr-toggle.on{background:var(--color-success)}.cr-toggle.off{background:var(--border-default)}.cr-toggle:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .2s;position:absolute;top:2px}.cr-toggle.on:after{left:18px}.cr-toggle.off:after{left:2px}.cr-empty{text-align:center;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:64px 24px}.cr-empty p{color:var(--text-secondary);margin:8px 0 0;font-size:13px}.cr-empty-btn{border-radius:var(--radius-sm);font-family:var(--font-display);cursor:pointer;background:var(--accent);color:#fff;border:none;align-items:center;gap:6px;margin-top:16px;padding:8px 18px;font-size:12px;font-weight:600;transition:filter .15s;display:inline-flex}.cr-empty-btn:hover{filter:brightness(1.15)}.cr-category-title{font-family:var(--font-display);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;border-top:1px solid var(--border-muted);margin:0 0 8px 2px;padding-top:4px;font-size:11px;font-weight:600}.cr-category-title:first-of-type{border-top:none;padding-top:0}.cr-loading{color:var(--text-secondary);font-size:13px;font-family:var(--font-display);justify-content:center;align-items:center;gap:10px;padding:60px;display:flex}.cr-spinner{border:2px solid #38bdf84d;border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.cr-card.edited{box-shadow:inset 0 1px 0 var(--border-highlight), 0 0 0 1px #38bdf81f, var(--shadow-sm);border-color:#38bdf859}.cr-edited-badge{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:#38bdf81f;border:1px solid #38bdf833;border-radius:4px;padding:1px 7px;font-size:9px;font-weight:700;position:absolute;top:10px;left:12px}.cr-edited-badge.new{color:#10b981;background:#10b9811f;border-color:#10b98133}.cr-save-bar{z-index:900;pointer-events:none;padding:0 24px;position:fixed;bottom:0;left:0;right:0}.cr-save-bar-inner{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:all;justify-content:space-between;align-items:center;gap:16px;max-width:900px;margin:0 auto 16px;padding:10px 18px;animation:.2s ease-out slideUp;display:flex;box-shadow:0 8px 32px #0006}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cr-save-info{font-family:var(--font-display);color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.cr-save-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.cr-save-actions{gap:8px;display:flex}.cr-btn-cancel,.cr-btn-save{border-radius:var(--radius-sm);font-family:var(--font-display);cursor:pointer;border:1px solid var(--border-default);align-items:center;gap:6px;padding:7px 16px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.cr-btn-cancel{color:var(--text-secondary);background:0 0}.cr-btn-cancel:hover:not(:disabled){color:var(--text-primary);border-color:var(--text-muted)}.cr-btn-save{background:var(--accent);color:#fff;border-color:#0000}.cr-btn-save:hover:not(:disabled){filter:brightness(1.15)}.cr-btn-save:disabled,.cr-btn-cancel:disabled{opacity:.5;cursor:not-allowed}.cr-rebuild-overlay{z-index:9999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cr-rebuild-modal{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);text-align:center;min-width:320px;padding:32px 48px;box-shadow:0 20px 60px #00000080}.cr-rebuild-title{font-family:var(--font-display);color:var(--text-primary);margin:0 0 6px;font-size:15px;font-weight:600}.cr-rebuild-sub{color:var(--text-secondary);max-width:340px;margin:0;font-size:12px}.cr-spin{animation:1s linear infinite spin}.cr-error-banner{border-radius:var(--radius-md);color:#f59e0b;font-family:var(--font-display);background:#f59e0b1a;border:1px solid #f59e0b4d;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:13px;font-weight:600;animation:.2s ease-out slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.tb-page{flex-direction:column;gap:16px;display:flex}.tb-breadcrumb{font-family:var(--font-display);font-size:var(--font-size-lg);align-items:center;gap:8px;margin:0;font-weight:700;line-height:1;display:flex}.tb-breadcrumb-parent{color:var(--text-muted);font-weight:500}.tb-breadcrumb-sep{color:var(--text-muted);opacity:.5}.tb-breadcrumb-current{color:var(--text-primary)}.tb-error{border-radius:var(--radius-sm);color:#ef4444;font-size:12px;font-family:var(--font-display);background:#ef444414;border:1px solid #ef444433;align-items:center;gap:8px;padding:8px 14px;display:flex}.tb-error button{color:#ef4444;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 4px;font-size:16px}.tb-bar{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 var(--border-highlight), var(--shadow-sm);justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.tb-bar-left{color:var(--text-secondary);align-items:center;gap:10px;display:flex}.tb-bar-count{font-family:var(--font-display);font-size:12px;font-weight:600}.tb-toggle-label{color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;font-size:11px;display:flex}.tb-toggle-label input{cursor:pointer}.tb-btn-add{border-radius:var(--radius-sm);font-family:var(--font-display);cursor:pointer;background:var(--color-success-subtle);color:var(--color-success);border:1px solid #3fb9504d;align-items:center;gap:6px;padding:7px 14px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.tb-btn-add:hover:not(:disabled){background:var(--color-success);color:#fff}.tb-btn-add:disabled{opacity:.5;cursor:not-allowed}.tb-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.tb-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 var(--border-highlight), var(--shadow-sm);cursor:pointer;padding:16px;transition:border-color .2s,box-shadow .2s}.tb-card:hover{box-shadow:inset 0 1px 0 var(--border-highlight), 0 4px 12px #00000026;border-color:#38bdf833}.tb-card.inactive{opacity:.5}.tb-card-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.tb-card-name{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:14px;font-weight:600}.tb-card-actions{gap:4px;display:flex}.tb-btn-icon{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.tb-btn-icon:hover{color:#ef4444;background:#ef44441a;border-color:#ef44444d}.tb-card-desc{color:var(--text-secondary);margin:0 0 10px;font-size:12px;line-height:1.4}.tb-card-badges{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.tb-badge{font-family:var(--font-display);white-space:nowrap;border:1px solid;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600}.tb-badge.sim{color:#10b981;background:#10b9811a;border-color:#10b98140}.tb-badge.external{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b40}.tb-badge.lms{color:#c084fc;background:#a855f71f;border-color:#a855f740}.tb-badge.authority{color:#60a5fa;background:#60a5fa14;border-color:#60a5fa33}.tb-badge.inactive-badge{color:#ef4444;background:#ef444414;border-color:#ef444433}.tb-items-preview{flex-direction:column;gap:4px;display:flex}.tb-item-row{border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border-default);flex-wrap:wrap;align-items:flex-start;gap:6px;padding:6px 8px;font-size:12px;display:flex}.tb-item-channel-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.tb-item-channel-dot[data-channel=simulator]{background:#10b981}.tb-item-channel-dot[data-channel=external]{background:#f59e0b}.tb-item-channel-dot[data-channel=lms]{background:#c084fc}.tb-item-label{font-family:var(--font-display);color:var(--text-primary);font-size:11px;font-weight:500}.tb-item-dur{color:var(--text-muted);font-size:10px}.tb-item-tags-inline{flex-wrap:wrap;gap:3px;display:flex}.tb-tag-mini{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;background:var(--accent-subtle);color:var(--accent);border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.tb-tag{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;background:var(--accent-subtle);color:var(--accent);border:1px solid #38bdf826;border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.tb-tag.editable button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;transition:color .15s;display:flex}.tb-tag.editable button:hover{color:#ef4444}.tb-tag-editor{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.tb-tag-add{border:1px dashed var(--border-default);width:22px;height:22px;color:var(--text-muted);font-family:var(--font-display);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:10px;transition:all .15s;display:inline-flex}.tb-tag-add:hover{color:var(--accent);border-color:#38bdf84d}.tb-tag-picker-wrap{display:inline-flex;position:relative}.tb-tag-picker{z-index:1000;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);min-width:360px;position:absolute;bottom:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 8px 24px #0000004d}.tb-readonly-value{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-display);padding:6px 10px;font-size:12px}.tb-text-muted{color:var(--text-muted);font-style:italic}.tb-form{background:var(--bg-card);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 var(--border-highlight), 0 0 0 1px #38bdf814, var(--shadow-sm);z-index:10;border:1px solid #38bdf840;padding:16px;position:relative}.tb-form-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.tb-form-header h3{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:13px;font-weight:600}.tb-form-actions{gap:6px;display:flex}.tb-form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tb-form-field{flex-direction:column;gap:4px;display:flex}.tb-form-field.full{grid-column:1/-1}.tb-form-field label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:10px;font-weight:600}.tb-optional{text-transform:none;letter-spacing:0;opacity:.7;font-weight:400}.tb-form-field input,.tb-form-field select,.tb-form-field textarea{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-display);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:6px 10px;font-size:12px;transition:border-color .15s}.tb-form-field input:focus,.tb-form-field select:focus,.tb-form-field textarea:focus{border-color:#38bdf880;outline:none}.tb-form-field textarea{resize:vertical;font-family:var(--font-family)}.tb-items-section{border-top:1px solid var(--border-default);margin-top:14px;padding-top:12px}.tb-items-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.tb-items-header h4{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:12px;font-weight:600}.tb-btn-add-sm{border-radius:var(--radius-sm);font-family:var(--font-display);cursor:pointer;color:var(--color-success);background:0 0;border:1px dashed #3fb95066;align-items:center;gap:4px;padding:4px 10px;font-size:10px;font-weight:600;transition:all .15s;display:inline-flex}.tb-btn-add-sm:hover{background:var(--color-success-subtle);border-color:#3fb95099}.tb-item-form{border-radius:var(--radius-sm);border:1px solid var(--border-default);margin-bottom:8px;transition:border-color .2s}.tb-item-form[data-channel=simulator]{border-left:3px solid #10b981}.tb-item-form[data-channel=external]{border-left:3px solid #f59e0b}.tb-item-form[data-channel=lms]{border-left:3px solid #c084fc}.tb-item-form-bar{cursor:pointer;background:var(--bg-elevated);color:var(--text-secondary);align-items:center;gap:8px;padding:8px 12px;transition:background .15s;display:flex}.tb-item-form-bar:hover{background:#ffffff08}.tb-channel-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.tb-channel-dot.simulator{background:#10b981}.tb-channel-dot.external{background:#f59e0b}.tb-channel-dot.lms{background:#c084fc}.tb-item-form-label{font-family:var(--font-display);color:var(--text-primary);flex:1;font-size:12px;font-weight:500}.tb-btn-icon-sm{width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.tb-btn-icon-sm:hover{color:#ef4444;background:#ef44441a}.tb-item-form-body{flex-direction:column;gap:8px;padding:10px 12px 12px;display:flex}.tb-item-grid{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.tb-btn-cancel,.tb-btn-save{border-radius:var(--radius-sm);font-family:var(--font-display);cursor:pointer;border:1px solid var(--border-default);align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.tb-btn-cancel{color:var(--text-secondary);background:0 0}.tb-btn-cancel:hover{color:var(--text-primary);border-color:var(--text-muted)}.tb-btn-save{background:var(--accent);color:#fff;border-color:#0000}.tb-btn-save:hover:not(:disabled){filter:brightness(1.15)}.tb-btn-save:disabled{opacity:.5;cursor:not-allowed}.tb-empty{text-align:center;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-muted);padding:64px 24px}.tb-empty p{color:var(--text-secondary);margin:8px 0 16px;font-size:13px}.tb-loading{color:var(--text-secondary);font-size:13px;font-family:var(--font-display);justify-content:center;align-items:center;gap:10px;padding:60px;display:flex}.tb-spin{animation:1s linear infinite tb-spin}@keyframes tb-spin{to{transform:rotate(360deg)}}.tb-search-select{position:relative}.tb-ss-trigger{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-display);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;padding:6px 10px;font-size:12px;transition:border-color .15s;display:flex}.tb-ss-trigger:hover{border-color:#38bdf84d}.tb-ss-placeholder{color:var(--text-muted)}.tb-ss-value{color:var(--text-primary)}.tb-ss-dropdown{z-index:1000;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);min-width:320px;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 8px 24px #00000040}.tb-ss-search{border-bottom:1px solid var(--border-default);color:var(--text-muted);align-items:center;gap:6px;padding:6px 10px;display:flex}.tb-ss-search input{color:var(--text-primary);font-family:var(--font-display);background:0 0;border:none;outline:none;flex:1;font-size:12px}.tb-ss-list{max-height:200px;overflow-y:auto}.tb-ss-option{width:100%;color:var(--text-primary);font-family:var(--font-display);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;padding:7px 12px;font-size:12px;transition:background .1s;display:flex}.tb-ss-option:hover{background:#38bdf80f}.tb-ss-option.active{color:var(--accent);background:#38bdf81a}.tb-ss-option-label{align-items:baseline;gap:4px;display:flex}.tb-ss-option-sub{color:var(--text-muted);font-size:10px;font-weight:400}.tb-ss-empty{text-align:center;color:var(--text-muted);padding:12px;font-size:11px}.al-page{padding:var(--space-lg);width:100%}.al-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.al-title{font-family:var(--font-display);font-size:var(--font-size-xl);color:var(--text-primary);letter-spacing:-.01em;font-weight:700}.al-loading{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-2xl);color:var(--text-muted);font-size:var(--font-size-sm);display:flex}.al-spinner{border:2px solid var(--border-default);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.al-empty{text-align:center;padding:var(--space-2xl) var(--space-lg);background:var(--bg-card);border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-muted)}.al-empty svg{margin-bottom:var(--space-md);opacity:.4}.al-empty p{margin-bottom:var(--space-md);font-size:var(--font-size-sm)}.al-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.al-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-lg);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);position:relative}.al-card:hover{border-color:var(--border-muted)}.al-card.al-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 20px #4299e11a}.al-card-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:flex-start;display:flex}.al-card-name-row{align-items:center;gap:var(--space-sm);display:flex}.al-card-icon{background:var(--accent-subtle);width:36px;height:36px;color:var(--accent);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.al-card-name{font-family:var(--font-display);font-size:var(--font-size-md);color:var(--text-primary);font-weight:600}.al-card-actions{gap:var(--space-xs);display:flex}.al-action-btn{min-width:28px;min-height:28px;padding:4px!important}.al-card-body{gap:var(--space-sm);flex-direction:column;display:flex}.al-card-detail{align-items:center;gap:var(--space-sm);color:var(--text-secondary);font-size:var(--font-size-sm);display:flex}.al-card-detail svg{opacity:.6;flex-shrink:0}.al-card-badges{margin-top:var(--space-sm);flex-wrap:wrap;gap:6px;display:flex}.al-base-badge{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-secondary);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.al-authority-badge{color:#a855f7;letter-spacing:.05em;text-transform:uppercase;background:#a855f71f;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-flex}.al-active-badge{background:var(--color-success-subtle);color:var(--color-success);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:10px;font-weight:700;display:inline-flex}.al-card-footer{margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--border-default);justify-content:flex-end;display:flex}.al-modal{width:480px;max-width:90vw}.al-form{gap:var(--space-md);flex-direction:column;display:flex}.al-form-hint{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.al-type-badge{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:1px 8px;font-size:10px;font-weight:600;display:inline-flex}.cl-sort-label{align-items:center;gap:3px;display:inline-flex}.cl-toolbar{flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.cl-toolbar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.cl-search-box{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:6px;align-items:center;gap:6px;min-width:220px;height:34px;padding:0 10px;transition:border-color .15s;display:flex}.cl-search-box:focus-within{border-color:var(--color-primary)}.cl-search-box svg{color:var(--text-muted);flex-shrink:0}.cl-search-input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-size:13px}.cl-search-input::placeholder{color:var(--text-muted)}.cl-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:2px;display:flex}.cl-search-clear:hover{color:var(--text-primary);background:var(--bg-hover)}.cl-filter{background:var(--bg-elevated);border:1px solid var(--border-default);height:34px;color:var(--text-primary);cursor:pointer;border-radius:6px;outline:none;min-width:120px;padding:0 10px;font-size:13px}.cl-filter:focus{border-color:var(--color-primary)}.cl-count{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.cl-view-toggle{border:1px solid var(--border-default);border-radius:6px;display:flex;overflow:hidden}.cl-view-btn{background:var(--bg-elevated);width:32px;height:30px;color:var(--text-muted);cursor:pointer;border:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.cl-view-btn:not(:last-child){border-right:1px solid var(--border-default)}.cl-view-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.cl-view-btn.active{background:var(--color-primary);color:#fff}.cl-table-wrap{border:1px solid var(--border-default);border-radius:8px;margin-top:4px;overflow:hidden}.cl-table{border-collapse:collapse;width:100%;font-size:13px}.cl-th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-elevated);border-bottom:1px solid var(--border-default);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:8px 12px;font-size:11px;font-weight:600}.cl-th--sortable{cursor:pointer;transition:color .15s}.cl-th--sortable:hover{color:var(--text-primary)}.cl-th--sortable svg{vertical-align:-2px;margin-left:2px;display:inline}.cl-tr{border-bottom:1px solid var(--border-subtle,var(--border-default));transition:background .12s}.cl-tr:last-child{border-bottom:none}.cl-tr:hover{background:var(--bg-hover)}.cl-td{color:var(--text-secondary);vertical-align:middle;padding:7px 12px}.cl-td--code{letter-spacing:.06em;color:var(--text-primary);font-size:12px;font-weight:700;font-family:var(--font-mono,monospace)}.cl-td--name{color:var(--text-primary);font-weight:500}.cl-td--actions{justify-content:flex-end;gap:4px;display:flex}.cl-color-dot{vertical-align:middle;border:1px solid #ffffff1f;border-radius:50%;width:14px;height:14px;display:inline-block}.cl-authority{letter-spacing:.04em;font-size:11px;font-weight:600}.cl-btn-activate{border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;background:0 0;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600;transition:all .15s}.cl-btn-activate:hover{background:var(--color-primary);color:#fff}.cl-col-filter-dropdown{z-index:9999;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:8px;flex-direction:column;min-width:200px;max-width:300px;max-height:360px;animation:.1s fadeIn;display:flex;position:fixed;overflow:hidden;box-shadow:0 8px 32px #00000073}.cl-col-filter-search{border-bottom:1px solid var(--border-default);align-items:center;gap:6px;padding:8px 10px;display:flex}.cl-col-filter-search svg{color:var(--text-muted);flex-shrink:0}.cl-col-filter-search-input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-size:12px}.cl-col-filter-search-input::placeholder{color:var(--text-muted)}.cl-col-filter-list{flex-direction:column;gap:1px;max-height:300px;padding:4px;display:flex;overflow-y:auto}.cl-col-filter-list .col-filter-option,.cl-col-filter-dropdown .col-filter-option{text-align:left;width:100%;min-height:28px;color:var(--text-primary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:6px 10px;font-family:inherit;font-size:12px;line-height:1.4;display:block;overflow:hidden}.cl-col-filter-list .col-filter-option:hover{background:var(--bg-hover)}.cl-col-filter-list .col-filter-option-active{background:var(--accent-subtle);color:var(--accent);font-weight:600}.cl-card-footer{justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.cl-card-footer>*{flex-shrink:0}.sb-page{background:var(--bg-primary);height:100%;min-height:0;color:var(--text-primary);flex-direction:column;display:flex}.sb-empty{color:var(--text-muted);margin:0;padding:8px 10px;font-size:12px}.sb-error{color:var(--color-danger);background:var(--color-danger-subtle);border:1px solid var(--color-danger);border-radius:var(--radius-sm);padding:6px 10px;font-size:12px}.sb-x{width:16px;height:16px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.sb-x:hover{background:var(--color-danger-subtle);color:var(--color-danger)}.sb-cplx{text-align:center;border-radius:4px;min-width:20px;padding:0 5px;font-size:9px;font-weight:700;line-height:15px;display:inline-block}.sb-wizard{justify-content:center;align-items:flex-start;height:100%;padding:58px 24px 40px;display:flex;position:relative;overflow-y:auto}.sb-wizard-exit{position:absolute;top:14px;left:18px}.sb-wizard-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:100%;max-width:980px;box-shadow:var(--shadow-md);flex-direction:column;gap:16px;padding:28px 32px;display:flex}.sb-wizard-card h2{font-family:var(--font-display);font-size:var(--font-size-xl);margin:0;font-weight:700}.sb-wizard-card h2 small{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.sb-wizard-lead{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.sb-choice-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.sb-choice{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;text-align:left;transition:all var(--transition-fast);flex-direction:column;align-items:flex-start;gap:10px;padding:22px;display:flex}.sb-choice svg{color:var(--accent)}.sb-choice strong{font-family:var(--font-display);font-size:var(--font-size-lg)}.sb-choice span{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.5}.sb-choice:hover{border-color:var(--accent);background:var(--accent-subtle);box-shadow:var(--shadow-md);transform:translateY(-2px)}.sb-wizard-form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.sb-wizard-form.single{grid-template-columns:1fr}.sb-wizard-form .form-label small{color:var(--text-muted);font-weight:400}.sb-wizard-actions{justify-content:space-between;gap:12px;margin-top:4px;display:flex}.sb-course-list{border:1px solid var(--border-default);border-radius:var(--radius-sm);flex-direction:column;gap:4px;max-height:360px;padding:4px;display:flex;overflow-y:auto}.sb-course-row{border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.sb-course-row:hover{background:var(--bg-hover)}.sb-course-row.selected{border-color:var(--accent);background:var(--accent-subtle)}.sb-course-name{flex:1;font-weight:600}.sb-course-tpl{color:var(--text-muted);font-size:11px}.sb-struct{grid-template-columns:1fr 1fr 2fr;gap:12px;display:grid}.sb-struct-col{border:1px solid var(--border-default);border-radius:var(--radius-sm);flex-direction:column;gap:3px;max-height:360px;padding:6px;display:flex;overflow-y:auto}.sb-struct-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);align-items:center;gap:6px;padding:4px 6px;font-size:11px;font-weight:600;display:flex}.sb-struct-row{text-align:left;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;background:0 0;border:1px solid #0000;padding:7px 10px;font-size:13px}.sb-struct-row:hover{background:var(--bg-hover)}.sb-struct-row.selected{background:var(--accent-subtle);border-color:var(--accent);font-weight:600}.sb-event{border:1px solid var(--border-muted);border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:6px 8px;display:flex}.sb-event.selected{border-color:var(--accent);background:var(--accent-subtle)}.sb-event-main{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.sb-event-name{flex:1;font-weight:600}.sb-event-max{color:var(--color-warning);align-items:center;gap:3px;font-size:10px;font-weight:600;display:inline-flex}.sb-event-count{color:var(--text-muted);font-size:11px}.sb-event-sessions{flex-wrap:wrap;gap:4px;padding-left:24px;display:flex}.sb-event-session{border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}.sb-event-session:hover{border-color:var(--accent);color:var(--accent)}.sb-topbar{border-bottom:1px solid var(--border-default);background:var(--bg-secondary);flex-shrink:0;align-items:center;gap:10px;padding:8px 14px;display:flex}.sb-topbar .btn.active{border-color:var(--accent);color:var(--accent)}.sb-name{font-family:var(--font-display);border-radius:var(--radius-sm);width:300px;min-width:220px;color:var(--text-primary);background:0 0;border:1px solid #0000;padding:5px 10px;font-size:16px;font-weight:700}.sb-name:hover,.sb-name:focus{border-color:var(--border-default);background:var(--bg-card);outline:none}.sb-chips{flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.sb-crumb{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;font-size:11px;display:inline-flex;overflow:hidden}.sb-crumb b{color:var(--text-primary)}.sb-stats{color:var(--text-secondary);font-variant-numeric:tabular-nums;gap:14px;font-size:12px;display:flex}.sb-stats span{align-items:center;gap:4px;display:inline-flex}.sb-stats .warn{color:var(--color-danger);font-weight:600}.sb-crew-btn{border:1px dashed var(--border-default);color:var(--text-secondary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:4px;max-width:280px;padding:2px 8px;font-size:12px;display:inline-flex;overflow:hidden}.sb-crew-btn:hover{border-color:var(--accent);color:var(--accent)}.sb-max-input{text-align:right;width:52px;color:inherit;font-variant-numeric:tabular-nums;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:4px;padding:1px 4px;font-family:inherit;font-size:12px}.sb-max-input:focus{border-color:var(--accent);outline:none}.sb-modes{border-bottom:1px solid var(--border-default);background:var(--bg-primary);flex-shrink:0;align-items:center;gap:4px;padding:6px 14px;display:flex}.sb-mode{color:var(--text-secondary);font-family:var(--font-display);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.sb-mode:hover{background:var(--bg-hover);color:var(--text-primary)}.sb-mode.active{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent)}.sb-modes-progress{width:220px;color:var(--text-secondary);align-items:center;gap:8px;margin-left:auto;font-size:11px;display:flex}.sb-modes-note{color:var(--color-warning);align-items:center;gap:4px;margin-left:12px;font-size:11px;display:inline-flex}.sb-ov-progress{background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:999px;flex:1;height:6px;overflow:hidden}.sb-ov-progress>div{background:linear-gradient(90deg, var(--color-success), var(--accent));height:100%;transition:width var(--transition-normal)}.sb-body{flex:1;min-height:0;display:flex}.sb-side{border-right:1px solid var(--border-default);background:var(--bg-secondary);flex-direction:column;flex-shrink:0;width:340px;min-height:0;display:flex}.sb-canvas{background:radial-gradient(ellipse at 50% 0%, #38bdf80f, transparent 60%), var(--bg-primary);flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.sb-panel{flex-direction:column;flex:1;min-height:0;display:flex}.sb-panel-head{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px 6px;display:flex}.sb-panel-head svg{color:var(--accent)}.sb-panel-title{font-family:var(--font-display);font-size:13px;font-weight:700}.sb-panel-sub{width:100%;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.sb-panel-tools{border-bottom:1px solid var(--border-default);flex-direction:column;gap:6px;padding:0 12px 8px;display:flex}.sb-search{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-muted);align-items:center;gap:6px;padding:4px 8px;display:flex}.sb-search input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:12px}.sb-tabs-mini{flex-wrap:wrap;gap:4px;display:flex}.sb-tabs-mini button{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;display:inline-flex}.sb-tabs-mini button b{font-weight:700}.sb-tabs-mini button.active{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent)}.sb-panel-filters{border-bottom:1px solid var(--border-default);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;display:flex}.sb-filters-clear{border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;align-items:center;padding:3px;display:inline-flex}.sb-filters-count{color:var(--text-muted);margin-left:auto;font-size:11px}.sb-ex-phase{border:1px solid var(--border-default);color:var(--text-secondary);border-radius:3px;padding:0 5px;font-size:9px;font-weight:700}.sb-tabs-wide button{padding:6px 14px;font-size:12px}.sb-panel-list{flex-direction:column;flex:1;gap:4px;padding:6px 8px 12px;display:flex;overflow-y:auto}.sb-req{border:1px solid var(--border-muted);border-radius:var(--radius-sm);background:var(--bg-card);cursor:grab;border-left-width:3px;align-items:flex-start;gap:6px;padding:6px 8px;font-size:12px;display:flex}.sb-req:active{cursor:grabbing}.sb-req:hover{border-color:var(--accent)}.sb-req.st-missing{border-left-color:var(--color-danger)}.sb-req.st-partial{border-left-color:var(--color-warning)}.sb-req.st-done{border-left-color:var(--color-success);opacity:.8}.sb-req-grip{color:var(--text-muted);flex-shrink:0;margin-top:2px}.sb-req-status{flex-shrink:0;margin-top:2px}.st-missing .sb-req-status{color:var(--color-danger)}.st-partial .sb-req-status{color:var(--color-warning)}.st-done .sb-req-status{color:var(--color-success)}.sb-req-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sb-req-line1,.sb-req-line3{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sb-req-ref{font-weight:700;font-family:var(--font-display)}.sb-req-kind{text-transform:uppercase;border-radius:3px;padding:0 5px;font-size:9px;font-weight:700}.sb-req-kind.Mandatory{background:var(--color-danger-subtle);color:var(--color-danger)}.sb-req-kind.AMC{background:var(--color-warning-subtle);color:var(--color-warning)}.sb-req-kind.GM,.sb-req-kind.Optional{background:var(--bg-elevated);color:var(--text-muted)}.sb-req-occ{font-variant-numeric:tabular-nums;color:var(--text-secondary);margin-left:auto;font-size:10px}.sb-req-desc{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.sb-req-phase{background:var(--accent-subtle);color:var(--accent);border-radius:3px;padding:0 5px;font-size:9px;font-weight:700}.sb-req-nophase{color:var(--text-muted);font-size:10px;font-style:italic}.sb-req-elsewhere{color:var(--color-success);font-size:10px}.sb-ex{border:1px solid var(--border-muted);border-radius:var(--radius-sm);background:var(--bg-card);cursor:grab;align-items:flex-start;gap:6px;padding:6px 8px;font-size:12px;display:flex}.sb-ex:hover{border-color:var(--accent)}.sb-ex.resolves{border-left:3px solid var(--accent)}.sb-ex.covers{border-left:3px solid var(--color-warning)}.sb-ex.locked{opacity:.45;cursor:not-allowed}.sb-ex-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.sb-ex-line1{align-items:center;gap:6px;display:flex}.sb-ex-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.sb-ex-used{color:var(--text-muted);font-size:10px}.sb-ex-line2{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.sb-ex-itt{color:#a855f7;font-size:9px;font-weight:700}.sb-ex-tag{border-radius:999px;align-items:center;gap:3px;padding:0 6px;font-size:10px;display:inline-flex}.sb-ex-tag.resolves{background:var(--accent-subtle);color:var(--accent);font-weight:600}.sb-ex-tag.covers{background:var(--color-warning-subtle);color:var(--color-warning)}.sb-ex-tag.template{background:var(--bg-elevated);color:var(--text-muted)}.sb-profile{flex-direction:column;flex:1;align-items:flex-start;gap:0;padding:22px 24px 16px;display:flex;overflow:auto}.sb-leg-row{border-radius:var(--radius-md);transition:box-shadow var(--transition-fast);flex-shrink:0;align-items:center;padding-right:6px;display:flex}.sb-leg-row.active{box-shadow:inset 3px 0 0 var(--accent);background:linear-gradient(90deg, var(--accent-subtle), transparent 40%)}.sb-leg-row.active .sb-leg-tag{color:var(--accent)}.sb-leg-row.new-line{cursor:pointer;align-self:stretch}.sb-leg{flex-shrink:0;margin-right:6px;position:relative}.sb-leg-svg{pointer-events:none;position:absolute;inset:0}.sb-leg-cols{display:flex;position:absolute;inset:0}.sb-leg-tag{color:var(--text-muted);font-size:9px;font-weight:700;font-family:var(--font-display);position:absolute;top:-14px;left:-2px}.sb-terrain text{-webkit-user-select:none;user-select:none}.sb-tr-shadow{fill:#00000061}.sb-tr-edge{stroke:#ffffff24;stroke-width:1px}.sb-tr-hedge{stroke:#24401f;stroke-width:.8px;stroke-opacity:.75;fill:none}.sb-tr-road-edge{fill:none;stroke:#3b3a35;stroke-width:2.4px;stroke-linecap:round}.sb-tr-road{fill:none;stroke:#8f8a7c;stroke-width:1.6px;stroke-linecap:round}.sb-tr-road-line{fill:none;stroke:#ece6d6;stroke-width:.25px;stroke-dasharray:1.4 1.4}.sb-tr-riverbank{fill:none;stroke:#3e5a34;stroke-width:3.2px;stroke-linecap:round}.sb-tr-river{fill:none;stroke:#2d6f93;stroke-width:2px;stroke-linecap:round}.sb-tr-river-glint{fill:none;stroke:#d2ecfc8c;stroke-width:.4px;stroke-dasharray:3 4}.sb-tr-ridge{stroke:#0000004d;stroke-width:.25px}.sb-oc-surf{fill:none;stroke:#ffffffe6;stroke-width:.9px;stroke-linecap:round}.sb-oc-surf.faint{stroke:#ffffff59;stroke-width:.5px;stroke-dasharray:2 2.5}.sb-oc-shallow{fill:none;stroke:#4cc4c0;stroke-opacity:.55;stroke-width:9px}.sb-oc-shallow.wide{stroke:#2a9bb0;stroke-opacity:.4;stroke-width:26px}.sb-oc-wetsand{fill:none;stroke:#b49e6c;stroke-width:1.2px}.sb-oc-hull{fill:#2d3640;stroke:#e5e7eb;stroke-width:.25px}.sb-oc-container.c0{fill:#b4533a}.sb-oc-container.c1{fill:#3d6fa5}.sb-oc-container.c2{fill:#c9a23f}.sb-oc-bridge{fill:#f1f3f5}.sb-ap-shoulder{fill:#1e212573}.sb-ap-taxiway{fill:#44494f}.sb-ap-aircraft{stroke:#8a939d;stroke-width:.2px}.sb-ap-aircraft-tail{fill:#1f4f8f}.sb-ap-skylight{fill:#5078a08c}.sb-ap-jetbridge{fill:#c4cad2}.sb-ap-yellow{stroke:#f5c518;stroke-width:.7px;fill:none}.sb-ap-red{stroke:#dc3c32b3;stroke-width:.45px;stroke-dasharray:1 1}.sb-ap-hold{stroke:#f5c518;stroke-width:.8px}.sb-ap-hold.dashed{stroke-dasharray:1.4 1.1}.sb-ap-stopbar{fill:#ff4d4d}.sb-ap-taxi-light{fill:#60a5fa}.sb-ap-edge-light{fill:#fff7d6}.sb-ap-white{stroke:#f1f5f9;fill:none}.sb-ap-white.thin{stroke-width:.5px}.sb-ap-white.center{stroke-width:.8px;stroke-dasharray:6 4}.sb-ap-white-fill{fill:#f1f5f9}.sb-ap-designator{fill:#f1f5f9;font-size:7.5px;font-weight:700;font-family:var(--font-display);letter-spacing:.04em}.sb-col-boundary{stroke:var(--border-default);stroke-width:1px;stroke-dasharray:4 4}.sb-fl100 line{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:5 5}.sb-fl100 text{fill:var(--text-secondary);font-size:10px;font-weight:700}.sb-altitude{fill:none;stroke:#1d3f74;stroke-width:4px;stroke-linejoin:round;stroke-linecap:round}.theme-light .sb-altitude{stroke:#0b2a5b}.sb-pin-stem line{stroke:#ef4444;stroke-width:1.5px}.sb-pin-stem circle{fill:#ef4444}.sb-col{transition:background var(--transition-fast);flex-direction:column;flex-shrink:0;display:flex;position:relative}.sb-col.selected{background:var(--accent-subtle)}.sb-col.over-exercise,.sb-col.over-slot-move{outline:1px dashed var(--color-success);outline-offset:-2px;background:#4ade801a}.sb-col.over-compliance,.sb-col.over-pin-move{outline:1px dashed var(--color-danger);outline-offset:-2px;background:#ef444414}.sb-col.over-phase,.sb-col.over-segment-move{box-shadow:inset -3px 0 0 var(--accent)}.sb-col.drag-accept{background:#4ade800f}.sb-col.drag-refuse{opacity:.45}.sb-col.over-refused{cursor:not-allowed}.sb-drop-hint.refused{color:var(--color-danger);border-color:var(--color-danger)}.sb-col-head{cursor:grab;justify-content:center;align-items:center;gap:6px;height:32px;display:flex}.sb-col-head:active{cursor:grabbing}.sb-col-label{letter-spacing:.04em;border:1px solid var(--text-secondary);background:var(--bg-card);color:var(--text-primary);text-align:center;border-radius:2px;min-width:60px;padding:2px 12px;font-size:11px;font-weight:700}.sb-col.selected .sb-col-label{border-color:var(--accent);color:var(--accent)}.sb-col-head .sb-x{opacity:0}.sb-col-head:hover .sb-x{opacity:1}.sb-col-sky{flex-direction:column;justify-content:flex-end;gap:3px;padding:4px 6px;display:flex;overflow-y:auto}.sb-col-deck{justify-content:center;align-items:center;display:flex}.sb-col-pins{flex-direction:column;gap:3px;padding:12px 6px 4px;display:flex;overflow-y:auto}.sb-drop-hint{color:var(--text-secondary);border:1px dashed var(--border-default);border-radius:var(--radius-sm);text-align:center;background:var(--bg-card);padding:6px;font-size:10px;font-weight:600}.sb-card{border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-primary);cursor:grab;box-shadow:var(--shadow-sm);border:1px solid #38bdf866;align-items:center;gap:5px;padding:4px 6px;font-size:11px;display:flex;position:relative}.sb-card:active{cursor:grabbing}.sb-card.compact{opacity:.85;padding:2px 6px;font-size:10px}.sb-card.too-high{border-color:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger-subtle)}.sb-card.misplaced{border-style:dashed;border-color:var(--color-warning)}.sb-card-missing{border-color:var(--color-danger);color:var(--color-danger);padding:4px 6px;font-size:10px}.sb-card-grip{color:var(--text-muted);flex-shrink:0}.sb-card-name{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.sb-card-meta{color:var(--text-secondary);flex-shrink:0;align-items:center;gap:4px;font-size:10px;display:inline-flex}.sb-card-pins{color:#ef4444;border:1px solid #ef4444;border-radius:999px;padding:0 4px;font-size:9px;font-weight:700}.sb-card .sb-x{opacity:0;background:var(--bg-elevated);position:absolute;top:2px;right:2px}.sb-card:hover .sb-x{opacity:1}.sb-card-event{background:color-mix(in srgb, #7c5cc4 10%, var(--bg-elevated));border-style:dashed;border-color:#7c5cc4}.sb-card-event-icon{color:#7c5cc4;flex-shrink:0}.sb-card-event .sb-card-name{color:#7c5cc4}.sb-card-event.editable{cursor:pointer}.sb-card-event-sub{opacity:.85;white-space:normal;font-size:9px;font-weight:500;line-height:1.2;display:block}.sb-ov-event .sb-ov-name{color:#7c5cc4;font-style:italic}.sb-itt-min{color:#7c5cc4;align-items:center;gap:3px;margin-left:auto;font-size:10px;font-weight:600;display:inline-flex}.sb-itt-min input{border-radius:var(--radius-sm);background:var(--bg-primary);width:44px;color:var(--text-primary);border:1px solid #7c5cc4;padding:1px 4px;font-size:11px;font-weight:700}.sb-itt-min-text{color:#7c5cc4;margin-left:auto;font-size:10px;font-weight:700}.sb-chip-itt{font-weight:700}.sb-itt-assessed{color:#7c5cc4;border-radius:var(--radius-sm);background:var(--bg-primary);border:1px solid #7c5cc4;flex-basis:100%;margin-top:3px;padding:1px 4px;font-size:10px;font-weight:600}.sb-pin{border-radius:var(--radius-sm);color:#0f172a;cursor:grab;background:#bfdbfed9;border:1px solid #0000;align-items:center;gap:5px;padding:2px 6px;font-size:10px;display:flex}.theme-light .sb-pin{background:#dbeafe}.sb-pin:active{cursor:grabbing}.sb-pin.compact{padding:1px 5px;font-size:9px}.sb-pin.unresolved{cursor:pointer;background:#fee2e2e6;border-style:dashed;border-color:#ef4444}.sb-pin.st-done{border-color:#16a34a80}.sb-pin-dot{background:#ef4444;border-radius:50%;flex-shrink:0;width:7px;height:7px}.sb-pin.unresolved .sb-pin-dot{background:0 0;border:2px solid #ef4444}.sb-pin-ref{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.sb-pin-icon{color:#475569;flex-shrink:0}.sb-pin .sb-x{color:#475569}.sb-cut{border-radius:var(--radius-sm);cursor:grab;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;height:44px;margin:4px 0 22px;display:flex;position:relative}.sb-cut.over{box-shadow:inset 0 -3px 0 var(--accent)}.sb-cut-line{border-top:2px dashed var(--text-muted);position:absolute;top:50%;left:0;right:0}.sb-cut.break .sb-cut-line{border-top-style:dotted;border-color:var(--color-warning)}.sb-cut-body{z-index:1;background:var(--bg-card);border:1px solid var(--border-default);color:var(--text-secondary);border-radius:999px;align-items:center;gap:8px;padding:5px 12px;display:flex;position:relative}.sb-cut.break .sb-cut-body{border-color:var(--color-warning);color:var(--color-warning)}.sb-cut-label{letter-spacing:.08em;font-size:10px;font-weight:700}.sb-cut.event .sb-cut-line{border-color:#7c5cc4;border-top-style:dashed}.sb-cut.event .sb-cut-body{color:#7c5cc4;border-color:#7c5cc4}.sb-cut.event.editable{cursor:pointer}.sb-cut-sub{opacity:.9;text-overflow:ellipsis;white-space:nowrap;max-width:360px;font-size:10px;font-weight:500;overflow:hidden}.sb-cut.itt .sb-cut-line{border-color:#7c5cc4;border-top-style:dashed}.sb-cut.itt .sb-cut-body{color:#7c5cc4;border-color:#7c5cc4;font-weight:700}.sb-cut-assessed{color:#7c5cc4;background:var(--bg-primary);border:1px solid #7c5cc4;border-radius:4px;padding:1px 4px;font-size:10px;font-weight:600}.sb-phase-chip.shape-itt{color:#7c5cc4;border-color:#7c5cc4;font-weight:700}.sb-phase-chip.shape-itt:hover{background:#7c5cc426}.sb-cut-minutes{align-items:center;gap:3px;font-size:10px;display:flex}.sb-cut-minutes input{border:1px solid var(--border-default);background:var(--bg-primary);width:44px;color:var(--text-primary);text-align:right;border-radius:4px;padding:1px 4px;font-size:11px}.sb-append{border:1px dashed var(--border-default);border-radius:var(--radius-md);width:72px;color:var(--text-muted);transition:all var(--transition-fast);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:10px;font-size:11px;display:flex}.sb-append.over{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent)}.sb-append.current{border:1.5px dashed var(--accent);background:var(--accent-subtle);color:var(--accent);font-weight:600;box-shadow:0 0 0 3px #38bdf814}.sb-append.empty{text-align:center;width:100%;max-width:560px;margin:0 auto;padding:32px}.sb-append.empty p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.sb-suggest{background:var(--bg-elevated);border:1px solid var(--accent);border-radius:var(--radius-md);width:420px;max-height:60%;box-shadow:var(--shadow-lg);z-index:20;flex-direction:column;display:flex;position:absolute;bottom:16px;right:18px;overflow:hidden}.sb-suggest-head{border-bottom:1px solid var(--border-default);align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.sb-suggest-head svg{color:var(--accent);flex-shrink:0;margin-top:2px}.sb-suggest-head>div{flex:1;min-width:0}.sb-suggest-title{font-size:12px}.sb-suggest-desc{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:11px;display:-webkit-box;overflow:hidden}.sb-suggest-list{flex-direction:column;gap:3px;padding:6px;display:flex;overflow-y:auto}.sb-suggest-row{border:1px solid var(--border-muted);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);cursor:pointer;text-align:left;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.sb-suggest-row:hover{border-color:var(--accent);background:var(--accent-subtle)}.sb-suggest-row:disabled{opacity:.5;cursor:not-allowed}.sb-suggest-row:disabled:hover{border-color:var(--border-muted);background:var(--bg-card)}.sb-suggest-row svg{color:var(--accent);flex-shrink:0}.sb-suggest-items{color:var(--text-muted);white-space:nowrap;font-size:10px}.sb-suggest-sep{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:8px 4px 2px;font-size:10px}.sb-ov-block{border-bottom:1px solid var(--border-default);flex-direction:column;gap:8px;padding:6px 4px 10px;display:flex}.sb-ov-stats{color:var(--text-secondary);justify-content:space-between;font-size:11px;display:flex}.sb-ov-warn{color:var(--color-danger);background:var(--color-danger-subtle);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:flex}.sb-ov-warn.soft{color:var(--color-warning);background:var(--color-warning-subtle)}.sb-ov-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);padding:10px 4px 4px;font-size:11px;font-weight:700}.sb-ov-item{border-radius:var(--radius-sm);align-items:center;gap:6px;padding:3px 6px;font-size:11px;display:flex}.sb-ov-item.st-missing svg{color:var(--color-danger)}.sb-ov-item.st-partial svg{color:var(--color-warning)}.sb-ov-slot{border-bottom:1px solid var(--border-muted);grid-template-columns:18px 36px 1fr 28px 24px minmax(60px,1.2fr);align-items:center;gap:5px;padding:4px 6px;font-size:11px;display:grid}.sb-ov-idx{color:var(--text-muted);text-align:right}.sb-ov-phase{background:var(--bg-elevated);color:var(--text-secondary);text-align:center;border-radius:3px;padding:0 4px;font-size:9px;font-weight:700}.sb-ov-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.sb-ov-pins{flex-wrap:wrap;gap:3px;display:flex}.sb-ov-pin{color:#ef4444;background:#ef44441f;border-radius:999px;align-items:center;gap:2px;padding:0 5px;font-size:9px;display:inline-flex}.sb-ov-nopin{color:var(--text-muted)}.sb-palette{border-top:1px solid var(--border-default);background:var(--bg-secondary);flex-wrap:wrap;flex-shrink:0;align-items:flex-start;gap:20px;padding:8px 14px;display:flex}.sb-palette-group{flex-direction:column;gap:4px;display:flex}.sb-palette-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);align-items:center;gap:5px;font-size:10px;font-weight:700;display:inline-flex}.sb-palette-chips{flex-wrap:wrap;gap:5px;display:flex}.sb-phase-chip{border:1px solid var(--border-default);background:var(--bg-card);color:var(--text-primary);cursor:grab;transition:all var(--transition-fast);border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.sb-phase-chip:hover{border-color:var(--accent);color:var(--accent)}.sb-phase-chip:active{cursor:grabbing}.sb-phase-chip.shape-separator:hover,.sb-phase-chip.shape-break:hover{border-color:var(--color-warning);color:var(--color-warning)}.sb-phase-chip.danger:hover{border-color:var(--color-danger);color:var(--color-danger)}.sb-phase-chip.shape-event{border-style:dashed}.sb-phase-chip.shape-event:hover{color:#7c5cc4;border-color:#7c5cc4}.sb-phase-chip:disabled{opacity:.5;cursor:not-allowed}.sb-palette-hint{max-width:360px;color:var(--text-muted);align-self:center;margin-left:auto;font-size:10px;line-height:1.4}.sb-toast{border-radius:var(--radius-sm);z-index:50;box-shadow:var(--shadow-lg);align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:flex;position:fixed;bottom:90px;left:50%;transform:translate(-50%)}.sb-toast.ok{background:var(--color-success);color:#052e16}.sb-toast.error{background:var(--color-danger);color:#fff}.sb-course-link{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-left:16px;font-size:11px;text-decoration:underline}.sb-course-link:hover{color:var(--accent)}.sb-exedit-overlay{z-index:1200}.sb-exedit{width:min(1280px,96vw);max-width:none;max-height:94vh;padding:18px 22px;position:relative;overflow-y:auto}.sb-exedit-close{z-index:2;border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex;position:absolute;top:10px;right:10px}.sb-exedit-close:hover{color:var(--color-danger);border-color:var(--color-danger)}.sb-ex,.sb-card{-webkit-user-select:none;user-select:none}.sb-pin.auto{cursor:help;background:#fef08ae6;border:1px solid #ca8a04b3}.theme-light .sb-pin.auto{background:#fef9c3}.sb-pin-auto-icon{color:#a16207;flex-shrink:0}.sb-pin-count{color:#a16207;margin-left:auto;font-size:9px;font-weight:700}.sb-req.sb-req-other{background:#60a5fa0f;border-style:dashed dashed dashed solid;border-left-color:#60a5fa}.sb-req.sb-req-other .sb-req-status{color:#60a5fa}.sb-req-others{color:var(--text-secondary);align-items:flex-start;gap:4px;margin-top:3px;font-size:10.5px;display:flex}.sb-req-others svg{color:#60a5fa;flex-shrink:0;margin-top:1px}.sb-req-others.only{color:#93c5fd;font-weight:600}.sb-cut-x{border:1px solid var(--border-default);width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;margin-left:2px;padding:0;display:inline-flex}.sb-cut-x:hover{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-subtle)}.sb-tabs-mini .sb-new-ex{color:var(--color-success);border-color:color-mix(in srgb, var(--color-success) 55%, transparent);margin-left:auto}.sb-tabs-mini .sb-new-ex:hover{background:var(--color-success-subtle,#3fb9501f)}.sdp-page,.sdp-editor-wrap{padding:var(--space-lg);width:100%}.sdp-page .lib-table-wrapper{overflow:visible!important}.sdp-page-header,.sdp-editor-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.sdp-heading{color:var(--text-primary);align-items:center;margin:0 0 4px;font-size:20px;font-weight:700;display:flex}.sdp-sub{color:var(--text-muted);margin:0;font-size:12px}.sdp-section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin:0 0 var(--space-md);font-size:13px;font-weight:600}.sdp-search-wrap{align-items:center;display:flex;position:relative}.sdp-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:10px}.sdp-search-input{min-width:220px;padding-left:32px!important}.sdp-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-md)}.sdp-form-row{gap:var(--space-md);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.sdp-form-group{flex-direction:column;flex:1;gap:4px;min-width:180px;display:flex}.sdp-flex2{flex:2}.sdp-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.sdp-input,.sdp-select{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;padding:6px 10px;font-size:13px;transition:border-color .15s}.sdp-input:focus,.sdp-select:focus{border-color:var(--accent)}.sdp-select option{background:var(--bg-secondary)}.sdp-input-inline{flex:1;min-width:120px}.sdp-input-readonly{color:var(--text-muted);background:var(--bg-tertiary,#ffffff08);border:1px solid var(--border-muted);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;cursor:not-allowed;padding:6px 10px;font-size:13px;display:inline-block}.sdp-slot-ctrl{box-sizing:border-box;text-align:center;width:110px!important;height:36px!important;padding:0 10px!important;font-size:13px!important}.sdp-slot-ctrl-unit{color:var(--text-muted);font-size:13px}.sdp-slot-strip{border:1px solid var(--border-default);border-radius:var(--radius-sm);grid-template-columns:repeat(3,1fr);gap:0;display:grid;overflow:hidden}.sdp-slot-chip{border-right:1px solid var(--border-muted);border-bottom:1px solid var(--border-muted);background:var(--bg-secondary);align-items:center;gap:8px;min-width:0;padding:8px 14px;display:flex;overflow:hidden}.sdp-slot-chip:nth-child(3n){border-right:none}.sdp-slot-chip:nth-last-child(-n+3){border-bottom:none}.sdp-slot-chip:last-child{background:#a855f70f;border-bottom:none;border-right:none}.sdp-slot-chip-label{color:var(--text-primary);text-align:center;flex-shrink:0;min-width:26px;font-size:13px;font-weight:700}.sdp-slot-chip-time{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;overflow:hidden}.sdp-slot-chip-dur{color:var(--text-secondary);white-space:nowrap;font-size:10px;font-weight:600}.sdp-slot-chip-dur.auto{color:var(--accent);font-style:italic}.sdp-slot-chip-input{text-align:center;background:var(--bg-primary);border:1px solid var(--border-default);width:38px;color:var(--text-primary);font-variant-numeric:tabular-nums;appearance:textfield;border-radius:3px;outline:none;padding:2px 4px;font-size:11px}.sdp-slot-chip-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sdp-slot-chip-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sdp-slot-chip-input:focus{border-color:var(--accent)}.sdp-slot-chip-input:disabled{opacity:.55;cursor:not-allowed;background:0 0;border-color:#0000}.sdp-slot-chip-brk{color:var(--text-muted);opacity:.6;font-size:9px}.sdp-muted{color:var(--text-muted);font-size:12px}.sdp-tag-row{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:6px;min-height:36px;padding:6px 8px;display:flex}.sdp-tag{color:var(--accent);background:#38bdf81a;border:1px solid #38bdf840;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-family:monospace;font-size:12px;display:inline-flex}.sdp-tag button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:flex}.sdp-tag button:hover{color:var(--color-danger)}.sdp-cap-grid{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);flex-wrap:wrap;gap:6px;padding:8px;display:flex}.sdp-cap-badge{cursor:pointer;color:var(--text-muted);border:1px solid var(--border-default);font-size:11px;font-weight:600;font-family:var(--font-display);letter-spacing:.03em;background:0 0;border-radius:4px;padding:3px 10px;transition:all .12s}.sdp-cap-badge.active{color:var(--accent);background:#38bdf826;border-color:#38bdf859}.sdp-cap-badge:hover{color:var(--text-primary);border-color:var(--border-light);background:#38bdf814}.sdp-approval-grid{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);flex-wrap:wrap;gap:6px;padding:8px;display:flex}.sdp-cert-block{border:1px solid var(--border-default);border-radius:var(--radius-sm);margin-bottom:var(--space-sm);background:var(--bg-secondary);overflow:hidden}.sdp-cert-header{cursor:pointer;border-bottom:1px solid var(--border-muted);-webkit-user-select:none;user-select:none;background:#ffffff05;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.sdp-cert-header:hover{background:#ffffff0a}.sdp-cert-title{color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.sdp-cert-body{padding:var(--space-md);gap:var(--space-sm);flex-direction:column;display:flex}.sdp-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.sdp-badge-xs{padding:1px 6px;font-size:10px}.sdp-badge-purple{color:#a855f7;background:#a855f726;border:1px solid #a855f74d}.sdp-badge-info{color:var(--accent);background:#38bdf81f;border:1px solid #38bdf840}.sdp-cert-pill{background:var(--bg-secondary);border:1px solid var(--border-muted);border-radius:4px;align-items:center;gap:4px;padding:2px 8px 2px 4px;display:inline-flex}.sdp-btn{border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-display);border:1px solid #0000;align-items:center;gap:6px;padding:7px 14px;transition:all .15s;display:inline-flex}.sdp-btn-sm{padding:4px 10px;font-size:12px}.sdp-btn-xs{padding:2px 6px;font-size:11px}.sdp-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.sdp-btn-primary:hover{opacity:.85}.sdp-btn-success{background:var(--color-success-subtle);color:var(--color-success);border-color:#3fb9504d}.sdp-btn-success:hover{background:var(--color-success);color:#fff}.sdp-btn-secondary{background:var(--bg-secondary);color:var(--text-secondary);border-color:var(--border-default)}.sdp-btn-secondary:hover{border-color:var(--border-light);color:var(--text-primary)}.sdp-btn-danger{color:var(--color-danger);background:#ef444426;border-color:#ef44444d}.sdp-btn-danger:hover{background:#ef444440}.sdp-alert{border-radius:var(--radius-sm);margin-bottom:var(--space-md);align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.sdp-alert-danger{color:var(--color-danger);background:#ef44441a;border:1px solid #ef44444d}.sdp-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sdp-modal{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-lg);width:90%;max-width:420px}.sdp-modal-title{color:var(--color-danger);margin:0 0 var(--space-sm);align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.sdp-modal p{color:var(--text-secondary);margin:0 0 var(--space-md);font-size:13px}.sdp-modal-actions{justify-content:flex-end;gap:8px;display:flex}.sim-planning{flex-direction:column;height:100%;display:flex;overflow:hidden}.sim-planning-toolbar{align-items:center;gap:var(--space-sm);padding:6px var(--space-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-muted);flex-wrap:wrap;flex-shrink:0;display:flex}.sim-planning-toolbar-left{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.sim-plan-tc-select,.sim-plan-sim-select{width:auto;min-width:160px;max-width:none;height:32px;padding:4px 8px;font-weight:600;font-size:13px!important}.sim-plan-view-toggle{gap:2px;display:flex}.sim-plan-view-toggle .btn{align-items:center;gap:4px;height:32px;padding:0 10px;font-size:11px;display:flex}.sim-plan-header-text{text-align:center;min-width:160px;color:var(--text-primary);font-size:14px;font-weight:700}.sim-planning-row2{align-items:center;gap:var(--space-sm);padding:4px var(--space-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-muted);flex-shrink:0;display:flex}.sim-planning-filters{align-items:center;gap:6px;display:flex}.sim-planning-datenav{align-items:center;gap:var(--space-xs);margin-left:auto;display:flex}.sim-plan-row2-select{border-radius:6px}.sim-plan-row2-btn{align-items:center;height:26px;padding:0 10px;font-size:11px;display:inline-flex}.sim-plan-sync-btn{border:1px solid var(--sync-color,#6b7280);height:26px;color:var(--sync-color,var(--text-secondary));cursor:pointer;white-space:nowrap;background:#ffffff0f;border-radius:13px;align-items:center;gap:5px;padding:0 10px;font-size:10px;transition:background .2s,border-color .2s;display:inline-flex}.sim-plan-sync-btn:hover:not(:disabled){background:#ffffff1f}.sim-plan-sync-btn:disabled{opacity:.7;cursor:wait}.sim-plan-sync-btn:before{content:"";background:var(--sync-color,#6b7280);border-radius:50%;flex-shrink:0;width:6px;height:6px}@keyframes spSyncSpin{to{transform:rotate(360deg)}}.sp-sync-spin{animation:1s linear infinite spSyncSpin}.sim-plan-date-picker-wrap{display:inline-flex;position:relative}.sim-plan-date-picker-hidden{opacity:0;cursor:pointer;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.sp-cal-wrapper{flex:1;position:relative;overflow:auto}.sp-cal-wrapper .rbc-calendar{height:auto}.sp-cal-wrapper .rbc-time-view,.sp-cal-wrapper .rbc-month-view{background:var(--bg-primary);border:none}.sp-cal-wrapper .rbc-time-view{display:block!important}.sp-cal-wrapper .rbc-allday-cell{display:none}.sp-cal-wrapper .rbc-time-header{background:var(--bg-secondary);border-bottom:2px solid var(--accent)}.sp-cal-wrapper .rbc-time-header-content{border-left:1px solid var(--border-muted)}.sp-cal-wrapper .rbc-header{border-bottom:none;border-left:1px solid var(--border-muted);color:var(--text-primary);background:var(--bg-secondary);padding:8px 4px;font-size:12px;font-weight:700}.sp-cal-wrapper .rbc-header.rbc-today{color:var(--accent);background:#38bdf81a}.sp-cal-wrapper .rbc-time-gutter{width:100px;min-width:100px}.sp-cal-wrapper .rbc-time-gutter .rbc-timeslot-group{border-bottom:none;min-height:0}.sp-cal-wrapper .rbc-time-gutter .rbc-time-slot{border-top:none}.sp-cal-wrapper .rbc-label{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;height:auto;padding:0 8px;font-size:11px;font-weight:700;line-height:1}.sp-cal-wrapper.sp-cal-month-mode{overflow-x:auto}.sp-cal-wrapper.sp-cal-month-mode .rbc-time-view{min-width:900px}.sp-cal-wrapper.sp-cal-month-mode .rbc-day-slot{flex:0 0 28px;width:28px;min-width:28px}.sp-cal-wrapper.sp-cal-month-mode .rbc-header{white-space:nowrap;min-width:28px;padding:4px 1px;font-size:9px;font-weight:700;overflow:hidden}.sp-cal-wrapper.sp-cal-month-mode .rbc-time-gutter{width:60px;min-width:60px}.sp-cal-wrapper.sp-cal-month-mode .sp-cal-event{flex-direction:column;gap:0}.sp-cal-wrapper.sp-cal-month-mode .sp-cal-ev-time,.sp-cal-wrapper.sp-cal-month-mode .sp-cal-ev-uc,.sp-cal-wrapper.sp-cal-month-mode .sp-cal-ev-ver{display:none}.sp-cal-wrapper.sp-cal-month-mode .sp-cal-ev-iata{font-size:9px}.sp-cal-wrapper.sp-cal-month-mode .rbc-event{min-height:4px;padding:0 1px;font-size:8px;line-height:1}.sp-cal-wrapper .rbc-time-content{border-top:none;overflow-y:visible;flex:none!important}.sp-cal-wrapper .rbc-time-content>*+*>*{border-left:1px solid var(--border-muted)}.sp-cal-wrapper .rbc-timeslot-group{border-bottom:1px solid #ffffff0a;flex:0 0 8px!important;height:8px!important;min-height:8px!important;max-height:8px!important}.sp-cal-wrapper .rbc-time-slot{border-top:none;flex:0 0 8px!important;height:8px!important;min-height:8px!important}.sp-cal-wrapper .rbc-today{background:#38bdf805}.sp-cal-wrapper .rbc-current-time-indicator{background-color:var(--color-danger);height:2px}.sp-cal-wrapper .rbc-timeslot-group.sp-slot-start{margin-top:-1px;border-top:2px solid #38bdf899!important}.sp-cal-wrapper .rbc-timeslot-group.sp-slot-end{border-bottom:2px solid #38bdf866!important}.sp-cal-wrapper .rbc-timeslot-group.sp-break-slot{min-height:5px;background:repeating-linear-gradient(-45deg,#ffa7260f,#ffa7260f 2px,#ffa7261f 2px 4px)!important;border-bottom:none!important}.sp-cal-wrapper .rbc-timeslot-group.sp-m-slot{background:#a855f70a!important}.sp-cal-wrapper .rbc-timeslot-group.sp-m-slot.sp-slot-start{border-top:2px solid #a855f766!important}.sp-cal-wrapper .rbc-slot-selection{color:var(--text-primary);background:#38bdf826;border:1px solid #38bdf84d;font-size:11px}.sp-cal-wrapper .rbc-event{z-index:3}.sp-cal-wrapper .rbc-event.rbc-selected{outline:2px solid var(--accent);outline-offset:-2px}.sp-cal-wrapper .rbc-event-label{display:none}.sp-cal-event{flex-wrap:wrap;align-items:baseline;gap:2px 6px;line-height:1.3;display:flex;overflow:hidden}.sp-cal-ev-iata{font-size:12px;font-weight:800}.sp-cal-ev-time{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:9px}.sp-cal-ev-uc{color:var(--text-secondary);font-size:9px;font-weight:700}.sp-cal-ev-ver{color:var(--text-muted);font-size:8px}.sp-month-wrapper{flex-direction:column;flex:1;display:flex;overflow:auto}.sp-month-header{z-index:10;background:var(--bg-secondary);border-bottom:2px solid var(--accent);display:grid;position:sticky;top:0}.sp-month-corner{color:var(--accent);text-transform:uppercase;background:var(--bg-secondary);border-right:1px solid var(--border-muted);justify-content:center;align-items:center;padding:4px;font-size:9px;font-weight:700;display:flex}.sp-month-day-hdr{border-left:1px solid var(--border-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4px 1px;display:flex}.sp-month-day-hdr.sp-today{background:#38bdf81a}.sp-month-day-hdr.sp-weekend{opacity:.6}.sp-month-day-num{color:var(--text-primary);font-size:13px;font-weight:800;line-height:1}.sp-month-day-name{color:var(--text-muted);letter-spacing:.3px;text-transform:uppercase;font-size:7px;font-weight:600}.sp-month-body{flex:1;display:grid}.sp-month-slot-labels{background:var(--bg-secondary);border-right:1px solid var(--border-muted);z-index:5;flex-direction:column;display:flex;position:sticky;left:0}.sp-month-slot-label{border-bottom:1px solid var(--border-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:28px;padding:2px 4px;display:flex}.sp-month-slot-label.sp-m-label{background:#a855f70d}.sp-month-slot-letter{color:var(--text-primary);font-size:12px;font-weight:800;line-height:1}.sp-month-slot-time{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:7px;line-height:1.2}.sp-month-day-col{border-left:1px solid var(--border-muted);flex-direction:column;display:flex}.sp-month-day-col.sp-today-col{background:#38bdf805}.sp-month-day-col.sp-weekend-col{opacity:.65}.sp-month-cell{border-bottom:1px solid var(--border-muted);cursor:pointer;flex-direction:column;flex:1;gap:1px;min-height:28px;padding:1px;transition:background .15s;display:flex;position:relative;overflow:hidden}.sp-month-cell:hover{background:#38bdf80d}.sp-month-cell.sp-m-cell{background:#a855f705}.sp-month-bk{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:2px;padding:1px 3px;font-size:8px;font-weight:700;line-height:1.2;overflow:hidden}.sp-month-bk:hover{filter:brightness(1.2)}.sim-plan-empty{color:var(--text-muted);flex:1;justify-content:center;align-items:center;font-size:14px;font-style:italic;display:flex}.sim-plan-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sim-plan-modal{background:var(--bg-primary);border:1px solid var(--border-muted);border-radius:12px;width:520px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0006}.sim-plan-modal-header{padding:var(--space-md);border-bottom:1px solid var(--border-muted);justify-content:space-between;align-items:center;display:flex}.sim-plan-modal-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.sim-plan-modal-error{margin:var(--space-sm) var(--space-md) 0;padding:var(--space-xs) var(--space-sm);color:var(--color-danger);background:#ef44441a;border:1px solid #ef44444d;border-radius:6px;font-size:12px}.sim-plan-modal-body{padding:var(--space-md);gap:var(--space-sm);flex-direction:column;display:flex}.sim-plan-modal-footer{gap:var(--space-sm);padding:var(--space-md);border-top:1px solid var(--border-muted);display:flex}.form-row-2col{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.sim-plan-modal .form-select[multiple]{min-height:60px;font-size:12px}.sp-selected-pilots{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.sp-pilot-tag{color:var(--accent);cursor:pointer;background:#38bdf81f;border:1px solid #38bdf840;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.sp-pilot-tag:hover{color:var(--color-danger);background:#ef44441f;border-color:#ef444466}.scp-page{width:100%;padding:20px 28px}.scp-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.scp-tabs{border-bottom:1px solid var(--border-default);gap:0;margin-bottom:16px;display:flex}.scp-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:8px 20px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.scp-tab:hover{color:var(--text-primary)}.scp-tab-active{color:var(--accent);border-bottom-color:var(--accent)}.scp-badge{border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.scp-badge-pending{color:#38bdf8;background:#38bdf826}.scp-badge-error{color:#ef4444;background:#ef444426}.scp-actions{gap:8px;margin-left:auto;display:flex}.scp-table-wrap{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-card);overflow-x:auto}.scp-empty{text-align:center;color:var(--text-muted);padding:48px 20px;font-size:13px}.scp-row-error{background:#ef44440f!important}.scp-status-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.scp-status-pending{color:#38bdf8;background:#38bdf81f}.scp-status-committed{color:#22c55e;background:#22c55e1f}.scp-status-error{color:#ef4444;background:#ef44441f}.scp-status-discarded{color:#6b7280;background:#6b72801f}.scp-action-create{color:#22c55e;background:#22c55e1f}.scp-action-update{color:#38bdf8;background:#38bdf81f}.scp-action-cancel{color:#ef4444;background:#ef44441f}.scp-error-text{color:#ef4444;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:11px;overflow:hidden}.scp-checkbox{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.scp-loading{color:var(--text-muted);justify-content:center;align-items:center;gap:8px;padding:48px;font-size:13px;display:flex}@keyframes scp-spin{to{transform:rotate(360deg)}}.scp-spin{animation:1s linear infinite scp-spin}.global-sidebar{background:var(--bg-sidebar);-webkit-backdrop-filter:none;border-right:1px solid var(--border-default);z-index:40;will-change:width;width:260px;height:100%;transition:width var(--transition-normal);flex-direction:column;flex-shrink:0;display:flex;position:relative;transform:translateZ(0)}.global-sidebar.wide:not(.collapsed){width:300px}.sidebar-scroll{padding:var(--space-sm);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.sidebar-section-btn{align-items:center;gap:var(--space-sm);width:100%;padding:6px var(--space-sm);color:var(--text-secondary);font-family:var(--font-display);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);text-align:left;background:0 0;border:none;font-size:13px;font-weight:600;display:flex}.sidebar-section-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-section.section-active .sidebar-section-btn{color:var(--accent)}.section-icon{justify-content:center;align-items:center;width:24px;display:flex}.section-label{flex:1}.section-caret{color:var(--text-muted);align-items:center;display:flex}.section-links{transition:grid-template-rows var(--transition-normal) ease-in-out, opacity var(--transition-normal);opacity:0;padding-left:calc(24px + var(--space-md));grid-template-rows:0fr;display:grid}.section-links>.collapse-inner,.nested-links-container>.collapse-inner{flex-direction:column;min-height:0;display:flex;overflow:hidden}.section-links.expanded{opacity:1;grid-template-rows:1fr;margin-top:-2px;margin-bottom:10px}.sidebar-sublink{color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);border-left:none;align-items:center;gap:12px;margin:2px 12px;padding:6px 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.sidebar-sublink:hover{color:var(--text-primary);background:var(--bg-hover)}.sidebar-sublink.active{color:var(--text-primary);background:var(--bg-secondary);border-left:4px solid var(--accent);border-top-left-radius:0;border-bottom-left-radius:0;padding-left:8px;font-weight:500}.sublink-icon{opacity:.8;align-items:center;width:18px;display:flex}.sidebar-sublink.active .sublink-icon,.sidebar-sublink.has-nested.nested-expanded .sublink-icon{opacity:1}.sidebar-link-group{flex-direction:column;display:flex}.nested-links-container{transition:grid-template-rows var(--transition-normal) ease-in-out, opacity var(--transition-normal);opacity:0;border-radius:var(--radius-sm);background:0 0;grid-template-rows:0fr;margin-top:0;display:grid}.nested-links-container.expanded{opacity:1;grid-template-rows:1fr;margin-bottom:4px}.sidebar-nested-link{white-space:nowrap;color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);border-left:none;align-items:center;gap:8px;margin:0 12px;padding:6px 12px 6px 42px;font-size:12.5px;font-weight:500;text-decoration:none;display:flex}.nested-link-icon{opacity:.8;flex-shrink:0;align-items:center;display:flex}.sidebar-nested-link.active .nested-link-icon{opacity:1}.sidebar-nested-link:hover{color:var(--text-primary)}.sidebar-nested-link.active{color:var(--text-primary);font-weight:600}.nested-caret{color:var(--text-muted);transition:transform var(--transition-fast);align-items:center;display:flex}.sidebar-sublink.has-nested.nested-expanded .nested-caret{color:var(--text-primary)}.sidebar-section-btn.todo,.sidebar-sublink.todo,.sidebar-nested-link.todo{background:#f472b61f;box-shadow:inset 3px 0 #f472b6}.sidebar-section-btn.todo:hover,.sidebar-sublink.todo:hover,.sidebar-nested-link.todo:hover{background:#f472b633}.sidebar-sublink.editing{color:#fbbf24;background:#452b0a;border-left:none;font-weight:500}.sidebar-sublink.editing .sublink-icon{opacity:1;color:#fbbf24}.editing-dot{background:#f59e0b;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-left:auto;animation:2s ease-in-out infinite editPulse}@keyframes editPulse{0%,to{opacity:.6}50%{opacity:1}}.sidebar-scroll::-webkit-scrollbar{width:4px}.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--border-muted);border-radius:10px}.sidebar-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.sidebar-collapse-btn{z-index:50;background:var(--bg-secondary);border:1px solid var(--border-default);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:12px;right:-14px}.sidebar-collapse-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent);box-shadow:0 0 8px #38bdf840}.global-sidebar.collapsed{width:56px}.global-sidebar.collapsed .sidebar-scroll{padding:var(--space-xs);align-items:center;gap:0}.global-sidebar.collapsed .sidebar-section{border-bottom:1px solid var(--border-muted);width:100%;margin-bottom:6px;padding-bottom:6px}.global-sidebar.collapsed .sidebar-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.global-sidebar.collapsed .sidebar-section-btn{border-radius:var(--radius-md);justify-content:center;padding:10px}.global-sidebar.collapsed .sidebar-section-btn:hover{background:var(--bg-hover)}.global-sidebar.collapsed .section-label,.global-sidebar.collapsed .section-caret{display:none}.global-sidebar.collapsed .section-icon{width:auto}.global-sidebar.collapsed .section-links{padding-left:6px}.global-sidebar.collapsed .section-links.expanded{margin-top:2px;margin-bottom:2px}.global-sidebar.collapsed .sidebar-sublink{border-radius:var(--radius-sm);border-left:none;justify-content:center;margin-left:0;padding:5px}.global-sidebar.collapsed .sidebar-sublink.active{border-radius:var(--radius-sm);background:var(--accent-subtle);border-left:none}.commit-pending-dot{background:#f59e0b;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s ease-in-out infinite editPulse}.global-sidebar.collapsed .sublink-label,.global-sidebar.collapsed .editing-dot,.global-sidebar.collapsed .commit-pending-dot{display:none}.global-sidebar.collapsed .sublink-icon{width:auto}.global-sidebar.collapsed .sublink-icon svg{width:14px;height:14px}.approval-count-badge{color:#111;background:#f59e0b;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}:root{--bg-primary:#0f1219;--bg-sidebar:#161b26;--bg-secondary:#1d2433;--bg-card:#1a202c;--bg-elevated:#1a202c;--bg-hover:#263045;--border-default:#374151;--border-muted:#4b5563;--border-highlight:transparent;--text-primary:#f3f4f6;--text-secondary:#a0aec0;--text-muted:#718096;--accent:#4299e1;--accent-hover:#63b3ed;--accent-subtle:#4299e126;--color-success:#4ade80;--color-success-subtle:#4ade8026;--color-warning:#facc15;--color-warning-subtle:#facc1526;--color-danger:#ef4444;--color-danger-subtle:#ef444426;--color-info:#38bdf8;--color-purple:#c084fc;--color-purple-subtle:#a855f726;--atc-text:#e2c08d;--color-skip:#9ca3af;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--shadow-sm:0 1px 2px #0006;--shadow-md:0 8px 16px #0009;--shadow-lg:0 16px 32px #000c;--shadow-glow:0 0 24px #38bdf84d;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2.25rem;--font-size-3xl:3rem;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;font-size:16px;overflow:hidden}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-hover)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-layout{flex-direction:row;width:100vw;height:100vh;display:flex;overflow:hidden}.app-content-wrapper{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.app-main-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden auto}.app-main{padding-left:var(--space-md);padding-right:var(--space-md);flex:1;min-width:0;overflow:auto}.page-container{max-width:none;padding:var(--space-lg);margin:0 auto}.card{background:var(--bg-card);-webkit-backdrop-filter:none;border:1px solid var(--border-default);box-shadow:none;border-radius:var(--radius-md);padding:var(--space-lg);transition:transform var(--transition-normal), border-color var(--transition-normal)}.card:hover{border-color:var(--accent-subtle)}.heading-1,.heading-2,.heading-3,.heading-4,.home-title,.modal-title,.sidebar-link-text{font-family:var(--font-display)}.heading-1{font-size:var(--font-size-3xl);letter-spacing:-.03em;font-weight:700;line-height:1.1}.heading-2{font-size:var(--font-size-2xl);letter-spacing:-.02em;font-weight:600;line-height:1.2}.heading-3{font-size:var(--font-size-xl);letter-spacing:-.01em;color:var(--text-primary);font-weight:600;line-height:1.3}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-family:var(--font-display);font-size:var(--font-size-sm);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;letter-spacing:.02em;border:1px solid #0000;font-weight:600;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-glow)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-default)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-muted)}.btn-danger{background:var(--color-danger-subtle);color:var(--color-danger);border-color:#f851494d}.btn-danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.btn-success{background:var(--color-success-subtle);color:var(--color-success);border-color:#3fb9504d}.btn-success:hover:not(:disabled){background:var(--color-success);color:#fff}.btn-warning{background:var(--color-warning-subtle);color:var(--color-warning);border-color:#d299224d}.btn-warning:hover:not(:disabled){background:var(--color-warning);color:#fff}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-lg);border-radius:var(--radius-md)}.btn-icon{padding:var(--space-sm);min-width:36px;min-height:36px}.form-group{gap:var(--space-xs);flex-direction:column;display:flex}.form-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.form-input,.form-select,.form-textarea{padding:var(--space-sm) var(--space-md);background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--bg-primary), 0 0 0 3px var(--accent-subtle);background:#161b22e6;outline:none}.form-textarea{resize:vertical;min-height:80px}.form-select{cursor:pointer}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;animation:fadeIn var(--transition-fast);background:#090c10b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-default);box-shadow:inset 0 1px 0 var(--border-highlight), var(--shadow-lg);border-radius:var(--radius-xl);padding:var(--space-xl);max-width:90vw;max-height:90vh;animation:slideUp var(--transition-normal);background:#161b22d9;overflow-y:auto}.modal-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.badge{padding:2px var(--space-sm);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;align-items:center;font-weight:600;display:inline-flex}.badge-success{background:var(--color-success-subtle);color:var(--color-success)}.badge-danger{background:var(--color-danger-subtle);color:var(--color-danger)}.badge-warning{background:var(--color-warning-subtle);color:var(--color-warning)}.badge-info{background:var(--accent-subtle);color:var(--accent)}.badge-purple{background:var(--color-purple-subtle);color:var(--color-purple)}@media (width<=768px){.page-container{padding:var(--space-md)}}.theme-light{background-color:var(--bg-primary);color:var(--text-primary);--atc-text:#8a5a12;--bg-primary:#f8fafc;--bg-sidebar:#fff;--bg-secondary:#f1f5f9;--bg-card:#fff;--bg-elevated:#fff;--bg-hover:#e2e8f0;--border-default:#e2e8f0;--border-muted:#cbd5e1;--border-highlight:transparent;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--accent:#2563eb;--accent-hover:#1d4ed8;--color-success:#16a34a;--color-warning:#d97706;--color-danger:#dc2626;--color-info:#0284c7;--color-purple:#9333ea;--color-skip:#6b7280;--color-success-subtle:#4ade8033;--color-warning-subtle:#facc1533;--color-danger-subtle:#ef444426;--accent-subtle:#2563eb1a;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-glow:0 0 24px #38bdf833}.theme-light .modal-content{border-color:var(--border-default);box-shadow:var(--shadow-xl);background:#fffffff2}.theme-light .form-input,.theme-light .form-select,.theme-light .form-textarea{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--bg-card)}.theme-light .form-input:focus,.theme-light .form-select:focus,.theme-light .form-textarea:focus{background:var(--bg-primary)}.collapse-toggle{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;margin-left:auto;padding:2px 8px;font-family:inherit;font-size:11px;font-weight:600;display:inline-flex}.collapse-toggle:hover{border-color:var(--accent);color:var(--accent)}.collapse-toggle.locked{color:var(--text-muted)}.collapse-summary{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;display:flex}.lib-sticky-top{z-index:20;background:var(--bg-primary);padding-top:var(--space-sm);padding-bottom:2px;position:sticky;top:0;box-shadow:0 6px 8px -8px #00000073}.lib-sticky-top .lib-filter-bar{margin-bottom:var(--space-xs)}.admin-section form.admin-form{scroll-margin-top:150px}th[draggable=true]{cursor:grab}th[draggable=true]:active{cursor:grabbing}th[data-col-drag=dragging]{opacity:.45}th[data-col-drag=over-left]{box-shadow:inset 3px 0 0 var(--accent)}th[data-col-drag=over-right]{box-shadow:inset -3px 0 0 var(--accent)}
