.portal{color:#f6f3eb;background:#0c0b0a;min-height:100vh}.portal .font-serif{font-variant-numeric:lining-nums}.portal .portal-card{background:#151310;border:1px solid #302a22;border-radius:16px;padding:clamp(18px,3vw,28px)}.portal label{color:#ded8cd;font-size:.875rem;display:block}.portal input:not([type=checkbox]):not([type=radio]):not([type=file]),.portal select,.portal textarea{color:#f6f3eb;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#1c1813;border:1px solid #42382c;border-radius:6px;width:100%;min-height:46px;margin-top:8px;padding:12px 14px;transition:border-color .15s;display:block}.portal input:not([readonly]):hover,.portal select:hover,.portal textarea:hover{border-color:#66543a}.portal input[readonly]{color:#b0a898;background:#171410}.portal input[type=checkbox],.portal input[type=radio]{accent-color:#c89d5c;width:18px;height:18px}.portal input:focus,.portal select:focus,.portal textarea:focus,.portal button:focus-visible,.portal a:focus-visible,.portal [tabindex]:focus-visible{outline-offset:3px;outline:2px solid #c89d5c}.portal button{cursor:pointer}.portal button:disabled{opacity:.45;cursor:not-allowed}.portal button[aria-disabled=true]{cursor:progress}.portal .portal-button{color:#0c0b0a;background:#c89d5c;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font-size:.875rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s,transform .12s;display:inline-flex}.portal .portal-button:not(:disabled):not([aria-disabled=true]):hover{background:#e3bc7c}.portal .portal-button:not(:disabled):not([aria-disabled=true]):active{transform:scale(.98)}.portal .portal-secondary{color:#e3bc7c;background:#242019;border-color:#42382c}.portal .portal-secondary:not(:disabled):not([aria-disabled=true]):hover{color:#f1d7a6;background:#2d271e;border-color:#8e682e}.portal .portal-danger{color:#fda4af;border-color:#713344}.portal .portal-danger:not(:disabled):not([aria-disabled=true]):hover{color:#fecdd3;background:#301820;border-color:#a04a5d}.portal .portal-destructive{color:#fff4f6;background:#a3354a;border-color:#c4566b}.portal .portal-destructive:not(:disabled):not([aria-disabled=true]):hover{background:#b9415a}.portal .portal-icon-button{color:#b0a898;border-radius:6px;place-items:center;width:36px;height:36px;display:inline-grid}.portal .portal-icon-button:hover{color:#f6f3eb;background:#242019}.portal .portal-link{color:#e3bc7c;text-underline-offset:4px;-webkit-text-decoration:underline #8e682e;text-decoration:underline #8e682e}.portal .portal-link:hover{color:#f1d7a6}.portal .portal-muted{color:#b0a898;font-size:.875rem;line-height:1.65}.portal .portal-eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#c89d5c;font-size:.75rem}.portal .portal-badge{color:#e3bc7c;text-transform:capitalize;border:1px solid #4b402f;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;display:inline-flex}.portal .portal-form{gap:20px;display:grid}.portal .portal-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px;display:grid}.portal .portal-inline-error{color:#f6c6cf;background:#301820;border:1px solid #713344;border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:.875rem;line-height:1.55;display:flex}.portal .portal-inline-success{color:#bddec1;background:#172119;border:1px solid #445c40;border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:.875rem;line-height:1.55;display:flex}.portal .portal-note{color:#ded8cd;background:#1d1913;border:1px solid #4b402f;border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:.875rem;line-height:1.6;display:flex}.portal .portal-hint{color:#8d8578;margin-top:6px;font-size:.75rem;line-height:1.5}.portal .portal-code-input{letter-spacing:.4em;text-indent:.4em;text-align:center;font-variant-numeric:tabular-nums;max-width:15rem;font-family:SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:1.5rem}.portal .portal-header{background:linear-gradient(#11100e 0%,#0c0b0a 100%);border-bottom:1px solid #302a22}.portal .portal-brand-divider{background:#302a22;align-self:stretch;width:1px}.portal .portal-tabs{scrollbar-width:thin;gap:8px;padding:6px 4px 18px;display:flex;overflow-x:auto}.portal .portal-tabs button{white-space:nowrap;color:#b0a898;border:1px solid #302a22;border-radius:6px;align-items:center;gap:8px;min-height:44px;padding:10px 16px;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.portal .portal-tabs button:hover{color:#ded8cd;border-color:#42382c}.portal .portal-tabs button[aria-selected=true]{color:#e3bc7c;background:#242019;border-color:#8e682e}.portal .portal-count{color:#0c0b0a;background:#c89d5c;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.75rem;font-weight:700;display:inline-grid}.portal .portal-pill{color:#ded8cd;white-space:nowrap;background:#1c1813;border:1px solid #42382c;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-size:.75rem;font-weight:500;display:inline-flex}.portal .portal-pill svg{width:14px;height:14px}.portal .portal-pill.gold{color:#f1d7a6;background:#2a2116;border-color:#8e682e}.portal .portal-pill.green{color:#bddec1;background:#172119;border-color:#445c40}.portal .portal-pill.red{color:#f6c6cf;background:#301820;border-color:#713344}.portal .portal-pill.blue{color:#c9daf5;background:#161d28;border-color:#38516f}.portal .portal-pill.muted{color:#b0a898}.portal .portal-attention{background:radial-gradient(120% 140% at 0 0,#c89d5c2e 0%,#c89d5c0a 45%,#0000 70%),#17140f;border:1px solid #8e682e;border-radius:16px;padding:clamp(18px,3vw,28px);position:relative;overflow:hidden}.portal .portal-attention-icon{color:#e3bc7c;background:#2a2116;border:1px solid #8e682e;border-radius:999px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.portal .portal-attention-icon:after{content:"";border-radius:inherit;border:1px solid #c89d5c;animation:2.4s ease-out infinite portal-ping;position:absolute;inset:-1px}@keyframes portal-ping{0%{opacity:.7;transform:scale(1)}70%,to{opacity:0;transform:scale(1.5)}}.portal .member-row{text-align:left;border:1px solid #302a22;border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;width:100%;padding:14px 16px;transition:background-color .15s,border-color .15s;display:flex}.portal .member-row:hover{background:#1c1813;border-color:#42382c}.portal .member-row.pending{background:linear-gradient(90deg,#c89d5c1f,#c89d5c05 60%);border-color:#8e682e;box-shadow:inset 3px 0 #c89d5c}.portal .member-row.pending:hover{background:linear-gradient(90deg,#c89d5c2e,#c89d5c0d 60%)}.portal .portal-avatar{object-fit:cover;color:#c89d5c;background:#242019;border:1px solid #42382c;border-radius:999px;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.portal .portal-steps{counter-reset:step;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.portal .portal-step{color:#8d8578;border-top:3px solid #302a22;padding-top:10px;font-size:.8125rem}.portal .portal-step.done{color:#ded8cd;border-color:#8e682e}.portal .portal-step.current{color:#f6f3eb;border-color:#c89d5c}.portal .photo-frame{background:#242019;border:1px solid #42382c;border-radius:999px;flex-shrink:0;place-items:center;width:128px;height:128px;transition:border-color .15s,box-shadow .15s;display:grid;position:relative;overflow:hidden}.portal .photo-frame.dragging{border-color:#c89d5c;box-shadow:0 0 0 4px #c89d5c40}.portal .photo-frame img{object-fit:cover;width:100%;height:100%}.portal .photo-progress{color:#f6f3eb;background:#0c0b0a9e;place-items:center;font-size:.8125rem;font-weight:600;display:grid;position:absolute;inset:0}.portal .photo-ring{position:absolute;inset:0;transform:rotate(-90deg)}@keyframes portal-flash{0%{background-color:#c89d5c24;box-shadow:0 0 0 2px #e3bc7cb3}to{box-shadow:0 0 #e3bc7c00}}.portal .portal-flash{animation:1.8s ease-out portal-flash}@keyframes portal-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.portal .portal-rise{animation:.32s ease-out both portal-rise}.portal-toasts{z-index:60;pointer-events:none;flex-direction:column;align-items:stretch;gap:10px;display:flex;position:fixed;bottom:16px;left:16px;right:16px}@media (width>=640px){.portal-toasts{width:400px;bottom:24px;left:auto;right:24px}}.portal-toast-stack{flex-direction:column;gap:10px;display:flex}.portal-toast{pointer-events:auto;background:#1a1713;border:1px solid #42382c;border-left-width:4px;border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;font-size:.875rem;animation:.26s cubic-bezier(.2,.8,.2,1) both portal-toast-in;display:flex;box-shadow:0 18px 40px -12px #000000b3}.portal-toast.success{border-left-color:#93cba5}.portal-toast.success>svg{color:#93cba5}.portal-toast.error{border-left-color:#e59c9c}.portal-toast.error>svg{color:#e59c9c}.portal-toast.info{border-left-color:#c89d5c}.portal-toast.info>svg{color:#e3bc7c}@keyframes portal-toast-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}html:has(dialog.portal-dialog[open]){overflow:hidden}.portal-dialog{color:#f6f3eb;background:0 0;border:0;place-items:center;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:16px;display:none;position:fixed;inset:0;overflow-y:auto}.portal-dialog[open]{display:grid}.portal-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#060504bd}.portal-dialog-panel{background:#151310;border:1px solid #42382c;border-radius:18px;width:100%;padding:clamp(22px,4vw,34px);animation:.22s cubic-bezier(.2,.8,.2,1) both portal-dialog-in;position:relative;box-shadow:0 30px 80px -20px #000000d9}@keyframes portal-dialog-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:none}}.portal-dialog-icon{color:#e3bc7c;background:#242019;border:1px solid #4b402f;border-radius:999px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.tone-danger .portal-dialog-icon{color:#fda4af;background:#301820;border-color:#713344}.tone-danger{border-top:3px solid #a3354a}.tone-caution .portal-dialog-icon{color:#f1d7a6;background:#2a2116;border-color:#8e682e}.tone-caution{border-top:3px solid #c89d5c}.portal-dialog-impact{background:#1c1813;border:1px solid #302a22;border-radius:10px;padding:12px 14px;font-size:.875rem}.portal-celebration-panel{background:radial-gradient(90% 70% at 50% 0,#c89d5c29 0%,#0000 70%),#151310;border-color:#4b402f;padding-top:clamp(32px,6vw,48px);padding-bottom:clamp(28px,5vw,40px)}@media (prefers-reduced-motion:reduce){.portal .portal-flash,.portal .portal-rise,.portal-toast,.portal-dialog-panel{animation:none}.portal .portal-attention-icon:after{opacity:0;animation:none}.portal .portal-button:not(:disabled):active{transform:none}.portal-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}.portal .font-display{font-family:Big Shoulders Display,Plus Jakarta Sans,sans-serif;font-weight:800}.portal-shell{grid-template-columns:minmax(0,1fr);min-height:100vh;display:grid}@media (width>=1024px){.portal-shell{grid-template-columns:264px minmax(0,1fr)}}.portal-sidebar{z-index:45;background:radial-gradient(140% 60% at 0 0,#c89d5c1f,#0000 60%),#100e0c;border-right:1px solid #2a241d;flex-direction:column;gap:18px;width:min(300px,86vw);padding:18px 14px;transition:transform .28s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-104%)}.portal-sidebar.open{transform:none;box-shadow:30px 0 80px -20px #000c}@media (width>=1024px){.portal-sidebar{width:auto;height:100vh;position:sticky;top:0;transform:none}.portal-topbar,.portal-tabbar,.portal-scrim,.portal .portal-mobile-only{display:none!important}}.portal-sidebar-brand{border-bottom:1px solid #2a241d;justify-content:space-between;align-items:center;gap:8px;padding:2px 6px 14px;display:flex}.portal-sidebar nav{flex:1}.portal-sidebar nav ul{gap:2px;display:grid}.portal-sidebar nav a{color:#b0a898;border-radius:10px;align-items:center;gap:12px;min-height:44px;padding:9px 12px;font-size:.9375rem;transition:background-color .16s,color .16s;display:flex;position:relative}.portal-sidebar nav a:hover{color:#f6f3eb;background:#1b1814}.portal-sidebar nav a[aria-current=page]{color:#f1d7a6;background:linear-gradient(90deg,#c89d5c2e,#c89d5c0a)}.portal-sidebar nav a[aria-current=page]:before{content:"";background:#c89d5c;border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:-14px;box-shadow:0 0 12px #e3bc7cb3}.portal-sidebar-user .portal-button{white-space:nowrap;flex-shrink:0;padding-inline:12px}.portal-sidebar-user{border-top:1px solid #2a241d;justify-content:space-between;align-items:center;gap:10px;padding:14px 6px 0;display:flex}.portal-scrim{z-index:44;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#06050499;animation:.2s both portal-fade;position:fixed;inset:0}.portal-main{flex-direction:column;min-width:0;display:flex}.portal-topbar{z-index:30;padding:8px 14px;padding-top:max(8px, env(safe-area-inset-top));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c0b0ae0;border-bottom:1px solid #2a241d;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.portal-content{width:100%;max-width:1240px;margin:0 auto;padding:clamp(18px,3vw,40px) clamp(14px,3vw,40px) 120px}@media (width>=1024px){.portal-content{padding-bottom:40px}}.portal-page-head{margin-bottom:24px}.portal-section-enter{animation:.32s cubic-bezier(.2,.8,.2,1) both portal-rise}.portal-footer{color:#8d8578;border-top:1px solid #302a22;margin-top:48px;padding-top:20px;font-size:.75rem}.portal-tabbar{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding-bottom:env(safe-area-inset-bottom);background:#100e0cf0;border-top:1px solid #2a241d;position:fixed;bottom:0;left:0;right:0}.portal-tabbar ul{grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.portal-tabbar button{letter-spacing:.02em;color:#8d8578;justify-items:center;gap:3px;width:100%;min-height:58px;padding:8px 4px;font-size:.6875rem;transition:color .16s;display:grid}.portal-tabbar button[aria-current=page]{color:#f1d7a6}.portal-tabbar button[aria-current=page] svg{filter:drop-shadow(0 0 8px #e3bc7c99)}.portal .portal-dot{background:#e59c9c;border-radius:99px;width:9px;height:9px;position:absolute;top:-2px;right:-5px;box-shadow:0 0 0 2px #100e0c}.portal .portal-subnav{background:#120f0d;border:1px solid #302a22;border-radius:12px;gap:6px;width:fit-content;max-width:100%;padding:4px;display:flex;overflow-x:auto}.portal .portal-subnav button{white-space:nowrap;color:#b0a898;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:8px 14px;font-size:.875rem;transition:background-color .16s,color .16s;display:inline-flex}.portal .portal-subnav button[aria-selected=true]{color:#f1d7a6;background:#2a2116;box-shadow:inset 0 0 0 1px #8e682e}.portal-toast-action{color:#f1d7a6;border:1px solid #8e682e;border-radius:6px;margin-top:8px;padding:6px 12px;font-size:.8125rem;font-weight:600;display:inline-flex}.portal-toast-action:hover{background:#2a2116}@keyframes portal-fade{0%{opacity:0}to{opacity:1}}.portal .blackout-layout{gap:20px;display:grid}@media (width>=1100px){.portal .blackout-layout{grid-template:"calendar sheet""calendar aside"1fr/minmax(0,1.55fr) minmax(300px,1fr);align-items:start}.portal .blackout-calendar{grid-area:calendar}.portal .blackout-aside{grid-area:aside}.portal .blackout-sheet{grid-area:sheet;margin:0;position:sticky;top:20px;bottom:auto}}.portal .blackout-calendar{gap:14px;display:grid;position:relative}.portal .blackout-nav{border:1px solid #302a22;width:44px;height:44px}.portal .blackout-presets{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.portal .blackout-chip{white-space:nowrap;color:#ded8cd;background:#18140f;border:1px solid #42382c;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:6px 14px;font-size:.8125rem;transition:all .16s;display:inline-flex}.portal .blackout-chip:hover{color:#f1d7a6;border-color:#8e682e}.portal .blackout-chip.on{color:#f1d7a6;background:#2a2116;border-color:#c89d5c;box-shadow:0 0 0 3px #c89d5c24}.portal .blackout-weekdays,.portal .blackout-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.portal .blackout-weekdays span{text-align:center;text-transform:uppercase;letter-spacing:.14em;color:#8d8578;font-size:.6875rem}.portal .blackout-grid{touch-action:pan-y;-webkit-user-select:none;user-select:none}.portal .blackout-grid.next{animation:.32s cubic-bezier(.2,.8,.2,1) both blackout-in-next}.portal .blackout-grid.previous{animation:.32s cubic-bezier(.2,.8,.2,1) both blackout-in-previous}@keyframes blackout-in-next{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}@keyframes blackout-in-previous{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:none}}.portal .blackout-day{aspect-ratio:1;background:#18140f;border:1px solid #2a241d;border-radius:12px;place-items:center;min-height:44px;transition:transform .14s,background-color .16s,border-color .16s,box-shadow .16s;display:grid;position:relative}@media (width>=640px){.portal .blackout-day{aspect-ratio:1.15}}.portal .blackout-day:not(:disabled):hover{filter:brightness(1.14);border-color:#8e682e}.portal .blackout-day:not(:disabled):active{transform:scale(.94)}.portal .blackout-day:disabled{opacity:.32;cursor:default;background:0 0}.portal .blackout-number{font-variant-numeric:tabular-nums;font-size:clamp(.9375rem,2.6vw,1.125rem)}.portal .blackout-day.today .blackout-number{color:#e3bc7c;font-weight:700}.portal .blackout-day.today:after{content:"";background:#c89d5c;border-radius:2px;width:14px;height:2px;position:absolute;bottom:7px}.portal .blackout-day.unavailable{color:#fde2e6;background:repeating-linear-gradient(135deg,#e59c9c42 0 6px,#e59c9c1a 6px 12px),#241316;border-color:#7a3343}.portal .blackout-day.tentative{color:#f1d7a6;background:#e3bc7c1f;border-style:dashed;border-color:#8e682e}.portal .blackout-day.partial-unavailable{background:linear-gradient(0deg,#e59c9c4d 0 34%,#0000 34%),#18140f;border-color:#5d2c36}.portal .blackout-day.partial-tentative{background:linear-gradient(0deg,#e3bc7c3d 0 34%,#0000 34%),#18140f}.portal .blackout-day.selected{border-color:#e3bc7c;transform:translateY(-1px);box-shadow:0 0 0 2px #c89d5c,0 8px 22px -10px #c89d5ccc}.portal .blackout-day.conflict{animation:2.2s ease-in-out infinite blackout-pulse;box-shadow:0 0 0 2px #e59c9c}@keyframes blackout-pulse{50%{box-shadow:0 0 0 4px #e59c9c59}}.portal .blackout-marks{color:#ded8cd;gap:2px;display:flex;position:absolute;top:5px;right:5px}.portal .blackout-marks .gig{color:#e3bc7c}.portal .blackout-check{color:#0c0b0a;background:#c89d5c;border-radius:99px;place-items:center;width:20px;height:20px;animation:.22s cubic-bezier(.3,1.6,.5,1) both blackout-pop;display:grid;position:absolute;top:-6px;left:-6px}@keyframes blackout-pop{0%{transform:scale(0)}to{transform:scale(1)}}.portal .blackout-legend{color:#b0a898;flex-wrap:wrap;gap:8px 16px;font-size:.75rem;display:flex}.portal .blackout-legend li{align-items:center;gap:6px;display:inline-flex}.portal .swatch{border-radius:4px;width:14px;height:14px;display:inline-block}.portal .swatch.unavailable{background:repeating-linear-gradient(135deg,#e59c9c99 0 3px,#e59c9c40 3px 6px);border:1px solid #7a3343}.portal .swatch.tentative{background:#e3bc7c40;border:1px dashed #c89d5c}.portal .blackout-sheet{bottom:calc(70px + env(safe-area-inset-bottom));z-index:20;background:linear-gradient(#221c14,#17130f);border:1px solid #8e682e;border-radius:16px;gap:14px;margin:-8px 0 0;padding:18px;animation:.3s cubic-bezier(.2,.8,.2,1) both blackout-sheet-in;display:grid;position:sticky;box-shadow:0 -20px 50px -18px #000000d9,0 0 0 1px #c89d5c1f}@media (width>=1024px) and (width<=1099px){.portal .blackout-sheet{bottom:16px}}@keyframes blackout-sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.portal .blackout-segment{background:#0f0d0b;border:1px solid #302a22;border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;width:100%;padding:4px;display:grid}.portal .blackout-segment button{color:#b0a898;border-radius:8px;min-height:40px;padding:8px 10px;font-size:.875rem;font-weight:500;transition:all .18s}.portal .blackout-segment button.on{color:#f6f3eb;background:#2a2116;box-shadow:inset 0 0 0 1px #8e682e}.portal .blackout-segment button.on.unavailable{color:#fde2e6;background:#3a1820;box-shadow:inset 0 0 0 1px #a04a5d}.portal .blackout-segment button.on.tentative{color:#f1d7a6;background:#2e2414;box-shadow:inset 0 0 0 1px #c89d5c}.portal .blackout-segment button.on.available{color:#bddec1;background:#172119;box-shadow:inset 0 0 0 1px #445c40}.portal .blackout-empty{text-align:center;color:#b0a898;justify-items:center;gap:10px;padding:28px 12px 12px;font-size:.875rem;display:grid}.portal .blackout-empty svg{color:#c89d5c;opacity:.8}.portal .blackout-item{border:1px solid #302a22;border-left-width:4px;border-radius:12px;align-items:center;gap:4px;padding:10px 6px 10px 14px;transition:background-color .16s,border-color .16s;display:flex}.portal .blackout-item.unavailable{border-left-color:#e59c9c}.portal .blackout-item.tentative{border-left-color:#e3bc7c}.portal .blackout-item.available{border-left-color:#93cba5}.portal .blackout-item:hover,.portal .blackout-item.highlight{background:#1c1813}.portal .blackout-conflict{color:#f6c6cf;background:linear-gradient(90deg,#a3354a38,#30182099);border:1px solid #713344;border-radius:14px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.portal .blackout-confirm{background:#1a1610;border:1px solid #4b402f;border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;display:flex}.portal .gig-card{background:radial-gradient(120% 120% at 0 0,#9bbcf00f,#0000 50%),#151310;border:1px solid #302a22;border-radius:16px;gap:18px;padding:clamp(16px,3vw,24px);display:flex}.portal .gig-card.conflict{border-color:#713344}.portal .gig-card.cancelled{opacity:.6}.portal .gig-date{text-transform:uppercase;letter-spacing:.14em;color:#b0a898;background:#1f1a14;border:1px solid #42382c;border-radius:12px;flex-shrink:0;align-content:start;align-self:flex-start;justify-items:center;width:64px;padding:10px 0;font-size:.6875rem;display:grid}.portal .gig-date strong{color:#f1d7a6;letter-spacing:0;font-family:Big Shoulders Display,sans-serif;font-size:2rem;font-weight:800;line-height:1}.portal .calendar-summaries{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}@media (width<=639px){.portal .calendar-summaries{scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -14px;padding:0 14px 4px;display:flex;overflow-x:auto}.portal .calendar-summaries>*{scroll-snap-align:start;flex:0 0 78%}}.portal .calendar-summary{transition:border-color .16s,transform .16s;display:block}.portal .calendar-summary:hover{border-color:#4b402f}.portal .calendar-summary.alert{border-color:#713344}.portal .calendar-progress{background:#26211b;border-radius:99px;height:6px;margin-top:10px;display:block;overflow:hidden}.portal .calendar-progress span{border-radius:inherit;background:linear-gradient(90deg,#8e682e,#e3bc7c);height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1);display:block}.portal .calendar-person{border:1px solid #302a22;border-radius:99px;align-items:center;gap:8px;padding:4px 12px 4px 4px;font-size:.8125rem;display:inline-flex}.portal .calendar-warning{text-align:left;border:1px solid #302a22;border-left-width:4px;border-radius:12px;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;transition:background-color .16s;display:flex}.portal .calendar-warning:hover{background:#1c1813}.portal .calendar-warning.red{border-left-color:#e59c9c}.portal .calendar-warning.red>svg{color:#e59c9c}.portal .calendar-warning.gold{border-left-color:#e3bc7c}.portal .calendar-warning.gold>svg{color:#e3bc7c}.portal .calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.portal .calendar-filters{background:#110f0c;border:1px solid #302a22;border-radius:14px;gap:16px;margin-bottom:18px;padding:16px;display:grid}.portal .calendar-filters legend{text-transform:uppercase;letter-spacing:.16em;color:#c89d5c;margin-bottom:8px;font-size:.6875rem}.portal .state-dot{border-radius:99px;flex-shrink:0;width:9px;height:9px;display:inline-block}.portal .state-dot.available{background:#93cba5}.portal .state-dot.unconfirmed{background:0 0;box-shadow:inset 0 0 0 2px #8d8578}.portal .state-dot.tentative{background:#e3bc7c}.portal .state-dot.booked{background:#9bbcf0}.portal .state-dot.unavailable{background:#e59c9c}.portal .state-pill{color:#ded8cd;border:1px solid #302a22;border-radius:99px;flex-shrink:0;align-items:center;gap:6px;padding:3px 10px;font-size:.75rem;display:inline-flex}.portal .state-pill.unavailable{color:#f6c6cf;border-color:#713344}.portal .state-pill.tentative{color:#f1d7a6;border-color:#8e682e}.portal .state-pill.available{color:#bddec1;border-color:#445c40}.portal .state-pill.booked{color:#c9daf5;border-color:#38516f}.portal .calendar-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.portal .calendar-weekday{text-transform:uppercase;letter-spacing:.14em;color:#8d8578;text-align:center;padding:6px 2px;font-size:.6875rem}.portal .calendar-cell{text-align:left;background:#15120f;border:1px solid #262019;border-radius:10px;flex-direction:column;gap:4px;min-height:clamp(72px,11vw,124px);padding:6px;transition:border-color .16s,background-color .16s;display:flex;overflow:hidden}.portal .calendar-cell:hover{background:#1a1612;border-color:#4b402f}.portal .calendar-cell.outside{opacity:.4}.portal .calendar-cell.today .calendar-date{color:#0c0b0a;background:#c89d5c}.portal .calendar-cell.inspecting{background:#1d1813;border-color:#c89d5c;box-shadow:inset 0 0 0 1px #c89d5c}.portal .calendar-date{font-variant-numeric:tabular-nums;border-radius:99px;place-items:center;min-width:26px;height:26px;padding:0 6px;font-size:.8125rem;font-weight:600;display:inline-grid}.portal .calendar-chips{gap:3px;min-width:0;display:grid}.portal .calendar-gig,.portal .calendar-request{text-overflow:ellipsis;white-space:nowrap;border-radius:5px;padding:2px 6px;font-size:.6875rem;display:block;overflow:hidden}.portal .calendar-gig{color:#c9daf5;background:#9bbcf029;border-left:3px solid #9bbcf0}.portal .calendar-gig.tentative{background:#9bbcf014;border-left-style:dashed}.portal .calendar-request{color:#f1d7a6;border:1px dashed #8e682e}.portal .calendar-more{color:#8d8578;font-size:.6875rem}.portal .calendar-faces{flex-wrap:wrap;gap:2px;margin-top:auto;display:flex}.portal .calendar-face{letter-spacing:.02em;color:#ded8cd;background:#2a2420;border-radius:99px;place-items:center;width:22px;height:22px;font-size:.5625rem;font-weight:700;display:inline-grid}.portal .calendar-face.unavailable{color:#fde2e6;background:#5b2431}.portal .calendar-face.tentative{color:#f1d7a6;background:#4a3a1e}.portal .calendar-face.booked{color:#c9daf5;background:#243650}.portal .calendar-face.unconfirmed{background:0 0;box-shadow:inset 0 0 0 1px #6f675b}.portal .calendar-face.partial{opacity:.8;box-shadow:inset 0 0 0 2px #0c0b0a}.portal .calendar-face.more{color:#8d8578;background:0 0}@media (width<=639px){.portal .calendar-gig,.portal .calendar-request,.portal .calendar-more,.portal .calendar-cell .feasibility,.portal .calendar-face:nth-child(n+3){display:none}}.portal .feasibility{border:1px solid;border-radius:99px;align-items:center;gap:6px;padding:3px 9px;font-size:.75rem;display:inline-flex}.portal .feasibility.compact{padding:3px}.portal .feasibility.green{color:#bddec1;background:#172119;border-color:#445c40}.portal .feasibility.gold{color:#f1d7a6;background:#2a2116;border-color:#8e682e}.portal .feasibility.red{color:#f6c6cf;background:#301820;border-color:#713344}.portal .calendar-week-wrap{margin:0 -6px;padding:0 6px;overflow-x:auto}.portal .calendar-week{table-layout:fixed;border-collapse:separate;border-spacing:3px;width:100%;min-width:760px}.portal .calendar-week thead th{vertical-align:top;text-align:left;border-radius:10px;padding:6px}.portal .calendar-week thead th.today button .font-serif{color:#e3bc7c}.portal .calendar-week thead th.inspecting{background:#1d1813;box-shadow:inset 0 0 0 1px #8e682e}.portal .calendar-week tbody th{text-align:left;width:190px;max-width:190px;padding:4px 8px 4px 0;font-size:.875rem;font-weight:400}.portal .calendar-week .calendar-group th{text-transform:uppercase;letter-spacing:.16em;color:#c89d5c;padding:14px 0 4px;font-size:.6875rem}.portal .calendar-week td{padding:0}.portal .week-block{background:#191612;border:1px solid #262019;border-radius:7px;height:30px;display:block}.portal .week-block.unavailable{background:repeating-linear-gradient(135deg,#e59c9c73 0 5px,#e59c9c2e 5px 10px);border-color:#7a3343}.portal .week-block.tentative{background:#e3bc7c38;border:1px dashed #c89d5c}.portal .week-block.booked{background:#9bbcf04d;border-color:#38516f}.portal .week-block.available{background:#93cba524;border-color:#2d4232}.portal .week-block.partial{background-position:bottom;background-repeat:no-repeat;background-size:100% 50%}.portal .calendar-day-view{gap:4px;display:grid;overflow-x:auto}.portal .day-axis{color:#8d8578;min-width:520px;height:22px;margin-left:190px;font-size:.6875rem;position:relative}.portal .day-axis span{white-space:nowrap;position:absolute;transform:translate(-50%)}.portal .day-axis span:last-child{transform:translate(-100%)}.portal .day-row{grid-template-columns:190px minmax(520px,1fr);align-items:center;gap:0;min-height:36px;display:grid}.portal .day-label{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;padding-right:10px;font-size:.875rem;display:flex;overflow:hidden}.portal .day-track{background:repeating-linear-gradient(90deg,#1a1612 0 calc(16.6667% - 1px),#2a241d calc(16.6667% - 1px) 16.6667%);border-radius:8px;height:30px;position:relative}.portal .day-shade{background:#9bbcf017;border-inline:1px dashed #9bbcf059;position:absolute;top:0;bottom:0}.portal .day-block{border-radius:6px;position:absolute;top:4px;bottom:4px}.portal .day-block.unavailable{background:repeating-linear-gradient(135deg,#e59c9cb3 0 5px,#e59c9c59 5px 10px)}.portal .day-block.tentative{background:#e3bc7c73;border:1px dashed #e3bc7c}.portal .day-block.booked{background:#9bbcf08c}.portal .day-row.gigs .day-track{background:#141e2c}.portal .day-gig{white-space:nowrap;text-overflow:ellipsis;color:#e6efff;text-align:left;background:#2e4a72;border-radius:6px;padding:0 8px;font-size:.75rem;position:absolute;top:3px;bottom:3px;overflow:hidden}.portal .day-gig.tentative{background:#23354f;outline:1px dashed #9bbcf0}.portal .day-group{text-transform:uppercase;letter-spacing:.16em;color:#c89d5c;margin-top:10px;font-size:.6875rem}.portal .calendar-inspector{border-color:#4b402f}.portal .inspector-row{border-radius:10px;align-items:center;gap:10px;padding:7px 8px;display:flex}.portal .inspector-row:hover{background:#1a1612}.portal .inspector-config{border:1px solid #302a22;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.portal .inspector-gig{border:1px solid #302a22;border-left:4px solid #9bbcf0;border-radius:12px;padding:12px 14px}.portal .inspector-gig.tentative{border-left-style:dashed}.portal .inspector-gig.cancelled{opacity:.55;border-left-color:#6f675b}.portal .inspector-gig.request{border-left-style:dashed;border-left-color:#e3bc7c}.portal .portal-staffing{border:1px solid;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:.875rem;display:flex}.portal .portal-staffing.green,.portal-dialog .portal-staffing.green{color:#bddec1;background:#172119;border-color:#445c40}.portal .portal-staffing.gold,.portal-dialog .portal-staffing.gold{color:#f1d7a6;background:#2a2116;border-color:#8e682e}.portal .portal-staffing.red,.portal-dialog .portal-staffing.red{color:#f6c6cf;background:#301820;border-color:#713344}.portal .lineup-seat{grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.portal .lineup-seat select{margin-top:0!important}.portal .lineup-instrument{color:#e3bc7c;font-size:.875rem}@media (width<=520px){.portal .lineup-seat{grid-template-columns:minmax(0,1fr) auto}.portal .lineup-instrument{grid-column:1/-1}}.portal .ensemble-card.inactive{opacity:.7}.portal .ensemble-seat{background:#1f1a14;border:1px solid #42382c;border-radius:99px;padding:5px 12px;font-size:.8125rem}.portal .ensemble-seat.retired{color:#8d8578;text-decoration:line-through}.portal .ensemble-editor{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;display:grid}.portal .ensemble-editor li,.portal-dialog .ensemble-editor li{border:1px solid #302a22;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:4px 4px 4px 12px;transition:border-color .16s,background-color .16s;display:flex}.portal .ensemble-editor li.on{background:#1f1a12;border-color:#8e682e}.portal .overview-hero{background:radial-gradient(90% 120% at 100% 0,#c89d5c29,#0000 55%),radial-gradient(60% 80% at 0 100%,#9bbcf00f,#0000 60%),#14110e;border:1px solid #3a3127;border-radius:20px;padding:clamp(20px,4vw,36px)}.portal .overview-attention{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.portal .overview-card{text-align:left;background:#151310;border:1px solid #302a22;border-radius:16px;justify-items:start;gap:8px;width:100%;height:100%;padding:18px;transition:border-color .18s,transform .18s,box-shadow .18s;display:grid;position:relative}.portal .overview-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px -22px #000000e6}.portal .overview-card.gold{border-color:#8e682e}.portal .overview-card.red{border-color:#713344}.portal .overview-icon{color:#e3bc7c;background:#241f18;border-radius:99px;place-items:center;width:38px;height:38px;display:grid}.portal .overview-card.red .overview-icon{color:#f6c6cf;background:#301820}.portal .overview-arrow{color:#6f675b;transition:transform .18s,color .18s;position:absolute;top:18px;right:18px}.portal .overview-card:hover .overview-arrow{color:#e3bc7c;transform:translate(3px)}.portal .overview-activity{margin-top:12px;display:grid}.portal .overview-activity li{border-bottom:1px solid #221d18;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;font-size:.875rem;display:flex}.portal .overview-activity li:last-child{border-bottom:0}@media (prefers-reduced-motion:reduce){.portal-sidebar,.portal-section-enter,.portal .blackout-grid.next,.portal .blackout-grid.previous,.portal .blackout-sheet,.portal .blackout-check,.portal-scrim{transition:none;animation:none}.portal .blackout-day.conflict{animation:none}.portal .blackout-day:not(:disabled):active,.portal .overview-card:hover{transform:none}}.portal .portal-search{color:#b0a898;background:#1c1813;border:1px solid #42382c;border-radius:8px;align-items:center;gap:8px;min-height:42px;padding:0 12px;display:flex}.portal .portal-search:focus-within{border-color:#c89d5c}.portal .portal-search input{outline:none;max-width:52vw;background:0 0!important;border:0!important;width:14rem!important;min-height:40px!important;margin:0!important;padding:0!important}.portal select.portal-select{width:auto;min-height:42px;margin-top:0;padding:8px 12px}.portal .portal-chip{color:#ded8cd;background:#1c1813;border:1px solid #42382c;border-radius:999px;align-items:center;min-height:36px;padding:6px 12px;font-size:.8125rem;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.portal .portal-chip:hover{border-color:#8e682e}.portal .portal-chip.on{color:#f1d7a6;background:#2a2116;border-color:#c89d5c}.portal .booking-list,.portal .chart-rows{gap:10px;display:grid}.portal .booking-row,.portal .chart-row{text-align:left;background:#151310;border:1px solid #302a22;border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;width:100%;padding:14px 16px;transition:background-color .15s,border-color .15s;display:flex}.portal .booking-row:hover,.portal .chart-row:hover{background:#1c1813;border-color:#42382c}.portal .booking-row.is-new{border-color:#8e682e;box-shadow:inset 3px 0 #c89d5c}.portal .booking-date{text-transform:uppercase;letter-spacing:.1em;color:#b0a898;background:#1f1a14;border:1px solid #42382c;border-radius:10px;place-items:center;width:54px;height:58px;font-size:.6875rem;line-height:1.1;display:grid}.portal .booking-date b{color:#f1d7a6;letter-spacing:0;font-family:Big Shoulders Display,Plus Jakarta Sans,sans-serif;font-size:1.5rem;font-weight:800}.portal .booking-row>span.flex,.portal .chart-row>span.flex{margin-left:auto}.portal .booking-facts{gap:2px;margin-top:8px;display:grid}.portal .booking-fact{border-bottom:1px solid #241f19;grid-template-columns:7.5rem 1fr;gap:12px;padding:8px 0;font-size:.9rem;display:grid}.portal .booking-fact dt{color:#8d8578;text-transform:uppercase;letter-spacing:.08em;padding-top:2px;font-size:.75rem}.portal .booking-fact dd{color:#ece6d8;overflow-wrap:anywhere}.portal .booking-charts{gap:6px;margin-top:8px;padding-left:1.4rem;list-style:decimal;display:grid}.portal .chart-links{gap:10px;margin-top:16px;display:grid}.portal .chart-links>li{background:#120f0d;border:1px solid #302a22;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.portal .import-table{border-collapse:collapse;width:100%;font-size:.875rem}.portal .import-table th{text-align:left;text-transform:uppercase;letter-spacing:.1em;color:#8d8578;border-bottom:1px solid #302a22;padding:8px 10px;font-size:.6875rem;font-weight:500}.portal .import-table td{vertical-align:top;border-bottom:1px solid #241f19;padding:10px}.portal .import-table tr.needs-attention td:first-child{box-shadow:inset 3px 0 #c89d5c}.portal .import-table select.portal-select{min-width:13rem}.portal .media-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:14px;display:grid}.portal .media-tile{background:#151310;border:1px solid #302a22;border-radius:12px;overflow:hidden}.portal .media-thumb{aspect-ratio:4/3;background:#0f0d0b;place-items:center;width:100%;display:grid;overflow:hidden}.portal .media-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.portal .media-thumb:hover img{transform:scale(1.04)}
