@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600&family=Montserrat:wght@300;400;500;600&display=swap";html,body,#root{min-height:100%}.login-root{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px}.login-shell{width:min(1120px,100%);display:grid;grid-template-columns:1.15fr .95fr;gap:30px;padding:34px;background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(201,168,76,.08),transparent 72%),linear-gradient(145deg,#ffffff08,#ffffff03),#111111f0;border:1px solid rgba(201,168,76,.18);border-top-color:#c9a84c70;box-shadow:0 30px 120px #0000008c;position:relative;overflow:hidden}.login-shell:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.login-left{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:12px 8px}.login-logo-mark{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(201,168,76,.32)}.login-logo-dot{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));box-shadow:0 0 18px #c9a84c80}.login-brand{margin:6px 0 0;font-family:Cormorant Garamond,serif;font-size:clamp(48px,7vw,72px);line-height:.95;font-weight:300;color:var(--text)}.login-label{margin:0;max-width:420px;color:#f5f0e89e;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.login-right{display:flex;align-items:center;justify-content:flex-end}.login-card{width:min(430px,100%);padding:34px;background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(201,168,76,.05),transparent),#0e0d0bf0;border:1px solid rgba(201,168,76,.18);border-top-color:#c9a84c6b;position:relative}.login-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.login-card-header{display:flex;gap:12px;align-items:flex-start;margin-bottom:22px}.login-card-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gold-dark),var(--gold),var(--gold-light));color:#0d0d0d}.login-title{margin:0;font-family:Cormorant Garamond,serif;font-size:36px;font-weight:300}.login-subtitle{margin:4px 0 0;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#c9a84c80}.login-form{display:flex;flex-direction:column;gap:14px}.form-field{display:flex;flex-direction:column;gap:7px}.field-label{color:#c9a84c9e;font-size:9px;letter-spacing:.25em;text-transform:uppercase}.field-input-wrap{position:relative}.field-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#c9a84c80}.field-input{width:100%;padding:13px 14px 13px 34px;border:1px solid rgba(201,168,76,.2);border-bottom-color:#c9a84c80;background:#00000059;color:var(--text);outline:0}.field-input::placeholder{color:#f5f0e838}.field-input:focus{border-color:var(--gold);background:#c9a84c0d;box-shadow:0 0 0 1px #c9a84c26}.error-text{color:#ffb0a9;font-size:12px}.login-button{margin-top:6px;display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border:0;cursor:pointer;background:linear-gradient(135deg,var(--gold-dark),var(--gold),var(--gold-light),var(--gold));background-size:200% 200%;color:#0d0d0d;font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;clip-path:polygon(12px 0%,100% 0%,calc(100% - 12px) 100%,0% 100%);box-shadow:0 8px 28px #c9a84c4d}.login-button:hover{background-position:100% 50%;transform:translateY(-1px)}.login-meta{color:#f5f0e870;font-size:10px;letter-spacing:.12em}.reveal-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:1px solid rgba(201,168,76,.2);background:transparent;color:#c9a84c8f;cursor:pointer}.reveal-btn:hover{border-color:#c9a84c73;background:#c9a84c14;color:var(--gold-light)}@media(max-width:900px){.login-root{padding:14px}.login-shell{grid-template-columns:1fr;padding:24px}.login-right{justify-content:stretch}.login-card{width:100%;padding:24px}}.pi-root{display:flex;flex-direction:column;gap:12px}.pi-header{display:flex;align-items:center;justify-content:space-between}.pi-title{font-size:18px;font-weight:700}.pi-subtitle{margin-top:4px;opacity:.7;font-size:13px}.pi-grid{display:grid;grid-template-columns:320px 1fr;gap:12px;min-height:540px}.pi-sidebar{border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:10px;overflow:auto}.pi-viewer{border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:10px;display:flex;flex-direction:column;overflow:hidden}.pi-muted{opacity:.7;padding:10px;line-height:1.4}.pi-muted.small{font-size:12px;padding-left:26px}.pi-error{color:#ff6b6b;padding:10px}.pi-folder{margin-bottom:8px}.pi-folder-btn{width:100%;text-align:left;background:transparent;border:none;color:inherit;padding:8px;border-radius:10px;cursor:pointer;display:flex;align-items:center;gap:8px}.pi-folder-btn:hover{background:#ffffff0f}.pi-folder-btn.open{background:#ffffff14}.pi-caret{width:16px;opacity:.8}.pi-folder-name{font-weight:600}.pi-section-label{font-size:12px;opacity:.7;padding:8px 8px 6px}.pi-files{margin-left:18px;display:flex;flex-direction:column;gap:6px;padding:6px 0}.pi-file-btn{text-align:left;background:transparent;border:none;color:inherit;padding:8px 10px;border-radius:10px;cursor:pointer;opacity:.9}.pi-file-btn:hover{background:#ffffff0f}.pi-file-btn.active{background:#00ff8c1f;border:1px solid rgba(0,255,140,.25)}.pi-viewer-top{display:flex;align-items:center;justify-content:space-between;padding:6px 4px 10px;gap:10px}.pi-doc-title{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-open-link{font-size:13px;opacity:.85}.pi-iframe{width:100%;height:100%;border:none;border-radius:10px}.pi-pdfjs{width:100%;height:100%;overflow:hidden;border-radius:10px}.pdf-wrap{padding:12px;border-radius:14px;background:#00000038;border:1px solid rgba(255,255,255,.1)}.pdf-wrap.pdf-dim{background:#00000059}.pdf-wrap.pdf-dim canvas{filter:brightness(.78) contrast(1.08) saturate(.92);border-radius:12px}.pdf-wrap .react-pdf__Page{margin:0 auto 14px}.pdf-wrap .react-pdf__Page__textContent{opacity:.9}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors:active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.admin-root{min-height:100vh;padding:24px;color:var(--text)}.admin-shell{width:min(1380px,100%);margin:0 auto;padding:28px 32px 36px;background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(201,168,76,.08),transparent 75%),linear-gradient(145deg,#ffffff08,#ffffff03),var(--panel-strong);border:1px solid var(--line);border-top-color:#c9a84c73;box-shadow:0 30px 120px #0000008c;position:relative;overflow:hidden}.admin-shell:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--line)}.topbar-left,.topbar-right,.building-select-wrap,.panel-title-wrap,.chip-row,.actions-inline,.slideshow-upload-bar,.load-more-row,.event-actions,.event-meta-line,.topbar-brand,.header-ornament,.training-toolbar,.trainee-meta,.day-header,.check-item,.meta-chip,.form-actions{display:flex;align-items:center}.topbar-left,.topbar-right,.panel-title-wrap,.chip-row,.actions-inline,.event-actions,.trainee-meta{gap:12px}.topbar-brand{flex-direction:column;align-items:flex-start;gap:2px}.logo-dot{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--gold-light),var(--gold));box-shadow:0 0 18px #c9a84c8c}.topbar-title,.logo-title,.page-meta-value,.progress-count,.trainee-name,.tc-name,.modal-title,.empty-title{font-family:Cormorant Garamond,serif}.topbar-title{font-size:13px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}.topbar-sub{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#c9a84c80}.topbar-right{flex-wrap:wrap;justify-content:flex-end}.building-select-wrap,.ghost-btn,.secondary-button,.icon-button,.chip,.primary-line-btn,.mini-btn,.menu-item-btn,.fb-btn,.btn-ghost{border:1px solid rgba(201,168,76,.24);background:#0000003d;color:var(--gold-pale)}.building-select-wrap{gap:8px;padding:11px 14px;text-transform:uppercase;letter-spacing:.16em;font-size:10px}.building-select-wrap svg{color:var(--gold)}.building-select{min-width:180px;border:0;outline:0;color:inherit;background:transparent;text-transform:none;letter-spacing:.04em}.building-select option,select option{background:#1a1815;color:var(--text)}.ghost-btn,.secondary-button,.icon-button,.primary-button,.danger-button,.mini-btn,.primary-line-btn,.btn-primary,.btn-ghost,.tab-btn,.radio-item,.trainee-card,.check-item{transition:border-color .25s ease,background-color .25s ease,transform .25s ease,color .25s ease,box-shadow .25s ease,opacity .25s ease}.ghost-btn,.secondary-button,.primary-line-btn,.btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;cursor:pointer;font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase}.ghost-btn:hover,.secondary-button:hover,.primary-line-btn:hover,.btn-ghost:hover,.menu-item-btn:hover,.chip:hover,.mini-btn:hover,.icon-button:hover{border-color:#c9a84c80;background:#c9a84c14;color:var(--gold-light)}.primary-button,.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;border:0;cursor:pointer;background:linear-gradient(135deg,var(--gold-dark),var(--gold),var(--gold-light),var(--gold));background-size:200% 200%;color:#0d0d0d;font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;clip-path:polygon(12px 0%,100% 0%,calc(100% - 12px) 100%,0% 100%);box-shadow:0 8px 28px #c9a84c47}.primary-button:hover,.btn-primary:hover{transform:translateY(-1px);background-position:100% 50%;box-shadow:0 12px 34px #c9a84c5c}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled,.ghost-btn:disabled,.primary-line-btn:disabled,.btn-primary:disabled,.btn-ghost:disabled,.icon-button:disabled,.mini-btn:disabled,.radio-item:disabled,.check-item:disabled{opacity:.45;cursor:not-allowed;transform:none}.danger-button,.mini-reject{border-color:#ff857d59;background:#ff857d14;color:#ffb8b1}.danger-button:hover,.mini-reject:hover{border-color:#ff857d8c;background:#ff857d29;color:#ffd0cb}.primary-line-btn,.mini-approve{border-color:#c9a84c6b;color:var(--gold-light)}.mini-reset{color:var(--text-soft)}.icon-button{justify-content:center;width:36px;height:36px;padding:0;border-radius:0}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:34px 0 24px}.page-heading h1,.page-title{margin:0;font-size:clamp(44px,6vw,64px);line-height:.96;font-weight:300;letter-spacing:-.03em;color:var(--text)}.page-title span{color:var(--gold);font-style:italic}.page-heading p,.training-toolbar-copy,.muted,.list-sub,.event-description,.pi-muted{font-size:12px;line-height:1.7;color:var(--text-soft)}.nav-tabs,.tabs{display:flex;gap:0;width:max-content;max-width:100%;overflow:auto;border-bottom:1px solid var(--line)}.nav-tabs{margin-top:2px}.nav-tab,.tab-btn{padding:13px 22px;border:0;border-bottom:2px solid transparent;background:transparent;color:#f5f0e85c;cursor:pointer;white-space:nowrap;font-size:10px;font-weight:500;letter-spacing:.24em;text-transform:uppercase}.nav-tab{display:inline-flex;align-items:center;gap:8px}.nav-tab:hover,.tab-btn:hover{color:#f5f0e8b3}.nav-tab-active,.tab-btn.active{color:var(--gold);border-bottom-color:var(--gold)}.admin-main{display:grid;grid-template-columns:1fr;gap:18px;margin-top:24px}.panel,.card,.event-card,.trainee-card,.fb-toast,.fb-dialog,.pi-sidebar,.pi-viewer{background:linear-gradient(145deg,#ffffff0a,#ffffff03);border:1px solid var(--line);border-top-color:#c9a84c57;position:relative;overflow:hidden}.panel:before,.card:before,.event-card:before,.trainee-card:before,.fb-dialog:before,.pi-sidebar:before,.pi-viewer:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.panel{padding:28px}.training-shell{padding:34px}.panel-header,.progress-header,.training-toolbar,.event-card-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-header{margin-bottom:18px}.panel-title-wrap{gap:10px}.panel-title-wrap h2{margin:0;font-size:22px;font-weight:300;color:var(--text)}.panel-title-wrap svg,.panel-header svg,.event-meta-line svg,.status-pill svg{color:var(--gold)}.panel-body{width:100%}.scroll{overflow:auto}.chip-row{flex-wrap:wrap;gap:10px}.chip{padding:10px 14px;cursor:pointer;font-size:9px;letter-spacing:.22em;text-transform:uppercase}.chip-active{border-color:var(--gold);background:#c9a84c1f;color:var(--gold-light)}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table thead{border-bottom:1px solid var(--line-strong)}.data-table th,.data-table td{padding:14px 12px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(201,168,76,.08)}.data-table th{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:#c9a84c94;font-weight:500}.data-table td{font-size:13px;color:var(--text)}.muted{padding:14px 0}.muted.small,.pi-muted.small,.tc-stat-label,.radio-sub,.check-timestamp,.meta-chip-label,.page-meta-label,.progress-label,.trainee-name-label,.day-label,.form-label,.modal-sub,.empty-sub,.section-note,.check-status,.status-pill,.slideshow-label{font-size:9px;letter-spacing:.22em;text-transform:uppercase}.muted.small,.muted.tiny,.pi-muted.small,.muted-cell,.tc-stat-label,.radio-sub,.check-timestamp,.meta-chip-label,.page-meta-label,.progress-label,.trainee-name-label,.day-label,.form-label,.modal-sub,.empty-sub,.section-note,.check-status.pending{color:var(--text-faint)}.muted.tiny{font-size:10px}.error-text,.pi-error{color:#ffb0a9;font-size:12px}.status-pill,.unit-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);background:#c9a84c0d;color:var(--gold-light)}.status-pending,.status-upcoming,.unit-inactive{color:var(--text-soft)}.status-approved,.status-active,.status-success,.unit-active{color:var(--gold-light)}.status-rejected,.status-past,.status-draft{color:#ffb0a9}.actions-inline,.add-booking-bar,.slideshow-upload-bar,.load-more-row,.event-card-footer{margin-top:18px}.actions-inline{flex-wrap:wrap}.mini-btn{padding:8px 12px;cursor:pointer;font-size:9px;letter-spacing:.18em;text-transform:uppercase}.slideshow-grid,.events-grid,.trainee-grid{display:grid;gap:18px}.slideshow-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.slideshow-card{border:1px solid rgba(201,168,76,.12);background:#00000029}.slideshow-thumb-wrap{position:relative;aspect-ratio:16 / 10;overflow:hidden}.slideshow-thumb{width:100%;height:100%;object-fit:cover}.slideshow-delete-btn{position:absolute;top:12px;right:12px;width:34px;height:34px;border:1px solid rgba(201,168,76,.24);background:#0d0d0dbd;color:var(--gold-light);cursor:pointer}.slideshow-meta{padding:14px}.slideshow-label{color:#c9a84c9e}.event-form .form-grid,.add-booking-grid,.training-modal-grid,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-group,.form-field{display:flex;flex-direction:column;gap:8px}.form-group.full{grid-column:1 / -1}.field-label,.form-label{color:#c9a84c99;font-weight:500}.text-input,.form-input,.form-select,.field-input,.modal-input,.event-form input,.event-form select,.event-form textarea,textarea{width:100%;padding:13px 16px;border:1px solid rgba(201,168,76,.2);border-bottom-color:#c9a84c80;background:#00000059;color:var(--text);outline:0}.text-input::placeholder,.form-input::placeholder,.field-input::placeholder,textarea::placeholder{color:#f5f0e838}.text-input:focus,.form-input:focus,.form-select:focus,.field-input:focus,.event-form input:focus,.event-form select:focus,.event-form textarea:focus,textarea:focus{border-color:var(--gold);background:#c9a84c0d;box-shadow:0 0 0 1px #c9a84c29,inset 0 1px #c9a84c1a}.radio-group{display:flex;gap:16px;flex-wrap:wrap}.radio-item{flex:1;min-width:180px;justify-content:flex-start;gap:12px;padding:14px 18px;border:1px solid rgba(201,168,76,.22);background:#00000038;cursor:pointer}.radio-item.active{border-color:var(--gold);background:#c9a84c14}.radio-dot{width:14px;height:14px;border:1px solid rgba(201,168,76,.5);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.radio-dot-inner{width:6px;height:6px;border-radius:50%;background:var(--gold);opacity:0}.radio-item.active .radio-dot-inner{opacity:1}.radio-text{font-size:11px;font-weight:500;letter-spacing:.12em;color:var(--text)}.events-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.event-card-image img{aspect-ratio:16 / 9;object-fit:cover}.event-card-body{padding:18px}.event-title{margin:0;font-size:22px;font-family:Cormorant Garamond,serif;font-weight:400}.event-meta-lines{display:grid;gap:8px;margin-top:14px}.event-meta-line{gap:8px;color:var(--text-soft);font-size:12px}.event-link{color:var(--gold-light);text-transform:uppercase;letter-spacing:.18em;font-size:10px}.training-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:22px}.training-hero-session{padding-bottom:12px}.page-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding-bottom:8px}.page-meta-value{font-size:26px;font-weight:400;color:var(--gold-light)}.divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),rgba(201,168,76,.26),transparent);margin-bottom:30px}.training-toolbar{margin-bottom:26px}.training-toolbar-copy{font-family:Cormorant Garamond,serif;font-size:24px;font-weight:300;color:#f5f0e8b8}.availability-shell{padding:0;overflow:hidden;background:radial-gradient(ellipse 90% 40% at 50% -5%,rgba(201,168,76,.09) 0%,transparent 65%),repeating-linear-gradient(0deg,transparent,transparent 60px,rgba(201,168,76,.018) 60px,rgba(201,168,76,.018) 61px),repeating-linear-gradient(90deg,transparent,transparent 60px,rgba(201,168,76,.018) 60px,rgba(201,168,76,.018) 61px),#0c0c0c}.availability-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 32px;border-bottom:1px solid rgba(201,168,76,.14);background:#00000059;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.availability-brand{font-family:Cormorant Garamond,serif;font-size:12px;font-weight:400;letter-spacing:.4em;color:var(--gold);text-transform:uppercase}.availability-brand-sub{font-size:9px;letter-spacing:.28em;color:#c9a84c66;text-transform:uppercase;font-weight:300}.availability-admin-badge{display:flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid rgba(201,168,76,.2);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#c9a84c99}.availability-admin-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 6px var(--gold)}.availability-top-tabs{display:flex;padding:0 32px;border-bottom:1px solid rgba(201,168,76,.1);background:#0003}.availability-top-tab{display:flex;align-items:center;gap:8px;padding:16px 28px;border:0;border-bottom:2px solid var(--gold);background:transparent;color:var(--gold);font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase}.availability-content{padding:40px 32px 56px}.availability-admin-strip{margin-bottom:24px}.availability-admin-list{display:flex;flex-wrap:wrap;gap:10px}.availability-admin-chip{padding:11px 16px;border:1px solid rgba(201,168,76,.2);background:#0000003d;color:#f5f0e8b8;cursor:pointer;font-size:10px;letter-spacing:.16em;text-transform:uppercase;transition:all .2s ease}.availability-admin-chip:hover{border-color:#c9a84c73;color:var(--gold-light);background:#c9a84c14}.availability-admin-chip.active{border-color:var(--gold);color:var(--gold-light);background:#c9a84c1a}.availability-admin-chip-add{border-style:dashed}.availability-empty-setup{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.availability-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}.availability-title{font-family:Cormorant Garamond,serif;font-size:58px;font-weight:300;line-height:1;letter-spacing:-.02em;color:var(--text)}.availability-title em{color:var(--gold);font-style:italic}.availability-hero-aside{text-align:right;padding-bottom:6px;display:flex;flex-direction:column;gap:4px}.availability-hero-label{font-size:9px;letter-spacing:.3em;color:#c9a84c66;text-transform:uppercase}.availability-hero-value{font-size:13px;font-weight:500;color:var(--gold-light)}.availability-rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold),rgba(201,168,76,.2),transparent);margin-bottom:28px}.availability-sync-banner{padding:10px 14px;margin-bottom:18px;background:#4ade8012;border:1px solid rgba(74,222,128,.2)}.availability-action-btn,.availability-ghost-btn,.availability-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:border-color .25s ease,background-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}.availability-action-btn{padding:13px 28px;border:0;background:linear-gradient(135deg,var(--gold-dark),var(--gold),var(--gold-light),var(--gold));background-size:220% 220%;color:#0c0c0c;font-size:10px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);box-shadow:0 4px 20px #c9a84c33}.availability-action-btn:hover{background-position:100% 50%;box-shadow:0 6px 28px #c9a84c66;transform:translateY(-1px)}.availability-ghost-btn{padding:11px 22px;border:1px solid rgba(201,168,76,.35);background:transparent;color:var(--gold);font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase}.availability-ghost-btn:hover{border-color:var(--gold);background:#c9a84c12}.availability-icon-btn{width:46px;height:46px;border:1px solid rgba(201,168,76,.22);background:#0000002e;color:#c9a84cd1;font-size:18px;line-height:1}.availability-icon-btn:hover{border-color:#c9a84c80;background:#c9a84c14;color:var(--gold-light)}.availability-action-btn:disabled,.availability-ghost-btn:disabled,.availability-icon-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.availability-sync-text{font-size:9px;letter-spacing:.12em;color:#4ade80bf;text-transform:uppercase}.avail-layout{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start}.week-nav{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.week-label{flex:1;font-family:Cormorant Garamond,serif;font-size:22px;font-weight:300;color:var(--text)}.week-arrows{display:flex;gap:6px}.availability-today-btn{width:auto;padding:0 18px;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.availability-readonly-note{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#c9a84c8f}.day-columns{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.day-col-hdr{display:block;width:100%;text-align:center;padding:10px 4px;border-bottom:1px solid rgba(201,168,76,.15);margin-bottom:6px}.day-col-hdr-button{border:0;background:transparent;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.day-col-hdr-button:hover:not(:disabled){background:#c9a84c0a;border-bottom-color:#c9a84c59}.day-col-hdr-button:disabled{cursor:default}.day-col-name{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#c9a84c80}.day-col-num{font-family:Cormorant Garamond,serif;font-size:18px;font-weight:300;color:var(--text);margin-top:2px}.day-col-num.today{color:var(--gold)}.availability-day-closed{text-align:center;padding:20px 0;font-size:9px;letter-spacing:.15em;color:#f5f0e833;text-transform:uppercase}.slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;height:62px;padding:8px 6px;margin-bottom:3px;border:1px solid rgba(201,168,76,.07);background:#0000002e;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease}.slot:hover{border-color:#c9a84c4d}.slot:disabled,.day-col-hdr-button:disabled{cursor:default}.slot.open{background:#c9a84c0d;border-color:#c9a84c26}.slot.officeMeeting{background:#3b82f61a;border-color:#3b82f64d}.slot.residentMeeting{background:#dc26261f;border-color:#dc26264d}.slot.officeWork{background:#a855f71a;border-color:#a855f747}.slot.notIn{background:#f5f0e80a;border-color:#f5f0e81a}.slot-time{font-size:11px;letter-spacing:.06em;color:#f5f0e861}.slot-status{min-height:12px;font-size:8px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-align:center}.slot-status.is-empty{opacity:0}.slot.open .slot-status{color:var(--gold)}.slot.officeMeeting .slot-status{color:#93c5fd}.slot.residentMeeting .slot-status{color:#f87171}.slot.officeWork .slot-status{color:#c4b5fd}.slot.notIn .slot-status{color:#f5f0e84d}.slot-note{max-width:100%;font-size:8px;line-height:1.25;color:#f5f0e873;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar{display:flex;flex-direction:column;gap:16px}.legend-card,.outlook-card,.availability-tablet-card{padding:22px;border:1px solid rgba(201,168,76,.12);border-top-color:#c9a84c4d;position:relative;overflow:hidden}.legend-card:before,.outlook-card:before,.availability-tablet-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.legend-title,.outlook-title{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:#c9a84c73;margin-bottom:12px}.availability-small-note{margin-bottom:12px;font-size:9px;color:#f5f0e840;letter-spacing:.12em}.legend-item{display:flex;align-items:center;gap:10px;width:100%;margin-bottom:10px;padding:6px 10px;border:1px solid transparent;background:transparent;cursor:pointer;text-align:left;transition:all .2s}.legend-item:hover{border-color:#c9a84c26}.legend-item.selected{border-color:#c9a84c59;background:#c9a84c0f}.legend-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.swatch-open{background:var(--gold);box-shadow:0 0 6px #c9a84c66}.swatch-officeMeeting{background:#93c5fd}.swatch-residentMeeting{background:#f87171}.swatch-officeWork{background:#c4b5fd}.swatch-notIn{background:#f5f0e840}.legend-label{font-size:11px;font-weight:400;letter-spacing:.06em}.meeting-request-list{display:flex;flex-direction:column;gap:12px}.meeting-request-card{padding:14px;border:1px solid rgba(201,168,76,.12);background:#c9a84c08}.meeting-request-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}.meeting-request-name{font-size:14px;font-weight:600;color:var(--text)}.meeting-request-pill{padding:3px 8px;border:1px solid rgba(201,168,76,.24);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#f5f0e8b3}.meeting-request-pill.status-approved{border-color:#4ade8047;color:#7bf1a4}.meeting-request-pill.status-rejected{border-color:#f8717147;color:#fca5a5}.meeting-request-address,.meeting-request-title{font-size:11px;line-height:1.6;color:#f5f0e88c}.meeting-request-title{margin-top:4px;color:#f5f0e8c7}.meeting-request-slots{display:flex;flex-direction:column;gap:6px;margin-top:10px}.meeting-request-slot{padding:8px 10px;border:1px solid rgba(201,168,76,.12);background:#0003;font-size:10px;letter-spacing:.08em;color:#f5f0e8ad}.meeting-request-actions{display:flex;gap:8px;margin-top:12px}.legend-desc,.outlook-desc{font-size:10px;line-height:1.6;color:#f5f0e84d}.outlook-status{display:flex;align-items:center;gap:8px;margin-bottom:16px}.outlook-dot{width:7px;height:7px;border-radius:50%}.outlook-dot.connected{background:#4ade80;box-shadow:0 0 6px #4ade80}.outlook-dot.disconnected{background:#f5f0e840}.outlook-status-text,.availability-status-line,.availability-toggle-label{font-size:11px;font-weight:400}.availability-button-row{display:flex;gap:8px;margin-top:14px}.availability-grow{flex:1;justify-content:center}.availability-subtle-btn{color:#f5f0e852;border-color:#f5f0e81a}.availability-full-btn{width:100%;justify-content:center;clip-path:none}.availability-status-line{margin-top:12px;color:#f5f0e833;letter-spacing:.1em;line-height:1.6}.availability-sync-input{min-height:170px;resize:vertical;background:#00000080;border:1px solid rgba(201,168,76,.18);border-bottom-color:#c9a84c73;color:var(--text);padding:11px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.55;outline:none}.availability-sync-input:focus{border-color:var(--gold);background:#c9a84c0a;box-shadow:0 0 0 1px #c9a84c1f}.availability-modal-overlay{position:fixed;inset:0;z-index:260;display:flex;align-items:center;justify-content:center;padding:28px;background:#000000e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.availability-modal{position:relative;width:min(1120px,100%);max-height:calc(100vh - 56px);overflow:auto;padding:38px 36px 34px;background:radial-gradient(ellipse 70% 40% at 50% 0%,rgba(201,168,76,.08),transparent),#111;border:1px solid rgba(201,168,76,.22);border-top-color:#c9a84c80;box-shadow:0 28px 80px #0000008c;animation:modalIn .35s cubic-bezier(.16,1,.3,1)}.availability-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.availability-modal-wide{max-width:1120px}.availability-modal-close{position:absolute;top:24px;right:24px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(201,168,76,.24);background:transparent;color:#c9a84c8c;cursor:pointer;font-size:18px;transition:all .2s ease}.availability-modal-close:hover{border-color:var(--gold);color:var(--gold-light);background:#c9a84c0f}.availability-modal-title{font-family:Cormorant Garamond,serif;font-size:58px;line-height:1;font-weight:300;color:var(--text)}.availability-modal-sub{margin:12px 0 28px;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:#c9a84c75}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.day-setting{padding:24px 24px 20px;border:1px solid rgba(201,168,76,.12);background:linear-gradient(145deg,#ffffff05,#ffffff01)}.ds-day{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#c9a84c8c;margin-bottom:18px}.ds-row{display:flex;align-items:center;gap:18px;margin-bottom:12px}.ds-label{width:74px;flex-shrink:0;font-size:14px;color:#f5f0e873}.ds-input{width:100%;min-height:56px;padding:0 18px;background:#000000a6;border:1px solid rgba(201,168,76,.22);color:var(--text);font-size:14px;letter-spacing:.08em;outline:none}.ds-input:focus{border-color:var(--gold)}.ds-closed{display:flex;align-items:center;gap:12px;margin-top:10px}.toggle{width:58px;height:30px;display:flex;align-items:center;padding:3px;border-radius:999px;border:1px solid rgba(201,168,76,.38);background:#0009;cursor:pointer;transition:all .25s}.toggle.on{background:#c9a84c29;border-color:var(--gold)}.toggle-knob{width:22px;height:22px;border-radius:50%;background:#f5f0e861;transition:all .25s}.toggle.on .toggle-knob{background:var(--gold);transform:translate(28px);box-shadow:0 0 6px #c9a84c80}.availability-modal-actions{display:flex;justify-content:flex-end;margin-top:28px}.availability-modal-save{clip-path:none;min-width:260px;min-height:56px}.availability-description-modal{max-width:760px}.availability-description-input{min-height:140px}.availability-name-input{min-height:56px}.slot-picker{position:fixed;z-index:300;min-width:130px;display:flex;flex-direction:column;gap:4px;padding:10px;background:#111;border:1px solid rgba(201,168,76,.3);box-shadow:0 12px 40px #000c;animation:fadeInPop .15s ease}@keyframes fadeInPop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}.picker-opt{padding:8px 14px;border:1px solid transparent;background:transparent;cursor:pointer;text-align:left;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text);transition:all .15s}.picker-opt:hover{background:#c9a84c12;border-color:#c9a84c33}.picker-opt.open{color:var(--gold)}.picker-opt.officeMeeting{color:#93c5fd}.picker-opt.residentMeeting{color:#f87171}.picker-opt.officeWork{color:#c4b5fd}.picker-opt.notIn{color:#f5f0e873}.trainee-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 26px;margin-bottom:28px;background:linear-gradient(135deg,#c9a84c14,#c9a84c08);border:1px solid rgba(201,168,76,.26);border-left:3px solid var(--gold)}.trainee-info{display:flex;flex-direction:column;gap:3px}.trainee-name{font-size:32px;font-weight:400}.meta-chip{flex-direction:column;align-items:flex-end;gap:2px}.meta-chip-val{font-size:12px;color:var(--gold-light);letter-spacing:.05em}.training-set-chip{max-width:240px;text-align:right}.progress-section{margin-bottom:34px}.progress-header{margin-bottom:10px}.progress-count{font-size:28px;font-weight:300;color:var(--gold)}.progress-count span{font-size:14px;color:#c9a84c80}.progress-track,.tc-mini-bar{height:2px;overflow:hidden;background:#c9a84c1a}.progress-fill,.tc-mini-fill{height:100%;background:linear-gradient(90deg,var(--gold-dark),var(--gold),var(--gold-light))}.progress-fill:after{content:"";position:absolute;right:0;top:-2px;width:4px;height:6px;background:var(--gold-light);box-shadow:0 0 8px var(--gold)}.progress-fill{position:relative}.day-group{margin-bottom:28px}.day-header{gap:16px;margin-bottom:14px}.day-line{flex:1;height:1px;background:linear-gradient(90deg,rgba(201,168,76,.3),transparent)}.check-item{width:100%;align-items:flex-start;gap:16px;padding:16px 20px;margin-bottom:10px;border:1px solid rgba(201,168,76,.12);border-left:2px solid transparent;background:#0000002e;cursor:pointer;text-align:left}.check-item:hover{border-left-color:#c9a84c4d;background:#c9a84c0a}.check-item.checked{border-left-color:var(--gold);background:linear-gradient(135deg,#c9a84c0f,#c9a84c05)}.check-box{width:20px;height:20px;margin-top:1px;flex-shrink:0;border:1px solid rgba(201,168,76,.3);display:inline-flex;align-items:center;justify-content:center}.check-item.checked .check-box{border-color:var(--gold);background:linear-gradient(135deg,var(--gold-dark),var(--gold));box-shadow:0 0 12px #c9a84c4d}.check-icon{color:#0d0d0d;opacity:0;font-size:11px;font-weight:700}.check-item.checked .check-icon{opacity:1}.check-content{display:flex;flex-direction:column;gap:4px;flex:1}.check-title{font-size:13px;color:var(--text);letter-spacing:.02em}.check-item.checked .check-title{color:#f5f0e8ad}.check-status{display:inline-flex;align-items:center;gap:6px}.check-status.done{color:var(--gold)}.status-dot{width:4px;height:4px;border-radius:50%}.status-dot.done{background:var(--gold);box-shadow:0 0 4px var(--gold)}.status-dot.pending{background:#f5f0e833}.trainee-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.trainee-card{padding:22px 24px;cursor:pointer;text-align:left}.trainee-card:hover{border-color:#c9a84c66;background:#c9a84c0a;transform:translateY(-2px);box-shadow:0 10px 34px #00000059}.tc-name{font-size:24px;margin-bottom:10px}.tc-stats{display:flex;justify-content:space-between;gap:16px}.tc-stat-val{font-size:12px;color:var(--gold-light)}.empty-state{padding:78px 40px;border:1px dashed rgba(201,168,76,.16);text-align:center}.empty-icon{margin-bottom:14px;font-size:30px;opacity:.45}.empty-title,.empty-t{margin-bottom:8px;font-size:28px;font-weight:300;color:#f5f0e88f}.empty-s{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#f5f0e842;line-height:1.6}.section-note{text-align:center;margin-top:24px;padding-top:16px;border-top:1px solid rgba(201,168,76,.08)}.back-btn{display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;padding:0;border:0;background:transparent;color:#c9a84c99;cursor:pointer;font-size:10px;letter-spacing:.2em;text-transform:uppercase}.back-btn:hover{color:var(--gold)}.card{padding:22px 24px}.card-corner{position:absolute;top:0;right:0;width:32px;height:32px;border-left:1px solid rgba(201,168,76,.3);border-bottom:1px solid rgba(201,168,76,.3)}.training-preview-list{display:grid;gap:12px}.training-preview-row{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(201,168,76,.08);font-size:13px;color:#f5f0e8b8}.training-preview-row:last-child{border-bottom:0;padding-bottom:0}.training-preview-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:#c9a84c66}.modal-overlay,.modal-backdrop,.add-booking-modal,.fb-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000d6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100}.modal,.modal-card,.add-booking-card,.fb-dialog{width:min(720px,100%);padding:36px;background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(201,168,76,.07),transparent),#111}.training-modal{max-width:620px}.modal-close,.add-close-btn{position:absolute;top:20px;right:20px;width:32px;height:32px;border:1px solid rgba(201,168,76,.22);background:transparent;color:#c9a84c8c;cursor:pointer}.modal-title{font-size:36px;font-weight:300;margin-bottom:4px}.modal-sub{margin-bottom:28px}.training-toggle-btn{margin-top:6px;align-self:flex-start}.training-modal-actions{justify-content:flex-end;margin-top:26px}.add-booking-header{position:relative;display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:26px}.add-booking-kicker{margin:0 0 6px;color:#c9a84c80;font-size:9px;letter-spacing:.24em;text-transform:uppercase}.add-booking-header h2{margin:0;font-size:34px;font-weight:300;font-family:Cormorant Garamond,serif}.add-booking-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:22px}.submit-wide-btn,.clear-light-btn{padding:14px 22px;border:1px solid var(--line);cursor:pointer;font-size:10px;letter-spacing:.2em;text-transform:uppercase}.submit-wide-btn{background:linear-gradient(135deg,var(--gold-dark),var(--gold),var(--gold-light));color:#0d0d0d;border:0}.clear-light-btn{background:#00000042;color:var(--gold-pale)}.menu-popover{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;padding:8px;border:1px solid var(--line);background:#0f0d0bf5;box-shadow:0 18px 40px #00000073;z-index:20}.menu-item-btn{display:flex;align-items:center;gap:8px;width:100%;padding:12px 14px;cursor:pointer;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.shiftlogs-split{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:18px;align-items:start}.shiftlogs-list,.shiftlogs-preview{min-width:0}.shiftlogs-list{border:1px solid var(--line);border-top-color:#c9a84c57;background:#0000001f;padding:12px}.shiftlogs-list .list{display:flex;flex-direction:column;gap:10px;max-height:640px;overflow:auto}.list-row{width:100%;padding:16px 18px;border:1px solid rgba(201,168,76,.16);background:linear-gradient(135deg,#c9a84c0d,#ffffff03),#0000002e;color:var(--text);cursor:pointer;text-align:left}.list-row:hover{border-color:#c9a84c61;background:#c9a84c14;transform:translateY(-1px)}.shiftlogs-row-active{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold);background:linear-gradient(135deg,#c9a84c1a,#ffffff05)}.list-title{font-size:15px;line-height:1.4;color:var(--text)}.list-sub{margin-top:6px;padding:0}.shiftlogs-preview>.panel,.shiftlogs-preview .panel{min-height:420px}.shiftlogs-preview-header{align-items:flex-start;margin-bottom:18px}.shiftlogs-title-row{display:flex;align-items:center;gap:12px;min-width:0}.shiftlogs-title{margin:0;font-family:Cormorant Garamond,serif;font-size:30px;font-weight:400;line-height:1.05;color:var(--text)}.shiftlogs-body{min-height:320px;padding:18px 20px;border:1px solid rgba(201,168,76,.16);background:#0003;color:var(--text);font-size:13px;line-height:1.7}.shiftlogs-body pre{margin:0;white-space:pre-wrap;word-break:break-word;color:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.fade-in{animation:fadeIn .4s ease forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:960px){.admin-root{padding:12px}.admin-shell,.panel,.training-shell,.modal,.modal-card,.add-booking-card{padding:22px}.admin-topbar,.page-heading,.training-hero,.training-toolbar,.availability-header,.availability-hero,.avail-layout,.trainee-banner,.panel-header,.progress-header{flex-direction:column;align-items:flex-start}.topbar-right,.trainee-meta{width:100%;justify-content:flex-start}.meta-chip{align-items:flex-start}.tabs,.nav-tabs{width:100%}.data-table{min-width:640px}.event-form .form-grid,.add-booking-grid,.training-modal-grid,.settings-grid,.form-grid,.slideshow-grid,.events-grid,.trainee-grid,.avail-layout,.day-columns{grid-template-columns:1fr}.availability-content,.availability-header,.availability-top-tabs{padding-left:18px;padding-right:18px}.availability-title{font-size:42px}.shiftlogs-split{grid-template-columns:1fr}.shiftlogs-list .list{max-height:none}}.fb-toast-stack{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:12px;z-index:99999}.fb-toast{width:min(420px,calc(100vw - 36px));padding:14px 16px;display:flex;gap:12px;box-shadow:0 18px 40px #0000006b}.fb-toast-body{flex:1}.fb-toast-title{margin-bottom:4px;font-family:Cormorant Garamond,serif;font-size:24px;font-weight:400;color:var(--text)}.fb-toast-msg{font-size:12px;line-height:1.6;color:var(--text-soft)}.fb-toast-x{border:1px solid rgba(201,168,76,.18);background:transparent;color:#c9a84c94;width:28px;height:28px;cursor:pointer}.fb-toast-x:hover{border-color:#c9a84c75;background:#c9a84c14;color:var(--gold-light)}.fb-success{border-left:3px solid var(--gold)}.fb-error{border-left:3px solid #ff857d}.fb-warning{border-left:3px solid #f4c66a}.fb-info{border-left:3px solid #c8b06b}.fb-dialog{max-width:520px}.fb-dialog-title{font-family:Cormorant Garamond,serif;font-size:34px;font-weight:300;color:var(--text)}.fb-dialog-msg{margin-top:8px;font-size:12px;line-height:1.7;color:var(--text-soft)}.fb-dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}.fb-btn{padding:12px 18px;cursor:pointer;font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.fb-btn-ghost{color:var(--gold-pale)}.fb-btn-primary{border:0;background:linear-gradient(135deg,var(--gold-dark),var(--gold),var(--gold-light));color:#0d0d0d}.fb-btn-danger{border-color:#ff857d59;background:#ff857d1f;color:#ffd0cb}:root{--bg: #0d0d0d;--bg-soft: #121110;--panel: rgba(18, 15, 11, .82);--panel-strong: rgba(20, 17, 12, .94);--text: #f5f0e8;--text-soft: rgba(245, 240, 232, .72);--text-faint: rgba(245, 240, 232, .38);--gold: #c9a84c;--gold-light: #e8c97a;--gold-dark: #8b6914;--gold-pale: #f5e8c0;--line: rgba(201, 168, 76, .18);--line-strong: rgba(201, 168, 76, .36);--danger: #ff857d;--success: #d9c26f;font-family:Montserrat,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text);background:var(--bg)}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(201,168,76,.12) 0%,transparent 72%),repeating-linear-gradient(0deg,transparent,transparent 80px,rgba(201,168,76,.025) 80px,rgba(201,168,76,.025) 81px),repeating-linear-gradient(90deg,transparent,transparent 80px,rgba(201,168,76,.025) 80px,rgba(201,168,76,.025) 81px),var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
