:root{--ink: #0a0a0a;--paper: #fafafa;--amber: #f6be00;--panel: #121212;--hairline: rgba(255, 255, 255, .08);--muted: rgba(255, 255, 255, .55);--dim: rgba(255, 255, 255, .35)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Outfit,system-ui,-apple-system,sans-serif;background:var(--ink);color:var(--paper);font-feature-settings:"ss01","cv11","tnum";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-moz-selection{background:var(--amber);color:var(--ink)}::selection{background:var(--amber);color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.portal-shell{min-height:100%;display:flex;flex-direction:column}.portal-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--hairline);background:#0a0a0ad9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.portal-header .brand{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:-.04em}.portal-header .brand .amber{color:var(--amber);font-weight:800}.portal-header .brand img{width:26px;height:26px;border-radius:6px}.header-logo{width:22px;height:22px;border-radius:5px;flex-shrink:0}.header-title{font-size:15px;font-weight:600;letter-spacing:-.02em}.portal-header .role-pill{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:4px 8px;border-radius:999px;background:#f6be001f;color:var(--amber);border:1px solid rgba(246,190,0,.25)}.portal-header .role-pill.admin{background:#f6be0026;color:var(--amber)}.portal-header .role-pill.atc{background:#64b4ff1f;color:#8ec0ff}.portal-header .role-pill.pilot{background:#9696961f;color:silver}.portal-header .role-pill.student{background:#4ade801f;color:#4ade80}.portal-main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:32px 24px 80px}.portal-section{margin-bottom:48px}.portal-section h2{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin:0 0 16px}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;font-size:13px;font-weight:600;border:1px solid var(--hairline);background:transparent;color:inherit;transition:all .15s ease}.btn:hover{background:#ffffff0d}.btn.amber{background:var(--amber);color:var(--ink);border-color:var(--amber)}.btn.amber:hover{transform:translateY(-1px)}.btn.danger{color:#ff5a5a;border-color:#ff5a5a4d}.btn.danger:hover{background:#ff5a5a1a}.btn:disabled{opacity:.4;cursor:not-allowed}.input,.select{width:100%;background:var(--panel);border:1px solid var(--hairline);color:inherit;padding:9px 12px;border-radius:8px;font-size:13px;outline:none;transition:border-color .15s ease}.input:focus,.select:focus{border-color:var(--amber)}.input::-moz-placeholder{color:var(--dim)}.input::placeholder{color:var(--dim)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.error-banner{background:#ff5a5a14;border:1px solid rgba(255,90,90,.25);color:#ff8a8a;padding:12px 16px;border-radius:10px;font-size:13px;margin-bottom:20px}.notice-banner{background:#f6be0014;border:1px solid rgba(246,190,0,.25);color:var(--amber);padding:12px 16px;border-radius:10px;font-size:13px;margin-bottom:20px}.calendar{border:1px solid var(--hairline);border-radius:14px;overflow:hidden;background:var(--panel)}.calendar-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--hairline)}.calendar-head .month-label{font-size:17px;font-weight:600;letter-spacing:-.02em}.calendar-head .nav-btns{display:flex;gap:6px}.calendar-head .nav-btns button{width:32px;height:32px;border-radius:8px;border:1px solid var(--hairline);background:transparent;color:inherit;display:inline-flex;align-items:center;justify-content:center}.calendar-head .nav-btns button:hover{background:#ffffff0d}.calendar-head .nav-btns button:disabled{opacity:.3;cursor:not-allowed}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--hairline)}.calendar-day-header{padding:10px 12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);border-right:1px solid var(--hairline);background:#ffffff05}.calendar-day-header:last-child{border-right:0}.calendar-cell{min-height:110px;padding:8px;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);background:transparent;cursor:pointer;transition:background .12s ease;display:flex;flex-direction:column;gap:4px;text-align:left;color:inherit;font:inherit}.calendar-cell:hover:not(:disabled){background:#ffffff0a}.calendar-cell:disabled{cursor:default;opacity:.4}.calendar-cell.outside{background:#ffffff04;color:var(--dim)}.calendar-cell.past{opacity:.25}.calendar-cell.today .day-num{color:var(--amber);font-weight:700}.calendar-cell .day-num{font-size:12px;font-weight:500;color:var(--muted)}.calendar-cell .slot-pill{display:block;font-size:10px;padding:3px 6px;border-radius:5px;background:#f6be0026;color:var(--amber);font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.calendar-cell .slot-pill.muted{background:#ffffff0d;color:var(--muted)}.calendar-cell .slot-pill.pill-atc{background:#64b4ff1f;color:#8ec0ff}.calendar-cell .slot-pill.pill-pilot{background:#9696961f;color:silver}.calendar-cell .pill-instructor{display:block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.85;margin-bottom:1px;overflow:hidden;text-overflow:ellipsis}.calendar-cell .pill-time{display:block}.calendar-cell .slot-more{font-size:10px;color:var(--dim);padding:0 6px}.modal-backdrop{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--panel);border:1px solid var(--hairline);border-radius:16px;padding:24px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto}.modal h3{margin:0 0 4px;font-size:17px;font-weight:600;letter-spacing:-.02em}.modal .modal-sub{color:var(--muted);font-size:13px;margin-bottom:20px}.slot-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center;margin-bottom:8px}.slot-row .time-input{background:var(--panel);border:1px solid var(--hairline);color:inherit;padding:8px 10px;border-radius:7px;font-size:13px;font-variant-numeric:tabular-nums;font-family:inherit;outline:none}.slot-row .time-input::-webkit-calendar-picker-indicator{filter:brightness(0) saturate(100%) invert(79%) sepia(67%) saturate(1968%) hue-rotate(358deg) brightness(105%) contrast(104%);cursor:pointer}.slot-row .time-input:focus{border-color:var(--amber)}.slot-row .remove-btn{width:32px;height:32px;border-radius:7px;border:1px solid var(--hairline);background:transparent;color:var(--muted)}.slot-row .remove-btn:hover{color:#ff5a5a;border-color:#ff5a5a4d}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px;padding-top:20px;border-top:1px solid var(--hairline)}.trainer-table{width:100%;border-collapse:collapse;border:1px solid var(--hairline);border-radius:12px;overflow:hidden}.trainer-table th,.trainer-table td{padding:12px 16px;text-align:left;font-size:13px;border-bottom:1px solid var(--hairline)}.trainer-table th{background:#ffffff08;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.trainer-table tr:last-child td{border-bottom:0}.trainer-table tr:hover{background:#ffffff05}.trainer-table .discord-id{font-family:SF Mono,Menlo,monospace;font-size:11px;color:var(--muted)}.trainer-table .role-tag{display:inline-block;padding:3px 8px;border-radius:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;background:#ffffff0f}.trainer-table .role-tag.admin{background:#f6be0026;color:var(--amber)}.trainer-table .role-tag.atc{background:#64b4ff1f;color:#8ec0ff}.trainer-table .role-tag.pilot{background:#9696961f;color:silver}.add-trainer-form{display:grid;grid-template-columns:1.5fr 1fr 1.5fr auto;gap:10px;align-items:end;margin-top:16px;padding-top:16px;border-top:1px solid var(--hairline)}@media(max-width:720px){.add-trainer-form{grid-template-columns:1fr}.calendar-cell{min-height:72px}.calendar-cell .day-num{font-size:11px}.calendar-cell .slot-pill{font-size:9px;padding:2px 4px}.calendar-day-header{font-size:9px;padding:8px 4px}.calendar-grid{font-size:11px}}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden}.login-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% -20%,rgba(246,190,0,.06) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 30% 80%,rgba(100,180,255,.04) 0%,transparent 50%),radial-gradient(ellipse 50% 40% at 70% 90%,rgba(246,190,0,.03) 0%,transparent 50%),var(--ink);pointer-events:none}.login-card{position:relative;background:var(--panel);border:1px solid var(--hairline);border-radius:18px;padding:36px;max-width:420px;width:100%;text-align:center;z-index:1}.login-card h1{font-size:24px;font-weight:700;letter-spacing:-.03em;margin:16px 0 8px}.login-card p{color:var(--muted);font-size:14px;line-height:1.5;margin-bottom:24px}.login-card .logo{width:48px;height:48px;border-radius:12px;margin:0 auto}.user-chip{display:inline-flex;align-items:center;gap:8px;font-size:13px;padding:6px 10px 6px 6px;border-radius:999px;border:1px solid var(--hairline);background:#ffffff08}.user-chip img{width:22px;height:22px;border-radius:50%}.user-chip .cl-userButtonTrigger{padding:0;margin:0;border:none;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;width:22px;height:22px}.user-chip .cl-userButtonAvatarBox{width:22px;height:22px}.empty-state{text-align:center;padding:40px 20px;color:var(--muted);font-size:13px}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.15);border-top-color:var(--amber);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.trainer-picker{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.trainer-chip{padding:6px 12px;border-radius:999px;border:1px solid var(--hairline);background:transparent;color:var(--muted);font-size:12px;font-weight:500}.trainer-chip:hover{background:#ffffff0a;color:inherit}.trainer-chip.active{background:#f6be0026;border-color:#f6be0066;color:var(--amber)}.cl-card,.cl-modalCard,.cl-userButtonPopoverCard{background:#121212!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:12px!important}.cl-userButtonPopoverCard *,.cl-headerTitle,.cl-socialButtonsBlockButtonText,.cl-formFieldLabel,.cl-formFieldLabelRow,.cl-footerActionText{color:#e0e0e0!important}.cl-headerSubtitle,.cl-dividerText,.cl-formFieldHintText,.cl-footerActionText{color:#ffffff8c!important}.cl-formFieldInput,.cl-identityPreviewEditButton,.cl-profileSectionPrimaryButton{background:#1a1a1a!important;border-color:#ffffff14!important;color:#e0e0e0!important}.cl-formFieldInput:focus{border-color:#f6be00!important}.cl-socialButtonsBlockButton{background:#1a1a1a!important;border:1px solid rgba(255,255,255,.08)!important;color:#e0e0e0!important}.cl-socialButtonsBlockButton:hover{background:#222!important}.cl-dividerLine{background:#ffffff14!important}.cl-footerActionLink,.cl-otpIdentityBox{color:#f6be00!important}.cl-userButtonPopoverActions,.cl-userButtonPopoverFooter{border-top-color:#ffffff14!important}.cl-userPreviewMainIdentifier,.cl-userPreviewSecondaryIdentifier{color:#e0e0e0!important}.cl-badge{background:#f6be0026!important;color:#f6be00!important}.cl-alertText,.cl-formWarning{color:#ff5a5a!important}.cl-internal-1hp5nqm,.cl-internal-1d6wv8j{background:transparent!important}.cl-userButtonPopoverItem,.cl-userButtonPopoverItemButton,.cl-userButtonPopoverItemText,.cl-userButtonPopoverItemIcon{color:#e0e0e0!important}.cl-userButtonPopoverItem:hover{background:#ffffff0d!important}.cl-userButtonPopoverItemButton:hover,.cl-userButtonPopoverItemText:hover{color:#fff!important}.cl-avatarBox,.cl-userButtonAvatarBox{width:28px!important;height:28px!important}.cl-userButtonTrigger{border-radius:50%!important}.cl-userPreviewSecondaryIdentifier{color:#ffffff8c!important}
