:root{--bg: #090806;--bg-2: #12100c;--bg-3: #1a1610;--panel: rgba(22, 18, 12, .72);--line: #3a3226;--line-strong: #5c4c34;--gold: #dfbd6b;--gold-2: #c9a24e;--gold-soft: rgba(223, 189, 107, .12);--gold-dim: #8a7340;--text: #f3ead6;--muted: #b3a07e;--ok: #9dcc8f;--warn: #f0c674;--danger: #e07a6a;--cyan: #6ec8d4;--radius: 8px;--radius-sm: 6px;--ease: cubic-bezier(.22, 1, .36, 1);--font-display: "Newsreader", "Times New Roman", serif;--font-body: "Figtree", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;height:100%;overflow:hidden}html{scrollbar-width:thin;scrollbar-color:var(--gold-dim) var(--bg-2)}html::-webkit-scrollbar,body::-webkit-scrollbar,.app::-webkit-scrollbar,.workspace::-webkit-scrollbar,.admin-stage::-webkit-scrollbar,.folder-stage::-webkit-scrollbar,.host-side::-webkit-scrollbar{width:10px;height:10px}html::-webkit-scrollbar-track,body::-webkit-scrollbar-track,.app::-webkit-scrollbar-track,.workspace::-webkit-scrollbar-track,.admin-stage::-webkit-scrollbar-track,.folder-stage::-webkit-scrollbar-track,.host-side::-webkit-scrollbar-track{background:var(--bg-2)}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,.app::-webkit-scrollbar-thumb,.workspace::-webkit-scrollbar-thumb,.admin-stage::-webkit-scrollbar-thumb,.folder-stage::-webkit-scrollbar-thumb,.host-side::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--gold-dim),#5a4a32);border-radius:999px;border:2px solid var(--bg-2)}html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover,.app::-webkit-scrollbar-thumb:hover,.workspace::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--gold),var(--gold-2))}html.layout-pip,html.layout-pip body,html.layout-pip #root{overflow:hidden;height:100%;scrollbar-width:none}html.layout-pip::-webkit-scrollbar,html.layout-pip body::-webkit-scrollbar,html.layout-pip #root::-webkit-scrollbar{width:0;height:0;display:none}body{color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.5;background:radial-gradient(ellipse 90% 55% at 50% -5%,rgba(223,189,107,.14),transparent 60%),radial-gradient(ellipse 50% 40% at 100% 100%,rgba(201,162,78,.06),transparent 55%),linear-gradient(168deg,#090806,#12100c 45%,#0b0a07);background-attachment:fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.45;background-image:radial-gradient(rgba(223,189,107,.04) .6px,transparent .7px),radial-gradient(ellipse at center,transparent 35%,rgba(0,0,0,.55) 100%);background-size:3px 3px,100% 100%}a{color:var(--gold)}button,input,select,textarea{font:inherit}.app{height:100%;max-height:100%;display:flex;flex-direction:column;position:relative;z-index:1;padding:.4rem .5rem .45rem;overflow:hidden}.boot-splash{min-height:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;text-align:center;overflow:hidden;background:radial-gradient(900px 520px at 50% 20%,rgba(223,189,107,.16),transparent 55%),linear-gradient(165deg,#080806,#100e0a 48%,#0a0907)}.boot-folder{position:relative;width:min(78vw,280px);height:min(72vw,220px);perspective:900px}.folder-shadow{position:absolute;left:12%;right:12%;bottom:6%;height:18%;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.55),transparent 70%);filter:blur(6px);transform:translateZ(0);transition:opacity .6s var(--ease),transform .6s var(--ease)}.boot-folder.loading .folder-shadow{animation:folder-breathe-shadow 2.2s ease-in-out infinite}.folder-stage{position:relative;width:100%;height:100%;transform-style:preserve-3d}.folder-back{position:absolute;left:6%;right:6%;top:18%;bottom:10%;border-radius:0 10px 10px;background:linear-gradient(160deg,#3a2f1c,#2a2216 55%,#1c170f);border:1px solid rgba(223,189,107,.22);box-shadow:inset 0 1px #ffe6aa14}.folder-paper{position:absolute;left:12%;right:12%;top:22%;bottom:16%;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:.75rem;border-radius:3px;background:linear-gradient(180deg,#f3ead6,#e6d7b4);color:#1a1408;box-shadow:0 8px 20px #00000059,inset 0 0 0 1px #5a461e1f;transform-origin:50% 100%;transform:translateY(28%) scale(.92);opacity:0}.folder-paper img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(90,60,20,.25))}.folder-paper .boot-kicker{color:#8a7340;letter-spacing:.18em;font-size:.68rem}.folder-paper .boot-caption{color:#5a4a32;font-size:.78rem;margin:0}.folder-pocket{position:absolute;left:4%;right:4%;top:28%;bottom:8%;z-index:3;border-radius:0 8px 10px 10px;background:linear-gradient(165deg,#c9a24e,#a8863a 42%,#8a6e2e);border:1px solid rgba(255,230,170,.28);box-shadow:0 14px 32px #0006,inset 0 1px #fff0c859,inset 0 -10px 24px #0000002e;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:.85rem 1rem 1rem;gap:.2rem}.folder-tab{position:absolute;left:0;top:-18px;height:20px;padding:0 .85rem;display:grid;place-items:center;font-family:var(--font-display);font-size:.62rem;letter-spacing:.16em;color:#1a1408;background:linear-gradient(180deg,#dfbd6b,#b89242);border-radius:6px 6px 0 0;border:1px solid rgba(255,230,170,.35);border-bottom:none;box-shadow:inset 0 1px #fff5d266}.folder-label{font-family:var(--font-display);font-size:.78rem;letter-spacing:.22em;color:#1a1408b8;font-weight:600}.folder-cover{position:absolute;left:4%;right:4%;top:28%;height:58%;z-index:4;transform-origin:50% 0%;transform-style:preserve-3d;backface-visibility:hidden;border-radius:0 8px 10px 10px;background:linear-gradient(180deg,#dfbd6b,#c9a24e 45%,#a8863a);border:1px solid rgba(255,230,170,.35);box-shadow:0 8px 18px #00000047,inset 0 1px #fff5d273}.boot-folder.loading .folder-stage{animation:folder-breathe 2.2s ease-in-out infinite}.boot-folder.loading .folder-cover{transform:rotateX(0)}.boot-folder.loading .folder-paper{opacity:0;transform:translateY(22%) scale(.9)}.boot-folder.finishing .folder-cover{animation:folder-cover-open .85s var(--ease) forwards}.boot-folder.finishing .folder-paper{z-index:5;animation:folder-paper-rise 1s var(--ease) .18s forwards}.boot-folder.finishing .folder-shadow{opacity:.55;transform:scaleX(1.12)}.boot-folder.finishing .folder-stage{animation:folder-reveal-done .01s linear 1.2s forwards}.boot-kicker{margin:0;font-family:var(--font-display);font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:600}.boot-caption{margin:0;color:var(--muted);font-size:.9rem}@keyframes folder-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.015)}}@keyframes folder-breathe-shadow{0%,to{opacity:.7;transform:scaleX(1)}50%{opacity:.45;transform:scaleX(.92)}}@keyframes folder-cover-open{0%{transform:rotateX(0)}to{transform:rotateX(-125deg)}}@keyframes folder-paper-rise{0%{opacity:0;transform:translateY(32%) scale(.9)}40%{opacity:1}to{opacity:1;transform:translateY(-42%) scale(1)}}@keyframes folder-reveal-done{to{transform:none}}.pip-presence{min-height:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;padding:.75rem;text-align:center;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,rgba(223,189,107,.22),transparent 55%),linear-gradient(165deg,#080806,#14110c)}.pip-presence-marks{position:relative;width:min(42vw,112px);height:min(42vw,112px)}.pip-logo{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(223,189,107,.28))}.pip-avatar{position:absolute;right:-8%;bottom:-6%;width:46%;height:46%;border-radius:50%;border:2px solid var(--gold);overflow:hidden;background:var(--bg-3);box-shadow:0 8px 20px #00000073}.pip-avatar img,.pip-avatar .avatar-fallback{width:100%;height:100%;object-fit:cover;display:grid;place-items:center;font-size:clamp(.7rem,3.5vw,1rem);font-weight:700;color:var(--gold)}.pip-presence-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0;max-width:100%}.pip-kicker{margin:0;font-family:var(--font-display);font-size:clamp(.55rem,2.8vw,.72rem);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600}.pip-title{margin:0;font-family:var(--font-display);font-size:clamp(.95rem,4.5vw,1.25rem);font-weight:600;letter-spacing:-.02em;color:var(--text)}.pip-user{margin:0;font-size:clamp(.7rem,3.2vw,.9rem);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:16ch}.case-file{--case-accent: var(--gold);--case-accent-ink: #1a1408;--case-sheet: #16130e;--case-sheet-edge: #2c2418;flex:1;min-height:0;display:flex;flex-direction:column;animation:rise .5s var(--ease) both}.case-file.case-home{--case-accent: #dfbd6b;--case-accent-ink: #1a1408;--case-sheet: #17140f;--case-sheet-edge: #3a3220}.case-file.case-admin{--case-accent: #c97868;--case-accent-ink: #1a0f0d;--case-sheet: #181210;--case-sheet-edge: #4a2e28}.case-file.case-host{--case-accent: #6ec8d4;--case-accent-ink: #0c1618;--case-sheet: #101618;--case-sheet-edge: #2a4248}.case-file.case-trainer{--case-accent: #9dcc8f;--case-accent-ink: #0f160e;--case-sheet: #121812;--case-sheet-edge: #2e4230}.case-tabs{flex:0 0 auto;display:flex;align-items:flex-end;gap:.25rem;padding:0 .55rem;position:relative;z-index:2}.case-tab{position:relative;flex:1 1 0;min-width:0;max-width:11rem;margin-bottom:-3px;padding:.42rem .75rem .5rem;border:1px solid transparent;border-bottom:none;border-radius:9px 9px 0 0;cursor:pointer;font-family:var(--font-display);font-size:.84rem;font-weight:600;letter-spacing:.04em;color:#1a1408b8;transform:none;transition:filter .2s var(--ease),box-shadow .2s var(--ease),opacity .2s;box-shadow:inset 0 1px #ffffff2e}.case-tab:hover{transform:none;filter:brightness(1.06)}.case-tab.active{transform:none;z-index:3;color:var(--case-accent-ink);filter:none;box-shadow:inset 0 1px #ffffff47}.case-tab-home{background:linear-gradient(180deg,#e8d29a,#c9a24e);border-color:#ffe6aa59}.case-tab-admin{background:linear-gradient(180deg,#e09a8c,#c97868);border-color:#ffc8be4d}.case-tab-host{background:linear-gradient(180deg,#9ad8e0,#6ec8d4);border-color:#c8f0f54d}.case-tab-trainer{background:linear-gradient(180deg,#b8dfa9,#9dcc8f);border-color:#d2f0c84d}.case-tab:not(.active){opacity:.72;filter:saturate(.85) brightness(.88)}.case-tab:not(.active):hover{opacity:.92}.case-tab.active.case-tab-home,.case-tab.active.case-tab-admin,.case-tab.active.case-tab-host,.case-tab.active.case-tab-trainer{opacity:1}.case-tabs-links{display:flex;align-items:flex-end;gap:.25rem;margin-left:auto;padding-bottom:3px}.site-link-btn{display:flex;align-items:center;gap:.3rem;padding:.32rem .6rem;border:1px solid rgba(223,189,107,.35);border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-family:var(--font-display);font-size:.75rem;font-weight:600;letter-spacing:.04em;cursor:pointer;white-space:nowrap;transition:color .15s var(--ease),border-color .15s var(--ease),background .15s}.site-link-btn:hover{color:var(--gold);border-color:#dfbd6ba6;background:var(--gold-soft)}.case-sheet{flex:1;min-height:0;display:flex;flex-direction:column;position:relative;z-index:1;border:1px solid var(--case-sheet-edge);border-top:3px solid var(--case-accent);border-radius:0 8px 8px;background:linear-gradient(180deg,color-mix(in srgb,var(--case-accent) 10%,transparent),transparent 70px),linear-gradient(165deg,var(--case-sheet) 0%,#0e0c09 100%);box-shadow:0 12px 28px #0006,inset 0 1px #ffe6aa0f;overflow:hidden;perspective:1400px}.case-header{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.4rem;padding:.4rem .85rem .35rem;border-bottom:1px solid color-mix(in srgb,var(--case-accent) 28%,var(--line))}.case-identity{display:flex;align-items:center;gap:.55rem;min-width:0}.case-identity img,.case-identity .avatar-fallback{width:34px;height:34px;border-radius:50%;object-fit:cover;border:1px solid var(--line-strong);flex:0 0 auto}.case-identity .avatar-fallback{display:grid;place-items:center;background:var(--gold-soft);color:var(--gold);font-weight:700;font-size:.75rem}.case-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.05rem;max-width:22rem}.case-brand img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 6px 14px color-mix(in srgb,var(--case-accent) 35%,transparent))}.case-brand h1{margin:.1rem 0 0;font-family:var(--font-display);font-size:clamp(.95rem,1.8vw,1.2rem);font-weight:600;letter-spacing:-.02em;color:var(--text);line-height:1.1}.case-dek{margin:.1rem 0 0;color:var(--muted);font-size:.72rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.masthead-kicker{margin:0;font-family:var(--font-display);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--case-accent);font-weight:600}.ribbon-meta{min-width:0}.ribbon-meta strong{display:block;font-size:.84rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.ribbon-meta span{display:block;color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.workspace{display:flex;flex-direction:column;min-width:0;min-height:0;flex:1;overflow:hidden;padding:.4rem .5rem .5rem}.app-main{flex:1;min-height:0;overflow:auto;padding:.55rem .7rem .65rem;border:1px solid color-mix(in srgb,var(--case-accent) 22%,var(--line));border-top:2px solid var(--case-accent);border-radius:0 6px 6px;background:linear-gradient(180deg,color-mix(in srgb,var(--case-accent) 8%,transparent),transparent 40px),linear-gradient(165deg,#1a1611,#12100c);box-shadow:inset 0 1px #ffe6aa0d;transform-style:preserve-3d}.app-main.flip-fwd{animation:page-flip-fwd .48s var(--ease) both;transform-origin:left center}.app-main.flip-back{animation:page-flip-back .48s var(--ease) both;transform-origin:right center}.folder-stage.flip-fwd{animation:page-flip-fwd .4s var(--ease) both;transform-origin:left center}.folder-stage.flip-back{animation:page-flip-back .4s var(--ease) both;transform-origin:right center}@media(prefers-reduced-motion:reduce){.app-main.flip-fwd,.app-main.flip-back,.folder-stage.flip-fwd,.folder-stage.flip-back{animation:none}}@keyframes page-flip-fwd{0%{opacity:.35;transform:rotateY(-28deg) translate(18px) scale(.98);filter:brightness(.85)}55%{opacity:1;filter:brightness(1)}to{opacity:1;transform:rotateY(0) translate(0) scale(1);filter:brightness(1)}}@keyframes page-flip-back{0%{opacity:.35;transform:rotateY(28deg) translate(-18px) scale(.98);filter:brightness(.85)}55%{opacity:1;filter:brightness(1)}to{opacity:1;transform:rotateY(0) translate(0) scale(1);filter:brightness(1)}}.app-main>.panel{height:100%;min-height:0}.panel{width:100%;max-width:none}.home-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"hours resources" "calendar resources";gap:.55rem .85rem;height:100%;min-height:0}.home-grid>.hours-panel{grid-area:hours}.home-grid>.calendar-panel{grid-area:calendar;min-height:0;display:flex;flex-direction:column;overflow:hidden}.home-grid>.calendar-panel>.dossier{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.home-grid>.resources-panel:only-child{grid-column:1 / -1;grid-row:1 / -1;grid-area:auto}.home-grid>.resources-panel{grid-area:resources;min-height:0;overflow:auto}.trainer-note{margin:0 0 .75rem;color:var(--muted);font-size:.85rem}.trainer-dossier{padding-bottom:1rem}.surface,.dossier{position:relative;overflow:hidden;background:transparent;border:none;border-radius:0;padding:.35rem 0 .5rem;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.surface:before,.dossier:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,var(--case-accent, var(--gold)),transparent 70%);opacity:.85}.surface.preview,.dossier.preview{outline:1px dashed rgba(223,189,107,.35);outline-offset:6px}.hours-panel.dossier{padding-top:.85rem}.surface-head,.dossier-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:.35rem 0 .65rem;flex-wrap:wrap}.calendar-subscribe{flex-shrink:0}.surface-head h2,.surface h2,.surface h3,.dossier-head h2,.dossier h2,.dossier h3{margin:0;font-family:var(--font-display);color:var(--case-accent, var(--gold));font-size:1.2rem;font-weight:600;letter-spacing:-.015em}.surface-head p,.surface>p,.dossier-head p,.dossier>p{margin:.3rem 0 0;color:var(--muted);font-size:.88rem}.preview-notice{margin:0 0 .85rem!important;padding:.35rem .55rem;border-radius:2px;width:fit-content;font-family:var(--font-display);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)!important;background:var(--gold-soft);border:1px solid rgba(223,189,107,.35)}.preview-notice.app-level{margin:0 0 .55rem!important}.preview-notice.error{color:var(--danger)!important;border-color:#e07a6a66;background:#e07a6a1a}.hours-hero{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:end;margin-bottom:.4rem}.hours-hero-value{font-family:var(--font-display);font-size:clamp(1.85rem,3.8vw,2.5rem);font-weight:600;letter-spacing:-.04em;line-height:.92;color:var(--text)}.hours-hero-value span{display:block;margin-top:.4rem;font-family:var(--font-body);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}.hours-hero-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;align-content:end;padding-bottom:.2rem}.hours-chart-wrap{width:100%;margin-top:.15rem;border-top:1px solid var(--line);padding-top:.4rem}.hours-chart{width:100%;max-height:120px;height:auto;display:block}.chart-grid{stroke:#dfbd6b1f;stroke-width:1}.chart-axis{fill:var(--muted);font-size:11px}.chart-axis.current{fill:var(--gold);font-weight:700}.chart-point{fill:var(--bg);stroke:var(--gold);stroke-width:2.5}.chart-point.current{fill:var(--gold);stroke:#f4ead4;stroke-width:2}.chart-point-group:hover .chart-point{stroke-width:3.5}.chip-row{display:flex;gap:.15rem;flex-wrap:wrap}.chip{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--muted);padding:.35rem .55rem;border-radius:0;cursor:pointer;font-family:var(--font-display);font-size:.85rem;letter-spacing:.04em;transition:color .15s ease,border-color .15s ease}.chip:hover:not(:disabled){color:var(--text)}.chip.active{border-bottom-color:var(--gold);color:var(--gold);background:transparent}.chip:disabled{opacity:.5;cursor:not-allowed}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,.7fr);gap:.75rem;align-items:start}.calendar-panel .calendar-layout{flex:1;min-height:0;align-items:stretch}.calendar-panel .month-cal{min-height:0;overflow:hidden;display:flex;flex-direction:column}.calendar-panel .month-cal-grid{flex:1;min-height:0;overflow:auto;grid-auto-rows:minmax(1.6rem,1fr)}.calendar-panel .month-cal-day{min-height:0}.month-cal{display:flex;flex-direction:column;gap:.4rem}.month-cal-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.month-cal-nav h3{margin:0;font-family:var(--font-display);color:var(--text);font-size:.95rem;font-weight:600}.month-cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;color:var(--gold-dim);font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;text-align:center}.month-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.month-cal-day{min-height:40px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.15rem;text-align:center;padding:.25rem .15rem .2rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:#12100c73;color:var(--text);cursor:pointer;transition:border-color .15s,background .15s}.month-cal-day:hover:not(:disabled){border-color:var(--line-strong)}.month-cal-day.outside{opacity:.4}.month-cal-day.today{border-color:color-mix(in srgb,var(--case-accent, var(--gold)) 55%,transparent)}.month-cal-day.selected{border-color:var(--case-accent, var(--gold));background:color-mix(in srgb,var(--case-accent, var(--gold)) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--case-accent, var(--gold)) 25%,transparent)}.month-cal-day.has-events{background:color-mix(in srgb,var(--case-accent, var(--gold)) 5%,transparent)}.month-cal-date{font-size:.72rem;font-weight:700;color:var(--muted);line-height:1}.month-cal-day.selected .month-cal-date,.month-cal-day.today .month-cal-date{color:var(--case-accent, var(--gold))}.month-cal-events{display:flex;flex-wrap:wrap;justify-content:center;gap:.15rem;min-height:0}.month-cal-dot{width:5px;height:5px;border-radius:50%;background:var(--case-accent, var(--gold));flex:0 0 auto}.month-cal-dot.offduty{background:var(--cyan)}.month-cal-dot.pending{background:var(--warn)}.month-cal-dot.draft{background:var(--muted)}.month-cal-dot.denied{background:var(--danger)}.month-cal-dot.approved:not(.published){background:var(--ok)}.month-cal-pill{display:none}.month-cal-more{font-size:.55rem;color:var(--muted);line-height:1}.day-detail h3{margin:0 0 .55rem;font-family:var(--font-display);color:var(--case-accent, var(--gold));font-size:.95rem;font-weight:600}.event-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.event-columns h3{margin:0 0 .65rem;font-family:var(--font-display);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dim);font-weight:600}.event-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.event-item{display:grid;grid-template-columns:3px 1fr auto;gap:.75rem;align-items:start;padding:.75rem 0;border-radius:0;background:transparent;border:none;border-bottom:1px solid var(--line);transition:background .15s}.event-item:hover{background:#dfbd6b0a;transform:none}.event-accent{width:3px;align-self:stretch;border-radius:0;background:var(--gold)}.event-item.offduty .event-accent{background:var(--cyan)}.event-item.pending .event-accent{background:var(--warn)}.event-title{font-weight:600;color:var(--text)}.event-meta{margin-top:.2rem;color:var(--muted);font-size:.8rem;font-variant-numeric:tabular-nums}.badge{display:inline-block;font-family:var(--font-display);font-size:.68rem;padding:.15rem .4rem;border-radius:2px;border:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.badge.approved{color:var(--ok);border-color:#5dcea659;background:#5dcea614}.badge.pending{color:var(--warn);border-color:#e6b45c59;background:#e6b45c14}.resource-grid{display:grid;gap:0}.link-btn{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--line);color:var(--text);padding:.85rem .15rem;border-radius:0;cursor:pointer;transition:color .15s var(--ease),padding-left .15s var(--ease);font-family:var(--font-display);font-size:1rem;font-weight:500}.link-btn:hover{border-color:var(--line);background:transparent;color:var(--gold);transform:none;padding-left:.35rem}.link-btn .arrow{color:var(--gold);font-size:1.05rem;font-family:var(--font-body)}.notice{border:1px solid rgba(230,180,92,.28);border-left:3px solid var(--warn);background:#e6b45c0f;padding:.85rem .95rem;border-radius:0;color:var(--text);margin-top:.75rem}.notice.danger{border-color:#e07a7a59;border-left-color:var(--danger);background:#e07a7a14}.admin-grid,.host-grid,.trainer-grid{display:grid;gap:1rem}.admin-grid{grid-template-columns:1fr}.folder-shell{display:grid;grid-template-columns:minmax(116px,148px) minmax(0,1fr);gap:0;align-items:stretch;min-height:0;height:100%}.folder-rail{display:flex;flex-direction:column;gap:.35rem;padding:.35rem 0 .35rem .15rem;position:sticky;top:0;align-self:start}.folder-rail-tab{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;text-align:left;width:100%;padding:.55rem .5rem .55rem .65rem;border:1px solid transparent;border-right:none;border-radius:8px 0 0 8px;cursor:pointer;color:#1a1408bf;font-family:var(--font-display);transform:none;margin-right:-2px;transition:filter .2s var(--ease),opacity .2s,box-shadow .2s;box-shadow:inset 0 1px #ffffff2e}.folder-rail-tab:hover{transform:none;filter:brightness(1.05)}.folder-rail-tab.active{transform:none;z-index:2;filter:none;opacity:1;margin-right:-2px;box-shadow:inset 0 1px #ffffff47}.folder-rail-tab:not(.active){opacity:.72;filter:saturate(.85) brightness(.9)}.folder-rail-pulse,.folder-rail-schedule,.folder-rail-emt{background:linear-gradient(90deg,#e8d29a,#c9a24e);border-color:#ffe6aa59}.folder-rail-lookup,.folder-rail-queue,.folder-rail-tru{background:linear-gradient(90deg,#9ad8e0,#6ec8d4);border-color:#c8f0f54d}.folder-rail-cases,.folder-rail-board,.folder-rail-cadet{background:linear-gradient(90deg,#b8dfa9,#9dcc8f);border-color:#d2f0c84d}.folder-rail-label{font-weight:600;font-size:.88rem;letter-spacing:.02em;line-height:1.2}.folder-rail-hint{font-family:var(--font-body);font-size:.65rem;color:#1a140894;line-height:1.25}.folder-stage{min-width:0;min-height:0;display:flex;flex-direction:column;gap:.65rem;padding:.55rem .7rem .7rem;border:1px solid color-mix(in srgb,var(--case-accent) 24%,var(--line));border-left:2px solid var(--case-accent);border-radius:0 6px 6px 0;background:linear-gradient(180deg,color-mix(in srgb,var(--case-accent) 7%,transparent),transparent 40px),#0e0c098c;overflow:auto}.admin-shell{display:grid;grid-template-columns:minmax(180px,220px) minmax(0,1fr);gap:1.5rem;align-items:start}.admin-rail{display:flex;flex-direction:column;gap:0;position:sticky;top:.75rem;border-top:1px solid var(--line)}.admin-rail-item{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;text-align:left;padding:.75rem .15rem;border-radius:0;border:none;border-bottom:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;transition:color .15s,padding-left .15s}.admin-rail-item:hover{border-color:var(--line);color:var(--text);padding-left:.35rem}.admin-rail-item.active{border-color:var(--line);background:transparent;color:var(--gold);box-shadow:inset 3px 0 0 var(--gold);padding-left:.55rem}.admin-rail-label{font-family:var(--font-display);font-weight:600;font-size:1rem}.admin-rail-hint{font-size:.72rem;color:var(--muted)}.admin-stage{min-width:0;display:flex;flex-direction:column;gap:.85rem;border-top:1px solid var(--line);padding-top:.85rem}.lookup-bar{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap}.lookup-results,.lookup-block{margin-top:1.1rem}.lookup-block h3{margin:0 0 .55rem;color:var(--gold);font-size:.95rem}.host-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.host-side{display:flex;flex-direction:column;gap:1rem;min-width:0}.force-toggle{display:flex;gap:.55rem;align-items:flex-start;margin:.35rem 0 .85rem;color:var(--muted);font-size:.85rem;cursor:pointer}.force-toggle input{margin-top:.2rem}.trainer-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.7rem}.stat{background:transparent;border:none;border-left:2px solid var(--line-strong);border-radius:0;padding:.15rem 0 .15rem .75rem}.stat .label{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.stat .value{font-family:var(--font-display);font-size:1.65rem;font-weight:600;letter-spacing:-.03em;color:var(--text);margin-top:.2rem}.form-row{margin-bottom:.9rem}.form-row label{display:block;color:var(--muted);font-size:.78rem;margin-bottom:.35rem;letter-spacing:.04em;text-transform:uppercase}.form-row input,.form-row select,.form-row textarea{width:100%;background:#0000004d;border:1px solid var(--line);color:var(--text);border-radius:var(--radius-sm);padding:.65rem .8rem}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:#e0b35a73;box-shadow:0 0 0 3px #e0b35a1a}.btn-row{display:flex;gap:.55rem;flex-wrap:wrap}.btn{background:linear-gradient(135deg,var(--gold),#f0c878);color:#15110a;border:none;border-radius:var(--radius-sm);padding:.65rem 1.05rem;font-weight:700;cursor:pointer;transition:transform .15s var(--ease),box-shadow .15s;box-shadow:0 8px 20px #e0b35a29}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:transparent;color:var(--text);border:1px solid var(--line);box-shadow:none;font-family:var(--font-display);font-weight:500}.btn.secondary.danger{color:var(--danger);border-color:#e07a6a73}.btn.secondary.danger:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.pulse-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:1.1rem;margin-top:1rem}.pulse-heading{margin:0 0 .5rem;font-family:var(--font-display);color:var(--gold);font-size:.95rem}.schedule-split{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.2fr);gap:1rem;min-height:0;align-items:stretch}.schedule-form{min-width:0}.schedule-week{min-width:0;min-height:0;display:flex;flex-direction:column}.collision-banner{margin:0 0 .45rem;color:var(--danger);font-size:.8rem}.force-switch-row{display:flex;align-items:flex-start;gap:.7rem;margin:.35rem 0 .85rem}.force-switch-row p{margin:.1rem 0 0;color:var(--muted);font-size:.78rem}.force-switch{flex:0 0 auto;width:42px;height:24px;padding:2px;border-radius:999px;border:1px solid var(--line-strong);background:#00000059;cursor:pointer;position:relative}.force-switch.on{background:color-mix(in srgb,var(--gold) 35%,transparent);border-color:var(--gold)}.force-switch-knob{display:block;width:18px;height:18px;border-radius:50%;background:var(--muted);transition:transform .15s var(--ease)}.force-switch.on .force-switch-knob{transform:translate(18px);background:var(--gold)}.week-cal{display:flex;flex-direction:column;gap:.35rem;min-height:0;flex:1}.week-cal-head{display:grid;grid-template-columns:44px repeat(7,minmax(0,1fr));gap:0;text-align:center;color:var(--muted);font-size:.68rem}.week-cal-day-label{display:flex;flex-direction:column;gap:.05rem}.week-cal-day-label strong{color:var(--text);font-size:.85rem}.week-cal-body{display:grid;grid-template-columns:44px minmax(0,1fr);min-height:280px;flex:1;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.week-cal-hours{display:grid;grid-template-rows:repeat(16,minmax(18px,1fr))}.week-cal-hour-label{font-size:.58rem;color:var(--gold-dim);transform:translateY(-.4em);padding-right:.25rem;text-align:right}.week-cal-grid{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:280px}.week-cal-col{display:grid;grid-template-rows:repeat(16,minmax(18px,1fr));border-left:1px solid var(--line);cursor:pointer}.week-cal-slot{border-bottom:1px solid rgba(58,50,38,.55)}.week-cal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.week-cal-event{position:absolute;z-index:1;pointer-events:auto;overflow:hidden;text-align:left;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);background:color-mix(in srgb,var(--gold) 18%,#12100c);color:var(--text);border-radius:3px;padding:.12rem .25rem;cursor:pointer;font-size:.62rem;line-height:1.2}.week-cal-event.offduty{border-color:color-mix(in srgb,var(--cyan) 50%,transparent);background:color-mix(in srgb,var(--cyan) 16%,#12100c)}.week-cal-event.pending,.week-cal-event.draft,.week-cal-event.approved{border-style:dashed}.week-cal-event.proposed{border:1px dashed var(--gold);background:color-mix(in srgb,var(--gold) 10%,transparent)}.week-cal-event.collide{border-color:var(--danger);color:var(--text)}.week-cal-collide-layer{position:absolute;top:0;right:0;bottom:0;left:0;background:#e07a6a6b;pointer-events:none}.week-cal-event-title{position:relative;display:block;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-cal-event-meta{position:relative;display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-panel{flex:1;min-height:0;display:flex;flex-direction:column}.board-panel .month-cal{flex:1;min-height:240px}.board-panel .month-cal-grid{flex:1;min-height:0;overflow:auto;grid-auto-rows:minmax(2.2rem,1fr)}.board-panel .month-cal-day{min-height:2.2rem}.rule-list{list-style:none;margin:.85rem 0 0;padding:0;display:grid;gap:0}.rule-item{padding:.55rem 0;border-radius:0;font-size:.85rem;background:transparent;border:none;border-bottom:1px solid var(--line)}.rule-item.pass{color:var(--ok)}.rule-item.fail{color:var(--danger)}.rule-item.warning{color:var(--warn)}.case-table{width:100%;border-collapse:collapse;font-size:.82rem}.case-table th,.case-table td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--line)}.case-table th{color:var(--muted);font-weight:600;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes grow{0%{transform:scaleY(.15);opacity:.4}to{transform:scaleY(1);opacity:1}}@media(max-width:980px){.home-grid{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"hours" "calendar" "resources"}.home-grid>.resources-panel{overflow:visible}.admin-grid,.admin-shell,.folder-shell,.host-grid,.calendar-layout,.schedule-split,.pulse-split{grid-template-columns:1fr}.folder-rail{flex-direction:row;flex-wrap:wrap;position:static;padding:0 0 .35rem;gap:.3rem}.folder-rail-tab{flex:1 1 110px;border-radius:8px 8px 0 0;border-right:1px solid transparent;border-bottom:none;transform:none;margin-right:0;margin-bottom:-2px}.folder-rail-tab.active{transform:none;margin-right:0}.folder-rail-pulse,.folder-rail-schedule,.folder-rail-emt,.folder-rail-lookup,.folder-rail-queue,.folder-rail-tru,.folder-rail-cases,.folder-rail-board,.folder-rail-cadet{background:linear-gradient(180deg,#e8d29a,#c9a24e)}.folder-rail-lookup,.folder-rail-queue,.folder-rail-tru{background:linear-gradient(180deg,#9ad8e0,#6ec8d4)}.folder-rail-cases,.folder-rail-board,.folder-rail-cadet{background:linear-gradient(180deg,#b8dfa9,#9dcc8f)}.folder-stage{border-radius:0 6px 6px;border-left:1px solid color-mix(in srgb,var(--case-accent) 24%,var(--line));border-top:2px solid var(--case-accent)}.admin-rail{flex-direction:row;flex-wrap:wrap;position:static;border-top:none;gap:.35rem}.admin-rail-item{flex:1 1 140px;border:1px solid var(--line);border-bottom:1px solid var(--line);padding:.65rem .75rem}.admin-rail-item.active{box-shadow:none;border-color:var(--gold);padding-left:.75rem}.event-columns{grid-template-columns:1fr}.month-cal-day{min-height:36px}}@media(max-width:760px){.app{padding:.45rem .45rem .55rem}.case-tabs{padding:0 .45rem;gap:.2rem;overflow-x:auto}.case-tab{flex:0 0 auto;min-width:5.5rem;max-width:none;padding:.45rem .7rem .55rem;font-size:.8rem}.case-header{grid-template-columns:1fr;justify-items:center;text-align:center;gap:.45rem}.case-identity{justify-content:center;order:2}.case-brand{order:1}.case-brand img{width:40px;height:40px}.case-dek{display:none}.workspace{padding:.4rem}.app-main{padding:.55rem .65rem .75rem}.hours-hero{grid-template-columns:1fr}.month-cal-day{min-height:34px;align-items:center}.ribbon-meta span{display:none}}
