.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);padding:2rem;position:relative}.auth-dark-mode-toggle{position:absolute;top:1.5rem;right:1.5rem;background:#fff3;border:none;border-radius:8px;padding:.5rem .65rem;cursor:pointer;font-size:1.25rem;line-height:1;transition:background-color .2s;z-index:10}.auth-dark-mode-toggle:hover{background:#ffffff59}.auth-card{background:var(--bg-surface);border-radius:12px;box-shadow:var(--shadow-lg);padding:3rem;max-width:500px;width:100%}.auth-branding{text-align:center;margin-bottom:1.5rem}.auth-logo{max-height:80px;max-width:200px;object-fit:contain;margin-bottom:.75rem}.auth-brand-name{font-size:2.5rem;font-weight:800;margin:0;letter-spacing:-.02em}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1,.auth-header h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.auth-header p{color:var(--text-muted);font-size:1rem}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{font-weight:600;color:var(--text-secondary);font-size:.875rem;margin:0;padding:0;padding-bottom:.2rem;line-height:1.2}.form-group input{padding:.75rem;margin:0;border:2px solid var(--border-default);border-radius:8px;font-size:1rem;transition:all .2s;background:var(--bg-input);color:var(--text-primary)}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-full{width:100%;margin-top:.5rem}.auth-footer{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-default)}.auth-footer p{color:var(--text-muted);font-size:.875rem}.auth-link{color:var(--color-primary);font-weight:600;text-decoration:none;transition:color .2s}.auth-link:hover{color:var(--color-secondary);text-decoration:underline}.alert{padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.875rem}.alert-error{background-color:var(--status-danger-bg);color:var(--status-danger-text);border:1px solid var(--status-danger-text)}@media(max-width:640px){.auth-card{padding:2rem}.form-row{grid-template-columns:1fr}}.dropzone-selector{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--bg-surface-alt);border-radius:4px}.dropzone-selector label{font-weight:600;color:var(--text-tertiary);font-size:.9rem}.dropzone-select{padding:.375rem .75rem;font-size:.9rem;border:1px solid var(--border-medium);border-radius:4px;background-color:var(--bg-input);color:var(--text-primary);cursor:pointer;transition:border-color .15s ease-in-out}.dropzone-select:hover{border-color:#80bdff}.dropzone-select:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.dropzone-selector.loading{color:var(--text-muted);font-style:italic}@media(max-width:768px){.dropzone-selector{max-width:100%;overflow:hidden}.dropzone-select{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}}.weather-widget{background:var(--bg-surface);border-radius:12px;padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm);margin-bottom:2rem}.weather-widget.compact{margin-bottom:0;padding:.75rem 1rem}.weather-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.compact .weather-header{margin-bottom:.5rem}.weather-header h3{margin:0;font-size:1rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.weather-cached-time{font-size:.75rem;color:var(--text-muted)}.weather-current{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.compact .weather-current{gap:1rem}.weather-temp-block{display:flex;align-items:baseline;gap:.5rem}.weather-temp{font-size:2.25rem;font-weight:700;color:var(--text-primary);line-height:1}.compact .weather-temp{font-size:1.75rem}.weather-feels-like{font-size:.8rem;color:var(--text-muted)}.weather-condition{font-size:.95rem;color:var(--text-secondary);font-weight:500}.weather-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-light)}.compact .weather-details{margin-top:.5rem;padding-top:.5rem;gap:.5rem}.weather-detail-item{display:flex;flex-direction:column;gap:.15rem}.weather-detail-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.weather-detail-value{font-size:.95rem;font-weight:600;color:var(--text-secondary)}.weather-upper-winds-toggle{display:inline-flex;align-items:center;gap:.4rem;margin-top:.75rem;padding:.35rem .75rem;background:var(--bg-surface-alt);border:1px solid var(--border-default);border-radius:6px;color:var(--text-tertiary);font-size:.8rem;cursor:pointer;transition:background .15s}.weather-upper-winds-toggle:hover{background:var(--bg-surface-hover)}.weather-upper-winds-toggle .toggle-arrow{font-size:.65rem;transition:transform .2s}.weather-upper-winds-toggle .toggle-arrow.open{transform:rotate(180deg)}.weather-upper-winds{margin-top:.75rem;border:1px solid var(--border-light);border-radius:8px;overflow:hidden}.upper-winds-row{display:grid;grid-template-columns:1fr 1fr 1.5fr .75fr;padding:.4rem .75rem;font-size:.85rem;border-bottom:1px solid var(--border-light)}.upper-winds-row:last-child{border-bottom:none}.upper-winds-row.header{background:var(--bg-surface-alt);font-weight:600;color:var(--text-tertiary);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.upper-winds-row .altitude{color:var(--text-secondary)}.upper-winds-row .speed{font-weight:600;color:var(--text-primary)}.upper-winds-row .direction{color:var(--text-tertiary)}.upper-winds-row .clouds{text-align:right;color:var(--text-secondary)}.weather-section-title{font-size:.85rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin:1.25rem 0 .75rem}.weather-hourly{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:thin}.weather-hourly::-webkit-scrollbar{height:4px}.weather-hourly::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:2px}.hourly-item{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .65rem;border-radius:8px;background:var(--bg-surface-alt);min-width:65px}.hourly-time{font-size:.7rem;color:var(--text-muted);font-weight:500}.hourly-temp{font-size:1rem;font-weight:700;color:var(--text-primary)}.hourly-condition{font-size:.65rem;color:var(--text-tertiary);text-align:center;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hourly-wind{font-size:.7rem;color:var(--text-muted)}.hourly-precip{font-size:.65rem;color:var(--color-primary);font-weight:500}.weather-daily{display:flex;flex-direction:column;gap:.5rem}.daily-item{display:grid;grid-template-columns:1fr auto auto auto auto;align-items:center;gap:1rem;padding:.65rem .75rem;border-radius:8px;background:var(--bg-surface-alt)}.daily-day{font-weight:600;color:var(--text-secondary);font-size:.9rem}.daily-condition{font-size:.8rem;color:var(--text-tertiary);min-width:80px}.daily-temps{display:flex;gap:.35rem;align-items:baseline;min-width:85px}.daily-high{font-weight:700;color:var(--text-primary);font-size:.95rem}.daily-low{color:var(--text-muted);font-size:.85rem}.daily-wind{font-size:.8rem;color:var(--text-muted);min-width:60px;text-align:right}.daily-sun{font-size:.75rem;color:var(--text-muted);min-width:100px;text-align:right}.wind-arrow{display:inline-block;transition:transform .2s;font-size:.85em}.weather-loading,.weather-error{padding:1rem;text-align:center;color:var(--text-muted);font-size:.9rem}.weather-error{color:var(--status-danger-text);background:var(--status-danger-bg);border-radius:8px}@media(max-width:768px){.weather-widget{padding:1rem}.weather-current{gap:1rem}.weather-details{grid-template-columns:repeat(2,1fr)}.daily-item{grid-template-columns:1fr auto auto;gap:.5rem}.daily-condition,.daily-sun{display:none}}.dashboard{padding:.25rem 0 2rem}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{font-size:2rem;color:var(--text-primary);margin-bottom:.5rem}.dashboard-subtitle{color:var(--text-muted);font-size:1rem}.dashboard-dropzone-section{margin-bottom:2rem;display:flex;justify-content:center;max-width:100%;overflow:hidden}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:var(--bg-surface);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:1rem}.stat-icon{font-size:2.5rem}.stat-content{flex:1}.stat-card .stat-value{font-size:1.75rem;font-weight:700;color:var(--text-secondary);line-height:1.2;text-transform:capitalize}.stat-card .stat-label{font-size:.875rem;color:var(--text-muted);margin-top:.25rem}.stat-license-number{font-size:1rem;font-weight:600;color:var(--text-tertiary);margin-top:.125rem}.stat-uspa{font-size:.85rem;color:var(--text-muted);margin-top:.375rem}.section-title{font-size:1.5rem;color:var(--text-secondary);margin:2rem 0 1.5rem;font-weight:600}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:3rem}.dashboard-card-link{text-decoration:none;color:inherit;display:block}.dashboard-card{background:var(--bg-surface);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;height:100%;cursor:pointer}.dashboard-card-link:hover .dashboard-card{transform:translateY(-4px);box-shadow:0 6px 12px #00000026}.dashboard-card.highlight{background:var(--gradient-primary);color:#fff}.dashboard-card.highlight h3,.dashboard-card.highlight p{color:#fff}.card-icon{font-size:2.5rem;margin-bottom:.75rem}.card-icon-wrapper{position:relative;display:inline-block}.card-icon-wrapper .card-icon{margin-bottom:0}.card-icon-wrapper+h3{margin-top:.75rem}.card-badge{position:absolute;top:-8px;right:-12px;background-color:#ef4444;color:#fff;font-size:.7rem;font-weight:600;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 6px;box-shadow:var(--shadow-sm)}.dashboard-card h3{font-size:1.25rem;color:var(--text-secondary);margin:0 0 .5rem;font-weight:600}.dashboard-card p{color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.5}.dashboard-info{background:var(--bg-surface);border-radius:12px;padding:2rem;box-shadow:var(--shadow-md)}.dashboard-info h2{font-size:1.5rem;color:var(--text-secondary);margin-bottom:1rem}.dashboard-info p{color:var(--text-tertiary);line-height:1.6;margin-bottom:1rem}.info-alert{background-color:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:1rem;margin-top:1rem;color:#856404;line-height:1.6}.info-alert strong{display:block;margin-bottom:.5rem}.currency-stat-card{border-left:4px solid #4299e1}.currency-stat-card.currency-current{border-left-color:#48bb78}.currency-stat-card.currency-caution{border-left-color:#ed8936}.currency-stat-card.currency-warning{border-left-color:#f6ad55;background:var(--status-warning-bg)}.currency-stat-card.currency-uncurrent{border-left-color:#e53e3e;background:var(--status-danger-bg)}.currency-stat-value{text-transform:none!important}.currency-details{display:flex;flex-direction:column;gap:.125rem;margin-top:.375rem;font-size:.75rem;color:var(--text-muted)}.currency-schedule-link{display:inline-block;margin-top:.5rem;color:var(--color-primary);font-size:.8rem;font-weight:600;text-decoration:none}.currency-schedule-link:hover{text-decoration:underline}@media(max-width:768px){.dashboard-stats,.dashboard-cards{grid-template-columns:repeat(2,1fr);gap:.75rem}.dashboard-card{padding:1rem;text-align:center}.dashboard-card .card-icon{font-size:1.5rem;margin-bottom:0;display:inline;margin-right:.25rem;vertical-align:middle}.dashboard-card h3{font-size:.95rem;display:inline;vertical-align:middle}.dashboard-card p{font-size:.8rem;margin-top:.4rem}.card-icon-wrapper{display:inline}.card-icon-wrapper .card-icon{margin-bottom:0}.card-icon-wrapper+h3{margin-top:0}.stat-card{padding:1rem;flex-direction:column;align-items:center;text-align:center;gap:.5rem}.stat-card-wide{grid-column:1 / -1}.stat-content{text-align:center;min-width:0;width:100%}.ratings-badges{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;justify-content:center}.ratings-badges::-webkit-scrollbar{display:none}.ratings-badges>span{flex-shrink:0}.stat-icon{font-size:1.75rem}.stat-card .stat-value{font-size:1.25rem}.dashboard-header h1{font-size:1.5rem}.section-title{font-size:1.25rem}.currency-header{flex-wrap:wrap}.currency-badge{margin-top:.5rem;width:100%;text-align:center}}.users-page{padding:.25rem 0 1.5rem}.users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.users-header h1{font-size:1.5rem;color:var(--text-primary)}.users-count{color:var(--text-muted);font-weight:500}.users-header-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.users-mobile-filters,.users-mobile-actions{display:contents}.filter-input{padding:.5rem 1rem;border:1px solid var(--border-medium);border-radius:6px;font-size:.9rem;width:200px;background:var(--bg-input);color:var(--text-primary)}.filter-input::placeholder{color:var(--text-faint)}.role-filter-select{padding:.5rem 1rem;border:1px solid var(--border-medium);border-radius:6px;font-size:.9rem;background:var(--bg-input);color:var(--text-primary);cursor:pointer;min-width:140px}.role-filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.users-table-container{background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-sm);overflow-x:auto;width:100%}.users-table{width:100%;border-collapse:collapse;font-size:.9rem;table-layout:fixed}.users-table thead{background:var(--bg-surface-alt);border-bottom:2px solid var(--border-default)}.users-table th{padding:.75rem .5rem;text-align:center;font-weight:600;color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;position:relative;white-space:nowrap;overflow:hidden}.users-table td{padding:0;color:var(--text-primary);border-bottom:1px solid var(--border-light);height:44px}.users-table td>*{vertical-align:middle}.user-row td{display:table-cell;vertical-align:middle}.user-row td .td-inner{display:flex;align-items:center;justify-content:center;height:100%;padding:.25rem .5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.users-table .resize-handle{position:absolute;top:0;right:0;width:5px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:1}.users-table .resize-handle:hover,.users-table .resize-handle.resizing{background:#3b82f6}.users-table .resizable-column{position:relative}.name-sort-toggle{cursor:pointer;border-bottom:1px dashed var(--text-muted)}.user-row{transition:background-color .15s}.user-row:hover{background:var(--bg-surface-alt)}.user-photo-cell{padding:.5rem}.user-table-photo{width:36px;height:36px;border-radius:50%;object-fit:cover;aspect-ratio:1;flex-shrink:0}.user-table-photo-placeholder{width:36px;height:36px;border-radius:50%;background:var(--bg-surface-alt);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.user-name-cell{display:inline-flex;flex-direction:column;align-items:center;gap:.125rem}.user-nickname{color:var(--text-muted);font-style:italic;font-size:.8rem;line-height:1}.user-name-link{color:var(--color-accent, #4f46e5);text-decoration:none;transition:color .15s ease}.user-name-link:hover{color:var(--text-primary);text-decoration:underline}.user-name-link strong{font-weight:600}td.currency-cell{white-space:nowrap;vertical-align:middle!important}.currency-current{color:#059669;font-weight:500}.currency-caution{color:#d97706;font-weight:500}.currency-warning{color:#ea580c;font-weight:500}.currency-uncurrent{color:#dc2626;font-weight:600}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:capitalize;vertical-align:middle;line-height:1}.role-badge.role-admin{background:#fee2e2;color:#991b1b}.role-badge.role-dz_admin{background:#fef3c7;color:#92400e}.role-badge.role-instructor{background:#d1fae5;color:#065f46}.role-badge.role-student{background:#dbeafe;color:#1e40af}.dropzone-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;background:#e0e7ff;color:#3730a3}.membership-date{font-size:.7rem;color:var(--text-muted);margin-left:.5rem}.users-loading,.users-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem}.users-error{background:var(--bg-surface);border-radius:12px;padding:3rem;box-shadow:var(--shadow-md)}.users-error p{color:#e53e3e;font-weight:500;margin-bottom:1rem}.btn{padding:.5rem 1rem;border-radius:8px;font-weight:600;font-size:.875rem;border:none;cursor:pointer;transition:all .2s}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-edit-icon{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s;vertical-align:middle}.btn-edit-icon:hover{background:#f3f4f6}.btn-sm{padding:.5rem .75rem;font-size:.8rem}.roles-management-section{margin-top:.375rem;padding:.5rem .625rem;background:var(--bg-surface-alt);border:1px solid var(--border-default);border-radius:6px}.roles-management-section h3{margin:0 0 .125rem;font-size:.9rem;color:var(--text-primary)}.roles-management-section h4{margin:0 0 .25rem;font-size:.8rem;color:var(--text-secondary);font-weight:600}.section-description{margin:0 0 .25rem;color:var(--text-muted);font-size:.75rem}.current-roles{margin-bottom:.375rem}.roles-list{display:flex;flex-direction:column;gap:.375rem}.role-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .625rem;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:6px;gap:.5rem}.role-info{display:flex;align-items:center;gap:.75rem}.dropzone-name{color:var(--text-muted);font-size:.85rem}.btn-remove-role{background:none;border:none;color:#ef4444;font-size:1.2rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s;line-height:1}.btn-remove-role:hover{background:#fee2e2}.add-role-form{padding-top:.375rem;border-top:1px solid var(--border-default)}.add-role-form .form-row{margin-bottom:.25rem}.set-password-section{margin-top:.375rem;padding:.5rem .625rem;background:var(--bg-surface-alt);border:1px solid var(--border-default);border-radius:6px}.set-password-section h3{margin:0 0 .125rem;font-size:.9rem;color:var(--text-primary)}.set-password-section .btn{margin-top:.375rem}.modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem}.modal-content{background:var(--bg-surface);border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-default)}.modal-header h2{font-size:1.2rem;color:var(--text-secondary);margin:0}.modal-close{background:transparent;border:none;font-size:1.5rem;color:var(--text-tertiary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.modal-close:hover{background:var(--bg-surface-hover)}.edit-form{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem}.edit-form .form-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.25rem 1.25rem!important;margin:0!important;padding:0!important}.edit-form .form-group{display:flex!important;flex-direction:column!important;gap:0!important;margin:0!important;padding:0!important}.edit-form .form-group label{font-weight:600!important;color:var(--text-tertiary)!important;font-size:.8rem!important;margin:0!important;padding:0 0 2px!important;line-height:1.2!important}.edit-form .form-group input,.edit-form .form-group select{padding:.35rem .5rem!important;margin:0!important;border:1px solid var(--border-medium)!important;border-radius:4px!important;font-size:.875rem!important;line-height:1.3!important;height:32px!important;box-sizing:border-box!important;transition:border-color .2s;background:var(--bg-input)!important;color:var(--text-primary)!important}.edit-form .form-group input:focus,.edit-form .form-group select:focus{outline:none;border-color:#4299e1!important;box-shadow:0 0 0 2px #4299e11a}.edit-form .age-display{font-size:.7rem;color:var(--text-muted);margin-top:1px;line-height:1}.edit-form .form-actions{display:flex;gap:.5rem;padding-top:.5rem;margin-top:.25rem;border-top:1px solid var(--border-default)}.edit-form .form-actions .btn{flex:1;padding:.4rem .75rem;font-size:.85rem}.alert{padding:.625rem .875rem;border-radius:6px;margin-bottom:.5rem;font-weight:500;font-size:.85rem}.info-message{background:#bee3f8;border:1px solid #90cdf4;border-radius:6px;padding:.5rem .625rem;margin:.25rem 0}.info-message p{margin:0;color:#2c5282;font-size:.8rem}.edit-form .checkbox-group{margin:0!important;padding:0!important}.edit-form .checkbox-label{display:flex!important;align-items:center!important;gap:.3rem!important;cursor:pointer;font-weight:500!important;font-size:.8rem!important;margin:0!important;padding:0!important}.edit-form .checkbox-label input[type=checkbox]{width:14px!important;height:14px!important;height:auto;cursor:pointer}.edit-form .form-hint{display:block;font-size:.65rem!important;color:var(--text-muted)!important;margin:1px 0 0!important;padding:0!important;line-height:1.2!important}.users-mobile-sort-bar,.users-mobile-cards{display:none}@media(max-width:768px),(max-width:932px)and (max-height:500px)and (pointer:coarse){.users-page{padding:0 0 1.5rem}.users-header{flex-direction:column;align-items:stretch;gap:.5rem;margin-bottom:.75rem}.users-header h1{font-size:1.5rem}.users-header-actions{display:grid;grid-template-columns:1fr;gap:.5rem}.filter-input{width:100%;padding:.6rem .75rem;font-size:16px;border-radius:8px}.users-mobile-filters{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.375rem}.role-filter-select{width:100%;min-width:0;padding:.5rem .25rem;font-size:.8rem;border-radius:6px}.users-mobile-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:.375rem}.users-header-actions .btn{width:100%;text-align:center;white-space:nowrap;font-size:.85rem;padding:.6rem .5rem;border-radius:8px}.users-table-container{display:none}.users-mobile-sort-bar{display:flex;align-items:center;margin-bottom:.625rem}.mobile-sort-controls{display:flex;align-items:center;gap:.5rem;width:100%}.mobile-sort-label{font-size:.8rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.mobile-sort-select{flex:1;padding:.4rem .6rem;border:1px solid var(--border-medium);border-radius:6px;font-size:.85rem;background:var(--bg-input);color:var(--text-primary);min-width:0}.mobile-sort-select:focus{outline:none;border-color:var(--color-primary)}.mobile-sort-direction{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-medium);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:1.1rem;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent}.mobile-sort-direction:active{background:var(--bg-surface-hover)}.users-mobile-cards{display:flex;flex-direction:column;gap:.5rem}.user-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:10px;padding:.875rem 1rem;cursor:pointer;transition:border-color .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}.user-card:active{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-shadow)}.user-card-photo{width:40px;height:40px;border-radius:50%;object-fit:cover;aspect-ratio:1;flex-shrink:0}.user-card-photo-placeholder{width:40px;height:40px;border-radius:50%;background:var(--bg-surface-alt);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;flex-shrink:0}.user-card-header{display:flex;justify-content:flex-start;align-items:center;gap:.75rem;margin-bottom:.625rem}.user-card-name{display:flex;flex-direction:column;gap:.125rem;font-weight:600;font-size:.95rem;color:var(--text-primary);min-width:0;flex:1}.user-card-name .user-name-link{font-weight:600}.user-card-name .user-nickname{font-size:.75rem}.user-card-details{display:flex;gap:1rem;flex-wrap:wrap}.user-card-stat{display:flex;flex-direction:column;gap:.0625rem}.user-card-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}.user-card-value{font-size:.85rem;font-weight:500;color:var(--text-primary)}.user-card-edit-hint{margin-top:.5rem;font-size:.7rem;color:var(--text-faint);text-align:right}.users-count{font-size:.85rem}.modal-overlay{padding:0;align-items:flex-end}.modal-content{max-width:100%;max-height:100vh;height:100vh;border-radius:0;animation:slideUp .25s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{padding:.75rem 1rem;position:sticky;top:0;background:var(--bg-surface);z-index:1;border-bottom:1px solid var(--border-default)}.modal-header h2{font-size:1rem}.edit-form{padding:.75rem;gap:.25rem}.form-row{grid-template-columns:1fr;gap:.25rem}.form-group input,.form-group select{font-size:16px;padding:.375rem .5rem}.form-actions{flex-direction:column;gap:.375rem;position:sticky;bottom:0;background:var(--bg-surface);padding:.625rem .75rem;margin:0 -.75rem;border-top:1px solid var(--border-default)}.roles-management-section{margin-top:.5rem;padding:.5rem}.roles-management-section h3{font-size:.9rem}.role-info{flex-wrap:wrap;gap:.375rem}.role-item{padding:.5rem}.add-role-form .form-row{gap:0}}.profile-page{padding:.25rem 0 2rem;max-width:900px;margin:0 auto}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.profile-header h1{font-size:2rem;color:var(--text-primary);margin:0}.profile-photo-section{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background:var(--bg-surface);border-radius:12px;box-shadow:var(--shadow-sm)}.profile-photo-container{flex-shrink:0}.profile-photo{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid var(--border-default)}.profile-photo-placeholder{width:120px;height:120px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;border:3px solid var(--border-default)}.profile-photo-placeholder span{font-size:2.5rem;font-weight:600;color:#fff;text-transform:uppercase}.profile-photo-actions{display:flex;flex-direction:column;gap:.75rem}.profile-photo-actions label{cursor:pointer}.profile-photo-actions label.disabled{opacity:.6;cursor:not-allowed}.btn-danger-outline{background:transparent;color:var(--status-danger-text);border:1px solid var(--status-danger-text);padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-danger-outline:hover:not(:disabled){background:var(--status-danger-bg)}.btn-danger-outline:disabled{opacity:.6;cursor:not-allowed}@media(max-width:480px){.profile-photo-section{flex-direction:column;text-align:center}.profile-photo-actions{flex-direction:row;justify-content:center}}.profile-content{background:var(--bg-surface);border-radius:12px;padding:2rem;box-shadow:var(--shadow-sm)}.profile-form{display:flex;flex-direction:column;gap:2rem}.profile-section{border-bottom:1px solid var(--border-default);padding-bottom:2rem}.profile-section:last-child{border-bottom:none;padding-bottom:0}.profile-section h2{font-size:1.25rem;color:var(--text-secondary);margin-bottom:1.5rem}.form-group label{font-weight:600;color:var(--text-tertiary);font-size:.875rem;margin:0;padding:0;padding-bottom:.2rem;line-height:1.2}.form-group input,.form-group select{padding:.75rem;border:1px solid var(--border-medium);border-radius:8px;font-size:1rem;transition:border-color .2s;margin:0;height:44px;box-sizing:border-box;background:var(--bg-input);color:var(--text-primary)}.form-group input:focus,.form-group select:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.form-group input:disabled,.form-group select:disabled{background-color:var(--bg-surface-alt);color:var(--text-tertiary);cursor:not-allowed}.age-display{font-size:.85rem;color:var(--text-muted);margin-top:.25rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text-tertiary);cursor:pointer;height:44px;margin:0;padding:0;box-sizing:border-box}.checkbox-label input[type=checkbox]{width:1.1rem;height:1.1rem;cursor:pointer}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed}.profile-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem;padding:1rem;background:var(--bg-surface-alt);border-radius:8px}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item.full-width{grid-column:1 / -1}.roles-display{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.role-chip{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:20px;font-size:.85rem}.role-chip .role-badge{padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;background:var(--btn-secondary-bg);color:var(--text-tertiary)}.role-chip .role-badge.role-admin{background:var(--status-danger-bg);color:var(--status-danger-text)}.role-chip .role-badge.role-dz_admin{background:var(--status-warning-bg);color:var(--status-warning-text)}.role-chip .role-badge.role-instructor,.role-chip .role-badge.role-AFF\ Instructor,.role-chip .role-badge.role-Coach,.role-chip .role-badge.role-Tandem\ Instructor{background:var(--status-success-bg);color:var(--status-success-text)}.role-chip .role-dropzone{color:var(--text-muted);font-size:.8rem}.info-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.info-value{font-size:1.125rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.status-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:9999px;font-weight:600;text-transform:uppercase}.status-badge.pending{background:var(--status-warning-bg);color:var(--status-warning-text)}.status-badge.approved{background:var(--status-success-bg);color:var(--status-success-text)}.form-actions{display:flex;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--border-default)}.alert{padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-weight:500;position:relative;display:flex;justify-content:space-between;align-items:center;gap:1rem}.alert-warning{background:var(--status-warning-bg);color:var(--status-warning-text);border:1px solid var(--status-warning-border)}.alert-dismiss{background:transparent;border:none;color:inherit;font-size:1.5rem;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s;flex-shrink:0}.alert-dismiss:hover{background-color:#0000001a}@media(max-width:768px){.profile-page{padding:1rem}.profile-header{flex-direction:column;align-items:flex-start;gap:1rem}.profile-content{padding:1.5rem}.form-row,.profile-info-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn{width:100%}}.section-description{color:var(--text-muted);font-size:.9rem;margin-bottom:1rem}.dropzones-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.dropzone-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-surface-alt);border:1px solid var(--border-default);border-radius:8px}.dropzone-info{display:flex;flex-direction:column;gap:.25rem}.dropzone-name{font-weight:600;color:var(--text-primary);font-size:1rem}.dropzone-location{color:var(--text-muted);font-size:.85rem}.membership-date{color:var(--text-faint);font-size:.8rem}.btn-remove{padding:.5rem 1rem;background:var(--status-danger-bg);color:var(--status-danger-text);border:1px solid var(--status-danger-border);border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-remove:hover{background:var(--status-danger-border)}.no-data{color:var(--text-muted);font-style:italic;padding:1rem;background:var(--bg-surface-alt);border-radius:6px;margin-bottom:1.5rem}.add-dropzone-form{margin-top:1.5rem;padding:1.5rem;background:var(--bg-surface-alt);border-radius:8px}.add-dropzone-form h3{font-size:1rem;color:var(--text-secondary);margin-bottom:1rem}.add-dropzone-form .form-row{display:flex;gap:1rem;align-items:flex-end}.add-dropzone-form .form-group{flex:1}.burble-name-edit{margin-top:.5rem;padding:.75rem;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:6px}.burble-name-edit label{font-size:.85rem;font-weight:500;color:var(--text-tertiary);display:block;margin-bottom:.5rem}.burble-name-edit input{width:100%;padding:.5rem;border:1px solid var(--border-medium);border-radius:4px;font-size:.9rem;margin-bottom:.5rem;background:var(--bg-input);color:var(--text-primary)}.burble-name-edit input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.burble-name-actions{display:flex;gap:.5rem}.btn-small{padding:.375rem .75rem;font-size:.85rem}.burble-name-display{margin-top:.5rem}.burble-name{font-size:.85rem;color:var(--text-muted);display:flex;align-items:center;gap:.5rem}.btn-edit-inline{background:transparent;border:none;color:#3b82f6;font-size:.8rem;cursor:pointer;padding:0;text-decoration:underline}.btn-edit-inline:hover{color:#2563eb}.btn-link{background:transparent;border:none;color:#3b82f6;font-size:.85rem;cursor:pointer;padding:0}.pending-approvals-page{padding:.25rem 0 2rem}.page-header h1{font-size:2rem;color:var(--text-primary);margin:0}.loading{display:flex;justify-content:center;align-items:center;min-height:50vh;font-size:1.125rem;color:var(--text-muted)}.empty-state p{font-size:1.125rem;color:var(--text-tertiary);margin-bottom:.5rem}.empty-state-subtitle{font-size:1rem;color:var(--text-muted)}.approval-section{margin-bottom:3rem}.approval-section h2{font-size:1.5rem;color:var(--text-secondary);margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-default)}.approvals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem}.approval-card{background:var(--bg-surface);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;border:2px solid #fef5e7}.approval-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-default)}.card-header h3{font-size:1.25rem;color:var(--text-secondary);margin:0;display:flex;flex-direction:column;gap:.25rem}.nickname{font-size:.875rem;color:var(--text-muted);font-style:italic;font-weight:400}.role-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;background:#bee3f8;color:#2c5282}.card-body{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.info-row.highlight{background:#fef5e7;padding:.75rem;border-radius:8px;margin:.5rem 0}.info-row .label{font-weight:600;color:var(--text-tertiary);font-size:.875rem}.info-row .value{color:var(--text-secondary);font-size:.875rem}.info-row .jumps-count{font-size:1.5rem;font-weight:700;color:#d68910}.date-input{padding:.5rem;border:2px solid var(--border-default);border-radius:6px;font-size:.875rem;color:var(--text-secondary);background:var(--bg-input);transition:border-color .2s}.date-input:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.description-input{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-default)}.description-input label{display:block;font-weight:600;color:var(--text-tertiary);font-size:.875rem;margin-bottom:.5rem}.description-input textarea{width:100%;padding:.5rem;border:2px solid var(--border-default);border-radius:6px;font-size:.875rem;color:var(--text-secondary);background:var(--bg-input);font-family:inherit;resize:vertical;transition:border-color .2s}.description-input textarea:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.student-description{font-style:italic;background:var(--bg-surface-alt);padding:.5rem;border-radius:6px;display:block;margin-top:.25rem}.form-help{display:block;margin-top:.25rem;font-size:.75rem;color:var(--text-muted);font-style:italic}.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.btn-approve{background:#48bb78!important;color:#fff!important}.btn-approve:hover{background:#38a169!important}.btn-reject{background:#f56565!important;color:#fff!important}.btn-reject:hover{background:#e53e3e!important}.alert-error{background:var(--status-danger-bg);color:var(--status-danger-text);border:1px solid #fc8181}.alert-success{background:var(--status-success-bg);color:var(--status-success-text);border:1px solid #9ae6b4}.pending-entries-list{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-default)}.pending-entries-list>.label{font-weight:600;color:var(--text-tertiary);font-size:.875rem;display:block;margin-bottom:.75rem}.jump-entry-card{background:var(--bg-surface-alt);border-radius:8px;padding:1rem;margin-bottom:.75rem;border-left:3px solid #4299e1}.jump-entry-card:last-child{margin-bottom:0}.entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-default)}.entry-number{font-weight:600;color:var(--text-secondary);font-size:.875rem}.entry-jumps{font-weight:700;color:#4299e1;font-size:1rem}.entry-detail{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;font-size:.875rem}.entry-detail:last-child{margin-bottom:0}.detail-label{font-weight:600;color:var(--text-tertiary);min-width:80px}.detail-value{color:var(--text-secondary);flex:1}.detail-value.student-description{font-style:italic}@media(max-width:768px){.pending-approvals-page{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.approvals-grid,.card-actions{grid-template-columns:1fr}.entry-detail{flex-direction:column;gap:.25rem}.detail-label{min-width:auto}}.modal-overlay{position:fixed;inset:0;background-color:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--bg-surface);border-radius:12px;box-shadow:var(--shadow-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border-default)}.modal-header h3{margin:0;font-size:1.25rem;color:var(--text-secondary)}.modal-close{background:none;border:none;font-size:2rem;line-height:1;color:var(--text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s,color .2s}.modal-close:hover{background-color:var(--bg-surface-hover);color:var(--text-secondary)}.modal-body{padding:1.5rem}@media(max-width:768px){.modal-content{max-width:100%;margin:0}}.log-jumps-card{background:var(--bg-surface);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm);margin-bottom:2rem}.log-jumps-card h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-secondary)}.log-jumps-description{color:var(--text-muted);font-size:.875rem;margin-bottom:1rem}.log-jumps-form{display:flex;flex-direction:column;gap:1rem}.log-jumps-row{display:grid;grid-template-columns:150px 200px 1fr;gap:1rem;align-items:start}.log-jumps-form .form-group{margin:0;display:flex;flex-direction:column}.log-jumps-form label{margin-bottom:.5rem;font-weight:500;color:var(--text-secondary);font-size:.875rem}.log-jumps-form input,.log-jumps-form select{padding:.5rem;border:1px solid var(--border-default);border-radius:8px;font-size:.875rem;font-family:inherit;min-height:38px;background:var(--bg-input);color:var(--text-primary)}.log-jumps-form input:focus,.log-jumps-form select:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.form-help{display:block;margin-top:.25rem;font-size:.75rem;color:var(--text-muted);font-style:italic;min-height:1rem}.log-jumps-form textarea{width:100%;padding:.5rem;border:1px solid var(--border-default);border-radius:8px;font-size:.875rem;font-family:inherit;resize:vertical;background:var(--bg-input);color:var(--text-primary)}.log-jumps-form textarea:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.dropzone-select-wrapper{display:flex;align-items:center;gap:.5rem}.dropzone-select-wrapper select{flex:1}.btn-link-inline{background:none;border:none;color:#4299e1;font-size:.875rem;cursor:pointer;padding:.5rem .75rem;white-space:nowrap;font-weight:500;border-radius:6px;transition:background-color .2s,color .2s}.btn-link-inline:hover{background-color:var(--status-info-bg);color:var(--status-info-text)}.btn-link-inline:disabled{opacity:.5;cursor:not-allowed}.new-dropzone-modal-content{display:flex;flex-direction:column;gap:1rem}.modal-description{margin:0;color:var(--text-muted);font-size:.875rem;padding:.75rem;background-color:var(--bg-surface-alt);border-radius:6px;border-left:3px solid #4299e1}.new-dropzone-modal-content .form-group{display:flex;flex-direction:column;gap:0;margin-bottom:.75rem}.new-dropzone-modal-content .form-group:last-child{margin-bottom:0}.new-dropzone-modal-content label{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin:0;padding:0;padding-bottom:.2rem;line-height:1.2}.new-dropzone-modal-content input{width:100%;padding:.75rem;margin:0;border:1px solid var(--border-default);border-radius:8px;font-size:.875rem;background:var(--bg-input);color:var(--text-primary)}.new-dropzone-modal-content input:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border-default)}.required{color:#e53e3e}@media(max-width:768px){.log-jumps-row{grid-template-columns:1fr}.dropzone-select-wrapper{flex-direction:column;align-items:stretch}.btn-link-inline{width:100%}}.jump-log-page{--jl-pass: var(--status-success-text);--jl-pass-bg: var(--status-success-bg);--jl-pass-bg-light: var(--status-success-bg);--jl-pass-border: var(--status-success-border);--jl-repeat: var(--status-warning-text);--jl-repeat-bg: var(--status-warning-bg);--jl-repeat-border: var(--status-warning-border);--jl-danger: var(--status-danger-text);--jl-danger-bg: var(--status-danger-bg);--jl-danger-border: var(--status-danger-border);--jl-link: var(--color-primary);--jl-link-hover: var(--text-secondary);--jl-link-light-bg: var(--status-info-bg);--jl-info-bg: var(--status-info-bg);--jl-info-text: var(--status-info-text);--jl-progression: #9f7aea;--jl-progression-bg: #faf5ff;--jl-progression-text: #6b46c1;padding:.25rem 0 2rem;max-width:1200px;margin:0 auto}[data-theme=dark] .jump-log-page{--jl-link: var(--text-secondary);--jl-link-hover: var(--text-primary);--jl-progression: #b794f4;--jl-progression-bg: #322659;--jl-progression-text: #b794f4}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--border-default)}.page-header-title{display:flex;align-items:center;gap:1rem}.viewing-user-photo{flex-shrink:0}.header-profile-photo{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid var(--border-default)}.header-profile-placeholder{width:64px;height:64px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;font-weight:600;border:3px solid var(--border-default)}.header-actions{display:flex;gap:1rem;align-items:center}.page-header h1{font-size:2rem;color:var(--text-primary);margin:0 0 .5rem}.page-subtitle{color:var(--text-muted);font-size:.875rem;margin:0}.total-jumps{display:inline-flex;gap:.5rem;cursor:default}.total-jumps:hover{background:var(--border-default)}@keyframes spinLoader{to{transform:rotate(360deg)}}.loading{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:50vh;font-size:1.125rem;color:var(--text-muted);gap:1rem}.loading:before{content:"";width:32px;height:32px;border:3px solid var(--border-default);border-top-color:var(--jl-link);border-radius:50%;animation:spinLoader .8s linear infinite}.empty-state{background:var(--bg-surface);border-radius:12px;padding:4rem 2rem;text-align:center;box-shadow:var(--shadow-sm)}.empty-state .btn{margin-top:1.5rem}.empty-state h2{font-size:1.5rem;color:var(--text-secondary);margin-bottom:.5rem}.empty-state p{color:var(--text-muted);font-size:1rem}.jump-log-table-container{background:var(--bg-surface);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden}.jump-log-table{width:100%;border-collapse:collapse}.jump-log-table thead{background:var(--bg-surface-alt)}.jump-log-table th{padding:.6rem .85rem;text-align:left;font-weight:600;font-size:.8rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border-default)}.jump-log-table tbody tr{border-bottom:1px solid var(--border-default);transition:background-color .2s}.jump-log-table tbody tr:hover{background:var(--bg-surface-alt)}.jump-log-table tbody tr:last-child{border-bottom:none}.jump-log-table td{padding:.5rem .85rem;font-size:.85rem}.type-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.type-prior_jumps{background:var(--jl-pass-bg);color:var(--jl-pass)}.type-bulk_addition{background:var(--jl-repeat-bg);color:var(--jl-repeat)}.type-individual_jump{background:var(--jl-info-bg);color:var(--jl-link-hover)}.jump-number-cell{font-weight:600;color:var(--text-secondary);font-size:.9rem;font-variant-numeric:tabular-nums}.category-cell{font-weight:500;color:var(--text-secondary);text-align:center}.category-info{display:flex;flex-direction:column;align-items:center;gap:.15rem}.category-name{font-weight:500;color:var(--text-secondary)}.jump-type{font-size:.75rem;font-weight:600;color:var(--jl-link);text-transform:uppercase}.category-cell .text-muted{color:var(--text-faint);font-weight:400;font-size:.8rem}.incident-badge{display:inline-block;margin-top:.35rem;padding:.2rem .5rem;background:var(--jl-danger-bg);color:var(--jl-danger);border-radius:4px;font-size:.7rem;font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.025em;transition:background-color .15s ease}.incident-badge:hover{background:var(--jl-danger-border);color:var(--jl-danger);text-decoration:none}.rig-wingload-cell{color:var(--text-tertiary)}.rig-wingload{display:flex;flex-direction:column;gap:.25rem}.rig-name,.container-info{font-weight:500;color:var(--text-secondary)}.canopy-info{font-size:.85rem;color:var(--text-tertiary)}.wingload{font-size:.8rem;color:var(--text-muted)}.jumpers-cell{color:var(--text-tertiary)}.jumpers-list{font-size:.85rem;line-height:1.4}.jumper-link{color:var(--jl-link);text-decoration:none;transition:color .2s}.jumper-link:hover{color:var(--jl-link-hover);text-decoration:underline}.jumper-with-photo{display:inline-flex;align-items:center;gap:.35rem}.jumper-photo{border-radius:50%;object-fit:cover;flex-shrink:0}.jumper-photo-placeholder{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--gradient-primary);color:#fff;font-weight:600;flex-shrink:0}.btn-save,.btn-cancel{padding:.5rem 1rem;border-radius:6px;font-weight:600;font-size:.875rem;border:none;cursor:pointer;transition:all .2s}.btn-save{background:var(--jl-pass-border);color:#fff}.btn-save:hover:not(:disabled){background:var(--jl-pass-border)}.btn-cancel{background:var(--btn-secondary-bg);color:var(--btn-secondary-text)}.btn-cancel:hover:not(:disabled){background:var(--btn-secondary-hover)}.btn-save:disabled,.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600}.status-approved{background:var(--jl-pass-bg);color:var(--jl-pass)}.status-pending{background:var(--jl-repeat-bg);color:var(--jl-repeat)}.status-rejected{background:var(--jl-danger-bg);color:var(--jl-danger)}.non-counting-entry{background:var(--bg-surface-alt);opacity:.75}.non-counting-entry:hover{background:var(--bg-surface-hover);opacity:.85}.non-counting-entry td{color:var(--text-tertiary)}.non-counting-indicator{color:var(--text-faint);font-style:italic;cursor:help}.alert{padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-weight:500}.alert-error{background:var(--jl-danger-bg);color:var(--jl-danger);border:1px solid var(--jl-danger-border)}.btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:1rem;border:none;cursor:pointer;transition:all .2s}.canopy-category-group{display:flex;gap:inherit;align-items:center}.canopy-history-section{background:var(--bg-surface);border-radius:10px;box-shadow:var(--shadow-sm);margin-bottom:1rem;overflow:hidden}.canopy-history-header{padding:.6rem 1rem;font-weight:600;font-size:.875rem;color:var(--text-secondary);background:var(--bg-surface-alt);border-bottom:1px solid var(--border-default)}.canopy-history-empty{padding:1rem;color:var(--text-muted);font-size:.85rem;text-align:center}.canopy-history-list{list-style:none;margin:0;padding:0;max-height:300px;overflow-y:auto}.canopy-history-item{display:flex;justify-content:space-between;align-items:center;padding:.4rem 1rem;border-bottom:1px solid var(--border-light)}.canopy-history-item:last-child{border-bottom:none}.canopy-name{font-size:.875rem;color:var(--text-secondary)}.canopy-count{font-size:.875rem;font-weight:600;color:var(--jl-pass-border);background:var(--jl-pass-bg-light);padding:.125rem .5rem;border-radius:9999px;min-width:2rem;text-align:center}.category-breakdown-section{background:var(--bg-surface);border-radius:10px;box-shadow:var(--shadow-sm);margin-bottom:1rem;overflow:hidden}.category-breakdown-header{padding:.6rem 1rem;font-weight:600;font-size:.875rem;color:var(--text-secondary);background:var(--bg-surface-alt);border-bottom:1px solid var(--border-default)}.category-breakdown-empty{padding:1rem;color:var(--text-muted);font-size:.85rem;text-align:center}.category-breakdown-content{padding:1rem;display:flex;align-items:flex-start;gap:1.5rem}.pie-chart{width:200px;height:200px;border-radius:50%;box-shadow:var(--shadow-sm);flex-shrink:0}.category-legend{list-style:none;margin:0;padding:0;flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}.category-legend-item{display:flex;align-items:center;gap:.5rem;padding:.35rem .6rem;background:var(--bg-surface-alt);border-radius:6px}.category-color{width:14px;height:14px;border-radius:4px;flex-shrink:0}.category-label{flex:1;font-size:.875rem;color:var(--text-secondary);font-weight:500}.category-stats{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.pass-repeat-cell,.notes-cell{white-space:nowrap}.pass-repeat-toggle{display:flex;gap:.25rem}.pass-repeat-toggle .toggle-btn{padding:.35rem .6rem;border:1px solid var(--border-default);border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;background:var(--bg-surface-alt);color:var(--text-muted)}.pass-repeat-toggle .toggle-btn:hover:not(:disabled){border-color:var(--border-medium);background:var(--bg-surface-hover)}.pass-repeat-toggle .toggle-btn:disabled{opacity:.5;cursor:not-allowed}.pass-repeat-toggle .pass-btn.active{background:var(--jl-pass-border);border-color:var(--jl-pass-border);color:#fff}.pass-repeat-toggle .pass-btn.active:hover:not(:disabled){background:var(--jl-pass-border);border-color:var(--jl-pass-border)}.pass-repeat-toggle .repeat-btn.active{background:var(--jl-repeat-border);border-color:var(--jl-repeat-border);color:#fff}.pass-repeat-toggle .repeat-btn.active:hover:not(:disabled){background:var(--jl-repeat);border-color:var(--jl-repeat)}.pass-repeat-toggle .notes-btn{background:var(--bg-surface-alt)}.pass-repeat-toggle .notes-btn.has-notes{background:var(--jl-link-light-bg);border-color:var(--jl-link);color:var(--jl-link-hover)}.pass-repeat-toggle .notes-btn:hover:not(:disabled){background:var(--btn-secondary-hover)}.pass-repeat-toggle .card-btn{background:var(--jl-pass-bg-light);border-color:var(--jl-pass-border);color:var(--jl-pass);text-decoration:none}.pass-repeat-toggle .card-btn:hover{background:var(--jl-pass-bg);border-color:var(--jl-pass-border)}.pass-repeat-toggle .signed-btn{min-width:28px;padding:.35rem .5rem;font-weight:700}.pass-repeat-toggle .signed-btn.unsigned{background:var(--jl-danger-bg);border-color:var(--jl-danger-border);color:var(--jl-danger)}.pass-repeat-toggle .signed-btn.unsigned:hover{background:var(--jl-danger-bg);border-color:var(--jl-danger-border)}.pass-repeat-toggle .signed-btn.signed{background:var(--jl-pass-bg-light);border-color:var(--jl-pass-border);color:var(--jl-pass)}.pass-repeat-toggle .signed-btn.signed:hover{background:var(--jl-pass-bg);border-color:var(--jl-pass-border)}.pass-repeat-toggle.read-only{align-items:center}.pass-repeat-readonly{color:var(--text-faint)}.status-badge-inline{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.status-badge-inline.status-pass{background:var(--jl-pass-bg);color:var(--jl-pass)}.status-badge-inline.status-repeat{background:var(--jl-repeat-bg);color:var(--jl-repeat)}.progression-notes-modal{max-width:600px;width:90%}.progression-notes-modal .modal-header-content{display:flex;align-items:center;gap:1rem}.progression-notes-modal .modal-header-content h2{margin:0}.progression-notes-modal .progression-card-link{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .75rem;background:var(--jl-pass-bg-light);border:1px solid var(--jl-pass-border);border-radius:6px;color:var(--jl-pass);font-size:.85rem;font-weight:500;text-decoration:none;transition:all .15s ease}.progression-notes-modal .progression-card-link:hover{background:var(--jl-pass-bg);border-color:var(--jl-pass-border)}.progression-notes-modal .modal-body{padding:1.5rem;max-height:70vh;overflow-y:auto}.modal-media-section{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-default)}.modal-media-section h4{font-size:.875rem;font-weight:600;color:var(--text-tertiary);margin:0 0 .75rem}.modal-media-videos{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.modal-video-embed{position:relative;width:100%;padding-bottom:56.25%;border-radius:6px;overflow:hidden}.modal-video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.modal-video-container{width:100%}.modal-uploaded-video{width:100%;max-height:300px;border-radius:6px;background:#000}.modal-media-gallery{display:flex;flex-wrap:wrap;gap:.5rem}.modal-media-thumbnail{position:relative;width:80px;height:80px;border-radius:4px;overflow:hidden;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.modal-media-thumbnail .screenshot-delete-btn{top:2px;right:2px;width:18px;height:18px;font-size:14px}.modal-media-thumbnail:hover{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.modal-media-thumbnail img{width:100%;height:100%;object-fit:cover}.modal-status-section{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border-default)}.modal-status-section label{display:block;font-weight:600;font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.modal-pass-repeat-toggle{display:flex;gap:.5rem}.modal-pass-repeat-toggle .toggle-btn{flex:1;padding:.625rem 1rem;border:1px solid var(--border-default);background:var(--bg-surface);border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.modal-pass-repeat-toggle .toggle-btn:hover:not(:disabled){border-color:var(--border-medium);background:var(--bg-surface-alt)}.modal-pass-repeat-toggle .toggle-btn:disabled{opacity:.6;cursor:not-allowed}.modal-pass-repeat-toggle .pass-btn.active{background:var(--jl-pass-bg);border-color:var(--jl-pass-border);color:var(--jl-pass)}.modal-pass-repeat-toggle .repeat-btn.active{background:var(--jl-repeat-bg);border-color:var(--jl-repeat-border);color:var(--jl-repeat)}.missing-feedback-cell{white-space:nowrap}.missing-feedback-tags{display:flex;flex-wrap:wrap;gap:.25rem}.missing-tag{display:inline-block;padding:.2rem .5rem;background:var(--jl-danger-bg);color:var(--jl-danger);border-radius:4px;font-size:.75rem;font-weight:500}.instructor-feedback-cell{white-space:nowrap}.instructor-names{font-size:.875rem;color:var(--text-tertiary)}.student-cell{white-space:nowrap}.student-cell a{color:var(--jl-link);text-decoration:none;font-weight:500}.student-cell a:hover{text-decoration:underline}.progression-notes-modal .pending-status-notice{margin-bottom:1rem;padding:.75rem;background:var(--bg-surface-alt);border-radius:6px;font-size:.9rem;color:var(--text-tertiary)}.progression-notes-modal .status-pass{color:var(--jl-pass-border)}.progression-notes-modal .status-repeat{color:var(--jl-repeat-border)}.progression-notes-modal .note-field{margin-bottom:1rem}.progression-notes-modal .note-field:last-child{margin-bottom:0}.progression-notes-modal .note-field-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.progression-notes-modal .note-field label{display:block;font-weight:600;font-size:.875rem;color:var(--text-secondary)}.progression-notes-modal .note-author-tag{font-size:.75rem;color:var(--text-muted);font-weight:500}.progression-notes-modal .note-field textarea{width:100%;padding:.75rem;border:1px solid var(--border-default);border-radius:6px;font-size:.875rem;font-family:inherit;resize:vertical;transition:border-color .2s;background:var(--bg-input);color:var(--text-primary)}.progression-notes-modal .note-field textarea:focus{outline:none;border-color:var(--jl-link);box-shadow:0 0 0 3px #4299e11a}.progression-notes-modal .note-field textarea.readonly{background:var(--bg-surface-alt);color:var(--text-tertiary);cursor:not-allowed}.progression-notes-modal .edit-restricted{display:block;font-size:.7rem;color:var(--text-faint);margin-top:.25rem;font-style:italic}.other-notes{margin-bottom:.75rem}.other-note-card{background:var(--jl-pass-bg-light);border-left:3px solid var(--jl-pass-border);padding:.5rem .75rem;margin-bottom:.5rem;border-radius:0 4px 4px 0}.other-note-author{display:block;font-size:.7rem;font-weight:600;color:var(--jl-pass-border);margin-bottom:.25rem}.other-note-text{font-size:.875rem;color:var(--text-secondary);margin:0;white-space:pre-wrap}.progression-notes-modal .modal-footer{padding:1rem 1.5rem;background:var(--bg-surface-alt);border-top:1px solid var(--border-default);display:flex;justify-content:flex-end;gap:.75rem}.student-notes-modal{max-width:500px;width:90%}.student-notes-modal .modal-body{padding:1.5rem}.student-notes-textarea{width:100%;padding:.75rem;border:1px solid var(--border-default);border-radius:6px;font-size:.875rem;font-family:inherit;resize:vertical;transition:border-color .2s;background:var(--bg-input);color:var(--text-primary)}.student-notes-textarea:focus{outline:none;border-color:var(--jl-link);box-shadow:0 0 0 3px #4299e11a}.student-notes-modal .modal-footer{padding:1rem 1.5rem;background:var(--bg-surface-alt);border-top:1px solid var(--border-default);display:flex;justify-content:flex-end;gap:.75rem}.clickable-row{cursor:pointer;transition:background-color .2s,transform .1s}.clickable-row:active{transform:scale(.995)}.toggle-btn.notes-btn{padding:.35rem .6rem;border:1px solid var(--border-default);border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;background:var(--bg-surface-alt);color:var(--text-muted)}.toggle-btn.notes-btn:hover{border-color:var(--border-medium);background:var(--bg-surface-hover)}.toggle-btn:active,.notes-btn:active,.btn-icon:active{transform:scale(.93)}.clickable-row:hover,.clickable-row.expanded{background:var(--bg-surface-hover)}.jump-number-cell{vertical-align:middle;text-align:left;white-space:nowrap}.jump-number-cell .expand-indicator{margin-right:.5rem}.expand-indicator{font-size:.65rem;color:var(--text-muted);transition:transform .2s ease;display:inline-block}.expand-indicator.expanded{transform:rotate(90deg)}.expanded-row>td{padding:0!important;background:var(--bg-surface-alt);border-bottom:2px solid var(--border-default);border-left:3px solid var(--jl-link);box-shadow:inset 0 2px 4px #0000000a}.expanded-loading{padding:2rem;text-align:center;color:var(--text-tertiary);font-size:.9rem}.expanded-content{padding:1.5rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start}.expanded-content .media-section,.expanded-content .gps-section{flex:1 1 100%}.expanded-content .expanded-section:not(.media-section):not(.gps-section){flex:1 1 280px;min-width:250px;max-width:calc(50% - .5rem)}.expanded-content .media-section{order:1}.expanded-content .gps-section{order:2}.expanded-content .notes-section{order:3}.expanded-content .student-equipment-section{order:4}.expanded-content .equipment-section{order:5}.expanded-content .resources-section{order:6}.expanded-content .tips-section{order:7}.expanded-section{background:var(--bg-surface);border-radius:8px;padding:.75rem;box-shadow:var(--shadow-sm)}.expanded-section h4{margin:0 0 .75rem;font-size:.875rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-default);padding-bottom:.5rem}.expanded-content .jumpers-section{display:none}.jumpers-list{display:flex;flex-wrap:wrap;gap:.5rem}.jumper-item{display:flex;align-items:center;gap:.4rem;padding:.35rem .65rem;background:var(--bg-surface-alt);border-radius:6px;font-size:.85rem}.jumper-role{font-size:.75rem;color:var(--text-muted)}.notes-section .notes-list{display:flex;flex-direction:column;gap:.5rem}.note-card{padding:.75rem;border-radius:6px}.student-note{background:var(--jl-link-light-bg);border-left:3px solid var(--jl-link)}.instructor-note{background:var(--jl-pass-bg-light);border-left:3px solid var(--jl-pass-border)}.progression-note{background:var(--jl-progression-bg);border-left:3px solid var(--jl-progression)}.note-card .note-author{font-weight:600;font-size:.75rem;color:var(--text-tertiary);display:block;margin-bottom:.25rem}.note-card .note-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.note-card .note-category{font-weight:600;font-size:.75rem;color:var(--jl-progression-text)}.note-card .note-header .note-author{font-weight:500;font-size:.7rem;color:var(--text-muted);margin-bottom:0}.note-card p{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.media-section{grid-column:1 / -1}.media-videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1rem}.media-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}.media-thumbnail{aspect-ratio:1;width:100%;min-width:0;max-width:150px;overflow:hidden;border-radius:6px;cursor:pointer;transition:transform .2s,box-shadow .2s;position:relative}.media-thumbnail:hover{transform:scale(1.02);box-shadow:var(--shadow-md)}.media-thumbnail img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:6px;display:block}.media-caption{font-size:.75rem;color:var(--text-muted);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-embed{width:100%;max-width:400px}.video-embed iframe{width:100%;aspect-ratio:16/9;border-radius:4px;border:none}.video-container{width:100%}.video-player-wrapper{position:relative}.uploaded-video{width:100%;max-height:500px;border-radius:4px;background:#000}.screenshot-dropdown.video-overlay-btn{position:absolute;top:8px;right:8px;z-index:10;opacity:0;transition:opacity .2s}.video-player-wrapper:hover .screenshot-dropdown.video-overlay-btn,.screenshot-dropdown.video-overlay-btn:focus-within{opacity:1}.screenshot-dropdown.video-overlay-btn .screenshot-btn{background:#0009;color:#fff;border-radius:6px;padding:.35rem .5rem;font-size:1.1rem;opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.screenshot-dropdown.video-overlay-btn .screenshot-btn:hover{background:#000c}.video-player-wrapper.frozen .screenshot-dropdown.video-overlay-btn{opacity:1}.video-player-wrapper.frozen .screenshot-dropdown.video-overlay-btn .screenshot-btn{background:#dc3545cc;font-size:.9rem}.video-player-wrapper.frozen .screenshot-dropdown.video-overlay-btn .screenshot-btn:hover{background:#dc3545}.video-player-wrapper.frozen:after{content:"";position:absolute;inset:0;border:2px solid rgba(255,255,255,.5);border-radius:4px;pointer-events:none}.screenshot-frozen-actions{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:.5rem;z-index:10}.screenshot-frozen-actions button{background:#000000bf;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:6px;padding:.5rem 1rem;font-size:.85rem;cursor:pointer;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s}.screenshot-frozen-actions button:hover{background:#000000e6;border-color:#ffffff80}.screenshot-frozen-actions button:disabled{opacity:.5;cursor:not-allowed}.video-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;font-size:.75rem;color:var(--text-muted)}.video-category{background:var(--bg-surface-alt);padding:.125rem .5rem;border-radius:4px;text-transform:capitalize}.video-uploader{font-style:italic}.visibility-badge{padding:.125rem .5rem;border-radius:4px;font-size:.7rem;font-weight:500}.visibility-badge.hidden_from_students{background:var(--jl-repeat-bg);color:var(--jl-repeat)}.visibility-badge.hidden_from_all{background:var(--jl-danger-bg);color:var(--jl-danger)}.visibility-dropdown{position:relative;display:inline-block;margin-left:auto}.visibility-eye-btn{background:none;border:none;font-size:1rem;cursor:pointer;padding:.25rem;border-radius:4px;opacity:.6;transition:opacity .2s}.visibility-eye-btn:hover{opacity:1;background:var(--bg-surface-hover)}.visibility-eye-btn.hidden-active{opacity:1}.visibility-dropdown-content{display:none;position:absolute;right:0;top:100%;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:6px;box-shadow:var(--shadow-md);z-index:100;min-width:180px;overflow:hidden}.visibility-dropdown:hover .visibility-dropdown-content{display:block}.visibility-dropdown-content button{display:block;width:100%;padding:.5rem .75rem;text-align:left;background:none;border:none;font-size:.8rem;cursor:pointer;white-space:nowrap;color:var(--text-secondary)}.visibility-dropdown-content button:hover{background:var(--bg-surface-hover)}.visibility-dropdown-content button.active{background:var(--status-info-bg);color:var(--status-info-text);font-weight:500}.screenshot-dropdown{position:relative;display:inline-block}.screenshot-btn{background:none;border:none;font-size:1rem;cursor:pointer;padding:.25rem;border-radius:4px;opacity:.7;transition:opacity .2s,background .2s}.screenshot-btn:hover{opacity:1;background:var(--bg-surface-hover)}.screenshot-btn:disabled{opacity:.4;cursor:not-allowed}.screenshot-dropdown-content{display:block;position:absolute;right:0;top:100%;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:6px;box-shadow:var(--shadow-md);z-index:100;min-width:160px;overflow:hidden}.screenshot-dropdown-content button{display:block;width:100%;padding:.5rem .75rem;text-align:left;background:none;border:none;font-size:.8rem;cursor:pointer;white-space:nowrap;color:var(--text-secondary)}.screenshot-dropdown-content button:hover{background:var(--bg-surface-hover)}.screenshot-dropdown-content button:disabled{opacity:.5;cursor:not-allowed}.screenshot-delete-btn{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:#dc3545e6;color:#fff;border:none;font-size:16px;font-weight:700;line-height:1;cursor:pointer;opacity:0;transition:opacity .2s;display:flex;align-items:center;justify-content:center}.media-thumbnail:hover .screenshot-delete-btn{opacity:1}.screenshot-delete-btn:hover{background:#c82333}.thumbnail-star-btn{position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#00000080;color:#ccc;border:none;font-size:16px;line-height:1;cursor:pointer;opacity:0;transition:opacity .2s,color .2s,background .2s;display:flex;align-items:center;justify-content:center}.media-thumbnail:hover .thumbnail-star-btn{opacity:1}.thumbnail-star-btn:hover{background:#000000b3;color:gold}.thumbnail-star-btn.active{opacity:1;color:gold;background:#0009}.gps-content{display:flex;flex-direction:column;gap:.75rem}.gps-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.gps-metrics .metric{display:flex;flex-direction:column;padding:.5rem;background:var(--bg-surface-alt);border-radius:4px}.gps-metrics .metric-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase}.gps-metrics .metric-value{font-size:.9rem;font-weight:600;color:var(--text-secondary)}.gps-map-container.fullscreen{background:#1a1a2e;padding:1rem;display:flex;flex-direction:column}.gps-map-container.fullscreen{position:fixed;inset:0;z-index:9999;border-radius:0}.gps-section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.gps-section-header h4{margin:0}.gps-track-toggles{display:flex;flex-direction:row;gap:1rem;background:#0000000d;padding:6px 12px;border-radius:6px}.track-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.85rem;color:var(--text-tertiary);-webkit-user-select:none;user-select:none}.track-toggle input[type=checkbox]{display:none}.track-toggle-indicator{width:14px;height:14px;border-radius:3px;border:2px solid currentColor;transition:opacity .2s}.track-toggle input[type=checkbox]:not(:checked)+.track-toggle-indicator{opacity:.3}.track-toggle-label{font-weight:500}.track-toggle-label.clickable{cursor:pointer;display:flex;align-items:center;gap:4px}.track-toggle-label.clickable:hover{color:var(--text-secondary)}.track-menu-arrow{opacity:.6}.track-toggle-wrapper{position:relative}.track-menu{position:absolute;top:100%;left:0;margin-top:4px;background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-md);min-width:180px;z-index:100;overflow:hidden}.track-menu-header{padding:8px 12px;font-weight:600;font-size:.8rem;color:var(--text-muted);background:var(--bg-surface-alt);border-bottom:1px solid var(--border-default)}.track-menu-section{padding:4px 0}.track-menu-label{padding:6px 12px;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.track-menu-item{display:block;width:100%;padding:8px 12px;text-align:left;background:none;border:none;cursor:pointer;font-size:.85rem;color:var(--text-secondary);transition:background .15s}.track-menu-item:hover:not(:disabled){background:var(--bg-surface-alt)}.track-menu-item:disabled{opacity:.5;cursor:not-allowed}.track-menu-item.danger{color:var(--jl-danger)}.track-menu-item.danger:hover:not(:disabled){background:var(--jl-danger-bg)}.track-menu-divider{height:1px;background:var(--border-default);margin:4px 0}.move-track-modal{background:var(--bg-surface);border-radius:12px;width:90%;max-width:500px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.move-track-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-default)}.move-track-modal .modal-header h3{margin:0;font-size:1.1rem;color:var(--text-secondary)}.move-track-modal .modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:0;line-height:1}.move-track-modal .modal-close:hover{color:var(--text-secondary)}.move-track-modal .modal-body{padding:1.25rem;overflow-y:auto;flex:1}.move-track-modal .modal-description{margin:0 0 1rem;color:var(--text-tertiary);font-size:.9rem}.move-track-step{margin-bottom:1.25rem}.move-track-step label{display:block;font-size:.85rem;font-weight:500;color:var(--text-tertiary);margin-bottom:.5rem}.move-track-search{width:100%;padding:.6rem .75rem;border:1px solid var(--border-default);border-radius:6px;font-size:.9rem;background:var(--bg-input);color:var(--text-primary)}.move-track-search:focus{outline:none;border-color:var(--jl-link);box-shadow:0 0 0 3px #4299e126}.move-track-loading{padding:.5rem;color:var(--text-muted);font-size:.85rem}.move-track-results{margin-top:.5rem;border:1px solid var(--border-default);border-radius:6px;max-height:200px;overflow-y:auto}.move-track-result{display:flex;gap:.75rem;align-items:center;width:100%;padding:.6rem .75rem;background:none;border:none;border-bottom:1px solid var(--border-default);cursor:pointer;text-align:left;font-size:.85rem}.move-track-result:last-child{border-bottom:none}.move-track-result:hover{background:var(--bg-surface-alt)}.move-track-result .result-id{color:var(--text-muted);font-weight:500}.move-track-result .result-student{flex:1;color:var(--text-secondary)}.move-track-result .result-date{color:var(--text-muted);font-size:.8rem}.move-track-result .result-type{color:var(--jl-link);font-size:.8rem}.selected-jump-info{background:var(--jl-link-light-bg);padding:.6rem .75rem;border-radius:6px;margin-bottom:.75rem;font-size:.85rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.change-jump-btn{background:none;border:none;color:var(--jl-link);cursor:pointer;font-size:.85rem;text-decoration:underline;margin-left:auto}.move-track-participants{display:flex;flex-direction:column;gap:.5rem}.participant-btn{padding:.6rem .75rem;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-surface);cursor:pointer;font-size:.85rem;text-align:left;color:var(--text-secondary);transition:border-color .15s,background .15s}.participant-btn:hover{border-color:var(--jl-link);background:var(--bg-surface-alt)}.participant-btn.selected{border-color:var(--jl-link);background:var(--jl-link-light-bg)}.move-track-modal .modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--border-default);background:var(--bg-surface-alt)}.move-track-modal .btn-cancel{padding:.5rem 1rem;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-surface);color:var(--text-tertiary);cursor:pointer;font-size:.85rem}.move-track-modal .btn-cancel:hover{background:var(--bg-surface-alt)}.move-track-modal .btn-confirm{padding:.5rem 1rem;border:none;border-radius:6px;background:var(--jl-link);color:#fff;cursor:pointer;font-size:.85rem}.move-track-modal .btn-confirm:hover:not(:disabled){background:var(--jl-link)}.move-track-modal .btn-confirm:disabled{background:#a0aec0;cursor:not-allowed}.gps-map-container .gps-metrics{margin-top:1rem;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.gps-loading{padding:2rem;text-align:center;color:var(--text-muted);background:var(--bg-surface-alt);border-radius:8px}.gps-error{padding:1rem;text-align:center;color:var(--jl-danger);background:var(--jl-danger-bg);border-radius:8px}.resource-links{display:flex;flex-direction:column;gap:.5rem}.resource-link{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-surface-alt);border-radius:6px;text-decoration:none;color:var(--text-secondary);font-size:.875rem;transition:background .2s}.resource-link:hover{background:var(--bg-surface-hover);color:var(--jl-link-hover)}.resource-icon{font-size:1rem}.category-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--jl-link-light-bg);border-radius:6px;font-size:.875rem;color:var(--jl-link-hover)}.equipment-details{display:flex;flex-direction:column;gap:.5rem}.equipment-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-surface-alt);border-radius:4px}.equipment-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase}.equipment-value{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.student-equipment-section .student-equipment-entry{margin-bottom:.75rem}.student-equipment-section .student-equipment-entry:last-child{margin-bottom:0}.student-equipment-header{font-weight:600;font-size:.8rem;color:var(--text-tertiary);margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:1px solid var(--border-default)}.edit-equipment-btn{padding:.1rem .5rem;font-size:.65rem;background:none;color:var(--text-muted);border:1px solid var(--border-default);border-radius:4px;cursor:pointer;transition:all .15s;margin-left:.5rem;vertical-align:middle}.edit-equipment-btn:hover{background:var(--bg-surface-alt);color:var(--text-secondary)}.equipment-edit-form{padding:.75rem;background:var(--bg-surface-alt);border-radius:6px;border:1px solid var(--border-default)}.equipment-select{width:100%;padding:.5rem;font-size:.875rem;border:1px solid var(--border-default);border-radius:4px;background:var(--bg-surface);margin-bottom:.75rem}.equipment-select:focus{outline:none;border-color:var(--jl-link);box-shadow:0 0 0 3px #4299e133}.equipment-edit-actions{display:flex;gap:.5rem}.equipment-edit-actions .save-btn{padding:.375rem 1rem;font-size:.875rem;background:var(--jl-pass-border);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.equipment-edit-actions .save-btn:hover:not(:disabled){background:var(--jl-pass-border)}.equipment-edit-actions .save-btn:disabled{opacity:.6;cursor:not-allowed}.equipment-edit-actions .cancel-btn{padding:.375rem 1rem;font-size:.875rem;background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:none;border-radius:4px;cursor:pointer;transition:background .2s}.equipment-edit-actions .cancel-btn:hover:not(:disabled){background:var(--btn-secondary-hover)}.equipment-loading,.equipment-error{padding:.5rem;font-size:.875rem;text-align:center}.equipment-error{color:var(--jl-danger)}.no-equipment-message{padding:.75rem;font-size:.875rem;color:var(--text-muted);font-style:italic;text-align:center;background:var(--bg-surface-alt);border-radius:4px}.tips-section{background:linear-gradient(135deg,var(--jl-pass-bg-light) 0%,var(--jl-pass-bg) 100%);border:1px solid var(--jl-pass-border)}.tips-subtext{font-size:.75rem;color:var(--text-muted);font-style:italic;margin:0 0 .75rem}.tips-list{display:flex;flex-direction:column;gap:.75rem;padding:0 .25rem}.tip-instructor{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-surface);border-radius:6px;box-shadow:var(--shadow-sm)}.tip-instructor-name{font-weight:500;color:var(--text-secondary);font-size:.875rem;margin-right:1rem}.tip-links{display:flex;gap:.5rem}.tip-link{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600;text-decoration:none;transition:all .15s ease}.tip-link svg{flex-shrink:0}.venmo-link{background:#008cff;color:#fff}.venmo-link:hover{background:#0070cc}.cashapp-link{background:#00d632;color:#fff}.cashapp-link:hover{background:#00b32a}.expanded-section .no-data{color:var(--text-faint);font-size:.875rem;font-style:italic;margin:0}.jump-log-filter-bar{display:flex;align-items:center;gap:.5rem;padding:.75rem 0;margin-bottom:.75rem;flex-wrap:wrap;position:relative;z-index:20}.filter-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .75rem;border-radius:9999px;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-tertiary);font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s ease}.filter-chip:hover{border-color:var(--border-medium);background:var(--bg-surface-alt);color:var(--text-secondary)}.filter-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.filter-chip.active:hover{opacity:.9}.filter-chip-arrow{font-size:.65rem;margin-left:.1rem}.filter-chip-wrapper{flex-shrink:0}.filter-dropdown-backdrop{position:fixed;inset:0;z-index:99}.filter-dropdown{position:relative;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;box-shadow:var(--shadow-md);z-index:100;min-width:140px;max-width:280px;max-height:240px;overflow-y:auto;padding:.25rem 0;margin-top:-.5rem}.filter-dropdown-item{display:block;width:100%;padding:.45rem .75rem;text-align:left;background:none;border:none;cursor:pointer;font-size:.8rem;color:var(--text-secondary);transition:background .1s}.filter-dropdown-item:hover{background:var(--bg-surface-alt)}.filter-dropdown-item.selected{background:var(--jl-link-light-bg);color:var(--jl-link);font-weight:600}.filter-clear{display:inline-flex;align-items:center;padding:.35rem .6rem;border-radius:9999px;border:none;background:none;color:var(--text-muted);font-size:.75rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:color .15s}.filter-clear:hover{color:var(--jl-danger)}.filter-result-count{font-size:.8rem;color:var(--text-muted);margin-bottom:.5rem;padding-left:.25rem}.mobile-summary-cell,.mobile-actions-footer,.jump-log-mobile-cards{display:none}.mobile-card-date-header{display:flex;align-items:baseline;gap:.5rem;padding:.75rem .25rem .35rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);position:sticky;top:0;z-index:10;background:var(--bg-page)}.mobile-card-date-dz{font-weight:500;text-transform:none;letter-spacing:normal;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-card{background:var(--bg-surface);border-radius:10px;border:1px solid var(--border-default);margin-bottom:.5rem;overflow:hidden;cursor:pointer;transition:border-color .2s}.mobile-card:active{transform:scale(.99)}.mobile-card-expanded{border-color:var(--jl-link)}.mobile-card-header{display:flex;align-items:center;gap:.5rem;padding:.75rem;font-size:.875rem}.mobile-card-jump-num{font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;min-width:2.5rem}.mobile-card-category{font-weight:500;color:var(--text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-card-type{font-size:.7rem;font-weight:600;color:var(--jl-link);text-transform:uppercase;letter-spacing:.02em}.mobile-card-chevron{font-size:.6rem;color:var(--text-faint);transition:transform .2s ease;flex-shrink:0}.mobile-card-chevron.expanded{transform:rotate(90deg)}.mobile-card-jumpers{padding:0 .75rem .5rem;font-size:.8rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-card-jumpers .jumper-link{color:var(--text-secondary);text-decoration:underline;text-decoration-color:var(--border-medium);text-underline-offset:2px}.mobile-card-jumpers .jumper-link:hover{color:var(--text-primary);text-decoration-color:var(--text-muted)}.mobile-card-details{border-top:1px solid var(--border-light)}.mobile-card-actions-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border-light)}.mobile-card-admin-actions{display:flex;gap:.5rem;padding:.75rem;border-top:1px solid var(--border-light)}.mobile-date-separator{border-bottom:none!important;background:transparent!important}.mobile-date-separator:hover{background:transparent!important}.mobile-date-separator td{padding:1rem .85rem .3rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-left:3px solid var(--border-default);background:var(--bg-surface-alt);border-radius:0 4px 4px 0}.mobile-date-separator .mobile-date-dz{font-weight:500;text-transform:none;letter-spacing:normal;color:var(--text-faint);margin-left:.5rem}.dz-edit-btn{background:none;border:none;color:var(--text-faint);font-size:.7rem;cursor:pointer;padding:0 .25rem;margin-left:.35rem;opacity:0;transition:opacity .15s;text-decoration:underline}.mobile-date-dz:hover .dz-edit-btn,.mobile-card-date-dz:hover .dz-edit-btn{opacity:1}.dz-edit-inline{display:inline-flex;align-items:center;gap:.3rem}.dz-edit-select{font-size:.75rem;padding:.1rem .25rem;border:1px solid var(--border-default);border-radius:3px;background:var(--bg-surface);color:var(--text-default)}.dz-edit-save,.dz-edit-cancel{font-size:.7rem;padding:.1rem .4rem;border:1px solid var(--border-default);border-radius:3px;cursor:pointer;background:var(--bg-surface);color:var(--text-default)}.dz-edit-save:disabled{opacity:.5;cursor:default}@media(max-width:768px){.jump-log-page{padding:.5rem}.page-header{flex-direction:column;gap:.75rem}.page-header h1{font-size:1.5rem}.header-actions{flex-wrap:wrap;gap:.4rem}.header-actions .btn-sm{flex:1 1 auto;font-size:.8rem;padding:.45rem .6rem}.canopy-category-group{flex:1 1 auto;gap:.4rem}.canopy-category-group .btn-sm{flex:1}.total-jumps{width:100%;align-items:center}.jump-log-filter-bar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:.5rem 0;margin-bottom:.5rem;gap:.35rem}.jump-log-filter-bar::-webkit-scrollbar{display:none}.filter-chip{font-size:.75rem;padding:.3rem .6rem}.filter-dropdown-backdrop{background:#0000004d}.filter-dropdown{position:fixed;inset:auto 0 0;margin-top:0;border-radius:16px 16px 0 0;max-height:50vh;max-width:unset;min-width:unset;z-index:1000;box-shadow:0 -4px 20px #0003;padding:.5rem 0}.filter-dropdown-item{padding:.65rem 1rem;font-size:.9rem}.jump-log-table-container{display:none}.jump-log-mobile-cards{display:block}.mobile-action-btn{flex:1;padding:.5rem .75rem;border-radius:6px;font-size:.8rem;font-weight:500;text-align:center;text-decoration:none;cursor:pointer;border:none}.mobile-action-danger-outline{background:var(--bg-surface);border:1px solid var(--jl-danger-border);color:var(--jl-danger)}.mobile-action-danger{background:var(--jl-danger-bg);color:var(--jl-danger)}.canopy-history-dropdown{left:auto;right:0}.category-breakdown-content{flex-direction:column;align-items:center}.category-legend{grid-template-columns:1fr}.expanded-content{flex-direction:column;padding:.5rem .75rem;gap:0}.expanded-content .gps-section,.expanded-content .media-section,.expanded-content .expanded-section:not(.media-section):not(.gps-section){flex:1 1 100%;width:100%;max-width:100%;min-width:0}.expanded-content .expanded-section{background:none;border-radius:0;box-shadow:none;padding:0;border-bottom:1px solid var(--border-light);padding-bottom:.5rem;margin-bottom:.5rem}.expanded-content .expanded-section:last-child{border-bottom:none;margin-bottom:0}.expanded-content .expanded-section h4{font-size:.7rem;margin:0 0 .4rem;padding-bottom:0;border-bottom:none}.expanded-content .jumpers-list{gap:.35rem}.expanded-content .jumper-item{padding:.2rem .5rem;font-size:.8rem}.expanded-content .equipment-details{width:100%}.expanded-content .equipment-item{padding:.25rem 0;background:none;border-radius:0;width:100%}.expanded-content .equipment-label{font-size:.7rem}.expanded-content .equipment-value{font-size:.8rem}.expanded-content .note-card{padding:.5rem .6rem;border-radius:4px}.expanded-content .note-card p{font-size:.8rem}.expanded-content .resource-links{gap:.3rem}.expanded-content .resource-link{padding:.3rem 0;font-size:.8rem}.expanded-content .tips-section{padding:.5rem .6rem!important;border-radius:6px!important}.expanded-content .gps-section{background:none;box-shadow:none;padding:0}.expanded-content .gps-section-header{gap:.4rem;margin-bottom:.4rem}.expanded-content .gps-content{gap:.4rem}.expanded-content .gps-map-container .playback-controls{margin-top:.4rem;padding:.5rem;border-radius:0;background:none}.expanded-content .gps-map-container .playback-main{flex-wrap:wrap}.expanded-content .gps-map-container .timeline-container{order:3;width:100%;flex:1 1 100%}.expanded-content .gps-map-container .gps-metrics{margin-top:.4rem}.expanded-content .gps-metrics .metric{padding:.3rem .4rem;background:none}.gps-metrics{grid-template-columns:1fr 1fr}.expanded-row>td{border-left:none}}.lightbox-overlay{position:fixed;inset:0;background:#000000e6;z-index:9999;display:flex;align-items:center;justify-content:center}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.lightbox-close{position:fixed;top:1rem;right:1rem;background:#ffffff1a;border:none;color:#fff;font-size:2rem;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:10001}.lightbox-close:hover{background:#fff3}.lightbox-image-container{display:flex;align-items:center;justify-content:center;max-width:85vw;max-height:85vh}.lightbox-image-container img{max-width:100%;max-height:85vh;object-fit:contain;border-radius:4px;box-shadow:0 4px 20px #00000080}.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;font-size:1.5rem;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:10001}.lightbox-nav:hover:not(:disabled){background:#fff3}.lightbox-nav:disabled{opacity:.3;cursor:not-allowed}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-counter{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);color:#fff;font-size:.875rem;background:#00000080;padding:.5rem 1rem;border-radius:20px;z-index:10001}@media(max-width:768px){.lightbox-nav{width:40px;height:40px;font-size:1.25rem}.lightbox-close{width:40px;height:40px;font-size:1.5rem}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}}.load-more-container{display:flex;justify-content:center;padding:1.5rem 0;margin-top:1rem}.load-more-container .btn{min-width:200px}.mark-load-modal{display:flex;flex-direction:column;gap:1.5rem}.mode-toggle{display:flex;gap:.5rem;padding:.25rem;background:var(--bg-surface-alt);border-radius:8px}.mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.mode-btn:hover:not(.active){background:var(--bg-surface-hover);color:var(--text-secondary)}.mode-btn.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.mode-btn.undo.active{background:var(--status-warning-bg);color:var(--status-warning-text)}.mode-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;background:var(--bg-surface-hover);color:var(--text-secondary);border-radius:999px;font-size:.75rem;font-weight:600}.mode-btn.active .mode-count{background:#3b82f6;color:#fff}.mode-btn.undo.active .mode-count{background:#f59e0b;color:#fff}.no-loads-message{text-align:center;padding:2rem;color:var(--text-muted)}.no-loads-message p{margin:0}.no-loads-message .hint{font-size:.875rem;margin-top:.5rem;color:var(--text-faint)}.form-group{display:flex;flex-direction:column;gap:0;margin-bottom:.75rem}.form-group:last-child{margin-bottom:0}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary);margin:0;padding:0;padding-bottom:.2rem;line-height:1.2}.form-group select{padding:.75rem 1rem;margin:0;border:1px solid var(--border-medium);border-radius:6px;font-size:1rem;background:var(--bg-input);cursor:pointer;transition:border-color .2s,box-shadow .2s}.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.jumpers-preview{background:var(--bg-surface-alt);border-radius:8px;padding:1rem}.jumpers-preview h4{margin:0 0 .25rem;font-size:.875rem;font-weight:600;color:var(--text-secondary)}.jumpers-hint{margin:0 0 .75rem;font-size:.75rem;color:var(--text-faint)}.jumper-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.jumper-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-surface);border-radius:6px;border:1px solid var(--border-default);transition:all .2s}.jumper-item.excluded{background:var(--bg-surface-alt);border-color:var(--border-medium);opacity:.7}.exclude-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:var(--status-danger-bg);color:var(--status-danger-text);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s;flex-shrink:0}.exclude-btn:hover{background:var(--status-danger-border)}.exclude-btn.excluded{background:var(--status-success-bg);color:var(--status-success-text)}.exclude-btn.excluded:hover{background:var(--status-success-border)}.excluded-badge{margin-left:auto;font-size:.6875rem;color:var(--text-muted);font-style:italic}.jumper-name{font-weight:500;color:var(--text-primary)}.jumper-item.excluded .jumper-name{text-decoration:line-through;color:var(--text-faint)}.jumper-details{font-size:.8125rem;color:var(--text-muted)}.jumper-item.excluded .jumper-details{text-decoration:line-through;color:var(--text-faint)}.error-message{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:6px;padding:.75rem 1rem;color:var(--status-danger-text);font-size:.875rem}.conflict-warning{background:var(--status-warning-bg);border:1px solid var(--status-warning-border);border-radius:8px;padding:1rem}.conflict-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--status-warning-text)}.conflict-icon{font-size:1.25rem}.conflict-description{margin:0 0 .75rem;font-size:.875rem;color:var(--status-warning-text);line-height:1.5}.conflict-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.conflict-item{background:var(--bg-surface);padding:.75rem;border-radius:6px;border:1px solid var(--status-warning-border)}.conflict-item>strong{color:var(--status-warning-text);display:block;margin-bottom:.5rem}.conflict-jumps{list-style:disc;margin:0;padding-left:1.25rem;font-size:.8125rem;color:var(--status-warning-text)}.conflict-jumps li{margin-bottom:.25rem}.conflict-hint{margin:.75rem 0 0;font-size:.8125rem;font-weight:500;color:var(--status-warning-text);font-style:italic}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-default)}.btn{padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.btn-secondary{background:var(--bg-surface-alt);color:var(--text-secondary);border-color:var(--border-medium)}.btn-success:hover:not(:disabled){background:#059669}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover:not(:disabled){background:#d97706}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.undo-confirm-warning{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:8px;padding:1rem}.undo-confirm-warning .conflict-header,.undo-confirm-warning .conflict-description,.undo-confirm-warning .conflict-description strong,.undo-confirm-warning .conflict-hint{color:var(--status-danger-text)}.jumper-item.undo-item{border-color:var(--status-danger-border);background:var(--status-danger-bg)}.undo-hint{color:var(--status-danger-text)!important;font-weight:500}@media(max-width:480px){.jumper-item{flex-wrap:wrap}.jumper-name{flex:1}.jumper-details,.excluded-badge{flex-basis:100%;margin-left:calc(24px + .5rem);margin-top:.25rem}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}.manifest-page{padding:.25rem 1.5rem;max-width:100%;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.25rem}.page-header h1{margin:0;font-size:1.75rem;color:var(--text-primary)}.page-subtitle{margin:0;color:var(--text-muted);font-size:.95rem}.header-actions{display:flex;gap:.5rem;align-items:center}.filter-input-header{padding:.5rem .75rem;border:1px solid var(--border-medium);border-radius:6px;font-size:.9rem;transition:border-color .2s;min-width:250px;background:var(--bg-input);color:var(--text-secondary)}.filter-input-header:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.burble-auto-toggle{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:var(--bg-surface-hover);border:1px solid var(--border-medium);border-radius:6px;cursor:pointer;font-size:.85rem;color:var(--text-secondary);transition:all .2s}.burble-auto-toggle:hover{background:var(--btn-secondary-bg)}.burble-auto-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.burble-auto-toggle input[type=checkbox]:checked+.toggle-label{color:var(--status-info-text);font-weight:500}.toggle-label{white-space:nowrap}.sign-in-form-container{background:var(--bg-surface-alt);border:2px solid var(--border-default);border-radius:8px;padding:.75rem;margin-bottom:.5rem}.sign-in-form h3{margin:0 0 .5rem;color:var(--text-primary);font-size:1rem}.sign-in-form .form-group{margin-bottom:.5rem;position:relative;gap:0}.sign-in-form .form-group label{display:block;margin:0;padding:0;font-weight:500;color:var(--text-secondary);font-size:.85rem;line-height:1.2}.sign-in-form .form-control{width:100%;padding:.5rem;border:1px solid var(--border-medium);border-radius:6px;font-size:.9rem;transition:border-color .2s;margin-top:0;margin-bottom:.5rem;height:36px;box-sizing:border-box;background-color:var(--bg-input);-webkit-appearance:none;-moz-appearance:none;appearance:none}.sign-in-form select.form-control{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.25em 1.25em;padding-right:2rem}.sign-in-form .form-control:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.sign-in-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.sign-in-form .form-row-name-weight{display:grid;grid-template-columns:2fr 1fr;gap:.5rem}.sign-in-form .form-row-three{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem}.sign-in-form .wingload-value{padding:.5rem;background:var(--bg-surface-hover);border:1px solid var(--border-medium);border-radius:6px;font-size:.9rem;font-weight:600;text-align:center;min-width:60px;height:36px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.user-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:6px;max-height:300px;overflow-y:auto;z-index:1000;box-shadow:var(--shadow-md)}.dropdown-item{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dropdown-item:hover{background:var(--bg-surface-alt)}.user-name-primary{color:var(--text-primary)!important;font-weight:600;font-size:1rem;flex:1;text-align:left}.user-role-badge{padding:.125rem .5rem;border-radius:8px;font-size:.7rem;font-weight:600;text-transform:uppercase;background:var(--bg-surface-alt);color:var(--text-muted)}.dropdown-item.no-results{color:var(--text-muted);cursor:default;text-align:center}.dropdown-item.no-results:hover{background:var(--bg-surface)}.dropdown-item.create-new-hint{color:var(--status-success-text);background:var(--status-success-bg);cursor:default;text-align:center;font-weight:500;border:1px solid var(--status-success-border)}.dropdown-item.create-new-hint:hover{background:var(--status-success-bg)}.selected-user{padding:.65rem;background:var(--status-info-bg);border:1px solid var(--status-info-border);border-radius:6px;margin-bottom:.65rem;display:flex;align-items:center;gap:.5rem}.selected-user strong{color:var(--status-info-text)}.role-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.role-badge.role-student{background:var(--status-info-bg);color:var(--status-info-text)}.role-badge.role-instructor{background:var(--status-success-bg);color:var(--status-success-text)}.role-badge.role-admin{background:var(--status-danger-bg);color:var(--status-danger-text)}.form-actions{display:flex;gap:.5rem;margin-top:.5rem}.new-user-notice{background:var(--status-info-bg);color:var(--status-info-text);padding:.35rem .5rem;font-size:.85rem;border-radius:6px;margin-bottom:.5rem}.sign-in-form .wingload-display{font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.required{color:#dc2626;font-weight:600}.optional{color:var(--text-muted);font-weight:400;font-size:.85em}.manifest-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:.75rem}.filter-input{flex:1;padding:.75rem 1rem;border:1px solid var(--border-medium);border-radius:6px;font-size:.95rem;transition:border-color .2s;background:var(--bg-input);color:var(--text-secondary)}.manifest-count{font-size:.9rem;color:var(--text-muted);font-weight:500;white-space:nowrap}.manifest-table-container{background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-sm);overflow:visible;width:100%}.manifest-table{width:100%;border-collapse:collapse;font-size:.85rem;table-layout:fixed;color:var(--text-secondary)}.manifest-table thead{background:var(--bg-surface-alt);border-bottom:2px solid var(--border-default)}.manifest-table th{padding:.3rem .4rem;text-align:left;font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:var(--navbar-height, 0px);background:var(--bg-surface-alt);z-index:10;white-space:nowrap;vertical-align:bottom;border-right:1px solid var(--border-medium)}.manifest-table th.wrap-header{white-space:normal;word-wrap:break-word;line-height:1.2}.manifest-table th:last-child{border-right:none}.manifest-table th.vertical-header{padding:.3rem!important;min-height:120px;vertical-align:bottom;white-space:nowrap!important;height:120px;width:40px;text-align:center}.manifest-table th.vertical-header div:not(.resize-handle){writing-mode:vertical-rl;transform:rotate(180deg);display:inline-block;text-align:left}.resize-handle{position:absolute;top:0;right:0;width:5px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:1}.resize-handle:hover,.resize-handle.resizing{background:#3b82f6}.manifest-table td{padding:.4rem;border-bottom:1px solid var(--border-light);border-right:1px solid var(--border-default);vertical-align:middle;height:45px;overflow:hidden}.manifest-table td:has([data-tooltip]:hover),.manifest-table td:has(.has-instructor-tooltip:hover),.manifest-table td:has(.has-load-tooltip:hover),.manifest-table td:has(.has-rig-tooltip:hover),.manifest-table td:has(.call-time-badge:hover){position:relative;z-index:20;overflow:visible}.manifest-table td select,.manifest-table td input[type=text]{height:30px;box-sizing:border-box}.manifest-table td:last-child{border-right:none}.manifest-row{transition:background-color .15s;background-color:var(--bg-surface);scroll-margin-top:calc(var(--navbar-height, 0px) + 130px)}.manifest-row:nth-child(2n){background-color:var(--bg-surface-hover)}.manifest-row:hover{background:var(--bg-surface-hover)}.manifest-row.rental-category{background-color:var(--status-info-bg)!important}.manifest-row.rental-category:hover{background-color:var(--status-info-border)!important}.free-rental-badge{display:inline-block;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:4px;margin-left:6px;text-transform:uppercase;letter-spacing:.5px;vertical-align:middle;animation:pulse-free 2s infinite}@keyframes pulse-free{0%,to{opacity:1}50%{opacity:.7}}.manifest-row.status-jumped{background-color:var(--status-success-bg)!important}.manifest-row.status-jumped select,.manifest-row.status-jumped input[type=text],.manifest-row.status-jumped .instructor-select,.manifest-row.status-jumped .comments-input{background:var(--status-success-bg)}.manifest-row.status-jumped:hover{background-color:var(--status-success-bg)!important;box-shadow:inset 0 0 0 1000px #ffffff0f}.manifest-row.status-gone_home{background-color:var(--badge-neutral-bg)}.manifest-row.status-gone_home select,.manifest-row.status-gone_home input[type=text],.manifest-row.status-gone_home .instructor-select,.manifest-row.status-gone_home .comments-input{background:var(--badge-neutral-bg)}.manifest-row.status-gone_home>td{opacity:.6}.manifest-row.status-gone_home>td.comments-cell{opacity:1}.checkbox-col{width:50px;text-align:center}.red-section-checkbox{width:20px;height:20px;cursor:pointer;accent-color:#ef4444}.no-harness-needed{color:var(--text-faint);font-size:14px;display:inline-block;width:20px;text-align:center}.name-cell{vertical-align:middle!important}.name-cell.harness-room-incomplete,.checkbox-col.harness-room-incomplete{background-color:var(--status-danger-bg)!important}.name-cell strong{display:inline-block;vertical-align:middle;line-height:1.2}.jumper-name-link{color:inherit;text-decoration:none;transition:color .2s}.jumper-name-link:hover{color:#4299e1}.jumper-name-link:hover strong{text-decoration:underline}.role-badge-small{vertical-align:middle}.role-badge-small{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:.65rem;font-weight:700;text-transform:uppercase}.role-badge-small.role-student{background:var(--status-info-bg);color:var(--status-info-text)}.role-badge-small.role-instructor{background:var(--status-success-bg);color:var(--status-success-text)}.role-badge-small.role-admin{background:var(--status-danger-bg);color:var(--status-danger-text)}.currency-cell{padding:0!important;text-align:center!important;overflow:visible!important}.manifest-table .currency-cell{text-align:center!important}.canopy-cell,.trained-cell{padding:0!important;text-align:center}.currency-badge{display:inline-flex;align-items:center;justify-content:center;padding:.15rem .35rem;border-radius:6px;font-size:.7rem;font-weight:600;position:relative;cursor:pointer;min-width:2.2rem;text-align:center}.currency-badge[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:5px;padding:.4rem .6rem;background:#1f2937;color:#fff;font-size:.75rem;border-radius:4px;white-space:pre-line;text-align:left;min-width:90px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility .2s;z-index:10000}.currency-badge[data-tooltip]:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:-1px;border:4px solid transparent;border-top-color:#1f2937;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility .2s;z-index:10000}.currency-badge[data-tooltip]:hover:after,.currency-badge[data-tooltip]:hover:before{opacity:1;visibility:visible}.currency-badge.currency-current{background:var(--status-success-bg);color:var(--status-success-text)}.currency-badge.currency-caution{background:var(--status-warning-bg);color:var(--status-warning-text)}.currency-badge.currency-warning,.currency-badge.currency-expired{background:var(--status-danger-bg);color:var(--status-danger-text)}.currency-badge.currency-none{background:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.instructor-cell-wrapper{display:flex;align-items:center;gap:4px;position:relative;overflow:visible}.manifest-table td:has(.instructor-cell-wrapper){overflow:visible!important}.instructor-cell-wrapper.has-instructor-tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:5px;padding:.4rem .6rem;background:#1f2937;color:#fff;font-size:.75rem;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10000}.instructor-cell-wrapper.has-instructor-tooltip:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:-1px;border:4px solid transparent;border-top-color:#1f2937;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10000}.instructor-cell-wrapper.has-instructor-tooltip:hover:after,.instructor-cell-wrapper.has-instructor-tooltip:hover:before{opacity:1}.instructor-cell-wrapper.has-instructor-tooltip:has(.instructor-mismatch-badge:hover):after,.instructor-cell-wrapper.has-instructor-tooltip:has(.instructor-mismatch-badge:hover):before{opacity:0!important}@media(max-width:768px){.instructor-cell-wrapper.has-instructor-tooltip:has(.instructor-mismatch-badge):after,.instructor-cell-wrapper.has-instructor-tooltip:has(.instructor-mismatch-badge):before{display:none!important}}.instructor-cell-with-mismatch{overflow:visible!important}.instructor-mismatch-badge{display:inline-block;position:relative;cursor:pointer;font-size:1em;flex-shrink:0}.instructor-mismatch-badge:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:5px;padding:.4rem .6rem;background:#1f2937;color:#fff;font-size:.75rem;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10000}.instructor-mismatch-badge:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:-1px;border:4px solid transparent;border-top-color:#1f2937;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10000}.instructor-mismatch-badge:hover:after,.instructor-mismatch-badge:hover:before{opacity:1}.category-cell-wrapper{display:flex;align-items:center;gap:4px;position:relative}.category-cell-with-mismatch{overflow:visible!important}.category-mismatch-badge{display:inline-block;position:relative;cursor:pointer;font-size:1em;flex-shrink:0}.category-mismatch-badge:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:5px;padding:.4rem .6rem;background:#1f2937;color:#fff;font-size:.75rem;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10000}.category-mismatch-badge:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:-1px;border:4px solid transparent;border-top-color:#1f2937;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10000}.category-mismatch-badge:hover:after,.category-mismatch-badge:hover:before{opacity:1}.load-cell-wrapper{display:flex;align-items:center;gap:4px;position:relative;overflow:visible}.manifest-table td:has(.load-cell-wrapper){overflow:visible!important}.rig-cell-wrapper{display:flex;align-items:center;gap:4px;position:relative;overflow:visible}.manifest-table td:has(.rig-cell-wrapper){overflow:visible!important}.rig-cell-wrapper.has-rig-tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:5px;padding:.4rem .6rem;background:#1f2937;color:#fff;font-size:.75rem;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10000}.rig-cell-wrapper.has-rig-tooltip:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:-1px;border:4px solid transparent;border-top-color:#1f2937;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10000}.rig-cell-wrapper.has-rig-tooltip:hover:after,.rig-cell-wrapper.has-rig-tooltip:hover:before{opacity:1}.manifest-table td:has(.call-time-badge){overflow:visible!important}.call-time-badge{display:inline-block;padding:.15rem .3rem;background:var(--status-info-bg);color:var(--status-info-text);border-radius:4px;font-size:.7rem;font-weight:600;white-space:nowrap;position:relative;cursor:pointer}.call-time-badge:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:5px;padding:.4rem .6rem;background:#1f2937;color:#fff;font-size:.75rem;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10000}.call-time-badge:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:-1px;border:4px solid transparent;border-top-color:#1f2937;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10000}.call-time-badge:hover:after,.call-time-badge:hover:before{opacity:1}.equipment-cell{display:flex;gap:.35rem}.equipment-badge{padding:.2rem .4rem;background:var(--badge-purple-bg);color:var(--badge-purple-text);border-radius:4px;font-size:.7rem;font-weight:600}.category-select{width:100%;max-width:100%;padding:.3rem .4rem;border:1px solid var(--border-medium);border-radius:4px;font-size:.8rem;cursor:pointer;background:var(--bg-input);color:var(--text-secondary);transition:border-color .2s;box-sizing:border-box}.category-select:focus{outline:none;border-color:#3b82f6}.equipment-select{width:100%;max-width:100%;padding:.3rem .4rem;border:1px solid var(--border-medium);border-radius:4px;font-size:.8rem;cursor:pointer;background:var(--bg-input);color:var(--text-secondary);transition:border-color .2s;box-sizing:border-box}.equipment-select:focus{outline:none;border-color:#3b82f6}.instructor-select{width:100%;max-width:100%;padding:.3rem .4rem;border:1px solid var(--border-medium);border-radius:4px;font-size:.8rem;cursor:text;background:var(--bg-input);color:var(--text-secondary);transition:border-color .2s;box-sizing:border-box}input.instructor-select::placeholder{color:var(--text-faint)}.instructor-select:focus{outline:none;border-color:#3b82f6}.instructor-conflict{background-color:var(--status-danger-bg)!important;border-color:var(--status-danger-border)!important}.instructor-conflict:focus{border-color:var(--status-danger-text)!important;box-shadow:0 0 0 2px #ef444433}.instructor-conflict-option{background-color:var(--status-danger-bg);color:var(--status-danger-text)}.instructor-caution{background-color:var(--status-warning-bg)!important;border-color:var(--status-warning-border)!important}.instructor-caution:focus{border-color:var(--status-warning-text)!important;box-shadow:0 0 0 2px #f59e0b33}.rig-conflict{background-color:var(--status-danger-bg)!important;border-color:var(--status-danger-border)!important}.rig-conflict:focus{border-color:var(--status-danger-text)!important;box-shadow:0 0 0 2px #ef444433}.load-conflict{background-color:var(--status-danger-bg)!important;border-color:var(--status-danger-border)!important;color:var(--status-danger-text)!important}.load-conflict:focus{border-color:var(--status-danger-text)!important;box-shadow:0 0 0 2px #ef444433}.rig-caution{background-color:var(--status-warning-bg)!important;border-color:var(--status-warning-border)!important}.rig-caution:focus{border-color:var(--status-warning-text)!important;box-shadow:0 0 0 2px #f59e0b33}.load-caution{background-color:var(--status-warning-bg)!important;border-color:var(--status-warning-border)!important;color:var(--status-warning-text)!important}.load-caution:focus{border-color:var(--status-warning-text)!important;box-shadow:0 0 0 2px #f59e0b33}.load-cell-wrapper.has-load-tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:5px;padding:.4rem .6rem;background:#1f2937;color:#fff;font-size:.75rem;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10000}.load-cell-wrapper.has-load-tooltip:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:-1px;border:4px solid transparent;border-top-color:#1f2937;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10000}.load-cell-wrapper.has-load-tooltip:hover:after,.load-cell-wrapper.has-load-tooltip:hover:before{opacity:1}.load-input{width:60px;padding:.3rem .4rem;border:1px solid var(--border-medium);border-radius:4px;font-size:.8rem;background:var(--bg-input);color:var(--text-secondary);text-align:center;transition:border-color .2s}.load-input:focus{outline:none;border-color:#3b82f6}.load-input.load-disabled{background-color:var(--bg-surface-hover);color:var(--text-faint);cursor:not-allowed}.load-select{width:auto;min-width:70px;max-width:120px;padding:.3rem .4rem;border:1px solid var(--border-medium);border-radius:4px;font-size:.75rem;background:var(--bg-input);color:var(--text-secondary);cursor:pointer;transition:border-color .2s}.load-select:focus{outline:none;border-color:#3b82f6}.load-select.load-conflict{border-color:var(--status-danger-border);background:var(--status-danger-bg)}.load-select.load-caution{border-color:var(--status-warning-border);background:var(--status-warning-bg)}.wingload-input{width:70px;padding:.3rem .4rem;border:1px solid var(--border-medium);border-radius:4px;font-size:.8rem;text-align:center;transition:border-color .2s;background:var(--bg-input);color:var(--text-secondary)}.wingload-input:focus{outline:none;border-color:#3b82f6}.canopy-input{width:100px;padding:.3rem .4rem;border:1px solid var(--border-medium);border-radius:4px;font-size:.8rem;transition:border-color .2s;background:var(--bg-input);color:var(--text-secondary)}.canopy-input:focus{outline:none;border-color:#3b82f6}.comments-cell{position:relative;overflow:visible!important}.comments-cell.has-unread-comment{background-color:var(--status-danger-bg)!important}.comments-cell.has-unread-comment .comments-input{background-color:var(--status-danger-bg);border-color:var(--status-danger-border)}.comments-wrapper{position:relative;display:flex;align-items:center;gap:4px}.comment-history-indicator{font-size:.7rem;color:var(--text-muted);cursor:help;flex-shrink:0}.needs-money-toggle{background:none;border:none;padding:2px 4px;cursor:pointer;font-size:1.3rem;opacity:.3;transition:opacity .2s,transform .1s;flex-shrink:0}.needs-money-toggle:hover{opacity:.7;transform:scale(1.1)}.needs-money-toggle.active{opacity:1}.needs-money-indicator{font-size:1.3rem;flex-shrink:0}.comments-readonly{font-size:.85rem;color:var(--text-secondary)}.comments-input{width:100%;max-width:100%;padding:.3rem .4rem;border:1px solid var(--border-medium);border-radius:4px;font-size:.8rem;transition:border-color .2s;box-sizing:border-box;background:var(--bg-input);color:var(--text-secondary)}.comments-input:focus{outline:none;border-color:#3b82f6}.comment-history-tooltip{display:none;position:fixed;min-width:280px;max-width:350px;max-height:300px;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:8px;box-shadow:0 8px 24px #00000040;z-index:9999;opacity:1!important;padding:8px}.comment-history-item{padding:.5rem .75rem;border-bottom:1px solid var(--border-light);max-width:85%}.comment-history-item:last-child{border-bottom:none}.comment-history-item.own-comment{margin-left:auto;background-color:var(--status-info-bg);border-radius:8px 8px 0;margin-bottom:4px}.comment-history-item.other-comment{margin-right:auto;background-color:var(--bg-surface-hover);border-radius:8px 8px 8px 0;margin-bottom:4px}.comment-history-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.comment-author{font-weight:500;font-size:.8rem;color:var(--text-primary)}.comment-time{font-size:.7rem;color:var(--text-muted)}.comment-text{font-size:.8rem;color:var(--text-secondary);word-wrap:break-word}.trained-checkbox,.manifested-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.trained-input{background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-medium);border-radius:4px}.na-cell{color:var(--text-faint);text-align:center;font-style:italic}.status-filter-header{padding:.2rem!important}.status-filter-dropdown{position:relative}.status-filter-button{width:100%;padding:.3rem .4rem;border:1px solid var(--border-medium);border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;cursor:pointer;background:var(--bg-input);color:var(--text-secondary);transition:border-color .2s}.status-filter-button:hover{background:var(--bg-surface-hover)}.status-filter-menu{position:fixed;z-index:1000;min-width:140px;background:var(--bg-input);border:1px solid var(--border-medium);border-radius:4px;box-shadow:var(--shadow-md);padding:.5rem}.status-filter-option{display:flex;align-items:center;gap:.5rem;padding:.3rem .2rem;font-size:.75rem;cursor:pointer;white-space:nowrap}.status-filter-option:hover{background:var(--bg-surface-hover)}.status-filter-option input[type=checkbox]{margin:0;cursor:pointer}.status-filter-actions{display:flex;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-default)}.status-filter-actions button{flex:1;padding:.25rem .5rem;font-size:.7rem;border:1px solid var(--border-medium);border-radius:3px;background:var(--bg-surface-alt);cursor:pointer}.status-filter-actions button:hover{background:var(--btn-secondary-bg)}.status-select{width:100%;max-width:100%;padding:.3rem .4rem;border:1px solid var(--border-medium);border-radius:6px;font-size:.8rem;cursor:pointer;background:var(--bg-input);color:var(--text-secondary);transition:border-color .2s;box-sizing:border-box}.status-select:focus{outline:none;border-color:#3b82f6}.status-select.status-signed_in{border-color:var(--status-info-border);background:var(--status-info-bg);color:var(--status-info-text)}.status-select.status-jumped{border-color:var(--status-success-border);background:var(--status-success-bg);color:var(--status-success-text)}.status-select.status-skipped{border-color:var(--status-warning-border);background:var(--status-warning-bg);color:var(--status-warning-text)}.status-select.status-gone_home{border-color:var(--border-medium);background:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.status-select.status-weather_hold{border-color:var(--status-warning-border);background:var(--status-warning-bg);color:var(--status-warning-text)}.status-badge{display:inline-block;padding:.2rem .5rem;border-radius:10px;font-size:.75rem;font-weight:600;text-transform:capitalize}.status-badge.status-signed_in{background:var(--status-info-bg);color:var(--status-info-text)}.status-badge.status-jumped{background:var(--status-success-bg);color:var(--status-success-text)}.status-badge.status-skipped{background:var(--status-warning-bg);color:var(--status-warning-text)}.status-badge.status-gone_home{background:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.status-badge.status-weather_hold{background:var(--status-warning-bg);color:var(--status-warning-text)}.btn-icon{background:none;border:1px solid var(--border-medium);padding:.5rem;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .2s;color:var(--text-muted)}.btn-icon:hover{background:var(--bg-surface-hover);border-color:var(--text-faint);color:var(--text-primary)}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.empty-state p{color:var(--text-muted)}.alert{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.alert-error{background:var(--status-danger-bg);color:var(--status-danger-text);border:1px solid var(--status-danger-border)}.alert-success{background:var(--status-success-bg);color:var(--status-success-text);border:1px solid var(--status-success-border)}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669;box-shadow:0 2px 4px #0596694d}.historical-manifest-section{margin-top:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--border-default)}.section-header h2{margin:0;font-size:1.5rem;color:var(--text-secondary)}.historical-date-section{margin-bottom:1.5rem}.date-header{margin:0 0 .75rem;padding:.5rem .75rem;background:var(--bg-surface-alt);border-left:4px solid #3b82f6;font-size:1.1rem;color:var(--text-primary);font-weight:600}@media(max-width:1200px){.manifest-table{font-size:.85rem}.manifest-table th,.manifest-table td{padding:.65rem}}.mobile-expand-toggle,.mobile-canopy-inline,.mobile-sort-filter-bar{display:none}@media(max-width:768px){.manifest-page{padding:.25rem}.page-header{flex-direction:column;gap:.75rem}.mobile-sort-filter-bar{display:flex;align-items:center;gap:.5rem;padding:.5rem .25rem;margin-bottom:.25rem}.mobile-sort-group{display:flex;align-items:center;gap:.3rem}.mobile-sort-group label{font-size:.78rem;font-weight:600;color:var(--text-muted)}.mobile-sort-select{padding:.35rem .4rem;border:1px solid var(--border-medium);border-radius:6px;font-size:.8rem;background:var(--bg-input);color:var(--text-secondary)}.mobile-sort-direction{padding:.3rem .5rem;border:1px solid var(--border-medium);border-radius:6px;background:var(--bg-input);font-size:.75rem;color:var(--text-secondary);cursor:pointer}.mobile-sort-direction:active{background:var(--bg-surface-hover)}.mobile-status-filter{position:relative;margin-left:auto}.mobile-status-filter-btn{padding:.35rem .5rem;border:1px solid var(--border-medium);border-radius:6px;background:var(--bg-input);font-size:.8rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.mobile-status-filter-btn.has-filter{border-color:var(--status-info-border);color:var(--status-info-text);background:var(--status-info-bg)}.mobile-status-filter-btn:active{background:var(--bg-surface-hover)}.mobile-status-filter-menu{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-input);border:1px solid var(--border-medium);border-radius:8px;box-shadow:var(--shadow-md);z-index:50;padding:.5rem;min-width:160px}.mobile-status-option{display:flex;align-items:center;gap:.5rem;padding:.4rem .3rem;font-size:.85rem;color:var(--text-secondary);cursor:pointer}.mobile-status-option input[type=checkbox]{width:18px;height:18px;accent-color:#3b82f6}.mobile-status-actions{display:flex;gap:.5rem;padding-top:.4rem;margin-top:.3rem;border-top:1px solid var(--border-default)}.mobile-status-actions button{flex:1;padding:.3rem;border:1px solid var(--border-medium);border-radius:4px;background:var(--bg-surface-alt);font-size:.78rem;color:var(--text-secondary);cursor:pointer}.mobile-status-actions button:active{background:var(--btn-secondary-bg)}.page-header h1{font-size:1.25rem}.header-actions{width:100%;flex-wrap:wrap;gap:.4rem}.filter-input-header{min-width:unset;width:100%;order:-1}.header-actions .btn-sm{flex:1 1 auto;min-width:0;padding:.5rem .6rem;font-size:.78rem;text-align:center;white-space:nowrap}.header-actions .settings-gear-btn{flex:1 1 auto;justify-content:center;padding:.5rem .6rem;font-size:.78rem}.header-actions .burble-auto-toggle{flex:1 1 auto;justify-content:center;font-size:.78rem}.form-row{grid-template-columns:1fr}.manifest-table-container{overflow:visible;box-shadow:none;background:transparent;max-width:100vw}.manifest-table{min-width:unset;display:block;border-collapse:separate;border-spacing:0 .5rem;width:100%;max-width:100%;table-layout:auto}.manifest-table thead{display:none}.manifest-table tbody{display:block}.manifest-table tr.manifest-row{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--bg-surface);border-radius:8px;border:1.5px solid var(--border-medium);box-shadow:0 1px 4px #00000026;margin-bottom:.6rem;padding:0;overflow:visible;max-width:100%}.manifest-table tr.manifest-row.status-jumped{background:var(--status-success-bg)!important;border-color:var(--status-success-border)}.manifest-table tr.manifest-row.status-jumped td{background:inherit!important}.manifest-table tr.manifest-row:nth-child(2n){background:var(--bg-surface)}.manifest-table td{display:flex;align-items:center;padding:.4rem .5rem!important;border-bottom:1px solid var(--border-light)!important;border-right:none!important;height:auto!important;min-height:36px;overflow:hidden!important;font-size:.82rem;min-width:0;max-width:100%;box-sizing:border-box}.manifest-table td:before{content:attr(data-label);font-weight:600;font-size:.65rem;text-transform:uppercase;color:var(--text-muted);letter-spacing:.03em;min-width:62px;max-width:62px;flex-shrink:0;margin-right:.3rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manifest-table td.name-cell{grid-column:1;background:var(--bg-surface-alt);border-bottom:2px solid var(--border-default)!important;padding:.6rem .5rem!important;font-size:.95rem}.manifest-table td[data-label=Category]{background:var(--bg-surface-alt);border-bottom:2px solid var(--border-default)!important}.manifest-table td[data-label=Category].harness-room-incomplete{background-color:var(--status-danger-bg)!important}.manifest-table td[data-label=Category]:before{display:none}.manifest-table tr.mobile-expanded td[data-label=Harness]{background:var(--bg-surface-alt);border-bottom:2px solid var(--border-default)!important}.manifest-table tr.mobile-expanded td[data-label=Category]{background:none!important;border-bottom:1px solid var(--border-light)!important}.manifest-table tr.mobile-expanded td[data-label=Category]:before{display:block;content:"Category"}.manifest-table td[data-label=Rig]:before{display:none}.manifest-table td[data-label=Rig]{grid-column:1 / -1;display:flex!important;gap:.5rem;align-items:center}.manifest-table td[data-label=Rig] .mobile-canopy-inline{display:flex;flex-shrink:0;align-items:center}.manifest-table td[data-label=Rig] .mobile-canopy-inline svg{width:55px!important;height:auto!important;display:block!important;margin:0!important}.manifest-table td[data-label=Rig] .mobile-canopy-inline>div{max-width:65px;min-width:55px;margin:0!important}.manifest-table td[data-label=Canopy]{display:none!important}.manifest-table td[data-label=Canopy]:before{display:none}.manifest-table td[data-label=Load],.manifest-table td[data-label=Status]{background:var(--bg-surface-alt)}.manifest-table td[data-label=Comments]{grid-column:1 / -1}.manifest-table td.delete-cell{grid-column:1 / -1;justify-content:flex-end;border-bottom:none!important}.manifest-table td.delete-cell:before{display:none}.manifest-table td[data-label=""]:before{display:none}.manifest-table td select,.manifest-table td input[type=text]{flex:1;min-width:0;max-width:100%}.manifest-table td input[type=checkbox]{flex:none;width:20px;height:20px}.manifest-table td .category-select,.manifest-table td .equipment-select,.manifest-table td .instructor-select,.manifest-table td .status-select,.manifest-table td .load-select,.manifest-table td .comments-input{max-width:100%!important;width:0;flex:1;font-size:.8rem;box-sizing:border-box}.manifest-table td[style]{max-width:100%!important}.manifest-table td .category-cell-wrapper,.manifest-table td .rig-cell-wrapper,.manifest-table td .load-cell-wrapper,.manifest-table td .instructor-cell-wrapper,.manifest-table td .comments-wrapper{min-width:0;max-width:100%;flex:1;overflow:visible;gap:10px}.manifest-table td .comments-wrapper .comment-history-indicator{font-size:.85rem;padding:6px 8px;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center}.manifest-table td .comments-wrapper .needs-money-toggle{padding:6px 8px;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center}.manifest-table td.canopy-cell{justify-content:flex-start;overflow:visible!important;flex-wrap:wrap}.manifest-table td.canopy-cell:before{min-width:auto;max-width:none}.manifest-table td.canopy-cell svg{flex-shrink:0;width:60px!important;height:auto!important;display:block!important;margin:0!important}.manifest-table td.canopy-cell>div{flex-shrink:0;min-width:60px;max-width:80px;margin:0!important}.manifest-table td:has([data-tooltip]),.manifest-table td:has(.has-instructor-tooltip),.manifest-table td:has(.has-load-tooltip),.manifest-table td:has(.has-rig-tooltip),.manifest-table td:has(.call-time-badge){overflow:visible!important;position:relative}.manifest-table td .instructor-mismatch-badge:after,.manifest-table td .category-mismatch-badge:after{left:auto;right:0}.manifest-table td .instructor-mismatch-badge:before,.manifest-table td .category-mismatch-badge:before{left:auto;right:4px}.manifest-table td.currency-cell{text-align:left!important;justify-content:flex-start;overflow:visible!important}.manifest-table td.trained-cell{text-align:left!important;justify-content:flex-start}.manifest-table td .trained-input{width:0!important;flex:1;text-align:left!important;padding:.3rem .4rem;border:1px solid var(--border-medium);border-radius:4px;font-size:.8rem;box-sizing:border-box}.manifest-table td.checkbox-col{text-align:left!important;justify-content:flex-start;width:auto!important;overflow:visible!important}.manifest-table td.checkbox-col:before{min-width:0;max-width:none;flex-shrink:1;margin-right:.2rem}.manifest-table td.checkbox-col input[type=checkbox]{width:22px!important;height:22px!important;flex:none!important;-webkit-appearance:checkbox!important;appearance:checkbox!important}.manifest-table tr.manifest-resources-row{display:block;margin-top:-.5rem;margin-bottom:.5rem}.manifest-table tr.manifest-resources-row td{display:block;padding:.5rem .6rem!important;border-bottom:none!important;background:var(--status-info-bg);border-radius:0 0 8px 8px}.manifest-table tr.manifest-resources-row td:before{display:none}.mobile-expand-toggle{display:inline-block;margin-right:.4rem;color:var(--text-faint);font-size:.8rem;flex-shrink:0}.manifest-table td.name-cell{cursor:pointer;-webkit-user-select:none;user-select:none}.manifest-table td[data-label=Instructor].no-reserve{grid-column:1 / -1}.manifest-table td[data-label=Reserve].reserve-na,.manifest-table tr.manifest-row td.mobile-secondary{display:none!important}.manifest-table tr.manifest-row.mobile-expanded td.mobile-secondary{display:flex!important}.manifest-table td.name-cell{order:1;grid-column:1}.manifest-table td[data-label=Harness]{order:2;grid-column:2}.manifest-table td[data-label="Sign In"]{order:3;grid-column:1}.manifest-table td[data-label=Weight]{order:4;grid-column:2}.manifest-table td[data-label=Category]{order:2;grid-column:2}.manifest-table tr.mobile-expanded td[data-label=Category]{order:5;grid-column:1 / -1}.manifest-table td[data-label=Currency]{order:6;grid-column:1}.manifest-table td[data-label=Trained]{order:7;grid-column:2}.manifest-table td[data-label=Rig]{order:8}.manifest-table td[data-label=Canopy]{order:9}.manifest-table td[data-label=Instructor]{order:10;grid-column:1}.manifest-table td[data-label=Reserve]{order:11;grid-column:2}.manifest-table td[data-label=Video]{order:12;grid-column:1}.manifest-table td[data-label=Manifested]{order:13;grid-column:2}.manifest-table td[data-label=Status]{order:14;grid-column:1}.manifest-table td[data-label=Load]{order:15;grid-column:2}.manifest-table td[data-label=Comments]{order:16}.manifest-table td.delete-cell{order:17}.currency-badge[data-tooltip]:after,.instructor-mismatch-badge:after,.category-mismatch-badge:after,.instructor-cell-wrapper.has-instructor-tooltip:after,.rig-cell-wrapper.has-rig-tooltip:after,.load-cell-wrapper.has-load-tooltip:after,.call-time-badge:after{left:0;right:auto;transform:none;max-width:min(280px,90vw);white-space:normal;word-wrap:break-word}.currency-badge[data-tooltip]:before,.instructor-mismatch-badge:before,.category-mismatch-badge:before,.instructor-cell-wrapper.has-instructor-tooltip:before,.rig-cell-wrapper.has-rig-tooltip:before,.load-cell-wrapper.has-load-tooltip:before,.call-time-badge:before{left:12px;transform:none}.manifest-table td[data-label=Load] .load-cell-wrapper.has-load-tooltip:after,.manifest-table td[data-label=Reserve] .instructor-cell-wrapper.has-instructor-tooltip:after{left:auto;right:0}.manifest-table td[data-label=Load] .load-cell-wrapper.has-load-tooltip:before,.manifest-table td[data-label=Reserve] .instructor-cell-wrapper.has-instructor-tooltip:before{left:auto;right:12px}.sign-in-form .form-row-name-weight,.sign-in-form .form-row{grid-template-columns:1fr}.sign-in-form .form-row-three{grid-template-columns:1fr 1fr}}.column-settings-modal{max-width:600px;width:90%}.column-settings-modal .modal-body{padding:1.5rem}.settings-description{margin-bottom:1.5rem;color:var(--text-muted);font-size:.95rem}.column-settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.column-setting-item{padding:.5rem;border-radius:6px;transition:background-color .2s}.column-setting-item:hover{background-color:var(--bg-surface-hover)}.column-toggle{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.column-toggle.required{cursor:not-allowed;opacity:.7}.column-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.column-toggle.required input[type=checkbox]{cursor:not-allowed}.column-label{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:var(--text-secondary)}.instructor-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:.7rem;font-weight:600;color:var(--badge-purple-text);background-color:var(--badge-purple-bg);border-radius:4px}.required-badge{color:#dc2626;font-weight:700}.column-settings-modal .modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-default);background-color:var(--bg-surface-alt)}.settings-gear-btn{background:none;border:1px solid var(--border-medium);border-radius:6px;padding:.5rem .75rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary);transition:all .2s}.settings-gear-btn:hover{background-color:var(--bg-surface-hover);border-color:var(--text-faint)}@media(max-width:500px){.column-settings-grid{grid-template-columns:1fr}}.manifest-resources-row.odd-row{background:var(--bg-surface)!important}.manifest-resources-row.even-row{background:var(--bg-surface-hover)!important}.manifest-resources-row>td{padding:.4rem .75rem!important;border-bottom:1px solid var(--border-default)!important;height:auto!important}.manifest-resources{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.manifest-resource-link{display:inline-flex;align-items:center;padding:.3rem .6rem;background:var(--bg-surface);border:1px solid var(--status-info-border);border-radius:5px;color:var(--badge-purple-text);font-size:.75rem;font-weight:500;text-decoration:none;transition:all .15s ease}.manifest-resource-link:hover{background:var(--status-info-bg);border-color:var(--status-info-border);color:var(--badge-purple-text)}.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media(pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.jump-categories-page{padding:.25rem 2rem 2rem;max-width:1600px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border-default)}.page-header h1{margin:0 0 .5rem;font-size:2rem;color:var(--text-primary)}.page-subtitle{margin:0;color:var(--text-tertiary);font-size:.95rem}.alert{padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.category-form-card{background:var(--bg-surface);border:2px solid #3b82f6;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:var(--shadow-md)}.category-form-card h2{margin:0 0 1.5rem;color:var(--text-primary);font-size:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary);font-size:.9rem}.form-control{width:100%;padding:.75rem;border:1px solid var(--border-medium);border-radius:6px;font-size:.95rem;transition:border-color .2s;background:var(--bg-input);color:var(--text-primary)}.form-control:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}textarea.form-control{resize:vertical;font-family:inherit}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.95rem}.btn-secondary{background:var(--border-default);color:var(--text-secondary)}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.table-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.filter-input{flex:1;max-width:400px;padding:.75rem 1rem;border:1px solid var(--border-medium);border-radius:6px;font-size:.95rem;transition:border-color .2s;background:var(--bg-input);color:var(--text-primary)}.filter-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.category-count{font-size:.9rem;color:var(--text-tertiary);font-weight:500;white-space:nowrap}.table-container{background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-sm);overflow-x:auto}.categories-table{width:100%;border-collapse:collapse;font-size:.85rem;table-layout:fixed}.categories-table thead{background:var(--bg-surface-alt);border-bottom:2px solid var(--border-default)}.categories-table th{padding:.5rem;text-align:left;font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;line-height:1.3}.categories-table th:nth-child(1){width:2%}.categories-table th:nth-child(2){width:4%}.categories-table th:nth-child(3){width:8%}.categories-table th:nth-child(4){width:6%}.categories-table th:nth-child(5){width:10%}.categories-table th:nth-child(6){width:8%}.categories-table th:nth-child(7){width:5%}.categories-table th:nth-child(8){width:5%}.categories-table th:nth-child(9){width:5%}.categories-table th:nth-child(10){width:5%}.categories-table th:nth-child(11){width:5%}.categories-table th:nth-child(12){width:4%}.categories-table th:nth-child(13){width:5%}.categories-table th:nth-child(14){width:8%}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.sortable-header:hover{background:var(--bg-surface-hover)}.categories-table td{padding:.35rem .5rem;border-bottom:1px solid var(--border-light);vertical-align:middle}.categories-table tbody tr{transition:background-color .15s}.categories-table tbody tr:hover{background:var(--bg-surface-hover)}.changed-row{background:#fef3c7!important}.actions-col{text-align:center}.actions-cell{display:flex;gap:.25rem;justify-content:center;align-items:center}.drag-handle-header{text-align:center;cursor:default;color:var(--text-muted);font-size:.9rem}.drag-handle-cell{text-align:center;cursor:grab;padding:.35rem .25rem;-webkit-user-select:none;user-select:none}.drag-handle{display:inline-block;color:var(--text-muted);font-size:1.2rem;line-height:1;transition:color .2s}.drag-handle-cell:hover .drag-handle{color:#3b82f6}.table-input-inline,.table-input-small-inline{width:100%;padding:.25rem .35rem;border:1px solid transparent;border-radius:3px;font-size:.85rem;font-family:inherit;background:transparent;transition:all .15s;color:var(--text-primary)}.table-select-inline{width:100%;padding:.25rem .35rem;border:1px solid transparent;border-radius:3px;font-size:.85rem;font-family:inherit;background:transparent;transition:all .15s;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M3 4.5l3 3 3-3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;padding-right:20px;color:var(--text-primary)}.table-input,.table-input-small{width:100%;padding:.5rem;border:1px solid var(--border-medium);border-radius:4px;font-size:.85rem;transition:border-color .2s;background:var(--bg-input);color:var(--text-primary)}.table-input:focus,.table-input-small:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.table-input-small{max-width:80px}.table-textarea{width:100%;padding:.5rem;border:1px solid var(--border-medium);border-radius:4px;font-size:.85rem;font-family:inherit;resize:vertical;min-height:60px;transition:border-color .2s;background:var(--bg-input);color:var(--text-primary)}.table-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.btn-icon{background:none;border:1px solid transparent;padding:.35rem .5rem;border-radius:4px;cursor:pointer;font-size:1.1rem;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--bg-surface-hover);border-color:var(--border-medium)}.btn-icon-primary{color:#059669;font-weight:700;font-size:1.3rem}.btn-icon-primary:hover{background:#d1fae5;border-color:#10b981}.btn-icon-secondary{color:var(--text-tertiary);font-weight:700;font-size:1.2rem}.btn-icon-secondary:hover{background:var(--bg-surface-hover);border-color:var(--text-muted)}.btn-icon-danger{color:#ef4444}.btn-icon-danger:hover{background:#fee2e2;border-color:#fecaca}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-tertiary);background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-sm)}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h2{color:var(--text-secondary);margin-bottom:.5rem}.empty-state p{color:var(--text-tertiary)}.loading{text-align:center;padding:3rem;color:var(--text-tertiary);font-size:1.1rem}@media(max-width:1200px){.categories-table{font-size:.85rem}.categories-table th,.categories-table td{padding:.65rem}}@media(max-width:768px){.jump-categories-page{padding:1rem}.page-header{flex-direction:column;gap:1rem}.form-row{grid-template-columns:1fr}.table-controls{flex-direction:column;align-items:stretch}.filter-input{max-width:100%}.table-container{overflow-x:scroll}.categories-table{min-width:900px}.actions-cell{flex-direction:column}}.modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-surface);border-radius:12px;box-shadow:var(--shadow-lg);max-width:500px;width:90%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-default)}.modal-header h2{margin:0;font-size:1.25rem;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:1.75rem;color:var(--text-tertiary);cursor:pointer;padding:0;line-height:1;transition:color .2s}.modal-content{padding:1.5rem;overflow-y:auto}.modal-description{margin:0 0 1.25rem;color:var(--text-tertiary);font-size:.9rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-default)}.resource-links-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.resource-link-row{display:flex;gap:.5rem;align-items:center}.resource-link-label{flex:1;min-width:150px;padding:.5rem .75rem;border:1px solid var(--border-medium);border-radius:6px;font-size:.9rem;background:var(--bg-input);color:var(--text-primary)}.resource-link-url{flex:2;min-width:200px;padding:.5rem .75rem;border:1px solid var(--border-medium);border-radius:6px;font-size:.9rem;background:var(--bg-input);color:var(--text-primary)}.resource-link-label:focus,.resource-link-url:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.btn-remove-link{background:#fee2e2;color:#dc2626;border:none;border-radius:6px;width:32px;height:32px;font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}.btn-add-link{background:#eff6ff;color:#2563eb;border:1px dashed #93c5fd;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;cursor:pointer;transition:background .2s;width:100%}.no-links-message{color:var(--text-muted);font-size:.9rem;text-align:center;padding:1rem;margin:0}.description-cell.clickable{cursor:pointer;max-width:200px;transition:background-color .15s}.description-cell.clickable:hover{background:#f0f9ff}.description-preview{max-height:60px;overflow:hidden;font-size:.85rem;line-height:1.4;color:var(--text-secondary)}.description-preview p{margin:0}.description-preview ul,.description-preview ol{margin:0;padding-left:1.2em}.placeholder-text{color:var(--text-muted);font-style:italic;font-size:.85rem}.description-editor,.description-editor-modal{background:var(--bg-surface);border-radius:6px}.description-editor .ql-container{min-height:80px;font-family:inherit;font-size:.95rem}.description-editor-modal .ql-container{min-height:150px;font-family:inherit;font-size:.95rem}.description-editor .ql-editor,.description-editor-modal .ql-editor{padding:.75rem}.description-editor .ql-editor.ql-blank:before,.description-editor-modal .ql-editor.ql-blank:before{color:var(--text-muted);font-style:italic}.form-group-wide{grid-column:1 / -1}.role-management{padding:.25rem 2rem 2rem;max-width:1400px;margin:0 auto}.page-header{margin-bottom:2rem}.users-table-container{background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-sm);overflow-x:auto}.users-table{width:100%;border-collapse:collapse}.users-table th{background-color:var(--bg-surface-alt);padding:1rem;text-align:left;font-weight:600;color:var(--text-tertiary);border-bottom:2px solid var(--border-default)}.users-table td{padding:1rem;border-bottom:1px solid var(--border-default);vertical-align:top}.users-table tr:hover{background-color:var(--bg-surface-alt)}.nickname{font-size:.85rem;color:var(--text-muted);font-style:italic}.roles-list{display:flex;flex-wrap:wrap;gap:.5rem}.role-badge-container{display:flex;align-items:center;gap:.25rem;background-color:#e7f3ff;border-radius:4px;padding:.25rem .5rem}.role-badge{font-size:.85rem;color:#004085;font-weight:500}.btn-remove-role{background:none;border:none;color:#dc3545;font-size:1.2rem;cursor:pointer;padding:0 .25rem;line-height:1;transition:color .15s}.btn-remove-role:hover{color:#bd2130}.no-roles{color:var(--text-muted);font-style:italic;font-size:.9rem}.btn-assign-role{background-color:#007bff;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .15s}.btn-assign-role:hover{background-color:#0056b3}.modal{background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-md);width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header h2{margin:0;font-size:1.25rem;color:var(--text-secondary)}.assign-role-form{padding:1.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem;border:1px solid var(--border-medium);border-radius:4px;font-size:1rem;background:var(--bg-input);color:var(--text-primary);transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.btn-cancel{padding:.5rem 1rem;border:1px solid #6c757d;background-color:var(--bg-input);color:var(--text-muted);border-radius:4px;cursor:pointer;font-size:1rem;transition:all .15s}.dropzone-management{padding:.25rem 2rem 2rem;max-width:1200px;margin:0 auto}.page-header .subtitle{margin:0;color:var(--text-muted);font-size:1rem}.btn-create{background-color:#28a745;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .15s}.dropzones-table-container{background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-md);overflow-x:auto}.dropzones-table{width:100%;border-collapse:collapse}.dropzones-table th{background-color:var(--bg-surface-alt);padding:1rem;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--border-default)}.dropzones-table td{padding:1rem;border-bottom:1px solid var(--border-default);vertical-align:middle}.dropzones-table tr:hover{background-color:var(--bg-surface-hover)}.btn-edit,.btn-delete{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .15s}.empty-state{padding:3rem;text-align:center;color:var(--text-muted);font-style:italic}.dropzone-form{padding:1.5rem}.form-hint{display:block;margin-top:.25rem;font-size:.8rem;color:var(--text-muted)}.form-hint strong{color:#007bff}.btn-cancel{padding:.5rem 1rem;border:1px solid #6c757d;background-color:var(--bg-surface);color:var(--text-muted);border-radius:4px;cursor:pointer;font-size:1rem;transition:all .15s}.delete-modal .modal-body{padding:1.5rem}.delete-modal .modal-body p{margin:0 0 1rem;color:var(--text-secondary)}.delete-modal .warning-text{color:var(--status-warning-text);background-color:var(--status-warning-bg);padding:.75rem 1rem;border-radius:4px;border:1px solid #ffeeba}.blocking-records-list{background-color:var(--bg-surface-alt);padding:1rem 1rem 1rem 2rem;border-radius:4px;margin:1rem 0;border:1px solid var(--border-default)}.blocking-records-list li{padding:.25rem 0;color:var(--text-secondary)}.force-delete-warning{color:var(--status-danger-text);background-color:var(--status-danger-bg);padding:.75rem 1rem;border-radius:4px;border:1px solid #f5c6cb;font-weight:500}.btn-force-delete{padding:.5rem 1rem;border:none;background-color:#dc3545;color:#fff;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .15s}.btn-force-delete:hover{background-color:#bd2130}.btn-force-delete:disabled{background-color:#6c757d;cursor:not-allowed}.delete-modal .modal-actions{padding:1rem 1.5rem 1.5rem;margin-top:0}@media(max-width:768px){.dropzone-management{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.form-row{grid-template-columns:1fr}}.google-calendar-settings{padding:1rem}.google-calendar-settings .settings-description{margin-bottom:1.5rem;color:var(--text-secondary)}.google-calendar-settings .settings-description p{margin:0}.google-calendar-settings .error-message{background:var(--status-danger-bg);color:var(--status-danger-text);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}.google-calendar-settings .success-message{background:var(--status-success-bg);color:var(--status-success-text);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}.google-calendar-settings .loading{text-align:center;padding:2rem;color:var(--text-secondary)}.connection-status{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:12px;background:var(--bg-surface-alt);margin-bottom:1rem}.connection-status.not-connected{flex-wrap:wrap}.connection-status .status-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-surface-alt)}.connection-status.connected .status-icon{background:var(--status-success-bg);color:var(--status-success-text)}.connection-status .status-info{flex:1}.connection-status .status-info h3{margin:0 0 .25rem;font-size:1.1rem}.connection-status .status-info p{margin:0;color:var(--text-secondary);font-size:.9rem}.connection-status .status-info .calendar-name{font-weight:600;color:var(--text-primary)}.connection-status .status-info .connected-date{font-size:.8rem}.sync-status{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.sync-status.active{background:var(--status-success-bg);color:var(--status-success-text)}.sync-status.paused{background:var(--status-warning-bg);color:var(--status-warning-text)}.btn-connect{padding:.75rem 1.5rem;background:#4285f4;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background .2s;margin-top:.5rem;width:100%;justify-content:center}.btn-connect:hover:not(:disabled){background:#3367d6}.btn-connect:disabled{opacity:.6;cursor:not-allowed}@media(min-width:600px){.btn-connect{width:auto;margin-top:0}}.calendar-list{border:1px solid var(--border-default);border-radius:8px;overflow:hidden;margin-bottom:1rem}.calendar-list.compact{margin-top:.5rem}.calendar-option{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-default);cursor:pointer;transition:background .2s}.calendar-option:last-child{border-bottom:none}.calendar-option:hover{background:var(--bg-surface-hover)}.calendar-option.selected{background:var(--primary-bg, #eff6ff);cursor:default}.calendar-info{display:flex;align-items:center;gap:.5rem}.calendar-info .calendar-name{font-weight:500}.calendar-badge{font-size:.75rem;padding:.125rem .5rem;background:var(--bg-surface-alt);border-radius:12px;color:var(--text-secondary)}.btn-select{padding:.5rem 1rem;background:var(--primary-color, #3b82f6);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.btn-select:hover{background:var(--primary-dark, #2563eb)}.calendar-actions{margin-top:1.5rem}.action-row{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border-default);flex-wrap:wrap}.action-row:last-child{border-bottom:none}.action-hint{font-size:.85rem;color:var(--text-secondary)}.toggle-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-label input{display:none}.toggle-switch{position:relative;width:48px;height:26px;background:var(--border-medium);border-radius:13px;transition:background .2s}.toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:var(--bg-surface);border-radius:50%;transition:transform .2s}.toggle-label input:checked+.toggle-switch{background:var(--primary-color, #3b82f6)}.toggle-label input:checked+.toggle-switch:after{transform:translate(22px)}.btn-secondary{padding:.5rem 1rem;background:var(--bg-surface-alt);color:var(--text-primary);border:1px solid var(--border-default);border-radius:6px;cursor:pointer;font-size:.9rem}.btn-secondary:hover:not(:disabled){background:var(--bg-surface-hover)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-link{background:none;border:none;color:var(--primary-color, #3b82f6);cursor:pointer;font-size:.9rem;padding:0}.btn-link:hover{text-decoration:underline}.btn-link.danger{color:var(--status-danger-text)}.disconnect-link{text-align:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-default)}.calendar-change{margin-top:1.5rem}.calendar-change summary{cursor:pointer;color:var(--primary-color, #3b82f6);font-size:.9rem}.calendar-change summary:hover{text-decoration:underline}.google-calendar-settings .empty-state{text-align:center;padding:1.5rem;color:var(--text-secondary)}.constant-contact-settings{padding:1rem}.constant-contact-settings .settings-description{margin-bottom:1.5rem;color:var(--text-secondary)}.constant-contact-settings .settings-description p{margin:0}.constant-contact-settings .error-message{background:var(--status-danger-bg);color:var(--status-danger-text);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}.constant-contact-settings .success-message{background:var(--status-success-bg);color:var(--status-success-text);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}.constant-contact-settings .loading{text-align:center;padding:2rem;color:var(--text-secondary)}.constant-contact-settings .connection-status{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:12px;background:var(--bg-surface-alt);margin-bottom:1rem}.constant-contact-settings .connection-status.not-connected{flex-wrap:wrap}.constant-contact-settings .status-icon{font-size:1.5rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-surface-alt);color:var(--text-secondary)}.constant-contact-settings .status-icon.connected{background:var(--status-success-bg);color:var(--status-success-text)}.constant-contact-settings .status-info{flex:1}.constant-contact-settings .status-info h3{margin:0 0 .25rem;font-size:1.1rem}.constant-contact-settings .status-info p{margin:0;color:var(--text-secondary);font-size:.9rem}.constant-contact-settings .connected-date{font-size:.8rem}.constant-contact-settings .sync-status{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.constant-contact-settings .sync-status.active{background:var(--status-success-bg);color:var(--status-success-text)}.constant-contact-settings .sync-status.paused{background:var(--status-warning-bg);color:var(--status-warning-text)}.constant-contact-settings .btn-connect{padding:.75rem 1.5rem;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background .2s;margin-top:.5rem;width:100%;justify-content:center}.constant-contact-settings .btn-connect.cc-orange{background:#f5821f}.constant-contact-settings .btn-connect.cc-orange:hover:not(:disabled){background:#e0751a}.constant-contact-settings .btn-connect:disabled{opacity:.6;cursor:not-allowed}@media(min-width:600px){.constant-contact-settings .btn-connect{width:auto;margin-top:0}}.constant-contact-settings .api-key-hint{font-size:.85rem;color:var(--text-secondary);margin:.75rem 0 0;width:100%}.constant-contact-settings .api-key-hint a{color:#f5821f;text-decoration:none}.constant-contact-settings .api-key-hint a:hover{text-decoration:underline}.constant-contact-settings .cc-actions{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-default)}.constant-contact-settings .action-row{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border-default);flex-wrap:wrap}.constant-contact-settings .action-row:last-child{border-bottom:none}.constant-contact-settings .action-hint{font-size:.85rem;color:var(--text-secondary)}.constant-contact-settings .toggle-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.constant-contact-settings .toggle-label input{display:none}.constant-contact-settings .toggle-switch{position:relative;width:48px;height:26px;background:var(--border-medium);border-radius:13px;transition:background .2s}.constant-contact-settings .toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s}.constant-contact-settings .toggle-label input:checked+.toggle-switch{background:#f5821f}.constant-contact-settings .toggle-label input:checked+.toggle-switch:after{transform:translate(22px)}.constant-contact-settings .btn-primary{padding:.5rem 1rem;background:#f5821f;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500}.constant-contact-settings .btn-primary:hover:not(:disabled){background:#f5821f;outline:2px solid var(--color-accent);outline-offset:2px}.constant-contact-settings .btn-primary:disabled{opacity:.6;cursor:not-allowed}.constant-contact-settings .btn-secondary{padding:.5rem 1rem;background:var(--bg-surface-alt);color:var(--text-primary);border:1px solid var(--border-default);border-radius:6px;cursor:pointer;font-size:.9rem}.constant-contact-settings .btn-secondary:hover:not(:disabled){background:var(--bg-surface-hover)}.constant-contact-settings .btn-secondary:disabled{opacity:.6;cursor:not-allowed}.constant-contact-settings .btn-link{background:none;border:none;color:#f5821f;cursor:pointer;font-size:.9rem;padding:0}.constant-contact-settings .btn-link:hover{text-decoration:underline}.constant-contact-settings .btn-link.danger{color:var(--status-danger-text)}.constant-contact-settings .list-mappings-section{margin-top:1.5rem;border:1px solid var(--border-default);border-radius:8px;overflow:hidden}.constant-contact-settings .section-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-surface-alt);cursor:pointer;-webkit-user-select:none;user-select:none}.constant-contact-settings .section-header:hover{background:var(--bg-surface-hover)}.constant-contact-settings .section-header h4{margin:0;font-size:1rem}.constant-contact-settings .toggle-icon{font-size:1.2rem;font-weight:700;color:var(--text-secondary)}.constant-contact-settings .section-content{padding:1rem;border-top:1px solid var(--border-default)}.constant-contact-settings .section-description{margin:0 0 1rem;font-size:.9rem;color:var(--text-secondary)}.constant-contact-settings .mappings-grid{display:flex;flex-direction:column;gap:.75rem}.constant-contact-settings .mapping-row{display:flex;align-items:center;gap:1rem}.constant-contact-settings .mapping-row label{flex:0 0 150px;font-weight:500;font-size:.9rem}.constant-contact-settings .mapping-row select{flex:1;padding:.5rem;border:1px solid var(--border-default);border-radius:6px;font-size:.9rem;background:var(--bg-input)}.constant-contact-settings .mappings-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-default);display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.constant-contact-settings .empty-lists{text-align:center;padding:1rem}.constant-contact-settings .empty-lists p{margin:0 0 1rem;color:var(--text-secondary)}.constant-contact-settings .empty-lists .hint{font-size:.85rem;font-style:italic}.constant-contact-settings .create-list-btn{font-size:.85rem}.constant-contact-settings .create-list-form{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.constant-contact-settings .create-list-form input{padding:.4rem .75rem;border:1px solid var(--border-default);border-radius:6px;font-size:.9rem;width:150px}.constant-contact-settings .btn-small{padding:.4rem .75rem;font-size:.85rem;border-radius:6px;cursor:pointer;border:none;background:#f5821f;color:#fff}.constant-contact-settings .btn-small:hover:not(:disabled){background:#e0751a}.constant-contact-settings .btn-small.btn-cancel{background:var(--bg-surface-alt);color:var(--text-primary);border:1px solid var(--border-default)}.constant-contact-settings .btn-small.btn-cancel:hover{background:var(--bg-surface-hover)}.constant-contact-settings .btn-small:disabled{opacity:.6;cursor:not-allowed}.constant-contact-settings .disconnect-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-default);text-align:center}.constant-contact-settings .sync-preview-section{margin-top:1.5rem;border:2px solid #f5821f;border-radius:8px;background:var(--bg-surface);overflow:hidden}.constant-contact-settings .preview-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff7ed;border-bottom:1px solid #fed7aa}.constant-contact-settings .preview-header h4{margin:0;color:#c2410c;font-size:1.1rem}.constant-contact-settings .btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);line-height:1;padding:0}.constant-contact-settings .btn-close:hover{color:var(--text-primary)}.constant-contact-settings .preview-summary{display:flex;gap:2rem;padding:1rem;background:var(--bg-surface-alt);border-bottom:1px solid var(--border-default)}.constant-contact-settings .summary-stat{display:flex;flex-direction:column;align-items:center}.constant-contact-settings .summary-stat .stat-value{font-size:2rem;font-weight:700;color:#f5821f}.constant-contact-settings .summary-stat.warning .stat-value{color:var(--status-warning-text)}.constant-contact-settings .summary-stat .stat-label{font-size:.85rem;color:var(--text-secondary)}.constant-contact-settings .preview-list-mappings{padding:1rem;border-bottom:1px solid var(--border-default)}.constant-contact-settings .preview-list-mappings h5{margin:0 0 .5rem;font-size:.9rem;color:var(--text-secondary)}.constant-contact-settings .preview-list-mappings ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.75rem}.constant-contact-settings .preview-list-mappings li{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:var(--bg-surface-alt);border-radius:20px;font-size:.85rem}.constant-contact-settings .preview-list-mappings .role-name{font-weight:500;text-transform:capitalize}.constant-contact-settings .preview-list-mappings .arrow{color:var(--text-secondary)}.constant-contact-settings .preview-list-mappings .list-name{color:#f5821f}.constant-contact-settings .preview-custom-fields-status{padding:1rem;border-bottom:1px solid var(--border-default)}.constant-contact-settings .preview-custom-fields-status h5{margin:0 0 .5rem;font-size:.9rem;color:var(--text-secondary)}.constant-contact-settings .preview-custom-fields-status ul{list-style:none;margin:0;padding:0}.constant-contact-settings .preview-custom-fields-status li{padding:.25rem 0;font-size:.9rem}.constant-contact-settings .warning-text{color:var(--status-warning-text);background:var(--status-warning-bg);padding:.5rem .75rem;border-radius:6px;font-size:.85rem}.constant-contact-settings .preview-contacts{padding:1rem}.constant-contact-settings .preview-contacts h5{margin:0 0 .75rem;font-size:.9rem;color:var(--text-secondary)}.constant-contact-settings .contacts-table-wrapper{max-height:400px;overflow-y:auto;border:1px solid var(--border-default);border-radius:6px}.constant-contact-settings .contacts-table{width:100%;border-collapse:collapse;font-size:.85rem}.constant-contact-settings .contacts-table th,.constant-contact-settings .contacts-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border-default)}.constant-contact-settings .contacts-table th{background:var(--bg-surface-alt);font-weight:600;position:sticky;top:0}.constant-contact-settings .contacts-table tr:last-child td{border-bottom:none}.constant-contact-settings .contacts-table tr:hover td{background:var(--bg-surface-hover)}.constant-contact-settings .role-tags{display:flex;flex-wrap:wrap;gap:.25rem}.constant-contact-settings .role-tag{display:inline-block;padding:.125rem .5rem;background:var(--primary-bg, #eff6ff);color:var(--primary-color, #3b82f6);border-radius:12px;font-size:.75rem;white-space:nowrap}.constant-contact-settings .jump-category{color:var(--text-secondary);font-size:.8rem}.constant-contact-settings .preview-actions{display:flex;gap:1rem;padding:1rem;background:var(--bg-surface-alt);border-top:1px solid var(--border-default)}@media(max-width:600px){.constant-contact-settings .mapping-row{flex-direction:column;align-items:stretch}.constant-contact-settings .mapping-row label{flex:none;margin-bottom:.25rem}.constant-contact-settings .action-row{flex-direction:column;align-items:flex-start}.constant-contact-settings .preview-summary{flex-direction:column;gap:1rem}.constant-contact-settings .contacts-table-wrapper{max-height:300px}.constant-contact-settings .contacts-table th:nth-child(3),.constant-contact-settings .contacts-table td:nth-child(3){display:none}}.constant-contact-settings .cc-status{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.constant-contact-settings .cc-status.new{background:var(--status-success-bg);color:var(--status-success-text)}.constant-contact-settings .cc-status.exists{background:var(--status-info-bg);color:var(--status-info-text)}.constant-contact-settings .cc-status.unsubscribed,.constant-contact-settings .contacts-table tr.unsubscribed-row td{background:var(--status-danger-bg);color:var(--status-danger-text)}.constant-contact-settings .contacts-table tr.unsubscribed-row:hover td{background:var(--status-danger-bg)}.constant-contact-settings .summary-stat.info .stat-value{color:var(--status-info-text)}.constant-contact-settings .summary-stat.danger .stat-value{color:var(--status-danger-text)}.constant-contact-settings .preview-warning{padding:.75rem 1rem;margin:.5rem 1rem;background:var(--status-danger-bg);border:1px solid #fecaca;border-radius:6px;color:var(--status-danger-text);font-size:.9rem}.brevo-settings{padding:1rem}.brevo-settings .settings-description{margin-bottom:1.5rem;color:var(--text-secondary)}.brevo-settings .settings-description p{margin:0}.brevo-settings .error-message{background:var(--status-danger-bg);color:var(--status-danger-text);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}.brevo-settings .success-message{background:var(--status-success-bg);color:var(--status-success-text);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}.brevo-settings .loading{text-align:center;padding:2rem;color:var(--text-secondary)}.brevo-settings .connection-status{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:12px;background:var(--bg-surface-alt);margin-bottom:1rem;flex-wrap:wrap}.brevo-settings .status-icon{font-size:1.5rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-surface-alt);color:var(--text-secondary)}.brevo-settings .status-icon.connected{background:var(--status-success-bg);color:var(--status-success-text)}.brevo-settings .status-info{flex:1;min-width:200px}.brevo-settings .status-info h3{margin:0 0 .25rem;font-size:1.1rem}.brevo-settings .status-info p{margin:0;color:var(--text-secondary);font-size:.9rem}.brevo-settings .connected-date{font-size:.8rem}.brevo-settings .sync-status{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.brevo-settings .sync-status.active{background:var(--status-success-bg);color:var(--status-success-text)}.brevo-settings .sync-status.paused{background:var(--status-warning-bg);color:var(--status-warning-text)}.brevo-settings .btn-connect{padding:.75rem 1.5rem;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background .2s;margin-top:.5rem;width:100%;justify-content:center}.brevo-settings .btn-connect.brevo-blue{background:#0092ff}.brevo-settings .btn-connect.brevo-blue:hover:not(:disabled){background:#0080e0}.brevo-settings .btn-connect:disabled{opacity:.6;cursor:not-allowed}@media(min-width:600px){.brevo-settings .btn-connect{width:auto;margin-top:0}}.brevo-settings .api-key-form{width:100%;margin-top:1rem}.brevo-settings .api-key-form input{width:100%;padding:.75rem;border:1px solid var(--border-default);border-radius:6px;font-size:1rem;margin-bottom:.75rem;background:var(--bg-input);color:var(--text-primary)}.brevo-settings .api-key-form input:focus{outline:none;border-color:#0092ff;box-shadow:0 0 0 3px #0092ff1a}.brevo-settings .api-key-actions{display:flex;gap:.5rem;margin-bottom:.75rem}.brevo-settings .api-key-hint{font-size:.85rem;color:var(--text-secondary);margin:0}.brevo-settings .api-key-hint a{color:#0092ff;text-decoration:none}.brevo-settings .api-key-hint a:hover{text-decoration:underline}.brevo-settings .brevo-actions{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-default)}.brevo-settings .action-row{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border-default);flex-wrap:wrap}.brevo-settings .action-row:last-child{border-bottom:none}.brevo-settings .action-hint{font-size:.85rem;color:var(--text-secondary)}.brevo-settings .toggle-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.brevo-settings .toggle-label input{display:none}.brevo-settings .toggle-switch{position:relative;width:48px;height:26px;background:var(--border-medium);border-radius:13px;transition:background .2s}.brevo-settings .toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s}.brevo-settings .toggle-label input:checked+.toggle-switch{background:#0092ff}.brevo-settings .toggle-label input:checked+.toggle-switch:after{transform:translate(22px)}.brevo-settings .btn-primary{padding:.5rem 1rem;background:#0092ff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500}.brevo-settings .btn-primary:hover:not(:disabled){background:#0092ff;outline:2px solid var(--color-accent);outline-offset:2px}.brevo-settings .btn-primary:disabled{opacity:.6;cursor:not-allowed}.brevo-settings .btn-secondary{padding:.5rem 1rem;background:var(--bg-surface-alt);color:var(--text-primary);border:1px solid var(--border-default);border-radius:6px;cursor:pointer;font-size:.9rem}.brevo-settings .btn-secondary:hover:not(:disabled){background:var(--bg-surface-hover)}.brevo-settings .btn-secondary:disabled{opacity:.6;cursor:not-allowed}.brevo-settings .btn-link{background:none;border:none;color:#0092ff;cursor:pointer;font-size:.9rem;padding:0}.brevo-settings .btn-link:hover{text-decoration:underline}.brevo-settings .btn-link.danger{color:var(--status-danger-text)}.brevo-settings .list-mappings-section{margin-top:1.5rem;border:1px solid var(--border-default);border-radius:8px;overflow:hidden}.brevo-settings .section-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-surface-alt);cursor:pointer;-webkit-user-select:none;user-select:none}.brevo-settings .section-header:hover{background:var(--bg-surface-hover)}.brevo-settings .section-header h4{margin:0;font-size:1rem}.brevo-settings .toggle-icon{font-size:1.2rem;font-weight:700;color:var(--text-secondary)}.brevo-settings .section-content{padding:1rem;border-top:1px solid var(--border-default)}.brevo-settings .section-description{margin:0 0 1rem;font-size:.9rem;color:var(--text-secondary)}.brevo-settings .mappings-grid{display:flex;flex-direction:column;gap:.75rem}.brevo-settings .mapping-row{display:flex;align-items:center;gap:1rem}.brevo-settings .mapping-row label{flex:0 0 150px;font-weight:500;font-size:.9rem}.brevo-settings .mapping-row select,.brevo-settings .mapping-row input{flex:1;padding:.5rem;border:1px solid var(--border-default);border-radius:6px;font-size:.9rem;background:var(--bg-input);color:var(--text-primary)}.brevo-settings .mapping-row input:focus,.brevo-settings .mapping-row select:focus{outline:none;border-color:#0092ff;box-shadow:0 0 0 3px #0092ff1a}.brevo-settings .attribute-hint{margin-top:.75rem;font-size:.85rem;color:var(--text-secondary);font-style:italic}.brevo-settings .mappings-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-default);display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.brevo-settings .empty-lists{text-align:center;padding:1rem}.brevo-settings .empty-lists p{margin:0 0 1rem;color:var(--text-secondary)}.brevo-settings .create-list-btn{font-size:.85rem}.brevo-settings .create-list-form{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.brevo-settings .create-list-form input{padding:.4rem .75rem;border:1px solid var(--border-default);border-radius:6px;font-size:.9rem;width:150px;background:var(--bg-input);color:var(--text-primary)}.brevo-settings .btn-small{padding:.4rem .75rem;font-size:.85rem;border-radius:6px;cursor:pointer;border:none;background:#0092ff;color:#fff}.brevo-settings .btn-small:hover:not(:disabled){background:#0080e0}.brevo-settings .btn-small.btn-cancel{background:var(--bg-surface-alt);color:var(--text-primary);border:1px solid var(--border-default)}.brevo-settings .btn-small.btn-cancel:hover{background:var(--bg-surface-hover)}.brevo-settings .btn-small:disabled{opacity:.6;cursor:not-allowed}.brevo-settings .disconnect-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-default);text-align:center}.brevo-settings .sync-preview-section{margin-top:1.5rem;border:2px solid #0092ff;border-radius:8px;background:var(--bg-surface);overflow:hidden}.brevo-settings .preview-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--status-info-bg);border-bottom:1px solid var(--border-default)}.brevo-settings .preview-header h4{margin:0;color:var(--status-info-text);font-size:1.1rem}.brevo-settings .btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);line-height:1;padding:0}.brevo-settings .btn-close:hover{color:var(--text-primary)}.brevo-settings .preview-summary{display:flex;gap:2rem;padding:1rem;background:var(--bg-surface-alt);border-bottom:1px solid var(--border-default);flex-wrap:wrap}.brevo-settings .summary-stat{display:flex;flex-direction:column;align-items:center}.brevo-settings .summary-stat .stat-value{font-size:2rem;font-weight:700;color:#0092ff}.brevo-settings .summary-stat.warning .stat-value{color:var(--status-warning-text)}.brevo-settings .summary-stat.info .stat-value{color:var(--status-info-text)}.brevo-settings .summary-stat.danger .stat-value{color:var(--status-danger-text)}.brevo-settings .summary-stat .stat-label{font-size:.85rem;color:var(--text-secondary)}.brevo-settings .preview-warning{padding:.75rem 1rem;margin:.5rem 1rem;background:var(--status-danger-bg);border:1px solid var(--status-danger-bg);border-radius:6px;color:var(--status-danger-text);font-size:.9rem}.brevo-settings .preview-list-mappings{padding:1rem;border-bottom:1px solid var(--border-default)}.brevo-settings .preview-list-mappings h5{margin:0 0 .5rem;font-size:.9rem;color:var(--text-secondary)}.brevo-settings .preview-list-mappings ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.75rem}.brevo-settings .preview-list-mappings li{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:var(--bg-surface-alt);border-radius:20px;font-size:.85rem}.brevo-settings .preview-list-mappings .role-name{font-weight:500;text-transform:capitalize}.brevo-settings .preview-list-mappings .arrow{color:var(--text-secondary)}.brevo-settings .preview-list-mappings .list-name{color:#0092ff}.brevo-settings .preview-attributes-status{padding:1rem;border-bottom:1px solid var(--border-default)}.brevo-settings .preview-attributes-status h5{margin:0 0 .5rem;font-size:.9rem;color:var(--text-secondary)}.brevo-settings .preview-attributes-status ul{list-style:none;margin:0;padding:0}.brevo-settings .preview-attributes-status li{padding:.25rem 0;font-size:.9rem}.brevo-settings .warning-text{color:var(--status-warning-text);background:var(--status-warning-bg);padding:.5rem .75rem;border-radius:6px;font-size:.85rem}.brevo-settings .preview-contacts{padding:1rem}.brevo-settings .preview-contacts h5{margin:0 0 .75rem;font-size:.9rem;color:var(--text-secondary)}.brevo-settings .contacts-table-wrapper{max-height:400px;overflow-y:auto;border:1px solid var(--border-default);border-radius:6px}.brevo-settings .contacts-table{width:100%;border-collapse:collapse;font-size:.85rem}.brevo-settings .contacts-table th,.brevo-settings .contacts-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border-default)}.brevo-settings .contacts-table th{background:var(--bg-surface-alt);font-weight:600;position:sticky;top:0}.brevo-settings .contacts-table tr:last-child td{border-bottom:none}.brevo-settings .contacts-table tr:hover td{background:var(--bg-surface-hover)}.brevo-settings .contacts-table tr.blocked-row td{background:var(--status-danger-bg);color:var(--status-danger-text)}.brevo-settings .contacts-table tr.blocked-row:hover td{background:var(--status-danger-bg)}.brevo-settings .role-tags{display:flex;flex-wrap:wrap;gap:.25rem}.brevo-settings .role-tag{display:inline-block;padding:.125rem .5rem;background:var(--status-info-bg);color:var(--status-info-text);border-radius:12px;font-size:.75rem;white-space:nowrap}.brevo-settings .jump-category{color:var(--text-secondary);font-size:.8rem}.brevo-settings .brevo-status{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.brevo-settings .brevo-status.new{background:var(--status-success-bg);color:var(--status-success-text)}.brevo-settings .brevo-status.exists{background:var(--status-info-bg);color:var(--status-info-text)}.brevo-settings .brevo-status.blocked{background:var(--status-danger-bg);color:var(--status-danger-text)}.brevo-settings .preview-actions{display:flex;gap:1rem;padding:1rem;background:var(--bg-surface-alt);border-top:1px solid var(--border-default)}@media(max-width:600px){.brevo-settings .mapping-row{flex-direction:column;align-items:stretch}.brevo-settings .mapping-row label{flex:none;margin-bottom:.25rem}.brevo-settings .action-row{flex-direction:column;align-items:flex-start}.brevo-settings .preview-summary{flex-direction:column;gap:1rem}.brevo-settings .contacts-table-wrapper{max-height:300px}.brevo-settings .contacts-table th:nth-child(3),.brevo-settings .contacts-table td:nth-child(3){display:none}}.mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top{left:50%;top:0;transform:translate(-50%)}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-right{right:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{left:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media(-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media(-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#0000000d}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M3.3335 11.6666C3.3335 12.5871 4.07969 13.3333 5.00016 13.3333C5.92064 13.3333 6.66683 12.5871 6.66683 11.6666L6.66683 6.66659L11.6668 6.66659C12.5873 6.66659 13.3335 5.92039 13.3335 4.99992C13.3335 4.07944 12.5873 3.33325 11.6668 3.33325H3.3335V11.6666Z' fill='currentColor'/%3E%3Cpath d='M26.6668 11.6666C26.6668 12.5871 25.9206 13.3333 25.0002 13.3333C24.0797 13.3333 23.3335 12.5871 23.3335 11.6666L23.3335 6.66659L18.3335 6.66659C17.413 6.66659 16.6668 5.92039 16.6668 4.99992C16.6668 4.07944 17.413 3.33325 18.3335 3.33325H26.6668L26.6668 11.6666Z' fill='currentColor'/%3E%3Cpath d='M13.3335 24.9999C13.3335 25.9204 12.5873 26.6666 11.6668 26.6666H3.3335V18.3333C3.3335 17.4128 4.07969 16.6666 5.00016 16.6666C5.92064 16.6666 6.66683 17.4128 6.66683 18.3333V23.3333H11.6668C12.5873 23.3333 13.3335 24.0794 13.3335 24.9999Z' fill='currentColor'/%3E%3Cpath d='M18.3335 26.6666C17.413 26.6666 16.6668 25.9204 16.6668 24.9999C16.6668 24.0794 17.413 23.3333 18.3335 23.3333H23.3335V18.3333C23.3335 17.4128 24.0797 16.6666 25.0002 16.6666C25.9206 16.6666 26.6668 17.4128 26.6668 18.3333V26.6666H18.3335Z' fill='currentColor'/%3E%3C/svg%3E");background-size:26px 26px}.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle.mapboxgl-ctrl-level-button-selected .mapboxgl-ctrl-icon{filter:invert(1) brightness(1)}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media(-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:initial;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:#0000000d}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:#000000b3;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl-separator{background-color:#e0e0e0;height:1px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{color:#333;font-size:18px;font-weight:700;height:50px;width:50px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:hover{background-color:#f5f5f5}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{background-color:#4a5568;color:#fff}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#2d3748}.theme-settings{padding:1rem}.theme-settings-loading{padding:2rem;text-align:center;color:var(--text-muted)}.settings-description{color:var(--text-tertiary);margin-bottom:1.5rem;line-height:1.5}.theme-preview{background:var(--bg-surface-alt);border:1px solid var(--border-default);border-radius:8px;padding:1rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.theme-preview h4{width:100%;margin-bottom:.5rem;color:var(--text-tertiary);font-size:.9rem}.preview-bar{padding:.5rem 1rem;border-radius:4px;color:#fff;font-weight:500}.preview-accent{padding:.25rem .5rem}.form-row.color-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--text-secondary);font-size:.9rem}.color-input-group{display:flex;gap:.5rem;align-items:center}.color-input-group input[type=color]{width:50px;height:36px;border:1px solid var(--border-default);border-radius:4px;cursor:pointer;padding:2px}.color-input-group input[type=text]{flex:1;padding:.5rem;border:1px solid var(--border-default);border-radius:4px;font-family:monospace;max-width:100px;font-size:.9rem}.form-hint{color:var(--text-muted);font-size:.8rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-bottom:1rem}.btn-secondary{padding:.5rem 1rem;background:var(--border-default);color:var(--text-secondary);border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:background .2s}.btn-secondary:hover{background:var(--border-medium)}.btn-submit{padding:.5rem 1.5rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:all .2s}.btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px var(--color-primary-shadow)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.section-divider{border:none;border-top:1px solid var(--border-default);margin:1.5rem 0}.logo-section{margin-top:1rem}.logo-section h4{color:var(--text-secondary);margin-bottom:.5rem}.current-logo{margin-bottom:1rem}.current-logo label{display:block;font-weight:600;color:var(--text-tertiary);margin-bottom:.5rem;font-size:.9rem}.logo-preview{background:var(--bg-surface-alt);border:1px solid var(--border-default);border-radius:4px;padding:.5rem;display:inline-block;margin-bottom:.5rem}.logo-preview img{max-height:60px;max-width:200px;object-fit:contain;display:block}.btn-danger-small{padding:.25rem .75rem;background:#fc8181;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:600;transition:background .2s}.btn-danger-small:hover:not(:disabled){background:#f56565}.btn-danger-small:disabled{opacity:.6;cursor:not-allowed}.logo-upload{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.upload-label{font-weight:600;color:var(--text-tertiary);font-size:.9rem}.logo-upload input[type=file]{font-size:.9rem}.upload-status{color:var(--color-primary);font-size:.9rem;font-style:italic}.error-message{background:var(--status-danger-bg);color:var(--status-danger-text);padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem}.success-message{background:var(--status-success-bg);color:var(--status-success-text);padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem}.manage-my-dropzone{padding:.25rem 2rem 2rem;max-width:1600px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{margin:0 0 .5rem;color:var(--text-primary)}.page-header .subtitle{margin:0;color:var(--text-tertiary);font-size:1rem}.settings-section{background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-sm);margin-bottom:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-default)}.section-header h2{margin:0;font-size:1.25rem;color:var(--text-primary)}.btn-create{background-color:#28a745;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .15s}.btn-create:hover{background-color:#218838}.btn-secondary{background-color:#6c757d;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .15s}.btn-secondary:hover{background-color:#5a6268}.header-buttons{display:flex;gap:.5rem}.quick-links-section{padding:1.5rem}.quick-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.quick-link-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background-color:var(--bg-surface-alt);border:1px solid var(--border-default);border-radius:8px;text-decoration:none;color:inherit;transition:all .15s;cursor:pointer}.quick-link-card:hover{background-color:var(--bg-surface-hover);border-color:var(--border-medium);transform:translateY(-2px);box-shadow:var(--shadow-md)}.quick-link-icon{font-size:2rem;line-height:1}.quick-link-content h3{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.quick-link-content p{margin:0;font-size:.85rem;color:var(--text-tertiary)}.quick-link-toggle{margin-left:auto;color:var(--text-tertiary);font-size:.9rem}.quick-link-card.active{background-color:var(--status-info-bg);border-color:#007bff}.quick-link-card.active .quick-link-toggle{color:#007bff}.aircraft-table-container{overflow-x:auto}.aircraft-table{width:100%;border-collapse:collapse}.aircraft-table th{background-color:var(--bg-surface-alt);padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--border-default);font-size:.9rem}.aircraft-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-default);vertical-align:middle}.aircraft-table tr:hover{background-color:var(--bg-surface-hover)}.categories-table-container{overflow-x:auto}.categories-table{width:100%;border-collapse:collapse;table-layout:auto}.categories-table th{background-color:var(--bg-surface-alt);padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--border-default);font-size:.9rem;white-space:nowrap}.categories-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-default);vertical-align:middle;white-space:nowrap}.categories-table th:nth-child(2),.categories-table td:nth-child(2){width:100%;white-space:normal}.categories-table tr:hover{background-color:var(--bg-surface-hover)}.categories-table tr.disabled-row{opacity:.6;background-color:var(--bg-surface-alt)}.drag-handle-header{width:30px}.drag-handle-cell{width:30px;cursor:grab;text-align:center}.drag-handle-cell:active{cursor:grabbing}.drag-handle{color:var(--text-muted);font-size:1rem;-webkit-user-select:none;user-select:none;letter-spacing:-3px}.drag-handle:hover{color:var(--text-tertiary)}.table-input-inline,.table-input-small-inline{width:100%;padding:.25rem .35rem;border:1px solid transparent;border-radius:3px;font-size:.85rem;font-family:inherit;background:transparent;transition:all .15s}.table-input-inline:hover,.table-input-small-inline:hover{background:var(--bg-surface-alt);border-color:var(--border-default)}.table-input-inline:focus,.table-input-small-inline:focus{outline:none;background:var(--bg-surface);border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.table-input-small-inline{text-align:center;max-width:70px}.table-select-inline{width:100%;padding:.25rem .35rem;border:1px solid transparent;border-radius:3px;font-size:.85rem;font-family:inherit;background:transparent;transition:all .15s;cursor:pointer}.table-select-inline:hover{background-color:var(--bg-surface-alt);border-color:var(--border-default)}.table-select-inline:focus{outline:none;background-color:var(--bg-surface);border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.changed-row{background:var(--status-warning-bg)!important}.changed-row:hover{background:#fde68a!important}.custom-badge{display:inline-block;margin-left:.5rem;padding:.15rem .4rem;background-color:#17a2b8;color:#fff;font-size:.7rem;border-radius:3px;font-weight:500}.override-badge{display:inline-block;margin-left:.25rem;color:#fd7e14;font-weight:700}.toggle-btn{padding:.25rem .5rem;border:1px solid var(--border-medium);border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .15s}.toggle-btn.enabled{background-color:var(--status-success-bg);border-color:#c3e6cb;color:var(--status-success-text)}.toggle-btn.disabled{background-color:var(--status-danger-bg);border-color:#f5c6cb;color:var(--status-danger-text)}.toggle-btn:disabled{cursor:not-allowed;opacity:.5}.table-footer{padding:.75rem 1rem;text-align:right;color:var(--text-tertiary);border-top:1px solid var(--border-default)}.btn-edit,.btn-delete,.btn-duplicate{padding:.4rem .75rem;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .15s}.btn-edit{background-color:#007bff;color:#fff}.btn-edit:hover{background-color:#0056b3}.btn-duplicate{background-color:#6c757d;color:#fff}.btn-duplicate:hover{background-color:#5a6268}.btn-delete{background-color:#dc3545;color:#fff}.btn-delete:hover{background-color:#bd2130}.empty-state{padding:3rem;text-align:center;color:var(--text-tertiary);font-style:italic}.modal-overlay{position:fixed;inset:0;background-color:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-lg);width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal.modal-wide{max-width:650px}.modal-content{padding:1.5rem}.master-list-actions{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-default)}.master-list-actions .btn-link{background:none;border:none;color:#3b82f6;font-size:.875rem;cursor:pointer;padding:0}.master-list-actions .btn-link:hover{text-decoration:underline}.selection-count{margin-left:auto;font-size:.875rem;color:var(--text-tertiary)}.master-category-list{max-height:300px;overflow-y:auto;border:1px solid var(--border-default);border-radius:4px;margin-bottom:1rem}.master-category-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-default);cursor:pointer;transition:background-color .15s}.master-category-item:last-child{border-bottom:none}.master-category-item:hover{background-color:var(--bg-surface-hover)}.master-category-item.selected{background-color:var(--status-info-bg)}.master-category-item input[type=checkbox]{width:18px;height:18px;margin-top:2px;cursor:pointer;flex-shrink:0}.category-info{display:flex;justify-content:space-between;align-items:center}.category-type{font-size:.8rem;color:var(--text-tertiary);background-color:var(--bg-surface-hover);padding:.15rem .5rem;border-radius:3px}.category-desc{margin:.5rem 0 0;font-size:.85rem;color:var(--text-tertiary)}.category-form{padding:1.5rem}.category-form textarea{width:100%;padding:.5rem;border:1px solid var(--border-medium);border-radius:4px;font-size:1rem;font-family:inherit;resize:vertical}.category-form textarea:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.category-form select{width:100%;padding:.5rem;border:1px solid var(--border-medium);border-radius:4px;font-size:1rem;background-color:var(--bg-surface)}.category-form select:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.override-note{margin:0 0 1rem;padding:.75rem;background-color:var(--status-warning-bg);border:1px solid #ffc107;border-radius:4px;font-size:.9rem;color:var(--status-warning-text)}.modal-close{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--text-tertiary);line-height:1;padding:0;width:2rem;height:2rem;transition:color .15s}.aircraft-form{padding:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary)}.form-group input{width:100%;padding:.5rem;border:1px solid var(--border-medium);border-radius:4px;font-size:1rem;transition:border-color .15s}.form-group input:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.form-hint{display:block;margin-top:.25rem;font-size:.8rem;color:var(--text-tertiary)}.btn-cancel{padding:.5rem 1rem;border:1px solid var(--text-tertiary);background-color:var(--bg-surface);color:var(--text-tertiary);border-radius:4px;cursor:pointer;font-size:1rem;transition:all .15s}.btn-cancel:hover{background-color:#6c757d;color:#fff}.btn-submit{padding:.5rem 1rem;border:none;background-color:#28a745;color:#fff;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .15s}.btn-submit:hover{background-color:#218838}.btn-submit:disabled{background-color:#6c757d;cursor:not-allowed}.error-message{background-color:var(--status-danger-bg);color:var(--status-danger-text);padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem;border:1px solid #f5c6cb}.resource-links-group{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-default)}.resource-link-row{display:flex;gap:.5rem;margin-bottom:.5rem;align-items:center}.resource-link-label{flex:1;min-width:150px}.resource-link-url{flex:2;min-width:200px}.btn-remove-link{background:#fee2e2;color:#dc2626;border:none;border-radius:4px;width:28px;height:28px;font-size:1.2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-remove-link:hover{background:#fecaca}.btn-add-link{background:#eff6ff;color:#2563eb;border:1px dashed #93c5fd;border-radius:4px;padding:.5rem 1rem;font-size:.875rem;cursor:pointer;transition:background .15s}.btn-add-link:hover{background:#dbeafe}.resource-link-actions{display:flex;gap:1rem;align-items:center;margin-top:.5rem}.btn-clear-override{color:var(--text-tertiary);font-size:.8rem}.btn-clear-override:hover{color:var(--text-secondary)}.reminder-settings-form{padding:1.5rem}.settings-description{margin:0 0 1.5rem;color:var(--text-tertiary);font-size:.95rem}.toggle-label{display:flex!important;align-items:center;gap:.75rem;cursor:pointer;font-weight:500}.toggle-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.checkbox-group{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.form-actions{display:flex;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-default)}.save-success{color:#28a745;font-weight:500}.email-marketing-providers{padding:0 1rem 1rem}.provider-section{background:var(--bg-surface-alt);border:1px solid var(--border-default);border-radius:8px;overflow:hidden}.provider-title{margin:0;padding:.75rem 1rem;background:var(--bg-surface);border-bottom:1px solid var(--border-default);font-size:1rem;color:var(--text-secondary)}.provider-divider{display:flex;align-items:center;margin:1.5rem 0}.provider-divider:before,.provider-divider:after{content:"";flex:1;height:1px;background:var(--border-default)}.provider-divider span{padding:0 1rem;color:var(--text-tertiary);font-weight:600;font-size:.9rem}.gps-settings{padding:1.5rem}.gps-settings-loading{padding:2rem;text-align:center;color:var(--text-tertiary)}.gps-settings-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-default)}.gps-settings-section:last-of-type{border-bottom:none}.gps-settings-section h3{margin:0 0 1rem;font-size:1.1rem;color:var(--text-primary)}.gps-settings .form-group{margin-bottom:1rem}.gps-settings .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary)}.gps-settings .form-group input,.gps-settings .form-group select{width:100%;max-width:300px;padding:.5rem;border:1px solid var(--border-medium);border-radius:4px;font-size:1rem}.gps-settings .form-group input:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.gps-settings .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.gps-settings .checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.gps-settings .checkbox-group input[type=checkbox]{width:auto}.gps-settings .form-group.checkbox-group{margin-bottom:.25rem}.gps-settings .help-text{margin-top:.25rem;font-size:.85rem;color:var(--text-tertiary)}.gps-settings .effective-value{margin-top:.5rem;padding:.5rem;background:var(--bg-surface-hover);border-radius:4px;font-size:.9rem;color:var(--text-secondary)}.gps-settings .effective-value .source{margin-left:.5rem;color:var(--text-tertiary);font-style:italic}.gps-settings .global-defaults{margin-bottom:1rem;padding:.5rem;background:var(--status-info-bg);border-radius:4px;font-size:.9rem;color:var(--status-info-text)}.targets-list{display:flex;flex-direction:column;gap:.5rem}.target-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-surface-alt);border-radius:4px;border:1px solid var(--border-default)}.target-item.primary{background:var(--status-success-bg);border-color:#c3e6cb}.target-info{display:flex;flex-direction:column;gap:.25rem}.target-name{font-weight:500;display:flex;align-items:center;gap:.5rem}.primary-badge{padding:.125rem .5rem;background:#28a745;color:#fff;border-radius:3px;font-size:.75rem;font-weight:400}.target-coords{font-size:.85rem;color:var(--text-tertiary);font-family:monospace}.target-actions{display:flex;gap:.5rem}.gps-settings .btn-add{background:#28a745;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:500}.gps-settings .btn-add:hover{background:#218838}.gps-settings .btn-small{padding:.25rem .5rem;font-size:.85rem;border:none;border-radius:3px;cursor:pointer;background:#6c757d;color:#fff}.gps-settings .btn-small:hover{background:#5a6268}.gps-settings .btn-small.btn-danger{background:#dc3545}.gps-settings .btn-small.btn-danger:hover{background:#c82333}.gps-settings .no-data{color:var(--text-tertiary);font-style:italic}.heading-input-row{display:flex;gap:.5rem;max-width:300px}.heading-input-row input{flex:1}.headings-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.heading-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#007bff;color:#fff;border-radius:3px;font-size:.9rem}.heading-tag button{background:none;border:none;color:#fff;cursor:pointer;padding:0;font-size:1.1rem;line-height:1}.heading-tag button:hover{opacity:.8}.altitude-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:600px}.gps-settings input[type=range]{max-width:200px}.gps-settings .range-value{margin-left:.5rem;font-weight:500}.gps-settings-actions{margin-top:1.5rem;padding-top:1rem}.gps-settings .btn-save{padding:.75rem 2rem}.gps-settings .btn-primary{background:var(--gradient-primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:500}.gps-settings .btn-primary:hover:not(:disabled){background:var(--gradient-primary);outline:2px solid var(--color-accent);outline-offset:2px}.gps-settings .btn-primary:disabled{background:#6c757d;cursor:not-allowed}.gps-settings .btn-secondary{background:#6c757d;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.gps-settings .btn-secondary:hover{background:#5a6268}.gps-settings .modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;justify-content:center;align-items:center;z-index:1000}.gps-settings .modal-content{background:var(--bg-surface);padding:1.5rem;border-radius:8px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.gps-settings .modal-content h3{margin-top:0}.gps-settings .modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}.gps-settings .error-message{padding:.75rem 1rem;background:var(--status-danger-bg);color:var(--status-danger-text);border-radius:4px;margin-bottom:1rem}.gps-settings .success-message{padding:.75rem 1rem;background:var(--status-success-bg);color:var(--status-success-text);border-radius:4px;margin-bottom:1rem}@media(max-width:768px){.manage-my-dropzone{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.section-header{flex-direction:column;align-items:flex-start;gap:.75rem}.form-row{grid-template-columns:1fr}.aircraft-table th,.aircraft-table td{padding:.5rem;font-size:.85rem}}.note-category-settings-modal{max-width:600px}.category-list{margin:1rem 0}.category-item{display:flex;align-items:center;gap:1rem;padding:.75rem;border:1px solid var(--border-default);border-radius:6px;margin-bottom:.5rem;background:var(--bg-surface-alt)}.category-order-controls{display:flex;flex-direction:column;gap:2px}.category-order-controls .btn-icon{padding:.1rem .4rem;font-size:.7rem;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:3px;cursor:pointer;color:var(--text-secondary)}.category-order-controls .btn-icon:hover:not(:disabled){background:var(--bg-surface-hover)}.category-order-controls .btn-icon:disabled{opacity:.3;cursor:not-allowed}.category-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.category-name{font-weight:600;color:var(--text-primary)}.category-description{font-size:.85rem;color:var(--text-tertiary)}.category-actions{display:flex;gap:.5rem}.btn-small{padding:.25rem .5rem;font-size:.8rem}.btn-danger{background-color:#dc3545;color:#fff;border:none}.add-category-btn{width:100%;margin-top:1rem}.no-categories{text-align:center;color:var(--text-tertiary);padding:2rem;font-style:italic}.category-edit-modal{max-width:400px}.note-category-settings-inline{padding:1rem 1.5rem}.note-category-settings-inline .settings-description{margin-bottom:1rem;color:var(--text-tertiary)}.category-edit-modal .form-group{margin-bottom:1rem}.category-edit-modal .form-group label{display:block;margin-bottom:.5rem;font-weight:500}.category-edit-modal .form-group input,.category-edit-modal .form-group textarea{width:100%;padding:.5rem;border:1px solid var(--border-medium);border-radius:4px;font-size:1rem}.category-edit-modal .form-group textarea{resize:vertical}.gps-map-section{margin-bottom:2rem}.gps-map-toolbar{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.gps-map-toolbar .btn-small{padding:.35rem .75rem;font-size:.85rem;border:1px solid var(--border-medium);border-radius:4px;cursor:pointer;background:var(--bg-surface-alt);color:var(--text-secondary);font-weight:500;transition:all .15s}.gps-map-toolbar .btn-small:hover{background:var(--bg-surface-hover);border-color:var(--border-medium)}.gps-map-toolbar .btn-small.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.placement-hint{font-size:.85rem;color:var(--text-tertiary);font-style:italic}.gps-map-container{height:400px;border-radius:8px;overflow:hidden;border:1px solid var(--border-default)}.gps-map-container.placing,.gps-map-container.placing .mapboxgl-canvas-container,.gps-map-container.placing .mapboxgl-canvas{cursor:crosshair!important}.gps-map-container .mapboxgl-canvas{outline:none}@media(max-width:768px){.gps-map-container{height:300px}}.equipment-page{padding:.25rem 2rem 2rem;max-width:1400px;margin:0 auto}.page-header{margin-bottom:1.5rem}.page-header h1{margin:0 0 .25rem;color:var(--text-primary);font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.page-header .subtitle{margin:0;color:var(--text-muted);font-size:.9rem}.section-navigation{display:inline-flex;gap:4px;margin-bottom:1.5rem;padding:4px;background-color:var(--bg-surface-alt);border:1px solid var(--border-default);border-radius:10px}.section-button{padding:.55rem 1.25rem;border:none;background:none;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--text-muted);border-radius:8px;transition:all .2s;white-space:nowrap}.section-button:hover{color:var(--text-secondary);background-color:var(--bg-surface-hover)}.section-button.active{color:var(--text-primary);background-color:var(--bg-surface);box-shadow:var(--shadow-sm)}.section-content{margin-top:1rem}.sub-tab-navigation{display:flex;gap:.25rem;margin-bottom:1.5rem;background-color:var(--bg-surface-alt);padding:.25rem;border-radius:8px}.sub-tab-button{padding:.5rem 1rem;border:none;background:none;cursor:pointer;font-size:.9rem;color:var(--text-muted);border-radius:6px;transition:all .15s}.sub-tab-button:hover{color:var(--text-tertiary);background-color:var(--bg-surface-hover)}.sub-tab-button.active{color:var(--text-primary);background-color:var(--bg-surface);box-shadow:var(--shadow-sm)}.tab-navigation{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-default);padding-bottom:0}.tab-button{padding:.75rem 1.5rem;border:none;background:none;cursor:pointer;font-size:1rem;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.tab-button:hover{color:var(--text-tertiary);background-color:var(--bg-surface-alt)}.tab-button.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:500}.equipment-table-container{background:var(--bg-surface);border-radius:10px;border:1px solid var(--border-default);overflow-x:auto}.equipment-table{width:100%;border-collapse:collapse}.equipment-table th{background-color:var(--bg-surface-alt);padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:2px solid var(--border-default)}.equipment-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-default);vertical-align:middle;font-size:.9rem}.equipment-table tr:hover{background-color:var(--bg-surface-alt)}.status-badge{display:inline-block;padding:.2rem .6rem;border-radius:50px;font-size:.8rem;font-weight:600;letter-spacing:.01em}.status-badge.in_service,.status-badge.in-service{background-color:var(--status-success-bg);color:var(--status-success-text)}.status-badge.maintenance{background-color:var(--status-warning-bg);color:var(--status-warning-text)}.status-badge.retired{background-color:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.ownership-badge{display:inline-block;padding:.2rem .6rem;border-radius:50px;font-size:.75rem;font-weight:600}.ownership-badge.personal{background-color:var(--status-success-bg);color:var(--status-success-text)}.ownership-badge.dropzone{background-color:var(--status-info-bg);color:var(--status-info-text)}.service-due-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.2rem .6rem;border-radius:50px;font-size:.8rem;font-weight:600}.service-due-indicator.green{background-color:var(--status-success-bg);color:var(--status-success-text)}.service-due-indicator.yellow,.service-due-indicator.orange{background-color:var(--status-warning-bg);color:var(--status-warning-text)}.service-due-indicator.red{background-color:var(--status-danger-bg);color:var(--status-danger-text)}.action-buttons{display:flex;gap:.35rem;flex-wrap:wrap}.btn-edit{padding:.3rem .6rem;border:1px solid var(--border-medium);background-color:var(--bg-surface);color:var(--text-tertiary);border-radius:5px;cursor:pointer;font-size:.78rem;font-weight:500;transition:all .15s}.btn-edit:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-delete{padding:.3rem .6rem;border:1px solid var(--border-medium);background-color:var(--bg-surface);color:var(--text-tertiary);border-radius:5px;cursor:pointer;font-size:.78rem;font-weight:500;transition:all .15s}.btn-delete:hover{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-duplicate{padding:.3rem .6rem;border:1px solid var(--border-medium);background-color:var(--bg-surface);color:var(--text-tertiary);border-radius:5px;cursor:pointer;font-size:.78rem;font-weight:500;transition:all .15s}.btn-duplicate:hover{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-unretire{padding:.3rem .6rem;border:1px solid var(--border-medium);background-color:var(--bg-surface);color:var(--text-tertiary);border-radius:5px;cursor:pointer;font-size:.78rem;font-weight:500;transition:all .15s}.btn-unretire:hover{background-color:#28a745;border-color:#28a745;color:#fff}.retired-row{opacity:.6;background-color:var(--bg-surface-alt)}.retired-row:hover{opacity:.8}.confirm-modal{max-width:450px}.btn-confirm-primary{padding:.5rem 1rem;border:none;background:var(--gradient-primary);color:#fff;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .15s}.btn-confirm-primary:hover{box-shadow:0 2px 8px var(--color-primary-shadow)}.btn-confirm-danger{padding:.5rem 1rem;border:none;background-color:#dc3545;color:#fff;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .15s}.btn-confirm-danger:hover{background-color:#c82333}.btn-confirm-success{padding:.5rem 1rem;border:none;background-color:#28a745;color:#fff;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .15s}.btn-confirm-success:hover{background-color:#218838}.btn-add{padding:.5rem 1rem;border:none;background:#28a745;color:#fff;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s;box-shadow:0 1px 4px #00000040}.btn-add:hover{background:#218838;box-shadow:0 3px 10px #28a74566;transform:translateY(-1px)}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.table-header h2{margin:0;font-size:1.15rem;font-weight:600;color:var(--text-primary)}.filters-row{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}.filter-group{display:flex;align-items:center;gap:.4rem}.filter-group label{font-size:.8rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.filter-group select{padding:.4rem .6rem;border:1px solid var(--border-default);border-radius:6px;font-size:.85rem;background-color:var(--bg-surface);color:var(--text-primary);transition:border-color .15s}.filter-group select:focus{outline:none;border-color:var(--color-primary)}.modal-overlay{position:fixed;inset:0;background-color:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--bg-surface);border-radius:12px;box-shadow:var(--shadow-lg);width:90%;max-width:600px;max-height:90vh;overflow:visible;display:flex;flex-direction:column}.modal.large{max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-default)}.modal-close{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--text-muted);line-height:1;padding:0;width:2rem;height:2rem;transition:color .15s}.modal-body{padding:1.5rem;overflow-y:auto;overflow-x:visible;flex:1;max-height:calc(90vh - 80px)}.color-picker-container{position:relative}.color-picker-popup{position:fixed;z-index:2000;background-color:var(--bg-surface);border:1px solid var(--border-medium);border-radius:8px;padding:.75rem;box-shadow:0 4px 12px #00000026;min-width:160px}.equipment-form{display:flex;flex-direction:column;gap:1rem}.form-group{margin-bottom:0}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-tertiary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem;border:1px solid var(--border-medium);border-radius:4px;font-size:1rem;transition:border-color .15s;box-sizing:border-box;background-color:var(--bg-input);color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 .2rem var(--color-primary-shadow)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-error{background-color:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger-text);padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem}.form-hint{margin-top:.25rem;font-size:.8rem;color:var(--text-muted)}.modal-form .modal-body{max-height:60vh;overflow-y:auto}.install-summary{background-color:var(--bg-surface-alt);border-radius:4px;padding:.75rem 1rem;margin-bottom:1rem}.install-summary p{margin:.25rem 0}.radio-group{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.radio-option{display:flex;align-items:center;gap:.5rem;cursor:pointer}.radio-option input[type=radio]{width:auto;margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-default)}.btn-cancel{padding:.5rem 1rem;border:1px solid var(--border-medium);background-color:var(--bg-surface);color:var(--text-tertiary);border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .15s}.btn-cancel:hover{background-color:var(--bg-surface-hover);color:var(--text-primary)}.btn-submit{padding:.5rem 1rem;border:none;background:#28a745;color:#fff;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .15s;box-shadow:0 1px 4px #00000040}.btn-submit:hover{background:#218838;box-shadow:0 2px 8px #28a74566}.btn-submit:disabled{background:var(--text-muted);cursor:not-allowed}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-sm);padding:1.5rem;text-align:center}.stat-card.alert{border-left:4px solid #dc3545}.stat-card h3{margin:0 0 .5rem;font-size:2rem;color:var(--text-primary)}.stat-card p{margin:0;color:var(--text-muted);font-size:.9rem}.wizard-steps{display:flex;justify-content:space-between;margin-bottom:2rem;padding:0 1rem}.wizard-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}.wizard-step:after{content:"";position:absolute;top:15px;left:50%;width:100%;height:2px;background-color:var(--border-default);z-index:0}.wizard-step:last-child:after{display:none}.step-number{width:30px;height:30px;border-radius:50%;background-color:var(--border-default);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-weight:600;z-index:1;transition:all .15s}.wizard-step.active .step-number,.wizard-step.completed .step-number{background-color:var(--color-primary);color:#fff}.wizard-step.completed .step-number{background-color:var(--color-accent)}.step-label{margin-top:.5rem;font-size:.85rem;color:var(--text-muted)}.wizard-step.active .step-label{color:var(--color-primary);font-weight:500}.selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-bottom:1rem}.selection-card{border:2px solid var(--border-default);border-radius:8px;padding:1rem;cursor:pointer;transition:all .15s}.selection-card:hover{border-color:var(--color-primary);background-color:var(--bg-surface-alt)}.selection-card.selected{border-color:var(--color-primary);background-color:var(--status-info-bg)}.selection-card h4{margin:0 0 .5rem;font-size:1rem}.selection-card p{margin:0;color:var(--text-muted);font-size:.85rem}.selection-card.out-of-range{border-color:var(--status-warning-border);background-color:var(--status-warning-bg)}.selection-card.out-of-range:hover,.selection-card.out-of-range.selected{border-color:var(--status-warning-text);background-color:var(--status-warning-bg)}.size-warning{margin-top:.5rem;padding:.25rem .5rem;background-color:var(--status-warning-bg);color:var(--status-warning-text);border-radius:4px;font-size:.75rem;font-weight:500}.selection-card.maintenance{border-color:var(--status-warning-border);background-color:var(--status-warning-bg)}.selection-card.maintenance:hover,.selection-card.maintenance.selected{border-color:var(--status-warning-text);background-color:var(--status-warning-bg)}.maintenance-warning{margin-top:.5rem;padding:.25rem .5rem;background-color:var(--status-warning-bg);color:var(--status-warning-text);border-radius:4px;font-size:.75rem;font-weight:500}.info-message{background-color:var(--status-info-bg);color:var(--status-info-text);padding:.75rem 1rem;border-radius:4px;font-size:.9rem}.error-message{background-color:var(--status-danger-bg);color:var(--status-danger-text);padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;border:1px solid var(--status-danger-border);font-size:.9rem}.success-message{background-color:var(--status-success-bg);color:var(--status-success-text);padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;border:1px solid var(--status-success-border);font-size:.9rem}.loading{text-align:center;padding:3rem;color:var(--text-muted);font-size:1.1rem}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--text-muted);background-color:var(--bg-surface);border-radius:8px;border:1px dashed var(--border-default)}.empty-state p{margin:0;font-size:.95rem}.assembly-card{background:var(--bg-surface);border-radius:10px;border:1px solid var(--border-default);padding:1.25rem;margin-bottom:.75rem;transition:box-shadow .15s}.assembly-card:hover{box-shadow:var(--shadow-md)}.assembly-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.assembly-card-header h3{margin:0;font-size:1.1rem}.assembly-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.assembly-detail{padding:.75rem;background-color:var(--bg-surface-alt);border-radius:4px}.assembly-detail-label{font-size:.8rem;color:var(--text-muted);margin-bottom:.25rem}.assembly-detail-value{font-weight:500;color:var(--text-primary)}.wizard-navigation{display:flex;justify-content:space-between;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border-default)}.btn-prev{padding:.75rem 1.5rem;border:1px solid #6c757d;background-color:var(--bg-surface);color:#6c757d;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .15s}.btn-prev:hover{background-color:#6c757d;color:#fff}.btn-next{padding:.75rem 1.5rem;border:none;background:var(--gradient-primary);color:#fff;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .15s}.btn-next:hover{box-shadow:0 2px 8px var(--color-primary-shadow)}.btn-next:disabled{background:var(--text-muted);cursor:not-allowed}.modal.modal-xlarge{max-width:1000px;width:95%}.table-scroll-container{max-height:400px;overflow-y:auto;border:1px solid var(--border-default);border-radius:8px}.selection-table{width:100%;border-collapse:collapse}.selection-table th{background-color:var(--bg-surface-alt);padding:.75rem;text-align:left;font-weight:600;color:var(--text-tertiary);border-bottom:2px solid var(--border-default);position:sticky;top:0;z-index:1}.selection-table td{padding:.75rem;border-bottom:1px solid var(--border-default);vertical-align:middle}.selectable-row{cursor:pointer;transition:background-color .1s}.selectable-row:hover{background-color:var(--bg-surface-alt)}.selectable-row.selected,.selectable-row.selected:hover{background-color:var(--status-info-bg)}.selectable-row.maintenance-row,.selectable-row.maintenance-row:hover,.selectable-row.maintenance-row.selected,.selectable-row.out-of-range-row,.selectable-row.out-of-range-row:hover,.selectable-row.out-of-range-row.selected,.selectable-row.in-use-row,.selectable-row.in-use-row:hover,.selectable-row.in-use-row.selected{background-color:var(--status-warning-bg)}.in-use-badge{display:inline-block;margin-left:.5rem;padding:.15rem .4rem;font-size:.7rem;font-weight:600;background-color:#fd7e14;color:#fff;border-radius:3px;vertical-align:middle}.assembly-review-grid{display:grid;grid-template-columns:1fr;gap:.75rem;background:var(--bg-surface-alt);padding:1rem;border-radius:8px}.review-item{display:flex;align-items:center;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--border-default)}.review-item:last-child{border-bottom:none}.review-label{font-weight:600;color:var(--text-tertiary);min-width:140px}.review-value{color:var(--text-primary)}.history-timeline{display:flex;flex-direction:column;gap:0}.history-entry{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border-default);position:relative}.history-entry:last-child{border-bottom:none}.history-entry:before{content:"";position:absolute;left:15px;top:2.5rem;bottom:-1rem;width:2px;background-color:var(--border-default)}.history-entry:last-child:before{display:none}.history-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0;z-index:1}.history-content{flex:1}.history-action{font-size:.95rem;color:var(--text-primary);margin-bottom:.25rem}.history-notes{color:var(--text-muted);font-weight:400}.history-meta{font-size:.85rem;color:var(--text-muted)}.history-date{margin-right:.5rem}.history-user{color:var(--text-tertiary)}.btn-history{padding:.3rem .6rem;border:1px solid var(--border-medium);background-color:var(--bg-surface);color:var(--text-tertiary);border-radius:5px;cursor:pointer;font-size:.78rem;font-weight:500;transition:all .15s}.btn-history:hover{background-color:var(--text-muted);border-color:var(--text-muted);color:#fff}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s;white-space:nowrap}.sortable-header:hover,.sortable-header.active{background-color:var(--bg-surface-hover)}.sort-indicator{color:var(--text-muted);font-size:.75rem;margin-left:.25rem}.sortable-header.active .sort-indicator{color:var(--color-primary)}.btn-add-component{padding:.25rem .5rem;font-size:.8rem;background-color:var(--bg-surface-hover);color:var(--text-tertiary);border:1px dashed #6c757d;border-radius:4px;cursor:pointer;transition:all .15s}.btn-add-component:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary);border-style:solid}.assembly-type-badge{display:inline-block;padding:.2rem .6rem;font-size:.75rem;font-weight:600;border-radius:50px;text-transform:uppercase;letter-spacing:.03em}.assembly-type-badge.sport{background-color:var(--status-success-bg);color:var(--status-success-text)}.assembly-type-badge.student{background-color:var(--status-warning-bg);color:var(--status-warning-text)}.assembly-type-badge.tandem{background-color:var(--status-info-bg);color:var(--status-info-text)}.search-box{position:relative;display:flex;align-items:center;flex:1;max-width:280px}.search-input{width:100%;padding:.45rem 2rem .45rem .75rem;border:1px solid var(--border-default);border-radius:6px;font-size:.85rem;background-color:var(--bg-surface);color:var(--text-primary);transition:border-color .15s,box-shadow .15s}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-shadow)}.search-input::placeholder{color:var(--text-faint)}.search-clear{position:absolute;right:.5rem;background:none;border:none;font-size:1.2rem;color:var(--text-muted);cursor:pointer;padding:0;line-height:1}.search-clear:hover{color:#dc3545}.bulk-actions-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background-color:var(--status-info-bg);border:1px solid var(--status-info-border);border-radius:6px;margin-bottom:1rem}.bulk-actions-bar span{font-weight:500;color:var(--status-info-text)}.btn-bulk-edit{padding:.4rem .8rem;border:none;background-color:#1976d2;color:#fff;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .15s}.btn-bulk-edit:hover{background-color:#1565c0}.selected-row{background-color:var(--status-info-bg)!important}.equipment-table tbody tr:hover{background-color:var(--bg-surface-alt)}.selected-row:hover{background-color:var(--status-info-bg)!important}.btn-share{padding:.3rem .6rem;border:1px solid var(--border-medium);background-color:var(--bg-surface);color:var(--text-tertiary);border-radius:5px;cursor:pointer;font-size:.78rem;font-weight:500;transition:all .15s}.btn-share:hover{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.gear-sharing-modal{max-width:600px}.gear-sharing-modal .shares-section h3{margin-top:0;font-size:1.1rem;color:var(--text-primary)}.gear-sharing-modal .no-shares{color:var(--text-muted);font-style:italic}.gear-sharing-modal .shares-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.gear-sharing-modal .share-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border:1px solid var(--border-default);border-radius:6px;background-color:var(--bg-surface-alt)}.gear-sharing-modal .share-item.revoked{opacity:.6;background-color:#f5f5f5}.gear-sharing-modal .share-info{display:flex;align-items:center;gap:.75rem}.gear-sharing-modal .share-target{font-weight:500}.gear-sharing-modal .share-type{padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.gear-sharing-modal .share-type.rigger{background-color:#cce5ff;color:#004085}.gear-sharing-modal .share-type.dropzone{background-color:#d4edda;color:#155724}.gear-sharing-modal .share-permissions{display:flex;gap:1rem;font-size:.85rem}.gear-sharing-modal .share-permissions label{display:flex;align-items:center;gap:.25rem;cursor:pointer}.gear-sharing-modal .share-actions{display:flex;gap:.5rem}.gear-sharing-modal .btn-revoke{padding:.25rem .5rem;background-color:#ffc107;color:#212529;border:none;border-radius:4px;cursor:pointer;font-size:.8rem}.gear-sharing-modal .btn-revoke:hover{background-color:#e0a800}.gear-sharing-modal .btn-delete{padding:.25rem .5rem;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8rem}.gear-sharing-modal .btn-delete:hover{background-color:#c82333}.gear-sharing-modal .btn-add-share{padding:.5rem 1rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;margin-top:1rem}.gear-sharing-modal .btn-add-share:hover{background-color:#218838}.gear-sharing-modal .add-share-form{margin-top:1rem;padding:1rem;border:1px solid var(--border-default);border-radius:6px;background-color:var(--bg-surface)}.gear-sharing-modal .add-share-form h4{margin:0 0 1rem}.gear-sharing-modal .share-type-select{display:flex;gap:1.5rem;margin-bottom:1rem}.gear-sharing-modal .share-type-select label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.gear-sharing-modal .form-group{margin-bottom:1rem}.gear-sharing-modal .form-group label{display:block;margin-bottom:.25rem;font-weight:500}.gear-sharing-modal .form-group select{width:100%;padding:.5rem;border:1px solid var(--border-medium);border-radius:4px;font-size:1rem}.gear-sharing-modal .form-hint{display:block;margin-top:.25rem;color:var(--text-muted);font-size:.8rem}.gear-sharing-modal .permissions-section{margin-bottom:1rem}.gear-sharing-modal .permissions-section h5{margin:0 0 .5rem;font-size:.9rem}.gear-sharing-modal .permissions-section label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;cursor:pointer}.gear-sharing-modal .form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.gear-sharing-modal .btn-cancel{padding:.5rem 1rem;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer}.gear-sharing-modal .btn-share{padding:.5rem 1rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer}.gear-sharing-modal .btn-share:disabled{opacity:.6;cursor:not-allowed}.gear-sharing-modal .revoked-shares{margin-top:1rem}.gear-sharing-modal .revoked-shares summary{cursor:pointer;color:var(--text-muted);font-size:.9rem}.gear-sharing-modal .revoked-badge{padding:.15rem .5rem;background-color:#f8d7da;color:#721c24;border-radius:4px;font-size:.75rem}.gear-sharing-modal .share-level{padding:.15rem .5rem;border-radius:4px;font-size:.75rem;background-color:#e9ecef;color:#495057}.gear-sharing-modal .share-level.all_gear{background-color:#d4edda;color:#155724}.gear-sharing-modal .share-level.assembly{background-color:#cce5ff;color:#004085}.gear-sharing-modal .share-level.component{background-color:#fff3cd;color:#856404}.gear-sharing-modal .share-level-select{margin-bottom:1.25rem}.gear-sharing-modal .share-level-select .form-label{display:block;font-weight:500;margin-bottom:.5rem}.gear-sharing-modal .share-level-select .radio-group{display:flex;flex-direction:column;gap:.5rem}.gear-sharing-modal .radio-option{display:flex;flex-direction:row;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--border-default);border-radius:6px;cursor:pointer;transition:all .15s}.gear-sharing-modal .radio-option:hover{border-color:var(--color-primary);background-color:var(--bg-surface-alt)}.gear-sharing-modal .radio-option.selected{border-color:var(--color-primary);background-color:var(--status-info-bg)}.gear-sharing-modal .radio-option input[type=radio]{margin:0}.gear-sharing-modal .radio-option .radio-label{font-weight:500;flex-shrink:0}.gear-sharing-modal .radio-option .radio-hint{font-size:.85rem;color:var(--text-muted)}.gear-sharing-modal .share-type-select .form-label{display:block;font-weight:500;margin-bottom:.5rem}.gear-sharing-modal .share-type-select .radio-group.horizontal{display:flex;flex-direction:row;gap:1.5rem}.gear-sharing-modal .share-type-select .radio-group.horizontal label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.shared-gear-list{padding:1rem 0}.shared-gear-list h3{margin:0 0 1.5rem;color:var(--text-primary)}.shared-gear-list.empty{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.shared-gear-list.empty p{margin:.5rem 0}.shared-gear-list.empty .hint{font-size:.9rem;font-style:italic}.shared-gear-list .share-group{margin-bottom:2rem}.shared-gear-list .share-group h4{margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-default);color:var(--text-tertiary)}.shared-gear-list .gear-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.shared-gear-card{border:1px solid var(--border-default);border-radius:8px;padding:1rem;background-color:var(--bg-surface)}.shared-gear-card .gear-header{margin-bottom:.75rem}.shared-gear-card .gear-header h4{margin:0 0 .25rem;font-size:1.1rem}.shared-gear-card .owner-name{font-size:.85rem;color:var(--text-muted)}.shared-gear-card .gear-details{margin-bottom:.75rem}.shared-gear-card .packing-status{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.85rem;margin-bottom:.5rem}.shared-gear-card .packing-status.green{background-color:#d4edda;color:#155724}.shared-gear-card .packing-status.orange{background-color:#fff3cd;color:#856404}.shared-gear-card .packing-status.red{background-color:#f8d7da;color:#721c24}.shared-gear-card .permissions{display:flex;gap:.5rem;flex-wrap:wrap}.shared-gear-card .permission-badge{padding:.15rem .4rem;border-radius:4px;font-size:.75rem}.shared-gear-card .permission-badge.maintenance{background-color:#cce5ff;color:#004085}.shared-gear-card .permission-badge.edit{background-color:#e2e3e5;color:#383d41}.shared-gear-card .gear-actions{display:flex;gap:.5rem;margin-top:.75rem}.shared-gear-card .btn-add-packing{padding:.4rem .75rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.shared-gear-card .btn-add-packing:hover{background-color:#218838}.shared-gear-card .btn-request-edit{padding:.4rem .75rem;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.shared-gear-card .btn-request-edit:disabled{opacity:.6;cursor:not-allowed}.edit-requests-panel{padding:1rem 0}.edit-requests-panel .panel-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.edit-requests-panel .panel-header h3{margin:0}.edit-requests-panel .pending-badge{padding:.25rem .5rem;background-color:#ffc107;color:#212529;border-radius:4px;font-size:.85rem;font-weight:500}.edit-requests-panel .tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid var(--border-default)}.edit-requests-panel .tab{padding:.5rem 1rem;background:none;border:none;cursor:pointer;font-size:.9rem;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px}.edit-requests-panel .tab:hover{color:var(--text-tertiary)}.edit-requests-panel .tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.edit-requests-panel .empty-state{text-align:center;padding:2rem;color:var(--text-muted)}.edit-requests-panel .empty-state .hint{font-size:.9rem;font-style:italic}.edit-requests-panel .requests-list{display:flex;flex-direction:column;gap:1rem}.edit-requests-panel .request-card{border:1px solid var(--border-default);border-radius:8px;padding:1rem;background-color:var(--bg-surface)}.edit-requests-panel .request-card.pending{border-left:4px solid #ffc107}.edit-requests-panel .request-card.approved{border-left:4px solid #28a745}.edit-requests-panel .request-card.rejected{border-left:4px solid #dc3545}.edit-requests-panel .request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.edit-requests-panel .requester{font-weight:500}.edit-requests-panel .date{color:var(--text-muted);font-size:.85rem}.edit-requests-panel .status-badge{padding:.2rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500}.edit-requests-panel .change-requested{margin-bottom:.75rem}.edit-requests-panel .change-content{margin-top:.25rem;padding:.5rem;background-color:var(--bg-surface-alt);border-radius:4px}.edit-requests-panel .old-value{color:#dc3545;text-decoration:line-through}.edit-requests-panel .new-value{color:#28a745;font-weight:500}.edit-requests-panel .reason{margin-top:.5rem;color:var(--text-muted);font-size:.9rem}.edit-requests-panel .request-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.edit-requests-panel .review-notes input{width:100%;padding:.4rem;border:1px solid var(--border-medium);border-radius:4px;font-size:.9rem}.edit-requests-panel .action-buttons{display:flex;gap:.5rem}.edit-requests-panel .btn-approve{padding:.4rem 1rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer}.edit-requests-panel .btn-approve:hover{background-color:#218838}.edit-requests-panel .btn-approve:disabled{opacity:.6;cursor:not-allowed}.edit-requests-panel .btn-reject{padding:.4rem 1rem;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer}.edit-requests-panel .btn-reject:hover{background-color:#c82333}.edit-requests-panel .btn-reject:disabled{opacity:.6;cursor:not-allowed}.edit-requests-panel .dates{display:flex;gap:1rem;font-size:.85rem;color:var(--text-muted);margin-top:.5rem}.edit-requests-panel .reviewer-notes{margin-top:.5rem;padding:.5rem;background-color:var(--bg-surface-alt);border-radius:4px;font-size:.9rem}.student-rig-list .table-header{margin-bottom:1.5rem}.student-rig-list .table-header h2{margin:0;color:var(--text-primary)}.student-rig-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.student-rig-card{background:var(--bg-surface);border:2px solid var(--border-default);border-radius:12px;padding:1.25rem;transition:all .2s ease}.student-rig-card:hover{border-color:#adb5bd;box-shadow:var(--shadow-md)}.student-rig-card.is-default{border-color:#28a745;background:linear-gradient(to bottom,#f0fff4,#fff)}.student-rig-card.is-pending{border-color:#ffc107;background:linear-gradient(to bottom,#fffcf0,#fff)}.rig-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:.5rem}.rig-header h3{margin:0;font-size:1.1rem;color:var(--text-primary)}.rig-header .default-badge{background:#28a745;color:#fff;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.rig-header .pending-badge{background:#ffc107;color:#333;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.rig-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.rig-detail{display:flex;flex-direction:column}.rig-detail .label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.rig-detail .value{font-size:.95rem;color:var(--text-primary);font-weight:500}.rig-detail .sub-value{font-size:.8rem;color:var(--text-muted)}.rig-action{padding-top:1rem;border-top:1px solid var(--border-default)}.rig-action .btn-select-rig{width:100%;padding:.6rem 1rem;background:#0d6efd;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .15s}.rig-action .btn-select-rig:hover{background:#0b5ed7}.rig-action .btn-select-rig:disabled{opacity:.6;cursor:not-allowed}.rig-action .current-default{display:block;text-align:center;color:#28a745;font-weight:600;padding:.6rem}.rig-action .pending-status{display:block;text-align:center;color:#856404;font-weight:500;padding:.6rem}.parts-inventory{padding:1rem 0}.parts-view-toggle{display:flex;gap:0;margin-bottom:1.5rem;background-color:var(--bg-surface-hover);border-radius:8px;padding:4px;width:fit-content}.parts-view-toggle .toggle-btn{padding:.5rem 1.5rem;border:none;background:transparent;border-radius:6px;cursor:pointer;font-weight:500;color:var(--text-tertiary);transition:all .15s}.parts-view-toggle .toggle-btn:hover{color:var(--color-primary)}.parts-view-toggle .toggle-btn.active{background-color:var(--bg-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.category-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.category-card{background:var(--bg-surface);border:2px solid var(--border-default);border-radius:8px;padding:1rem;cursor:pointer;transition:all .15s;text-align:center}.category-card:hover{border-color:var(--color-primary);background-color:var(--bg-surface-alt)}.category-card.selected{border-color:var(--color-primary);background-color:var(--status-info-bg)}.category-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem;font-size:.9rem}.category-count{font-size:1.5rem;font-weight:700;color:var(--color-primary)}.category-breakdown{display:flex;justify-content:center;gap:.75rem;margin-top:.5rem;font-size:.75rem;color:var(--text-muted)}.count-inventory{color:#28a745}.count-installed{color:#fd7e14}.parts-filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;background-color:var(--bg-surface-alt);border-radius:8px}.parts-filters .filter-group{display:flex;align-items:center;gap:.5rem}.parts-filters .filter-group label{font-weight:500;color:var(--text-tertiary)}.parts-filters .filter-group select{padding:.4rem .75rem;border:1px solid var(--border-medium);border-radius:4px;font-size:.9rem}.parts-table-container{overflow-x:auto;border:1px solid var(--border-default);border-radius:8px}.parts-table{width:100%;border-collapse:collapse;font-size:.9rem}.parts-table th{background-color:var(--bg-surface-alt);padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-tertiary);border-bottom:2px solid var(--border-default);white-space:nowrap}.parts-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-default);vertical-align:middle}.parts-table tbody tr:hover{background-color:var(--bg-surface-alt)}.parts-table .empty-row{text-align:center;color:var(--text-muted);padding:2rem}.action-buttons{display:flex;gap:.5rem}.btn-small{padding:.25rem .5rem;font-size:.8rem;border-radius:4px;border:1px solid;background:transparent;cursor:pointer;transition:all .15s}.btn-small.btn-view{border-color:#6c757d;color:#6c757d}.btn-small.btn-view:hover{background-color:#6c757d;color:#fff}.btn-small.btn-install{border-color:#28a745;color:#28a745}.btn-small.btn-install:hover{background-color:#28a745;color:#fff}.btn-small.btn-remove{border-color:#fd7e14;color:#fd7e14}.btn-small.btn-remove:hover{background-color:#fd7e14;color:#fff}.btn-small.btn-adjust{border-color:#007bff;color:#007bff}.btn-small.btn-adjust:hover{background-color:#007bff;color:#fff}.btn-small.btn-edit{border-color:#6c757d;color:#6c757d}.btn-small.btn-edit:hover{background-color:#6c757d;color:#fff}.parts-table tr.low-stock{background-color:#fff3cd}.quantity-low{color:#856404;font-weight:600}.low-stock-badge{display:inline-block;margin-left:.5rem;padding:.15rem .4rem;font-size:.7rem;background-color:#ffc107;color:#856404;border-radius:4px;font-weight:600}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.detail-row{display:flex;flex-direction:column;gap:.25rem}.detail-row.full-width{grid-column:1 / -1}.detail-row label{font-size:.8rem;color:var(--text-muted);font-weight:500}.detail-row span{font-size:.95rem;color:var(--text-primary)}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-default);background-color:var(--bg-surface-alt)}.btn-warning{background-color:#fd7e14;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.btn-warning:hover{background-color:#e96b00}.btn-danger{background-color:#dc3545;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.btn-danger:hover{background-color:#c82333}.assembly-cards-mobile,.container-cards-mobile,.canopy-cards-mobile,.aad-cards-mobile{display:none}.assembly-card-mobile{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:10px;padding:1rem;margin-bottom:.75rem;transition:box-shadow .15s}.assembly-card-mobile:hover{box-shadow:var(--shadow-md)}.assembly-card-mobile.retired{opacity:.6}.assembly-card-mobile-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:.5rem}.assembly-card-mobile-name{font-weight:600;font-size:1rem;color:var(--text-primary);line-height:1.3}.assembly-card-mobile-name .subtitle{font-weight:400;font-size:.82rem;color:var(--text-muted);display:block;margin-top:2px}.assembly-card-mobile-badges{display:flex;gap:.35rem;flex-shrink:0}.assembly-card-mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.75rem}.assembly-card-mobile-field{display:flex;flex-direction:column;gap:2px}.assembly-card-mobile-field .field-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.assembly-card-mobile-field .field-value{font-size:.88rem;color:var(--text-primary);font-weight:500}.assembly-card-mobile-field .field-value .sub{font-weight:400;color:var(--text-muted);font-size:.8rem}.assembly-card-mobile-pack{display:flex;align-items:center;justify-content:space-between;padding:.5rem .65rem;background-color:var(--bg-surface-alt);border-radius:6px;margin-bottom:.75rem}.assembly-card-mobile-pack .pack-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.assembly-card-mobile-actions{display:flex;gap:.35rem;flex-wrap:wrap;padding-top:.65rem;border-top:1px solid var(--border-default)}.assembly-card-mobile-actions button,.assembly-card-mobile-actions span{flex:1;min-width:0;text-align:center}.wizard-cards-mobile{display:none}.wizard-select-card{background:var(--bg-surface);border:2px solid var(--border-default);border-radius:10px;padding:.85rem;margin-bottom:.6rem;cursor:pointer;transition:all .15s}.wizard-select-card:hover{border-color:var(--color-primary);background-color:var(--bg-surface-alt)}.wizard-select-card.selected{border-color:var(--color-primary);background-color:var(--status-info-bg)}.wizard-select-card.warning{border-color:var(--status-warning-border);background-color:var(--status-warning-bg)}.wizard-select-card-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.wizard-select-card-header input[type=radio]{flex-shrink:0;cursor:pointer}.wizard-select-card-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.wizard-select-card-title strong{font-size:.95rem;color:var(--text-primary)}.wizard-select-card-sub{font-size:.8rem;color:var(--text-muted)}.wizard-select-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.25rem}.wizard-select-card-field{display:flex;flex-direction:column;gap:2px}.wizard-select-card-field .field-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.wizard-select-card-field .field-value{font-size:.88rem;color:var(--text-primary);font-weight:500}@media(max-width:768px){.equipment-page{padding:.25rem 1rem 1.5rem}.page-header h1{font-size:1.5rem}.page-header .subtitle{display:none}.section-navigation{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.section-navigation::-webkit-scrollbar{display:none}.section-button{padding:.5rem 1rem;font-size:.85rem}.sub-tab-navigation{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none}.sub-tab-navigation::-webkit-scrollbar{display:none}.sub-tab-button{white-space:nowrap;flex-shrink:0}.table-header{flex-direction:column;align-items:stretch;gap:.75rem}.table-header .btn-add{align-self:flex-start}.filters-row{gap:.5rem}.search-box{max-width:100%;min-width:0}.filter-group{flex:0 0 auto}.filter-group label{font-size:.75rem}.filter-group select{font-size:.8rem;padding:.35rem .5rem}.assembly-list .equipment-table-container,.container-list .equipment-table-container,.canopy-list .equipment-table-container,.aad-list .equipment-table-container{display:none}.assembly-cards-mobile,.container-cards-mobile,.canopy-cards-mobile,.aad-cards-mobile{display:block}.equipment-table-container{margin:0 -1rem;border-radius:0}.equipment-table th,.equipment-table td{padding:.6rem .75rem;font-size:.8rem;white-space:nowrap}.modal{width:95%;margin:1rem}.modal-body{padding:1rem}.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column}.modal-actions button{width:100%}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{padding:1rem}.stat-card h3{font-size:1.5rem}.assembly-details{grid-template-columns:1fr}.wizard-steps{padding:0;gap:0}.step-label{font-size:.75rem}.selection-grid{grid-template-columns:1fr}.wizard-table-desktop{display:none}.wizard-cards-mobile{display:block}.student-rig-grid,.shared-gear-list .gear-cards{grid-template-columns:1fr}.category-cards{grid-template-columns:repeat(2,1fr)}}.schedule-page{padding:1rem;max-width:1400px;margin:0 auto}.schedule-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.schedule-page .page-header h1{margin:0;font-size:1.75rem}.schedule-page .page-subtitle{color:var(--text-muted);margin:.25rem 0 0}.schedule-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-default);padding-bottom:0}.tab-btn{padding:.75rem 1.5rem;border:none;background:transparent;cursor:pointer;font-size:1rem;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.tab-btn:hover{color:var(--text-secondary)}.tab-btn.active{color:#2563eb;border-bottom-color:#2563eb;font-weight:500}.tab-content{padding:1rem 0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h2{margin:0;font-size:1.25rem}.form-card{background:var(--bg-surface-alt);border:1px solid var(--border-default);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.form-card h3{margin:0 0 1rem;font-size:1.1rem}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-row .form-group{flex:1}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem;border:1px solid var(--border-medium);border-radius:4px;font-size:.95rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.form-hint{display:block;font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto}.form-actions{display:flex;gap:.5rem;margin-top:1rem}.day-toggles{display:flex;gap:.5rem;flex-wrap:wrap}.day-toggle{padding:.5rem .75rem;border:1px solid var(--border-medium);background:var(--bg-surface);border-radius:4px;cursor:pointer;transition:all .2s}.day-toggle:hover{border-color:#2563eb}.day-toggle.active{background:#2563eb;color:#fff;border-color:#2563eb}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.template-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;padding:1rem;position:relative}.template-card.inactive{opacity:.6;background:var(--bg-surface-alt)}.template-time{font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.template-label{color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem}.template-details{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem}.template-badge{position:absolute;top:.5rem;right:.5rem;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;text-transform:uppercase}.template-badge.inactive{background:var(--border-light);color:var(--text-muted)}.template-actions{display:flex;gap:.5rem;margin-top:.5rem}.data-table{width:100%;border-collapse:collapse;background:var(--bg-surface)}.data-table th,.data-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-default)}.data-table th{background:var(--bg-surface-alt);font-weight:600;font-size:.9rem}.data-table tr:hover{background:var(--bg-surface-alt)}.waitlisted-row{background:#fff7ed}.badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500}.badge-danger{background:#fee2e2;color:#dc2626}.badge-warning{background:#fef3c7;color:#d97706}.badge-success,.badge-confirmed{background:#d1fae5;color:#059669}.badge-waitlisted{background:#fef3c7;color:#d97706}.badge-cancelled{background:var(--bg-surface-hover);color:var(--text-muted)}.badge-no_show{background:#fee2e2;color:#dc2626}.badge-completed{background:#dbeafe;color:#2563eb}.date-picker{display:flex;align-items:center;gap:.5rem}.date-picker input{padding:.5rem;border:1px solid var(--border-medium);border-radius:4px}.category-selector-section{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:8px;padding:1rem 1.5rem}.category-selector{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.category-selector label{font-weight:500;color:#1e40af;font-size:.95rem}.category-selector select{padding:.5rem .75rem;border:1px solid #93c5fd;border-radius:6px;font-size:.95rem;background:var(--bg-surface);min-width:250px}.category-selector select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.selected-category-info{display:flex;align-items:center;gap:.75rem;margin-left:auto}.category-weight{font-size:.9rem;color:#1e40af}.category-weight strong{font-size:1.1rem}.category-type{background:#dbeafe;color:#1e40af;padding:.25rem .5rem;border-radius:4px;font-size:.8rem}@media(max-width:768px){.category-selector{flex-direction:column;align-items:stretch}.category-selector select{min-width:100%}.selected-category-info{margin-left:0;justify-content:center}}.schedule-layout{display:flex;flex-direction:column;gap:1.5rem}.my-bookings-section{background:var(--bg-surface-alt);border-radius:8px;padding:1rem}.my-bookings-section h2{margin:0 0 1rem;font-size:1.1rem}.no-bookings{color:var(--text-muted);font-size:.9rem}.bookings-list{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem}.booking-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:6px;padding:.75rem;display:flex;align-items:center;gap:1rem;min-width:280px;flex-shrink:0}.booking-card.waitlisted{border-left:3px solid #f59e0b}.booking-card.confirmed{border-left:3px solid #10b981}.booking-date{font-weight:600}.booking-time{font-size:.9rem;color:var(--text-muted)}.booking-category{font-size:.85rem;color:var(--text-muted)}.booking-status{margin-top:.25rem}.booking-actions{display:flex;gap:.5rem}.calendar-section{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;padding:1rem}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.calendar-header h2{margin:0;font-size:1.25rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-day-header{text-align:center;font-weight:600;font-size:.85rem;padding:.5rem;color:var(--text-muted)}.calendar-day{min-height:70px;padding:.5rem;border:1px solid var(--border-default);border-radius:4px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column}.calendar-day:hover:not(.empty):not(.past):not(.closed){border-color:#2563eb;background:var(--bg-surface-alt)}.calendar-day.selected{border-color:#2563eb;background:#eff6ff}.calendar-day.empty{background:transparent;border-color:transparent;cursor:default}.calendar-day.past{background:var(--bg-surface-alt);color:#999;cursor:default}.calendar-day.closed{background:#fee2e2;cursor:default}.calendar-day.full{background:#fef3c7}.calendar-day.available{background:#d1fae5}.calendar-day.after-uncurrent{background:#f0fdf4;border:1px dashed #a7f3d0}.calendar-day.after-uncurrent .slot-count{color:#059669;font-style:italic}.day-number{font-weight:600;font-size:.9rem}.calendar-day.has-booking{border:2px solid #2563eb}.booking-indicator{display:flex;gap:3px;margin-top:2px}.booking-dot{width:8px;height:8px;border-radius:50%;background:#2563eb}.booking-dot.confirmed{background:#10b981}.booking-dot.waitlisted{background:#f59e0b}.slot-count{font-size:.75rem;color:var(--text-muted);margin-top:auto}.closed-reason{font-size:.7rem;color:#dc2626;margin-top:auto}.calendar-legend{display:flex;gap:1rem;margin-top:1rem;font-size:.85rem;color:var(--text-muted);justify-content:center}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-item .dot{width:12px;height:12px;border-radius:2px}.dot.available{background:#d1fae5}.dot.after-uncurrent{background:#f0fdf4;border:1px dashed #a7f3d0}.dot.full{background:#fef3c7}.dot.closed{background:#fee2e2}.dot.booked{background:#2563eb}.slots-section{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;padding:1rem}.slots-section h2{margin:0 0 1rem;font-size:1.1rem}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.slot-card{background:var(--bg-surface-alt);border:1px solid var(--border-default);border-radius:8px;padding:1rem;text-align:center;cursor:pointer;transition:all .2s}.slot-card:hover{border-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.slot-card.full{background:#fef3c7}.slot-time{font-size:1.25rem;font-weight:600;margin-bottom:.25rem}.slot-label{font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem}.slot-availability{font-size:.85rem;margin-bottom:.75rem}.slot-availability .unlimited,.slot-availability .spots-left{color:#059669}.slot-availability .waitlist{color:#d97706}.slot-availability .capacity-info{color:#059669;display:block}.slot-availability .waitlist-warning{display:block;color:#d97706;font-size:.8rem;margin-top:.25rem}.waitlist-info{font-size:.8rem;color:#d97706;margin-bottom:.5rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-surface);border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal.modal-wide{max-width:700px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-default)}.modal-header h2{margin:0;font-size:1.25rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);padding:0;line-height:1}.modal-close:hover{color:var(--text-secondary)}.modal-content{padding:1rem}.booking-summary{background:var(--bg-surface-alt);padding:1rem;border-radius:6px;margin-bottom:1rem}.booking-summary p{margin:.25rem 0}.waitlist-notice{color:#d97706;font-style:italic;margin-top:.5rem!important}.input-error{border-color:#dc2626!important;background-color:#fef2f2!important}.field-error{color:#dc2626;font-size:.85rem;margin-top:.25rem}.edit-booking-layout{display:grid;grid-template-columns:auto 1fr;gap:1.5rem}@media(max-width:600px){.edit-booking-layout{grid-template-columns:1fr}}.edit-calendar label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.9rem}.edit-fields{display:flex;flex-direction:column}.mini-calendar{background:var(--bg-surface-alt);border:1px solid var(--border-default);border-radius:8px;padding:.75rem;width:240px}.mini-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-weight:600;font-size:.9rem}.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.mini-day-header{text-align:center;font-size:.7rem;font-weight:600;color:var(--text-muted);padding:.25rem}.mini-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.8rem;border-radius:4px;cursor:pointer;transition:all .15s}.mini-day.empty{cursor:default}.mini-day.past{color:#ccc;cursor:default}.mini-day.unavailable{color:#999;background:var(--border-light);cursor:not-allowed}.mini-day.available{background:#d1fae5;color:#065f46;font-weight:500}.mini-day.available:hover{background:#a7f3d0}.mini-day.selected{background:#2563eb!important;color:#fff!important}.selected-date-display{margin-top:.75rem;font-size:.85rem;color:#2563eb;font-weight:500}.bookings-layout{display:grid;grid-template-columns:320px 1fr;gap:1.5rem;align-items:start}@media(max-width:900px){.bookings-layout{grid-template-columns:1fr}}.bookings-calendar-section{position:sticky;top:1rem}.bookings-calendar{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;padding:1rem}.bookings-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-weight:600}.bookings-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.bookings-day-header{text-align:center;font-size:.75rem;font-weight:600;color:var(--text-muted);padding:.25rem}.bookings-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.85rem;border-radius:6px;cursor:pointer;transition:all .15s;background:var(--bg-surface-alt);padding:2px}.bookings-day:hover{background:var(--bg-surface-hover)}.bookings-day.empty{background:transparent;cursor:default}.bookings-day.today{border:2px solid #2563eb}.bookings-day.selected{background:#2563eb;color:#fff}.bookings-day.has-bookings{background:#dbeafe}.bookings-day.has-bookings.selected{background:#2563eb}.bookings-day.closed{background:var(--bg-surface-hover);color:var(--text-faint);cursor:not-allowed}.bookings-day.closed:hover{background:var(--bg-surface-hover);border-color:var(--border-default)}.bookings-day.is-current{background:#d1fae5}.bookings-day.is-current:hover{background:#a7f3d0}.bookings-day.after-uncurrent{background:#f0fdf4;border:1px dashed #a7f3d0}.bookings-day.after-uncurrent:hover{background:#dcfce7}.bookings-day-number{font-weight:500}.bookings-day-counts{display:flex;gap:2px;font-size:.65rem;margin-top:1px}.confirmed-count{background:#10b981;color:#fff;padding:0 4px;border-radius:3px;font-weight:600}.waitlist-count{background:#f59e0b;color:#fff;padding:0 4px;border-radius:3px;font-weight:600}.bookings-day.selected .confirmed-count,.bookings-day.selected .waitlist-count{background:#ffffffe6;color:#1f2937}.bookings-calendar-legend{display:flex;gap:1rem;margin-top:1rem;font-size:.8rem;color:var(--text-muted)}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px}.legend-dot.confirmed{background:#10b981}.legend-dot.waitlisted{background:#f59e0b}.bookings-detail-section{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;padding:1.5rem}.bookings-detail-section h2{margin:0 0 1.5rem;font-size:1.25rem}.slot-groups{display:flex;flex-direction:column;gap:1.5rem}.slot-group{border:1px solid var(--border-default);border-radius:8px;overflow:hidden}.slot-group-header{background:var(--bg-surface-hover);padding:.75rem 1rem;display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--border-default)}.slot-group-time{font-weight:600;font-size:1.1rem}.slot-group-label{color:var(--text-muted);font-size:.9rem}.slot-group-count{margin-left:auto;font-size:.85rem;color:var(--text-muted)}.slot-group-bookings{padding:.5rem}.booking-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-radius:6px;margin-bottom:.25rem}.booking-row:last-child{margin-bottom:0}.booking-row.confirmed{background:#f0fdf4}.booking-row.waitlisted{background:#fffbeb}.booking-info{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.booking-student{font-weight:500}.booking-category{color:var(--text-muted);font-size:.9rem}.booking-notes{color:var(--text-muted);font-size:.85rem;font-style:italic}.booking-row .booking-actions{display:flex;gap:.5rem;flex-shrink:0}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.btn{padding:.5rem 1rem;border:1px solid var(--border-medium);border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s;background:var(--bg-surface)}.btn:hover{background:var(--border-light)}.btn-primary{background:var(--gradient-primary);color:#fff;border-color:var(--color-primary)}.btn-secondary{background:var(--btn-secondary-bg);border-color:var(--border-medium)}.btn-secondary:hover{background:var(--btn-secondary-hover)}.btn-danger{background:#dc2626;color:#fff;border-color:#dc2626}.btn-danger:hover{background:#b91c1c}.btn-warning{background:#f59e0b;color:#fff;border-color:#f59e0b}.btn-warning:hover{background:#d97706}.btn-success{background:#10b981;color:#fff;border-color:#10b981}.btn-success:hover{background:#059669}.btn-sm{padding:.25rem .5rem;font-size:.8rem}.alert{padding:1rem;border-radius:6px;margin-bottom:1rem}.alert-error{background:#fee2e2;color:#dc2626;border:1px solid #fecaca}.alert-success{background:#d1fae5;color:#059669;border:1px solid #a7f3d0}.alert-warning{background:#fef3c7;color:#d97706;border:1px solid #fde68a}.empty-state{text-align:center;padding:3rem;color:var(--text-muted)}.empty-state h3{margin:0 0 .5rem}.empty-state p{margin:0}.loading{text-align:center;padding:2rem;color:var(--text-muted)}.booking-currency-warning{color:#d97706;font-size:.85rem;margin-top:.25rem;padding:.25rem .5rem;background:#fef3c7;border-radius:4px}.currency-ok{color:#059669;font-size:.85rem;margin-top:.25rem}.after-uncurrent-input{border-color:#f59e0b!important;background:#fffbeb!important}.progression-page{padding:.25rem 0 2rem}.progression-header{margin-bottom:2rem}.progression-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.progression-header h1{font-size:2rem;color:var(--text-primary);margin-bottom:.5rem}.progression-subtitle{color:var(--text-muted);font-size:1rem}.progression-controls{display:flex;align-items:center;gap:1rem}.date-filter{display:flex;align-items:center;gap:.5rem;background:var(--bg-surface);padding:.5rem .75rem;border-radius:8px;box-shadow:var(--shadow-sm)}.date-label{font-size:.9rem;color:var(--text-secondary);white-space:nowrap}.date-input{padding:.35rem .5rem;border:1px solid var(--border-medium);border-radius:6px;font-size:.85rem;color:var(--text-secondary);cursor:pointer}.date-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.play-btn{width:32px;height:32px;padding:0;background:#3b82f6;border:none;border-radius:50%;font-size:.9rem;color:#fff;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.play-btn:hover{background:#2563eb;transform:scale(1.05)}.clear-date-btn{padding:.35rem .6rem;background:var(--bg-surface-hover);border:1px solid var(--border-medium);border-radius:6px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;transition:all .15s}.clear-date-btn:hover{background:var(--bg-surface-hover);border-color:#9ca3af}.date-input:disabled{background:var(--bg-surface-hover);color:var(--text-muted)}.currency-filter{display:flex;align-items:center;gap:.75rem;background:var(--bg-surface);padding:.5rem .75rem;border-radius:8px;box-shadow:var(--shadow-sm)}.toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:var(--text-secondary);white-space:nowrap}.toggle-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.days-input{display:flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--text-muted)}.days-input input{width:50px;padding:.25rem .5rem;border:1px solid var(--border-medium);border-radius:4px;font-size:.85rem;text-align:center}.days-input input:focus{outline:none;border-color:#3b82f6}.zoom-controls{display:flex;align-items:center;gap:.5rem;background:var(--bg-surface);padding:.5rem .75rem;border-radius:8px;box-shadow:var(--shadow-sm)}.zoom-btn{width:28px;height:28px;border:1px solid var(--border-medium);background:var(--bg-surface-alt);border-radius:6px;font-size:1.25rem;font-weight:600;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.zoom-btn:hover{background:var(--bg-surface-hover);border-color:#9ca3af}.zoom-slider{width:100px;height:6px;cursor:pointer}.progression-loading,.progression-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem}.progression-error{background:var(--bg-surface);border-radius:12px;padding:3rem;box-shadow:var(--shadow-md)}.progression-error p{color:#e53e3e;font-weight:500;margin-bottom:1rem}.no-dropzone-message,.no-students-message{background:var(--bg-surface);border-radius:12px;padding:3rem;text-align:center;box-shadow:var(--shadow-sm)}.no-dropzone-message p,.no-students-message p{color:var(--text-muted);font-size:1.1rem}.progression-content{display:flex;flex-direction:column;gap:2rem}.category-section{background:var(--bg-surface);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden}.category-header{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 1.5rem;background:var(--bg-surface-alt);border-bottom:1px solid var(--border-default)}.category-name{font-size:1.25rem;color:var(--text-primary);margin:0;font-weight:600}.category-type{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;background:#dbeafe;color:#1e40af}.student-count{color:var(--text-muted);font-size:.9rem}.empty-category{width:100%;padding:1.5rem;text-align:center;color:var(--text-faint);font-style:italic}.students-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;padding:1.5rem}.student-card{position:relative;display:flex;flex-direction:column;width:100%;height:100%;border-radius:12px;overflow:hidden;text-decoration:none;transition:box-shadow .2s ease;box-shadow:0 2px 8px #0000001a}.student-card:hover{box-shadow:0 6px 16px #00000026}.student-card.current-user-card{box-shadow:0 0 0 3px #3b82f6,0 2px 8px #0000001a}.student-card.current-user-card:hover{box-shadow:0 0 0 3px #3b82f6,0 6px 16px #00000026}.student-photo{position:absolute;top:0;left:0;width:100%;height:100%}.student-photo-img{width:100%;height:100%;object-fit:cover}.student-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);color:#fff;font-weight:600;font-size:2.5rem}.student-caption{position:absolute;bottom:0;left:0;right:0;padding:1.5rem .75rem .5rem;background:linear-gradient(transparent,#000000b3)}.student-name{color:#fff;font-weight:600;font-size:.85rem;text-shadow:0 1px 2px rgba(0,0,0,.3);display:block;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.progression-title-row{flex-direction:column;align-items:stretch}.progression-controls{flex-direction:column;gap:.5rem}.date-filter,.currency-filter,.zoom-controls{justify-content:center;width:100%}.progression-header h1{font-size:1.5rem}.category-header{flex-wrap:wrap;gap:.5rem}.student-count{width:100%;margin-left:0}.students-grid{padding:1rem;gap:.75rem}}.incidents-page{padding:20px;max-width:1400px;margin:0 auto}.incidents-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.incidents-page .page-header h1{margin:0;font-size:1.75rem;color:var(--text-primary)}.incidents-page .access-denied{text-align:center;padding:60px 20px;background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-sm)}.incidents-page .access-denied h2{color:#dc3545;margin-bottom:12px}.incidents-page .filters-bar{display:flex;gap:16px;align-items:center;margin-bottom:20px;padding:16px;background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-sm);flex-wrap:wrap}.incidents-page .filter-group{display:flex;align-items:center;gap:8px}.incidents-page .filter-group label{font-weight:500;color:var(--text-tertiary);font-size:.875rem}.incidents-page .filter-group select{padding:8px 12px;border:1px solid var(--border-default);border-radius:4px;font-size:.875rem;background:var(--bg-input);color:var(--text-primary);min-width:150px}.incidents-page .incidents-table-container{background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-sm);overflow:hidden}.incidents-page .incidents-table{width:100%;border-collapse:collapse}.incidents-page .incidents-table th,.incidents-page .incidents-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-light)}.incidents-page .incidents-table th{background:var(--bg-surface-alt);font-weight:600;color:var(--text-tertiary);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.incidents-page .incidents-table tbody tr{cursor:pointer;transition:background-color .15s ease}.incidents-page .incidents-table tbody tr:hover{background-color:var(--bg-surface-alt)}.incidents-page .incidents-table .date-cell{font-weight:500;white-space:nowrap}.incidents-page .incidents-table .location-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.incidents-page .incidents-table .creator-cell{color:var(--text-muted)}.incidents-page .incidents-table .actions-cell{display:flex;gap:8px}.incidents-page .incidents-table .types-cell{display:flex;flex-wrap:wrap;gap:4px}.incidents-page .type-badge,.incidents-page .status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.incidents-page .empty-state{text-align:center;padding:60px 20px;background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-sm)}.incidents-page .empty-state .empty-icon{font-size:3rem;margin-bottom:16px}.incidents-page .empty-state h3{margin:0 0 8px;color:var(--text-primary)}.incidents-page .empty-state p{color:var(--text-muted);margin-bottom:20px}.incidents-page .pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding:16px}.incidents-page .pagination .page-info{color:var(--text-muted);font-size:.875rem}.incidents-page .loading{text-align:center;padding:40px;color:var(--text-muted)}.incidents-page .alert{padding:12px 16px;border-radius:6px;margin-bottom:16px}.incidents-page .alert-error{background:var(--status-danger-bg);color:var(--status-danger-text);border:1px solid #f5c2c7}.incidents-page .btn{display:inline-block;padding:10px 20px;border-radius:6px;font-weight:500;text-decoration:none;cursor:pointer;border:none;font-size:.875rem;transition:all .15s ease}.incidents-page .btn-primary{background:var(--gradient-primary);color:#fff}.incidents-page .btn-primary:hover:not(:disabled){background:var(--gradient-primary);outline:2px solid var(--color-accent);outline-offset:2px}.incidents-page .btn-secondary{background:#6c757d;color:#fff}.incidents-page .btn-secondary:hover{background:#5a6268}.incidents-page .btn-sm{padding:6px 12px;font-size:.8125rem}@media(max-width:768px){.incidents-page .page-header{flex-direction:column;gap:16px;align-items:flex-start}.incidents-page .filters-bar{flex-direction:column;align-items:flex-start}.incidents-page .filter-group{width:100%}.incidents-page .filter-group select{flex:1}.incidents-page .incidents-table-container{overflow-x:auto}.incidents-page .incidents-table{min-width:700px}}.incident-form-page{padding:20px;max-width:900px;margin:0 auto}.incident-form-page .form-header{margin-bottom:24px}.incident-form-page .form-header h1{margin:0 0 8px;font-size:1.75rem;color:var(--text-primary)}.incident-form-page .linked-jump-info{display:inline-flex;align-items:center;gap:10px;padding:6px 12px;background:#e7f5ff;color:#1971c2;border-radius:4px;font-size:.875rem}.incident-form-page .progression-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.6875rem;font-weight:600;text-transform:uppercase}.incident-form-page .progression-badge.passed{background:#d4edda;color:#155724}.incident-form-page .progression-badge.repeat{background:#fff3cd;color:#856404}.incident-form-page .linked-jump-data{background:var(--bg-surface);border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:var(--shadow-sm);border-left:4px solid #4361ee}.incident-form-page .linked-jump-data h3{margin:0 0 16px;font-size:1rem;color:var(--text-primary)}.incident-form-page .linked-jump-data .involved-parties-section{margin-bottom:20px}.incident-form-page .linked-jump-data .involved-parties-section h4{margin:0 0 12px;font-size:.9375rem;color:var(--text-tertiary)}.incident-form-page .linked-jump-data .parties-list{display:flex;flex-wrap:wrap;gap:10px}.incident-form-page .linked-jump-data .party-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-surface-alt);border-radius:6px;border-left:3px solid #6c757d}.incident-form-page .linked-jump-data .party-item .party-name{font-weight:500;color:var(--text-primary)}.incident-form-page .linked-jump-data .party-item .party-role{font-size:.75rem;padding:2px 8px;border-radius:10px;background:#e9ecef;color:var(--text-tertiary);text-transform:capitalize}.incident-form-page .linked-jump-data .party-item .party-role.primary{background:#cce5ff;color:#004085}.incident-form-page .linked-jump-data .party-item .party-role.instructor{background:#d4edda;color:#155724}.incident-form-page .linked-jump-data .party-item .party-role.student{background:#fff3cd;color:#856404}.incident-form-page .linked-jump-data .party-item .party-role.videographer{background:#e2d5f1;color:#563d7c}.incident-form-page .linked-jump-data .party-item .party-uspa{font-size:.75rem;color:var(--text-muted)}.incident-form-page .linked-jump-data .jump-notes-section{margin-bottom:20px}.incident-form-page .linked-jump-data .jump-media-section{display:block;margin-top:20px;width:100%;max-width:100%;box-sizing:border-box}.incident-form-page .linked-jump-data .jump-notes-section h4,.incident-form-page .linked-jump-data .jump-media-section h4{margin:0 0 12px;font-size:.9375rem;color:var(--text-tertiary)}.incident-form-page .linked-jump-data .notes-list{display:flex;flex-direction:column;gap:10px}.incident-form-page .linked-jump-data .jump-note{padding:12px;border-radius:6px;background:var(--bg-surface-alt);border-left:3px solid #6c757d}.incident-form-page .linked-jump-data .jump-note.instructor_feedback{border-left-color:#4361ee;background:#f0f4ff}.incident-form-page .linked-jump-data .jump-note.student_feedback{border-left-color:#28a745;background:#f0fff4}.incident-form-page .linked-jump-data .jump-note.freefall{border-left-color:#6f42c1;background:#f5f0ff}.incident-form-page .linked-jump-data .jump-note.canopy{border-left-color:#17a2b8;background:#f0faff}.incident-form-page .linked-jump-data .jump-note.landing{border-left-color:#6c757d;background:#f5f5f5}.incident-form-page .linked-jump-data .jump-note.exit{border-left-color:#20c997;background:#f0fff8}.incident-form-page .linked-jump-data .note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.incident-form-page .linked-jump-data .note-type{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.incident-form-page .linked-jump-data .jump-note.instructor_feedback .note-type{color:#4361ee}.incident-form-page .linked-jump-data .jump-note.student_feedback .note-type{color:#28a745}.incident-form-page .linked-jump-data .note-author{font-size:.8125rem;color:var(--text-muted)}.incident-form-page .linked-jump-data .note-content{font-size:.9375rem;color:var(--text-tertiary);line-height:1.5;white-space:pre-wrap}.incident-form-page .linked-jump-data .media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.incident-form-page .linked-jump-data .media-item{border-radius:6px;overflow:hidden;background:var(--bg-surface-alt)}.incident-form-page .video-container{display:block;width:100%;margin-bottom:16px;box-sizing:border-box}.incident-form-page .video-embed{position:relative!important;width:100%!important;aspect-ratio:16 / 9!important;border-radius:6px;overflow:hidden;height:auto!important;padding-bottom:0!important}.incident-form-page .video-embed iframe{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;border:none;border-radius:6px}.incident-form-page .linked-jump-data .media-item img{width:100%;height:100px;object-fit:cover;display:block}.incident-form-page .linked-jump-data .video-placeholder{width:100%;height:100px;background:#e9ecef;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.875rem}.incident-form-page .linked-jump-data .photo-link{text-decoration:none}.incident-form-page .linked-jump-data .photo-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px;background:var(--bg-surface-alt);border:2px dashed var(--border-default);border-radius:6px;transition:all .15s ease;min-height:80px}.incident-form-page .linked-jump-data .photo-card:hover{background:#e9ecef;border-color:#4361ee}.incident-form-page .linked-jump-data .photo-card .photo-icon{font-size:1.25rem}.incident-form-page .linked-jump-data .photo-card .photo-text{font-size:.8125rem;color:#4361ee;font-weight:500}.incident-form-page .linked-jump-data .media-category{display:inline-block;font-size:.6875rem;font-weight:600;text-transform:uppercase;padding:2px 6px;background:#e9ecef;color:var(--text-tertiary);margin:6px}.incident-form-page .linked-jump-data .media-description{font-size:.8125rem;color:var(--text-muted);padding:0 6px 6px}.incident-form-page .form-progress{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:32px;padding:20px;background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-sm)}.incident-form-page .progress-step{display:flex;flex-direction:column;align-items:center;gap:4px}.incident-form-page .progress-step .step-number{width:32px;height:32px;border-radius:50%;background:#e9ecef;color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.incident-form-page .progress-step.active .step-number{background:#4361ee;color:#fff}.incident-form-page .progress-step .step-label{font-size:.75rem;color:var(--text-muted)}.incident-form-page .progress-step.active .step-label{color:#4361ee;font-weight:500}.incident-form-page .progress-line{width:60px;height:2px;background:#e9ecef}.incident-form-page .form-step{background:var(--bg-surface);border-radius:8px;padding:24px;box-shadow:var(--shadow-sm)}.incident-form-page .form-step h2{margin:0 0 8px;font-size:1.25rem;color:var(--text-primary)}.incident-form-page .step-description{color:var(--text-muted);margin-bottom:24px}.incident-form-page .step-header{margin-bottom:24px}.incident-form-page .step-header .btn-link{background:none;border:none;color:#4361ee;cursor:pointer;padding:0;font-size:.875rem;margin-bottom:8px;display:block}.incident-form-page .incident-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.incident-form-page .type-card{background:var(--bg-surface);border:2px solid #e9ecef;border-radius:8px;padding:20px;text-align:left;cursor:pointer;transition:all .15s ease}.incident-form-page .type-card:hover{border-color:#4361ee;box-shadow:0 4px 12px #4361ee26}.incident-form-page .type-card.selected{border-color:#4361ee;background:#f8f9ff}.incident-form-page .type-card .type-checkbox{width:22px;height:22px;border:2px solid var(--border-default);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;color:#fff;background:var(--bg-input);margin-bottom:8px;transition:all .15s ease}.incident-form-page .type-card.selected .type-checkbox{background:#4361ee;border-color:#4361ee}.incident-form-page .type-card .type-label{font-weight:600;font-size:1rem;color:var(--text-primary);margin-bottom:4px}.incident-form-page .type-card .type-description{font-size:.875rem;color:var(--text-muted);margin-bottom:12px}.incident-form-page .type-card .type-form-tag{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:500}.incident-form-page .type-card.full .type-form-tag{background:#ffeeba;color:#856404}.incident-form-page .type-card.simple .type-form-tag{background:#d4edda;color:#155724}.incident-form-page .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.incident-form-page .form-group{display:flex;flex-direction:column;gap:6px}.incident-form-page .form-group.full-width{grid-column:1 / -1}.incident-form-page .form-group label{font-weight:500;color:var(--text-tertiary);font-size:.875rem}.incident-form-page .form-group input,.incident-form-page .form-group select,.incident-form-page .form-group textarea{padding:10px 12px;border:1px solid var(--border-default);border-radius:6px;font-size:.9375rem;background:var(--bg-input);color:var(--text-primary);transition:border-color .15s ease}.incident-form-page .form-group input:focus,.incident-form-page .form-group select:focus,.incident-form-page .form-group textarea:focus{outline:none;border-color:#4361ee;box-shadow:0 0 0 3px #4361ee1a}.incident-form-page .form-group textarea{resize:vertical;min-height:100px}.incident-form-page .form-help{font-size:.8125rem;color:var(--text-muted)}.incident-form-page .info-box{background:#e7f5ff;border:1px solid #a5d8ff;border-radius:6px;padding:16px;margin-bottom:24px}.incident-form-page .info-box p{margin:0;color:#1971c2;font-size:.9375rem}.incident-form-page .form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid var(--border-light)}.incident-form-page .btn{padding:10px 20px;border-radius:6px;font-weight:500;cursor:pointer;border:none;font-size:.9375rem;transition:all .15s ease}.incident-form-page .btn:disabled{opacity:.6;cursor:not-allowed}.incident-form-page .btn-primary{background:var(--gradient-primary);color:#fff}.incident-form-page .btn-primary:hover:not(:disabled){background:var(--gradient-primary);outline:2px solid var(--color-accent);outline-offset:2px}.incident-form-page .btn-secondary{background:#6c757d;color:#fff}.incident-form-page .btn-secondary:hover:not(:disabled){background:#5a6268}.incident-form-page .alert{padding:12px 16px;border-radius:6px;margin-bottom:16px}.incident-form-page .alert-error{background:var(--status-danger-bg);color:var(--status-danger-text);border:1px solid #f5c2c7}.incident-form-page .access-denied{text-align:center;padding:60px 20px;background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-sm)}.incident-form-page .access-denied h2{color:#dc3545;margin-bottom:12px}.incident-form-page .user-search-group{margin-bottom:24px}.incident-form-page .user-search-input-wrapper{display:flex;gap:8px}.incident-form-page .user-search-input-wrapper input{flex:1;padding:10px 12px;border:1px solid var(--border-default);border-radius:6px;font-size:.9375rem;background:var(--bg-input);color:var(--text-primary)}.incident-form-page .btn-clear-user{padding:8px 16px;background:#e9ecef;border:none;border-radius:6px;cursor:pointer;font-size:.875rem}.incident-form-page .btn-clear-user:hover{background:var(--border-default)}.incident-form-page .user-search-results{margin-top:8px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:6px;max-height:200px;overflow-y:auto}.incident-form-page .user-search-result{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;text-align:left;background:none;border:none;border-bottom:1px solid var(--border-light);cursor:pointer;font-size:.9375rem;color:var(--text-primary)}.incident-form-page .user-search-result:last-child{border-bottom:none}.incident-form-page .user-search-result:hover{background:var(--bg-surface-alt)}.incident-form-page .uspa-tag{font-size:.75rem;color:var(--text-muted);background:#e9ecef;padding:2px 8px;border-radius:4px}.incident-form-page .radio-info-section{margin-top:24px;padding:20px;background:var(--bg-surface-alt);border-radius:8px}.incident-form-page .radio-info-section h3{margin:0 0 16px;font-size:1rem;color:var(--text-tertiary)}.incident-form-page .equipment-section{margin-top:32px;padding-top:24px;border-top:2px solid #e9ecef}.incident-form-page .equipment-section h3{margin:0 0 8px;font-size:1.125rem;color:var(--text-primary)}.incident-form-page .equipment-subsection{margin-top:20px;padding:16px;background:var(--bg-surface-alt);border-radius:8px}.incident-form-page .equipment-subsection h4{margin:0 0 16px;font-size:.9375rem;color:var(--text-tertiary);font-weight:600}.incident-form-page .radio-buttons{display:flex;gap:8px}.incident-form-page .radio-btn{padding:8px 20px;border:2px solid var(--border-default);background:var(--bg-input);border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-primary);transition:all .15s ease}.incident-form-page .radio-btn:hover{border-color:#4361ee}.incident-form-page .radio-btn.selected{background:#4361ee;border-color:#4361ee;color:#fff}@media(max-width:640px){.incident-form-page .form-grid{grid-template-columns:1fr}.incident-form-page .form-progress{flex-wrap:wrap;gap:16px}.incident-form-page .progress-line{display:none}.incident-form-page .form-actions{flex-direction:column}.incident-form-page .form-actions .btn{width:100%}}.incident-detail-page{padding:20px;max-width:1000px;margin:0 auto}.incident-detail-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.incident-detail-page .header-left{display:flex;flex-direction:column;gap:8px}.incident-detail-page .back-link{color:#4361ee;text-decoration:none;font-size:.875rem}.incident-detail-page .back-link:hover{text-decoration:underline}.incident-detail-page .page-header h1{margin:0;font-size:1.75rem;color:var(--text-primary)}.incident-detail-page .header-actions{display:flex;gap:8px}.incident-detail-page .detail-card{background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-sm);margin-bottom:20px}.incident-detail-page .card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-light)}.incident-detail-page .card-header h2{margin:0;font-size:1.125rem;color:var(--text-secondary)}.incident-detail-page .card-body{padding:20px}.incident-detail-page .badges{display:flex;flex-wrap:wrap;gap:8px}.incident-detail-page .type-badge,.incident-detail-page .status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.incident-detail-page .severity-badge{display:inline-block;padding:2px 8px;background:#fee2e2;color:#dc2626;border-radius:4px;font-weight:500;text-transform:capitalize}.incident-detail-page .info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.incident-detail-page .info-item{display:flex;flex-direction:column;gap:4px}.incident-detail-page .info-item label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.incident-detail-page .info-item span{font-size:.9375rem;color:var(--text-primary)}.incident-detail-page .description-text{white-space:pre-wrap;line-height:1.6;color:var(--text-tertiary)}.incident-detail-page .description-text.speculation{background:#fff8e1;padding:16px;border-radius:6px;border-left:4px solid #ffc107}.incident-detail-page .status-actions{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-light);display:flex;align-items:center;gap:12px}.incident-detail-page .status-actions label{font-weight:500;color:var(--text-tertiary)}.incident-detail-page .status-buttons{display:flex;gap:8px}.incident-detail-page .victims-list{display:flex;flex-direction:column;gap:12px}.incident-detail-page .victim-card{padding:16px;background:var(--bg-surface-alt);border-radius:6px;border-left:3px solid #4361ee}.incident-detail-page .victim-name{font-weight:600;color:var(--text-primary);margin-bottom:8px}.incident-detail-page .victim-details{display:flex;gap:16px;flex-wrap:wrap;font-size:.875rem;color:var(--text-muted)}.incident-detail-page .radio-info{margin-top:8px;font-size:.875rem;color:var(--text-tertiary)}.incident-detail-page .victim-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.incident-detail-page .uspa-badge{background:#e9ecef;color:var(--text-tertiary);padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:500}.incident-detail-page .victim-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:12px}.incident-detail-page .victim-info-grid .info-item{font-size:.875rem}.incident-detail-page .victim-info-grid .info-item label{font-size:.7rem}.incident-detail-page .equipment-details{margin-top:16px;padding-top:16px;border-top:1px dashed var(--border-default)}.incident-detail-page .equipment-details h4{margin:0 0 12px;font-size:.9375rem;color:var(--text-tertiary)}.incident-detail-page .equipment-subsection{margin-bottom:12px;padding:12px;background:var(--bg-surface);border-radius:4px}.incident-detail-page .equipment-subsection h5{margin:0 0 8px;font-size:.8125rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.incident-detail-page .equipment-grid{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:.875rem}.incident-detail-page .equipment-grid span{color:var(--text-tertiary)}.incident-detail-page .equipment-grid strong{color:var(--text-muted);font-weight:500}.incident-detail-page .other-info{margin-top:8px;font-size:.875rem;color:var(--text-tertiary)}.incident-detail-page .media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.incident-detail-page .media-item img{width:100%;height:120px;object-fit:cover;border-radius:6px}.incident-detail-page .video-placeholder{width:100%;height:120px;background:#e9ecef;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.incident-detail-page .photo-link{text-decoration:none}.incident-detail-page .photo-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;background:var(--bg-surface-alt);border:2px dashed var(--border-default);border-radius:8px;transition:all .15s ease;min-height:100px}.incident-detail-page .photo-card:hover{background:#e9ecef;border-color:#4361ee}.incident-detail-page .photo-card .photo-icon{font-size:1.5rem}.incident-detail-page .photo-card .photo-text{font-size:.875rem;color:#4361ee;font-weight:500}.incident-detail-page .video-container{width:100%;margin-bottom:16px}.incident-detail-page .video-embed{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:6px}.incident-detail-page .video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:6px}.incident-detail-page .media-description{font-size:.8125rem;color:var(--text-muted);margin-top:4px}.incident-detail-page .history-timeline{display:flex;flex-direction:column;gap:12px}.incident-detail-page .history-entry{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-surface-alt);border-radius:6px}.incident-detail-page .history-action{text-transform:capitalize;font-weight:500;color:var(--text-primary)}.incident-detail-page .history-meta{display:flex;gap:12px;font-size:.8125rem;color:var(--text-muted)}.incident-detail-page .empty-section{color:var(--text-muted);font-style:italic}.incident-detail-page .loading,.incident-detail-page .error-state,.incident-detail-page .access-denied{text-align:center;padding:60px 20px;background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-sm)}.incident-detail-page .error-state h2,.incident-detail-page .access-denied h2{color:#dc3545;margin-bottom:12px}.incident-detail-page .btn{display:inline-block;padding:10px 20px;border-radius:6px;font-weight:500;text-decoration:none;cursor:pointer;border:none;font-size:.875rem;transition:all .15s ease}.incident-detail-page .btn-primary{background:#4361ee;color:#fff}.incident-detail-page .btn-secondary{background:#6c757d;color:#fff}.incident-detail-page .btn-danger{background:#dc3545;color:#fff}.incident-detail-page .btn-info{background:#17a2b8;color:#fff}.incident-detail-page .btn-warning{background:#ffc107;color:var(--text-primary)}.incident-detail-page .btn-success{background:#28a745;color:#fff}.incident-detail-page .btn-sm{padding:6px 12px;font-size:.8125rem}.incident-detail-page .btn:hover{opacity:.9}.incident-detail-page .alert{padding:12px 16px;border-radius:6px;margin-bottom:16px}.incident-detail-page .alert-error{background:var(--status-danger-bg);color:var(--status-danger-text);border:1px solid #f5c2c7}.incident-detail-page .progression-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.incident-detail-page .progression-badge.passed{background:#d4edda;color:#155724}.incident-detail-page .progression-badge.repeat{background:#fff3cd;color:#856404}.incident-detail-page .involved-parties-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-light)}.incident-detail-page .involved-parties-section h4{margin:0 0 12px;font-size:.9375rem;color:var(--text-tertiary)}.incident-detail-page .parties-list{display:flex;flex-wrap:wrap;gap:10px}.incident-detail-page .party-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-surface-alt);border-radius:6px;border-left:3px solid #6c757d}.incident-detail-page .party-item .party-name{font-weight:500;color:var(--text-primary)}.incident-detail-page .party-item .party-role{font-size:.75rem;padding:2px 8px;border-radius:10px;background:#e9ecef;color:var(--text-tertiary);text-transform:capitalize}.incident-detail-page .party-item .party-role.primary{background:#cce5ff;color:#004085}.incident-detail-page .party-item .party-role.instructor{background:#d4edda;color:#155724}.incident-detail-page .party-item .party-role.student{background:#fff3cd;color:#856404}.incident-detail-page .party-item .party-role.videographer{background:#e2d5f1;color:#563d7c}.incident-detail-page .party-item .party-uspa{font-size:.75rem;color:var(--text-muted)}.incident-detail-page .jump-notes-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-light);display:flex;flex-direction:column;gap:12px}.incident-detail-page .jump-notes-section h4{margin:0 0 4px;font-size:.9375rem;color:var(--text-tertiary)}.incident-detail-page .jump-note{padding:12px;border-radius:6px;background:var(--bg-surface-alt);border-left:3px solid #6c757d}.incident-detail-page .jump-note.instructor_feedback{border-left-color:#4361ee;background:#f0f4ff}.incident-detail-page .jump-note.student_feedback{border-left-color:#28a745;background:#f0fff4}.incident-detail-page .jump-note.freefall{border-left-color:#6f42c1;background:#f5f0ff}.incident-detail-page .jump-note.canopy{border-left-color:#17a2b8;background:#f0faff}.incident-detail-page .jump-note.landing{border-left-color:#6c757d;background:#f5f5f5}.incident-detail-page .jump-note.exit{border-left-color:#20c997;background:#f0fff8}.incident-detail-page .note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.incident-detail-page .note-type{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.incident-detail-page .jump-note.instructor_feedback .note-type{color:#4361ee}.incident-detail-page .jump-note.student_feedback .note-type{color:#28a745}.incident-detail-page .note-author{font-size:.8125rem;color:var(--text-muted)}.incident-detail-page .note-content{font-size:.9375rem;color:var(--text-tertiary);line-height:1.5;white-space:pre-wrap}.incident-detail-page .jump-media-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-light)}.incident-detail-page .jump-media-section h4{margin:0 0 12px;font-size:.9375rem;color:var(--text-tertiary)}.incident-detail-page .jump-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.incident-detail-page .jump-media-item{border-radius:8px;overflow:hidden;background:var(--bg-surface-alt)}.incident-detail-page .jump-media-item img,.incident-detail-page .jump-media-item video{width:100%;height:140px;object-fit:cover;display:block}.incident-detail-page .jump-media-info{padding:8px 10px}.incident-detail-page .media-category{display:inline-block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:3px;background:#e9ecef;color:var(--text-tertiary);margin-bottom:4px}.incident-detail-page .jump-media-info .media-description{margin-top:0}.incident-detail-page .linked-jump-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.incident-detail-page .linked-jump-info a{color:#4361ee;text-decoration:none;font-weight:500}.incident-detail-page .linked-jump-info a:hover{text-decoration:underline}@media(max-width:768px){.incident-detail-page .page-header{flex-direction:column;gap:16px}.incident-detail-page .info-grid{grid-template-columns:1fr 1fr}.incident-detail-page .status-actions{flex-direction:column;align-items:flex-start}}.map-terrain-warning{position:absolute;bottom:30px;left:50%;transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:#000c;color:#fbd38d;font-size:.8rem;border-radius:8px;box-shadow:0 2px 8px #0000004d;max-width:calc(100% - 20px);text-align:center}.map-terrain-warning button{background:none;border:none;color:#fbd38d;font-size:1.1rem;cursor:pointer;padding:0;line-height:1;opacity:.7}.map-terrain-warning button:hover{opacity:1}.map-overlay-controls{position:absolute;top:10px;left:10px;z-index:10;display:flex;flex-direction:column;gap:.5rem}.map-overlay-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#ffffffe6;border:none;border-radius:6px;cursor:pointer;box-shadow:0 2px 4px #0000001a;color:#4a5568;transition:background .2s,color .2s}.map-overlay-toggle:hover{background:#fff;color:#2d3748}.map-overlay-toggle.active{background:#4299e1f2;color:#fff}.map-overlay-toggle.active:hover{background:#3182ce}.map-settings-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#ffffffe6;border:none;border-radius:6px;cursor:pointer;box-shadow:0 2px 4px #0000001a;color:#4a5568;transition:background .2s,color .2s}.map-settings-toggle:hover{background:#fff;color:#2d3748}.map-topdown-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#ffffffe6;border:none;border-radius:6px;cursor:pointer;box-shadow:0 2px 4px #0000001a;color:#4a5568;transition:background .2s,color .2s}.map-topdown-btn:hover{background:#fff;color:#2d3748}.map-center-landing-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#ffffffe6;border:none;border-radius:6px;cursor:pointer;box-shadow:0 2px 4px #0000001a;color:#e53e3e;transition:background .2s,color .2s}.map-center-landing-btn:hover{background:#fff;color:#c53030}.map-overlay-toggle{position:relative}.map-btn-badge{position:absolute;top:-4px;right:-4px;background:#e53e3e;color:#fff;font-size:.6rem;font-weight:700;min-width:16px;height:16px;line-height:16px;text-align:center;border-radius:8px;padding:0 3px;pointer-events:none}@keyframes map-btn-spin{to{transform:rotate(360deg)}}.map-btn-spinner{animation:map-btn-spin 1s linear infinite}.map-settings-panel{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.map-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#ffffffe6;border-radius:6px;font-size:.85rem;color:#2d3748;cursor:pointer;box-shadow:0 2px 4px #0000001a;-webkit-user-select:none;user-select:none}.map-toggle:hover{background:#fff}.map-toggle input{cursor:pointer}.map-select{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#ffffffe6;border-radius:6px;font-size:.85rem;color:#2d3748;box-shadow:0 2px 4px #0000001a}.map-select label{font-weight:500}.map-select select{padding:.25rem .5rem;border:1px solid var(--border-default);border-radius:4px;background:var(--bg-surface);font-size:.85rem;color:#2d3748;cursor:pointer}.map-select select:hover{border-color:var(--border-medium)}.gps-viewer-page{padding:2rem;max-width:1400px;margin:0 auto}.gps-viewer-header{margin-bottom:2rem}.gps-viewer-header h1{font-size:2rem;color:var(--text-primary);margin-bottom:.5rem}.gps-viewer-header p{color:var(--text-muted)}.gps-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-default);padding-bottom:.5rem}.gps-tab{padding:.75rem 1.5rem;border:none;background:transparent;color:var(--text-muted);font-size:.95rem;font-weight:500;cursor:pointer;border-radius:8px 8px 0 0;transition:all .2s}.gps-tab:hover:not(:disabled){color:var(--text-tertiary);background:var(--bg-surface-alt)}.gps-tab.active{color:var(--color-primary);background:linear-gradient(135deg,#667eea1a,#764ba21a);border-bottom:2px solid var(--color-primary);margin-bottom:-2px}.gps-tab:disabled{opacity:.5;cursor:not-allowed}.gps-error{background:var(--status-danger-bg);color:var(--status-danger-text);padding:1rem;border-radius:8px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.gps-error button{background:none;border:none;color:var(--status-danger-text);cursor:pointer;font-weight:500}.gps-content{background:var(--bg-surface);border-radius:12px;padding:2rem;box-shadow:var(--shadow-md)}.gps-upload-section{display:flex;flex-direction:column;gap:2rem}.gps-upload-container{width:100%}.gps-upload-zone{border:2px dashed var(--border-medium);border-radius:12px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg-surface-alt)}.gps-upload-zone:hover{border-color:var(--color-primary);background:#667eea0d}.gps-upload-zone.dragging{border-color:var(--color-primary);background:#667eea1a;transform:scale(1.01)}.gps-upload-zone.uploading{cursor:not-allowed}.upload-icon{color:var(--text-muted);margin-bottom:1rem}.upload-text{font-size:1.1rem;color:var(--text-tertiary);margin-bottom:.5rem}.upload-hint{font-size:.9rem;color:var(--text-faint)}.upload-progress{padding:1rem}.upload-spinner{width:40px;height:40px;border:3px solid var(--border-default);border-top-color:var(--color-primary);border-radius:50%;margin:0 auto 1rem;animation:spin 1s linear infinite}.progress-bar{height:4px;background:var(--border-default);border-radius:2px;margin-top:1rem;overflow:hidden}.progress-fill{height:100%;background:var(--gradient-primary);transition:width .3s}.upload-error{margin-top:1rem;padding:.75rem;background:#fed7d7;color:#c53030;border-radius:8px;font-size:.9rem}.upload-result{margin-top:1rem;padding:.75rem 1rem;background:#c6f6d5;border-radius:8px;font-size:.9rem}.upload-result-header{font-weight:600;color:#276749;margin-bottom:.5rem}.upload-result-details{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.result-tag{background:#276749;color:#fff;padding:2px 8px;border-radius:4px;font-size:.8rem;font-weight:500}.result-item{color:#2f855a;font-weight:500}.result-badge{font-size:.8rem;padding:2px 8px;border-radius:4px}.result-badge.created{background:#bee3f8;color:#2b6cb0}.result-badge.linked{background:#e9d8fd;color:#6b46c1}.upload-result.duplicate{background:#fed7d7;border:1px solid #fc8181}.upload-result.duplicate .upload-result-header.warning{color:#c53030}.upload-result.duplicate .low-altitude-msg{color:#9b2c2c}.upload-result.low-altitude{background:#fefcbf;border:1px solid #ecc94b}.upload-result-header.warning{color:#975a16}.low-altitude-msg{color:#744210;font-size:.85rem;margin:.25rem 0 .75rem}.upload-result-actions{display:flex;gap:.5rem}.btn-undo{padding:.4rem 1rem;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;background:#c53030;color:#fff}.btn-undo:hover:not(:disabled){background:#9b2c2c}.btn-undo:disabled{opacity:.6;cursor:not-allowed}.btn-keep{padding:.4rem 1rem;border:1px solid #975a16;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;background:transparent;color:#975a16}.btn-keep:hover{background:#975a161a}.quick-preview{background:var(--bg-surface-alt);padding:1.5rem;border-radius:8px}.quick-preview h3{margin-bottom:.75rem;color:var(--text-secondary)}.quick-preview p{color:var(--text-muted);font-size:.9rem;margin-bottom:.25rem}.btn-view{margin-top:1rem;padding:.75rem 1.5rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.btn-view:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.gps-history-section{min-height:300px}.no-files{text-align:center;padding:3rem;color:var(--text-muted)}.no-files button{margin-top:1rem;padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:8px;cursor:pointer}.gps-file-list{display:flex;flex-direction:column;gap:.75rem}.gps-file-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--bg-surface-alt);border-radius:8px;transition:all .2s}.gps-file-item:hover{background:var(--bg-surface-hover)}.file-info{display:flex;align-items:center;gap:1.5rem}.file-name{font-weight:500;color:var(--text-secondary)}.file-format{padding:.25rem .5rem;background:var(--border-default);border-radius:4px;font-size:.8rem;color:var(--text-tertiary);text-transform:uppercase}.file-date{color:var(--text-muted);font-size:.9rem}.file-stats{color:var(--color-primary);font-size:.9rem}.file-actions{display:flex;gap:.5rem}.btn-load{padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.btn-delete{padding:.5rem 1rem;background:transparent;color:#e53e3e;border:1px solid #e53e3e;border-radius:6px;cursor:pointer;font-size:.9rem}.btn-delete:hover{background:#fed7d7}.gps-viewer-section{display:flex;flex-direction:column;gap:1.5rem}.viewer-controls{display:flex;justify-content:flex-end;gap:1.5rem;padding:.75rem 1rem;background:var(--bg-surface-alt);border-radius:8px}.lead-in-control{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-tertiary)}.lead-in-control input{width:60px;padding:.4rem .5rem;border:1px solid var(--border-default);border-radius:6px;text-align:center;font-size:.9rem}.lead-in-control input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #667eea33}.map-container{border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000026}.flight-marker-popup .mapboxgl-popup-content{background:#1a202cf2;color:#fff;padding:8px 12px;border-radius:6px;font-size:13px;box-shadow:0 4px 12px #0000004d}.flight-marker-popup .mapboxgl-popup-tip{border-top-color:#1a202cf2}.flight-marker-popup strong{color:#90cdf4}.loading-state,.no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--text-muted)}.loading-spinner{width:48px;height:48px;border:4px solid var(--border-default);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.playback-controls{background:#1a202c;border-radius:12px;padding:1rem 1.5rem}.playback-main{display:flex;align-items:center;gap:1rem}.playback-button{background:#2d3748;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:all .2s}.playback-button:hover{background:#4a5568}.playback-button.play{width:48px;height:48px;background:var(--gradient-primary)}.playback-button.play:hover{transform:scale(1.05)}.timeline-container{flex:1;display:flex;flex-direction:column;gap:.5rem}.timeline-track{position:relative;width:100%}.timeline-markers{position:absolute;top:0;left:8px;right:8px;height:8px;pointer-events:none}.timeline-marker{position:absolute;width:3px;height:16px;top:-4px;transform:translate(-50%);border-radius:2px;pointer-events:auto;cursor:pointer;z-index:5;transition:transform .15s ease}.timeline-marker:hover{transform:translate(-50%) scaleY(1.3)}.timeline-tooltip{position:absolute;bottom:24px;transform:translate(-50%);background:#1a202cf2;color:#fff;padding:6px 10px;border-radius:6px;font-size:.8rem;white-space:nowrap;z-index:100;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:2px;box-shadow:0 4px 12px #0000004d;animation:tooltipFadeIn .15s ease}.timeline-tooltip:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(26,32,44,.95)}.timeline-tooltip .tooltip-label{font-weight:600;color:#90cdf4}.timeline-tooltip .tooltip-alt{font-size:.75rem;color:#a0aec0}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.timeline-marker.exit{background:#22c55e;height:20px;top:-6px;width:4px}.timeline-marker.deployment{background:#eab308;height:20px;top:-6px;width:4px}.timeline-marker.decision{background:#f97316;height:18px;top:-5px;width:3px}.timeline-marker.pattern{background:#60a5fa;height:14px;top:-3px;width:2px}.timeline-marker.flare{background:#ec4899;height:16px;top:-4px;width:3px;box-shadow:0 0 4px #ec489999}.timeline-marker.aggressive{background:#ef4444;height:20px;top:-6px;width:4px;box-shadow:0 0 6px #ef4444cc;border-radius:1px;animation:pulse-aggressive 1.5s ease-in-out infinite}@keyframes pulse-aggressive{0%,to{box-shadow:0 0 6px #ef4444cc}50%{box-shadow:0 0 12px #ef4444}}.timeline-slider{width:100%;height:8px;-webkit-appearance:none;background:#4a5568;border-radius:4px;cursor:pointer}.timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--color-primary);border-radius:50%;cursor:grab}.timeline-info{display:flex;justify-content:space-between;color:#a0aec0;font-size:.85rem}.current-altitude{color:#48bb78;font-weight:500}.altitude-sync-badge{font-size:.75rem;background:#48bb7826;color:#48bb78;padding:1px 8px;border-radius:10px;font-weight:600;letter-spacing:.3px}.speed-selector{display:flex;align-items:center;gap:.5rem;color:#a0aec0;font-size:.9rem}.speed-selector select{background:#2d3748;color:#fff;border:1px solid #4a5568;border-radius:6px;padding:.5rem;cursor:pointer}.playback-shortcuts{display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #2d3748}.shortcut-btn{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.shortcut-btn.exit{background:#22c55e;color:#fff}.shortcut-btn.deployment{background:#eab308;color:#1a202c}.shortcut-btn.landing{background:#ef4444;color:#fff}.shortcut-btn:hover{transform:translateY(-1px)}.flight-stats{background:var(--bg-surface-alt);border-radius:12px;padding:1.5rem}.flight-stats-title{margin-bottom:1rem;color:var(--text-secondary);font-size:1.1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.85rem;color:var(--text-muted)}.stat-value{font-size:1.25rem;font-weight:600;color:var(--text-secondary)}.key-points-legend{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-default)}.key-points-legend h4{margin-bottom:.75rem;color:var(--text-tertiary);font-size:.95rem}.legend-items{display:flex;gap:2rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-tertiary)}.legend-marker{width:12px;height:12px;border-radius:50%}.legend-marker.exit{background:#22c55e}.legend-marker.deployment{background:#eab308}.legend-marker.landing{background:#ef4444}.gps-live-section{min-height:400px;display:flex;align-items:center;justify-content:center}.coming-soon{text-align:center;max-width:400px}.coming-soon h3{color:var(--text-secondary);margin-bottom:1rem}.coming-soon p{color:var(--text-muted);margin-bottom:.5rem}.coming-soon ul{text-align:left;margin-top:1rem;color:var(--text-muted)}.coming-soon li{margin-bottom:.5rem}@media(max-width:768px){.gps-viewer-page{padding:.75rem}.gps-viewer-header{margin-bottom:1rem}.gps-viewer-header h1{font-size:1.4rem}.gps-viewer-header p{font-size:.85rem}.gps-content{padding:0;border-radius:0;background:transparent;box-shadow:none}.gps-tabs{flex-wrap:wrap;gap:.25rem;margin-bottom:1rem}.gps-tab{padding:.5rem .75rem;font-size:.82rem}.view-as-user-bar{flex-direction:column;align-items:stretch;gap:.5rem;padding:.6rem .75rem}.view-as-search{flex-wrap:wrap;gap:.5rem}.view-as-label{margin-right:0;font-size:.8rem}.view-as-select{flex:1 1 100%;max-width:none;font-size:.9rem}.create-user-btn{flex:1 1 100%;text-align:center;padding:.6rem 1rem}.view-as-active{flex-wrap:wrap}.view-as-chip{flex-wrap:wrap;font-size:.8rem}.create-user-form{gap:.6rem}.create-user-form .form-row{flex-direction:column;gap:.6rem}.file-info{flex-direction:column;align-items:flex-start;gap:.5rem}.gps-file-item{flex-direction:column;gap:1rem}.viewer-controls{flex-wrap:wrap;gap:.75rem;padding:.6rem .75rem}.loaded-tracks-bar{flex-direction:column;gap:.5rem;text-align:center}.playback-main{flex-wrap:wrap}.timeline-container{order:3;width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)}.gps-upload-zone{padding:2rem 1rem}.jump-log-table th{white-space:normal}.jump-log-table th,.jump-row td{padding:.45rem .2rem;font-size:.82rem}.embedded-map-container{min-width:unset}.gps-viewer-embedded{border-radius:0;border:none}.expanded-content{padding:0}.expanded-content .metrics-detail{padding:.75rem}.metrics-detail{gap:.75rem;margin-bottom:.75rem}}.loaded-tracks-bar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:8px;margin-bottom:1rem}.loaded-tracks-bar span{font-weight:500;color:var(--text-tertiary)}.btn-clear-all{padding:.5rem 1rem;background:transparent;color:#e53e3e;border:1px solid #e53e3e;border-radius:6px;cursor:pointer;font-size:.85rem}.btn-clear-all:hover{background:#fed7d7}.gps-file-item.loaded{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid rgba(102,126,234,.3)}.track-color-indicator{width:8px;height:40px;border-radius:4px;margin-right:.75rem;flex-shrink:0}.btn-remove{padding:.5rem 1rem;background:transparent;color:#e53e3e;border:1px solid #e53e3e;border-radius:6px;cursor:pointer;font-size:.9rem}.btn-remove:hover{background:#fed7d7}.track-legend{display:flex;flex-wrap:wrap;gap:.75rem;padding:.75rem 1rem;background:var(--bg-surface-alt);border-radius:8px;margin-bottom:1rem}.track-legend-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:var(--bg-surface);border-radius:6px;box-shadow:var(--shadow-sm)}.track-legend-color{width:16px;height:16px;border-radius:4px;border:2px solid rgba(0,0,0,.2)}.track-legend-name{font-size:.85rem;color:var(--text-tertiary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-legend-remove{background:none;border:none;color:var(--text-faint);font-size:1.2rem;cursor:pointer;padding:0;line-height:1;margin-left:.25rem}.track-legend-remove:hover{color:#e53e3e}.track-canopy-select{font-size:.8rem;padding:.2rem .4rem;border:1px solid var(--border-default);border-radius:4px;background:var(--bg-surface-alt);color:var(--text-tertiary);max-width:120px;cursor:pointer}.track-canopy-select:hover{border-color:var(--color-primary)}.track-canopy-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #667eea33}.viewer-controls-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:.75rem 1rem;background:var(--bg-surface-alt);border-radius:8px;margin-bottom:1rem}.viewer-controls-bar .track-legend{margin-bottom:0;padding:0;background:transparent;flex:1}.canopy-selector-viewer{display:flex;align-items:center;gap:.5rem;background:var(--bg-surface);padding:.4rem .75rem;border-radius:6px;box-shadow:var(--shadow-sm)}.canopy-selector-viewer label{font-size:.85rem;color:var(--text-tertiary);font-weight:500}.canopy-selector-viewer select{border:1px solid var(--border-default);border-radius:4px;padding:.3rem .5rem;font-size:.85rem;background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;max-width:200px}.canopy-selector-viewer select:hover{border-color:var(--border-medium)}.canopy-selector-viewer select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #667eea33}.canopy-selector-viewer .loading-text,.canopy-selector-viewer .no-canopies{font-size:.85rem;color:var(--text-muted)}.insight-import-container{max-width:800px;margin:0 auto}.import-progress{display:flex;align-items:center;justify-content:center;margin-bottom:2rem;padding:1rem 0}.progress-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.5}.progress-step.active,.progress-step.completed{opacity:1}.progress-step .step-number{width:32px;height:32px;border-radius:50%;background:var(--border-default);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-muted)}.progress-step.active .step-number{background:var(--color-primary);color:#fff}.progress-step.completed .step-number{background:#48bb78;color:#fff}.progress-step .step-label{font-size:.85rem;color:var(--text-muted)}.progress-step.active .step-label{color:var(--text-secondary);font-weight:500}.progress-line{flex:1;height:2px;background:var(--border-default);margin:0 1rem;max-width:80px}.import-step{text-align:center}.import-step h3{font-size:1.25rem;color:var(--text-secondary);margin-bottom:.5rem}.import-step .step-description{color:var(--text-muted);margin-bottom:1.5rem}.import-error{background:#fed7d7;color:#c53030;padding:1rem;border-radius:8px;margin-bottom:1rem}.import-success{background:#c6f6d5;color:#276749;padding:1rem;border-radius:8px;margin-bottom:1rem}.preview-summary{display:flex;justify-content:center;gap:2rem;margin-bottom:1.5rem}.summary-stat{display:flex;flex-direction:column;align-items:center;padding:1rem 1.5rem;border-radius:8px;background:var(--bg-surface-alt)}.summary-stat .stat-value{font-size:2rem;font-weight:700;color:var(--text-secondary)}.summary-stat .stat-label{font-size:.85rem;color:var(--text-muted)}.summary-stat.new .stat-value{color:#48bb78}.summary-stat.duplicate .stat-value{color:#ed8936}.summary-stat.invalid .stat-value{color:#e53e3e}.preview-options{margin-bottom:1rem}.checkbox-label{display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;color:var(--text-tertiary)}.checkbox-label input{width:18px;height:18px}.preview-table-container{max-height:400px;overflow-y:auto;margin-bottom:1.5rem;border:1px solid var(--border-default);border-radius:8px}.preview-table{width:100%;border-collapse:collapse;font-size:.9rem}.preview-table th{background:var(--bg-surface-alt);padding:.75rem .5rem;text-align:left;font-weight:600;color:var(--text-tertiary);border-bottom:2px solid var(--border-default);position:sticky;top:0}.preview-table td{padding:.5rem;border-bottom:1px solid var(--border-default)}.preview-table tr.status-duplicate{background:#fffaf0}.preview-table tr.status-error{background:#fff5f5}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.new{background:#c6f6d5;color:#276749}.status-badge.duplicate{background:#feebc8;color:#c05621}.status-badge.error{background:#fed7d7;color:#c53030}.table-note{color:var(--text-muted);font-size:.85rem;padding:.5rem;text-align:center}.gps-file-list{text-align:left;margin:1.5rem 0;padding:1rem;background:var(--bg-surface-alt);border-radius:8px}.gps-file-list h4{margin-bottom:.5rem;color:var(--text-secondary)}.gps-file-list ul{list-style:none;padding:0;margin:0;max-height:200px;overflow-y:auto}.gps-file-list li{display:flex;justify-content:space-between;align-items:center;padding:.5rem;border-bottom:1px solid var(--border-default)}.gps-file-list li:last-child{border-bottom:none}.gps-file-list .filename{font-family:monospace;font-size:.9rem;color:var(--text-tertiary)}.btn-remove{background:none;border:none;color:#e53e3e;cursor:pointer;font-size:1rem;padding:.25rem .5rem}.btn-remove:hover{background:#fed7d7;border-radius:4px}.upload-progress-container{margin:1.5rem 0;padding:1rem;background:var(--bg-surface-alt);border-radius:8px}.upload-progress-info{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.9rem;color:var(--text-tertiary)}.upload-progress-bar{height:8px;background:var(--border-default);border-radius:4px;overflow:hidden}.upload-progress-fill{height:100%;background:var(--color-primary, #4299e1);border-radius:4px;transition:width .2s ease}.step-actions{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem}.btn-primary{background:var(--color-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){background:var(--color-primary);outline:2px solid var(--color-accent);outline-offset:2px}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-surface);color:var(--text-tertiary);border:1px solid var(--border-default);padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--bg-surface-alt);border-color:var(--border-medium)}.complete-summary{margin:2rem 0}.result-section{margin-bottom:1.5rem}.result-section h4{margin-bottom:.75rem;color:var(--text-secondary)}.result-stats{display:flex;justify-content:center;gap:1rem}.result-stat{padding:1rem 1.5rem;border-radius:8px;text-align:center}.result-stat.success{background:#c6f6d5}.result-stat.skipped{background:var(--border-default)}.result-stat.warning{background:#feebc8}.result-stat.error{background:#fed7d7}.result-stat .stat-value{font-size:1.5rem;font-weight:700;color:var(--text-secondary)}.result-stat .stat-label{font-size:.85rem;color:var(--text-tertiary)}.jump-log-container{width:100%}.jump-log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.jump-log-header h3{font-size:1.1rem;color:var(--text-secondary);margin:0}.btn-refresh{background:var(--bg-surface);border:1px solid var(--border-default);padding:.5rem;border-radius:6px;cursor:pointer;color:var(--text-muted);transition:all .2s}.btn-refresh:hover{background:var(--bg-surface-alt);color:var(--text-tertiary)}.btn-refresh:disabled{opacity:.5;cursor:not-allowed}.jump-log-loading,.jump-log-error,.jump-log-empty{text-align:center;padding:3rem;color:var(--text-muted)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-default);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}.jump-log-empty .empty-icon{color:var(--border-medium);margin-bottom:1rem}.jump-log-empty h3{color:var(--text-tertiary);margin-bottom:.5rem}.jump-log-table-wrapper{overflow-x:auto;border:1px solid var(--border-default);border-radius:8px}.jump-log-table{width:100%;border-collapse:collapse;font-size:.9rem}.jump-log-table th{background:var(--bg-surface-alt);padding:.75rem .5rem;text-align:left;font-weight:600;color:var(--text-tertiary);border-bottom:2px solid var(--border-default);white-space:nowrap}.jump-log-table th.col-exit,.jump-log-table th.col-open,.jump-log-table th.col-ff,.jump-log-table th.col-cp,.jump-log-table th.col-gps{text-align:right}.date-separator-row td{padding:.5rem .5rem .3rem;border-bottom:1px solid var(--border-default);background:var(--bg-surface-alt)}.date-separator-label{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.jump-row{cursor:pointer;transition:background .15s}.jump-row:hover{background:var(--bg-surface-alt)}.jump-row.expanded{background:#667eea14}.jump-row.has-gps{font-weight:500}.jump-row td{padding:.75rem .5rem;border-bottom:1px solid var(--border-default)}.jump-row td.col-exit,.jump-row td.col-open,.jump-row td.col-ff,.jump-row td.col-cp,.jump-row td.col-gps{text-align:right}.jump-row td.col-jump{font-weight:600;color:var(--text-secondary)}.expand-icon{display:inline-block;width:16px;font-size:.7rem;color:var(--text-muted)}.jump-time{display:block;font-size:.8rem;color:var(--text-faint)}.gps-badge{display:inline-flex;align-items:center;justify-content:center}.gps-badge.has-gps{color:#48bb78}.gps-badge.no-gps{color:var(--border-medium)}.add-to-viewer-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1.5px solid #48bb78;background:transparent;color:#48bb78;cursor:pointer;padding:0;transition:all .15s ease}.add-to-viewer-btn:hover{background:#48bb7826;transform:scale(1.1)}.add-to-viewer-btn.loaded{background:#48bb78;color:#fff;border-color:#48bb78;cursor:default}.add-to-viewer-btn.loaded:hover{transform:none}.col-actions{width:32px;text-align:center}.delete-entry-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-tertiary, #999);cursor:pointer;padding:0;transition:all .15s;opacity:0}.jump-row:hover .delete-entry-btn{opacity:1}.delete-entry-btn:hover{background:#e53e3e1a;color:#e53e3e;border-color:#e53e3e4d}.expanded-row{background:var(--bg-surface-alt)}.expanded-row td{padding:0;border-bottom:1px solid var(--border-default);width:100%}.expanded-row td>.expanded-content{min-width:100%}.expanded-content{padding:1.5rem;width:100%;box-sizing:border-box}.metrics-detail{display:flex;gap:2rem;margin-bottom:1.5rem;flex-wrap:wrap}.metric-group{flex:1;min-width:200px;background:var(--bg-surface);border-radius:8px;padding:1rem;border:1px solid var(--border-default)}.metric-group h4{font-size:.9rem;color:var(--text-muted);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.metric-items{display:flex;flex-direction:column;gap:.5rem}.metric-item{display:flex;justify-content:space-between}.metric-item .label{color:var(--text-muted);font-size:.9rem}.metric-item .value{font-weight:600;color:var(--text-secondary)}.metric-group .edit-equipment-btn{padding:.1rem .5rem;font-size:.65rem;background:none;color:var(--text-muted);border:1px solid var(--border-default);border-radius:4px;cursor:pointer;transition:all .15s;margin-left:.5rem;vertical-align:middle}.metric-group .edit-equipment-btn:hover{background:var(--bg-surface-alt);color:var(--text-secondary)}.metric-group .equipment-edit-form{padding:.75rem;background:var(--bg-surface-alt);border-radius:6px;border:1px solid var(--border-default)}.metric-group .equipment-select{width:100%;padding:.5rem;font-size:.875rem;border:1px solid var(--border-default);border-radius:4px;background:var(--bg-surface);color:var(--text-primary);margin-bottom:.75rem}.metric-group .equipment-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #4299e133}.metric-group .equipment-edit-actions{display:flex;gap:.5rem}.metric-group .equipment-edit-actions .btn-save{padding:.375rem 1rem;font-size:.875rem;background:var(--accent-primary);color:#fff;border:none;border-radius:4px;cursor:pointer}.metric-group .equipment-edit-actions .btn-save:disabled{opacity:.6;cursor:not-allowed}.metric-group .equipment-edit-actions .btn-cancel{padding:.375rem 1rem;font-size:.875rem;background:var(--bg-surface-alt);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:4px;cursor:pointer}.metric-group .equipment-loading,.metric-group .equipment-error{padding:.5rem;font-size:.875rem;text-align:center}.metric-group .equipment-error{color:var(--error-text, #e53e3e)}.gps-viewer-embedded{background:var(--bg-surface);border-radius:8px;border:1px solid var(--border-default);margin-bottom:1rem}.gps-loading,.gps-error,.no-gps-message{text-align:center;padding:2rem;color:var(--text-muted)}.no-gps-message .hint{font-size:.85rem;color:var(--text-faint);margin-top:.5rem}.embedded-map-container{height:500px;width:100%;min-width:800px;position:relative}.gps-map-container{width:100%;position:relative}.gps-map-container.fullscreen{background:#1a1a2e;padding:1rem;display:flex;flex-direction:column;position:fixed;inset:0;z-index:9999;width:100%;height:100%}.gps-fullscreen-btn{position:absolute;top:10px;right:10px;z-index:20;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#ffffffe6;border:none;border-radius:6px;cursor:pointer;box-shadow:0 2px 4px #0003;color:#4a5568;transition:background .2s,color .2s}.gps-fullscreen-btn:hover{background:#fff;color:#2d3748}.gps-map-container.fullscreen .gps-fullscreen-btn{top:1.5rem;right:1.5rem}.embedded-playback-controls{padding:.75rem}.embedded-playback-controls .playback-controls{background:var(--bg-surface-alt);border-radius:8px;padding:.75rem}.gps-map-container .playback-controls{margin-top:.75rem;background:var(--bg-surface-alt);border-radius:8px;padding:.75rem}.gps-map-container.fullscreen .playback-controls{background:#ffffff1a;margin-top:1rem}.gps-map-container.fullscreen .playback-controls .timeline-info,.gps-map-container.fullscreen .playback-controls .speed-selector label{color:#e2e8f0}.embedded-map-container>div{width:100%!important;height:100%!important}.jump-log-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-default)}.btn-page{background:var(--bg-surface);border:1px solid var(--border-default);padding:.5rem 1rem;border-radius:6px;cursor:pointer;color:var(--text-tertiary);font-weight:500;transition:all .2s}.btn-page:hover:not(:disabled){background:var(--bg-surface-alt);border-color:var(--border-medium)}.btn-page:disabled{opacity:.5;cursor:not-allowed}.page-info{color:var(--text-muted);font-size:.9rem}[data-theme=dark] .expanded-row{background:#151e2e}[data-theme=dark] .expanded-content{border-top:1px solid var(--border-default)}[data-theme=dark] .gps-viewer-embedded{background:var(--bg-surface);border-color:var(--border-default)}[data-theme=dark] .metric-group{background:#0f172a;border-color:var(--border-default)}[data-theme=dark] .gps-fullscreen-btn{background:#1e293be6;color:var(--text-secondary);box-shadow:0 2px 4px #0006}[data-theme=dark] .gps-fullscreen-btn:hover{background:#334155;color:var(--text-primary)}[data-theme=dark] .no-gps-message{color:var(--text-muted)}[data-theme=dark] .gps-map-container.fullscreen{background:#0f172a}.view-as-user-bar{margin-bottom:1rem;padding:.75rem 1rem;background:var(--bg-surface-alt, #f8fafc);border:1px solid var(--border-default, #e2e8f0);border-radius:8px;display:flex;align-items:center}.view-as-label{font-size:.85rem;font-weight:600;color:var(--text-muted);margin-right:.75rem;white-space:nowrap}.view-as-active{display:flex;align-items:center;gap:.5rem}.view-as-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .75rem;background:var(--color-primary, #3b82f6);color:#fff;border-radius:20px;font-size:.85rem;font-weight:500}.view-as-email{opacity:.8;font-size:.8rem}.view-as-clear{background:none;border:none;color:#fff;font-size:1.1rem;cursor:pointer;padding:0 .15rem;line-height:1;opacity:.8}.view-as-clear:hover{opacity:1}.view-as-search{display:flex;align-items:center;gap:.5rem;flex:1}.view-as-select{flex:1;max-width:400px;padding:.5rem .75rem;border:1px solid var(--border-default, #e2e8f0);border-radius:6px;font-size:.85rem;background:var(--bg-primary, #fff);color:var(--text-primary);cursor:pointer}.view-as-select:hover{border-color:var(--border-medium, #cbd5e1)}.view-as-select:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 2px #3b82f626}.create-user-btn{padding:.5rem 1rem;background:var(--color-primary, #3b82f6);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s}.create-user-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 2px 8px #3b82f64d}.create-user-form{display:flex;flex-direction:column;gap:1rem}.create-user-form .form-row{display:flex;gap:1rem}.create-user-form .form-row .form-group{flex:1}.create-user-form .form-group{display:flex;flex-direction:column;gap:.35rem}.create-user-form .form-group label{font-size:.85rem;font-weight:600;color:var(--text-tertiary)}.create-user-form .form-group input,.create-user-form .form-group select{padding:.6rem .75rem;border:1px solid var(--border-default, #e2e8f0);border-radius:8px;font-size:.9rem;background:var(--bg-primary, #fff);color:var(--text-primary);transition:border-color .2s}.create-user-form .form-group input:focus,.create-user-form .form-group select:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 2px #3b82f626}.create-user-form .form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.create-user-error{background:#fed7d7;color:#c53030;padding:.75rem 1rem;border-radius:8px;font-size:.9rem}[data-theme=dark] .create-user-error{background:#fed7d71a;color:#fc8181}[data-theme=dark] .create-user-form .form-group input,[data-theme=dark] .create-user-form .form-group select{background:var(--bg-secondary, #1e293b);border-color:var(--border-default, #334155);color:var(--text-primary)}[data-theme=dark] .view-as-user-bar{background:var(--bg-surface-alt, #1e293b);border-color:var(--border-default, #334155)}[data-theme=dark] .view-as-select{background:var(--bg-secondary, #1e293b);border-color:var(--border-default, #334155);color:var(--text-primary)}.email-center{padding:20px;max-width:1400px;margin:0 auto}.email-center-header{margin-bottom:24px}.email-center-header h1{margin:0 0 8px;font-size:28px;color:var(--text-primary)}.email-center-subtitle{margin:0;color:var(--text-tertiary);font-size:14px}.email-center-error{text-align:center;padding:60px 20px;background:var(--bg-surface);border-radius:8px;border:1px solid var(--border-default)}.email-center-error h2{margin:0 0 12px;color:var(--text-primary)}.email-center-error p{margin:0;color:var(--text-tertiary)}.email-center-tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid var(--border-default);padding-bottom:0}.email-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-tertiary);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;margin-bottom:-1px}.email-tab:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.email-tab.active{color:var(--primary-color, #0066cc);border-bottom-color:var(--primary-color, #0066cc)}.email-tab-icon{font-size:16px}.email-center-content{background:var(--bg-surface);border-radius:8px;border:1px solid var(--border-default);padding:24px}.email-composer{min-height:500px}.email-composer-loading{text-align:center;padding:40px;color:var(--text-tertiary)}.email-composer-layout{display:grid;grid-template-columns:1fr 320px;gap:24px}@media(max-width:900px){.email-composer-layout{grid-template-columns:1fr}}.email-composer-main{min-width:0}.email-composer-sidebar{display:flex;flex-direction:column;gap:20px}.email-form-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-default)}.email-form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.email-form-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary)}.email-form-group{margin-bottom:16px}.email-form-group:last-child{margin-bottom:0}.email-form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--text-primary)}.email-form-group input[type=text],.email-form-group input[type=email],.email-form-group input[type=number],.email-form-group input[type=date],.email-form-group input[type=password],.email-form-group select{width:100%;padding:10px 12px;border:1px solid var(--border-medium);border-radius:6px;font-size:14px;background:var(--bg-input);color:var(--text-primary);transition:border-color .2s ease}.email-form-group input:focus,.email-form-group select:focus{outline:none;border-color:var(--primary-color, #0066cc);box-shadow:0 0 0 3px #0066cc1a}.email-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:600px){.email-form-row{grid-template-columns:1fr}}.email-form-hint{display:block;margin-top:4px;font-size:12px;color:var(--text-muted)}.email-nested{margin-left:24px;padding-left:16px;border-left:2px solid var(--border-default);margin-top:12px}.email-checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.email-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.email-checkbox-group{margin-bottom:16px}.email-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.email-editor-header h3{margin:0}.email-content-editor{width:100%;min-height:300px;padding:16px;border:1px solid var(--border-medium);border-radius:6px;font-family:Monaco,Menlo,monospace;font-size:13px;line-height:1.6;resize:vertical;background:var(--bg-input);color:var(--text-primary)}.email-content-editor:focus{outline:none;border-color:var(--primary-color, #0066cc);box-shadow:0 0 0 3px #0066cc1a}.email-content-actions{display:flex;align-items:center;gap:12px;margin-top:12px}.email-media-count{font-size:13px;color:var(--text-tertiary)}.merge-tag-picker{position:relative}.merge-tag-dropdown{position:absolute;top:100%;right:0;z-index:100;width:300px;max-height:350px;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:8px;box-shadow:var(--shadow-lg);margin-top:4px}.merge-tag-header{padding:10px 12px;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-tertiary);background:var(--bg-surface-alt);border-bottom:1px solid var(--border-default)}.merge-tag-list{padding:4px 0}.merge-tag-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:10px 12px;border:none;background:transparent;cursor:pointer;text-align:left}.merge-tag-item:hover{background:var(--bg-surface-hover)}.merge-tag-name{font-family:monospace;font-size:13px;color:var(--primary-color, #0066cc);font-weight:500}.merge-tag-desc{font-size:12px;color:var(--text-tertiary);margin-top:2px}.email-sidebar-section{background:var(--bg-surface-alt);border-radius:8px;padding:16px}.email-sidebar-section h3{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.email-recipient-count{margin-top:12px;padding:10px 12px;background:var(--bg-surface);border-radius:6px;text-align:center;font-size:14px;color:var(--text-primary)}.email-recipient-count strong{font-size:20px;color:var(--primary-color, #0066cc);display:block;margin-bottom:4px}.email-test-send{display:flex;gap:8px;margin-top:12px}.email-test-send input{flex:1;padding:8px 12px;border:1px solid var(--border-medium);border-radius:6px;font-size:13px}.email-divider{border:none;border-top:1px solid var(--border-default);margin:16px 0}.btn-block{width:100%;margin-bottom:8px}.btn-block:last-child{margin-bottom:0}.recipient-selector{font-size:13px}.recipient-filter-group{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-default)}.recipient-filter-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.filter-label{display:block;font-weight:500;margin-bottom:8px;color:var(--text-primary)}.filter-options{display:flex;flex-wrap:wrap;gap:8px}.filter-option{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-surface);border-radius:4px;font-size:12px;cursor:pointer}.filter-option input{cursor:pointer}.filter-hint{display:block;font-size:11px;color:var(--text-muted);margin-top:6px}.currency-filter select{width:100%;padding:8px;border-radius:6px;border:1px solid var(--border-medium);font-size:13px}.email-alert{padding:12px 16px;border-radius:6px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;font-size:14px}.email-alert-error{background:var(--status-danger-bg);color:var(--status-danger-text);border:1px solid #fecaca}.email-alert-success{background:var(--status-success-bg);color:var(--status-success-text);border:1px solid #bbf7d0}.email-alert-close{background:transparent;border:none;cursor:pointer;font-size:16px;opacity:.5}.email-alert-close:hover{opacity:1}.email-loading,.email-empty{text-align:center;padding:40px;color:var(--text-tertiary)}.email-empty p{margin:8px 0}.email-table{width:100%;border-collapse:collapse}.email-table th,.email-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border-default)}.email-table th{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-tertiary);background:var(--bg-surface-alt)}.email-table td{font-size:14px}.email-table tbody tr:hover{background:var(--bg-surface-hover)}.email-templates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.email-templates-filters select{padding:8px 12px;border:1px solid var(--border-medium);border-radius:6px;font-size:14px}.template-name{font-weight:500}.template-subject{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-type-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:capitalize}.template-type-badge.newsletter{background:var(--status-info-bg);color:var(--status-info-text)}.template-type-badge.reservation_confirmation{background:var(--status-success-bg);color:var(--status-success-text)}.template-type-badge.currency_warning{background:var(--status-warning-bg);color:var(--status-warning-text)}.template-type-badge.custom{background:#e5e7eb;color:#374151}.template-actions{display:flex;gap:8px}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:capitalize}.status-badge.active,.status-badge.sent{background:var(--status-success-bg);color:var(--status-success-text)}.status-badge.inactive,.status-badge.failed{background:var(--status-danger-bg);color:var(--status-danger-text)}.status-badge.draft{background:#e5e7eb;color:#374151}.status-badge.queued,.status-badge.pending{background:var(--status-warning-bg);color:var(--status-warning-text)}.status-badge.sending{background:var(--status-info-bg);color:var(--status-info-text)}.status-badge.partial{background:#ffedd5;color:#c2410c}.platform-badge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:500;text-transform:uppercase;background:var(--bg-surface-alt);color:var(--text-tertiary);margin-left:6px}.campaign-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.campaign-history-header h3{margin:0}.campaign-filters select{padding:8px 12px;border:1px solid var(--border-medium);border-radius:6px;font-size:14px}.campaign-name{font-weight:500}.campaign-subject{font-size:12px;color:var(--text-tertiary);margin-top:4px}.campaign-stats-mini{display:flex;gap:8px;font-size:13px}.campaign-stats-mini .stat-opened{color:#059669}.campaign-stats-mini .stat-clicked{color:#2563eb}.campaign-stats-mini .stat-failed{color:#dc2626}.campaign-actions{display:flex;gap:8px}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-default)}.pagination button{padding:8px 16px;border:1px solid var(--border-medium);border-radius:6px;background:var(--bg-surface);cursor:pointer;font-size:14px}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{font-size:14px;color:var(--text-tertiary)}.campaign-detail-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.campaign-detail-header h3{margin:0;flex:1}.campaign-detail-info{background:var(--bg-surface-alt);border-radius:8px;padding:16px;margin-bottom:24px}.info-row{display:flex;gap:12px;margin-bottom:8px}.info-row:last-child{margin-bottom:0}.info-label{font-weight:500;min-width:100px;color:var(--text-tertiary)}.info-value{color:var(--text-primary)}.campaign-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-surface-alt);border-radius:8px;padding:16px;text-align:center}.stat-card.success{background:var(--status-success-bg)}.stat-card.error{background:var(--status-danger-bg)}.stat-value{font-size:28px;font-weight:600;color:var(--text-primary)}.stat-card.success .stat-value{color:#059669}.stat-card.error .stat-value{color:#dc2626}.stat-label{font-size:12px;color:var(--text-tertiary);margin-top:4px}.campaign-recipients h4{margin:0 0 16px}.email-settings{max-width:800px}.settings-section{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid var(--border-default)}.settings-section:last-child{border-bottom:none}.settings-section h3{margin:0 0 16px;font-size:18px;font-weight:600}.settings-actions{margin-top:24px}.smtp-status{padding:16px;border-radius:8px;margin-bottom:16px}.smtp-status.connected{background:var(--status-success-bg);border:1px solid #bbf7d0}.smtp-status.disconnected{background:var(--bg-surface-alt);border:1px solid var(--border-default)}.smtp-status-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.status-indicator{font-weight:600;color:#059669}.smtp-host{font-family:monospace;font-size:13px;color:var(--text-tertiary)}.smtp-connected-date{font-size:12px;color:var(--text-tertiary)}.smtp-actions{display:flex;gap:8px}.smtp-form{background:var(--bg-surface-alt);border-radius:8px;padding:20px;margin-top:16px}.smtp-form-actions{display:flex;gap:12px;margin-top:16px}.platform-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.platform-card{padding:16px;border-radius:8px;background:var(--bg-surface-alt);border:1px solid var(--border-default)}.platform-card.connected{background:var(--status-success-bg);border-color:#bbf7d0}.platform-name{font-weight:600;margin-bottom:4px}.platform-status{font-size:13px;color:var(--text-tertiary)}.platform-card.connected .platform-status{color:#059669}.platform-card small{display:block;margin-top:8px;font-size:11px;color:var(--text-muted)}.email-template-editor{max-width:900px}.email-editor-actions{display:flex;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-default)}.modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:var(--bg-surface);border-radius:12px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-default)}.modal-header h2{margin:0;font-size:18px}.modal-close{background:transparent;border:none;font-size:24px;cursor:pointer;color:var(--text-tertiary);padding:0;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid var(--border-default)}.modal-footer-info{flex:1}.modal-footer-actions{display:flex;gap:12px}.caption-hint{font-size:13px;color:var(--text-tertiary);font-style:italic}.media-browser-modal{max-width:1000px}.media-browser-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--bg-surface-alt);border-bottom:1px solid var(--border-default)}.media-browser-toolbar select{padding:8px 12px;border:1px solid var(--border-medium);border-radius:6px;font-size:14px}.media-selected-count{font-size:13px;color:var(--text-tertiary)}.media-browser-content{flex:1;overflow-y:auto;padding:20px}.media-loading,.media-error,.media-empty{text-align:center;padding:40px;color:var(--text-tertiary)}.media-grid{display:flex;flex-wrap:wrap;gap:12px}.media-item{position:relative;width:150px;height:120px;border-radius:8px;overflow:hidden;cursor:pointer;border:3px solid transparent;background:var(--border-light)}.media-item:hover,.media-item.selected{border-color:var(--primary-color, #0066cc)}.media-item img{display:block;width:100%;height:100%;object-fit:cover}.media-item-label{position:absolute;bottom:0;left:0;right:0;padding:4px 8px;background:#000000b3;color:#fff;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-item-check{position:absolute;top:8px;left:8px;width:20px;height:20px;background:var(--primary-color, #0066cc);color:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:14px}.email-preview-modal{max-width:800px}.email-preview-info{padding:12px 20px;background:var(--bg-surface-alt);font-size:14px}.email-preview-info p{margin:4px 0}.email-preview-toolbar{display:flex;justify-content:center;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border-default)}.preview-mode-btn{padding:8px 16px;border:1px solid var(--border-medium);border-radius:6px;background:var(--bg-surface);cursor:pointer;font-size:14px}.preview-mode-btn.active{background:var(--primary-color, #0066cc);color:#fff;border-color:var(--primary-color, #0066cc)}.email-preview-frame{padding:20px;background:var(--border-light);display:flex;justify-content:center;min-height:400px;max-height:500px;overflow:auto}.email-preview-frame.desktop .email-preview-container{width:600px}.email-preview-frame.mobile .email-preview-container{width:375px}.email-preview-container{background:var(--bg-surface);border-radius:4px;box-shadow:var(--shadow-sm);overflow:hidden}.email-preview-iframe{width:100%;min-height:400px;border:none}.email-preview-text{margin:0 20px 20px;font-size:13px}.email-preview-text summary{cursor:pointer;padding:8px 0;color:var(--text-tertiary)}.email-preview-text pre{background:var(--bg-surface-alt);padding:16px;border-radius:6px;overflow-x:auto;font-size:12px;margin:8px 0 0}.email-quill-wrapper{border:1px solid var(--border-medium);border-radius:6px;overflow:hidden;background:var(--bg-surface)}.email-quill-wrapper .ql-toolbar{border:none;border-bottom:1px solid var(--border-default);background:var(--bg-surface-alt)}.email-quill-wrapper .ql-container{border:none;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.email-quill-wrapper .ql-editor{min-height:350px;max-height:500px;overflow-y:auto;line-height:1.6}.email-quill-wrapper .ql-editor p{margin-bottom:1em}.email-logo-preview{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;background:var(--bg-surface-alt);border:1px dashed var(--border-medium);border-radius:8px 8px 0 0;border-bottom:none}.email-logo-preview img{max-height:50px;max-width:150px;object-fit:contain}.email-logo-preview span{font-size:12px;color:var(--text-muted);font-style:italic}.email-quill-wrapper .ql-editor img{max-width:100%;height:auto;border-radius:4px}.email-quill-wrapper .ql-editor table{border-collapse:collapse;margin:20px auto}.email-quill-wrapper .ql-editor td{padding:0}.email-quill-wrapper .ql-editor.ql-blank:before{color:var(--text-muted);font-style:normal}.email-editor-actions-top{display:flex;gap:8px}.email-editor-tips{margin-top:12px;padding:12px;background:var(--bg-surface-alt);border-radius:6px;font-size:13px;color:var(--text-tertiary)}.email-editor-tips code{background:var(--bg-surface);padding:2px 6px;border-radius:4px;font-family:monospace;font-size:12px;color:var(--primary-color, #0066cc)}.email-quill-wrapper .ql-toolbar .ql-formats{margin-right:12px}.email-quill-wrapper .ql-toolbar button{width:28px;height:28px}.email-quill-wrapper .ql-toolbar button:hover{background:var(--bg-surface);border-radius:4px}.email-quill-wrapper .ql-toolbar button.ql-active{background:var(--primary-color, #0066cc);border-radius:4px}.email-quill-wrapper .ql-toolbar button.ql-active .ql-stroke{stroke:#fff}.email-quill-wrapper .ql-toolbar button.ql-active .ql-fill{fill:#fff}.email-quill-wrapper .ql-color-picker,.email-quill-wrapper .ql-background{width:auto}.email-quill-wrapper .ql-tooltip{background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:6px;box-shadow:var(--shadow-md);padding:8px 12px}.email-quill-wrapper .ql-tooltip input[type=text]{border:1px solid var(--border-medium);border-radius:4px;padding:6px 10px;font-size:13px}.email-quill-wrapper .ql-tooltip a.ql-action,.email-quill-wrapper .ql-tooltip a.ql-remove{color:var(--primary-color, #0066cc);margin-left:8px}.email-quill-wrapper .ql-editor hr{border:none;border-top:1px solid var(--border-default);margin:24px 0;height:0}.email-quill-wrapper .ql-editor p.ql-align-center a strong,.email-quill-wrapper .ql-editor p.ql-align-center strong a,.email-quill-wrapper .ql-editor .ql-align-center a[href] strong,.email-quill-wrapper .ql-editor .ql-align-center strong a[href]{display:inline-block;padding:12px 24px;background:linear-gradient(135deg,var(--primary-color, #667eea) 0%,var(--secondary-color, #764ba2) 100%);color:#fff!important;text-decoration:none;border-radius:8px;font-weight:600;font-size:14px}.merge-users-page{padding:.25rem 0 1.5rem}.merge-users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.merge-users-header h1{font-size:1.5rem;color:var(--text-primary)}.merge-tabs{display:flex;gap:0;border-bottom:2px solid var(--border-medium);margin-bottom:1.5rem}.merge-tab{padding:.75rem 1.5rem;background:none;border:none;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.merge-tab:hover{color:var(--text-primary)}.merge-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.duplicates-loading,.duplicates-empty{text-align:center;padding:2rem;color:var(--text-muted)}.duplicate-pairs-list{display:flex;flex-direction:column;gap:.75rem}.duplicate-pair-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border-medium);border-radius:8px;transition:box-shadow .2s}.duplicate-pair-card:hover{box-shadow:0 2px 8px #00000014}.dup-user{flex:1;min-width:0}.dup-user-name{font-weight:600;color:var(--text-primary);display:block}.dup-user-meta{font-size:.8rem;color:var(--text-muted)}.dup-score{text-align:center;min-width:60px}.dup-score-value{display:block;font-size:1.25rem;font-weight:700}.dup-score-value.score-high{color:#ef4444}.dup-score-value.score-medium{color:#f59e0b}.dup-score-value.score-low{color:#6b7280}.dup-score-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase}.dup-reasons{display:flex;flex-wrap:wrap;gap:.25rem;min-width:140px}.dup-reason-badge{font-size:.7rem;padding:.15rem .5rem;border-radius:10px;background:#dbeafe;color:#1e40af;white-space:nowrap}.dup-actions{min-width:80px;text-align:right}.manual-merge-section{max-width:700px}.manual-merge-form{display:flex;flex-direction:column;gap:1rem}.manual-merge-row{display:flex;gap:1rem;align-items:flex-end}.manual-merge-row .form-group{flex:1}.manual-merge-row .form-group label{display:block;font-weight:500;margin-bottom:.25rem;color:var(--text-secondary);font-size:.9rem}.manual-merge-row .form-group select,.manual-merge-row .form-group input{width:100%;padding:.5rem .75rem;border:1px solid var(--border-medium);border-radius:6px;font-size:.9rem;background:var(--bg-input);color:var(--text-primary)}.btn-swap{padding:.5rem .75rem;border:1px solid var(--border-medium);border-radius:6px;background:var(--bg-card);cursor:pointer;font-size:1.1rem;color:var(--text-secondary);transition:background .2s;flex-shrink:0}.btn-swap:hover{background:var(--bg-hover)}.merge-selected-indicator{display:block;margin-top:.25rem;font-size:.8rem;font-weight:500;color:#16a34a}.manual-merge-actions{display:flex;gap:.5rem;margin-top:.5rem}.merge-history-list{display:flex;flex-direction:column;gap:.5rem}.merge-history-card{padding:1rem;background:var(--bg-card);border:1px solid var(--border-medium);border-radius:8px}.merge-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.merge-history-header strong{color:var(--text-primary)}.merge-history-date{font-size:.8rem;color:var(--text-muted)}.merge-history-details{font-size:.85rem;color:var(--text-secondary)}.merge-preview-modal{max-width:800px;max-height:85vh;overflow-y:auto}.merge-preview-body{padding:1rem}.merge-direction-banner{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border-medium);border-radius:8px}.merge-user-card{flex:1;display:flex;flex-direction:column;gap:.25rem}.merge-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.merge-primary .merge-label{color:#16a34a}.merge-secondary .merge-label{color:#dc2626}.merge-user-meta{font-size:.8rem;color:var(--text-muted)}.merge-arrow{font-size:1.5rem;color:var(--text-muted);flex-shrink:0}.merge-section{margin-bottom:1.5rem}.merge-section h3{font-size:1rem;color:var(--text-primary);margin-bottom:.5rem}.merge-conflicts{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem}.merge-conflict-item{color:#991b1b;font-size:.9rem;padding:.25rem 0}.merge-warnings{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:1rem}.merge-warning-item{color:#92400e;font-size:.9rem;padding:.25rem 0}.merge-comparison-table,.merge-records-table{width:100%;border-collapse:collapse;font-size:.85rem}.merge-comparison-table th,.merge-comparison-table td,.merge-records-table th,.merge-records-table td{padding:.5rem;text-align:left;border-bottom:1px solid var(--border-medium)}.merge-comparison-table th,.merge-records-table th{font-weight:600;color:var(--text-secondary);font-size:.8rem;text-transform:uppercase}.merge-field-name{font-weight:500;text-transform:capitalize}.merge-empty{color:var(--text-faint);font-style:italic}.merge-choice-cell{display:flex;gap:1rem}.merge-radio{display:flex;align-items:center;gap:.25rem;cursor:pointer;font-size:.85rem}.merge-filled-list{display:flex;flex-wrap:wrap;gap:.5rem}.merge-filled-tag{font-size:.8rem;padding:.25rem .75rem;background:#ecfdf5;color:#065f46;border-radius:12px;border:1px solid #a7f3d0}.merge-preview-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-medium)}@media(max-width:768px){.duplicate-pair-card{flex-direction:column;align-items:stretch}.dup-score{display:flex;align-items:center;gap:.5rem}.dup-actions{text-align:center}.manual-merge-row,.merge-direction-banner{flex-direction:column}.merge-arrow{transform:rotate(-90deg)}.merge-choice-cell{flex-direction:column;gap:.25rem}}[data-theme=dark] .dup-reason-badge{background:#1e3a5f;color:#93c5fd}[data-theme=dark] .merge-conflicts{background:#3b1111;border-color:#7f1d1d}[data-theme=dark] .merge-conflict-item{color:#fca5a5}[data-theme=dark] .merge-warnings{background:#3b2f11;border-color:#92400e}[data-theme=dark] .merge-warning-item{color:#fcd34d}[data-theme=dark] .merge-filled-tag{background:#064e3b;color:#6ee7b7;border-color:#065f46}.notification-bell{position:relative;display:inline-flex;align-items:center}.notification-bell-button{background:none;border:none;cursor:pointer;padding:.5rem;color:inherit;display:flex;align-items:center;justify-content:center;position:relative;border-radius:50%;transition:background-color .2s}.notification-bell-button:hover{background-color:#ffffff1a}.notification-badge{position:absolute;top:0;right:0;background-color:#ef4444;color:#fff;font-size:.65rem;font-weight:600;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.notification-dropdown{position:absolute;top:100%;right:0;width:320px;max-height:400px;background:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden;margin-top:.5rem}.pending-approvals-banner{display:flex;align-items:center;padding:.75rem 1rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:1px solid #f59e0b;cursor:pointer;transition:background .15s}.pending-approvals-banner:hover{background:linear-gradient(135deg,#fde68a,#fcd34d)}.pending-approvals-icon{font-size:1.1rem;margin-right:.5rem;color:#b45309}.pending-approvals-text{flex:1;font-size:.85rem;font-weight:600;color:#92400e}.pending-approvals-arrow{color:#b45309;font-weight:600}.notification-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-default);background:var(--bg-surface-alt)}.notification-header h3{margin:0;font-size:.9rem;font-weight:600;color:var(--text-primary)}.mark-all-read{background:none;border:none;color:#3b82f6;font-size:.8rem;cursor:pointer;padding:0}.mark-all-read:hover{text-decoration:underline}.notification-list{max-height:340px;overflow-y:auto}.notification-loading,.notification-empty{padding:2rem 1rem;text-align:center;color:var(--text-muted);font-size:.9rem}.notification-item{display:flex;align-items:flex-start;padding:.75rem 1rem;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background-color .15s}.notification-item:hover{background-color:var(--bg-surface-alt)}.notification-item.unread{background-color:#eff6ff}.notification-item.unread:hover{background-color:#dbeafe}.notification-content{flex:1;min-width:0}.notification-title{font-weight:600;font-size:.85rem;color:var(--text-primary);margin-bottom:.25rem}.notification-message{font-size:.8rem;color:var(--text-tertiary);line-height:1.4;margin-bottom:.25rem}.notification-time{font-size:.7rem;color:var(--text-faint)}.notification-dot{width:8px;height:8px;background-color:#3b82f6;border-radius:50%;margin-left:.5rem;margin-top:.25rem;flex-shrink:0}.push-notification-toggle{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;border-bottom:1px solid var(--border-default);font-size:.8rem;color:var(--text-muted);background:var(--bg-surface-alt)}.push-toggle-btn{padding:.25rem .75rem;border-radius:12px;border:1px solid var(--border-medium);background:var(--bg-surface-alt);color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all .2s;min-width:40px}.push-toggle-btn:hover:not(:disabled){background:var(--bg-surface-hover);border-color:#9ca3af}.push-toggle-btn.subscribed{background:#10b981;border-color:#10b981;color:#fff}.push-toggle-btn.subscribed:hover:not(:disabled){background:#059669;border-color:#059669}.push-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.push-denied{font-size:.7rem;color:#ef4444;font-style:italic}@media(max-width:480px){.notification-dropdown{width:calc(100vw - 2rem);right:-1rem}}.navbar{background:var(--bg-surface);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.navbar-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between}.navbar-brand{font-size:1.5rem;font-weight:700;color:var(--color-primary);text-decoration:none;transition:color .2s;display:flex;align-items:center;margin-right:2rem}.navbar-brand:hover{color:var(--color-secondary)}.navbar-logo{max-height:40px;max-width:150px;object-fit:contain}.navbar-brand-text{margin-left:.5rem}[data-theme=dark] .navbar-brand-text{text-shadow:0 0 4px rgba(255,255,255,.9)}.navbar-logo+.navbar-brand-text{margin-left:.75rem}.navbar-mobile-menu{display:contents}.navbar-menu{display:flex;gap:2rem;align-items:center}.navbar-link{color:var(--text-tertiary);text-decoration:none;font-weight:500;transition:color .2s;padding:.5rem 0;border-bottom:2px solid transparent}.navbar-link:hover{color:var(--color-primary);border-bottom-color:var(--color-primary)}.navbar-user{display:flex;align-items:center;gap:1rem}.navbar-username{color:var(--text-secondary);font-weight:500}.navbar-role{color:var(--text-muted);font-size:.875rem;font-weight:400;margin-left:.5rem}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.dark-mode-toggle{background:none;border:1px solid var(--border-default);border-radius:8px;padding:.35rem .5rem;cursor:pointer;font-size:1.1rem;line-height:1;transition:background-color .2s,border-color .2s}.dark-mode-toggle:hover{background:var(--bg-surface-hover);border-color:var(--border-medium)}.navbar-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem;z-index:101}.navbar-hamburger span{display:block;width:24px;height:2px;background:var(--text-tertiary);border-radius:2px;transition:transform .3s,opacity .3s}.navbar-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.navbar-hamburger.open span:nth-child(2){opacity:0}.navbar-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:768px){.navbar-container{padding:1rem;flex-wrap:wrap}.navbar-hamburger{display:flex}.navbar-mobile-menu{display:none;width:100%;flex-direction:column;gap:.5rem;padding-top:1rem}.navbar-mobile-menu.open{display:flex}.navbar-menu{flex-direction:column;gap:0;align-items:stretch;width:100%}.navbar-link{padding:.75rem .5rem;border-bottom:1px solid var(--border-default);font-size:1rem}.navbar-link:hover{border-bottom-color:var(--border-default);background:var(--bg-surface-hover)}.navbar-user{padding-top:.75rem;border-top:1px solid var(--border-default);width:100%}.navbar-username{display:block}}.layout{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-page)}.layout-content{flex:1;width:100%;margin:0 auto;padding:.25rem 1.5rem 1.5rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.loading-spinner{width:50px;height:50px;border:4px solid var(--border-default);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-container p{color:var(--text-muted);font-weight:500}@media(max-width:768px){.layout-content{padding:1rem}}:root{--color-primary: #667eea;--color-secondary: #764ba2;--color-accent: #48bb78;--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--color-primary-shadow: rgba(102, 126, 234, .4);--bg-page: #f7fafc;--bg-surface: #ffffff;--bg-surface-hover: #f7fafc;--bg-surface-alt: #f8f9fa;--bg-input: #ffffff;--text-primary: #1a202c;--text-secondary: #2d3748;--text-tertiary: #4a5568;--text-muted: #718096;--text-faint: #a0aec0;--border-default: #e2e8f0;--border-light: #f0f0f0;--border-medium: #d1d5db;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .2);--status-success-bg: #d1fae5;--status-success-text: #065f46;--status-warning-bg: #fef3c7;--status-warning-text: #92400e;--status-danger-bg: #fee2e2;--status-danger-text: #991b1b;--status-info-bg: #dbeafe;--status-info-text: #1e40af;--status-info-border: #93c5fd;--status-success-border: #86efac;--status-warning-border: #fcd34d;--status-danger-border: #fecaca;--badge-neutral-bg: #f3f4f6;--badge-neutral-text: #6b7280;--badge-purple-bg: #ede9fe;--badge-purple-text: #7c3aed;--btn-secondary-bg: #e2e8f0;--btn-secondary-text: #2d3748;--btn-secondary-hover: #cbd5e0;--overlay-bg: rgba(0, 0, 0, .5)}[data-theme=dark]{--bg-page: #0f172a;--bg-surface: #1e293b;--bg-surface-hover: #334155;--bg-surface-alt: #1e293b;--bg-input: #334155;--text-primary: #f1f5f9;--text-secondary: #e2e8f0;--text-tertiary: #cbd5e0;--text-muted: #94a3b8;--text-faint: #64748b;--border-default: #334155;--border-light: #1e293b;--border-medium: #475569;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .5);--status-success-bg: #064e3b;--status-success-text: #6ee7b7;--status-warning-bg: #78350f;--status-warning-text: #fcd34d;--status-danger-bg: #7f1d1d;--status-danger-text: #fca5a5;--status-info-bg: #1e3a5f;--status-info-text: #93c5fd;--status-info-border: #2563eb;--status-success-border: #059669;--status-warning-border: #d97706;--status-danger-border: #dc2626;--badge-neutral-bg: #334155;--badge-neutral-text: #94a3b8;--badge-purple-bg: #2e1065;--badge-purple-text: #c4b5fd;--btn-secondary-bg: #334155;--btn-secondary-text: #e2e8f0;--btn-secondary-hover: #475569;--overlay-bg: rgba(0, 0, 0, .7)}*{margin:0;padding:0;box-sizing:border-box}html{touch-action:manipulation}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-secondary);background-color:var(--bg-page)}input,select,textarea,button{color:inherit}#root{min-height:100vh}.btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--gradient-primary);outline:2px solid var(--color-accent);outline-offset:2px}.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text)}.btn-secondary:hover:not(:disabled){background:var(--btn-secondary-hover)}
