/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}:host,:root{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-900:oklch(35.9% .144 278.697);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-white:#fff;--spacing:.25rem;--container-4xl:56rem;--text-xl:1.25rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);border-width:0}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.max-w-4xl{max-width:var(--container-4xl)}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-indigo-100{border-color:var(--color-indigo-100)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-white{background-color:var(--color-white)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-indigo-50\/70{--tw-gradient-from:#eef2ffb3}@supports (color:color-mix(in lab,red,red)){.from-indigo-50\/70{--tw-gradient-from:color-mix(in oklab,var(--color-indigo-50) 70%,transparent)}}.from-indigo-50\/70{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-white{--tw-gradient-via:var(--color-white);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-via) var(--tw-gradient-via-position),var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-slate-50{--tw-gradient-to:var(--color-slate-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-12{padding:calc(var(--spacing) * 12)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:1.5rem;line-height:var(--tw-leading,2rem)}.text-base{font-size:1rem;line-height:var(--tw-leading,1.5rem)}.text-sm{font-size:.875rem;line-height:var(--tw-leading,1.25rem)}.text-xs{font-size:.75rem;line-height:var(--tw-leading,1rem)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-800{color:var(--color-emerald-800)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-700{color:var(--color-indigo-700)}.text-indigo-900{color:var(--color-indigo-900)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:bg-emerald-700:hover{background-color:var(--color-emerald-700)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}}@media (min-width:40rem){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}}@media (min-width:48rem){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--vamp-v3-gradient-from-position: ;--vamp-v3-gradient-via-position: ;--vamp-v3-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.space-y-2\.5>:not(:last-child),.space-y-4>:not(:last-child),.space-y-6>:not(:last-child){margin-block:0}.absolute{position:absolute}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border-indigo-100{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--vamp-v3-gradient-stops))}.from-indigo-50\/70{--vamp-v3-gradient-from:#eef2ffb3 var(--vamp-v3-gradient-from-position);--vamp-v3-gradient-to:#eef2ff00 var(--vamp-v3-gradient-to-position);--vamp-v3-gradient-stops:var(--vamp-v3-gradient-from),var(--vamp-v3-gradient-to)}.via-white{--vamp-v3-gradient-to:#fff0 var(--vamp-v3-gradient-to-position);--vamp-v3-gradient-stops:var(--vamp-v3-gradient-from),#fff var(--vamp-v3-gradient-via-position),var(--vamp-v3-gradient-to)}.to-slate-50{--vamp-v3-gradient-to:#f8fafc var(--vamp-v3-gradient-to-position)}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-indigo-900{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline{outline-style:solid}.hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.outline{outline-width:medium}:root{--red:#c81d41;--red-h:#a8152f;--red-bg:#c81d4112;--bg:#f8f8fa;--surface:#fff;--card2:#f4f4f6;--border:#00000017;--text:#111118;--muted:#71717a;--tag:#f4f4f6;--tag-t:#52525b;--green:#059669;--amber:#d97706;--blue:#4f46e5;--blue-bg:#4f46e514;--cell-confirmed:#05966914;--cell-pending:#d9770614;--cell-overseas:#4f46e514;--venue-color-1-border:#3b82f6;--venue-color-1-bg:#eff5fe;--venue-color-1-text:#1d4ed8;--venue-color-2-border:#10b981;--venue-color-2-bg:#ebf9f5;--venue-color-2-text:#047857;--venue-color-3-border:#f97316;--venue-color-3-bg:#fff4ec;--venue-color-3-text:#c2410c;--venue-color-4-border:#eab308;--venue-color-4-bg:#fefaf0;--venue-color-4-text:#78350f;--venue-color-5-border:#8b5cf6;--venue-color-5-bg:#f6f2fe;--venue-color-5-text:#5b21b6;--venue-color-6-border:#06b6d4;--venue-color-6-bg:#ecfcff;--venue-color-6-text:#0e7490;--ring:0 0 0 3px #2563eb2e;--shadow-sm:0 1px 3px #0000000f,0 1px 2px #0000000a;--shadow:0 4px 16px #00000014,0 2px 6px #0000000a;--shadow-md:0 8px 24px #0000001a,0 4px 8px #0000000d;--shadow-lg:0 16px 48px #0000001f,0 8px 16px #0000000f;--font-base:var(--font-plus-jakarta),system-ui,-apple-system,sans-serif;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-md:.9375rem;--font-size-lg:1.125rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:2.75rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-base:.25s cubic-bezier(.4,0,.2,1);--transition-slow:.4s cubic-bezier(.4,0,.2,1);--transition-smooth:all .25s cubic-bezier(.4,0,.2,1)}:root,[data-theme=light]{--bg-canvas:#f8f8fa;--bg-surface:#fff;--bg-card:#fff;--bg-card-hover:#f9f9fb;--bg-raised:#f4f4f6;--bg-input:#f2f2f4;--border-subtle:#0000000d;--border-default:#00000017;--border-strong:#00000029;--text-primary:#111118;--text-secondary:#52525b;--text-tertiary:#a1a1aa;--text-inverse:#fff;--text-main:#111118;--text-muted:#52525b;--accent-brand:#2563eb;--accent-brand-dim:#2563eb12;--accent-brand-glow:#2563eb1f;--accent-pink:#2563eb;--accent-pink-glow:#2563eb12;--accent-green:#059669;--accent-green-dim:#05966914;--accent-amber:#d97706;--accent-amber-dim:#d9770614;--accent-blue:#4f46e5;--accent-blue-dim:#4f46e514;--accent-purple:#7c3aed;--accent-purple-dim:#7c3aed14;--shadow-main:0 4px 16px #00000014,0 2px 6px #0000000a;--shadow-brand:0 0 20px #2563eb1f;--bg-primary:#f8f8fa;--bg-secondary:#fff;--card-bg:#fff;--card-border:#00000017;--sidebar-bg:#fff;--nav-active-bg:#2563eb12;--nav-active-border:#2563eb}[data-theme=light]{--red:#c81d41;--red-h:#a8152f;--red-bg:#c81d4112;--bg:#f8f8fa;--surface:#fff;--card2:#f4f4f6;--border:#00000017;--text:#111118;--muted:#71717a;--green:#059669;--amber:#d97706;--shadow-sm:0 1px 3px #0000000f;--shadow:0 4px 16px #00000014;--shadow-md:0 8px 24px #0000001a;--shadow-lg:0 16px 48px #0000001f}*{box-sizing:border-box;margin:0;padding:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{font-family:var(--font-base);background:var(--bg-canvas);color:var(--text-primary);min-height:100vh;font-size:var(--font-size-sm);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}.hdr{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;box-shadow:var(--shadow-sm);align-items:center;gap:20px;padding:14px 28px;display:flex;position:sticky;top:0}.logo{letter-spacing:4px;color:var(--accent-brand);font-size:20px;font-weight:900}.logo,.logo-sub{text-transform:uppercase}.logo-sub{color:var(--muted);letter-spacing:1px;margin-top:2px;font-size:10px}.steps{flex:1;justify-content:center;gap:0}.si,.steps{align-items:center;display:flex}.si{cursor:pointer;opacity:.35;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;color:inherit;background:0 0;border:none;gap:7px;padding:5px 14px;font-family:inherit;font-size:11px;font-weight:700;transition:opacity .2s}.si.active{opacity:1}.si.done{opacity:.6}.si.done .sn{background:var(--green);color:#fff;border-color:var(--green)}.sn{background:var(--card2);border:1px solid var(--border);width:20px;height:20px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:800;display:flex}.si.active .sn{background:var(--red);border-color:var(--red);color:#fff}.sc{background:var(--border);width:20px;height:1px}.main{max-width:900px;margin:0 auto;padding:28px 20px}.pg-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:4px;line-height:1.2}.pg-desc{color:var(--text-secondary);margin-bottom:28px;line-height:1.6}.btn,.pg-desc{font-size:var(--font-size-sm)}.btn{border-radius:var(--radius-md);cursor:pointer;transition:filter var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);letter-spacing:.01em;font-weight:600;font-family:var(--font-base);border:none;align-items:center;gap:6px;padding:9px 18px;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-p{background:var(--accent-brand);color:#fff}.btn-p:hover:not(:disabled){filter:brightness(1.1);box-shadow:var(--shadow-brand);transform:translateY(-1px)}.btn-g{color:var(--text-secondary);border:1px solid var(--border-default);background:0 0}.btn-g:hover:not(:disabled){background:var(--bg-raised);color:var(--text-primary);border-color:var(--border-strong)}.btn-sm{font-size:var(--font-size-xs);border-radius:var(--radius-sm);padding:5px 12px}.btn-icon{box-sizing:border-box;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:5px 8px;font-size:14px;line-height:1;display:inline-flex}.btn-d{color:var(--accent-brand);border:1px solid var(--accent-brand-dim);background:0 0}.btn-d:hover:not(:disabled){background:var(--accent-brand-dim)}.btn:active:not(:disabled){transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--accent-brand);outline-offset:2px;box-shadow:none}.fg{margin-bottom:14px}.fl{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.fi,.fs,.fta{background:var(--bg-input);border:1px solid var(--border-default);width:100%;color:var(--text-primary);border-radius:var(--radius-md);font-size:16px;font-family:var(--font-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);padding:9px 14px}.fi:focus,.fs:focus,.fta:focus{border-color:var(--accent-brand);background:var(--bg-surface);box-shadow:0 0 0 3px var(--accent-brand-dim);outline:none}.fs option{background:var(--bg-surface);color:var(--text-primary)}.fta{resize:vertical;min-height:72px}.g2{grid-template-columns:1fr 1fr}.g2,.g3{gap:14px;display:grid}.g3{grid-template-columns:1fr 1fr 1fr}.gp-grid{flex-wrap:wrap;gap:6px;display:flex}.gp{box-sizing:border-box;border:1px solid var(--border);cursor:pointer;min-height:44px;color:var(--muted);-webkit-user-select:none;-moz-user-select:none;user-select:none;background:var(--surface);border-radius:99px;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.gp.on{background:var(--red-bg);border-color:var(--red);color:var(--red)}.tbl{border-collapse:collapse;background:var(--bg-card);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);border:1px solid var(--border-default);overflow:hidden}.tbl th{text-align:left;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;background:var(--bg-raised);font-size:11px;font-weight:700}.tbl td,.tbl th{border-bottom:1px solid var(--border-subtle);padding:14px 20px}.tbl td{font-size:var(--font-size-sm);vertical-align:middle;background:var(--bg-card);color:var(--text-primary);transition:background var(--transition-fast)}.tbl tr:last-child td{border-bottom:none}.tbl tr:hover td{background:var(--bg-card-hover)}.tag{background:var(--tag);color:var(--tag-t);border-radius:99px;margin:1px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.tag-r{background:var(--red-bg);color:var(--red);border:1px solid #f5c0c8}.tag-g{color:var(--green);background:#edf8f2;border:1px solid #b8e8cf}.tag-a{color:var(--amber);background:#fff8ec;border:1px solid #f5dcaa}.ov{z-index:200;backdrop-filter:blur(4px);background:#00000052;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);width:100%;max-width:580px;max-height:90vh;box-shadow:var(--shadow-lg);border-radius:12px;padding:24px;overflow-y:auto}.modal-lg{max-width:720px}.mtitle{border-bottom:1px solid var(--border);margin-bottom:18px;padding-bottom:14px;font-size:17px;font-weight:800}.mact{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;display:flex}.rule-row{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:8px;align-items:center;gap:10px;margin-bottom:7px;padding:12px 16px;display:flex}.rule-names{flex:1;font-size:13px;line-height:1.4}.rule-note{color:var(--muted);margin-top:2px;font-size:11px}.tc{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;margin-bottom:12px;overflow:hidden}.tc-hdr{background:var(--card2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.tc-name{font-size:14px;font-weight:800}.tc-body{padding:14px 16px}.slot-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:8px 0;display:flex}.slot-row:last-child{border-bottom:none}.slot-inst{width:110px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;padding-top:3px;font-size:11px;font-weight:700}.slot-prefs{flex-wrap:wrap;gap:5px;display:flex}.pp,.slot-prefs{align-items:center}.pp{background:var(--card2);border:1px solid var(--border);border-radius:99px;gap:4px;padding:2px 7px 2px 9px;font-size:12px;display:inline-flex}.pp-n{color:var(--red);font-size:10px;font-weight:800}.stat-grid{grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:24px;display:grid}.stat-box{background:var(--surface);border:1px solid var(--border);text-align:center;box-shadow:var(--shadow);border-radius:10px;padding:18px}.stat-n{color:var(--red);font-size:34px;font-weight:900}.stat-l{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-top:3px;font-size:11px}.nav-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:28px;padding-top:20px;display:flex}.nav-hint{color:var(--muted);font-size:12px}.empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;padding:56px 20px;display:flex}.empty-icon{opacity:.5;margin-bottom:6px;font-size:40px}.acc{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:8px;margin-bottom:8px;overflow:hidden}.acc-hdr{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:13px 16px;display:flex}.acc-hdr:hover{background:var(--card2)}.acc-title{font-size:13px;font-weight:700}.acc-body{color:var(--muted);padding:0 16px 14px;font-size:13px}.divider{background:var(--border);height:1px;margin:20px 0}.section-sub{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-top:18px;margin-bottom:10px;font-size:12px;font-weight:700}.flex-row{gap:8px}.flex-between,.flex-row{align-items:center;display:flex}.flex-between{justify-content:space-between}.slot-editor{background:var(--card2);border:1px solid var(--border);border-radius:8px;margin-bottom:10px;padding:14px}.toggle-pill{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;gap:6px;display:inline-flex}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#d0d0d8;border-radius:3px}.nav-links{flex:1;align-items:center;gap:4px;display:flex}.nav-link{letter-spacing:.4px;text-transform:uppercase;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:700;text-decoration:none;transition:background .15s,color .15s}.nav-link:hover{background:var(--card2);color:var(--text)}.nav-link.active{background:var(--red-bg);color:var(--red)}.admin-layout{min-height:100vh;display:flex;position:relative}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border-default);z-index:90;flex-direction:column;width:220px;padding:24px 0 12px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{border-bottom:1px solid var(--border-subtle);margin-bottom:8px;padding:0 24px 20px}.sidebar-logo-mark{letter-spacing:.18em;font-size:20px}.mob-logo-mark,.sidebar-logo-mark{color:var(--accent-brand);font-weight:800;font-family:var(--font-base);-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1;display:block}.mob-logo-mark{letter-spacing:.16em;font-size:16px}.mob-brand-logo-wrap,.portal-logo-wrap,.sidebar-logo-wrap{align-self:center;align-items:center;line-height:0;display:inline-flex}.brand-logo{-o-object-fit:contain;object-fit:contain;width:auto;display:block}.sidebar-logo-wrap .brand-logo{height:26px}.mob-brand-logo-wrap .brand-logo,.portal-logo-wrap .brand-logo{height:22px}.brand-logo--dark,[data-theme=dark] .brand-logo--light{display:none}[data-theme=dark] .brand-logo--dark{display:block}.nav-group{padding:0 10px 4px}.nav-group-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);padding:16px 4px 6px;font-size:10px;font-weight:700}.side-link{box-sizing:border-box;border-radius:var(--radius-md);min-height:44px;font-size:var(--font-size-sm);color:var(--text-secondary);transition:background var(--transition-fast),color var(--transition-fast);align-items:center;gap:10px;padding:9px 14px;font-weight:500;text-decoration:none;display:flex;position:relative}.side-link:hover{background:var(--bg-raised);color:var(--text-primary)}.side-link.active{background:var(--nav-active-bg);color:var(--accent-brand);box-shadow:inset 3px 0 0 var(--nav-active-border);font-weight:600}.side-link .side-icon{text-align:center;opacity:.75;flex-shrink:0;width:16px;font-size:14px}.side-link.active .side-icon{opacity:1}.side-link .side-badge{background:var(--accent-brand);color:#fff;border-radius:var(--radius-full);margin-left:auto;padding:2px 7px;font-size:10px;font-weight:700}.sidebar-nav-area{scrollbar-width:thin;scrollbar-color:var(--border-default) transparent;flex:1;min-height:0;overflow-y:auto}.sidebar-nav-area::-webkit-scrollbar{width:4px}.sidebar-nav-area::-webkit-scrollbar-track{background:0 0}.sidebar-nav-area::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}.sidebar-footer{border-top:1px solid var(--border-subtle);flex-shrink:0;padding:12px 14px 14px}.sidebar-user{align-items:center;gap:10px;width:100%;display:flex}.sidebar-user-info{flex:1;min-width:0}.sidebar-avatar{border-radius:var(--radius-full);background:var(--accent-brand);color:#fff;letter-spacing:.03em;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex}.sidebar-user-name{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:600}.sidebar-user-role{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:600}.admin-content{z-index:2;flex:1;min-width:0;margin-left:220px;position:relative}.stub-wrap{text-align:center;max-width:760px;margin:0 auto;padding:60px 24px}.stub-title{margin-bottom:8px;font-size:24px;font-weight:800}.stub-note{color:var(--muted);background:var(--card2);border:1px dashed var(--border);border-radius:10px;margin-top:12px;padding:18px 22px;font-size:14px;display:inline-block}.portal-layout{background:var(--bg-canvas);width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.portal-bg{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.portal-bg-orb{filter:blur(100px);pointer-events:none;border-radius:50%;position:absolute}.portal-bg-orb.orb-1{background:radial-gradient(circle,#2563eb1a 0,#0000 60%);width:900px;height:900px;animation:orb-drift-1 20s ease-in-out infinite;top:-280px;right:-220px}.portal-bg-orb.orb-2{background:radial-gradient(circle,#4f46e514 0,#0000 60%);width:700px;height:700px;animation:orb-drift-2 26s ease-in-out infinite;bottom:-180px;left:-180px}.portal-bg-orb.orb-3{background:radial-gradient(circle,#2563eb0f 0,#0000 60%);width:500px;height:500px;animation:orb-drift-3 32s ease-in-out infinite;top:30%;left:38%}[data-theme=dark] .portal-bg-orb.orb-1{background:radial-gradient(circle,#2563eb52 0,#0000 60%)}[data-theme=dark] .portal-bg-orb.orb-2{background:radial-gradient(circle,#3b50c842 0,#0000 60%)}[data-theme=dark] .portal-bg-orb.orb-3{background:radial-gradient(circle,#2563eb29 0,#0000 60%)}.portal-bg-particle{background:#2563eb8c;border-radius:50%;position:absolute;box-shadow:0 0 6px #2563eb4d}[data-theme=dark] .portal-bg-particle{background:#fffc;box-shadow:0 0 8px #fff6}.portal-bg--admin .portal-bg-orb.orb-1{background:radial-gradient(circle,#4a6cf714 0,#0000 60%)}.portal-bg--admin .portal-bg-orb.orb-2{background:radial-gradient(circle,#1e40af0f 0,#0000 60%)}.portal-bg--admin .portal-bg-orb.orb-3{background:radial-gradient(circle,#4a6cf70d 0,#0000 60%)}@media (prefers-reduced-motion:reduce){.portal-bg-orb{animation:none}}.portal-sidebar{background:var(--bg-card);border-right:1px solid var(--border-default);flex-direction:column;flex-shrink:0;width:240px;padding:24px 14px;display:flex}.portal-main,.portal-sidebar{z-index:2;height:100vh;position:relative;overflow-y:auto}.portal-main{flex:1;min-width:0}.portal-main .portal{max-width:960px;margin:0 auto;padding:28px 32px}.sidebar-brand{align-items:baseline;gap:8px;margin-bottom:32px;padding:0 10px;display:flex}.sidebar-brand-wordmark{color:var(--accent-brand);letter-spacing:.08em;text-transform:uppercase;font-size:18px;font-weight:900}.sidebar-brand-sub{color:var(--text-tertiary);letter-spacing:.15em;text-transform:uppercase;font-size:9px;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:2px;display:flex}.portal-sidebar-item{border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast);align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.portal-sidebar-item svg{opacity:.6;flex-shrink:0;width:17px;height:17px}.portal-sidebar-item:hover{background:var(--bg-raised);color:var(--text-primary)}.portal-sidebar-item:hover svg{opacity:1}.portal-sidebar-item.is-active{background:var(--accent-brand-dim);color:var(--accent-brand);font-weight:600}.portal-sidebar-item.is-active svg{opacity:1}.portal-mobile-topbar{background:var(--bg-card);border-bottom:1px solid var(--border-default);z-index:50;flex-shrink:0;align-items:center;gap:10px;height:52px;padding:0 14px;display:none;position:sticky;top:0}.portal-hamburger{border-radius:var(--radius-md);width:44px;height:44px;color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;display:flex}.portal-hamburger:hover{background:var(--bg-raised)}.portal-sidebar-close{border-radius:var(--radius-md);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-family:inherit;display:none;position:absolute;top:16px;right:12px}.portal-sidebar-close:hover{background:var(--bg-raised);color:var(--text-primary)}.portal-sidebar-overlay{z-index:199;background:#00000061;animation:portal-fade-in .2s;display:none;position:fixed;inset:0}@keyframes portal-fade-in{0%{opacity:0}to{opacity:1}}.sidebar-bottom{border-top:1px solid var(--border-subtle);flex-direction:column;gap:8px;margin-top:14px;padding-top:14px;padding-bottom:8px;display:flex}.sidebar-profile{box-sizing:border-box;align-items:center;gap:10px;width:100%;margin-top:4px;padding:10px 4px;display:flex}.sidebar-profile-avatar{background:var(--accent-brand-dim);width:36px;height:36px;color:var(--accent-brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.sidebar-profile-info{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.sidebar-profile-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:13px;font-weight:700;line-height:1.2;overflow:hidden}.sidebar-profile-role{color:var(--text-tertiary);letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:600;line-height:1}.sidebar-signout{border-radius:var(--radius-md);border:1px solid var(--border-subtle);cursor:pointer;width:44px;height:44px;color:var(--text-tertiary);transition:all var(--transition-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;display:flex}.sidebar-signout:hover{background:var(--bg-raised);border-color:var(--border-default);color:var(--accent-brand)}.sidebar-signout svg{flex-shrink:0;width:16px;height:16px}.lp-root{background:#08060c;width:100%;min-height:100vh;position:relative;overflow:hidden}.lp-splash{z-index:100;background:#08060c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lp-splash-inner{text-align:center}.lp-splash-logo{-o-object-fit:contain;object-fit:contain;width:auto;height:44px;margin:0 auto;display:block}.lp-splash-rule{background:var(--accent-brand);opacity:.7;border-radius:2px;width:36px;height:2px;margin:18px auto 0}.lp-layout{min-height:100vh;display:flex}.lp-left{background:#08060c;align-items:stretch;width:48%;padding:0;display:flex;position:relative;overflow:hidden}.lp-orb{filter:blur(90px);pointer-events:none;border-radius:50%;position:absolute}.lp-orb-1{background:radial-gradient(circle,#2563eb40 0,#0000 65%);width:520px;height:520px;animation:orb-drift-1 20s ease-in-out infinite;top:-160px;right:-100px}.lp-orb-2{background:radial-gradient(circle,#500c4633 0,#0000 65%);width:380px;height:380px;animation:orb-drift-2 26s ease-in-out infinite;bottom:-80px;left:-80px}.lp-orb-3{background:radial-gradient(circle,#2563eb1f 0,#0000 65%);width:260px;height:260px;animation:orb-drift-3 32s ease-in-out infinite;top:40%;left:25%}@keyframes orb-drift-1{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-50px,70px)scale(1.1)}66%{transform:translate(40px,-40px)scale(.92)}}@keyframes orb-drift-2{0%,to{transform:translate(0)scale(1)}40%{transform:translate(60px,-50px)scale(1.14)}70%{transform:translate(-25px,35px)scale(.95)}}@keyframes orb-drift-3{0%,to{opacity:.6;transform:translate(0)}50%{opacity:1;transform:translate(70px,-90px)}}.lp-particle{background:#fff;border-radius:50%;animation:particle-float linear infinite;position:absolute}@keyframes particle-float{0%{transform:translateY(0)translate(0)}20%{transform:translateY(-18px)translate(6px)}40%{transform:translateY(-10px)translate(-8px)}60%{transform:translateY(-24px)translate(4px)}80%{transform:translateY(-8px)translate(-4px)}to{transform:translateY(0)translate(0)}}@media (prefers-reduced-motion:reduce){.lp-orb-1,.lp-orb-2,.lp-orb-3,.lp-particle{animation:none}}.lp-left-content{z-index:2;width:100%;padding:52px;position:relative}.lp-left-content,.lp-left-mid{flex-direction:column;display:flex}.lp-left-mid{flex:1;justify-content:center}.lp-left-logo{-o-object-fit:contain;object-fit:contain;width:auto;height:28px;display:block}.lp-left-rule{background:var(--accent-brand);opacity:.7;border-radius:2px;width:32px;height:2px;margin:32px 0 24px}.lp-headline{color:#fff;letter-spacing:-.03em;margin-bottom:14px;font-size:40px;font-weight:900;line-height:1.14}.lp-tagline{color:#ffffff61;max-width:300px;font-size:13.5px;line-height:1.65}.lp-features{flex-direction:column;gap:14px;margin:40px 0 0;padding:0;list-style:none;display:flex}.lp-feature{color:#ffffff73;letter-spacing:.01em;align-items:center;gap:12px;font-size:13px;font-weight:500;display:flex}.lp-feature-dot{background:var(--accent-brand);opacity:.8;border-radius:50%;flex-shrink:0;width:5px;height:5px}.lp-right{background:#fff;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:60px 56px;display:flex;position:relative}.lp-form-wrap{width:100%;max-width:340px}.lp-right-brand{align-items:center;gap:8px;display:flex;position:absolute;top:36px;right:40px}.lp-right-brand-dot{background:var(--accent-brand);border-radius:50%;width:8px;height:8px}.lp-right-brand-label{-o-object-fit:contain;object-fit:contain;width:auto;height:14px;display:block}.lp-welcome{color:#0f0c14;letter-spacing:-.04em;margin-top:0;margin-bottom:6px;font-size:32px;font-weight:900}.lp-welcome-sub{color:#8888a0;margin-bottom:32px;font-size:13.5px}.lp-form{flex-direction:column;gap:0;display:flex}.lp-form .fg{margin-bottom:16px}.lp-field{background:#fff;border:1.5px solid #d0cedd;padding:12px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}.lp-field:focus{border-color:var(--accent-brand);background:#fff;outline:none;box-shadow:0 0 0 3px #2563eb17}.lp-pw-wrap{position:relative}.lp-pw-input{padding-right:44px}.lp-pw-toggle{color:#8888a0;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.lp-pw-toggle:hover{color:#0f0c14}.lp-pw-toggle svg{display:block}.lp-btn{text-align:center;letter-spacing:.025em;border-radius:10px;justify-content:center;width:100%;margin-top:4px;padding:11px 20px;font-size:14px;font-weight:800}.lp-spinner-row{justify-content:center;align-items:center;gap:10px;display:flex}.lp-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.lp-layout{flex-direction:column}.lp-left{width:100%;min-height:220px}.lp-left-content{flex-direction:row;align-items:center;gap:24px;padding:36px 28px}.lp-left-mid{flex:none}.lp-headline{margin-bottom:0;font-size:24px}.lp-left-rule{margin:8px 0 12px}.lp-features,.lp-tagline{display:none}.lp-right{padding:40px 28px}.lp-welcome{font-size:26px}.lp-right-brand{top:20px;right:20px}}.login-wrap{background:#08060c;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:#fff;border-radius:22px;width:100%;max-width:440px;padding:48px 44px;box-shadow:0 40px 100px #0009}.login-brand{text-align:center;margin-bottom:28px}.login-brand .logo{letter-spacing:8px;font-size:36px}.login-brand-logo{-o-object-fit:contain;object-fit:contain;width:auto;height:30px;margin:0 auto;display:block}.login-brand .logo-sub{letter-spacing:3.5px;margin-top:3px;font-size:10px}.login-title{letter-spacing:-.025em;margin-bottom:22px;font-size:22px;font-weight:800}.login-error{background:var(--red-bg);color:var(--red);border:1px solid #f5c0c8;border-radius:8px;padding:10px 13px;font-size:12px;font-weight:600;overflow:hidden}.hdr-user{text-align:right;margin-left:auto}.hdr-user-name{font-size:13px;font-weight:700}.hdr-user-role{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;font-size:10px;font-weight:700}.main-wide{max-width:1320px;padding:var(--space-8) var(--space-10);margin:0 auto}.cc-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.cc-card{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow-main);-webkit-backdrop-filter:blur(10px);transition:var(--transition-smooth);border-radius:12px;padding:20px 20px 16px;position:relative}.cc-card .num{margin:6px 0 4px;font-size:36px;font-weight:900;line-height:1}.cc-card .lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.7px;margin-top:6px;font-size:11px;font-weight:700}.cc-grid{grid-template-columns:2fr 1fr;align-items:start;gap:18px;display:grid}.panel{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow-main);-webkit-backdrop-filter:blur(10px);border-radius:12px;margin-bottom:18px;overflow:hidden}.panel-hdr{border-bottom:1px solid var(--border);background:var(--card2);text-transform:uppercase;letter-spacing:.7px;color:var(--muted);justify-content:space-between;align-items:center;padding:12px 16px;font-size:12px;font-weight:800;display:flex}.panel-body{padding:14px 16px}.gig-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:11px 16px;display:flex}.gig-row:last-child{border-bottom:none}.gig-date{flex-shrink:0;width:70px;font-size:13px;font-weight:800}.gig-date .dow{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.gig-venue{flex:1;min-width:0}.gig-venue .vn{font-size:13px;font-weight:700}.lineup-chips{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.feed-item{border-bottom:1px solid var(--border);gap:10px;padding:9px 0;font-size:12px;display:flex}.feed-item:last-child{border-bottom:none}.feed-dot{background:var(--red);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px}.feed-when{color:var(--muted);margin-top:2px;font-size:11px}.pay-line{border-bottom:1px solid var(--border);justify-content:space-between;padding:8px 0;font-size:13px;display:flex}.pay-line:last-child{border-bottom:none}.pay-big{color:var(--green);font-size:28px;font-weight:900}.pill{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;padding:3px 10px;font-size:11px;font-weight:600;line-height:1.5;display:inline-block}.pill-confirmed{background:var(--accent-green-dim);color:var(--accent-green)}.pill-pending{background:var(--accent-amber-dim);color:var(--accent-amber)}.pill-cancelled{background:var(--bg-raised);color:var(--text-tertiary)}.pill-draft,.pill-overseas{background:var(--accent-blue-dim);color:var(--accent-blue)}.pill-locked{background:var(--accent-purple-dim);color:var(--accent-purple)}@keyframes pulse-badge{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}.pay-pending,.pill-pending{animation:pulse-badge 2s ease-in-out infinite}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--bg-raised) 25%,var(--bg-card-hover) 50%,var(--bg-raised) 75%);border-radius:var(--radius-sm);background-size:800px 100%;animation:shimmer 1.6s ease-in-out infinite}.sched-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.month-switch{gap:6px;display:flex}.sched-page-header{align-items:flex-start;gap:16px}.sched-control-bar,.sched-page-header{justify-content:space-between;margin-bottom:16px;display:flex}.sched-control-bar{flex-wrap:wrap;align-items:center;gap:12px}.schedule-nav-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.schedule-nav-right{align-items:center;gap:10px;display:flex}@media (max-width:640px){.schedule-nav-left{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.schedule-nav-left::-webkit-scrollbar{display:none}.schedule-nav-left>*{flex-shrink:0}}.segmented-control{background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex}.seg-btn{border-radius:calc(var(--radius-md) - 2px);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:6px 14px;font-family:inherit;font-weight:500}.seg-btn.active{background:var(--accent-brand);color:#fff;box-shadow:0 2px 6px var(--accent-brand-glow);font-weight:600}.nav-arrow-btn,.seg-btn:not(.active):hover,.today-btn{background:var(--bg-card);color:var(--text-primary)}.nav-arrow-btn,.today-btn{border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);padding:7px 14px;font-family:inherit;font-weight:500}.nav-arrow-btn:hover,.today-btn:hover{background:var(--bg-raised);border-color:var(--border-strong)}.month-selector{font-size:var(--font-size-md);color:var(--text-primary);cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition-fast);background:0 0;border:none;padding:7px 12px;font-family:inherit;font-weight:700}.month-selector:hover{background:var(--bg-raised)}.month-selector .caret{color:var(--text-tertiary);margin-left:4px;font-size:10px}.sched-scroll{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:10px;overflow-x:auto}.sched{border-collapse:collapse;width:-moz-max-content;width:max-content;min-width:100%;font-size:12px}.sched td,.sched th{border:1px solid var(--border);vertical-align:top;text-align:left;padding:6px 8px}.sched thead th{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);z-index:2;font-size:10px;top:0}.sched .day-col,.sched thead th{background:var(--card2);white-space:nowrap;font-weight:800;position:sticky}.sched .day-col{z-index:1;width:64px;min-width:64px;left:0}.sched thead .day-col{z-index:3}.sched .venue-group{text-align:center;border-bottom:2px solid var(--border)}.sched .total-col{background:var(--card2);white-space:nowrap;text-align:right;font-weight:800}.sched-cell{min-width:130px}.slot-line{align-items:center;gap:5px;padding:2px 0;display:flex}.slot-role{text-transform:uppercase;color:var(--muted);flex-shrink:0;width:26px;font-size:9px;font-weight:800}.slot-pick{min-width:0;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;padding:2px 4px;font-family:inherit;font-size:11px}.slot-pick:focus,.slot-pick:hover{border-color:var(--border);background:#fff;outline:none}.slot-fee{color:var(--muted);white-space:nowrap;font-size:10px;font-weight:700}.venue-sub{color:var(--muted);text-align:right;border-top:1px dashed var(--border);margin-top:3px;padding-top:3px;font-size:9px;font-weight:800}.sched-legend,.status-legend{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-sizing:border-box;flex-wrap:wrap;align-items:center;gap:20px;width:100%;margin-bottom:20px;padding:10px 14px;display:flex}.legend-item{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.legend-dot{flex-shrink:0}.legend-dot,.legend-sw{border-radius:50%;width:9px;height:9px}.legend-sw{vertical-align:-1px;margin-right:5px;display:inline-block}.gig-card-workflow{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);align-items:center;gap:0;padding:10px 20px;display:flex;overflow-x:auto}.gig-card-workflow.past-readonly{justify-content:flex-start}.workflow-readonly-label{color:var(--text-tertiary);font-size:12px;font-style:italic}.workflow-step{letter-spacing:.04em;white-space:nowrap;color:var(--text-tertiary);align-items:center;gap:6px;padding:4px 0;font-size:11px;font-weight:600;display:flex}.workflow-step.done{color:var(--accent-green)}.workflow-step.current{color:var(--accent-amber)}.workflow-step__icon{border:1.5px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:flex}.workflow-step.done .workflow-step__icon{background:var(--accent-green);border-color:var(--accent-green);color:#fff}.workflow-step.current .workflow-step__icon{background:var(--accent-amber-dim);border-color:var(--accent-amber);color:var(--accent-amber)}.workflow-connector{background:var(--border-default);flex:0 0 20px;height:1.5px;margin:0 4px}.workflow-connector.done{background:var(--accent-green)}.schedule-empty-state{background:var(--bg-card);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:100%;padding:48px 24px;display:flex}.schedule-empty-state__icon{opacity:.35;margin-bottom:12px;font-size:32px}.schedule-empty-state__title{color:var(--text-secondary);margin-bottom:6px;font-size:15px;font-weight:700}.schedule-empty-state__subtitle{color:var(--text-tertiary);text-align:center;margin-bottom:20px;font-size:13px}.week-strip{scrollbar-width:none;flex-direction:row;gap:6px;width:100%;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.week-strip::-webkit-scrollbar{display:none}.week-day-btn{box-sizing:border-box;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-card);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-width:62px;height:82px;transition:all var(--transition-fast);flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 6px;font-family:inherit;display:flex;box-shadow:0 1px 3px #0000000d}.week-day-btn:hover{border-color:var(--border-strong);background:var(--bg-card-hover);transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.week-day-btn:active{transform:translateY(0)}.week-day-btn.active{background:var(--accent-brand);border-color:var(--accent-brand);box-shadow:0 4px 20px var(--accent-brand-glow);transform:translateY(-2px)}.week-day-btn.active .wd-gigs,.week-day-btn.active .wd-name{color:#ffffffbf}.week-day-btn.active .wd-num{color:#fff}.wd-name{text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);font-size:10px;font-weight:700}.wd-num{color:var(--text-primary);font-size:26px;font-weight:800;line-height:1}.wd-gigs{color:var(--text-tertiary);font-size:11px;font-weight:500}.wd-dots{justify-content:center;align-items:center;gap:4px;height:10px;min-height:10px;display:flex}.wd-dots:empty:after{content:"";background:0 0;display:block}.day-dot,.wd-dots:empty:after{border-radius:50%;width:7px;height:7px}.day-dot{flex-shrink:0}.day-dot.green{background:var(--green)}.day-dot.amber{background:var(--amber)}.day-dot.purple{background:var(--blue)}.gig-cards{flex-direction:column;gap:18px;display:flex}.gig-card{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow-main);-webkit-backdrop-filter:blur(10px);transition:var(--transition-smooth);border-radius:16px;overflow:visible}.gig-card:hover{border-color:var(--accent-pink);box-shadow:0 12px 40px #0000001f}.gig-card-head{border-bottom:1px solid var(--card-border);align-items:center;gap:16px;padding:18px 22px;display:flex}.gc-date{text-align:center;min-width:46px}.gc-num{color:var(--accent-pink);font-size:26px;font-weight:900;line-height:1}.gc-mon{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:11px}.gc-info{flex:1;min-width:0}.gc-info h3{letter-spacing:-.2px;font-size:17px;font-weight:800}.gc-meta{color:var(--muted);margin-top:2px;font-size:12px}.gc-charge-btn{color:var(--green);border:1px dashed var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:2px 8px;font-family:inherit;font-size:12px;font-weight:600}.setup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.setup-grid .fl{flex-direction:column;gap:4px;display:flex}.setup-grid .fl>span{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.setup-grid .fl-wide{grid-column:1/-1}@media (max-width:640px){.setup-grid{grid-template-columns:1fr}}.gc-charge-btn:hover:not(:disabled){border-color:var(--green);background:#1a9e520f}.gc-charge-btn:disabled{cursor:default;opacity:.7}.gc-slots{padding:16px 22px}.gc-slot-row{border-bottom:1px solid var(--card-border);grid-template-columns:100px 1fr;align-items:start;gap:14px;padding:11px 0;display:grid}.gc-slot-row:last-child{border-bottom:none}.gc-slot-label{text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);padding-top:9px;font-size:10px;font-weight:800}.gc-slot-content{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.m-chip{border:1px solid var(--card-border);background:var(--card-bg);box-shadow:var(--shadow-sm);transition:var(--transition-smooth);border-radius:10px;align-items:center;gap:7px;padding:8px 13px;font-size:13px;font-weight:600;display:inline-flex}.m-chip:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.chip-confirmed{background:var(--accent-green-dim);color:var(--accent-green);border-color:#0000}.chip-invited,.chip-pending,.chip-tbc{background:var(--accent-amber-dim);color:var(--accent-amber);border-color:#0000}.chip-overseas{background:var(--accent-blue-dim);color:var(--accent-blue);border-color:#0000}.chip-declined{background:var(--red-bg);color:var(--red);border-color:#0000;text-decoration:line-through}.chip-dot{border-radius:50%;width:8px;height:8px}.dot-confirmed{background:var(--green)}.dot-invited,.dot-pending,.dot-tbc{background:var(--amber)}.dot-declined{background:var(--red)}.chip-fee{font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.chip-fee,.chip-x{color:var(--muted)}.chip-x{cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;margin:-14.5px;font-size:15px;line-height:1;display:inline-flex}.chip-x:hover{color:var(--accent-pink)}.slot-add{border:1px dashed var(--card-border);color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth);background:0 0;border-radius:9px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:13px;display:inline-flex}.slot-add:hover{border-color:var(--accent-pink);color:var(--accent-pink);background:var(--accent-pink-glow)}.slot-empty{color:var(--muted);font-size:12px;font-style:italic}.gc-footer{border-top:1px solid var(--card-border);background:0 0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 22px;display:flex}.gc-footer-info{color:var(--muted);font-size:12px}.gc-footer-actions{flex-wrap:wrap;gap:8px;display:flex}.sugg-drop{z-index:20;background:var(--card-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--accent-pink);min-width:320px;box-shadow:var(--shadow-main),0 0 0 1px var(--accent-pink-glow);border-radius:12px;padding:6px;position:absolute;top:calc(100% + 4px);left:0}.sugg-head{text-transform:uppercase;letter-spacing:1px;color:var(--muted);padding:6px 10px;font-size:10px;font-weight:700}.sugg-empty{color:var(--muted);padding:12px;font-size:12px}.sugg-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:10px;width:100%;padding:9px 10px;font-family:inherit;display:flex}.sugg-item:hover:not(:disabled){background:var(--red-bg)}.sugg-item:disabled{opacity:.45;cursor:not-allowed}.av-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.av-green{background:var(--green)}.av-blue{background:var(--blue)}.av-red{background:var(--red)}.av-grey{background:#b8b8c2}.sugg-name{font-size:13px;font-weight:600}.sugg-detail{color:var(--muted);flex:1;font-size:11px}.sugg-badge{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700}.badge-preferred{background:var(--red-bg);color:var(--red)}.badge-a_list{background:var(--accent-blue-dim);color:var(--accent-blue)}.badge-available{color:var(--green);background:#edf8f2}.badge-blist{background:var(--card2);color:var(--muted)}.month-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.month-cell{background:var(--surface);border:1px solid var(--border);text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);border-radius:10px;padding:14px;font-family:inherit}.month-cell:hover{border-color:var(--red)}.mc-date{font-size:13px;font-weight:700}.mc-count{color:var(--muted);margin-top:3px;font-size:11px}.sch-monthbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sch-monthbtn{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;font-size:16px;font-weight:800;display:inline-flex}.sch-monthbtn:hover{border-color:var(--red);color:var(--red)}.sch-monthbtn .caret{color:var(--muted);font-size:10px}.sch-monthwrap{position:relative}.sch-monthpicker{z-index:40;background:var(--surface);border:1px solid var(--border);width:280px;box-shadow:var(--shadow-lg);border-radius:12px;padding:12px;position:absolute;top:calc(100% + 6px);left:0}.sch-mp-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.sch-mp-year{font-size:15px;font-weight:800}.sch-mp-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.sch-mp-cell{background:var(--card2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;padding:10px 0;font-family:inherit;font-size:13px;font-weight:700}.sch-mp-cell:hover{border-color:var(--red);color:var(--red)}.sch-mp-cell.active{background:var(--red);border-color:var(--red);color:#fff}.sch-sugg-list{max-height:280px;overflow-y:auto}.sch-form{gap:14px}.sch-field,.sch-form{flex-direction:column;display:flex}.sch-field{flex:1;gap:6px}.sch-field-label{text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-size:11px;font-weight:700}.sch-field-row{flex-wrap:wrap;gap:12px;display:flex}.sch-weekday-row{flex-wrap:wrap;gap:6px;display:flex}.sch-weekday{background:var(--card2);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:8px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:700}.sch-weekday.on{background:var(--red);border-color:var(--red);color:#fff}.sch-form-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.sle-wrap{flex-direction:column}.sle-row,.sle-wrap{gap:8px;display:flex}.sle-row{align-items:center}.sle-row .fi{flex:1}.sle-dash{color:var(--text-muted,#a1a1aa);flex-shrink:0}.sle-remove{border:1px solid var(--border-default,#0000001a);background:var(--bg-surface,#fff);width:28px;height:28px;color:var(--red,#dc2626);cursor:pointer;border-radius:6px;flex-shrink:0;font-size:16px;line-height:1}.sle-remove:hover{background:#dc262614}.sch-pattern-card{border:1px solid var(--border-default,#00000017);background:var(--bg-raised,#f8f8fa);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.sch-pattern-card-head{justify-content:space-between;align-items:center;display:flex}.chip-booked{background:var(--blue-bg);color:var(--blue);border-color:#c3ddf0}.chip-available{background:var(--card2);border-color:var(--border);color:var(--muted)}.dot-booked{background:var(--blue)}.dot-available{background:var(--muted)}.dot-overseas{background:var(--accent-purple)}.chip-overseas{color:#6a3fc0;background:#f1ecfb;border-color:#d9cbf3}.sch-overseas-flag{color:#6a3fc0;background:#f1ecfb;border:1px solid #d9cbf3;border-radius:6px}.sch-conflict-flag,.sch-overseas-flag{text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;font-size:9px;font-weight:800}.sch-conflict-flag{background:var(--red-bg);color:var(--red);border:1px solid var(--red);cursor:help;border-radius:6px}.chip-conflict{outline:2px solid var(--red);outline-offset:1px}.sch-fee-btn{color:var(--muted);border:1px dashed var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:1px 6px;font-family:inherit;font-size:11px;font-weight:700}.sch-fee-btn:hover{border-color:var(--red);color:var(--red)}.sch-fee-input{border:1px solid var(--red);border-radius:6px;width:78px;padding:3px 6px;font-family:inherit;font-size:12px}.sch-autofill-note{color:var(--amber);background:#fff8ec;border:1px solid #f5dcaa;border-radius:10px;margin:0 14px 12px;padding:10px 12px;font-size:12px}.sch-autofill-note ul{margin:6px 0 0;padding-left:18px}.sch-monthsend-banner{color:var(--text);background:#edf8f2;border:1px solid #b8e8cf;border-radius:12px;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:14px;padding:12px 16px;font-size:13px;display:flex}.sch-monthsend-banner b{font-weight:800}.sch-monthsend-x{cursor:pointer;color:var(--muted);background:0 0;border:none;margin-left:auto;font-family:inherit;font-size:16px}.badge-readonly,.sch-readonly-tag{color:var(--text-tertiary);background:var(--bg-raised);border:1px solid var(--border-default)}.badge-draft,.badge-readonly,.sch-readonly-tag{letter-spacing:.04em;border-radius:var(--radius-full);padding:3px 10px;font-size:11px;font-weight:700}.badge-draft{color:var(--accent-blue);background:var(--accent-blue-dim)}.badge-confirm-partial{color:var(--accent-amber);background:var(--accent-amber-dim)}.badge-confirm-full,.badge-confirm-partial{letter-spacing:.04em;border-radius:var(--radius-full);padding:3px 10px;font-size:11px;font-weight:700}.badge-confirm-full{color:var(--accent-green);background:var(--accent-green-dim)}.badge-locked{letter-spacing:.04em;color:#a855f7;border-radius:var(--radius-full);background:#a855f71f;padding:3px 10px;font-size:11px;font-weight:700}.sch-cal{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.sch-cal-dow{text-transform:uppercase;letter-spacing:1px;color:var(--muted);text-align:center;padding-bottom:2px;font-size:10px;font-weight:800}.sch-cal-cell{background:var(--surface);border:1px solid var(--border);text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;gap:4px;min-height:92px;padding:8px;font-family:inherit;transition:border-color .12s;display:flex;position:relative}.sch-cal-cell:hover{border-color:var(--red)}.sch-cal-cell.blank{cursor:default;background:0 0;border:none}.sch-cal-cell.today{box-shadow:inset 0 0 0 2px var(--red)}.sch-cal-cell.past{opacity:.62}.sch-cal-cell.cell-confirmed{background:var(--cell-confirmed);border-color:#b8e8cf}.sch-cal-cell.cell-pending{background:var(--cell-pending);border-color:#f5dcaa}.sch-cal-cell.cell-declined{background:var(--red-bg);border-color:#f5c0c8}.sch-cal-cell.cell-booked{background:var(--blue-bg);border-color:#c3ddf0}.sch-cal-cell.cell-overseas{background:#f1ecfb;border-color:#d9cbf3}.sch-cal-cell.cell-available{background:var(--surface)}.sch-cal-num{font-size:14px;font-weight:800}.sch-cal-count{color:var(--muted);font-size:10px;font-weight:700}.sch-cal-add{color:var(--red);opacity:0;cursor:pointer;text-align:left;background:0 0;border:none;margin-top:auto;padding:0;font-family:inherit;font-size:10px;font-weight:800;transition:opacity .12s}.sch-cal-add:focus-visible,.sch-cal-cell:hover .sch-cal-add{opacity:1}@media (hover:none){.sch-cal-add{opacity:1}}.sch-cal-hover-card{color:#fff;z-index:200;pointer-events:none;background:#111118;border-radius:8px;min-width:140px;max-width:200px;padding:10px 12px;display:none;bottom:calc(100% + 8px);box-shadow:0 8px 24px #00000038}.sch-cal-hover-card,.sch-cal-hover-card:after{position:absolute;left:50%;transform:translate(-50%)}.sch-cal-hover-card:after{content:"";border:5px solid #0000;border-top-color:#111118;top:100%}.sch-cal-hover-title{text-transform:uppercase;letter-spacing:.08em;color:#ffffff80;margin-bottom:5px;font-size:10px;font-weight:700}.sch-cal-hover-venue{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;line-height:1.5;overflow:hidden}.sch-cal-hover-statuses{border-top:1px solid #ffffff1f;align-items:center;gap:5px;margin-top:7px;padding-top:6px;display:flex}.sch-cal-hover-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.sch-cal-hover-dot.dot-confirmed{background:#10b981}.sch-cal-hover-dot.dot-pending{background:#f97316}.sch-cal-hover-dot.dot-available{background:#9ca3af}.sch-cal-hover-status-label{color:#ffffffa6;white-space:nowrap;font-size:10px}@media (hover:hover){.sch-cal-cell:hover .sch-cal-hover-card{display:block}}.cal-fullscreen-overlay{z-index:10000;background:var(--bg);padding:20px 28px 40px;position:fixed;inset:0;overflow-y:auto}.cal-fullscreen-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.cal-fullscreen-title{font-size:18px;font-weight:800}.cal-fullscreen-nav{align-items:center;gap:10px;display:flex}.cal-fullscreen-month{text-align:center;min-width:150px;font-size:15px;font-weight:700}.cal-fullscreen-toggle{align-items:center;gap:6px;display:inline-flex}.chat-wrap{grid-template-columns:320px 1fr;align-items:start;gap:16px;height:calc(100vh - 130px);display:grid}.chat-list{background:var(--surface);border:1px solid var(--border);height:100%;box-shadow:var(--shadow);border-radius:10px}.chat-li{border-bottom:1px solid var(--border);cursor:pointer;padding:12px 14px}.chat-li:hover{background:var(--card2)}.chat-li.active{background:var(--red-bg)}.chat-li .cl-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.chat-li .cl-venue{font-size:13px;font-weight:800}.chat-li .cl-last{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:11px;overflow:hidden}.chat-li .cl-meta{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-top:3px;font-size:10px;font-weight:700}.chat-pane{background:var(--surface);border:1px solid var(--border);height:100%;box-shadow:var(--shadow);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.chat-members{background:var(--card2);gap:6px;padding:12px 16px}.chat-members,.chat-pin{border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.chat-pin{background:#fffdf7;gap:18px;padding:10px 16px;font-size:12px}.chat-pin .pin-k{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:800}.chat-pin .pin-v{font-weight:700}.gig-chats-header{margin-bottom:24px}.gig-chats-header__title{color:var(--text-primary);letter-spacing:-.5px;margin:0 0 4px;font-size:28px;font-weight:800;line-height:1.2}.gig-chats-header__subtitle{color:var(--text-tertiary);max-width:600px;margin:0;font-size:13px;font-weight:400;line-height:1.55}.gig-chats-container{gap:20px;height:calc(100vh - 200px);min-height:500px;display:flex}.gig-chats-sidebar{width:320px;box-shadow:var(--shadow-sm);flex-shrink:0}.gig-chats-main,.gig-chats-sidebar{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);flex-direction:column;display:flex;overflow:hidden}.gig-chats-main{box-shadow:var(--shadow-md);flex:1}.sidebar-tabs{background:var(--bg-raised);border-bottom:1px solid var(--border-subtle);flex-shrink:0;padding:12px;display:flex}.sidebar-tabs .segmented-control{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;padding:3px;display:flex}.segmented-btn{border-radius:calc(var(--radius-md) - 2px);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);font-size:11px;font-weight:600;font-family:var(--font-base);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:5px;padding:6px 0;display:flex}.segmented-btn.active,.segmented-btn:hover{color:var(--text-primary)}.segmented-btn.active{background:var(--bg-raised);box-shadow:var(--shadow-sm)}.segmented-badge{background:var(--border-default);color:var(--text-secondary);border-radius:var(--radius-full);text-align:center;min-width:18px;padding:2px 6px;font-size:9px;font-weight:700}.segmented-btn.active .segmented-badge{background:var(--accent-brand-dim);color:var(--accent-brand)}.chat-list{flex:1;overflow-y:auto}.chat-list-item{text-align:left;border:none;border-bottom:1px solid var(--border-subtle);width:100%;font-family:var(--font-base);cursor:pointer;transition:background var(--transition-fast);background:0 0;border-left:3px solid #0000;gap:12px;padding:14px 16px;display:flex;position:relative}.chat-list-item:hover{background:var(--bg-card-hover)}.chat-list-item.selected{background:var(--accent-brand-dim);border-left-color:var(--accent-brand);padding-left:13px}.chat-list-item.is-archived{opacity:.65}.chat-list-item__icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.chat-icon-active{background:var(--accent-green-dim);color:var(--accent-green);border:1px solid #05966926}.chat-icon-upcoming{background:var(--accent-amber-dim);color:var(--accent-amber);border:1px solid #d9770626}.chat-icon-archived{background:var(--bg-raised);color:var(--text-tertiary);border:1px solid var(--border-default)}.chat-list-item__content{flex:1;min-width:0}.chat-list-item__top{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:3px;display:flex}.chat-list-item__title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.chat-list-item__time{color:var(--text-tertiary);flex-shrink:0;font-size:10px;font-weight:500}.chat-list-item__date{color:var(--text-tertiary);margin-bottom:4px;font-size:11px}.chat-list-item__bottom{justify-content:space-between;align-items:center;gap:8px;display:flex}.chat-list-item__preview{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.chat-list-item__preview.unread{color:var(--text-primary);font-weight:700}.chat-list-item__unread-dot{background:var(--accent-brand);border-radius:50%;flex-shrink:0;width:8px;height:8px}.gc-list-empty{text-align:center;flex-direction:column;flex:1;padding:40px 20px}.gc-list-empty,.gc-list-empty__icon{justify-content:center;align-items:center;display:flex}.gc-list-empty__icon{background:var(--bg-raised);width:48px;height:48px;color:var(--text-tertiary);border-radius:50%;margin-bottom:14px}.gc-list-empty__title{color:var(--text-secondary);margin-bottom:6px;font-size:14px;font-weight:700}.gc-list-empty__subtitle{color:var(--text-tertiary);max-width:220px;margin:0;font-size:12px;line-height:1.55}.main-empty-state{text-align:center;background:var(--bg-raised);flex-direction:column;justify-content:center;align-items:center;height:100%;padding:40px;display:flex}.main-empty-state__icon{color:var(--border-strong);opacity:.6;margin-bottom:20px}.main-empty-state__title{color:var(--text-secondary);margin-bottom:8px;font-size:18px;font-weight:700}.main-empty-state__subtitle{color:var(--text-tertiary);max-width:280px;margin:0;font-size:13px;line-height:1.55}.chat-main-header{border-bottom:1px solid var(--border-default);background:var(--bg-card);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.chat-main-header__left{flex-direction:column;min-width:0;display:flex}.chat-main-header__title{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:4px;font-size:16px;font-weight:700;display:flex}.chat-main-header__meta{color:var(--text-tertiary);align-items:center;gap:6px;font-size:12px;display:flex}.chat-main-header__dot{color:var(--border-strong)}.chat-main-header__actions{flex-shrink:0}.gc-active-pill,.gc-archived-pill{text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius-full);padding:2px 8px;font-size:10px;font-weight:700}.gc-active-pill{background:var(--accent-green-dim);color:var(--accent-green)}.gc-archived-pill{background:var(--bg-raised);color:var(--text-tertiary);border:1px solid var(--border-default)}.gc-members{border-bottom:1px solid var(--border-subtle);background:var(--bg-raised);flex-shrink:0;gap:8px;padding:10px 20px;display:flex;overflow-x:auto}.gc-members::-webkit-scrollbar{display:none}.gc-members-empty{color:var(--text-tertiary);font-size:12px}.gc-member{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);white-space:nowrap;gap:7px;padding:5px 10px}.gc-member,.gc-member-av{flex-shrink:0;align-items:center;display:flex}.gc-member-av{border-radius:50%;justify-content:center;width:26px;height:26px;font-size:9px;font-weight:800}.gc-member-text{flex-direction:column;line-height:1.2;display:flex}.gc-member-name{color:var(--text-primary);font-size:11px;font-weight:700}.gc-member-role{color:var(--text-tertiary);font-size:10px}.role-vocals{color:#b8621e;background:#fdf0e7;border:1px solid #f0cdb0}.role-musician{background:var(--accent-green-dim);color:var(--accent-green);border:1px solid #05966926}.role-engineer{color:#6b4fc4;background:#f1edfb;border:1px solid #d6cbf0}.role-admin{background:var(--accent-brand-dim);color:var(--accent-brand);border:1px solid #2563eb26}.role-other{background:var(--bg-raised);color:var(--text-secondary);border:1px solid var(--border-default)}.gc-pinned{border-bottom:1px solid var(--border-subtle);background:#fffdf7;flex-wrap:wrap;flex-shrink:0;gap:20px;padding:10px 20px;display:flex}.gc-pin{align-items:center;gap:6px;font-size:12px;display:flex}.gc-pin-ico{font-size:13px}.gc-pin-k{text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);font-size:10px;font-weight:800}.gc-pin-v{color:var(--text-primary);font-weight:700}.gc-sys{text-align:center}.gc-sys-body{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-tertiary);padding:4px 12px;font-size:11px;display:inline-block}.gc-role-tag{text-transform:uppercase;letter-spacing:.4px;border-radius:4px;margin-left:4px;padding:1px 5px;font-size:9px;font-weight:700}.gc-attachment{background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);color:inherit;transition:background var(--transition-fast);align-items:center;gap:10px;max-width:340px;margin-top:6px;padding:9px 12px;text-decoration:none;display:flex}.gc-attachment:hover{background:var(--bg-card-hover)}.gc-attachment-ico{border-radius:var(--radius-sm);background:var(--accent-brand-dim);width:32px;height:32px;color:var(--accent-brand);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gc-attachment-info{flex-direction:column;flex:1;min-width:0;display:flex}.gc-attachment-name{white-space:nowrap;text-overflow:ellipsis;color:var(--text-primary);font-size:12px;font-weight:700;overflow:hidden}.gc-attachment-size{color:var(--text-tertiary);font-size:10px}.chat-archived-banner,.gc-attachment-dl{color:var(--text-tertiary);flex-shrink:0}.chat-archived-banner{text-align:center;background:var(--bg-raised);border-top:1px solid var(--border-default);padding:16px;font-size:13px;font-weight:500}@media (max-width:900px){.gig-chats-container{height:auto;min-height:unset;flex-direction:column}.gig-chats-sidebar{width:100%;max-height:320px}.gig-chats-main{height:72vh;min-height:400px}}.portal{max-width:560px;margin:0 auto;padding:22px 16px}.portal-note{background:var(--blue-bg);color:var(--blue);border:1px solid #c3ddf0;border-radius:8px;margin-bottom:18px;padding:10px 12px;font-size:12px;line-height:1.5}.portal-gig{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:10px;margin-bottom:10px;padding:14px}.portal-gig .pg-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.portal-gig .pg-venue{font-size:15px;font-weight:800}.portal-gig .pg-meta{color:var(--muted);margin-top:3px;font-size:12px}.portal-gig .pg-fee{color:var(--green);white-space:nowrap;font-size:16px;font-weight:900}@media (max-width:900px){.cc-stats{grid-template-columns:1fr 1fr}.cc-grid,.chat-wrap{grid-template-columns:1fr}.chat-list,.chat-wrap{height:auto}.chat-list{max-height:280px}.chat-pane{height:70vh}}@media (max-width:600px){.g2,.g3{grid-template-columns:1fr}.steps{display:none}.nav-links{gap:0;overflow-x:auto}.nav-link{padding:6px 9px;font-size:10px}.cc-stats,.stat-grid{grid-template-columns:1fr 1fr}}.dash-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.dash-date{color:var(--muted);margin-top:2px;font-size:13px}.dash-actions{flex-wrap:wrap;gap:8px;display:flex}.cc-card.stat-link{color:inherit;cursor:pointer;transition:var(--transition-smooth);text-decoration:none;display:block}.cc-card.stat-link:hover{border-color:var(--accent-pink);transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.cc-card.stat-link:active{transform:translateY(0)}.cc-card-lbl-top{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;font-size:11px;font-weight:700}.stat-sub{color:var(--muted);margin-top:4px;font-size:12px}.cc-card-icon{opacity:.85;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:absolute;top:16px;right:16px}.panel-action{color:var(--red);text-transform:none;letter-spacing:0;cursor:pointer;font-size:12px;font-weight:700;text-decoration:none}.panel-action:hover{text-decoration:underline}.dash-gig-row{border-bottom:1px solid var(--border-subtle);color:inherit;transition:background var(--transition-fast);align-items:center;gap:12px;padding:12px 16px;text-decoration:none;display:flex}.dash-gig-row:last-child{border-bottom:none}.dash-gig-row:hover,.gig-row__date{background:var(--accent-brand-dim)}.gig-row__date{border-radius:var(--radius-sm);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:1px;width:44px;min-width:44px;padding:6px 4px;display:flex}.gig-row__date-day{text-transform:uppercase;letter-spacing:.5px;font-size:9px;font-weight:700}.gig-row__date-day,.gig-row__date-num{color:var(--accent-brand);line-height:1}.gig-row__date-num{font-size:20px;font-weight:800}.gig-row__info{flex:1;min-width:0}.gig-row__venue{color:var(--text-primary);font-size:14px;font-weight:600}.gig-row__subtitle,.gig-row__venue{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gig-row__subtitle{color:var(--text-secondary);margin-top:2px;font-size:12px}.gig-row__lineup{gap:3px}.gig-row__lineup,.lineup-avatar{flex-shrink:0;align-items:center;display:flex}.lineup-avatar{border-radius:50%;justify-content:center;width:28px;min-width:28px;height:28px;min-height:28px;font-size:10px;font-weight:700}.lineup-avatar.is-confirmed{background:var(--accent-green-dim);border:1.5px solid var(--accent-green);color:var(--accent-green)}.lineup-avatar.is-pending{background:var(--accent-amber-dim);border:1.5px solid var(--accent-amber);color:var(--accent-amber)}.lineup-slot{width:28px;min-width:28px;height:28px;min-height:28px;color:var(--text-tertiary);border:1.5px dashed var(--border-default);background:0 0;border-radius:50%;justify-content:center;font-size:14px;font-weight:500}.gig-row__action-area,.lineup-slot{flex-shrink:0;align-items:center;display:flex}.gig-row__action-area{gap:6px}.gig-row__status-badge{border-radius:var(--radius-full);white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;padding:3px 8px;font-size:11px;font-weight:700}.gig-row__status-badge.is-confirmed{background:var(--accent-green-dim);color:var(--accent-green)}.gig-row__status-badge.is-pending{background:var(--accent-amber-dim);color:var(--accent-amber)}.gig-row__status-badge.is-cancelled{background:var(--bg-raised);color:var(--text-secondary)}.gig-row__arrow{color:var(--text-tertiary);flex-shrink:0;font-size:18px}.feed-item.feed-link{color:inherit;border-radius:7px;padding:9px 6px;text-decoration:none;transition:background .12s}.feed-item.feed-link:hover{background:var(--card2)}.feed-text{color:var(--text);line-height:1.45}.venue-rev-row{border-bottom:1px solid var(--border);color:inherit;align-items:center;gap:12px;padding:11px 16px;text-decoration:none;transition:background .12s;display:flex}.venue-rev-row:last-child{border-bottom:none}a.venue-rev-row:hover{background:var(--red-bg)}.vrr-sub{color:var(--muted);margin-top:2px;font-size:11px}.vrr-amount{white-space:nowrap;font-weight:800}.pay-panel-link{color:inherit;cursor:pointer;text-decoration:none;display:block}.pay-panel-link:hover{border-color:var(--red)}.pay-cycle-top{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.pay-cycle-label{color:var(--muted);font-size:12px}.pay-cycle-date{color:var(--red);font-size:12px;font-weight:700}.pay-bar{background:var(--card2);border-radius:3px;height:6px;margin-bottom:8px;overflow:hidden}.pay-bar-fill{background:linear-gradient(90deg,var(--red),#e0607a);border-radius:3px;height:100%;transition:width .3s}.pay-cycle-stats{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.pay-amount{color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-weight:800}.pay-cycle-out{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;display:flex}.pay-cycle-note{color:var(--muted);margin-top:10px;font-size:11px}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.dashboard-header .dash-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-ghost{border-radius:var(--radius-md);height:34px;font-size:var(--font-size-sm);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:0 14px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn-ghost:hover{background:var(--bg-raised);border-color:var(--border-strong);color:var(--text-primary)}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.kpi-card{background:var(--bg-card);border:1px solid var(--border-default);box-shadow:var(--shadow-main);color:inherit;transition:var(--transition-smooth);--kpi-accent:var(--accent-brand);border-radius:14px;padding:20px 20px 18px;text-decoration:none;display:block;position:relative;overflow:hidden}.kpi-card:after{content:"";background:var(--kpi-accent);opacity:.8;border-radius:0 0 14px 14px;height:3px;transition:opacity .2s;position:absolute;bottom:0;left:0;right:0}.kpi-card:hover{border-color:var(--kpi-accent);transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.kpi-card:hover:after{opacity:1}.kpi-card:active{transform:translateY(0)}.kpi-card.this-week{--kpi-accent:var(--accent-blue)}.kpi-card.confirmed{--kpi-accent:var(--accent-green)}.kpi-card.awaiting{--kpi-accent:var(--accent-amber)}.kpi-card.open-slots{--kpi-accent:var(--accent-brand)}.kpi-card__top{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.kpi-card__label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);font-size:11px;font-weight:700}.kpi-card__icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:box-shadow .3s;display:flex}@keyframes kpi-ring-pulse{0%,to{box-shadow:0 0 #ef444459}50%{box-shadow:0 0 0 7px #ef444400}}.kpi-card__icon.urgent{animation:kpi-ring-pulse 2s ease-in-out infinite}.kpi-card__value{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:5px;font-size:42px;font-weight:900;line-height:1}.kpi-card__sub,.kpi-card__value.zero{color:var(--text-tertiary)}.kpi-card__sub{font-size:12px;font-weight:500}.dashboard-body{grid-template-columns:1fr 360px;align-items:start;gap:18px;display:grid}.quick-actions-strip{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px;display:grid}.quick-action-card{background:var(--bg-card);border:1px solid var(--border-default);color:inherit;transition:var(--transition-smooth);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.quick-action-card:hover{background:var(--bg-raised);border-color:var(--accent-brand);transform:translateY(-1px);box-shadow:0 4px 12px #00000012}.quick-action-card__icon{background:var(--bg-raised);width:36px;height:36px;color:var(--accent-brand);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.quick-action-card__text{flex:1;min-width:0}.quick-action-card__title{color:var(--text-primary);font-size:13px;font-weight:700}.quick-action-card__desc{color:var(--text-tertiary);margin-top:1px;font-size:11px}.quick-action-card__chev{color:var(--text-tertiary);flex-shrink:0;font-size:16px}.upcoming-gigs-panel{background:var(--bg-card);border:1px solid var(--border-default);box-shadow:var(--shadow-main);border-radius:14px;overflow:hidden}.panel-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.panel-header__title{color:var(--text-primary);font-size:14px;font-weight:700}.panel-header__action{color:var(--accent-brand);font-size:12px;font-weight:600;text-decoration:none;transition:opacity .15s}.panel-header__action:hover{opacity:.75}.upcoming-empty{text-align:center;padding:52px 24px}.upcoming-empty__icon{background:var(--bg-raised);border:1px solid var(--border-subtle);width:52px;height:52px;color:var(--text-tertiary);border-radius:14px;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.upcoming-empty__title{color:var(--text-primary);margin-bottom:6px;font-size:15px;font-weight:700}.upcoming-empty__sub{color:var(--text-tertiary);margin-bottom:18px;font-size:13px;line-height:1.5}.upcoming-empty__cta{border-radius:var(--radius-md);background:var(--accent-brand);color:#fff;align-items:center;gap:6px;height:34px;padding:0 16px;font-size:13px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-flex}.upcoming-empty__cta:hover{opacity:.88}.revenue-panel{background:var(--bg-card);border:1px solid var(--border-default);box-shadow:var(--shadow-main);border-radius:14px;margin-bottom:14px;overflow:hidden}.revenue-row{border-bottom:1px solid var(--border-subtle);color:inherit;flex-direction:column;gap:5px;padding:12px 16px;text-decoration:none;transition:background .12s;display:flex}.revenue-row:last-child{border-bottom:none}a.revenue-row:hover{background:var(--bg-raised)}.revenue-row__top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.revenue-row__name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.revenue-row__amount{white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:800}.revenue-row__sub{color:var(--text-tertiary);font-size:11px}.revenue-row__bar-track{background:var(--bg-raised);border-radius:2px;height:4px;overflow:hidden}.revenue-row__bar-fill{background:var(--accent-green);border-radius:2px;height:100%;transition:width .4s}.revenue-row__bar-fill.muted{background:var(--text-tertiary)}.payment-cycle-banner{background:var(--bg-card);border:1px solid var(--border-default);box-shadow:var(--shadow-main);cursor:pointer;color:inherit;transition:var(--transition-smooth);border-radius:14px;margin-bottom:14px;padding:14px 16px;text-decoration:none;display:block}.payment-cycle-banner:hover{border-color:var(--accent-brand)}.pcb-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.pcb-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);font-size:11px;font-weight:700}.pcb-link{color:var(--accent-brand);font-size:12px;font-weight:600}.pcb-cycle-row{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.pcb-cycle-label{color:var(--text-primary);font-size:13px;font-weight:700}.pcb-payout{color:var(--accent-green);font-size:11px;font-weight:600}.pcb-bar-track{background:var(--bg-raised);border-radius:3px;height:5px;margin-bottom:8px;overflow:hidden}.pcb-bar-fill{background:linear-gradient(90deg,var(--accent-brand),var(--accent-pink));border-radius:3px;height:100%;transition:width .4s}.pcb-stats{color:var(--text-tertiary);justify-content:space-between;align-items:center;margin-bottom:2px;font-size:12px;display:flex}.pcb-stats-amount{color:var(--text-primary);font-size:14px;font-weight:800}.pcb-outstanding{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;display:flex}.pcb-out-label{color:var(--text-tertiary);font-size:12px}.pcb-out-amount{color:var(--accent-amber);font-size:14px;font-weight:800}.roster-head{align-items:flex-start;gap:16px;margin-bottom:20px}.roster-head,.roster-toolbar{flex-wrap:wrap;justify-content:space-between;display:flex}.roster-toolbar{align-items:center;gap:12px;margin-bottom:12px}.roster-toolbar__left{flex-wrap:wrap;flex:1;align-items:center;gap:10px;display:flex}.roster-toolbar__right{flex-shrink:0;align-items:center;gap:8px;display:flex}.search-input-wrap{align-items:center;display:flex;position:relative}.search-input-icon{color:var(--text-tertiary);pointer-events:none;z-index:1;display:flex;position:absolute;left:11px}.search-input{min-width:260px;padding-left:36px}.filter-select{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;font-family:var(--font-base);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:all var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23A1A1AA' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:12px;padding:8px 32px 8px 12px}.filter-select:hover{border-color:var(--border-strong);background-color:var(--bg-raised)}.filter-select:focus{border-color:var(--accent-brand);box-shadow:0 0 0 3px var(--accent-brand-dim);outline:none}.stat-pill{border-radius:var(--radius-full);background:var(--bg-raised);border:1px solid var(--border-subtle);color:var(--text-secondary);white-space:nowrap;align-items:center;gap:4px;padding:5px 11px;font-size:12px;font-weight:500;display:inline-flex}.stat-pill__count{color:var(--text-primary);font-weight:700}.stat-pill.active-pill{background:var(--accent-green-dim);border-color:#0000}.stat-pill.active-pill,.stat-pill.active-pill .stat-pill__count{color:var(--accent-green)}.filter-chips{scrollbar-width:none;align-items:center;gap:8px;margin-bottom:20px;padding-bottom:4px;display:flex;overflow-x:auto}.filter-chips::-webkit-scrollbar{display:none}.filter-chip{border-radius:var(--radius-full);border:1px solid var(--border-default);background:var(--bg-card);font-size:13px;font-weight:500;font-family:var(--font-base);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);flex-shrink:0;align-items:center;gap:5px;padding:6px 14px;display:flex}.filter-chip:hover{border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-raised)}.filter-chip.active{background:var(--accent-brand-dim);border-color:var(--accent-brand);color:var(--accent-brand);font-weight:600}.filter-chips-count{color:var(--text-tertiary);flex-shrink:0;margin-left:4px;font-size:12px;font-weight:500}.tbl-wrap{overflow-x:auto}.musicians-tbl-wrap{border-radius:var(--radius-lg);border:1px solid var(--border-default);max-height:calc(100vh - 280px);overflow:auto}.musicians-tbl-wrap .tbl{border:none;border-radius:0;overflow:visible}.musicians-table thead th{z-index:10;position:sticky;top:0}.musicians-table thead tr{-webkit-backdrop-filter:blur(8px)}.th-sort{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.th-sort.sorted,.th-sort:hover{color:var(--accent-brand)}.sort-icon{opacity:.35;margin-left:4px;font-size:11px;display:inline-block}.sorted-icon{opacity:1;color:var(--accent-brand)}.musician-avatar{letter-spacing:.02em}.musician-avatar,.roster-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex}.roster-avatar{color:#fff}.instrument-badge{border-radius:var(--radius-full);white-space:nowrap;letter-spacing:.02em;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.instrument-badge.vocalist{background:var(--accent-brand-dim);color:var(--accent-brand)}.instrument-badge.pianist{background:var(--accent-blue-dim);color:var(--accent-blue)}.instrument-badge.bassist{background:var(--accent-green-dim);color:var(--accent-green)}.instrument-badge.drummer{background:var(--accent-amber-dim);color:var(--accent-amber)}.instrument-badge.guitarist{background:var(--accent-purple-dim);color:var(--accent-purple)}.instrument-badge.other{background:var(--bg-raised);color:var(--text-secondary);border:1px solid var(--border-subtle)}.td-name{gap:12px}.td-name,.td-name__text{align-items:center;display:flex}.td-name__text{color:var(--text-primary);transition:color var(--transition-fast);flex-wrap:wrap;gap:4px;font-weight:600}.musicians-table tbody tr:hover .td-name__text{color:var(--accent-brand)}.td-name__genres{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.genre-tag{border-radius:var(--radius-full);background:var(--bg-raised);color:var(--text-tertiary);border:1px solid var(--border-subtle);padding:1px 7px;font-size:10px;font-weight:500}.td-fee{text-align:right}.td-fee__primary{color:var(--text-primary);font-size:14px;font-weight:700;display:block}.td-fee__premium{color:var(--accent-amber);background:var(--accent-amber-dim);margin-top:3px;padding:1px 7px;font-weight:600;display:inline-block}.status-badge,.td-fee__premium{border-radius:var(--radius-full);font-size:11px}.status-badge{letter-spacing:.06em;text-transform:uppercase;align-items:center;padding:4px 12px;font-weight:700;display:inline-flex}.status-badge.active{background:var(--accent-green-dim);color:var(--accent-green)}.status-badge.inactive{background:var(--bg-raised);color:var(--text-tertiary);border:1px solid var(--border-subtle)}.status-badge.suspended{background:var(--red-bg);color:var(--red)}.td-actions{text-align:right;width:52px}.action-icon-btn{border-radius:var(--radius-md);width:44px;height:44px;color:var(--text-tertiary);cursor:pointer;opacity:0;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-family:inherit;display:inline-flex}.action-icon-btn:focus-visible,.musicians-table tbody tr:hover .action-icon-btn{opacity:1}@media (hover:none){.action-icon-btn{opacity:1}}.action-icon-btn:hover{background:var(--bg-raised);border-color:var(--border-default);color:var(--text-primary)}.load-more-btn{text-align:center;width:100%;font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-base);color:var(--text-secondary);background:var(--bg-raised);border:none;border-top:1px solid var(--border-default);cursor:pointer;transition:all var(--transition-fast);padding:14px;display:block}.load-more-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.table-empty-footer{border-top:1px dashed var(--border-default);color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-fast);justify-content:center;align-items:center;gap:6px;padding:24px 20px;font-size:13px;display:flex}.table-empty-footer:hover{color:var(--accent-brand)}.roster-name{align-items:center;gap:10px;display:flex}.roster-edit-btn{opacity:0;justify-content:center;align-items:center;padding:5px 7px;transition:opacity .18s;display:inline-flex}.tbl tr:hover .roster-edit-btn{opacity:1}.fl-opt{text-transform:none;letter-spacing:0;color:var(--muted);font-weight:400}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-header__title{color:var(--text-primary);margin:0 0 4px;font-size:28px;font-weight:800;line-height:1.2}.page-header__subtitle{font-size:var(--font-size-sm,13px);color:var(--text-tertiary);margin:0;font-weight:400;line-height:1.55}.page-header__actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;padding-top:4px;display:flex}.venues-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.venues-page-header h1{color:var(--text-primary);margin:0 0 4px;font-size:28px;font-weight:800;line-height:1.2}.venues-page-header__subtitle{font-size:var(--font-size-sm);color:var(--text-tertiary);max-width:480px;margin:0;font-weight:400;line-height:1.5}.venues-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:28px;display:flex}.venues-toolbar__search-wrap{flex:1;min-width:200px;max-width:360px;position:relative}.venues-toolbar__search-icon{color:var(--text-tertiary);pointer-events:none;display:flex;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.venues-toolbar__search-input{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-size:16px;font-family:var(--font-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none;padding:9px 12px 9px 35px}.venues-toolbar__search-input::-moz-placeholder{color:var(--text-tertiary)}.venues-toolbar__search-input::placeholder{color:var(--text-tertiary)}.venues-toolbar__search-input:focus{border-color:var(--accent-brand);box-shadow:0 0 0 3px var(--accent-brand-dim)}.venues-toolbar__spacer{flex:1}.venues-toolbar__filter{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-family:var(--font-base);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;outline:none;padding:9px 32px 9px 12px;font-weight:500}.venues-toolbar__filter:focus,.venues-toolbar__filter:hover{border-color:var(--border-strong);color:var(--text-primary)}.venues-toolbar__count{color:var(--text-tertiary);background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-full);white-space:nowrap;padding:5px 12px;font-size:12px;font-weight:600}.venue-country-section{margin-bottom:32px}.venue-country-header{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;margin-bottom:14px;padding-bottom:12px;display:flex}.venue-country-header__flag{font-size:20px;line-height:1}.venue-country-header__name{letter-spacing:.07em;text-transform:uppercase;color:var(--text-secondary);font-size:13px;font-weight:700}.venue-country-header__badge{color:var(--text-tertiary);background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:2px 9px;font-size:11px;font-weight:600}.venue-card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.venue-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;transition:box-shadow var(--transition-base),border-color var(--transition-base),transform var(--transition-fast);box-shadow:var(--shadow-sm);color:inherit;--card-accent:var(--border-default);flex-direction:column;gap:10px;padding:18px 18px 14px;text-decoration:none;display:flex;position:relative;overflow:hidden}.venue-card:before{content:"";background:var(--card-accent);border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.venue-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}.venue-card[data-status=active]{--card-accent:var(--accent-green)}.venue-card[data-status=recent]{--card-accent:var(--accent-amber)}.venue-card[data-status=dormant]{--card-accent:var(--border-default)}.venue-card__header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.venue-card__name{color:var(--text-primary);flex:1;min-width:0;font-size:14px;font-weight:700;line-height:1.35}.venue-card__arrow{color:var(--text-tertiary);opacity:0;transition:opacity var(--transition-fast),transform var(--transition-fast);flex-shrink:0;margin-top:1px;font-size:15px}.venue-card:hover .venue-card__arrow{opacity:1;transform:translate(2px)}.venue-status-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-full);align-items:center;gap:5px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.venue-status-badge__dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.venue-status-badge[data-status=active]{background:var(--accent-green-dim);color:var(--accent-green)}.venue-status-badge[data-status=active] .venue-status-badge__dot{background:var(--accent-green)}.venue-status-badge[data-status=recent]{background:var(--accent-amber-dim);color:var(--accent-amber)}.venue-status-badge[data-status=recent] .venue-status-badge__dot{background:var(--accent-amber)}.venue-status-badge[data-status=dormant]{background:var(--bg-raised);color:var(--text-tertiary)}.venue-status-badge[data-status=dormant] .venue-status-badge__dot{background:var(--text-tertiary)}.venue-card__stats{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.venue-stat-chip{color:var(--text-tertiary);align-items:center;gap:4px;font-size:11px;font-weight:500;display:flex}.venue-stat-chip__value{color:var(--text-secondary);font-weight:600}.venue-edit-btn{opacity:0;box-sizing:border-box;z-index:2;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:5px 7px;transition:opacity .18s;display:inline-flex;position:absolute;top:14px;right:14px}.venue-card:hover .venue-edit-btn,.venue-edit-btn:focus-visible{opacity:1}@media (hover:none){.venue-edit-btn{opacity:1}}.venues-empty-state{text-align:center;flex-direction:column;gap:12px;padding:64px 32px}.venues-empty-state,.venues-empty-state__icon{justify-content:center;align-items:center;display:flex}.venues-empty-state__icon{border-radius:var(--radius-xl);background:var(--bg-raised);border:1px solid var(--border-default);width:60px;height:60px;margin-bottom:4px;font-size:26px}.venues-empty-state__title{color:var(--text-secondary);margin:0;font-size:16px;font-weight:700}.venues-empty-state__subtitle{color:var(--text-tertiary);max-width:300px;margin:0;font-size:13px;line-height:1.5}[data-theme=light] .venue-card{box-shadow:0 1px 4px #0000000f}[data-theme=light] .venue-card:hover{box-shadow:0 4px 16px #0000001a}[data-theme=light] .venues-toolbar__search-input{background:#fff}.venue-card-foot{border-top:1px solid var(--border);background:var(--card2);justify-content:flex-end;gap:8px;padding:10px 16px;display:flex}.back-link{color:var(--muted);font-size:12px;font-weight:700;text-decoration:none}.back-link:hover{color:var(--red)}.finance-note{background:var(--blue-bg);color:var(--blue);border:1px solid #c3ddf0;border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.5}.finance-note code{background:#2b6ea81f;border-radius:4px;padding:1px 5px;font-size:12px}.pay-row-link{border-bottom:1px solid var(--border);color:inherit;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;text-decoration:none;transition:background .12s;display:flex}.pay-row-link:last-child{border-bottom:none}.pay-row-link:hover{background:var(--accent-pink-glow)}.payments-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.payments-page-header h1{color:var(--text-primary);margin:0 0 4px;font-size:28px;font-weight:800;line-height:1.2}.payments-page-header__subtitle{color:var(--text-tertiary);max-width:520px;margin:0;font-size:13px;font-weight:400;line-height:1.55}.payments-page-header__subtitle strong{color:var(--text-secondary);font-weight:600}.payments-page-header__actions{flex-shrink:0;align-items:center;gap:10px;padding-top:4px;display:flex}.payments-kpi-grid{grid-template-columns:repeat(var(--kpi-cols,4),1fr);gap:14px;margin-bottom:28px;display:grid}.payments-kpi-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),border-color var(--transition-base);--card-accent:var(--border-default);padding:20px 20px 16px;position:relative;overflow:hidden}.payments-kpi-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.payments-kpi-card:after{content:"";background:var(--card-accent);border-radius:0 0 var(--radius-lg) var(--radius-lg);height:3px;position:absolute;bottom:0;left:0;right:0}.payments-kpi-card.fees-outstanding{--card-accent:var(--accent-amber)}.payments-kpi-card.fees-outstanding .payments-kpi-value{color:var(--accent-amber)}.payments-kpi-card.fees-outstanding .payments-kpi-icon{background:var(--accent-amber-dim);color:var(--accent-amber)}.payments-kpi-card.paid-period{--card-accent:var(--accent-blue)}.payments-kpi-card.paid-period .payments-kpi-value{color:var(--accent-blue)}.payments-kpi-card.paid-period .payments-kpi-icon{background:var(--accent-blue-dim);color:var(--accent-blue)}.payments-kpi-card.revenue-in{--card-accent:var(--accent-green)}.payments-kpi-card.revenue-in .payments-kpi-value{color:var(--accent-green)}.payments-kpi-card.revenue-in .payments-kpi-icon{background:var(--accent-green-dim);color:var(--accent-green)}.payments-kpi-card.net-positive{--card-accent:var(--accent-green)}.payments-kpi-card.net-positive .payments-kpi-value{color:var(--accent-green)}.payments-kpi-card.net-negative{--card-accent:var(--accent-brand)}.payments-kpi-card.net-negative .payments-kpi-value{color:var(--accent-brand)}.payments-kpi-card__header{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.payments-kpi-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);font-size:10px;font-weight:700}.payments-kpi-icon{border-radius:var(--radius-md);background:var(--bg-raised);width:34px;height:34px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:flex}.payments-kpi-value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:5px;font-size:32px;font-weight:800;line-height:1}.payments-kpi-period{color:var(--text-tertiary);margin-top:2px;font-size:11px;font-weight:500}.payments-body{grid-template-columns:1fr 340px;align-items:start;gap:20px;display:grid}.cycle-navigator{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;display:flex}.cycle-nav-btn{border-radius:var(--radius-md);background:var(--bg-raised);border:1px solid var(--border-default);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.cycle-nav-btn:hover:not(:disabled){border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-card-hover)}.cycle-nav-btn:disabled{opacity:.3;cursor:not-allowed}.cycle-navigator__center{text-align:center;flex:1}.cycle-navigator__label{color:var(--text-primary);margin-bottom:1px;font-size:14px;font-weight:700;display:block}.cycle-navigator__sublabel{color:var(--text-tertiary);font-size:11px;font-weight:500}.cycle-navigator__total{color:var(--accent-amber);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:16px;font-weight:800}.ap-ledger-panel{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.ap-ledger-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:13px 16px;display:flex}.ap-ledger-title{letter-spacing:.1em;text-transform:uppercase;font-weight:700}.ap-ledger-count,.ap-ledger-title{color:var(--text-tertiary);font-size:11px}.ap-ledger-count{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:2px 9px;font-weight:600}.payment-filter-bar{border-bottom:1px solid var(--border-subtle);background:var(--bg-raised);align-items:center;gap:8px;padding:9px 12px;display:flex}.payment-filter-search{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:16px;font-family:var(--font-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none;flex:1;padding:6px 10px 6px 30px}.payment-filter-search:focus{border-color:var(--accent-brand);box-shadow:0 0 0 3px var(--accent-brand-dim)}.payment-filter-search::-moz-placeholder{color:var(--text-tertiary)}.payment-filter-search::placeholder{color:var(--text-tertiary)}.payment-filter-select{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:12px;font-family:var(--font-base);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;outline:none;padding:6px 22px 6px 10px;font-weight:500}.payment-filter-search-wrap{flex:1;position:relative}.payment-filter-search-icon{color:var(--text-tertiary);pointer-events:none;display:flex;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.payment-list-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-raised);justify-content:space-between;padding:8px 16px;display:flex}.payment-list-header__cell{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-size:10px;font-weight:700}.payment-list-header__cell.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color var(--transition-fast)}.payment-list-header__cell.sortable:hover{color:var(--text-secondary)}.payment-list-header__cell.sorted{color:var(--text-primary)}.payment-row{border-bottom:1px solid var(--border-subtle);transition:background var(--transition-fast);align-items:center;gap:12px;padding:11px 16px;display:flex;position:relative}.payment-row:last-child{border-bottom:none}.payment-row:hover{background:var(--bg-card-hover)}.payment-row__linkarea{min-width:0;color:inherit;flex:1;align-items:center;gap:12px;text-decoration:none;display:flex}.payment-row__avatar{color:#fff;text-transform:uppercase;letter-spacing:.04em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:11px;font-weight:700;display:flex}.payment-row__info{flex:1;min-width:0}.payment-row__name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:13px;font-weight:600;display:block;overflow:hidden}.payment-row__meta{color:var(--text-tertiary);font-size:11px;font-weight:400}.payment-row__right{flex-shrink:0;align-items:center;gap:8px;display:flex}.payment-row__amount{color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:right;min-width:68px;font-size:13px;font-weight:700}.payment-row__action{border-radius:var(--radius-md);width:26px;height:26px;color:var(--text-tertiary);cursor:pointer;opacity:0;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;text-decoration:none;display:flex}.payment-row:hover .payment-row__action{opacity:1;border-color:var(--border-default);background:var(--bg-raised)}.pay-status-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.pay-status-badge[data-status=pending]{background:var(--accent-amber-dim);color:var(--accent-amber)}.pay-status-badge[data-status=overdue]{background:var(--accent-brand-dim);color:var(--accent-brand)}.pay-status-badge[data-status=processing]{background:var(--accent-blue-dim);color:var(--accent-blue)}.pay-status-badge[data-status=paid]{background:var(--accent-green-dim);color:var(--accent-green)}.pay-status-badge[data-status=no_contact]{background:var(--red-bg);color:var(--red)}.pay-status-badge[data-status=claimed]{background:var(--tag);color:var(--tag-t)}.invoice-card{border-bottom:1px solid var(--border-subtle)}.invoice-card:last-child{border-bottom:none}.invoice-card__header{transition:background var(--transition-fast);align-items:center;gap:12px;padding:11px 16px;display:flex}.invoice-card__header:hover{background:var(--bg-card-hover)}.invoice-card__togglearea{text-align:left;cursor:pointer;min-width:0;font:inherit;color:inherit;background:0 0;border:none;flex:1;align-items:center;gap:12px;padding:0;display:flex}.invoice-card__chevron{width:16px;color:var(--text-tertiary);transition:transform var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;transform:rotate(0)}.invoice-card__chevron[data-open=true]{transform:rotate(90deg)}.invoice-card__body{background:var(--bg-raised);padding:4px 16px 12px 60px}.invoice-line-item{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;padding:7px 0;font-size:12.5px;display:flex}.invoice-line-item:last-child{border-bottom:none}.invoice-line-item__num{color:var(--text-tertiary);flex-shrink:0;width:18px;font-weight:700}.invoice-line-item__desc{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.invoice-line-item__amount{font-variant-numeric:tabular-nums;color:var(--text-primary);flex-shrink:0;font-weight:600}.invoice-line-item-wrap{border-bottom:1px solid var(--border-subtle);padding:4px 0}.invoice-line-item-wrap:last-child{border-bottom:none}.invoice-line-item-wrap .invoice-line-item{border-bottom:none;padding-bottom:2px}.extra-cost-editor{padding:2px 0 4px 28px}.extra-cost-chips{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.extra-cost-chip{background:var(--card2);border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;align-items:center;gap:4px;padding:2px 8px 2px 10px;font-size:11.5px;display:inline-flex}.extra-cost-form{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.extra-cost-add-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:11.5px;text-decoration:underline}.extra-cost-add-btn:hover{color:var(--red)}.extra-cost-error{color:var(--red);margin-top:4px;font-size:11.5px}.ap-ledger-footer{border-top:1px solid var(--border-subtle);background:var(--bg-raised);justify-content:space-between;align-items:center;padding:11px 16px;display:flex}.ap-ledger-footer__count{color:var(--text-tertiary);font-size:12px;font-weight:500}.ap-ledger-footer__more{color:var(--accent-brand);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-base);transition:opacity var(--transition-fast);background:0 0;border:none;padding:0}.ap-ledger-footer__more:hover{opacity:.75}.ar-revenue-panel{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.ar-revenue-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:13px 18px;display:flex}.ar-revenue-title{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);font-size:11px;font-weight:700}.ar-revenue-total{color:var(--accent-green);font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.ar-revenue-row{border-bottom:1px solid var(--border-subtle);transition:background var(--transition-fast);cursor:pointer;color:inherit;flex-direction:column;padding:10px 18px;text-decoration:none;display:flex}.ar-revenue-row:last-child{border-bottom:none}.ar-revenue-row:hover{background:var(--bg-card-hover)}.ar-revenue-row__top{align-items:center;gap:8px;margin-bottom:5px;display:flex}.ar-revenue-row__rank{color:var(--text-tertiary);flex-shrink:0;width:14px;font-size:10px;font-weight:700}.ar-revenue-row__name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.ar-revenue-row__amount{color:var(--accent-green);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:13px;font-weight:700}.ar-revenue-row__bar-track{background:var(--bg-raised);border-radius:var(--radius-full);height:3px;margin-left:22px;overflow:hidden}.ar-revenue-row__bar-fill{border-radius:var(--radius-full);background:var(--accent-green);height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.ar-revenue-panel__footer{border-top:1px solid var(--border-subtle);background:var(--bg-raised);justify-content:space-between;align-items:center;padding:10px 18px;display:flex}.ar-revenue-footer-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-size:10px;font-weight:700}.ar-revenue-footer-period{color:var(--text-secondary);margin-top:1px;font-size:12px;font-weight:600}.ar-revenue-footer-link{color:var(--accent-brand);transition:opacity var(--transition-fast);font-size:11px;font-weight:600;text-decoration:none}.ar-revenue-footer-link:hover{opacity:.75}[data-theme=light] .payments-kpi-card{box-shadow:0 1px 4px #0000000f}[data-theme=light] .payment-row:hover{background:#00000005}[data-theme=light] .ap-ledger-footer,[data-theme=light] .ar-revenue-panel__footer,[data-theme=light] .payment-filter-bar{background:#f4f4f6}[data-theme=light] .cycle-navigator{box-shadow:0 1px 3px #0000000d}.btn-r{background:var(--red);color:#fff}.btn-r:hover:not(:disabled){background:var(--red-h)}.btn-avail-ghost{border-radius:var(--radius-md);border:1.5px solid var(--border-default);color:var(--text-secondary);transition:var(--transition-fast);white-space:nowrap;cursor:pointer;background:0 0;align-items:center;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.btn-avail-ghost:hover{border-color:var(--accent-brand);color:var(--accent-brand);background:var(--accent-brand-dim)}.portal .ph-header{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:24px;padding-bottom:20px;display:flex}.portal .ph-greeting{color:var(--text);font-size:22px;font-weight:800}.preferred-partner-badge{vertical-align:middle;text-transform:uppercase;letter-spacing:.4px;color:var(--accent-amber);background:var(--accent-amber-dim);border:1px solid var(--accent-amber);border-radius:999px;margin-left:10px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.portal .ph-sub{color:var(--muted);max-width:44ch;margin-top:3px;font-size:13px}.portal .pg-section{text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin:18px 0 10px;font-size:12px;font-weight:800}.portal .panel-header{border-bottom:1px solid var(--border);background:var(--card2);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.portal .panel-title{color:var(--text);font-size:13px;font-weight:800}.portal .panel-empty{text-align:center;color:var(--muted);padding:22px 16px;font-size:13px}.onboarding-card{background:linear-gradient(145deg,var(--bg-card),var(--bg-raised));border:1px solid var(--accent-brand);border-radius:var(--radius-lg);margin-bottom:20px;padding:18px 20px}.onboarding-card__title{color:var(--text-primary);margin-bottom:8px;font-size:15px;font-weight:800}.onboarding-card__body{color:var(--text-secondary);max-width:640px;margin:0 0 14px;font-size:13px;line-height:1.6}.portal .ph-stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.portal .qs-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:10px;padding:14px}.portal .qs-label{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;font-size:10px;font-weight:700}.portal .qs-value{font-size:24px;font-weight:800;line-height:1.1}.portal .qs-value.gold{color:var(--amber)}.portal .qs-value.green{color:var(--green)}.portal .qs-value.amber{color:var(--amber)}.portal .qs-value.white{color:var(--text)}.portal .qs-sub{color:var(--muted);margin-top:3px;font-size:11px}.portal .ph-kpi-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:2px;padding:16px;display:flex;position:relative;overflow:hidden}.portal .ph-kpi-card:after{content:"";border-radius:0 0 var(--radius-lg) var(--radius-lg);height:3px;position:absolute;bottom:0;left:0;right:0}.portal .ph-kpi-card.is-blue:after{background:var(--accent-blue)}.portal .ph-kpi-card.is-amber:after{background:var(--accent-amber)}.portal .ph-kpi-card.is-green:after{background:var(--accent-green)}.portal .ph-kpi-card.is-purple:after{background:var(--accent-purple)}.portal .ph-kpi-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:8px;display:flex}.portal .ph-kpi-card.is-blue .ph-kpi-icon{background:var(--accent-blue-dim);color:var(--accent-blue)}.portal .ph-kpi-card.is-amber .ph-kpi-icon{background:var(--accent-amber-dim);color:var(--accent-amber)}.portal .ph-kpi-card.is-green .ph-kpi-icon{background:var(--accent-green-dim);color:var(--accent-green)}.portal .ph-kpi-card.is-purple .ph-kpi-icon{background:var(--accent-purple-dim);color:var(--accent-purple)}@keyframes ph-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(.92)}}.portal .ph-kpi-icon.is-pulsing{animation:ph-pulse 1.6s ease-in-out infinite}.portal .ph-kpi-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px;font-size:10px;font-weight:700}.portal .ph-kpi-value{font-variant-numeric:tabular-nums;font-size:26px;font-weight:800;line-height:1}.portal .ph-kpi-card.is-blue .ph-kpi-value{color:var(--accent-blue)}.portal .ph-kpi-card.is-amber .ph-kpi-value{color:var(--accent-amber)}.portal .ph-kpi-card.is-green .ph-kpi-value{color:var(--accent-green)}.portal .ph-kpi-card.is-purple .ph-kpi-value{color:var(--text-primary)}.portal .ph-kpi-sub{color:var(--text-tertiary);margin-top:3px;font-size:11px}.portal .panel-empty-rich{text-align:center;flex-direction:column;align-items:center;gap:5px;padding:22px 16px;display:flex}.portal .panel-empty-icon{background:var(--bg-raised);width:44px;height:44px;color:var(--text-tertiary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:6px;display:flex}.portal .panel-empty-title{color:var(--text-primary);font-size:14px;font-weight:700}.portal .panel-empty-sub{color:var(--text-tertiary);max-width:26ch;font-size:12px;line-height:1.5}.ask-vamp-card{color:inherit;background:linear-gradient(145deg,var(--bg-card),var(--bg-raised));border:1px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);width:100%;font:inherit;text-align:left;align-items:flex-start;gap:14px;margin-top:0;padding:18px 16px;text-decoration:none;display:flex}.ask-vamp-card:hover{border-color:var(--accent-amber);box-shadow:var(--shadow-md);transform:translateY(-2px)}.ask-vamp-avatar{border-radius:var(--radius-md);background:var(--accent-amber);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:17px;font-weight:800;display:flex}.ask-vamp-body{flex:1}.ask-vamp-title{color:var(--text-primary);margin-bottom:3px;font-size:14px;font-weight:800}.ask-vamp-sub{color:var(--text-secondary);font-size:12px;line-height:1.4}.ask-vamp-prompt{color:var(--accent-amber);align-items:center;gap:5px;margin-top:10px;font-size:12px;font-weight:600;display:flex}.portal .pay-row__right{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.portal .ph-grid{grid-template-columns:1fr;gap:18px;display:grid}.portal .ph-col{flex-direction:column;display:flex}.portal .action-banner{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--red);border-radius:12px;gap:16px;margin-bottom:20px;padding:20px 20px 20px 24px;display:flex;box-shadow:0 2px 8px #0000000f,0 1px 2px #0000000a}.portal .action-icon{background:var(--red-bg);width:36px;height:36px;color:var(--red);border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:900;display:flex}.portal .action-text{flex:1}.portal .action-title{color:var(--red);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:11px;font-weight:700}.portal .action-sub{color:var(--text);letter-spacing:-.01em;margin:0 0 4px;font-size:15px;font-weight:700}.portal .action-detail{color:var(--muted);margin:0 0 14px;font-size:12px}.action-more-link{color:var(--accent-brand);margin-top:8px;font-size:12px;font-weight:600;display:inline-block}.resp-wrap{flex-direction:column;gap:8px;display:flex}.resp-btns{flex-wrap:wrap;gap:6px;display:flex}.btn-accept,.btn-decline,.btn-personal,.btn-query{cursor:pointer;border-radius:7px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:700;transition:all .15s}.btn-accept,.btn-decline{min-height:44px;padding:8px 22px;font-size:14px}.btn-accept{background:var(--green);color:#fff;border:1px solid var(--green)}.btn-decline{color:var(--red);border:1.5px solid var(--red);background:0 0}.btn-query{color:var(--muted);border:1px solid var(--border);background:0 0;min-height:44px;padding:8px 18px}.btn-personal{color:#7c3aed;background:#f3effd;border:1px solid #ddd0f7}.btn-accept:disabled,.btn-decline:disabled,.btn-personal:disabled,.btn-query:disabled{opacity:.5;cursor:not-allowed}.resp-query{flex-direction:column;gap:6px;display:flex}.resp-note{border:1px solid var(--border);resize:vertical;border-radius:7px;width:100%;padding:8px 10px;font-family:inherit;font-size:12px}.resp-confirm,.resp-error{color:var(--red);font-size:12px}.resp-confirm,.resp-success{line-height:1.4}.resp-success{color:var(--accent-green,#1f8a48);font-size:12px}.portal-refresh-banner{color:var(--red);background:var(--red-bg);border:1px solid var(--red);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:8px 12px;font-size:12px;display:flex}.portal-refresh-banner__retry{color:var(--red);border:1px solid var(--red);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;padding:3px 10px;font-size:12px;font-weight:700}.portal-refresh-banner__retry:hover{background:var(--red);color:#fff}.portal .gig-item{border-bottom:1px solid var(--border);gap:12px;padding:14px 16px;display:flex}.portal .gig-item:last-child{border-bottom:none}.portal .gig-date-block{text-align:center;min-width:42px}.portal .gig-date-block .num{color:var(--red);font-size:20px;font-weight:800;line-height:1}.portal .gig-date-block .month{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-size:10px}.portal .gig-details{flex:1;min-width:0}.portal .gig-venue-name{color:var(--text);margin-bottom:2px;font-size:14px;font-weight:700}.portal .gig-meta{color:var(--muted);margin-bottom:6px;font-size:12px}.portal .gig-lineup-strip{flex-wrap:wrap;gap:4px;display:flex}.lineup-tag{border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600}.tag-you{color:var(--green);background:#edf8f2;border:1px solid #b8e8cf}.tag-musician{background:var(--tag);color:var(--tag-t);border:1px solid var(--border)}.portal .gig-status-col{flex-direction:column;align-items:flex-end;gap:6px;min-width:78px;display:flex}.portal .gig-pay{color:var(--green);white-space:nowrap;font-size:12px;font-weight:700}.gig-chat-btn{color:var(--red);font-size:11px;font-weight:700;text-decoration:none}.gig-chat-btn:hover{text-decoration:underline}.gigs-section-header{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle);margin-top:28px;margin-bottom:14px;padding-bottom:8px;font-size:11px;font-weight:700}.mg-empty{text-align:center;color:var(--text-tertiary);margin-bottom:10px;padding:16px 0;font-size:13px}.mg-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);margin-bottom:10px;overflow:hidden}.mg-card:hover{box-shadow:var(--shadow-sm);border-color:var(--border-strong);transform:translateY(-1px)}.musician-gig-row{align-items:center;gap:16px;padding:16px 20px;display:flex}.musician-gig-row__date{background:var(--accent-brand-dim);border-radius:var(--radius-md);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.musician-gig-row__date-month{text-transform:uppercase;color:var(--accent-brand);margin-bottom:2px;font-size:10px;font-weight:700;line-height:1}.musician-gig-row__date-day{color:var(--accent-brand);font-size:22px;font-weight:800;line-height:1}.musician-gig-row__info{flex:1;min-width:0}.musician-gig-row__venue{color:var(--text-primary);margin-bottom:3px;font-size:15px;font-weight:700}.musician-gig-row__time{color:var(--text-secondary);margin-bottom:6px;font-size:12px}.musician-gig-row__lineup{flex-wrap:wrap;gap:5px;display:flex}.role-badge{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-secondary);padding:3px 8px;font-size:10px;font-weight:600;display:inline-block}.role-badge.is-you{background:var(--accent-brand-dim);color:var(--accent-brand);border-color:#2563eb33}.musician-gig-row__right{flex-direction:column;align-items:flex-end;gap:4px;min-width:80px;display:flex}.gig-status{letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.gig-status.is-confirmed{color:var(--accent-green)}.gig-status.is-pending{color:var(--accent-amber)}.gig-status.is-declined{color:var(--red)}.gig-fee{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.gig-chat-link{color:var(--text-tertiary);transition:color var(--transition-fast);font-size:12px;font-weight:600;text-decoration:none}.gig-chat-link:hover{color:var(--text-primary)}.pg-night{margin-bottom:10px}.pg-respond{padding:0 20px 16px}.pg-invited-since{color:var(--amber);margin-bottom:8px;font-size:12px;font-weight:600}.gd-back{color:var(--text-tertiary);transition:color var(--transition-fast);align-items:center;gap:6px;margin-bottom:16px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.gd-back:hover{color:var(--accent-brand)}.gd-back span{font-size:18px;line-height:1}.gd-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);margin-bottom:14px;padding:20px}.gd-grid{grid-template-columns:1fr 1fr;gap:18px 16px;margin:0;display:grid}.gd-item{flex-direction:column;gap:5px;min-width:0;display:flex}.gd-item--wide{grid-column:1/-1}.gd-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-size:10px;font-weight:700}.gd-value{color:var(--text-primary);margin:0;font-size:15px;font-weight:600}.gd-address{color:var(--text-secondary);margin-top:3px;font-size:13px;font-weight:400;display:block}.gd-logistics{border-top:1px solid var(--border-subtle);flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:16px;display:flex}.gd-tag{background:var(--accent-brand-dim);border-radius:var(--radius-full);color:var(--accent-brand);border:1px solid #2563eb33;padding:4px 10px;font-size:11px;font-weight:600}.gd-section-title{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);margin:0 0 12px;font-size:11px;font-weight:700}.gd-lineup{flex-wrap:wrap;gap:8px;display:flex}.gd-note{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.gd-muted{color:var(--text-tertiary);margin:10px 0 0;font-size:13px}.gd-chat-link{text-align:center;background:var(--accent-brand);border-radius:var(--radius-md);color:var(--text-inverse);transition:opacity var(--transition-fast);padding:13px 20px;font-size:14px;font-weight:600;text-decoration:none;display:block}.gd-chat-link:hover{opacity:.9}@media (max-width:520px){.gd-grid{grid-template-columns:1fr;gap:16px}}.portal .pay-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:11px 16px;font-size:13px;display:flex}.portal .pay-row:last-child{border-bottom:none}.pay-gig{color:var(--text);font-weight:600}.pay-date{color:var(--muted);font-size:12px}.portal .pay-amount{color:var(--green);margin-left:auto;font-weight:800}.pay-status{text-transform:uppercase;letter-spacing:.4px;border-radius:99px;padding:2px 8px;font-size:10px;font-weight:800;text-decoration:none}.pay-paid{color:var(--green);background:#edf8f2;border:1px solid #b8e8cf}.pay-pending{color:var(--amber);background:#fff8ec;border:1px solid #f5dcaa}.pay-total{background:var(--bg-raised);border-top:1px solid var(--border-default);border-radius:0 0 var(--radius-lg) var(--radius-lg);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.pay-total span{color:var(--text-secondary);font-size:12px;font-weight:700}.pay-total-amount{color:var(--accent-green);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:15px;font-weight:800}.pp-stats{grid-template-columns:1fr 1fr}.pp-kpi-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px;display:grid}.payment-cycle-group{margin-bottom:24px}.payment-cycle-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-end;margin-bottom:10px;padding-bottom:8px;display:flex}.payment-cycle-header__title{color:var(--text-primary);font-size:14px;font-weight:700}.payment-cycle-header__togglearea{cursor:pointer;font:inherit;color:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:0;display:flex}.payment-cycle-header__total{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.musician-payment-row{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;margin-bottom:8px;padding:16px;display:flex}.musician-payment-row__left{flex-direction:column;gap:3px;display:flex}.musician-payment-row__label{color:var(--text-primary);font-size:14px;font-weight:600}.musician-payment-row__date{color:var(--text-tertiary);font-size:12px}.musician-payment-row__right{align-items:center;gap:14px;display:flex}.musician-payment-row__amount{font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:16px;font-weight:700}.mp-badge{letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-full);padding:4px 10px;font-size:10px;font-weight:700;text-decoration:none}.mp-badge.is-paid{background:var(--accent-green-dim);color:var(--accent-green)}.mp-badge.is-pending{background:var(--accent-amber-dim);color:var(--accent-amber)}.musician-contracts-empty{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:44px 24px;display:flex}.musician-contracts-empty__icon{color:var(--border-default);opacity:.6;margin-bottom:16px}.musician-contracts-empty__icon svg{width:48px;height:48px}.musician-contracts-empty__title{color:var(--text-secondary);margin-bottom:8px;font-size:16px;font-weight:700}.musician-contracts-empty__subtitle{color:var(--text-tertiary);max-width:320px;font-size:13px;line-height:1.6}.musician-contract-row{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:border-color var(--transition-fast);align-items:center;gap:16px;margin-bottom:10px;padding:16px 20px;display:flex}.musician-contract-row:hover{border-color:var(--border-strong)}.musician-contract-row__icon{border-radius:var(--radius-md);background:var(--bg-raised);width:40px;height:40px;color:var(--text-tertiary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.musician-contract-row__info{flex:1;min-width:0}.musician-contract-row__venue{color:var(--text-primary);margin-bottom:4px;font-size:15px;font-weight:700}.musician-contract-row__meta{color:var(--text-secondary);font-size:12px}.musician-contract-row__meta span{color:var(--text-tertiary)}.musician-contract-row__actions{align-items:center;gap:12px;display:flex}.doc-status-badge{border-radius:var(--radius-full);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;padding:4px 10px;font-size:10px;font-weight:700}.doc-status-badge.requires-signature{background:var(--accent-amber-dim);color:var(--accent-amber)}.doc-status-badge.signed{background:var(--accent-green-dim);color:var(--accent-green)}.doc-status-badge.cancelled{background:var(--bg-raised);color:var(--text-tertiary)}.btn-primary-sm{background:var(--accent-brand);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-fast);border:none;padding:8px 16px;font-size:12px;font-weight:600;text-decoration:none;display:inline-block}.btn-primary-sm:hover{opacity:.88}.btn-primary-sm:disabled{opacity:.6;cursor:not-allowed}.btn-secondary-sm{color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);background:0 0;padding:8px 16px;font-size:12px;font-weight:600;text-decoration:none;display:inline-block}.btn-secondary-sm:hover{background:var(--bg-raised)}.mc-pending-doc{color:var(--text-tertiary);font-size:12px}.notice-item{border-bottom:1px solid var(--border);padding:12px 16px}.notice-item:last-child{border-bottom:none}.notice-time{color:var(--muted);margin-bottom:3px;font-size:11px}.notice-text{color:var(--muted);font-size:13px;line-height:1.5}.notice-text strong{color:var(--text);font-weight:700}.pn-panel{padding:0;overflow:hidden}.pn-item{text-align:left;border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;width:100%;transition:background var(--transition-fast);background:0 0;padding:14px 20px;font-family:inherit;display:block}.pn-item:last-child{border-bottom:none}.pn-item:hover{background:var(--bg-raised)}.pn-item.is-unread{border-left:3px solid var(--accent-brand)}.pn-item.is-read{border-left:3px solid #0000}.pn-row{align-items:center;gap:10px;display:flex}.pn-dot{background:var(--accent-brand);border-radius:50%;flex-shrink:0;width:6px;height:6px}.pn-head{flex:1;min-width:0}.pn-title{color:var(--text-primary);margin-bottom:2px;font-size:13px;font-weight:700}.pn-date{color:var(--text-tertiary);font-size:11px}.pn-body{border-top:1px solid var(--border-subtle);color:var(--text-secondary);margin-top:10px;padding-top:10px;font-size:13px;line-height:1.6}.ai-cta{color:inherit;border:1px solid #f5dcaa;gap:12px;padding:14px 16px;text-decoration:none}.ai-cta,.ai-cta-avatar{align-items:center;display:flex}.ai-cta-avatar{background:var(--amber);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;width:34px;height:34px;font-weight:800}.ai-cta-title{color:var(--amber);font-size:13px;font-weight:800}.ai-cta-sub{color:var(--muted);font-size:12px}.ai-input{background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);outline:none;flex:1;padding:10px 12px;font-family:inherit;font-size:13px}.pchat-messages{flex-direction:column;flex:1;gap:10px;max-height:52vh;padding:16px 20px;display:flex;overflow-y:auto}.avail-panel{padding:0;overflow:hidden}.avail-toolbar{border-bottom:1px solid var(--border-subtle);justify-content:center;align-items:center;gap:16px;padding:14px 20px;display:flex}.avail-copy-btn{margin-left:8px}.avail-month-title{color:var(--text-primary);letter-spacing:-.3px;text-align:center;min-width:148px;font-size:16px;font-weight:800}.avail-nav-btn{border-radius:var(--radius-md);background:var(--bg-canvas);border:1px solid var(--border-default);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-size:22px;line-height:1;display:flex}.avail-nav-btn:hover{border-color:var(--accent-brand);color:var(--accent-brand)}.avail-dow-row{grid-template-columns:repeat(7,1fr);gap:4px;padding:8px 14px 2px;display:grid}.avail-dow{letter-spacing:.6px;text-transform:uppercase;color:var(--text-tertiary);text-align:left;padding:2px 10px;font-size:9px;font-weight:700}.avail-grid{-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;grid-template-columns:repeat(7,1fr);gap:3px;padding:2px 14px 14px;display:grid}.avail-cell{border-radius:var(--radius-md);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;flex-direction:column;justify-content:flex-start;align-items:flex-start;height:60px;padding:8px 10px;font-family:inherit;transition:background 80ms,border-color 80ms;display:flex}.avail-cell:hover:not(:disabled):not(.other-month){background:var(--bg-raised);border-color:var(--border-default)}.avail-cell:disabled{cursor:default}.avail-cell.other-month{opacity:.18;pointer-events:none}.avail-cell.is-past:not(.status-available):not(.status-busy):not(.status-personal):not(.status-gig){opacity:.45}.avail-cell.is-today{background:0 0;border-color:#0000}.avail-cell.is-today .avail-cell-num{background:var(--accent-brand);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;margin:-2px 0 0 -2px;font-size:12px;font-weight:800;display:inline-flex;color:#fff!important}.avail-cell.status-available{background:#0596691a;border-color:#05966947}.avail-cell.status-available .avail-cell-num{color:#059669;font-weight:700}.avail-cell.status-busy{background:#c81d4112;border-color:#c81d4138}.avail-cell.status-busy .avail-cell-num{color:var(--red);font-weight:700;text-decoration:line-through}.avail-cell.status-personal{background:#7c3aed14;border-color:#7c3aed38}.avail-cell.status-personal .avail-cell-num{color:#7c3aed;font-weight:700}.avail-cell.status-gig{background:#d977061a;border-color:#d9770647}.avail-cell.status-gig .avail-cell-num{color:#d97706;font-weight:700}.avail-cell.in-selection{border-color:var(--accent-brand)!important;background:#c81d4121!important}.avail-cell.in-selection .avail-cell-num{font-weight:700;color:var(--accent-brand)!important}.avail-cell-num{color:var(--text-primary);pointer-events:none;font-size:13px;font-weight:600;line-height:1}.avail-cell-gig-dot{pointer-events:none;background:#d97706;border-radius:50%;flex-shrink:0;width:4px;height:4px}.avail-action-bar{background:var(--bg-canvas);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;display:flex}.avail-action-info{flex:1;min-width:80px;font-size:12px}.avail-action-count{color:var(--text-primary);font-weight:700}.avail-action-skip{color:var(--text-tertiary)}.avail-action-btns{flex-wrap:wrap;gap:6px;display:flex}.avail-action-err{width:100%;margin-top:4px}.avail-btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);border:1.5px solid;min-height:44px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:600}.avail-btn:disabled{opacity:.5;cursor:default}.avail-btn.is-free{color:#059669;background:#05966917;border-color:#0596694d}.avail-btn.is-free:hover:not(:disabled){background:#05966929;border-color:#05966980}.avail-btn.is-busy{background:var(--red-bg);color:var(--red);border-color:#c81d4140}.avail-btn.is-busy:hover:not(:disabled){border-color:var(--red);background:#c81d4121}.avail-btn.is-personal{color:#7c3aed;background:#7c3aed12;border-color:#7c3aed40}.avail-btn.is-personal:hover:not(:disabled){background:#7c3aed24;border-color:#7c3aed}.avail-btn.is-clear{border-color:var(--border-default);color:var(--text-tertiary);background:0 0}.avail-btn.is-clear:hover:not(:disabled){background:var(--bg-raised);color:var(--text-secondary)}.avail-legend{background:var(--bg-raised);border-top:1px solid var(--border-subtle);flex-wrap:wrap;gap:16px;padding:12px 16px;display:flex}.avail-legend-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;font-weight:500;display:flex}.avail-legend-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.avail-legend-swatch.is-available{background:#059669bf}.avail-legend-swatch.is-busy{background:#c81d41bf}.avail-legend-swatch.is-personal{background:#7c3aedbf}.avail-legend-swatch.is-gig{background:#d97706bf}[data-theme=dark] .avail-cell.status-available{background:#10b9811f;border-color:#10b9814d}[data-theme=dark] .avail-cell.status-available .avail-cell-num{color:#10b981}[data-theme=dark] .avail-cell.status-busy{background:#e8274b24;border-color:#e8274b4d}[data-theme=dark] .avail-cell.status-personal{background:#a855f71f;border-color:#a855f74d}[data-theme=dark] .avail-cell.status-personal .avail-cell-num{color:#a855f7}[data-theme=dark] .avail-cell.status-gig{background:#f59e0b1f;border-color:#f59e0b4d}[data-theme=dark] .avail-cell.status-gig .avail-cell-num{color:#f59e0b}[data-theme=dark] .avail-cell.in-selection{background:#e8274b2e!important}.pc-row{justify-content:space-between;gap:12px;padding:14px 16px}.pc-row,.pc-side{align-items:center;display:flex}.pc-side{flex-wrap:wrap;justify-content:flex-end;gap:10px}.pc-nodoc{color:var(--muted);font-size:11px}.pchat-grid{grid-template-columns:220px 1fr;align-items:start;gap:14px;display:grid}.pchat-list{flex-direction:column;gap:8px;max-height:70vh;display:flex;overflow-y:auto}.pchat-list-item{text-align:left;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:10px 12px;font-family:inherit}.pchat-list-item.active{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.pchat-venue{color:var(--text);font-size:13px;font-weight:700}.pchat-sub{margin-top:2px}.pchat-last,.pchat-sub{color:var(--muted);font-size:11px}.pchat-last{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;overflow:hidden}.pchat-pane{flex-direction:column;margin-bottom:0;padding:0;display:flex;overflow:hidden}.pchat-pane-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-raised);padding:14px 20px}.pchat-pane-title{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:700}.pchat-pane-meta{color:var(--text-tertiary);font-size:11px}.pchat-select-hint{flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.pchat-no-msgs,.pchat-select-hint{color:var(--text-tertiary);font-size:13px}.pchat-no-msgs{text-align:center;padding:24px}.pchat-msg{flex-direction:column;align-self:flex-start;gap:3px;max-width:78%;display:flex}.pchat-msg.is-me{align-self:flex-end}.pchat-msg.is-system{text-align:center;align-self:center;max-width:100%}.pchat-msg-author{color:var(--text-tertiary);padding-left:4px;font-size:10px;font-weight:700}.pchat-msg-body{background:var(--bg-raised);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:14px 14px 14px 4px;padding:9px 13px;font-size:15px;line-height:1.5}.pchat-msg.is-me .pchat-msg-body{background:var(--accent-brand);color:#fff;border-color:#0000;border-bottom-right-radius:4px;border-bottom-left-radius:14px}.pchat-msg.is-system .pchat-msg-body{color:var(--text-tertiary);background:0 0;border:none;border-radius:0;font-size:11px;font-style:italic}.pchat-msg-time{color:var(--text-tertiary);padding-left:4px;font-size:10px}.pchat-msg.is-me .pchat-msg-time{text-align:right;padding-left:0;padding-right:4px}.pchat-input-row{border-top:1px solid var(--border-subtle);gap:8px;padding:12px 16px;display:flex}.pchat-input{background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color var(--transition-fast);outline:none;flex:1;padding:10px 14px;font-family:inherit;font-size:16px}.pchat-input:focus{border-color:var(--accent-brand)}.pchat-send-btn{background:var(--accent-brand);color:#fff;border-radius:var(--radius-md);cursor:pointer;width:44px;height:44px;transition:opacity var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pchat-send-btn:hover:not(:disabled){opacity:.88}.pchat-send-btn:disabled{opacity:.4;cursor:default}.pchat-closed{text-align:center;color:var(--text-tertiary);border-top:1px solid var(--border-subtle);padding:12px 20px;font-size:12px;font-style:italic}@media (min-width:720px){.portal .ph-grid{grid-template-columns:1fr 340px}}@media (max-width:640px){.portal .ph-stats{grid-template-columns:1fr 1fr}.pchat-grid{grid-template-columns:1fr}.pchat-list{flex-direction:row;max-height:none;overflow-x:auto}.pchat-list-item{min-width:180px}}@media (max-width:768px){.portal-layout{flex-direction:column;height:auto;min-height:100vh;overflow:visible}.portal-main{flex:1;height:auto;overflow-y:visible}.portal-main .portal{max-width:100%;padding:16px}.portal-mobile-topbar{display:flex}.portal-sidebar{z-index:200;height:100vh;box-shadow:var(--shadow-lg);transition:transform .26s cubic-bezier(.22,1,.36,1);position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.portal-sidebar.is-open{transform:translate(0)}.portal-sidebar-close{display:flex}.portal-sidebar-overlay{display:block}.portal-sidebar .sidebar-brand{display:none}.portal .ph-header{flex-wrap:wrap;gap:10px}.portal .ph-header>a,.portal .ph-header>button{text-align:center;justify-content:center;width:100%}.btn-avail-ghost{justify-content:center;width:100%}.portal .ph-stats{grid-template-columns:1fr 1fr}.portal .ph-grid{grid-template-columns:1fr!important}.avail-grid{gap:3px;padding:4px 10px 12px}.avail-dow-row{gap:3px;padding:8px 10px 4px}.avail-dow{letter-spacing:0;font-size:9px}.avail-cell-num{font-size:12px}.avail-action-bar{flex-direction:column;align-items:flex-start}.avail-action-btns{width:100%}.avail-btn{flex:1;justify-content:center}.pchat-grid,.pp-kpi-grid{grid-template-columns:1fr}.pchat-grid{grid-template-rows:auto 1fr}.pchat-list{max-height:160px}.musician-gig-row{gap:10px;padding:12px}.mg-date-chip{min-width:46px}}.cal-day:focus-visible,.chip-x:focus-visible,.gc-charge-btn:focus-visible,.gp:focus-visible,.month-cell:focus-visible,.nav-link:focus-visible,.sch-fee-btn:focus-visible,.sch-monthbtn:focus-visible,.sch-mp-cell:focus-visible,.sch-weekday:focus-visible,.slot-add:focus-visible,.sugg-item:focus-visible,.week-day-btn:focus-visible{outline:2px solid var(--accent-brand);outline-offset:2px;box-shadow:none}.card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),border-color var(--transition-base),transform var(--transition-base)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}[data-theme=dark]{--bg-canvas:#09090b;--bg-surface:#0f0f13;--bg-card:#141418;--bg-card-hover:#1a1a20;--bg-raised:#1e1e26;--bg-input:#111115;--border-subtle:#ffffff0f;--border-default:#ffffff17;--border-strong:#ffffff29;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-tertiary:#8a8a94;--text-inverse:#09090b;--text-main:#f4f4f5;--text-muted:#a1a1aa;--accent-brand:#3b82f6;--accent-brand-dim:#3b82f624;--accent-brand-glow:#3b82f647;--accent-pink:#3b82f6;--accent-pink-glow:#3b82f624;--accent-green:#10b981;--accent-green-dim:#10b9811f;--accent-amber:#f59e0b;--accent-amber-dim:#f59e0b1f;--accent-blue:#6366f1;--accent-blue-dim:#6366f11f;--accent-purple:#a855f7;--accent-purple-dim:#a855f71f;--shadow-sm:0 1px 3px #0006,0 1px 2px #0000004d;--shadow:0 4px 16px #0006,0 2px 6px #00000040;--shadow-md:0 4px 16px #0006,0 2px 6px #00000040;--shadow-lg:0 10px 40px #00000080,0 4px 12px #0000004d;--shadow-brand:0 0 20px #3b82f647;--shadow-main:0 4px 16px #0006,0 2px 6px #00000040;--sidebar-bg:#0c0c10;--nav-active-bg:#3b82f61f;--nav-active-border:#3b82f6;--bg-primary:#09090b;--bg-secondary:#0f0f13;--card-bg:#141418;--card-border:#ffffff17;--red:#e8274b;--red-h:#ff4060;--red-bg:#e8274b1f;--bg:#09090b;--surface:#141418;--card2:#1e1e26;--border:#ffffff17;--text:#f4f4f5;--muted:#a1a1aa;--tag:#1e1e26;--tag-t:#a1a1aa;--green:#10b981;--amber:#f59e0b;--blue:#6366f1;--blue-bg:#6366f11f;--cell-confirmed:#10b9811a;--cell-pending:#f59e0b1a;--cell-overseas:#6366f11a;--ring:0 0 0 3px #3b82f659;--venue-color-1-border:#60a5fa;--venue-color-1-bg:#3b82f624;--venue-color-1-text:#93c5fd;--venue-color-2-border:#34d399;--venue-color-2-bg:#10b98124;--venue-color-2-text:#6ee7b7;--venue-color-3-border:#fb923c;--venue-color-3-bg:#f9731624;--venue-color-3-text:#fdba74;--venue-color-4-border:#facc15;--venue-color-4-bg:#eab30824;--venue-color-4-text:#fde68a;--venue-color-5-border:#a78bfa;--venue-color-5-bg:#8b5cf624;--venue-color-5-text:#c4b5fd;--venue-color-6-border:#22d3ee;--venue-color-6-bg:#06b6d424;--venue-color-6-text:#67e8f9}[data-theme=dark] body{background:var(--bg-canvas);color:var(--text-primary)}[data-theme=dark] ::-webkit-scrollbar{width:6px}[data-theme=dark] ::-webkit-scrollbar-track{background:0 0}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}[data-theme=dark] .ov{background:#0000009e}[data-theme=dark] .avatar-active,[data-theme=dark] .badge-available,[data-theme=dark] .btn-accept,[data-theme=dark] .cal-day.available,[data-theme=dark] .chip-confirmed,[data-theme=dark] .gc-head-icon,[data-theme=dark] .lineup-dot.filled,[data-theme=dark] .pay-paid,[data-theme=dark] .pill-confirmed,[data-theme=dark] .sch-cal-cell.cell-confirmed,[data-theme=dark] .sch-monthsend-banner,[data-theme=dark] .tag-g,[data-theme=dark] .tag-you{border-color:#1f5a3a}[data-theme=dark] .ai-cta,[data-theme=dark] .avatar-upcoming,[data-theme=dark] .cal-day.has-gig,[data-theme=dark] .chip-invited,[data-theme=dark] .chip-pending,[data-theme=dark] .chip-tbc,[data-theme=dark] .lineup-dot.pending,[data-theme=dark] .pay-pending,[data-theme=dark] .pill-pending,[data-theme=dark] .sch-autofill-note,[data-theme=dark] .sch-cal-cell.cell-pending,[data-theme=dark] .tag-a{border-color:#5c4715}[data-theme=dark] .blue-bg,[data-theme=dark] .chip-booked,[data-theme=dark] .finance-note,[data-theme=dark] .pill-cancelled,[data-theme=dark] .pill-overseas,[data-theme=dark] .portal-note,[data-theme=dark] .sch-cal-cell.cell-booked{border-color:#1f3b52}[data-theme=dark] .btn-d,[data-theme=dark] .cal-day.unavailable,[data-theme=dark] .chip-declined,[data-theme=dark] .login-error,[data-theme=dark] .pn-item.unread,[data-theme=dark] .sch-cal-cell.cell-declined{border-color:#5c2026}[data-theme=dark] .btn-personal,[data-theme=dark] .cal-day.personal,[data-theme=dark] .chip-overseas,[data-theme=dark] .sch-cal-cell.cell-overseas,[data-theme=dark] .sch-overseas-flag{color:#b69bf0;background:#1e1730;border-color:#3a2c5c}[data-theme=dark] .sch-conflict-flag{color:#e57373;background:#3a0e0e;border-color:#c0392b}[data-theme=dark] .chat-pin,[data-theme=dark] .gc-pinned{background:var(--card2)}[data-theme=dark] .fi,[data-theme=dark] .fs,[data-theme=dark] .fta{background:var(--bg-input);color:var(--text-primary)}[data-theme=dark] .fi:focus,[data-theme=dark] .fs:focus,[data-theme=dark] .fta:focus{background:var(--bg-surface)}[data-theme=dark] .fs option,[data-theme=dark] .slot-pick:focus,[data-theme=dark] .slot-pick:hover{background:var(--bg-raised)}[data-theme=dark] .cal-day.other-month,[data-theme=dark] .dash-gig-chev{color:#4a4a58}[data-theme=dark] .av-grey,[data-theme=dark] .chip-available,[data-theme=dark] .dot-available{color:var(--muted)}[data-theme=dark] .badge-available,[data-theme=dark] .btn-accept,[data-theme=dark] .cal-day.available,[data-theme=dark] .chip-confirmed,[data-theme=dark] .lineup-dot.filled,[data-theme=dark] .pay-paid,[data-theme=dark] .pill-confirmed,[data-theme=dark] .sch-monthsend-banner,[data-theme=dark] .tag-g,[data-theme=dark] .tag-you{background:#112318}[data-theme=dark] .chip-overseas,[data-theme=dark] .role-engineer{background:#1e1730}[data-theme=dark] .tbl tr:hover td{background:#1f2029}[data-theme=dark] .chat-pin{background:#21222d}[data-theme=dark] .role-vocals{background:#271a10}[data-theme=dark] .avatar-upcoming,[data-theme=dark] .cal-day.has-gig,[data-theme=dark] .chip-invited,[data-theme=dark] .chip-pending,[data-theme=dark] .chip-tbc,[data-theme=dark] .lineup-dot.pending,[data-theme=dark] .pay-pending,[data-theme=dark] .pill-pending,[data-theme=dark] .sch-autofill-note,[data-theme=dark] .tag-a{background:#2a2110}[data-theme=dark] .btn-d:hover:not(:disabled),[data-theme=dark] .cal-day.unavailable{background:#2c1217}[data-theme=dark] .role-vocals{color:#e0843a;border-color:#4a3018}[data-theme=dark] .role-engineer{color:#b69bf0;border-color:#3a2c5c}[data-theme=dark] .lp-right{background:#0f0c14}[data-theme=dark] .lp-welcome{color:#f0eef8}[data-theme=dark] .lp-welcome-sub{color:#fff6}[data-theme=dark] .lp-field{color:#f0eef8;background:#1a1624;border-color:#2e2840}[data-theme=dark] .lp-field:focus{border-color:var(--accent-brand);background:#1a1624;box-shadow:0 0 0 3px #2563eb2e}[data-theme=dark] .login-card{background:var(--bg-surface);color:var(--text-primary);box-shadow:0 40px 100px #000000d9}.theme-toggle{z-index:9999;border-radius:var(--radius-full);background:var(--bg-raised);border:1px solid var(--border-default);width:44px;height:44px;box-shadow:var(--shadow-md);cursor:pointer;color:var(--text-secondary);transition:background var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);justify-content:center;align-items:center;display:flex;position:fixed;bottom:24px;right:24px}.theme-toggle:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-brand);color:var(--accent-brand)}.theme-toggle:focus-visible{outline:2px solid var(--accent-brand);outline-offset:2px}.mob-bar{z-index:150;background:var(--bg-card);border-bottom:1px solid var(--border-default);height:56px;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:0 16px;display:none;position:fixed;top:0;left:0;right:0}.mob-brand .mob-wordmark{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-brand);font-size:18px;font-weight:800}.mob-hamburger{cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:8px;display:flex}.mob-hamburger span{background:var(--text);border-radius:2px;width:20px;height:2px;transition:all .2s;display:block}.mob-hamburger:hover span{background:var(--red)}.mob-backdrop{z-index:190;backdrop-filter:blur(2px);background:#00000073;position:fixed;inset:0}.mob-close{background:var(--bg);border:1px solid var(--border);cursor:pointer;width:44px;height:44px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;transition:color .15s;display:none;position:absolute;top:14px;right:14px}.mob-close:hover{color:var(--red)}.contracts-page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.contracts-page-header h1{color:var(--text-primary);margin:0 0 4px;font-size:28px;font-weight:800;line-height:1.2}.contracts-page-header__subtitle{color:var(--text-tertiary);max-width:520px;margin:0;font-size:13px;font-weight:400;line-height:1.55}.contracts-page-header__subtitle strong{color:var(--text-secondary);font-weight:600}.contracts-page-header__actions{flex-shrink:0;align-items:center;gap:10px;padding-top:4px;display:flex}.contracts-kpi-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px;display:grid}.contracts-kpi-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:transform var(--transition-fast),box-shadow var(--transition-fast);--contracts-kpi-accent:var(--border-default);padding:20px 20px 16px;position:relative;overflow:hidden}.contracts-kpi-card:after{content:"";background:var(--contracts-kpi-accent);border-radius:0 0 var(--radius-lg) var(--radius-lg);height:3px;position:absolute;bottom:0;left:0;right:0}.contracts-kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.contracts-kpi-card__header{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.contracts-kpi-label{letter-spacing:.09em;text-transform:uppercase;color:var(--text-tertiary);font-size:10px;font-weight:700}.contracts-kpi-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;display:flex}.contracts-kpi-value{color:var(--text-primary);font-variant-numeric:tabular-nums;margin-bottom:6px;font-size:42px;font-weight:800;line-height:1}.contracts-kpi-period,.contracts-kpi-value.zero{color:var(--text-tertiary)}.contracts-kpi-period{font-size:11px;font-weight:500}.contracts-kpi-card.total-contracts{--contracts-kpi-accent:var(--accent-blue)}.contracts-kpi-card.total-contracts .contracts-kpi-icon{background:var(--accent-blue-dim);color:var(--accent-blue)}.contracts-kpi-card.signed{--contracts-kpi-accent:var(--accent-green)}.contracts-kpi-card.signed .contracts-kpi-value{color:var(--accent-green)}.contracts-kpi-card.signed .contracts-kpi-icon{background:var(--accent-green-dim);color:var(--accent-green)}.contracts-kpi-card.awaiting-signature{--contracts-kpi-accent:var(--accent-amber)}.contracts-kpi-card.awaiting-signature .contracts-kpi-value{color:var(--accent-amber)}.contracts-kpi-card.awaiting-signature .contracts-kpi-icon{background:var(--accent-amber-dim);color:var(--accent-amber)}.contracts-kpi-card.overdue{--contracts-kpi-accent:var(--accent-brand)}.contracts-kpi-card.overdue .contracts-kpi-value{color:var(--accent-brand)}.contracts-kpi-card.overdue .contracts-kpi-icon{background:var(--accent-brand-dim);color:var(--accent-brand)}.contracts-filter-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.contracts-filter-toolbar__search-wrap{flex:1;min-width:220px;max-width:380px;position:relative}.contracts-filter-toolbar__search-icon{color:var(--text-tertiary);pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.contracts-filter-toolbar__search{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-size:16px;font-family:var(--font-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none;padding:9px 34px 9px 36px}.contracts-filter-toolbar__search::-moz-placeholder{color:var(--text-tertiary)}.contracts-filter-toolbar__search::placeholder{color:var(--text-tertiary)}.contracts-filter-toolbar__search:focus{border-color:var(--accent-brand);box-shadow:0 0 0 3px var(--accent-brand-dim)}.contracts-filter-toolbar__clear{color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:2px 4px;font-size:16px;line-height:1;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.contracts-filter-toolbar__clear:hover{color:var(--text-primary)}.contracts-filter-toolbar__spacer{flex:1}.contracts-filter-toolbar__count{color:var(--text-tertiary);background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-full);white-space:nowrap;padding:4px 12px;font-size:12px;font-weight:600}.status-pill-group{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);align-items:center;gap:2px;padding:3px;display:flex}.status-pill{border-radius:calc(var(--radius-md) - 2px);color:var(--text-tertiary);cursor:pointer;font-size:11px;font-weight:600;font-family:var(--font-base);transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;padding:5px 12px}.status-pill.active,.status-pill:hover{color:var(--text-primary);background:var(--bg-raised)}.status-pill.active{box-shadow:var(--shadow-sm)}.status-pill.active[data-status=signed]{color:var(--accent-green)}.status-pill.active[data-status=awaiting]{color:var(--accent-amber)}.status-pill.active[data-status=overdue]{color:var(--accent-brand)}.status-pill.active[data-status=draft]{color:var(--text-secondary)}.contracts-list-panel{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-height:360px;overflow:hidden}.contracts-list-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-raised);grid-template-columns:1fr 160px 120px 100px 130px 96px;align-items:center;gap:0;padding:10px 16px;display:grid}.contracts-list-header__cell{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);align-items:center;padding:0 8px;font-size:10px;font-weight:700;display:flex}.contracts-list-header__cell:first-child{padding-left:0}.contracts-list-header__cell.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color var(--transition-fast);gap:4px}.contracts-list-header__cell.sortable:hover{color:var(--text-secondary)}.contracts-list-header__cell.sorted{color:var(--text-primary)}.contract-row{border-bottom:1px solid var(--border-subtle);min-height:56px;transition:background var(--transition-fast);cursor:pointer;grid-template-columns:1fr 160px 120px 100px 130px 96px;align-items:center;gap:0;padding:0 16px;display:grid;position:relative}.contract-row:last-child{border-bottom:none}.contract-row:hover{background:var(--bg-card-hover)}.contract-row.selected{background:#3b82f60f}.contract-row__musician{align-items:center;gap:10px;min-width:0;padding:0 8px;display:flex}.contract-row__avatar{color:#fff;text-transform:uppercase;letter-spacing:.04em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex}.contract-row__info{min-width:0}.contract-row__name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}.contract-row__ref{color:var(--text-tertiary);font-variant-numeric:tabular-nums;margin-top:1px;font-size:10px;font-weight:500;display:block}.contract-row__venue{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.contract-row__date,.contract-row__venue{color:var(--text-secondary);padding:0 8px}.contract-row__date{font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.contract-row__fee{color:var(--text-primary);font-variant-numeric:tabular-nums;padding:0 8px;font-size:13px;font-weight:700}.contract-row__status{padding:0 8px}.contract-row__actions{opacity:0;transition:opacity var(--transition-fast);justify-content:flex-end;align-items:center;gap:4px;padding:0 8px;display:flex}.contract-row:hover .contract-row__actions{opacity:1}.contract-row__action-btn{border-radius:var(--radius-md);background:var(--bg-raised);border:1px solid var(--border-default);width:44px;height:44px;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:13px;line-height:1;text-decoration:none;display:flex}.contract-row__action-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.contract-status-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:5px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.contract-status-badge__dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.contract-status-badge[data-status=draft]{background:var(--bg-raised);color:var(--text-tertiary)}.contract-status-badge[data-status=draft] .contract-status-badge__dot{background:var(--text-tertiary)}.contract-status-badge[data-status=sent]{background:var(--accent-blue-dim);color:var(--accent-blue)}.contract-status-badge[data-status=sent] .contract-status-badge__dot{background:var(--accent-blue)}.contract-status-badge[data-status=awaiting]{background:var(--accent-amber-dim);color:var(--accent-amber)}.contract-status-badge[data-status=awaiting] .contract-status-badge__dot{background:var(--accent-amber)}.contract-status-badge[data-status=signed]{background:var(--accent-green-dim);color:var(--accent-green)}.contract-status-badge[data-status=signed] .contract-status-badge__dot{background:var(--accent-green)}.contract-status-badge[data-status=overdue]{background:var(--accent-brand-dim);color:var(--accent-brand)}.contract-status-badge[data-status=overdue] .contract-status-badge__dot{background:var(--accent-brand)}.contract-status-badge[data-status=void]{background:var(--bg-raised);color:var(--text-tertiary);text-decoration:line-through}.contract-status-badge[data-status=void] .contract-status-badge__dot{background:var(--text-tertiary)}.contracts-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:320px;padding:64px 32px;display:flex}.contracts-empty-state__icon-wrap{border-radius:var(--radius-xl);background:var(--bg-raised);border:1px solid var(--border-default);justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:6px;font-size:26px;display:flex}.contracts-empty-state__title{color:var(--text-secondary);margin:0;font-size:16px;font-weight:700}.contracts-empty-state__subtitle{color:var(--text-tertiary);max-width:360px;margin:0;font-size:13px;line-height:1.6}.contracts-empty-state__actions{align-items:center;gap:10px;margin-top:6px;display:flex}.contracts-list-footer{border-top:1px solid var(--border-subtle);background:var(--bg-raised);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.contracts-list-footer__count{color:var(--text-tertiary);font-size:12px;font-weight:500}.contracts-list-footer__more{color:var(--accent-brand);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-base);transition:opacity var(--transition-fast);background:0 0;border:none;padding:0}.contracts-list-footer__more:hover{opacity:.75}.bulk-action-bar{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);z-index:50;align-items:center;gap:10px;padding:12px 20px;transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(120%)}.bulk-action-bar.visible{transform:translate(-50%)translateY(0)}.bulk-action-bar__count{color:var(--text-primary);white-space:nowrap;margin-right:4px;font-size:13px;font-weight:700}.bulk-action-bar__divider{background:var(--border-default);flex-shrink:0;width:1px;height:20px}.bulk-action-bar__btn{border-radius:var(--radius-md);font-size:12px;font-weight:600;font-family:var(--font-base);cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--border-default);background:var(--bg-raised);color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;padding:7px 14px;display:inline-flex}.bulk-action-bar__btn:hover{border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-card-hover)}.bulk-action-bar__btn.danger{color:var(--accent-brand);border-color:var(--accent-brand-dim)}.bulk-action-bar__btn.danger:hover{background:var(--accent-brand-dim)}.bulk-action-bar__dismiss{color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;margin-left:4px;padding:2px 4px;font-size:18px;line-height:1}.bulk-action-bar__dismiss:hover{color:var(--text-primary)}[data-theme=light] .contracts-kpi-card{box-shadow:0 1px 4px #0000000f}[data-theme=light] .contracts-list-panel{box-shadow:0 1px 4px #0000000d}[data-theme=light] .contracts-list-footer,[data-theme=light] .contracts-list-header{background:#f4f4f6}[data-theme=light] .contract-row:hover{background:#00000005}[data-theme=light] .bulk-action-bar{box-shadow:0 8px 32px #00000024}[data-theme=light] .status-pill-group{background:#fff}[data-theme=light] .contracts-empty-state__icon-wrap{background:#f4f4f6}@media (max-width:768px){.mob-bar,.mob-close{display:flex}.admin-layout{padding-top:56px}.admin-content{padding-top:0}.sidebar{z-index:200;width:260px;height:100vh;transition:left .28s cubic-bezier(.22,1,.36,1);position:fixed;top:0;left:-280px;overflow-y:auto}.sidebar.sidebar-open{left:0}.portal-topbar{flex-wrap:wrap;gap:8px;height:auto;padding:10px 14px}.portal-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0;padding:0 8px;overflow-x:auto}.portal-tabs::-webkit-scrollbar{display:none}.portal-tab{white-space:nowrap;flex-shrink:0;padding:10px 12px;font-size:12px}.portal{padding:14px}.main-pad,.main-wide{padding:16px}.page-header{flex-wrap:wrap;gap:8px;padding:14px 16px}.stat-grid{grid-template-columns:1fr 1fr}.cal-grid{font-size:12px}.cal-grid .cal-day{min-height:48px}.sch-header{flex-wrap:wrap;gap:8px;padding:12px}.lp-layout{flex-direction:column}.lp-left{width:100%;min-height:200px}.lp-left-content{flex-direction:row;align-items:center;gap:20px;padding:32px 28px}.lp-left-mid{flex:none}.lp-headline{margin-bottom:0;font-size:22px}.lp-left-rule{margin:8px 0 10px}.lp-features,.lp-tagline{display:none}.lp-right{padding:36px 24px}.lp-welcome{font-size:24px}.lp-right-brand{top:16px;right:16px}.theme-toggle{width:44px;height:44px;bottom:14px;right:14px}.messages-panel{height:auto;min-height:500px}.messages-stream{max-height:55vh}.messages-page-header{flex-direction:column;align-items:flex-start;gap:12px}.admin-content{margin-left:0}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:10px}.kpi-card{padding:16px 14px 14px}.kpi-card__value{font-size:clamp(26px,8vw,42px)}.kpi-card__icon{width:30px;height:30px}.kpi-card__top{margin-bottom:8px}.quick-actions-strip{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px}.quick-action-card__desc{display:none}.quick-action-card{padding:12px}.dashboard-body{grid-template-columns:1fr;gap:14px}.gig-row__lineup{display:none}.gig-row__arrow{font-size:14px}.dashboard-header{margin-bottom:16px}.pg-title{font-size:clamp(20px,6vw,32px)}.sched-page-header{flex-direction:column;gap:10px}.sched-page-header .segmented-control{width:100%}.sched-page-header .seg-btn{flex:1;justify-content:center}.sched-control-bar{flex-direction:column;align-items:stretch;gap:8px}.schedule-nav-left{justify-content:space-between;width:100%}.schedule-nav-right{justify-content:flex-end;gap:8px;width:100%;display:flex}.week-strip{-webkit-overflow-scrolling:touch;gap:4px}.week-day-btn{min-width:52px;height:72px;padding:8px 4px}.wd-num{font-size:20px}.wd-gigs{font-size:10px}.gig-card{padding:14px}.gig-card-header{flex-wrap:wrap;gap:8px}.gig-card-slots{gap:6px}.schedule-empty-state{padding:32px 16px}.gig-chats-header{flex-direction:column;gap:8px}.roster-table-wrap{overflow-x:auto}.musicians-tbl-wrap,.roster-table-wrap{-webkit-overflow-scrolling:touch}.musicians-table td:first-child,.musicians-table th:first-child{z-index:2;background:var(--bg-secondary);min-width:160px;position:sticky;left:0;box-shadow:2px 0 6px #0000000f}.musicians-table thead th:first-child{background:var(--surface);z-index:3}.musicians-table .action-icon-btn{opacity:1}.contracts-kpi-grid{grid-template-columns:repeat(2,1fr)!important}.payments-kpi-row{flex-wrap:wrap;gap:10px}.payments-kpi-row>*{flex:calc(50% - 5px);min-width:0}}@media (max-width:480px){.main-wide{padding:12px}.portal{padding:10px 12px}.kpi-grid{gap:8px}.kpi-card{border-radius:10px;padding:12px 10px 10px}.kpi-card__value{font-size:clamp(22px,9vw,36px)}.kpi-card__sub{font-size:10px}.quick-actions-strip{gap:6px}.quick-action-card{border-radius:10px;gap:8px;padding:10px}.quick-action-card__title{font-size:12px}.quick-action-card__icon{border-radius:8px;width:30px;height:30px}.dashboard-header .btn-ghost{height:32px;padding:0 10px;font-size:12px}.dashboard-header .btn{height:32px;padding:0 12px;font-size:12px}.week-day-btn{min-width:44px;padding:6px 2px}.wd-num{font-size:18px}.wd-name{font-size:9px}}.messages-page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.messages-page-header__title{color:var(--text-primary);letter-spacing:-.5px;margin:0 0 4px;font-size:28px;font-weight:800;line-height:1.2}.messages-page-header__subtitle{color:var(--text-tertiary);max-width:520px;margin:0;font-size:13px;font-weight:400;line-height:1.55}.messages-page-header__members{background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;display:flex}.messages-page-header__members:hover{background:var(--bg-card-hover);border-color:var(--border-strong);color:var(--text-primary)}.messages-panel{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);height:calc(100vh - 200px);min-height:500px;box-shadow:var(--shadow-md);flex-direction:column;display:flex;overflow:hidden}.messages-empty-state{flex-direction:column;flex:1;padding:40px 24px}.inbox-coming-soon,.messages-empty-state{text-align:center;justify-content:center;align-items:center;display:flex}.inbox-coming-soon{background:var(--bg-card);border:1px solid var(--border-default);border-radius:12px;flex-direction:column;gap:10px;min-height:320px;padding:48px 24px}.inbox-coming-soon__label{color:var(--text-primary);font-size:15px;font-weight:600}.inbox-coming-soon p{color:var(--text-secondary);max-width:300px;margin:0;font-size:13px;line-height:1.6}.ev-banner{background:var(--accent-brand-dim,#2563eb14);border:1px solid var(--border-default);border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:20px;padding:14px 16px;display:flex}.ev-banner-dot{background:var(--accent-brand,#2563eb);border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-top:4px}.ev-banner strong{color:var(--text-primary);font-size:13px;font-weight:700;display:block}.ev-banner span:not(.ev-banner-dot){color:var(--text-secondary);margin-top:3px;font-size:12.5px;line-height:1.55;display:block}.ev-empty{text-align:center;background:var(--bg-card);border:1px solid var(--border-default);border-radius:12px;padding:48px 24px}.ev-empty-title{color:var(--text-primary);font-size:16px;font-weight:700}.ev-empty-sub{color:var(--text-tertiary);margin-top:6px;font-size:13px}.ev-table-wrap{-webkit-overflow-scrolling:touch;background:var(--bg-card);border:1px solid var(--border-default);border-radius:12px;overflow-x:auto}.ev-table{border-collapse:collapse;width:100%;min-width:640px}.ev-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);border-bottom:1px solid var(--border-default);font-size:11px;font-weight:700}.ev-table td,.ev-table th{white-space:nowrap;padding:14px 16px}.ev-table td{color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);font-size:13px}.ev-table tbody tr:last-child td{border-bottom:none}.ev-table tbody tr:hover{background:var(--bg-raised)}.ev-name{color:var(--text-primary);font-weight:700}.ev-num{text-align:right}.ev-cap{color:var(--text-tertiary)}.ev-revenue{color:var(--text-primary);font-weight:800}.ev-status{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-full,999px);padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}.ev-status--live{background:var(--accent-green-dim);color:var(--accent-green)}.ev-status--ended{background:var(--tag);color:var(--tag-t)}.ev-status--draft{background:var(--accent-amber-dim);color:var(--accent-amber)}.ev-platforms-row{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.ev-platform-status{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:10px;align-items:center;gap:7px;padding:8px 14px;font-size:13px;display:flex}.ev-platform-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.ev-platform-name{font-weight:700}.ev-platform-state{color:var(--text-tertiary);font-size:12px}.ev-platform-badge{letter-spacing:.03em;border:1px solid;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.messages-empty-state__icon{background:var(--accent-brand-dim);width:64px;height:64px;color:var(--accent-brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:18px;display:flex}.messages-empty-state__title{color:var(--text-primary);letter-spacing:-.2px;margin-bottom:8px;font-size:18px;font-weight:700}.messages-empty-state__subtitle{color:var(--text-tertiary);max-width:360px;margin:0;font-size:14px;line-height:1.55}.messages-stream{scroll-behavior:smooth;flex-direction:column;flex:1;gap:20px;padding:24px 32px;display:flex;overflow-y:auto}.messages-stream::-webkit-scrollbar{width:4px}.messages-stream::-webkit-scrollbar-track{background:0 0}.messages-stream::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:2px}.message-group{align-self:flex-start;gap:14px;max-width:80%;display:flex}.message-group.is-mine{flex-direction:row-reverse;align-self:flex-end}.message-avatar{background:var(--bg-raised);border:1px solid var(--border-default);width:36px;height:36px;color:var(--text-secondary);letter-spacing:.3px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:flex}.message-group.is-mine .message-avatar{background:var(--accent-brand-dim);color:var(--accent-brand);border-color:#0000}.message-content{flex-direction:column;gap:5px;min-width:0;display:flex}.message-group.is-mine .message-content{align-items:flex-end}.message-meta{align-items:baseline;gap:8px;display:flex}.message-sender{color:var(--text-primary);font-size:12px;font-weight:700}.message-role{margin-left:4px}.message-role,.message-time{color:var(--text-tertiary);font-size:11px;font-weight:500}.message-bubble{background:var(--bg-raised);color:var(--text-secondary);border:1px solid var(--border-subtle);word-break:break-word;border-radius:4px 16px 16px;padding:10px 14px;font-size:15px;line-height:1.55}.message-group.is-mine .message-bubble{background:var(--accent-brand);color:#fff;border:none;border-radius:16px 4px 16px 16px}.pm-panel{flex-direction:column;height:calc(100vh - 220px);min-height:360px;padding:0;display:flex;overflow:hidden}.pm-stream{flex:1;min-height:0}.dm-unread-badge{border-radius:10px;min-width:20px;height:20px;padding:0 6px;font-size:11px}.dm-unread-badge,.portal-nav-badge{background:var(--red);color:#fff;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-weight:800;line-height:1;display:inline-flex}.portal-nav-badge{border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:10.5px}.messages-composer{border-top:1px solid var(--border-default);background:var(--bg-card);flex-shrink:0;padding:16px 24px}.composer-inner{background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);align-items:flex-end;gap:10px;padding:8px 10px 8px 14px;display:flex}.composer-inner:focus-within{border-color:var(--accent-brand);box-shadow:0 0 0 3px var(--accent-brand-glow)}.composer-attach{width:44px;height:44px;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:2px;display:flex}.composer-attach:hover{background:var(--bg-card);color:var(--text-primary)}.composer-input{color:var(--text-primary);font-size:16px;font-family:var(--font-base);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:120px;padding:5px 0;line-height:1.5;overflow-y:auto}.composer-input::-moz-placeholder{color:var(--text-tertiary)}.composer-input::placeholder{color:var(--text-tertiary)}.composer-send{background:var(--accent-brand);color:#fff;cursor:pointer;width:44px;height:44px;transition:all var(--transition-fast);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.composer-send:hover:not(:disabled){filter:brightness(1.1);box-shadow:var(--shadow-brand);transform:translateY(-1px)}.composer-send:disabled{background:var(--border-default);color:var(--text-tertiary);cursor:not-allowed;box-shadow:none;transform:none}[data-theme=dark] .messages-panel{background:var(--bg-card);border-color:var(--border-default)}[data-theme=dark] .message-bubble{background:var(--bg-raised);border-color:var(--border-subtle);color:var(--text-secondary)}[data-theme=dark] .message-group.is-mine .message-bubble{background:var(--accent-brand);color:#fff;border:none}[data-theme=dark] .composer-inner{background:var(--bg-raised);border-color:var(--border-default)}[data-theme=dark] .messages-composer{background:var(--bg-card);border-top-color:var(--border-default)}.dm-layout{border:1px solid var(--border,#00000017);background:#fff;border-radius:12px;grid-template-columns:260px 1fr;height:600px;display:grid;overflow:hidden}.dm-sidebar{border-right:1px solid var(--border,#00000017);background:#fafafa;flex-direction:column;display:flex}.dm-sidebar-search{border-bottom:1px solid var(--border,#00000017);padding:12px}.dm-search-input{border:1px solid var(--border,#0000001f);background:#fff;border-radius:8px;outline:none;width:100%;padding:7px 10px;font-size:13px}.dm-search-input:focus{border-color:var(--accent-brand,#2563eb)}.dm-contacts{flex:1;overflow-y:auto}.dm-contact-row{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #0000000a;align-items:center;gap:10px;width:100%;padding:10px 12px;transition:background .12s;display:flex}.dm-contact-row:hover{background:#0000000a}.dm-contact-row.is-active{background:#2563eb14}.dm-contact-avatar{background:var(--accent-brand,#2563eb);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:flex}.dm-contact-name{color:var(--text,#111);font-size:13px;font-weight:600}.dm-contact-role{color:var(--muted,#71717a);font-size:11px}.dm-empty-contacts{color:var(--muted,#71717a);padding:20px 12px;font-size:13px}.dm-thread-pane{flex-direction:column;min-height:0;display:flex}.dm-thread-header{border-bottom:1px solid var(--border,#00000017);background:#fff;gap:12px;padding:14px 18px}.dm-thread-avatar,.dm-thread-header{flex-shrink:0;align-items:center;display:flex}.dm-thread-avatar{background:var(--accent-brand,#2563eb);color:#fff;border-radius:50%;justify-content:center;width:38px;height:38px;font-size:13px;font-weight:700}.dm-thread-name{font-size:14px;font-weight:700}.dm-thread-role{color:var(--muted,#71717a);font-size:12px}.dm-thread-status{margin-left:auto}.dm-status-chip{border-radius:20px;padding:3px 8px;font-size:11px;font-weight:500}.dm-status-chip--phone{background:var(--accent-green-dim);color:var(--accent-green)}.dm-status-chip--nophone{background:var(--red-bg);color:var(--red)}.dm-stream{flex:1;padding:16px;overflow-y:auto}.dm-status-dot{border-radius:4px;margin-left:6px;padding:1px 5px;font-size:11px}.dm-status-dot--sent{background:var(--accent-green-dim);color:var(--accent-green)}.dm-status-dot--pending{background:var(--accent-amber-dim);color:var(--accent-amber)}.dm-status-dot--failed{background:var(--red-bg);color:var(--red)}@media (max-width:700px){.dm-layout{grid-template-columns:1fr;height:auto}.dm-sidebar{height:220px}}[data-theme=dark] .dm-layout{background:var(--bg-card);border-color:var(--border-default)}[data-theme=dark] .dm-sidebar{background:var(--bg-raised);border-right-color:var(--border-default)}[data-theme=dark] .dm-contact-row:hover{background:#ffffff0f}[data-theme=dark] .dm-contact-row.is-active{background:#2563eb26}[data-theme=dark] .dm-thread-header{background:var(--bg-card);border-bottom-color:var(--border-default)}[data-theme=dark] .dm-contact-name{color:var(--text-primary)}[data-theme=dark] .dm-search-input{background:var(--bg-raised);color:var(--text-primary);border-color:var(--border-default)}.ops-board{background:#f7f9fe;border:1px solid #3b82f61a;border-radius:12px;margin-top:20px;padding:20px}[data-theme=dark] .ops-board{background:var(--bg-card);border-color:var(--border)}html[data-board-fs] .mob-bar,html[data-board-fs] .sidebar{display:none!important}.ops-board--fullscreen{z-index:9999;background:var(--bg-surface,#fff);border:none;border-radius:0;flex-direction:column;margin:0;padding:16px 20px 0;animation:obs-fs-in .18s ease-out;display:flex;position:fixed;inset:0;overflow:hidden}@keyframes obs-fs-in{0%{opacity:0}to{opacity:1}}.ops-board--fullscreen .obs-header{flex-shrink:0}.ops-board--fullscreen .obs-legend{border-bottom:1px solid var(--border-default,#00000017);flex-shrink:0;padding-bottom:10px}.ops-board--fullscreen .obs-footer{display:none}.ops-board--fullscreen .ops-board-wrap{border:none;border-radius:0;flex:1 1 0;min-height:0;max-height:none;overflow:auto}.obs-fullscreen-btn{color:var(--text-secondary,#52525b);background:var(--bg-surface,#fff);border:1px solid var(--border-default,#00000017);cursor:pointer;white-space:nowrap;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;min-height:32px;margin-left:auto;padding:7px 12px;font-size:11.5px;font-weight:600;transition:background .12s,box-shadow .15s,transform .12s;display:inline-flex;box-shadow:0 1px 3px #00000012}.obs-fullscreen-btn:hover{background:var(--bg-raised,#f4f4f6);box-shadow:0 2px 8px #0000001a}.obs-fullscreen-btn:active{transform:translateY(1px)}.obs-fullscreen-esc{color:var(--text-muted,#a1a1aa);background:var(--bg-raised,#f4f4f6);border:1px solid var(--border-default,#0000001a);border-radius:4px;padding:1px 5px;font-size:10px;font-weight:700}@media (max-width:480px){.obs-fullscreen-esc,.obs-fullscreen-label{display:none}.obs-fullscreen-btn{padding:7px 9px}}.obs-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px 20px;margin-bottom:16px;display:flex}.obs-header-left{flex:200px}.obs-header-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.obs-header-title{letter-spacing:.01em;color:var(--text-primary,#111118);font-size:18px;font-weight:800;line-height:1.2}.obs-header-month-badge{letter-spacing:.08em;color:#1d4ed8;white-space:nowrap;background:#eef4fe;border:1px solid #3b82f633;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.obs-header-sub{color:var(--text-muted,#a1a1aa);margin-top:4px;font-size:12px}.obs-header-kpis{flex-wrap:wrap;flex:auto;justify-content:flex-end;gap:8px;display:flex}.ops-board-kpi{cursor:default;background:#eef4fe;border:1px solid #3b82f626;border-radius:10px;flex-direction:column;flex:110px;gap:3px;min-width:110px;max-width:160px;padding:10px 14px;transition:box-shadow .15s,transform .15s;display:flex}.obs-header-kpis .ops-board-kpi:hover{transform:translateY(-1px);box-shadow:0 3px 12px #00000014}.ops-board-kpi__label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted,#a1a1aa);white-space:nowrap;font-size:9px;font-weight:700}.ops-board-kpi__value{color:var(--text-primary,#111118);letter-spacing:-.02em;font-size:22px;font-weight:800;line-height:1.15}.ops-board-kpi__value--alert{color:#dc2626}.ops-board-kpi__value--warn{color:#d97706}@media (max-width:768px){.obs-header-kpis{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;flex:0 0 100%;justify-content:flex-start;gap:8px;overflow-x:auto}.obs-header-kpis::-webkit-scrollbar{display:none}.ops-board-kpi{flex:none;min-width:124px;max-width:none;padding:9px 13px}}.obs-legend{border-top:1px solid var(--border-default,#00000017);border-bottom:1px solid var(--border-default,#00000017);flex-wrap:wrap;gap:6px 18px;margin-bottom:14px;padding:8px 0}.obs-leg,.obs-legend{align-items:center;display:flex}.obs-leg{color:var(--text-secondary,#52525b);white-space:nowrap;gap:5px;font-size:11px;font-weight:500}.obs-leg-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.obs-leg-dot--empty{background:0 0;border:1.5px solid #d1d5db}.obs-leg--star{color:#6366f1}.obs-leg-star{color:#6366f1;font-size:9px;line-height:1}.obs-leg-icon{border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.obs-leg-icon--flight{color:#3b82f6;background:#3b82f61f}.obs-leg-icon--hotel{color:#d97706;background:#d977061f}.obs-legend-toggle{display:none}.obs-fullscreen-label{display:inline}.ops-board-th--today{background:#2563eb1a!important}.ops-board-th--today .ops-board-date-num{color:var(--accent-brand,#2563eb);font-weight:800}.ops-board-th--today .ops-board-date-dow{color:var(--accent-brand,#2563eb)}.ops-board-td--today{box-shadow:inset 1px 0 #2563eb38,inset -1px 0 #2563eb38}.cds-overlay{z-index:1200;background:#0000006b;align-items:flex-end;animation:cds-fade .18s;display:flex;position:fixed;inset:0}@keyframes cds-fade{0%{opacity:0}to{opacity:1}}.cds-sheet{background:var(--bg-surface,#fff);width:100%;max-height:calc(100vh - 32px);padding:10px 18px max(18px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0;animation:cds-up .22s cubic-bezier(.16,1,.3,1);overflow-y:auto;box-shadow:0 -8px 30px #0003}@keyframes cds-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cds-handle{background:var(--border-strong,#0000002e);border-radius:2px;width:36px;height:4px;margin:4px auto 14px}.cds-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cds-venue{color:var(--text-primary,#111118);font-size:16px;font-weight:800;line-height:1.2}.cds-sub{color:var(--text-muted,#71717a);margin-top:3px;font-size:12px}.cds-night-info{flex-direction:column;gap:2px;margin-top:4px;display:flex}.cds-night-title{color:var(--accent-brand,#2563eb);font-size:12px;font-weight:700}.cds-night-genres,.cds-night-sets{color:var(--text-muted,#71717a);font-size:11px}.cds-times-edit{margin-top:6px}.cds-times-toggle{color:var(--accent-brand,#2563eb);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:11px;text-decoration:underline}.cds-times-form{gap:8px;margin-top:6px}.cds-times-field,.cds-times-form{flex-direction:column;display:flex}.cds-times-field{gap:3px}.cds-times-field span{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted,#71717a);font-size:10px;font-weight:700}.cds-times-actions{justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.cds-close{border:1px solid var(--border-default,#0000001a);width:36px;height:36px;color:var(--text-secondary,#52525b);cursor:pointer;border-radius:9px;flex-shrink:0;justify-content:center}.cds-close,.cds-musician{background:var(--bg-raised,#f4f4f6);align-items:center;display:flex}.cds-musician{border-radius:12px;gap:9px;margin-top:16px;padding:12px 14px}.cds-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.cds-name{color:var(--text-primary,#111118);flex:1;font-size:15px;font-weight:700}.cds-star{color:#6366f1}.cds-fee{color:var(--text-primary,#111118);font-size:15px;font-weight:800}.cds-fee--editable{cursor:pointer;background:0 0;border:none;border-bottom:1px dashed #0000;padding:0;font-family:inherit}.cds-fee--editable:hover{color:var(--accent-brand,#2563eb);border-bottom-color:var(--accent-brand,#2563eb)}.cds-fee-input{width:80px;color:var(--text-primary,#111118);border:1px solid var(--accent-brand,#2563eb);text-align:center;background:var(--bg-surface,#fff);border-radius:6px;padding:2px 6px;font-family:inherit;font-size:15px;font-weight:800}.cds-status{color:var(--text-muted,#71717a);margin:8px 2px 0;font-size:12px}.cds-logistics{gap:10px;margin-top:16px;display:flex}.cds-log-btn{cursor:pointer;border:1px solid var(--border-default,#0000001f);background:var(--bg-surface,#fff);min-height:48px;color:var(--text-secondary,#52525b);border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s,color .12s;display:flex}.cds-log-btn--flight{color:#1d4ed8;background:#3b82f61f;border-color:#3b82f6}.cds-log-btn--hotel{color:#b45309;background:#d977061f;border-color:#d97706}.cds-remarks{margin-top:16px}.cds-remarks__label{color:var(--text-muted,#71717a);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.cds-remarks__input{border:1px solid var(--border-default,#0000001f);background:var(--bg-surface,#fff);width:100%;color:var(--text-primary,#18181b);resize:vertical;border-radius:12px;min-height:44px;padding:10px 12px;font-family:inherit;font-size:13px}.cds-remarks__input:focus{outline:2px solid var(--accent-brand,#2563eb);outline-offset:1px}.cds-move-btn{background:var(--accent-brand,#2563eb);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;min-height:48px;margin-top:12px;font-size:14px;font-weight:700}.cds-move-btn:active{filter:brightness(.96)}.cds-unassign-btn{border:1px solid var(--red,#dc2626);width:100%;min-height:48px;color:var(--red,#dc2626);cursor:pointer;background:0 0;border-radius:12px;margin-top:8px;font-size:14px;font-weight:700}.cds-unassign-btn:active{background:#dc262614}@media (prefers-reduced-motion:reduce){.cds-overlay,.cds-sheet{animation:none}}[data-theme=dark] .cds-sheet{background:var(--bg-card)}[data-theme=dark] .cds-log-btn,[data-theme=dark] .cds-musician,[data-theme=dark] .cds-remarks__input{background:var(--bg-raised)}.fsd-overlay{z-index:1200;background:#0000006b;justify-content:center;align-items:center;padding:24px;animation:cds-fade .18s;display:flex;position:fixed;inset:0}.fsd-sheet{background:var(--bg-surface,#fff);border:1px solid var(--border-default,#0000001a);border-radius:16px;flex-direction:column;width:100%;max-width:420px;max-height:min(560px,80vh);padding:16px 18px;animation:fsd-pop .18s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 20px 50px #00000040}@keyframes fsd-pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.fsd-handle{display:none}.fsd-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.fsd-title{color:var(--text-primary,#111118);font-size:16px;font-weight:800;line-height:1.25}.fsd-sub{color:var(--text-muted,#71717a);margin-top:3px;font-size:12px}.fsd-close{border:1px solid var(--border-default,#0000001a);width:36px;height:36px;color:var(--text-secondary,#52525b);cursor:pointer;border-radius:9px;justify-content:center}.fsd-close,.fsd-search{background:var(--bg-raised,#f4f4f6);flex-shrink:0;align-items:center;display:flex}.fsd-search{border:1px solid var(--border-default,#0000001f);height:40px;color:var(--text-muted,#71717a);border-radius:10px;gap:8px;margin-top:14px;padding:0 12px}.fsd-search-input{min-width:0;color:var(--text-primary,#111118);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:13px}.fsd-error{color:#dc2626;margin-top:10px;font-size:12px}.fsd-band-confirm{border:1px solid var(--border-default,#0000001f);background:var(--bg-raised,#f4f4f6);border-radius:8px;margin-top:14px;padding:14px}.fsd-band-confirm-title{color:var(--text-primary,#111118);font-size:14px;font-weight:800}.fsd-band-confirm-copy{color:var(--text-secondary,#52525b);margin-top:5px;font-size:13px;line-height:1.45}.fsd-band-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.fsd-browse-roster-link{color:var(--accent-brand,#2563eb);cursor:pointer;text-align:left;background:0 0;border:none;margin-top:8px;padding:0;font-size:12px}.fsd-browse-roster-link:hover{text-decoration:underline}.fsd-list{-webkit-overflow-scrolling:touch;flex-direction:column;gap:6px;margin-top:12px;display:flex;overflow-y:auto}.fsd-empty{text-align:center;color:var(--text-muted,#71717a);padding:28px 12px;font-size:13px}.fsd-row{border:1px solid var(--border-default,#0000001a);background:var(--bg-surface,#fff);cursor:pointer;text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:52px;padding:10px 12px;font-family:inherit;transition:background .12s,border-color .12s;display:flex}.fsd-row:hover:not(:disabled){background:var(--bg-raised,#f4f4f6);border-color:var(--border-strong,#0000002e)}.fsd-row:disabled{opacity:.6;cursor:default}.fsd-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.fsd-row-name{color:var(--text-primary,#111118);font-size:14px;font-weight:700}.fsd-row-star{color:#6366f1}.fsd-row-inst{color:var(--text-muted,#71717a);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.fsd-row-fee{color:var(--text-primary,#111118);flex-shrink:0;font-size:14px;font-weight:800}.fsd-row-saving{color:var(--accent-brand,#2563eb);flex-shrink:0;font-size:11px}.fsd-row-main-btn{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;min-width:0;padding:0;font-family:inherit;display:flex}.fsd-row-main-btn:disabled{cursor:default}.fsd-row-fee-input{width:76px;color:var(--text-primary,#111118);text-align:right;border:1px solid var(--border-default,#0000001a);background:var(--bg-surface,#fff);border-radius:6px;flex-shrink:0;padding:4px 8px;font-family:inherit;font-size:14px;font-weight:800}.fsd-row-fee-input:focus{border-color:var(--accent-brand);background:var(--bg-surface);box-shadow:0 0 0 3px var(--accent-brand-dim);outline:none}[data-theme=dark] .fsd-row-fee-input{background:var(--bg-card)}@media (max-width:640px){.fsd-overlay{align-items:flex-end;padding:0}.fsd-sheet{max-width:none;max-height:82vh;padding:10px 18px max(18px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0;animation:cds-up .22s cubic-bezier(.16,1,.3,1)}.fsd-handle{background:var(--border-strong,#0000002e);border-radius:2px;width:36px;height:4px;margin:4px auto 12px;display:block}}@media (prefers-reduced-motion:reduce){.fsd-overlay,.fsd-sheet{animation:none}}[data-theme=dark] .fsd-sheet{background:var(--bg-card)}[data-theme=dark] .fsd-row,[data-theme=dark] .fsd-search{background:var(--bg-raised)}.ops-board-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--border-default,#00000017);background:var(--bg-surface,#fff);border-radius:12px;max-height:calc(100vh - 280px);overflow:auto}.ops-board-tbl{border-collapse:separate;border-spacing:0;width:100%;min-width:-moz-max-content;min-width:max-content;font-size:12px}.ops-board-th{background:var(--bg-raised,#f4f4f6);border-bottom:2px solid var(--border-default,#00000017);text-align:left;color:var(--text-muted,#a1a1aa);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;z-index:2;padding:9px 12px;font-size:9px;font-weight:700;position:sticky;top:0}.ops-board-th--venue{width:160px;min-width:160px;left:0}.ops-board-th--role,.ops-board-th--venue{z-index:6;border-right:1px solid var(--border-default,#00000017);text-align:center;position:sticky}.ops-board-th--role{width:110px;min-width:110px;left:160px}.ops-board-th--date{text-align:center;min-width:100px;padding:7px 8px}.ops-board-th--date-link{cursor:pointer;transition:background .15s}.ops-board-th--date-link:hover{background:#3b82f614}.ops-board-date-num{color:var(--text-primary,#111118);letter-spacing:-.01em;text-transform:none;font-size:16px;font-weight:800;line-height:1.2;display:block}.ops-board-date-dow{color:var(--text-muted,#a1a1aa);letter-spacing:.1em;margin-top:1px;font-size:8px;font-weight:700;display:block}.ops-board-th--total{text-align:center;background:var(--bg-canvas,#f8f8fa);border-left:2px solid var(--border-default,#00000017);width:90px;min-width:90px;padding:9px 12px}.ops-board-td{vertical-align:middle;border-bottom:1px solid #0000000d;padding:6px 10px}.ops-board-td--venue{z-index:4;background:var(--bg-surface,#fff);border-right:1px solid var(--border-default,#00000017);vertical-align:middle;width:160px;min-width:160px;padding:10px 14px;position:sticky;left:0;overflow:visible}.ops-board-td--venue:after,.ops-board-th--venue:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000000a,#0000);width:6px;position:absolute;top:0;bottom:0;right:-6px}.ops-board-td--role{z-index:3;background:var(--bg-surface,#fff);width:110px;min-width:110px;color:var(--text-secondary,#52525b);border-right:1px solid var(--border-default,#00000017);white-space:nowrap;text-align:center;padding:6px 10px;font-size:11px;font-weight:500;position:sticky;left:160px}.ops-board-td--cell{text-align:center;vertical-align:middle;min-width:100px;height:58px;padding:4px 8px;transition:background .1s}.ops-board-td--total{text-align:center;width:90px;min-width:90px;color:var(--text-primary,#111118);background:var(--bg-canvas,#f8f8fa);border-left:2px solid var(--border-default,#00000017);white-space:nowrap;vertical-align:middle;padding:6px 12px;font-size:13px;font-weight:700}.ops-board-venue-first td.ops-board-td{border-top:2px solid var(--border-default,#00000017)}.ops-board-venue-logo-row{align-items:center;gap:7px;display:flex}.ops-board-venue-logo-placeholder{background:#fff9;border:1.5px dashed #0000002e;border-radius:5px;flex-shrink:0;width:26px;height:26px;transition:border-color .15s,background .15s}.obs-venue-upload-label,.ops-board-venue-logo-placeholder{cursor:pointer;justify-content:center;align-items:center;display:flex}.obs-venue-upload-label{text-align:center;flex-direction:column;gap:5px;width:100%}.obs-venue-upload-label:hover .ops-board-venue-logo-placeholder{border-color:var(--accent-brand);background:var(--accent-brand-dim);border-style:solid}[data-theme=dark] .obs-venue-upload-label:hover .ops-board-venue-logo-placeholder{border-color:var(--accent-brand);background:var(--accent-brand-dim)}.obs-venue-uploading{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.obs-venue-uploading-spinner{border:2px solid var(--border-default);border-top-color:var(--accent-brand);border-radius:50%;width:18px;height:18px;animation:obs-spin .7s linear infinite}@keyframes obs-spin{to{transform:rotate(1turn)}}.ops-board-td--venue-logo{height:104px}.obs-venue-cell{flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.obs-venue-cell--logo{flex:1;min-height:0;position:relative;overflow:hidden}.obs-venue-logo-fill{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;background:#fff;width:100%;height:100%;padding:7px;display:block}[data-theme=dark] .obs-venue-logo-fill{background:#fffffff2}.obs-venue-logo-overlay{pointer-events:none;background:linear-gradient(#0000,#0000009e);flex-direction:column;gap:1px;padding:16px 8px 4px;display:flex;position:absolute;bottom:0;left:0;right:0}.obs-venue-logo-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:700;line-height:1.2;display:block;overflow:hidden}.obs-venue-logo-fmt{text-transform:uppercase;letter-spacing:.07em;color:#ffffffb3;font-size:9px;font-weight:600;display:block}.obs-venue-logo-actions{z-index:10;flex-direction:row;gap:3px;display:none;position:absolute;top:5px;right:5px}.obs-venue-cell--logo:hover .obs-venue-logo-actions{display:flex}.obs-venue-action-btn{cursor:pointer;color:#fff;background:#0009;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:background .12s;display:inline-flex}.obs-venue-action-btn:hover{background:#000000d9}.obs-venue-action-btn--remove:hover{background:#dc2626}.ops-board-venue-name{white-space:nowrap;text-overflow:ellipsis;max-width:95px;font-size:12px;font-weight:700;line-height:1.3;display:block;overflow:hidden}.ops-board-venue-fmt{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted,#a1a1aa);margin-top:3px;font-size:9px;font-weight:600;display:block}.board-cell-confirmed{background:#10b98114}.board-cell-pending{background:#d9770614}.board-cell-missing{background:#dc262612}.board-cell-declined{background:#6b72800d}.ops-board-tbl tbody tr:hover .board-cell-confirmed{background:#10b98124}.ops-board-tbl tbody tr:hover .board-cell-pending{background:#d9770624}.ops-board-tbl tbody tr:hover .board-cell-missing{background:#dc262621}.ops-board-tbl tbody tr:hover .board-cell-empty{background:#00000006}.obs-cell-filled{flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.obs-cell-main-row{align-items:center;gap:5px;display:flex}.obs-cell-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 0 2px #fff}.obs-cell-content{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.obs-cell-name{color:var(--text-primary,#111118);white-space:nowrap;text-overflow:ellipsis;max-width:90px;font-size:11px;font-weight:600;line-height:1.3;overflow:hidden}.obs-cell-fee{color:var(--text-muted,#a1a1aa);margin-top:1px;font-size:10px;font-weight:500;line-height:1.2}.obs-cell-fee--editable{cursor:pointer;background:0 0;border:none;border-bottom:1px dashed #0000;padding:0;font-family:inherit}.obs-cell-fee--editable:hover{color:var(--accent-brand,#2563eb);border-bottom-color:var(--accent-brand,#2563eb)}.obs-cell-fee-input{width:52px;color:var(--text-primary,#111118);border:1px solid var(--accent-brand,#2563eb);text-align:center;background:var(--bg-surface,#fff);border-radius:4px;margin-top:1px;padding:1px 4px;font-family:inherit;font-size:10px;font-weight:600}.obs-cell-star{color:#6366f1;vertical-align:super;margin-left:1px;font-size:8px}.obs-cell-missing{letter-spacing:.1em;color:#dc2626;text-transform:uppercase;font-size:9px;font-weight:800;display:inline-block}.obs-cell-missing--btn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:3px 6px;font-family:inherit;transition:background .12s,transform .12s}.obs-cell-missing--btn:hover{background:#dc26261f}.obs-cell-missing--btn:active{transform:scale(.94)}.obs-cell-declined{color:#9ca3af;letter-spacing:.04em;font-size:9px;font-weight:600}.obs-cell-empty{color:var(--text-muted,#a1a1aa);opacity:.28;font-size:16px;font-weight:300;line-height:1}.ops-board-totals-row{background:var(--bg-raised,#f4f4f6)}.ops-board-totals-row .ops-board-td{border-top:2px solid var(--border-default,#00000017);border-bottom:none;padding-top:12px;padding-bottom:12px}.ops-board-totals-label{z-index:3;background:var(--bg-raised,#f4f4f6);letter-spacing:.1em;color:var(--text-secondary,#52525b);text-transform:uppercase;padding:12px 14px;font-size:9px;font-weight:800;position:sticky;left:0}.ops-board-td--total-cell{text-align:center;color:var(--text-primary,#111118);white-space:nowrap;padding:12px 8px;font-size:12px;font-weight:700}.ops-board-grand-total{letter-spacing:-.01em;font-size:14px;font-weight:800}.obs-footer{border-top:1px solid var(--border-default,#00000017);margin-top:24px;padding-top:20px}.obs-footer-label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted,#a1a1aa);margin-bottom:12px;font-size:9px;font-weight:700;display:block}.obs-footer-cards{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.obs-footer-card{border:1px solid;border-radius:10px;flex-direction:column;gap:4px;min-width:120px;padding:12px 16px;transition:box-shadow .15s,transform .15s;display:flex}.obs-footer-card:not(.obs-footer-card--grand):hover{transform:translateY(-2px);box-shadow:0 4px 14px #00000017}.obs-footer-card-name{font-size:12px;font-weight:700;line-height:1.3}.obs-footer-card-amt{letter-spacing:-.02em;color:var(--text-primary,#111118);margin-top:3px;font-size:20px;font-weight:800;display:block}.obs-footer-card--grand{min-width:180px;background:#0f0f1a!important;border-color:#0f0f1a!important}.obs-footer-grand-label{text-transform:uppercase;letter-spacing:.1em;color:#ffffff80;font-size:9px;font-weight:600;line-height:1.3}.obs-footer-grand-amt{letter-spacing:-.02em;color:#fff;margin-top:3px;font-size:24px;font-weight:800;display:block}[data-theme=dark] .ops-board-kpi,[data-theme=dark] .ops-board-wrap{background:var(--bg-surface);border-color:var(--border)}[data-theme=dark] .ops-board-th{background:var(--bg-raised);color:var(--text-muted);border-bottom-color:var(--border)}[data-theme=dark] .ops-board-th--role,[data-theme=dark] .ops-board-th--venue{background:var(--bg-raised)}[data-theme=dark] .ops-board-th--total{background:var(--bg-raised);border-left-color:var(--border)}[data-theme=dark] .ops-board-td--role,[data-theme=dark] .ops-board-td--venue{background:var(--bg-surface)}[data-theme=dark] .ops-board-td--venue{background:var(--bg-surface)!important}[data-theme=dark] .ops-board-td--total{background:var(--bg-raised);border-left-color:var(--border)}[data-theme=dark] .ops-board-totals-label,[data-theme=dark] .ops-board-totals-row{background:var(--bg-raised)}[data-theme=dark] .board-cell-confirmed{background:#10b9811f}[data-theme=dark] .board-cell-pending{background:#d977061f}[data-theme=dark] .board-cell-missing{background:#dc26261a}[data-theme=dark] .board-cell-declined{background:#6b728014}[data-theme=dark] .obs-legend{border-color:var(--border)}[data-theme=dark] .obs-header-month-badge{color:#93c5fd;background:#3b82f626;border-color:#3b82f640}[data-theme=dark] .obs-footer{border-color:var(--border)}[data-theme=dark] .obs-footer-card-amt{color:var(--text-primary)}[data-theme=dark] .obs-cell-dot{box-shadow:0 0 0 2px var(--bg-card)}[data-theme=dark] .obs-cell-name{color:var(--text-primary)}.move-modal-backdrop{z-index:200;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.move-modal{background:#fff;border-radius:12px;width:90%;max-width:480px;max-height:80vh;padding:24px;overflow-y:auto;box-shadow:0 8px 40px #0000002e}.move-modal-header{color:var(--text-primary,#111118);margin-bottom:16px;font-size:16px;font-weight:700}.move-modal-source{background:var(--bg-raised,#f4f4f6);color:var(--text-secondary,#52525b);border-radius:8px;margin-bottom:16px;padding:10px 12px;font-size:13px;line-height:1.5}.move-modal-slots-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted,#a1a1aa);margin-bottom:8px;font-size:11px;font-weight:700}.move-modal-date-group{margin-bottom:12px}.move-modal-date-heading{color:var(--text-muted,#a1a1aa);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;padding:0 4px;font-size:11px;font-weight:700}.move-modal-option{cursor:pointer;color:var(--text-primary,#111118);background:var(--bg-raised,#f4f4f6);border:2px solid #0000;border-radius:8px;align-items:center;gap:8px;margin-bottom:4px;padding:10px 12px;font-size:13px;transition:border-color .12s,background .12s;display:flex}.move-modal-option:hover{background:#f0f5ff;border-color:#3b82f659}.move-modal-option--selected{background:#eff5fe;border-color:#3b82f6}.move-modal-option-role{color:#2563eb;background:#3b82f61a;border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:600}.move-modal-option--conflict{background:#fff7ed;border-color:#f97316}.move-modal-option--conflict:hover{background:#fef0e0}.move-modal-option-conflict-tag{letter-spacing:.06em;text-transform:uppercase;color:#c2410c;background:#ffedd5;border-radius:4px;flex-shrink:0;margin-left:auto;padding:2px 6px;font-size:9.5px;font-weight:700}.move-modal-empty{color:var(--text-muted,#a1a1aa);text-align:center;padding:20px 0;font-size:13px}.move-modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.move-modal-btn-cancel{border:1.5px solid var(--border-default,#0000001f);color:var(--text-secondary,#52525b);cursor:pointer;background:0 0;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:600;transition:background .12s}.move-modal-btn-cancel:hover{background:var(--bg-raised,#f4f4f6)}.move-modal-btn-move{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;padding:8px 22px;font-size:13px;font-weight:700;transition:background .12s,opacity .12s}.move-modal-btn-move:hover:not(:disabled){background:#2563eb}.move-modal-btn-move:disabled{opacity:.45;cursor:not-allowed}.move-modal-error{color:#dc2626;text-align:right;margin-top:10px;font-size:12px}.obs-cell-btn-row{opacity:0;z-index:1;gap:2px;transition:opacity .15s;display:flex;position:absolute;top:2px;right:2px}.ops-board-tbl tbody tr:hover .obs-cell-btn-row{opacity:1}.obs-cell-move-btn,.obs-cell-unassign-btn{cursor:pointer;color:#374151;background:#ffffffe6;border:1px solid #00000026;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:600;line-height:1.4}.obs-cell-move-btn:hover{background:#fff;border-color:#0000004d}.obs-cell-unassign-btn{color:#dc2626}.obs-cell-unassign-btn:hover{background:#fee2e2;border-color:#dc262666}.obs-cell-unassign-btn:disabled{opacity:.5;cursor:not-allowed}.ops-board-td--cell{position:relative}.obs-logistics-row{gap:2px;display:flex}.obs-logistics-btn{cursor:pointer;width:22px;height:18px;color:var(--text-muted,#a1a1aa);background:0 0;border:1px solid #0000;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.obs-logistics-btn:hover{color:var(--text-secondary,#52525b);background:#0000000f}.obs-logistics-btn:focus-visible{outline:2px solid var(--accent-brand,#3b82f6);outline-offset:1px}.obs-logistics-btn--flight{color:#3b82f6;background:#3b82f61a;border-color:#3b82f640}.obs-logistics-btn--flight:hover{background:#3b82f62e}.obs-logistics-btn--hotel{color:#d97706;background:#d977061a;border-color:#d9770640}.obs-logistics-btn--hotel:hover{background:#d977062e}@media (prefers-reduced-motion:reduce){.obs-logistics-btn{transition:none}}[data-theme=dark] .obs-logistics-btn:hover{color:var(--text-secondary,#a1a1aa);background:#ffffff14}[data-theme=dark] .obs-logistics-btn--flight{color:#60a5fa;background:#60a5fa1f;border-color:#60a5fa47}[data-theme=dark] .obs-logistics-btn--flight:hover{background:#60a5fa33}[data-theme=dark] .obs-logistics-btn--hotel{color:#fbbf24;background:#fbbf241f;border-color:#fbbf2447}[data-theme=dark] .obs-logistics-btn--hotel:hover{background:#fbbf2433}[data-theme=dark] .move-modal{background:var(--bg-surface,#18181b);color:var(--text-primary,#f4f4f5);box-shadow:0 8px 40px #00000080}[data-theme=dark] .move-modal-source{background:var(--bg-raised,#27272a);color:var(--text-secondary,#a1a1aa)}[data-theme=dark] .move-modal-option{background:var(--bg-raised,#27272a);color:var(--text-primary,#f4f4f5)}[data-theme=dark] .move-modal-option:hover{background:#3b82f61a;border-color:#3b82f673}[data-theme=dark] .move-modal-option--selected{background:#3b82f626;border-color:#60a5fa}[data-theme=dark] .obs-cell-move-btn,[data-theme=dark] .obs-cell-unassign-btn{color:#d4d4d8;background:#1e1e28e6;border-color:#ffffff2e}[data-theme=dark] .obs-cell-move-btn:hover{background:#282837}[data-theme=dark] .obs-cell-unassign-btn{color:#f87171}[data-theme=dark] .obs-cell-unassign-btn:hover{background:#dc262633;border-color:#f8717166}@media (max-width:768px){.ops-board-td--venue,.ops-board-th--venue{width:110px;min-width:110px}.ops-board-td--role,.ops-board-th--role{width:80px;min-width:80px;left:110px}.ops-board-td--venue{padding:6px 8px}.ops-board-venue-name{max-width:56px;font-size:10px;font-weight:700}.ops-board-venue-logo-placeholder{width:20px;height:20px}.ops-board-venue-fmt{margin-top:2px;font-size:8px}.ops-board-th--date{min-width:80px;padding:6px 4px}.ops-board-date-num{font-size:13px}.ops-board-date-dow{font-size:8px}.ops-board-td--cell{min-width:80px;height:44px;padding:4px}.obs-cell-dot{width:5px;height:5px;box-shadow:0 0 0 1.5px #fff}.obs-cell-filled{gap:4px}.obs-cell-name{max-width:52px;font-size:10px}.obs-cell-fee{margin-top:0;font-size:9px}.obs-cell-missing{letter-spacing:.06em;font-size:8px}.obs-cell-declined{font-size:8px}.obs-cell-empty{font-size:13px}.ops-board-td--total,.ops-board-th--total{width:76px;min-width:76px;padding:6px 8px}.ops-board-td--total{font-size:11px}.ops-board-grand-total{font-size:12px}.ops-board-totals-row .ops-board-td{padding-top:8px;padding-bottom:8px}.ops-board-td--total-cell{white-space:nowrap;padding:8px 4px;font-size:10px}.ops-board-totals-label{padding:8px 10px;font-size:8px}.obs-footer-cards{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:6px;overflow-x:auto}.obs-footer-card{flex-shrink:0}.obs-header-title{font-size:16px}.obs-header-sub{display:none}.obs-legend-toggle{letter-spacing:.04em;color:var(--text-secondary,#52525b);background:var(--bg-raised,#f4f4f6);border:1px solid var(--border-default,#0000001a);cursor:pointer;border-radius:8px;align-items:center;gap:6px;min-height:34px;margin-bottom:10px;padding:6px 12px;font-size:11px;font-weight:700;display:inline-flex}.obs-legend-toggle-caret{color:var(--text-muted,#a1a1aa);font-size:8px}.obs-legend{gap:8px 12px;display:none}.obs-legend--open{display:flex}.obs-leg{font-size:10px}.obs-cell-btn-row,.obs-logistics-row{display:none!important}.obs-cell-filled--tap{cursor:pointer}}.ops-board--fullscreen .ops-board-tbl{table-layout:fixed;width:100%;min-width:0}.ops-board--fullscreen .ops-board-td--cell,.ops-board--fullscreen .ops-board-th--date{width:auto;min-width:0;padding:3px 2px;overflow:hidden}.ops-board--fullscreen .ops-board-date-num{font-size:11px}.ops-board--fullscreen .ops-board-date-dow{font-size:7px}.ops-board--fullscreen .obs-cell-dot{width:6px;height:6px;box-shadow:0 0 0 1.5px #fff}.ops-board--fullscreen .obs-cell-filled{justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex}.ops-board--fullscreen .obs-cell-btn-row,.ops-board--fullscreen .obs-cell-content,.ops-board--fullscreen .obs-logistics-row{display:none!important}.ops-board--fullscreen .obs-cell-filled--tap{cursor:pointer}.ops-board--fullscreen .obs-cell-missing--compact{justify-content:center;align-items:center;width:100%;padding:4px;display:inline-flex}.obs-cell-status-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.obs-cell-status-dot--missing{background:#dc2626}.obs-cell-status-dot--declined{background:#9ca3af}.readiness-badge{border-radius:var(--radius-full,9999px);letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;min-width:34px;padding:2px 7px;font-size:11px;font-weight:800;display:inline-flex}.readiness-badge--done{color:#047857;background:#10b9811f;border-color:#10b98147}.readiness-badge--partial{color:#b45309;background:#d977061f;border-color:#d9770647}.readiness-badge--low{color:#b91c1c;background:#dc26261a;border-color:#dc262642}.readiness-strip{border:1px solid var(--border-default,#00000017);background:var(--bg-raised,#f4f4f6);border-radius:10px;margin:0 14px 12px;padding:10px 12px}.readiness-strip--loading{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted,#a1a1aa);font-size:10px;font-weight:700}.readiness-strip__head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.readiness-strip__title{letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary,#52525b);font-size:10px;font-weight:800}.readiness-strip__pills{flex-wrap:wrap;gap:6px;display:flex}.readiness-pill{border-radius:var(--radius-full,9999px);border:1px solid var(--border-default,#00000017);background:var(--bg-surface,#fff);color:var(--text-secondary,#52525b);align-items:center;gap:4px;padding:3px 9px;font-family:inherit;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}button.readiness-pill{cursor:pointer;transition:transform 80ms,box-shadow .12s,background .12s}button.readiness-pill:hover:not(:disabled){box-shadow:var(--shadow-sm,0 1px 3px #00000014)}button.readiness-pill:active:not(:disabled){transform:scale(.96)}button.readiness-pill:disabled{opacity:.6;cursor:default}.readiness-ticket-editor{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.readiness-ticket-editor__input{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-input);min-width:180px;color:var(--text-primary);flex:220px;padding:6px 10px;font-size:12px}.readiness-ticket-editor__error{color:var(--red);width:100%;font-size:12px}.readiness-pill--done{color:#047857;background:#10b9811f;border-color:#10b9814d}.readiness-pill--pending{background:var(--bg-surface,#fff);color:var(--text-tertiary,#a1a1aa)}.readiness-pill--na{color:var(--text-tertiary,#a1a1aa);background:#0000000a;text-decoration:line-through}.readiness-pill--auto{border-style:dashed}.readiness-pill__auto{letter-spacing:.06em;text-transform:uppercase;opacity:.6;font-size:8px;font-weight:700}.readiness-panel{margin-bottom:20px}.readiness-panel .panel-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.readiness-panel .panel-title{color:var(--text-primary,#111118);margin:0;font-size:15px;font-weight:800}.readiness-panel .panel-sub{color:var(--text-muted,#a1a1aa);font-size:12px}.readiness-panel__empty{color:var(--text-muted,#a1a1aa);padding:8px 0;font-size:13px}.readiness-panel__grid{background:#f4f5f7;border-radius:12px;flex-direction:column;gap:10px;padding:10px;display:flex}.readiness-card{background:#fff;border:1px solid #00000012;border-left:4px solid #d1d5db;border-radius:10px;padding:14px 16px;text-decoration:none;transition:box-shadow .15s,transform .1s;display:block;box-shadow:0 1px 3px #00000012,0 1px 2px #0000000a}.readiness-card--low{border-left-color:#ef4444}.readiness-card--mid{border-left-color:#f59e0b}.readiness-card--high{border-left-color:#6366f1}.readiness-card--done{border-left-color:#10b981}.readiness-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001c}.readiness-card:active{transform:translateY(0)scale(.995)}.readiness-card:focus-visible{outline:2px solid var(--accent-brand,#2563eb);outline-offset:2px}.readiness-card__top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.readiness-card__head{flex-direction:column;min-width:0;display:flex}.readiness-card__venue{color:var(--text-primary,#111118);font-size:14px;font-weight:700;line-height:1.3}.readiness-card__date{color:var(--text-muted,#9ca3af);margin-top:2px;font-size:11px;font-weight:500}.readiness-card__score{white-space:nowrap;border-radius:20px;flex-shrink:0;padding:3px 9px;font-size:11px;font-weight:700;line-height:1.6}.readiness-card__score--low{color:#991b1b;background:#fef2f2}.readiness-card__score--mid{color:#78350f;background:#fffbeb}.readiness-card__score--high{color:#312e81;background:#eef2ff}.readiness-card__score--done{color:#065f46;background:#ecfdf5}.readiness-card__bar{background:#e9eaec;border-radius:9999px;height:6px;margin-bottom:12px;overflow:hidden}.readiness-card__fill{border-radius:9999px;height:100%;transition:width .35s;display:block}.readiness-card__fill--low{background:#ef4444}.readiness-card__fill--mid{background:#f59e0b}.readiness-card__fill--high{background:#6366f1}.readiness-card__fill--done{background:#10b981}.readiness-card__foot{display:flex}.readiness-card__next{color:#92400e;background:#fef3c7;font-weight:600}.readiness-card__next,.readiness-card__ready{border-radius:20px;align-items:center;padding:3px 10px;font-size:11px;line-height:1.6;display:inline-flex}.readiness-card__ready{color:#065f46;background:#d1fae5;font-weight:700}[data-theme=dark] .readiness-strip{background:var(--bg-surface);border-color:var(--border)}[data-theme=dark] .readiness-pill{background:var(--bg-raised);border-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .readiness-pill--pending{background:var(--bg-raised)}[data-theme=dark] .readiness-pill--na{background:#ffffff0d}[data-theme=dark] .readiness-panel__grid{background:#00000026}[data-theme=dark] .readiness-card{background:var(--bg-surface);border-top-color:var(--border);border-right-color:var(--border);border-bottom-color:var(--border);box-shadow:0 1px 3px #0000004d}[data-theme=dark] .readiness-card__bar{background:var(--bg-raised)}[data-theme=dark] .readiness-card__score--low{color:#fca5a5;background:#ef44441f}[data-theme=dark] .readiness-card__score--mid{color:#fcd34d;background:#f59e0b1f}[data-theme=dark] .readiness-card__score--high{color:#a5b4fc;background:#6366f11f}[data-theme=dark] .readiness-card__score--done{color:#6ee7b7;background:#10b9811f}[data-theme=dark] .readiness-card__next{color:#fbbf24;background:#fbbf241f}[data-theme=dark] .readiness-card__ready{color:#34d399;background:#34d3991f}.obs-role-empty{color:var(--text-muted,#a1a1aa);font-size:11px;font-style:italic}.obs-cell-add{cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:100%;min-height:30px;padding:4px 2px;font-family:inherit;transition:background .12s;display:flex}.obs-cell-add__dash{color:var(--text-tertiary,#cbd5e1)}.obs-cell-add__plus{color:var(--accent-brand,#2563eb);font-size:15px;font-weight:700;line-height:1;display:none}.obs-cell-add:hover{background:var(--accent-brand-dim,#2563eb12)}.obs-cell-add:hover .obs-cell-add__dash{display:none}.obs-cell-add:hover .obs-cell-add__plus{display:inline}.obs-cell-add:focus-visible{outline:2px solid var(--accent-brand,#2563eb);outline-offset:-2px}.nf-readonly{background:var(--bg-raised,#f4f4f6);border:1px solid var(--border-default,#00000017);color:var(--text-primary,#111118);border-radius:8px;padding:9px 11px;font-size:14px;font-weight:600}[data-theme=dark] .nf-readonly{background:var(--bg-surface);border-color:var(--border)}html[data-chat-mounted] .theme-toggle{bottom:88px}html[data-chat-open] .theme-toggle{display:none}html[data-chat-open] .vamp-chat-fab{opacity:0;pointer-events:none;transform:scale(.85)}html[data-chat-mounted] .admin-content{transition:padding-right .26s cubic-bezier(.16,1,.3,1)}html[data-chat-open] .admin-content{padding-right:380px}@media (max-width:900px){html[data-chat-open] .admin-content{padding-right:0}}html[data-board-fs] .vamp-chat-fab,html[data-board-fs] .vamp-chat-panel,html[data-board-fs] .vamp-chat-scrim{display:none!important}.vamp-chat-fab{z-index:1100;background:var(--accent-brand,#2563eb);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:transform .14s,box-shadow .14s,background .14s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 6px 20px #2563eb66}.vamp-chat-fab:hover{transform:translateY(-2px);box-shadow:0 10px 26px #2563eb80}.vamp-chat-fab:active{transform:translateY(0)}.vamp-chat-scrim{z-index:1098;background:#00000059;animation:vamp-chat-fade .2s;display:none;position:fixed;inset:0}@keyframes vamp-chat-fade{0%{opacity:0}to{opacity:1}}.vamp-chat-panel{z-index:1099;background:var(--bg-surface,#fff);border-left:1px solid var(--border-default,#00000017);will-change:transform;flex-direction:column;width:380px;max-width:100vw;transition:transform .26s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-8px 0 30px #00000029}.vamp-chat-panel.is-open{transform:translate(0)}.vamp-chat-head{border-bottom:1px solid var(--border-default,#00000017);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.vamp-chat-head-id{align-items:center;gap:10px;display:flex}.vamp-chat-head-logo{flex-shrink:0;align-items:center;height:28px;display:flex}.vamp-chat-head-logo .brand-logo{-o-object-fit:contain;object-fit:contain;width:auto;height:17px}.vamp-chat-head-title{color:var(--text-primary,#111118);font-size:14px;font-weight:700;line-height:1.2}.vamp-chat-head-sub{color:var(--text-muted,#71717a);margin-top:1px;font-size:11px}.vamp-chat-close{color:var(--text-muted,#71717a);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;transition:background .12s;display:flex}.vamp-chat-close:hover{background:var(--bg-raised,#f4f4f6)}.vamp-chat-head-actions{align-items:center;gap:4px;display:flex}.vamp-chat-voice-toggle{width:32px;height:32px;color:var(--text-muted,#71717a);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.vamp-chat-voice-toggle:hover{background:var(--bg-raised,#f4f4f6)}.vamp-chat-voice-toggle.is-active{color:var(--accent-brand,#2563eb);background:#2563eb14}.vamp-chat-speaking-bars{flex-shrink:0;align-items:flex-end;gap:2px;height:14px;padding:0 2px;display:flex}.vamp-chat-speaking-bars span{background:var(--accent-brand,#2563eb);border-radius:2px;width:3px;height:4px;animation:vamp-bar .8s ease-in-out infinite}.vamp-chat-speaking-bars span:nth-child(2){animation-delay:.15s}.vamp-chat-speaking-bars span:nth-child(3){animation-delay:.3s}@keyframes vamp-bar{0%,to{height:4px}50%{height:14px}}.vamp-chat-msgs{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1 1 0;gap:12px;min-height:0;padding:16px;display:flex;overflow-y:auto}.vamp-chat-bubble{align-items:flex-end;gap:8px;max-width:92%;display:flex}.vamp-chat-bubble.user{flex-direction:row-reverse;align-self:flex-end}.vamp-chat-bubble.assistant{align-self:flex-start}.vamp-chat-bubble-avatar{background:var(--accent-brand,#2563eb);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;width:24px;height:24px;margin-top:2px;display:flex}.vamp-chat-bubble-body{white-space:pre-wrap;word-break:break-word;border-radius:14px;padding:9px 13px;font-size:14px;line-height:1.55}.vamp-chat-bubble.assistant .vamp-chat-bubble-body{background:var(--bg-raised,#f4f4f6);color:var(--text-primary,#111118);border-bottom-left-radius:4px}.vamp-chat-bubble.user .vamp-chat-bubble-body{background:var(--accent-brand,#2563eb);color:#fff;border-bottom-right-radius:4px}.vamp-chat-md{white-space:normal}.vamp-chat-md>:first-child{margin-top:0}.vamp-chat-md>:last-child{margin-bottom:0}.vamp-chat-md p{margin:0 0 8px}.vamp-chat-md strong{font-weight:700}.vamp-chat-md ul{margin:6px 0;padding-left:18px;list-style:outside}.vamp-chat-md li{margin:3px 0}.vamp-chat-typing{gap:3px;padding:2px 0;display:inline-flex}.vamp-chat-typing i{background:var(--text-muted,#a1a1aa);border-radius:50%;width:6px;height:6px;animation:vamp-chat-blink 1.2s ease-in-out infinite}.vamp-chat-typing i:nth-child(2){animation-delay:.18s}.vamp-chat-typing i:nth-child(3){animation-delay:.36s}@keyframes vamp-chat-blink{0%,60%,to{opacity:.25}30%{opacity:1}}.vamp-chat-confirm{background:var(--accent-amber-dim,#d9770614);border:1px solid var(--accent-amber,#d97706);border-left-width:3px;border-radius:10px;align-self:stretch;padding:12px 14px}.vamp-chat-confirm-text{color:var(--text-primary,#111118);font-size:13.5px;font-weight:600;line-height:1.5}.vamp-chat-confirm-actions{gap:8px;margin-top:10px;display:flex}.vamp-chat-btn-cancel,.vamp-chat-btn-confirm{cursor:pointer;border-radius:8px;flex:1;min-height:38px;font-size:13px;font-weight:600;transition:filter .12s,background .12s}.vamp-chat-btn-confirm{background:var(--accent-brand,#2563eb);color:#fff;border:none}.vamp-chat-btn-confirm:hover{filter:brightness(1.06)}.vamp-chat-btn-cancel{border:1px solid var(--border-default,#0000001f);color:var(--text-secondary,#52525b);background:0 0}.vamp-chat-btn-cancel:hover{background:var(--bg-raised,#f4f4f6)}.vamp-chat-btn-cancel:disabled,.vamp-chat-btn-confirm:disabled{opacity:.5;cursor:default}.vamp-chat-input-row{padding:12px 12px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--border-default,#00000017);background:var(--bg-surface,#fff);flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.vamp-chat-input-wrap{flex:1;position:relative}.vamp-chat-input{border:1px solid var(--border-default,#0000001f);background:var(--bg-raised,#f4f4f6);width:100%;min-height:44px;color:var(--text-primary,#111118);border-radius:12px;outline:none;padding:11px 14px;font-size:16px;transition:border-color .12s,box-shadow .12s}.vamp-chat-input:focus{border-color:var(--accent-brand,#2563eb);box-shadow:0 0 0 3px var(--accent-brand-dim,#2563eb1f)}.vamp-chat-input:disabled{opacity:.6}.vamp-chat-count{color:var(--text-muted,#a1a1aa);font-size:10px;position:absolute;bottom:-16px;right:10px}.vamp-chat-count.is-max{color:var(--accent-red,#dc2626);font-weight:700}.vamp-chat-mic,.vamp-chat-send{cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:background .12s,filter .12s;display:flex}.vamp-chat-mic{border:1px solid var(--border-default,#0000001f);background:var(--bg-raised,#f4f4f6);color:var(--text-secondary,#52525b)}.vamp-chat-mic:hover{background:var(--bg-surface,#fff)}.vamp-chat-mic.is-on{background:var(--accent-red,#dc2626);border-color:var(--accent-red,#dc2626);color:#fff;animation:vamp-chat-pulse 1.2s infinite}.vamp-chat-mic.is-hold{background:#2563eb1f;transform:scale(1.18)}@keyframes vamp-chat-pulse{0%,to{box-shadow:0 0 #dc262666}50%{box-shadow:0 0 0 5px #dc262600}}.vamp-chat-send{background:var(--accent-brand,#2563eb);color:#fff;border:none}.vamp-chat-send:hover{filter:brightness(1.07)}.vamp-chat-send:disabled{opacity:.45;cursor:default}@media (prefers-reduced-motion:reduce){.vamp-chat-fab,.vamp-chat-panel{transition:none}.vamp-chat-mic.is-on,.vamp-chat-speaking-bars span,.vamp-chat-typing i{animation:none}}@media (max-width:640px){.vamp-chat-scrim{display:block}.vamp-chat-panel{border-left:none;border-top:1px solid var(--border-default,#00000017);border-radius:16px 16px 0 0;width:100%;height:72vh;top:auto;left:0;right:0;transform:translateY(100%)}.vamp-chat-panel.is-open{transform:translateY(0)}html[data-chat-mounted] .theme-toggle{bottom:78px}.vamp-chat-fab{bottom:16px;right:16px}}[data-theme=dark] .vamp-chat-fab{box-shadow:0 6px 20px #00000080}[data-theme=dark] .vamp-chat-panel{box-shadow:-8px 0 30px #00000080}@media (max-height:500px) and (orientation:landscape){.obs-header-sub{display:none}.obs-header{gap:4px;padding:6px 16px 4px}.obs-header-kpis{scrollbar-width:none;flex-wrap:nowrap;gap:6px;display:flex;overflow-x:auto}.obs-header-kpis::-webkit-scrollbar{display:none}.ops-board-kpi{flex-shrink:0;min-width:100px;padding:6px 10px}.ops-board-kpi__value{font-size:18px}.ops-board-kpi__label{font-size:9px}.obs-legend,.obs-legend-toggle{display:none}}.import-page{max-width:860px;margin:0 auto;padding:40px 32px}.import-page-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.import-page-title{color:var(--text-primary);font-size:22px;font-weight:800}.import-back-link{color:var(--text-tertiary);align-items:center;gap:6px;font-size:13px;text-decoration:none;display:flex}.import-back-link:hover{color:var(--accent-brand)}.import-dropzone{border:2px dashed var(--border-default);border-radius:var(--radius-lg);text-align:center;cursor:pointer;background:var(--bg-card);padding:60px 32px;transition:border-color .15s,background .15s}.import-dropzone.is-drag-over,.import-dropzone:hover{border-color:var(--accent-brand);background:var(--accent-brand-dim)}.import-dropzone:focus-visible{outline:2px solid var(--accent-brand);outline-offset:2px}.import-dropzone-icon{width:40px;height:40px;color:var(--text-tertiary);margin:0 auto 14px}.import-dropzone-title{color:var(--text-primary);margin-bottom:6px;font-size:15px;font-weight:700}.import-dropzone-sub{color:var(--text-tertiary);max-width:460px;margin-bottom:20px;margin-left:auto;margin-right:auto;font-size:13px}.import-template-btn{border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.import-template-btn:hover{background:var(--bg-raised);border-color:var(--border-default);color:var(--text-primary)}.import-summary-cards{gap:12px;margin-bottom:24px;display:flex}.import-summary-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);text-align:center;flex:1;padding:16px}.import-summary-card__value{color:var(--text-primary);margin-bottom:4px;font-size:28px;font-weight:800;line-height:1}.import-summary-card__label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);font-size:11px;font-weight:600}.import-preview-table{border-collapse:collapse;width:100%;min-width:560px;font-size:13px}.import-preview-table th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--text-tertiary);border-bottom:1px solid var(--border-default);padding:8px 12px;font-size:10px;font-weight:700}.import-preview-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle;padding:8px 12px}.import-status-chip{border-radius:var(--radius-full);letter-spacing:.04em;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.import-status-chip--ok{color:#059669;background:#10b9811f}.import-status-chip--warn{color:#d97706;background:#f59e0b1f}.import-status-chip--error{color:#dc2626;background:#ef44441f}.import-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.import-btn-primary{background:var(--accent-brand);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);border:none;align-items:center;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:700;display:inline-flex}.import-btn-primary:hover{background:#1d4ed8}.import-btn-primary:disabled{opacity:.5;cursor:not-allowed}.import-btn-secondary{color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:600}.import-btn-secondary:hover{background:var(--bg-raised);color:var(--text-primary)}.import-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.import-result-hero{text-align:center;padding:40px 0 32px}.import-result-hero__count{color:var(--accent-brand);margin-bottom:8px;font-size:56px;font-weight:900;line-height:1}.import-result-hero__label{color:var(--text-secondary);font-size:16px;font-weight:600}.import-result-section{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);margin-bottom:12px;padding:16px 20px}.import-result-section--warn{border-color:#f59e0b59}.import-result-section--error{border-color:#ef444459}.import-result-section__title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-primary);margin-bottom:8px;font-size:12px;font-weight:700}.import-result-section--warn .import-result-section__title{color:#d97706}.import-result-section--error .import-result-section__title{color:#dc2626}.obs-import-btn{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;cursor:pointer;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.obs-import-btn:hover{background:var(--bg-raised);color:var(--text-primary);border-color:var(--border-default)}@media (max-width:640px){.import-page{padding:24px 16px}.import-summary-cards{gap:8px}.import-summary-card{padding:12px}.import-summary-card__value{font-size:22px}}.toast-stack{z-index:1000;flex-direction:column;gap:8px;max-width:360px;display:flex;position:fixed;bottom:76px;right:20px}.toast-item{background:var(--bg-card);border:1px solid var(--border-default);box-shadow:var(--shadow-lg);color:var(--text-primary);border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;animation:toast-in .18s ease-out;display:flex}.toast-item.toast-success{border-color:var(--accent-green);background:var(--accent-green-dim)}.toast-item.toast-error{border-color:var(--red);background:var(--red-bg)}.toast-text{flex:1;line-height:1.5}.toast-dismiss{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;margin:-12px -14px -12px 0;font-size:16px;line-height:1;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.toast-stack{max-width:none;bottom:66px;left:16px;right:16px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}