:root{color-scheme:dark;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--bg-primary: #0a0a0a;--bg-secondary: #161616;--bg-card: rgba(30, 30, 30, .6);--accent-blue: #3a86ff;--accent-blue-rgb: 58, 134, 255;--accent-purple: #a76bd6;--accent-purple-dark: #6e2e99;--accent-green: #38b000;--accent-red: #ef233c;--accent-red-rgb: 239, 35, 60;--accent-yellow: #f1c40f;--accent-amber: #f59e0b;--accent-orange: #f97316;--accent-primary: var(--accent-blue);--text-primary: #ffffff;--text-secondary: #a0a0a0;--text-muted: #666666;--glass-bg: rgba(20, 20, 20, .7);--glass-border: rgba(255, 255, 255, .1);--glass-blur: 12px;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--text-3xs: .65rem;--text-2xs: .7rem;--text-xs: .75rem;--text-sm: .8rem;--text-base: .85rem;--text-md: .9rem;--text-lg: 1rem;--text-xl: 1.1rem;--text-2xl: 1.2rem;--text-3xl: 1.5rem;--text-4xl: 2rem;--text-5xl: 2.5rem;--space-1: 4px;--space-2: 6px;--space-3: 8px;--space-4: 10px;--space-5: 12px;--space-6: 16px;--space-7: 20px;--space-8: 24px;--space-9: 32px;--space-10: 40px;--spacing-xs: var(--space-3);--spacing-sm: var(--space-6);--spacing-md: var(--space-8);--spacing-lg: var(--space-9);--spacing-xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--nav-item-active-bg: rgba(58, 134, 255, .15);--nav-item-active-text: #ffffff;--nav-icon-bg: rgba(255, 255, 255, .05);--hover-tint: rgba(255, 255, 255, .06);--hover-tint-strong: rgba(255, 255, 255, .1);--field-bg: rgba(255, 255, 255, .05);--field-bg-focus: rgba(255, 255, 255, .09);--field-border: var(--glass-border);--field-placeholder: #8b8b8b;--field-disabled-bg: rgba(255, 255, 255, .02);--field-disabled-text: var(--text-muted);--z-sticky: 100;--z-scrim: 900;--z-drawer: 1000;--z-modal: 2000;--z-popover: 2500;--z-toast: 3000;--overlay-bg: rgba(15, 23, 42, .55);--overlay-blur: blur(4px);--panel-inset-bg: rgba(255, 255, 255, .035)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100dvh;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:16px;padding:24px;box-shadow:none}.panel-inset{background:var(--panel-inset-bg);border:1px solid var(--glass-border);border-radius:12px;padding:16px}.panel-xs{border-radius:10px;padding:10px 14px}.panel-sm{border-radius:12px;padding:16px}.panel-lg{border-radius:20px;padding:32px}.panel-flush{padding:0}[data-theme=light] .app-modal-card :is(input,select,textarea):not(.glass-input):not(.glass-select):not(.glass-textarea):not([type=checkbox]):not([type=radio]){background-color:var(--field-bg)!important;color:var(--text-primary)!important;border:1px solid var(--field-border)!important}[data-theme=dark] .app-modal-card :is(input,select,textarea):not(.glass-input):not(.glass-select):not(.glass-textarea):not([type=checkbox]):not([type=radio]){background-color:var(--field-bg)!important;color:var(--text-primary)!important;border:1px solid var(--field-border)!important}.app-modal-card input::placeholder,.app-modal-card textarea::placeholder{color:var(--field-placeholder)}.text-gradient{background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-purple) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-primary,.btn-secondary,.btn-danger,.btn-danger-soft,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:.65rem 1.25rem;min-height:40px;border:1px solid transparent;border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-lg);font-weight:500;line-height:1.1;white-space:nowrap;box-sizing:border-box;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur) var(--ease-out),background var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.btn-primary:active,.btn-secondary:active,.btn-danger:active,.btn-danger-soft:active,.btn-ghost:active{transform:scale(.97)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.btn-danger-soft:disabled,.btn-ghost:disabled{opacity:.5;transform:none;box-shadow:none}.btn-primary{background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-purple) 100%);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--accent-blue-rgb),.25)}.btn-secondary{background:transparent;border-color:var(--glass-border);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--hover-tint);border-color:var(--text-secondary)}.btn-danger{background:var(--accent-red);color:#fff}.btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--accent-red-rgb),.3)}.btn-danger-soft{background:rgba(var(--accent-red-rgb),.1);border-color:rgba(var(--accent-red-rgb),.25);color:var(--accent-red)}.btn-danger-soft:hover:not(:disabled){background:rgba(var(--accent-red-rgb),.18);border-color:rgba(var(--accent-red-rgb),.45)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--hover-tint);color:var(--text-primary)}.btn-ghost.is-danger{color:var(--accent-red)}.btn-ghost.is-danger:hover:not(:disabled){background:rgba(var(--accent-red-rgb),.12);color:var(--accent-red)}.btn-link{display:inline;padding:0;min-height:0;border:none;background:none;font:inherit;font-weight:500;text-align:inherit;white-space:normal;cursor:pointer;transition:color var(--dur) var(--ease-out),opacity var(--dur) var(--ease-out)}.btn-link:hover:not(:disabled){text-decoration:underline}.btn-link:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:.45rem .9rem;min-height:34px;font-size:var(--text-base);gap:6px}.btn-xs{padding:.3rem .7rem;min-height:28px;font-size:var(--text-sm);gap:5px;border-radius:6px}.btn-icon{padding:0;width:36px;min-width:36px;height:36px;min-height:36px;gap:0}.btn-icon.btn-sm{width:30px;min-width:30px;height:30px;min-height:30px}.btn-icon.btn-xs{width:26px;min-width:26px;height:26px;min-height:26px}.btn-round{border-radius:50%}.btn-block{width:100%}button,[role=button],a,label,select,summary,input[type=checkbox],input[type=radio]{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}select{cursor:pointer}input[type=checkbox],input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-blue, #3a86ff)}button:has(>svg.lucide-x:only-child),button:has(>svg.lucide-x-icon:only-child){min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center}.tap-target{min-width:40px;min-height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center}.hit-expand{position:relative}.hit-expand:after{content:"";position:absolute;inset:-9px;border-radius:inherit}.glass-input,.glass-select,.glass-textarea{width:100%;padding:11px 13px;background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:var(--text-lg);line-height:1.35;outline:none;box-sizing:border-box;transition:background var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.glass-textarea{min-height:96px;resize:vertical}.glass-select{cursor:pointer}.glass-input::placeholder,.glass-textarea::placeholder{color:var(--field-placeholder);opacity:1}.glass-input:focus,.glass-select:focus,.glass-textarea:focus{background:var(--field-bg-focus);border-color:var(--accent-blue);box-shadow:0 0 0 3px rgba(var(--accent-blue-rgb),.18)}.glass-input:disabled,.glass-select:disabled,.glass-textarea:disabled,.glass-input:read-only,.glass-textarea:read-only{background:var(--field-disabled-bg);color:var(--field-disabled-text);border-color:var(--field-border);cursor:default;box-shadow:none}.glass-input:read-only:focus,.glass-textarea:read-only:focus{border-color:var(--field-border);box-shadow:none}.glass-input:disabled,.glass-select:disabled,.glass-textarea:disabled{cursor:not-allowed}.app-overlay-backdrop{position:fixed;inset:0;background:var(--overlay-bg);backdrop-filter:var(--overlay-blur);-webkit-backdrop-filter:var(--overlay-blur)}.app-drawer-card{position:fixed;top:0;right:0;bottom:0;width:560px;max-width:100vw;display:flex;flex-direction:column;background:var(--bg-secondary);border-left:1px solid var(--glass-border);box-shadow:-8px 0 30px #0000004d;overflow:hidden}.field-sm{padding:7px 10px;font-size:var(--text-base);border-radius:6px}.field-lg{padding:14px 16px;font-size:var(--text-lg)}.is-error,.is-error:focus{border-color:var(--accent-red);box-shadow:0 0 0 3px rgba(var(--accent-red-rgb),.18)}.is-bare{background:transparent;border-color:transparent;padding-left:4px;padding-right:4px}.is-bare:hover:not(:disabled):not(:read-only){background:var(--hover-tint)}.is-bare:focus{background:var(--field-bg-focus);border-color:var(--accent-blue)}h1,h2,h3,h4{font-weight:700;line-height:1.2}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}.text-3xs{font-size:var(--text-3xs)}.text-2xs{font-size:var(--text-2xs)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-md{font-size:var(--text-md)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.text-5xl{font-size:var(--text-5xl)}a{color:var(--accent-blue);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-purple)}::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity .2s}::-webkit-calendar-picker-indicator:hover{opacity:1}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#80808059;border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#8080808c;background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}[data-theme=light]{color-scheme:light;--bg-primary: #f8f9fa;--bg-secondary: #ffffff;--bg-card: rgba(255, 255, 255, .8);--text-primary: #1a1a1a;--text-secondary: #4a4a4a;--text-muted: #888888;--glass-bg: rgba(255, 255, 255, .75);--glass-border: rgba(0, 0, 0, .08);--accent-blue: #2563eb;--accent-blue-rgb: 37, 99, 235;--accent-purple: #9333ea;--accent-green: #16a34a;--accent-red: #dc2626;--accent-red-rgb: 220, 38, 38;--accent-yellow: #eab308;--accent-amber: #d97706;--accent-orange: #ea580c;--nav-item-active-bg: rgba(37, 99, 235, .1);--nav-item-active-text: #2563eb;--nav-icon-bg: rgba(0, 0, 0, .05);--hover-tint: rgba(0, 0, 0, .04);--hover-tint-strong: rgba(0, 0, 0, .07);--field-bg: #f3f4f6;--field-bg-focus: #ffffff;--field-border: #d1d5db;--field-placeholder: #6b7280;--field-disabled-bg: #e9ecef;--field-disabled-text: #9ca3af;--panel-inset-bg: rgba(0, 0, 0, .028)}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-sm);color:var(--text-secondary);background:transparent;text-decoration:none;transition:all .2s;border-left:3px solid transparent}.nav-item:hover{background:var(--nav-icon-bg);color:var(--text-primary)}.nav-item.active{color:var(--nav-item-active-text);background:var(--nav-item-active-bg);border-left:3px solid var(--accent-blue)}.sidebar-compact .nav-item{padding:10px 16px;gap:12px}.login-container{min-height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background-color:var(--bg-primary);background-image:radial-gradient(at 0% 0%,rgba(58,134,255,.15) 0px,transparent 50%),radial-gradient(at 100% 0%,rgba(167,107,214,.15) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(58,134,255,.15) 0px,transparent 50%),radial-gradient(at 0% 100%,rgba(167,107,214,.15) 0px,transparent 50%);background-size:cover}.login-card{width:100%;max-width:420px;padding:36px 40px;border-radius:24px;display:flex;flex-direction:column;gap:24px;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:0 8px 32px #0003;opacity:0;transform:translateY(20px);animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) forwards}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sso-button{width:100%;padding:16px;display:flex;justify-content:center;align-items:center;gap:12px;font-size:var(--text-lg);border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);font-weight:500;position:relative;overflow:hidden}.sso-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.sso-button:active{transform:translateY(0)}.sso-button.google{background:#fff;color:#1f1f1f;border:1px solid #e5e7eb}.sso-button.microsoft{background:#2f2f2f;color:#fff;border:1px solid #2f2f2f}.sso-button.crew,.sso-button.email{background:transparent;color:var(--text-primary);border:1px solid var(--glass-border);text-decoration:none;box-sizing:border-box}[data-theme=dark] .sso-button.google{background:#fffffff2}.logo-container{text-align:center}.login-body{display:flex;flex-direction:column;gap:16px}.login-sso,.login-form{display:flex;flex-direction:column;gap:12px}.login-error{color:#ff4d4d;font-size:var(--text-md);text-align:center;padding:10px 12px;border-radius:10px;background:#ff4d4d14;border:1px solid rgba(255,77,77,.25)}.login-divider{display:flex;align-items:center;gap:12px;color:var(--text-secondary);font-size:var(--text-md)}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--glass-border)}.login-password{position:relative}.login-password .glass-input{width:100%;padding-right:64px;box-sizing:border-box}.login-password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;padding:8px 10px;cursor:pointer;font-size:var(--text-base);color:var(--text-secondary)}.login-password-toggle:hover{color:var(--text-primary)}.login-links{display:flex;flex-direction:column;gap:8px;text-align:center;font-size:var(--text-base);color:var(--text-secondary)}.login-links a{color:var(--accent-blue)}.login-terms{margin:0;text-align:center;font-size:var(--text-sm);line-height:1.5;color:var(--text-muted)}.login-terms a{color:inherit;text-decoration:underline}.logo-image{height:120px;margin-bottom:24px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.1))}@media(max-width:768px){.btn-primary:not(.btn-sm):not(.btn-xs):not(.btn-icon),.btn-secondary:not(.btn-sm):not(.btn-xs):not(.btn-icon),.btn-danger:not(.btn-sm):not(.btn-xs):not(.btn-icon),.btn-danger-soft:not(.btn-sm):not(.btn-xs):not(.btn-icon),.btn-ghost:not(.btn-sm):not(.btn-xs):not(.btn-icon){min-height:44px;padding:.6rem 1rem;font-size:var(--text-md)}h1{font-size:var(--text-3xl)!important}h2{font-size:var(--text-2xl)!important}h3{font-size:var(--text-lg)!important}.login-card{max-width:100%;margin:16px;padding:24px;border-radius:16px}.logo-image{height:80px;margin-bottom:16px}.glass-input,.glass-select,.glass-textarea,.field-sm,.field-lg{font-size:16px;max-width:100%}.nav-item{padding:14px 16px;font-size:var(--text-lg)}::-webkit-scrollbar{width:4px}}.responsive-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:768px){.dashboard-widgets,.detail-grid{grid-template-columns:1fr!important}.page-header{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.form-grid{grid-template-columns:1fr!important}.responsive-table-wrap{margin:0 -12px;padding:0 12px}.main-content{max-width:100vw;overflow-x:hidden;padding:0!important}.glass-panel{border-radius:12px!important}}:root{--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.4, .5, 1);--dur-fast: .13s;--dur: .24s;--dur-slow: .38s}@keyframes luxRouteEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes luxFade{0%{opacity:.4}to{opacity:1}}.app-modal-card{animation:luxScaleIn var(--dur) var(--ease-out) both}.app-overlay-backdrop{animation:luxFade var(--dur) var(--ease-out) both}.app-drawer-card{animation:luxSlideInRight .32s var(--ease-out) both}.app-popover-card{animation:luxPopIn var(--dur-fast) var(--ease-out) both;transform-origin:top center}@keyframes luxPopIn{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.ms-option:focus-visible{outline:2px solid var(--accent-blue);outline-offset:-2px}.ms-trigger{text-align:left}.df-trigger{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.df-trigger:disabled{cursor:default;opacity:.5}.df-panel{z-index:var(--z-popover);padding:12px;background:var(--bg-secondary, #161616);border:1px solid var(--glass-border);border-radius:14px;box-shadow:0 18px 44px -12px #0000008c}.df-trigger:hover:not(:disabled){background:rgba(var(--accent-blue-rgb),.12);color:var(--accent-blue)}.df-trigger:focus-visible,.df-nav:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.df-nav{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.df-nav:hover{background:rgba(var(--accent-blue-rgb),.12);color:var(--accent-blue)}.df-day:hover:not(:disabled):not([aria-selected=true]){background:rgba(var(--accent-blue-rgb),.12)!important}.df-day:focus-visible{outline:2px solid var(--accent-blue);outline-offset:-2px}.tf-readout{display:flex;align-items:baseline;justify-content:center;gap:6px;padding:2px 0 10px;font-size:var(--text-2xl);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--text-primary)}.tf-readout-period{font-size:var(--text-base);color:var(--accent-blue)}.tf-readout-empty{font-size:var(--text-base);font-weight:500;color:var(--text-muted)}.tf-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:6px;border-radius:11px;background:var(--field-bg);border:1px solid var(--glass-border)}.tf-col{position:relative;display:flex;flex-direction:column;gap:2px;height:176px;overflow-y:auto;overscroll-behavior:contain}.tf-option{flex:0 0 auto;height:34px;padding:0;border:none;border-radius:9px;background:transparent;color:var(--text-primary);font-family:inherit;font-size:var(--text-base);font-variant-numeric:tabular-nums;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.tf-option:hover:not([aria-selected=true]){background:rgba(var(--accent-blue-rgb),.12)}.tf-option:active{transform:scale(.96)}.tf-option[aria-selected=true]{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));color:#fff;font-weight:600;box-shadow:0 6px 16px -8px rgba(var(--accent-blue-rgb),.9)}.tf-option:focus-visible{outline:2px solid var(--accent-blue);outline-offset:-2px}.tf-option[aria-selected=true]:focus-visible{outline-color:#fff}@keyframes luxSlideInRight{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}@keyframes luxScaleIn{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@keyframes luxShimmer{to{transform:translate(100%)}}@keyframes luxPulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes luxSweep{0%{transform:translate(-120%)}to{transform:translate(360%)}}.route-enter{animation:luxRouteEnter var(--dur) var(--ease-out) both}.route-fade{animation:luxFade var(--dur-fast) var(--ease-out) both}@keyframes luxRouteExit{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(10px)}}.route-exit{animation:luxRouteExit var(--dur-fast) var(--ease-out) both}.route-push{animation:routePush .3s cubic-bezier(.32,.72,0,1) both}.route-pop{animation:routePop .3s cubic-bezier(.32,.72,0,1) both}@keyframes routePush{0%{transform:translate3d(26%,0,0);opacity:.35}to{transform:translateZ(0);opacity:1}}@keyframes routePop{0%{transform:translate3d(-20%,0,0);opacity:.35}to{transform:translateZ(0);opacity:1}}.lux-spinner{--size: 38px;--thick: 3px;width:var(--size);height:var(--size);border-radius:50%;background:conic-gradient(from 90deg,rgba(58,134,255,0) 0deg,rgba(58,134,255,.35) 190deg,var(--accent-blue) 330deg,var(--accent-purple) 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--thick)),#000 calc(100% - var(--thick)));mask:radial-gradient(farthest-side,transparent calc(100% - var(--thick)),#000 calc(100% - var(--thick)));animation:spin .8s linear infinite}.lux-spinner--sm{--size: 20px;--thick: 2px}.lux-spinner--lg{--size: 58px;--thick: 4px}.lux-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:44px;color:var(--text-muted)}.lux-loader__label{font-size:var(--text-sm);letter-spacing:.14em;text-transform:uppercase;animation:luxPulse 1.8s var(--ease-out) infinite}.lux-page-loader{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;background:radial-gradient(at 50% 40%,rgba(58,134,255,.1) 0px,transparent 55%),var(--bg-primary)}.lux-page-loader img{height:78px;width:auto;opacity:0;animation:luxRouteEnter .7s var(--ease-out) .05s forwards;filter:drop-shadow(0 8px 22px rgba(0,0,0,.35))}.lux-page-loader__track{position:relative;width:150px;height:2px;border-radius:2px;overflow:hidden;background:#ffffff14;opacity:0;animation:luxRouteEnter .7s var(--ease-out) .2s forwards}.lux-page-loader__track:after{content:"";position:absolute;inset:0;width:40%;border-radius:inherit;background:linear-gradient(90deg,transparent,var(--accent-blue),var(--accent-purple),transparent);animation:luxSweep 1.4s var(--ease-out) infinite}.lux-skeleton{position:relative;overflow:hidden;border-radius:8px;background:#ffffff0d}.lux-skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.09) 50%,transparent);animation:luxShimmer 1.5s var(--ease-out) infinite}[data-theme=light] .lux-skeleton{background:#0000000d}[data-theme=light] .lux-skeleton:after{background:linear-gradient(90deg,transparent,rgba(0,0,0,.06) 50%,transparent)}.lux-skeleton--line{height:12px;margin-bottom:10px}.lux-skeleton--title{height:20px;width:45%;margin-bottom:16px}.lux-skeleton--block{height:120px;border-radius:14px}.lux-skeleton--avatar{width:44px;height:44px;border-radius:50%}.lux-skeleton-card{padding:20px;border-radius:16px;border:1px solid var(--glass-border);background:var(--bg-card)}.nav-item{transition:background var(--dur) var(--ease-out),color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.lux-lift{transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.lux-lift:hover{transform:translateY(-3px);box-shadow:0 16px 40px -12px #00000080}.lux-stagger>*{animation:luxRouteEnter var(--dur) var(--ease-out) both}.lux-stagger>*:nth-child(1){animation-delay:.02s}.lux-stagger>*:nth-child(2){animation-delay:.06s}.lux-stagger>*:nth-child(3){animation-delay:.1s}.lux-stagger>*:nth-child(4){animation-delay:.14s}.lux-stagger>*:nth-child(5){animation-delay:.18s}.lux-stagger>*:nth-child(6){animation-delay:.22s}.lux-stagger>*:nth-child(7){animation-delay:.26s}.lux-stagger>*:nth-child(8){animation-delay:.3s}:focus-visible{outline:2px solid rgba(58,134,255,.6);outline-offset:2px}.lux-tabs-row{position:relative;display:flex;gap:24px;align-items:flex-end;box-shadow:inset 0 -1px 0 var(--glass-border);margin-bottom:24px;padding-bottom:2px;overflow-x:auto}.lux-tab{display:flex;align-items:center;gap:8px;padding:0 0 12px;background:transparent;border:none;font-family:inherit;font-size:var(--text-lg);font-weight:500;line-height:1.3;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:color .2s var(--ease-out)}.lux-tab:hover{color:var(--text-primary)}.lux-tab--active,.lux-tab--active:hover{color:var(--accent-blue)}.lux-tab-badge{font-size:var(--text-2xs);font-weight:600;line-height:1;padding:3px 7px;min-width:18px;text-align:center;border-radius:999px;background:var(--glass-border);color:var(--text-secondary);transition:background .2s var(--ease-out),color .2s var(--ease-out)}.lux-tab--active .lux-tab-badge{background:var(--accent-blue);color:#fff}.lux-tabs-underline{position:absolute;bottom:0;height:2px;background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple));border-radius:2px;transition:left var(--dur) var(--ease-spring),width var(--dur) var(--ease-spring);pointer-events:none}@media(prefers-reduced-motion:reduce){.route-enter,.route-exit,.route-fade,.route-push,.route-pop,.lux-spinner,.lux-skeleton:after,.lux-page-loader img,.lux-page-loader__track,.lux-page-loader__track:after,.lux-loader__label,.lux-stagger>*,.app-modal-card,.app-drawer-card,.app-overlay-backdrop,.app-popover-card{animation:none!important}.lux-page-loader img,.lux-page-loader__track{opacity:1}.nav-item:hover,.lux-lift:hover,.btn-primary:hover,.btn-danger:hover,.btn-primary:active,.btn-secondary:active,.btn-danger:active,.btn-danger-soft:active,.btn-ghost:active{transform:none}.lux-tabs-underline{transition:none}}@media(max-width:768px){table.rtable,table.rtable tbody,table.rtable tr,table.rtable td{display:block;width:100%}table.rtable thead{display:none}table.rtable tr{margin-bottom:14px;border:1px solid var(--glass-border)!important;border-radius:14px;background:var(--bg-card);padding:6px;overflow:hidden}table.rtable tr:last-child{margin-bottom:0}table.rtable td{padding:10px 14px!important;border:none!important;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:right;min-height:0!important}table.rtable td:before{content:attr(data-label);font-weight:600;color:var(--text-secondary);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;text-align:left;flex-shrink:0}table.rtable td:not([data-label]):before{content:none}table.rtable td.rtable-primary{justify-content:flex-start;text-align:left;padding:12px 14px!important;border-bottom:1px solid var(--glass-border)!important;margin-bottom:4px}table.rtable td.rtable-primary:before{content:none}table.rtable td.rtable-actions{justify-content:flex-end}table.rtable td.rtable-actions:before{content:none}table.rtable td.rtable-hide-mobile,table.rtable th.rtable-hide-mobile{display:none!important}}@media(max-width:768px){.stat-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.stat-grid-2>*{min-width:0}.stats-card{flex-direction:column!important;align-items:flex-start!important;gap:8px!important;padding:14px!important}.stats-card .stats-card__icon{width:36px!important;height:36px!important}.stats-card h3{white-space:normal!important;font-size:var(--text-xs)!important;line-height:1.2}.stats-card p{font-size:var(--text-3xl)!important}}.budget-builder-grid{grid-template-columns:minmax(0,1fr) 380px}@media(max-width:900px){.budget-builder-grid{grid-template-columns:1fr!important}}@media(max-width:768px){.mobile-wrap{flex-wrap:wrap!important}.mobile-wrap>*{min-width:0}}@media(max-width:768px){.settings-log-head{display:none!important}.settings-log-row{grid-template-columns:1fr!important;gap:4px!important;padding:14px 16px!important;align-items:flex-start!important}}select,.glass-select{appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239aa0aa' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:16px 16px!important;padding-right:38px!important;cursor:pointer}select.select-bare{background-image:none!important;padding-right:10px!important}.ts-day+.ts-day{border-top:1px solid var(--glass-border)}.ts-day-head{display:flex;align-items:center;gap:10px;padding:9px 16px;background:#7f7f7f0f}.ts-day-head .ts-day-name{font-weight:600;font-size:var(--text-md)}.ts-day-head .ts-day-total{margin-left:auto;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-md);color:var(--text-secondary)}.ts-day-today .ts-day-name{color:var(--accent-blue)}.ts-day-empty .ts-day-head{background:transparent}.ts-row{display:flex;align-items:center;gap:6px;padding:5px 16px 5px 12px;flex-wrap:wrap}.ts-row:hover{background:#7f7f7f0d}.ts-row-draft{background:rgba(var(--accent-blue-rgb),.06);box-shadow:inset 2px 0 0 var(--accent-blue)}.ts-field{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:var(--text-md);line-height:1.3;padding:6px 8px;outline:none;min-width:0;transition:background var(--dur, .15s) var(--ease-out, ease),border-color var(--dur, .15s) var(--ease-out, ease),box-shadow var(--dur, .15s) var(--ease-out, ease)}.ts-row:hover .ts-field:not(:disabled){border-color:var(--field-border)}.ts-field:hover:not(:disabled){background:var(--field-bg)}.ts-field:focus{background:var(--field-bg-focus);border-color:var(--accent-blue);box-shadow:0 0 0 3px rgba(var(--accent-blue-rgb),.18)}.ts-field:disabled{background:transparent;border-color:transparent;color:var(--text-secondary);cursor:default}.ts-field::placeholder{color:var(--field-placeholder);opacity:1}.ts-time .df-trigger{right:2px;opacity:0}.ts-row:hover .ts-time .df-trigger:not(:disabled),.ts-time:focus-within .df-trigger:not(:disabled),.ts-time .df-trigger[aria-expanded=true]{opacity:1}.ts-time .df-trigger:disabled{opacity:0}.ts-time{width:122px;flex:0 0 auto}.ts-desc{flex:1 1 200px}.ts-arrow{color:var(--text-muted);flex:0 0 auto}.ts-dur{flex:0 0 auto;width:74px;text-align:right;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-md);font-weight:600;color:var(--text-secondary)}.ts-dur-bad{color:#ff4757;font-weight:500;font-size:var(--text-xs)}.ts-tags{display:flex;gap:4px;flex:0 0 auto}.ts-tag{padding:2px 7px;border-radius:5px;font-size:var(--text-xs);white-space:nowrap}.ts-row-actions{display:flex;gap:2px;flex:0 0 auto;margin-left:auto;align-items:center}.ts-saved{color:#10b981;display:inline-flex;width:26px;justify-content:center}.ts-spin{color:var(--text-muted);display:inline-flex;width:26px;justify-content:center;animation:ts-spin .9s linear infinite}@keyframes ts-spin{to{transform:rotate(360deg)}}.ts-footer{display:flex;align-items:center;gap:12px;padding:14px 18px;border-top:1px solid var(--glass-border);background:var(--bg-card);flex-wrap:wrap}@media(max-width:768px){.ts-row{padding:8px 12px;row-gap:4px}.ts-desc{flex:1 1 100%;order:5}.ts-tags{order:6}.ts-row-actions{order:4}.ts-time{width:136px}}@media(prefers-reduced-motion:reduce){.ts-spin{animation:none}}.task-row{display:flex;align-items:center;gap:10px}.task-row-main{flex:1;min-width:0;cursor:pointer}.task-row-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}@media(max-width:768px){.task-row{flex-wrap:wrap;align-items:flex-start}.task-row-meta{flex:1 1 100%;flex-wrap:wrap;padding-left:40px;justify-content:flex-start}.task-row-assignee{min-width:0!important;text-align:left!important}.task-row-actions{opacity:1!important;margin-left:auto}}:root{--bento-radius: 22px;--bento-card-bg: linear-gradient(158deg, rgba(255, 255, 255, .055) 0%, rgba(255, 255, 255, .012) 58%), rgba(22, 22, 22, .72);--bento-card-border: rgba(255, 255, 255, .09);--bento-card-shadow: 0 18px 44px -30px rgba(0, 0, 0, .95);--bento-gap: 20px}[data-theme=light]{--bento-card-bg: linear-gradient(158deg, #ffffff 0%, #fcfcfd 100%);--bento-card-border: rgba(15, 23, 42, .07);--bento-card-shadow: 0 12px 30px -20px rgba(15, 23, 42, .35)}.dash-page{display:flex;flex-direction:column;gap:var(--bento-gap)}.dash-hero{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:24px 28px;border-radius:24px;border:1px solid var(--bento-card-border);background:linear-gradient(120deg,rgba(var(--accent-blue-rgb),.1),#a76bd61a),var(--bento-card-bg);box-shadow:var(--bento-card-shadow)}.dash-hero__orb{position:absolute;top:50%;right:-70px;width:280px;height:280px;transform:translateY(-50%);border-radius:50%;background:conic-gradient(from 210deg,var(--accent-blue),var(--accent-purple),#6ea8ff,var(--accent-blue));filter:blur(52px);opacity:.5;pointer-events:none;animation:dashOrbDrift 18s ease-in-out infinite}[data-theme=light] .dash-hero__orb{opacity:.32}@keyframes dashOrbDrift{0%,to{transform:translateY(-50%) scale(1) rotate(0)}50%{transform:translateY(-58%) scale(1.14) rotate(28deg)}}.dash-hero__intro,.dash-hero__actions{position:relative;z-index:1;min-width:0}.dash-hero__title{margin:0;font-size:var(--text-4xl);line-height:1.1;letter-spacing:-.02em}.dash-hero__greeting{margin:6px 0 0;color:var(--text-secondary);font-size:var(--text-md)}.dash-hero__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dash-pill,.dash-hero__date{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--bento-card-border);background:var(--panel-inset-bg);color:var(--text-primary);font-family:inherit;font-size:var(--text-md);font-weight:500;line-height:1;white-space:nowrap}.dash-hero__date{color:var(--text-secondary);font-size:var(--text-sm);font-weight:400}.dash-pill{cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),background var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.dash-pill:hover{background:var(--hover-tint-strong);transform:translateY(-1px)}.dash-pill:active{transform:scale(.97)}.dash-pill--primary{background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-purple) 100%);border-color:transparent;color:#fff}.dash-pill--primary:hover{background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-purple) 100%);box-shadow:0 8px 20px -6px rgba(var(--accent-blue-rgb),.55)}.dash-pill--icon{width:38px;padding:0;justify-content:center;color:var(--text-secondary)}.dash-pill--icon:hover{color:var(--text-primary)}.bento-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(40px,auto);grid-auto-flow:dense;align-items:start;gap:var(--bento-gap)}.bento-item{position:relative;display:flex;min-width:0}.bento-item>*{flex:1;min-width:0}.bento-item--sm{grid-column:span 4}.bento-item--md{grid-column:span 6}.bento-item--lg{grid-column:span 8}.bento-item--full{grid-column:span 12}@media(max-width:1280px){.bento-item--sm{grid-column:span 6}.bento-item--lg{grid-column:span 12}}@media(max-width:1024px){.bento-item--sm,.bento-item--md,.bento-item--lg{grid-column:span 12}}.bento-grid .glass-panel{border-radius:var(--bento-radius);background:var(--bento-card-bg);border:1px solid var(--bento-card-border);box-shadow:var(--bento-card-shadow)}.bento-item>.glass-panel{height:100%;transition:border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.bento-item>.glass-panel:hover{border-color:rgba(var(--accent-blue-rgb),.3);box-shadow:0 22px 48px -30px rgba(var(--accent-blue-rgb),.55),var(--bento-card-shadow)}.bento-grid .glass-panel.panel-sm{border-radius:18px}.bento-grid .glass-panel.panel-xs{border-radius:14px}.bento-grid .panel-inset{border-radius:16px}.bento-grid h3{letter-spacing:-.01em}.bento-grid h3>svg:first-child{box-sizing:content-box;padding:8px;border-radius:12px;background:var(--nav-icon-bg);border:1px solid var(--bento-card-border);overflow:visible}@media(max-width:768px){.dash-hero{padding:20px;border-radius:20px}.dash-hero__orb{opacity:.35;right:-110px}.dash-hero__actions{width:100%}.bento-grid .glass-panel{border-radius:18px!important}}@media(prefers-reduced-motion:reduce){.dash-hero__orb{animation:none}.dash-pill:hover{transform:none}}.profile-page{display:flex;flex-direction:column;gap:var(--bento-gap)}.profile-hero__identity{display:flex;align-items:center;gap:22px;min-width:0}.profile-avatar{flex-shrink:0;width:92px;height:92px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));color:#fff;font-size:var(--text-4xl);font-weight:600;box-shadow:0 0 0 4px #ffffff14,0 14px 34px -10px rgba(var(--accent-blue-rgb),.55)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.profile-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;border:1px solid var(--bento-card-border);background:var(--panel-inset-bg);color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;line-height:1.4}.profile-badge--accent{color:var(--accent-purple);border-color:#a76bd659;background:#a76bd61a}.profile-hero__facts{flex-direction:column;align-items:flex-start}.profile-fact{max-width:100%;min-width:0;cursor:default;font-size:var(--text-md)}.profile-fact>span{overflow:hidden;text-overflow:ellipsis}.profile-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--bento-gap);align-items:start}.profile-col{display:flex;flex-direction:column;gap:var(--bento-gap);min-width:0}.profile-section-head{display:flex;align-items:center;gap:12px;margin-bottom:24px}.profile-count{margin-left:auto;padding:2px 10px;border-radius:999px;background:var(--panel-inset-bg);border:1px solid var(--glass-border);color:var(--text-secondary);font-size:var(--text-sm)}.profile-asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.profile-asset-link{display:block;text-decoration:none;color:inherit}.profile-password-form{display:flex;flex-wrap:wrap;gap:12px}.profile-password-form .glass-input{flex:1 1 180px;min-width:0}@media(max-width:1024px){.profile-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:768px){.profile-hero__identity{gap:16px}.profile-avatar{width:68px;height:68px;font-size:var(--text-3xl)}.profile-page .glass-panel{border-radius:18px!important;padding:20px}}:root{--donut-track: rgba(255, 255, 255, .07)}[data-theme=light]{--donut-track: rgba(15, 23, 42, .07)}.donut{position:relative;flex-shrink:0}.donut__track{stroke:var(--donut-track)}.donut__segment{transition:stroke-dasharray var(--dur-slow) var(--ease-out),stroke-dashoffset var(--dur-slow) var(--ease-out)}.donut__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;pointer-events:none}.donut__value{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;line-height:1}.donut__label{font-size:var(--text-2xs);color:var(--text-muted)}@media(prefers-reduced-motion:reduce){.donut__segment{transition:none}}.chart{display:flex;flex-direction:column;gap:10px}.chart__plot{display:flex;align-items:flex-end;gap:6px}.chart__col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 2px;border:1px solid transparent;border-radius:12px;background:transparent;font:inherit;color:inherit;text-align:center;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.chart__bars{height:var(--chart-h, 120px);width:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px}.chart__bar{flex:1;max-width:18px;min-height:2px;border-radius:6px 6px 3px 3px;transition:height var(--dur-slow) var(--ease-out)}.chart__label{font-size:var(--text-3xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;line-height:1}.chart__sublabel{font-size:var(--text-md);font-weight:600;line-height:1}.chart__col--pickable{cursor:pointer}.chart__col--pickable:hover{background:var(--hover-tint)}.chart__col--now .chart__sublabel{color:var(--accent-blue);font-weight:700}.chart__col--selected,.chart__col--selected:hover{background:rgba(var(--accent-blue-rgb),.1);border-color:rgba(var(--accent-blue-rgb),.32)}.chart__col:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.chart__empty{font-size:var(--text-sm);color:var(--text-muted);text-align:center}.chart__legend{display:flex;flex-wrap:wrap;gap:14px;font-size:var(--text-2xs);color:var(--text-muted)}.chart__legend-item{display:inline-flex;align-items:center}.chart__swatch{width:8px;height:8px;border-radius:3px;margin-right:6px}.week-event,.interaction-row{text-decoration:none;color:inherit;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.week-event{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--panel-inset-bg);font-size:var(--text-sm)}.week-event:hover,.interaction-row:hover{background:var(--hover-tint);border-color:rgba(var(--accent-blue-rgb),.3)}.week-event:hover{transform:translate(2px)}@media(prefers-reduced-motion:reduce){.chart__bar{transition:none}.week-event:hover{transform:none}}.bento-edit-hint{display:flex;flex-wrap:wrap;gap:4px;padding:12px 16px;border-radius:14px;border:1px dashed rgba(var(--accent-blue-rgb),.35);background:rgba(var(--accent-blue-rgb),.07);color:var(--text-secondary);font-size:var(--text-md)}.bento-hint-badge{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:var(--bg-secondary);box-shadow:0 0 0 1px var(--bento-card-border);font-weight:700;line-height:1;vertical-align:-3px}.bento-link{padding:0;border:none;background:none;color:var(--accent-blue);font:inherit;cursor:pointer;text-decoration:underline}.bento-grid--editing{row-gap:36px;margin-top:14px}.bento-item--editing{outline:1px dashed rgba(var(--accent-blue-rgb),.45);outline-offset:3px;border-radius:var(--bento-radius);cursor:grab;touch-action:none}.bento-item--editing:focus-visible{outline:2px solid var(--accent-blue);outline-offset:3px}@keyframes bento-wobble{0%{transform:rotate(-.45deg) translateY(0)}50%{transform:rotate(.45deg) translateY(-.5px)}to{transform:rotate(-.45deg) translateY(0)}}.bento-item--editing>*:first-child{animation:bento-wobble .34s ease-in-out infinite;transform-origin:50% 50%}.bento-item--editing:nth-child(2n)>*:first-child{animation-delay:-.11s}.bento-item--editing:nth-child(3n)>*:first-child{animation-delay:-.22s}.bento-item--editing:nth-child(5n)>*:first-child{animation-delay:-.06s}.bento-item--resizing>*:first-child,.bento-item--dragging>*:first-child{animation:none}@media(prefers-reduced-motion:reduce){.bento-item--editing>*:first-child{animation:none}}.bento-item--editing>*:not(.bento-remove):not(.bento-resize):not(.bento-size-badge){pointer-events:none;-webkit-user-select:none;user-select:none}.bento-remove{position:absolute;top:-9px;left:-9px;z-index:3;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:50%;background:var(--bg-secondary);color:var(--text-primary);box-shadow:0 2px 8px -2px #00000080,0 0 0 1px var(--bento-card-border);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.bento-remove:hover{background:var(--accent-red);color:#fff;transform:scale(1.08)}.bento-remove:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.bento-resize{position:absolute;right:-8px;bottom:-8px;z-index:2;width:18px;height:18px;padding:0;border:none;border-radius:999px;background:var(--accent-blue);box-shadow:0 0 0 2px var(--bg-primary);cursor:nwse-resize;touch-action:none;transition:width var(--dur-fast) var(--ease-out),height var(--dur-fast) var(--ease-out),right var(--dur-fast) var(--ease-out),bottom var(--dur-fast) var(--ease-out)}.bento-resize:hover,.bento-item--resizing .bento-resize{width:24px;height:24px;right:-11px;bottom:-11px}.bento-resize:focus-visible{outline:2px solid var(--accent-blue);outline-offset:3px}.bento-item--fixed>*:first-child{height:100%;min-height:0;overflow:hidden}.widget-card{display:flex;flex-direction:column;min-height:0}.widget-head{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.widget-head h3{font-size:var(--text-xl);margin:0;display:flex;align-items:center;gap:8px;min-width:0}.widget-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.widget-card--tight .widget-head{margin-bottom:12px}.widget-note{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;padding:12px;color:var(--text-muted);font-size:var(--text-md)}.fitlist{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.fitlist__rows{display:grid;align-content:start;min-height:0}.fitlist__more{flex:0 0 auto;margin-top:8px;font-size:var(--text-xs);font-weight:600;color:var(--accent-blue);text-decoration:none;text-align:center}.fitlist__more:hover{text-decoration:underline}.fitlist__more--plain{color:var(--text-muted);font-weight:500}.feedback-row{border-radius:8px;border:1px solid var(--glass-border);background:#ffffff05}.feedback-row:hover{background:var(--hover-tint)}.feedback-detail{gap:0}.bento-item--resizing{outline-color:var(--accent-blue)}.bento-size-badge{position:absolute;top:50%;right:-12px;z-index:3;transform:translate(100%,-50%);padding:5px 10px;border-radius:999px;background:var(--accent-blue);color:#fff;font-size:var(--text-2xs);font-weight:600;white-space:nowrap;pointer-events:none}@media(max-width:1024px){.bento-resize{width:26px;height:26px;right:-12px;bottom:-12px;cursor:ns-resize}.bento-remove{width:30px;height:30px;top:-12px;left:-12px}.bento-size-badge{right:50%;bottom:-14px;top:auto;transform:translate(50%,100%)}}.bento-item--dragging{outline:2px dashed var(--accent-blue);outline-offset:-2px;background:#3a86ff14}.bento-item--dragging>*{visibility:hidden}.is-reordering,.is-reordering *{cursor:grabbing!important}@media(prefers-reduced-motion:reduce){.bento-item--dragging>*:first-child{transform:none}}html.native{-webkit-tap-highlight-color:transparent}html.native body{overscroll-behavior:none}html.native button,html.native .btn,html.native [class^=btn-],html.native [class*=" btn-"],html.native nav,html.native .sidebar,html.native .tab-bar,html.native .nav-link,html.native label,html.native .stat-label,html.native th{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html.native button,html.native a,html.native [role=button],html.native input[type=checkbox],html.native input[type=radio],html.native select{touch-action:manipulation}html.native button,html.native [role=button],html.native .nav-link{min-height:44px}html.native .btn-icon,html.native .btn-xs{min-width:44px;min-height:44px}@media(hover:none){html.native button:hover,html.native .btn:hover,html.native .nav-link:hover{background:inherit;transform:none}html.native button:active,html.native .btn:active,html.native [role=button]:active{opacity:.72;transition:opacity 60ms ease}}@keyframes tabsheet-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes tabsheet-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){@keyframes tabsheet-rise{0%{transform:none}to{transform:none}}}@keyframes sheet-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){@keyframes sheet-rise{0%{transform:none}to{transform:none}}}:root{--lg-filter: blur(28px) saturate(185%) brightness(1.18);--lg-tint: rgba(24, 24, 27, .52);--lg-tint-thick: rgba(24, 24, 27, .9);--lg-tint-popover: rgba(24, 24, 27, .96);--lg-rim-top: rgba(255, 255, 255, .36);--lg-rim-edge: rgba(255, 255, 255, .13);--lg-rim-bottom: rgba(255, 255, 255, .05);--lg-sheen: rgba(255, 255, 255, .08);--lg-shadow: 0 10px 34px rgba(0, 0, 0, .46), 0 1px 3px rgba(0, 0, 0, .28);--lg-fill: rgba(var(--accent-blue-rgb), .2);--lg-fill-neutral: rgba(255, 255, 255, .1);--lg-r-sheet: 34px;--lg-r-card: 22px;--lg-r-inner: 16px;--lg-ease: cubic-bezier(.32, .72, 0, 1);--shell-header-h: calc(48px + var(--safe-top));--shell-gutter: 12px;--tabbar-h: 58px;--tabbar-h-compact: 44px;--tabbar-gap: 8px}[data-theme=light]{--lg-filter: blur(28px) saturate(180%) brightness(1.06);--lg-tint: rgba(255, 255, 255, .6);--lg-tint-thick: rgba(255, 255, 255, .93);--lg-tint-popover: rgba(255, 255, 255, .97);--lg-rim-top: rgba(255, 255, 255, .95);--lg-rim-edge: rgba(0, 0, 0, .07);--lg-rim-bottom: rgba(0, 0, 0, .04);--lg-sheen: rgba(255, 255, 255, .45);--lg-shadow: 0 10px 30px rgba(0, 0, 0, .13), 0 1px 2px rgba(0, 0, 0, .07);--lg-fill: rgba(var(--accent-blue-rgb), .13);--lg-fill-neutral: rgba(0, 0, 0, .055)}.lg{background:linear-gradient(to bottom,var(--lg-sheen),transparent 62%),var(--lg-tint);backdrop-filter:var(--lg-filter);-webkit-backdrop-filter:var(--lg-filter);box-shadow:var(--lg-shadow)}.lg-thick{background:linear-gradient(to bottom,var(--lg-sheen),transparent 48%),var(--lg-tint-thick)}.lg-flush{box-shadow:none}.lg-ring{position:relative}.lg-ring:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(155deg,var(--lg-rim-top) 0%,var(--lg-rim-edge) 30%,transparent 56%,var(--lg-rim-bottom) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none}.lg-edge-top,.lg-edge-bottom{position:relative}.lg-edge-top:after,.lg-edge-bottom:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--lg-rim-edge) 14%,var(--lg-rim-top) 50%,var(--lg-rim-edge) 86%,transparent);pointer-events:none}.lg-edge-top:after{top:0}.lg-edge-bottom:after{bottom:0}@media(prefers-reduced-transparency:reduce){.lg,.lg-thick{background:var(--bg-secondary);backdrop-filter:none;-webkit-backdrop-filter:none}.app-shell-scroll-edge{display:none}}@media(prefers-contrast:more){.lg,.lg-thick{background:var(--bg-secondary);backdrop-filter:none;-webkit-backdrop-filter:none;outline:1px solid var(--text-secondary);outline-offset:-1px}.lg-ring:before,.lg-edge-top:after,.lg-edge-bottom:after{display:none}}.app-shell-stage{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.app-shell-header{position:absolute;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:12px;padding-top:calc(8px + var(--safe-top));padding-bottom:8px;padding-left:max(var(--shell-gutter),var(--safe-left));padding-right:max(var(--shell-gutter),var(--safe-right));min-height:var(--shell-header-h)}.app-shell-scroll-edge{position:absolute;left:0;right:0;top:var(--shell-header-h);height:22px;z-index:49;pointer-events:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);-webkit-mask-image:linear-gradient(to bottom,#000,transparent);mask-image:linear-gradient(to bottom,#000,transparent)}.app-shell-fade-bottom{position:absolute;left:0;right:0;bottom:0;height:calc(var(--safe-bottom) + var(--tabbar-gap) + 24px);z-index:40;pointer-events:none;background:linear-gradient(to top,var(--bg-primary) 64%,transparent)}.tab-bar{position:absolute;left:max(var(--shell-gutter),var(--safe-left));right:max(var(--shell-gutter),var(--safe-right));bottom:calc(var(--safe-bottom) + var(--tabbar-gap));z-index:60;display:flex;align-items:stretch;height:var(--tabbar-h);border-radius:999px;overflow:hidden;transition:height .34s var(--lg-ease)}.tab-bar[data-compact=true]{height:var(--tabbar-h-compact)}.tab-pill{position:absolute;top:var(--tab-pill-inset);bottom:var(--tab-pill-inset);left:0;transition:transform .44s var(--lg-ease),width .44s var(--lg-ease),opacity .2s ease;pointer-events:none}.tab-pill:before{content:"";position:absolute;inset:0 var(--tab-pill-inset);border-radius:999px;background:var(--lg-fill);box-shadow:inset 0 1px 0 var(--lg-rim-top)}.tab-bar{--tab-pill-inset: 5px}.tab-bar[data-compact=true]{--tab-pill-inset: 4px}.tab-bar>.tab-btn{position:relative;z-index:1}.tab-btn .tab-icon{display:flex;transition:transform .24s var(--lg-ease)}.tab-btn:active .tab-icon{transform:scale(.86)}.tab-btn .tab-label{overflow:hidden;max-height:15px;opacity:1;transition:opacity .18s ease,max-height .28s var(--lg-ease)}.tab-bar[data-compact=true] .tab-btn .tab-label{max-height:0;opacity:0}@media(prefers-reduced-motion:reduce){.tab-bar,.tab-pill,.tab-btn .tab-icon,.tab-btn .tab-label{transition:none}}.lg-sheet{border-radius:var(--lg-r-sheet) var(--lg-r-sheet) 0 0}.lg-grabber{width:40px;height:5px;border-radius:999px;background:var(--text-secondary);opacity:.45}.lg-row{display:flex;align-items:center;gap:14px;width:100%;padding:13px 14px;border:none;border-radius:var(--lg-r-inner);background:transparent;font-size:var(--text-lg);font-weight:500;text-align:left;color:var(--text-primary);cursor:pointer;transition:background .16s ease,transform .16s var(--lg-ease)}.lg-row[data-active=true]{background:var(--lg-fill);color:var(--accent-primary);font-weight:600}.lg-row[data-muted=true]{color:var(--text-secondary)}.lg-row:active{background:var(--lg-fill-neutral);transform:scale(.985)}html.native .glass-panel{border-radius:var(--lg-r-card)!important}html.native .panel-inset{border-radius:var(--lg-r-inner)!important}.app-overlay-backdrop.lg-backdrop{background:#00000070;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%)}html.native .main-content{padding:0!important}@media(min-width:769px){:root{--shell-gutter: 22px}.tab-bar{left:max(24px,var(--safe-left));right:max(24px,var(--safe-right));width:min(620px,calc(100% - 48px));margin-inline:auto}.lg-sheet{border-radius:var(--lg-r-sheet)}}.crew-chrome{position:sticky;top:0;z-index:var(--z-sticky)}.crew-header{position:relative;display:flex;align-items:center;gap:12px;padding-top:calc(10px + var(--safe-top));padding-bottom:10px;padding-left:max(var(--shell-gutter),var(--safe-left));padding-right:max(var(--shell-gutter),var(--safe-right))}.crew-scroll-edge{position:absolute;top:100%;left:0;right:0;height:22px;pointer-events:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);-webkit-mask-image:linear-gradient(to bottom,#000,transparent);mask-image:linear-gradient(to bottom,#000,transparent)}.crew-menu{background:linear-gradient(to bottom,var(--lg-sheen),transparent 40%),var(--lg-tint-popover);border-radius:var(--lg-r-card);overflow:hidden;padding:6px}.crew-menu .lg-row{font-size:var(--text-md);padding:11px 12px}@media(prefers-reduced-transparency:reduce){.crew-scroll-edge{display:none}}.tile-row{display:flex;align-items:center;border-radius:10px;border:1px solid var(--glass-border)}[data-drag-lifted]{box-shadow:0 14px 32px #00000047,0 0 0 1.5px var(--accent-blue)!important;cursor:grabbing;opacity:1!important}.drag-slot{position:absolute;z-index:1;box-sizing:border-box;border:2px dashed var(--accent-blue);border-radius:10px;background:#3a86ff14;pointer-events:none}.demo-banner{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:var(--z-scrim, 900);display:flex;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:8px 8px 8px 16px;border-radius:999px;font-size:var(--text-base, .85rem);color:var(--text-primary);background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:0 12px 32px #00000059;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:demo-banner-in .6s cubic-bezier(.22,1,.36,1) .4s both}.demo-banner-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--accent-green, #38b000);box-shadow:0 0 #38b00099;animation:demo-banner-pulse 2s ease-out infinite}.demo-banner-text{white-space:nowrap}.demo-banner-text strong{font-weight:650}.demo-banner-long{color:var(--text-secondary)}.demo-banner-link{color:var(--accent-blue);font-weight:600;text-decoration:none;white-space:nowrap}.demo-banner-link:hover{text-decoration:underline}.demo-banner-exit{font:inherit;font-weight:600;cursor:pointer;white-space:nowrap;color:#fff;border:0;border-radius:999px;padding:7px 16px;background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-purple) 100%);transition:transform .2s,box-shadow .2s}.demo-banner-exit:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--accent-blue-rgb),.3)}@keyframes demo-banner-in{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}@keyframes demo-banner-pulse{to{box-shadow:0 0 0 9px #38b00000}}@media(max-width:560px){.demo-banner-long{display:none}.demo-banner{gap:10px;padding-left:14px}}@media(prefers-reduced-motion:reduce){.demo-banner,.demo-banner-dot{animation:none}}.app-container{display:flex;min-height:100vh}.main-content{flex:1;padding:var(--spacing-lg);overflow-y:auto}:where(.app-select){display:inline-block;padding:11px 13px;background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:var(--text-lg);font-weight:inherit;line-height:1.35;outline:none;box-sizing:border-box;transition:background var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.app-select{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;vertical-align:middle;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239aa0aa' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:16px 16px!important;padding-right:38px!important}.app-select.select-bare{background-image:none!important;padding-right:10px!important}:where(.app-select[data-empty]){color:var(--field-placeholder)}:where(.app-select):focus-visible,:where(.app-select)[data-open]{background-color:var(--field-bg-focus);border-color:var(--accent-blue);box-shadow:0 0 0 3px rgba(var(--accent-blue-rgb),.18)}:where(.app-select):disabled{background-color:var(--field-disabled-bg);color:var(--field-disabled-text);border-color:var(--field-border);box-shadow:none}.app-select:disabled{cursor:not-allowed}.app-select-proxy{position:absolute;width:1px;height:1px;margin:0 0 0 -24px;padding:0!important;border:0!important;opacity:0;pointer-events:none}.app-select-panel{position:fixed;z-index:var(--z-popover);display:flex;flex-direction:column;width:max-content;padding:6px;background:var(--bg-secondary, #161616);border:1px solid var(--glass-border);border-radius:12px;box-shadow:0 18px 44px -12px #0000008c;color:var(--text-primary);font-size:var(--text-base);outline:none}.app-select-panel[data-flip]{transform-origin:bottom center}[data-theme=light] .app-select-panel{box-shadow:0 18px 44px -14px #00000038}.app-select-search{display:flex;align-items:center;gap:8px;margin-bottom:6px;padding:0 10px;border:1px solid var(--field-border, var(--glass-border));border-radius:8px;background:var(--field-bg);color:var(--text-muted);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.app-select-search:focus-within{border-color:var(--accent-blue);box-shadow:0 0 0 3px rgba(var(--accent-blue-rgb),.16)}.app-select-search input{flex:1;min-width:0;padding:8px 0;border:0;outline:none;background:none;color:var(--text-primary);font:inherit}.app-select-search input::placeholder{color:var(--field-placeholder);opacity:1}.app-select-search[data-hidden]{position:absolute;width:1px;height:1px;margin:0;padding:0;border:0;overflow:hidden;opacity:0}.app-select-list{overflow-y:auto;overscroll-behavior:contain}.app-select-group{padding:8px 10px 4px;color:var(--text-muted);font-size:var(--text-xs, 11px);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.app-select-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:8px;cursor:pointer;overflow-wrap:anywhere;transition:background var(--dur-fast) var(--ease-out)}.app-select-option>svg{flex-shrink:0;color:var(--accent-blue)}.app-select-option[data-active=true]{background:rgba(var(--accent-blue-rgb),.12)}.app-select-option[aria-selected=true]{font-weight:500}.app-select-option[data-empty]{color:var(--text-muted)}.app-select-option[aria-disabled]{opacity:.45;cursor:not-allowed}.app-select-note,.app-select-hint{padding:10px;color:var(--text-muted);font-size:var(--text-sm)}.app-select-hint{display:flex;align-items:center;gap:6px;margin-top:6px;padding-top:10px;border-top:1px solid var(--glass-border)}.app-select-create{display:flex;align-items:center;gap:8px;width:100%;margin-top:6px;padding:9px 10px;border:0;border-top:1px solid var(--glass-border);border-radius:0 0 8px 8px;background:none;color:var(--accent-blue);font:inherit;font-weight:500;text-align:left;overflow-wrap:anywhere;cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.app-select-create[data-active=true]{background:rgba(var(--accent-blue-rgb),.12)}.app-select-create:disabled{opacity:.6;cursor:progress}.app-select-create>svg{flex-shrink:0}@media(max-width:768px){.app-select-search input{font-size:16px}.app-select-option{padding:11px 10px}}.app-select-form{display:flex;flex-direction:column;gap:10px;width:100%;min-width:260px;padding:8px;box-sizing:border-box}.app-select-form-title{font-weight:600;font-size:var(--text-md, 14px)}.app-select-form label{display:flex;flex-direction:column;gap:5px}.app-select-form label>span{color:var(--text-secondary);font-size:var(--text-sm)}.app-select-form label em{color:var(--text-muted);font-style:normal}.app-select-form input{padding:8px 10px;border:1px solid var(--field-border, var(--glass-border));border-radius:8px;outline:none;background:var(--field-bg);color:var(--text-primary);font:inherit;color-scheme:inherit;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.app-select-form input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px rgba(var(--accent-blue-rgb),.16)}.app-select-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}@media(max-width:768px){.app-select-form input{font-size:16px}}.pj-crumbs{display:flex;align-items:center;gap:8px;color:var(--text-secondary);margin-bottom:16px;font-size:var(--text-md);flex-wrap:wrap}.pj-crumbs a{color:var(--text-secondary);text-decoration:none;transition:color var(--dur) var(--ease-out)}.pj-crumbs a:hover{color:var(--text-primary)}.pj-meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:var(--text-md);color:var(--text-secondary)}.pj-meta>*{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none;min-width:0}.pj-meta>a:hover{color:var(--text-primary)}.pj-pill{--pj-c: var(--text-secondary);display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;white-space:nowrap;font-size:var(--text-base);font-weight:600;color:var(--pj-c);background:color-mix(in srgb,var(--pj-c) 12%,transparent);border:1px solid color-mix(in srgb,var(--pj-c) 32%,transparent)}button.pj-pill{cursor:pointer;font-family:inherit;transition:background var(--dur-fast) var(--ease-out)}button.pj-pill:hover:not(:disabled){background:color-mix(in srgb,var(--pj-c) 20%,transparent)}.pj-sys{--pj-c: var(--text-secondary);display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:7px;white-space:nowrap;font-size:var(--text-xs);font-weight:600;color:var(--pj-c);background:color-mix(in srgb,var(--pj-c) 11%,transparent)}.pj-sys-row{display:inline-flex;flex-wrap:wrap;gap:6px}.pj-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.pj-section-title{font-size:var(--text-2xl);margin:0;display:flex;align-items:center;gap:10px}.pj-section-actions{display:flex;gap:8px;flex-wrap:wrap}.pj-muted{color:var(--text-muted)}.pj-sub{font-size:var(--text-sm);color:var(--text-muted)}.pj-empty{text-align:center;color:var(--text-muted);padding:36px 16px;border:1px dashed var(--glass-border);border-radius:12px}.pj-empty svg{opacity:.45;margin-bottom:8px}.pj-empty strong{display:block;color:var(--text-secondary);font-weight:600;margin-bottom:4px}.pj-empty .pj-empty-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:16px}.pj-fade{animation:pj-fade .22s var(--ease-out)}@keyframes pj-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.pj-bar{height:6px;border-radius:3px;background:var(--hover-tint-strong);overflow:hidden}.pj-bar>span{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple));transition:width .6s var(--ease-out)}.pj-label{display:block;font-size:var(--text-base);color:var(--text-secondary);margin-bottom:6px}.pj-form{display:flex;flex-direction:column;gap:16px;padding:20px 28px 28px}.pj-form-row{display:grid;gap:12px}.pj-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.pj-chip{--pj-c: var(--accent-blue);display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;cursor:pointer;white-space:nowrap;font:inherit;font-size:var(--text-md);color:var(--text-secondary);background:var(--panel-inset-bg);border:1px solid var(--glass-border);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.pj-chip:hover{color:var(--text-primary);background:var(--hover-tint-strong)}.pj-chip.is-on{color:var(--pj-c);background:color-mix(in srgb,var(--pj-c) 13%,transparent);border-color:color-mix(in srgb,var(--pj-c) 40%,transparent);font-weight:600}.pj-chip small{font-size:var(--text-xs);opacity:.75;font-weight:500}.pj-chip-row{display:flex;gap:8px;flex-wrap:wrap}.pj-toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--glass-border);flex-wrap:wrap}.pj-search{position:relative;flex:1 1 200px;max-width:300px;min-width:180px}.pj-chip-sep{width:1px;align-self:stretch;margin:4px;background:var(--glass-border)}.pj-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.pj-search input{padding-left:38px;width:100%}.pj-table{width:100%;border-collapse:collapse}.pj-table th{padding:14px 20px;font-weight:500;text-align:left;white-space:nowrap;color:var(--text-secondary);-webkit-user-select:none;user-select:none;font-size:var(--text-md)}.pj-table th.is-sortable{cursor:pointer;transition:color var(--dur-fast)}.pj-table th.is-sorted{color:var(--accent-blue)}.pj-table td{padding:14px 20px;vertical-align:middle;font-size:var(--text-md);color:var(--text-secondary)}.pj-table thead tr{border-bottom:1px solid var(--glass-border)}.pj-table tbody tr{border-bottom:1px solid var(--glass-border);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.pj-table tbody tr:last-child{border-bottom:0}.pj-table tbody tr.pj-row:hover{background:var(--hover-tint)}.pj-name{color:var(--text-primary);font-weight:600;text-decoration:none;display:block;margin-bottom:5px}.pj-name:hover{color:var(--accent-blue)}.pj-cell-stack{display:flex;flex-direction:column;gap:3px;min-width:0}.pj-progress-cell{display:flex;flex-direction:column;gap:6px;min-width:150px}.pj-progress-cell .pj-progress-line{display:flex;align-items:center;gap:8px}.pj-progress-cell .pj-bar{flex:1}.pj-progress-cell .pj-pct{font-size:var(--text-sm);color:var(--text-muted);min-width:34px;text-align:right;font-variant-numeric:tabular-nums}.pj-track{margin-bottom:24px}.pj-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.pj-step{--pj-c: var(--accent-blue);position:relative;display:flex;flex-direction:column;gap:8px;padding:0;border:0;background:none;text-align:left;font:inherit;color:var(--text-muted);cursor:pointer;min-width:0}.pj-step:disabled{cursor:default}.pj-step:before{content:"";display:block;height:5px;border-radius:3px;background:var(--hover-tint-strong);transition:background var(--dur) var(--ease-out)}.pj-step.is-done:before{background:color-mix(in srgb,var(--accent-blue) 45%,transparent)}.pj-step.is-now:before{background:var(--pj-c);box-shadow:0 0 12px color-mix(in srgb,var(--pj-c) 55%,transparent)}.pj-step span{font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--dur-fast)}.pj-step.is-done span{color:var(--text-secondary)}.pj-step.is-now span{color:var(--pj-c);font-weight:600}.pj-step:not(:disabled):hover span{color:var(--text-primary)}.pj-track.is-parked .pj-steps{opacity:.45}.pj-track-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:var(--text-md);color:var(--text-secondary);flex-wrap:wrap}.pj-track-foot .pj-bar{flex:1 1 160px}.pj-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:24px}.pj-stat{display:flex;flex-direction:column;gap:6px;text-align:left;font:inherit;color:inherit;cursor:pointer;min-width:0}.pj-stat-label{display:flex;align-items:center;gap:8px;font-size:var(--text-base);color:var(--text-secondary)}.pj-stat-value{font-size:var(--text-3xl);font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.pj-stat-value.is-text{font-size:var(--text-xl);font-weight:600;white-space:normal}.pj-stat-note{font-size:var(--text-sm);color:var(--text-muted)}.pj-facts{display:flex;flex-direction:column;gap:16px}.pj-fact-label{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:4px}.pj-fact-value{font-size:var(--text-lg);color:var(--text-primary);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pj-fact-value a{color:var(--accent-blue);text-decoration:none}.pj-fact-value a:hover{text-decoration:underline}.pj-prose{color:var(--text-secondary);white-space:pre-wrap;line-height:1.6;font-size:var(--text-lg)}.pj-row-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--glass-border);min-width:0}.pj-row-item:first-child{border-top:0;padding-top:0}.pj-row-item:last-child{padding-bottom:0}.pj-row-main{flex:1;min-width:0;background:none;border:0;padding:0;text-align:left;font:inherit;color:inherit}button.pj-row-main{cursor:pointer}.pj-row-title{font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pj-row-title.is-done{text-decoration:line-through;color:var(--text-muted)}.pj-check{background:none;border:0;padding:0;display:inline-flex;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:color var(--dur-fast),transform var(--dur-fast) var(--ease-spring)}.pj-check:disabled{cursor:default}.pj-check:not(:disabled):hover{transform:scale(1.12);color:var(--accent-green)}.pj-check.is-on{color:var(--accent-green)}.pj-gantt{position:relative;margin-bottom:24px;padding:14px 16px 12px;border-radius:12px;background:var(--panel-inset-bg);border:1px solid var(--glass-border)}.pj-gantt-scale{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--text-muted);margin-bottom:10px;margin-left:var(--pj-gantt-label)}.pj-gantt{--pj-gantt-label: 190px}.pj-gantt-row{display:grid;grid-template-columns:var(--pj-gantt-label) minmax(0,1fr);align-items:center;height:26px}.pj-gantt-name{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:12px}.pj-gantt-lane{position:relative;height:100%}.pj-gantt-lane:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--glass-border)}.pj-gantt-bar{--pj-c: var(--text-muted);position:absolute;top:6px;bottom:6px;min-width:6px;border-radius:5px;background:color-mix(in srgb,var(--pj-c) 55%,transparent);border:1px solid var(--pj-c);transition:left .4s var(--ease-out),width .4s var(--ease-out)}.pj-gantt-today{position:absolute;top:34px;bottom:10px;width:0;border-left:1.5px dashed var(--accent-red);pointer-events:none}.pj-gantt-today span{position:absolute;top:-17px;left:50%;transform:translate(-50%);font-size:var(--text-xs);color:var(--accent-red);font-weight:600;white-space:nowrap}.pj-gantt-body{position:relative}.pj-phase{display:flex;border:1px solid var(--glass-border);border-radius:12px;overflow:hidden;background:var(--panel-inset-bg)}.pj-phase+.pj-phase{margin-top:12px}.pj-phase-edge{width:5px;flex-shrink:0;background:var(--pj-c, var(--text-muted))}.pj-phase-body{flex:1;min-width:0;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.pj-phase-name{font-size:var(--text-xl);font-weight:500;color:var(--text-primary);margin:0 0 6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pj-phase-meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:var(--text-md);color:var(--text-secondary)}.pj-phase-meta>span{display:inline-flex;align-items:center;gap:6px}.pj-phase-controls{display:flex;align-items:center;gap:6px}.pj-phase-controls :is(select,.app-select){width:auto}.pj-money{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:20px}.pj-money>div{padding:14px 16px;border-radius:12px;background:var(--panel-inset-bg);border:1px solid var(--glass-border);min-width:0}.pj-money-label{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:4px}.pj-money-value{font-size:var(--text-2xl);font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pj-money-note{font-size:var(--text-sm);margin-top:2px}.pj-pipeline{margin-bottom:24px}.pj-pipeline-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--hover-tint-strong);margin-bottom:10px}.pj-pipeline-bar>span{display:block;height:100%;background:var(--pj-c);transition:width .5s var(--ease-out)}.pj-pipeline-bar>span+span{box-shadow:-1px 0 0 var(--bg-secondary)}.pj-pipeline-legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:var(--text-sm);color:var(--text-secondary)}.pj-pipeline-legend>span{display:inline-flex;align-items:center;gap:6px}.pj-dot{width:8px;height:8px;border-radius:50%;background:var(--pj-c);flex-shrink:0}.pj-group{margin-top:22px}.pj-group:first-of-type{margin-top:0}.pj-group-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 12px 8px;font-size:var(--text-md);color:var(--text-secondary)}.pj-group-head strong{display:inline-flex;align-items:center;gap:8px;color:var(--text-primary);font-weight:600}.pj-eq{width:100%;border-collapse:collapse;font-size:var(--text-md)}.pj-eq th{padding:8px 12px;font-weight:400;color:var(--text-muted);font-size:var(--text-sm);text-align:left;border-bottom:1px solid var(--glass-border);white-space:nowrap}.pj-eq td{padding:10px 12px;border-bottom:1px solid var(--glass-border);vertical-align:middle}.pj-eq tr:last-child td{border-bottom:0}.pj-eq .is-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.pj-eq .is-over{color:var(--accent-red)}.pj-eq :is(select,.app-select){width:auto;min-width:118px}.pj-eq-name{color:var(--text-primary);font-weight:500}.pj-eq-actions{display:flex;justify-content:flex-end;gap:2px}@media(max-width:768px){.pj-form{padding:16px 18px 22px}.pj-form-row{grid-template-columns:1fr!important}.pj-toolbar{padding:14px}.pj-search{flex:1 1 100%;max-width:none}.pj-chip-sep{display:none}.pj-steps{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.pj-step span{font-size:var(--text-xs)}.pj-step:not(.is-now) span{visibility:hidden;height:0}.pj-step.is-now span{overflow:visible}.pj-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pj-stat-value{font-size:var(--text-2xl)}.pj-gantt{padding:12px}.pj-progress-cell{min-width:0}.pj-phase-body{align-items:flex-start}}@media(max-width:1000px){.pj-gantt{--pj-gantt-label: 110px}}@media(prefers-reduced-motion:reduce){.pj-fade{animation:none}.pj-bar>span,.pj-gantt-bar,.pj-pipeline-bar>span{transition:none}}.pj-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:600;color:var(--accent-blue);background:color-mix(in srgb,var(--accent-blue) 14%,transparent)}.pj-warn{display:flex;gap:10px;padding:12px 14px;border-radius:10px;font-size:var(--text-md);line-height:1.5;color:var(--accent-amber);background:color-mix(in srgb,var(--accent-amber) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent-amber) 35%,transparent)}.pj-warn strong{display:block}.pj-cal-scroll{overflow-x:auto}.pj-cal{--pj-who: 190px;--pj-day-w: 30px;min-width:calc(var(--pj-who) + var(--pj-days) * var(--pj-day-w))}.pj-cal-row{display:grid;grid-template-columns:var(--pj-who) minmax(0,1fr);border-top:1px solid var(--glass-border)}.pj-cal-head{border-top:0}.pj-cal-who{position:sticky;left:0;z-index:2;display:flex;align-items:center;gap:10px;padding:8px 14px 8px 20px;min-width:0;background:var(--bg-secondary);border-right:1px solid var(--glass-border)}.pj-cal-name{font-size:var(--text-md);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pj-cal-track{position:relative;min-height:40px}.pj-cal-head .pj-cal-track{height:54px}.pj-cal-day{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:6px;font-size:var(--text-xs);color:var(--text-muted);line-height:1.3}.pj-cal-day strong{font-weight:500;color:var(--text-secondary);font-size:var(--text-sm)}.pj-cal-day.is-weekend{background:var(--panel-inset-bg)}.pj-cal-day.is-today strong{color:#fff;background:var(--accent-blue);border-radius:999px;min-width:22px;text-align:center}.pj-cal-month{height:14px;font-weight:600;color:var(--text-secondary);white-space:nowrap;align-self:flex-start;padding-left:4px}.pj-cal-day.is-month-start{box-shadow:inset 1px 0 0 var(--glass-border)}.pj-cal.is-compact .pj-cal-day{overflow:visible}.pj-cal.is-compact .pj-cal-day strong{font-size:var(--text-xs)}.pj-cal.is-compact .pj-cal-month{position:absolute;top:6px;left:0}.pj-cal.is-compact .pj-cal-bar{padding:0 5px}.pj-seg{display:inline-flex;padding:3px;border-radius:10px;background:var(--panel-inset-bg);border:1px solid var(--glass-border)}.pj-seg button{padding:5px 12px;border:0;border-radius:7px;background:none;cursor:pointer;font:inherit;font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.pj-seg button:hover{color:var(--text-primary)}.pj-seg button.is-on{background:var(--hover-tint-strong);color:var(--text-primary);font-weight:600;box-shadow:0 1px 2px #0003}.pj-cal-shade{position:absolute;top:0;bottom:0;background:var(--panel-inset-bg)}.pj-cal-now{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--accent-blue) 9%,transparent)}.pj-cal-bar{--pj-c: var(--accent-blue);position:absolute;height:22px;padding:0 8px;border-radius:6px;cursor:pointer;overflow:hidden;z-index:1;display:flex;align-items:center;font:inherit;font-size:var(--text-xs);font-weight:600;text-align:left;color:var(--text-primary);background:color-mix(in srgb,var(--pj-c) 32%,var(--bg-secondary));border:1px solid color-mix(in srgb,var(--pj-c) 70%,transparent);border-left:3px solid var(--pj-c);transition:filter var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.pj-cal-bar:hover{filter:brightness(1.15);transform:translateY(-1px)}.pj-cal-bar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pj-cal-bar.is-event{font-weight:500;color:var(--text-secondary);border-style:dashed;border-left-style:solid;background:repeating-linear-gradient(135deg,var(--panel-inset-bg) 0 6px,var(--hover-tint-strong) 6px 12px),var(--bg-secondary)}.pj-cal-legend{display:flex;flex-wrap:wrap;gap:6px 18px;padding:14px 20px;border-top:1px solid var(--glass-border);font-size:var(--text-sm);color:var(--text-secondary)}.pj-cal-legend>span{display:inline-flex;align-items:center;gap:6px}.pj-dot.is-event{background:none;border:1px dashed var(--text-muted)}@media(max-width:768px){.pj-cal{--pj-who: 120px}.pj-cal-who{padding-left:12px}.pj-cal-who .pj-avatar{display:none}}.pj-month-dows{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--glass-border)}.pj-month-dows span{padding:10px;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.pj-month-week{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--glass-border)}.pj-month-week:first-of-type{border-top:0}.pj-month-day{padding:7px 10px;border-left:1px solid var(--glass-border);font-size:var(--text-sm);color:var(--text-secondary);min-width:0}.pj-month-day:first-child{border-left:0}.pj-month-day.is-weekend{background:var(--panel-inset-bg)}.pj-month-day.is-outside{color:var(--text-muted);opacity:.55}.pj-month-day.is-today{background:color-mix(in srgb,var(--accent-blue) 9%,transparent)}.pj-month-day.is-today span{display:inline-block;min-width:22px;padding:0 6px;text-align:center;border-radius:999px;background:var(--accent-blue);color:#fff;font-weight:600}.pj-month .pj-cal-bar strong{font-weight:700}.pj-month .pj-cal-bar span{font-weight:500}.pj-cal-bar.is-cont-left{border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:1px}.pj-cal-bar.is-cont-right{border-top-right-radius:0;border-bottom-right-radius:0}@media(max-width:768px){.pj-month-dows span,.pj-month-day{padding-left:5px;padding-right:5px}.pj-month .pj-cal-bar{padding:0 4px}}.pj-contacts{display:flex;flex-direction:column;gap:8px}.pj-contact-edit{display:grid;grid-template-columns:auto 1.2fr 1fr 1fr 1.4fr auto;gap:8px;align-items:center}.pj-contact-card{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-top:1px solid var(--glass-border);min-width:0}.pj-contact-card:first-child{border-top:0;padding-top:0}.pj-contact-card:last-child{padding-bottom:0}.pj-contact-links{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:var(--text-sm);color:var(--text-secondary);margin-top:3px}.pj-contact-links a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.pj-contact-links a:hover{color:var(--text-primary)}@media(max-width:768px){.pj-contact-edit{grid-template-columns:auto 1fr auto;padding-bottom:8px;border-bottom:1px solid var(--glass-border)}.pj-contact-edit input{grid-column:2}.pj-contact-edit>:first-child{grid-row:1;grid-column:1}.pj-contact-edit>:last-child{grid-row:1;grid-column:3}}.pj-synced{display:flex;gap:10px;padding:12px 14px;border-radius:10px;font-size:var(--text-md);line-height:1.6;color:var(--text-secondary);background:var(--panel-inset-bg);border:1px solid var(--glass-border)}.pj-synced strong{display:block;color:var(--text-primary);font-weight:600}.pj-synced a{color:var(--accent-blue);text-decoration:none;display:inline-block;margin-top:4px}.pj-synced a:hover{text-decoration:underline}.bb-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}.bb-inputs{display:grid;gap:20px;min-width:0}.bb-inputs.is-locked{opacity:.6;pointer-events:none}.bb-summary{position:sticky;top:16px}.bb-group-label{font-size:var(--text-base);color:var(--text-secondary);margin:20px 0 10px}.bb-group-label:first-child{margin-top:0}.bb-range{margin-top:18px}.bb-range-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;font-size:var(--text-md)}.bb-range-head strong{color:var(--text-primary);font-weight:500}.bb-range-value{font-weight:600;color:var(--accent-blue);font-variant-numeric:tabular-nums;white-space:nowrap}.bb-range input[type=range],.bb-contingency input[type=range]{width:100%;accent-color:var(--accent-blue);cursor:pointer}.bb-system{padding:14px 0;border-top:1px solid var(--glass-border)}.bb-system:first-of-type{border-top:0;padding-top:0}.bb-system:last-child{padding-bottom:0}.bb-system-head{display:flex;align-items:center;gap:12px}.bb-system-head .pj-row-main{cursor:pointer}.bb-system.is-off .pj-row-main{opacity:.5}.bb-system .pj-chip-row{margin:12px 0 0 34px}.bb-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.bb-tier{padding:12px 14px;border-radius:12px;background:var(--panel-inset-bg);border:1px solid var(--glass-border);text-align:left;font:inherit;color:inherit;cursor:pointer;min-width:0;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.bb-tier:disabled{cursor:default}.bb-tier:hover:not(:disabled){background:var(--hover-tint-strong)}.bb-tier .pj-money-value{font-size:var(--text-lg)}.bb-tier.is-on{background:color-mix(in srgb,var(--accent-blue) 12%,transparent);border-color:color-mix(in srgb,var(--accent-blue) 45%,transparent)}.bb-tier.is-on .pj-money-label{color:var(--accent-blue);font-weight:600}.bb-mix{position:relative;margin-top:20px}.bb-mix .pj-pipeline-bar>span{transition:width .5s var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.bb-mix.is-hovering .pj-pipeline-bar>span:not(.is-hot){opacity:.4}.bb-mix .pj-pipeline-legend>span{cursor:default}.bb-mix .pj-pipeline-legend b{color:var(--text-primary);font-weight:600;font-variant-numeric:tabular-nums}.bb-tip{position:absolute;bottom:calc(100% + 8px);transform:translate(-50%);pointer-events:none;z-index:1;white-space:nowrap;padding:6px 10px;border-radius:8px;font-size:var(--text-sm);color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--glass-border);box-shadow:0 8px 20px #0000004d}.bb-tip strong{color:var(--text-primary)}.bb-lines{margin-top:18px}.bb-line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--glass-border);font-size:var(--text-md);color:var(--text-secondary)}.bb-line strong{color:var(--text-primary);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.bb-contingency{display:flex;align-items:center;gap:10px}.bb-contingency input[type=range]{flex:1;min-width:60px}.bb-contingency .pj-sub{min-width:30px;text-align:right;font-variant-numeric:tabular-nums}.bb-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:14px;margin-top:4px;border-top:1px solid var(--glass-border)}.bb-total .pj-stat-label{font-size:var(--text-md)}@media(max-width:900px){.bb-grid{grid-template-columns:minmax(0,1fr)}.bb-summary{position:static}}@media(max-width:480px){.bb-tier{padding:10px}.bb-system .pj-chip-row{margin-left:0}}.bb-rate-factors{margin-bottom:4px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.bb-rate-factors>label{display:block;cursor:text;padding:10px 12px;border-radius:12px;background:var(--panel-inset-bg);border:1px solid var(--glass-border)}.bb-affix{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap}.bb-num{width:100%;min-width:0;font-variant-numeric:tabular-nums}.bb-affix .bb-num{flex:1}.bb-rate-factors .bb-num{font-size:var(--text-lg);font-weight:600}.bb-num.is-invalid{border-color:var(--accent-red);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-red) 20%,transparent)}.bb-rates{display:flex;flex-direction:column}.bb-rate{padding:16px 0;border-top:1px solid var(--glass-border)}.bb-rate:first-child{border-top:0;padding-top:4px}.bb-rate-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.bb-rate-label{flex:0 1 220px;min-width:140px;font-weight:600}.bb-rate-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.bb-rate-tiers>label{display:block;padding:10px 12px;border-radius:12px;background:var(--panel-inset-bg);border:1px solid var(--glass-border)}.bb-rate-tiers .pj-money-label{display:block}.bb-shares{display:flex;flex-direction:column;gap:6px}.bb-share-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 120px 28px;align-items:center;gap:10px}.bb-share-head{font-size:var(--text-sm)}.bb-share-head>span:nth-child(n+2){text-align:right}.bb-share-head>span:nth-child(2){padding-right:22px}.bb-share-name{display:inline-flex;align-items:center;gap:8px;min-width:0;color:var(--text-primary)}.bb-share-row .bb-num{padding-top:6px;padding-bottom:6px;text-align:right}.bb-share-worth{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap}.bb-share-note{font-size:var(--text-sm);line-height:1.45}.bb-opt-add{display:inline-flex;align-items:center;gap:4px;margin-top:4px}.bb-opt-add .glass-input{width:170px;padding-top:6px;padding-bottom:6px}.bb-rate-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding-top:16px;margin-top:4px;border-top:1px solid var(--glass-border)}@media(max-width:560px){.bb-rate-tiers{grid-template-columns:minmax(0,1fr)}.bb-rate-label{flex:1 1 100%}.bb-opt-add,.bb-opt-add .glass-input{width:100%}.bb-share-row{grid-template-columns:minmax(0,1fr) 90px 28px}.bb-share-row>.bb-share-worth,.bb-share-head>span:nth-child(3){display:none}}.vn-crumbs{display:flex;align-items:center;gap:8px;color:var(--text-secondary);margin-bottom:16px;font-size:var(--text-md);flex-wrap:wrap}.vn-crumbs a{color:var(--text-secondary);text-decoration:none;transition:color var(--dur) var(--ease-out)}.vn-crumbs a:hover{color:var(--text-primary)}.vn-pill{display:inline-flex;align-items:center;padding:1px 10px;border-radius:999px;font-size:var(--text-base);font-weight:600;color:var(--accent-orange);background:#f973161f;border:1px solid rgba(249,115,22,.3)}.vn-meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:var(--text-md);color:var(--text-secondary)}.vn-meta>*{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none;min-width:0}.vn-meta>a:hover{color:var(--text-primary)}.vn-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.vn-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:100px;background:var(--panel-inset-bg);border:1px solid var(--glass-border);font-size:var(--text-md);color:var(--text-secondary)}.vn-chip strong{color:var(--text-primary);font-weight:600}@media(max-width:720px){.vn-plan-host,.vn-panel-tight{padding:12px}}.vn-savebar{position:sticky;bottom:16px;z-index:var(--z-sticky);margin-top:20px;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;background:var(--bg-secondary);border:1px solid var(--accent-blue);box-shadow:0 12px 32px #0000004d,0 0 0 3px rgba(var(--accent-blue-rgb),.12);animation:vn-rise .24s var(--ease-out)}.vn-savebar .vn-savebar-msg{flex:1;min-width:0;color:var(--text-secondary);font-size:var(--text-md)}.vn-savebar .vn-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent-orange);margin-right:8px}@keyframes vn-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.vn-section-title{font-size:var(--text-2xl);margin:0;display:flex;align-items:center;gap:10px}.vn-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.vn-muted{color:var(--text-muted)}.vn-empty{text-align:center;color:var(--text-muted);padding:36px 16px;border:1px dashed var(--glass-border);border-radius:12px}.vn-empty svg{opacity:.45;margin-bottom:8px}.vn-fade{animation:vn-fade .22s var(--ease-out)}@keyframes vn-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.vn-plan-host{container-type:inline-size;container-name:vnplan}.vn-plan{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}@container vnplan (min-width: 980px){.vn-plan{grid-template-columns:minmax(0,1fr) 320px}}@container vnplan (max-width: 979px){.vn-plan>.vn-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));align-items:start}}.vn-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;margin-bottom:12px;background:var(--panel-inset-bg);border:1px solid var(--glass-border);border-radius:12px}.vn-tool{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:9px;cursor:pointer;background:transparent;border:1px solid transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-md);transition:background var(--dur) var(--ease-out),color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),transform .12s;white-space:nowrap}.vn-tool:hover:not(:disabled){background:var(--hover-tint);color:var(--text-primary)}.vn-tool:active:not(:disabled){transform:scale(.97)}.vn-tool:disabled{opacity:.4;cursor:default}.vn-tool.is-on{background:rgba(var(--accent-blue-rgb),.16);border-color:var(--accent-blue);color:var(--text-primary)}.vn-tool-sep{width:1px;align-self:stretch;margin:4px;background:var(--glass-border)}.vn-toolbar .vn-spacer{flex:1}.vn-hint{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 10px;display:flex;align-items:center;gap:8px;min-height:20px}.vn-hint kbd{font:inherit;font-size:var(--text-xs);padding:1px 6px;border-radius:5px;border:1px solid var(--glass-border);background:var(--panel-inset-bg)}.vn-menu{position:relative}.vn-menu-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:var(--z-popover);min-width:220px;max-height:300px;overflow:auto;padding:6px;background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:12px;box-shadow:0 16px 40px #00000059;animation:vn-fade .16s var(--ease-out)}.vn-menu-pop.is-right{left:auto;right:0}.vn-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:8px;border:0;background:transparent;color:var(--text-primary);font:inherit;font-size:var(--text-md);text-align:left;cursor:pointer}.vn-menu-item:hover{background:var(--hover-tint)}.vn-menu-item small{display:block;color:var(--text-muted);font-size:var(--text-xs)}.vn-menu-label{padding:6px 10px 4px;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted)}.vn-canvas-wrap{position:relative}.vn-canvas{position:relative;width:100%;border-radius:16px;overflow:hidden;user-select:none;-webkit-user-select:none;background:var(--bg-secondary);border:1px solid var(--glass-border);container-type:inline-size}.vn-canvas.is-placing,.vn-canvas.is-drawing{touch-action:none}.vn-canvas.is-placing,.vn-canvas.is-drawing{cursor:crosshair}.vn-canvas-layer{position:absolute;inset:0;pointer-events:none}.vn-canvas svg{display:block;width:100%;height:100%}.vn-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block;pointer-events:none;-webkit-user-drag:none}.vn-backdrop.is-thumb{filter:blur(2px)}.vn-zone{position:absolute;left:50%;transform:translate(-50%,-50%);color:var(--text-secondary);opacity:.55;font-weight:600;letter-spacing:.22em;font-size:clamp(.9rem,4.4cqw,3rem);white-space:nowrap}.vn-outline{stroke:var(--text-muted);stroke-opacity:.55;fill:none;vector-effect:non-scaling-stroke;stroke-width:1.4}.vn-hatch{stroke:var(--text-muted);stroke-opacity:.22}.vn-pin{position:absolute;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.86rem;border:2px solid rgba(255,255,255,.7);cursor:pointer;z-index:3;box-shadow:0 4px 10px #00000059;padding:0;font-family:inherit;transition:transform .16s var(--ease-out),box-shadow .16s var(--ease-out);animation:vn-pop .28s var(--ease-out)}.vn-canvas.is-editing .vn-pin{touch-action:none}.vn-pin:hover{transform:scale(1.12)}.vn-pin.is-photo{background:var(--accent-blue)}.vn-pin.is-photo.has-picture:after{content:"";position:absolute;right:-3px;top:-3px;width:11px;height:11px;border-radius:50%;background:var(--accent-green);border:2px solid var(--bg-secondary)}.vn-pin.is-equip{background:#10b981}.vn-pin.is-selected{border-color:#fff;z-index:8;transform:scale(1.18);box-shadow:0 0 0 4px rgba(var(--accent-blue-rgb),.35),0 8px 18px #0006}.vn-pin.is-equip.is-selected{box-shadow:0 0 0 4px #10b98159,0 8px 18px #0006}.vn-pin.is-dragging{cursor:grabbing;transition:none}.vn-canvas.is-editing .vn-pin{cursor:grab}@keyframes vn-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1}}.vn-pin-label{position:absolute;left:50%;top:100%;transform:translate(-50%);margin-top:5px;padding:2px 7px;border-radius:6px;background:#000000b8;color:#fff;font-size:var(--text-2xs);font-weight:500;white-space:nowrap;pointer-events:none;max-width:150px;overflow:hidden;text-overflow:ellipsis}.vn-cone{position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;pointer-events:none;z-index:2;background:conic-gradient(from -28deg,rgba(var(--accent-blue-rgb),.5) 0deg,rgba(var(--accent-blue-rgb),.05) 56deg,transparent 56deg);-webkit-mask:radial-gradient(circle,transparent 14%,#000 16%,#000 30%,transparent 70%);mask:radial-gradient(circle,transparent 14%,#000 16%,#000 30%,transparent 70%);transition:transform .2s var(--ease-out)}.vn-mline{stroke-width:2;stroke-dasharray:6 4;stroke-linecap:round;transition:opacity var(--dur)}.vn-mchip{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;padding:4px 9px;border-radius:7px;z-index:4;background:#000000d1;color:#fff;font-size:var(--text-xs);font-weight:600;border:1px solid var(--mc, #ef4444);cursor:pointer;font-family:inherit;box-shadow:0 2px 6px #00000073;white-space:nowrap}.vn-mchip.is-selected{background:var(--mc, #ef4444);border-color:#fff;z-index:9}.vn-mchip small{display:block;font-size:var(--text-3xs);opacity:.85;font-weight:500}.vn-handle{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;border:2px solid var(--mc, #ef4444);z-index:10;cursor:grab;box-shadow:0 2px 5px #00000059;touch-action:none}.vn-scalebar{position:absolute;left:12px;bottom:10px;z-index:5;pointer-events:none;color:#fff;font-size:var(--text-xs);font-weight:600;box-sizing:content-box;padding:5px 8px 6px;border-radius:8px;background:#0f172ac7}.vn-scalebar i{display:block;height:7px;margin-top:3px;border:2px solid #fff;border-top:0}.vn-empty-plan{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1}.vn-empty-plan div{background:var(--bg-secondary);border:1px dashed var(--glass-border);border-radius:12px;padding:12px 18px;color:var(--text-secondary);text-align:center;font-size:var(--text-md);max-width:320px}.vn-panel{display:flex;flex-direction:column;gap:14px}.vn-card{background:var(--panel-inset-bg);border:1px solid var(--glass-border);border-radius:14px;padding:16px}.vn-card h3{margin:0 0 10px;font-size:var(--text-md);text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);font-weight:600}.vn-card-title{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-weight:600;font-size:var(--text-lg)}.vn-card-title .vn-num{width:28px;height:28px;font-size:var(--text-md)}.vn-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--accent-blue);color:#fff;font-weight:700;font-size:var(--text-sm);flex-shrink:0}.vn-num.is-equip{background:#10b981}.vn-num.is-measure{background:#ef4444}.vn-list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.vn-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border-radius:10px;cursor:pointer;text-align:left;border:1px solid transparent;background:transparent;color:var(--text-primary);font:inherit;font-size:var(--text-md);transition:background var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.vn-row:hover{background:var(--hover-tint)}.vn-row.is-selected{background:rgba(var(--accent-blue-rgb),.12);border-color:var(--accent-blue)}.vn-row .vn-row-main{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vn-row .vn-row-sub{color:var(--text-muted);font-size:var(--text-sm)}.vn-thumb{width:44px;height:34px;border-radius:6px;object-fit:cover;flex-shrink:0;background:var(--field-bg);border:1px solid var(--glass-border)}.vn-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.vn-field>label,.vn-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.vn-field-hint{font-size:var(--text-xs);color:var(--text-muted)}.vn-photo{position:relative;border-radius:12px;overflow:hidden;background:var(--field-bg);border:1px solid var(--glass-border);cursor:zoom-in;aspect-ratio:4 / 3}.vn-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s var(--ease-out)}.vn-photo:hover img{transform:scale(1.04)}.vn-photo .vn-photo-actions{position:absolute;top:8px;right:8px;display:flex;gap:6px}.vn-photo .vn-zoom-hint{position:absolute;left:8px;bottom:8px;display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:100px;font-size:var(--text-xs);background:#0009;color:#fff;opacity:0;transition:opacity var(--dur)}.vn-photo:hover .vn-zoom-hint{opacity:1}.vn-round{width:32px;height:32px;border-radius:50%;border:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:#0000009e;color:#fff}.vn-round:hover{background:#000000d9}.vn-round.is-danger:hover{background:#ef4444}.vn-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:22px 12px;text-align:center;cursor:pointer;border:2px dashed var(--glass-border);border-radius:12px;color:var(--text-secondary);font-size:var(--text-md);background:transparent;transition:border-color var(--dur),background var(--dur),color var(--dur);font-family:inherit;width:100%}.vn-drop:hover,.vn-drop.is-over{border-color:var(--accent-blue);background:rgba(var(--accent-blue-rgb),.07);color:var(--text-primary)}.vn-drop small{color:var(--text-muted);font-size:var(--text-xs)}.vn-drop.is-busy{pointer-events:none;opacity:.7}.vn-swatches{display:flex;gap:8px;flex-wrap:wrap}.vn-swatch{width:24px;height:24px;border-radius:50%;border:1px solid var(--glass-border);cursor:pointer;outline-offset:2px;padding:0}.vn-swatch.is-on{outline:2px solid var(--accent-blue)}.vn-tip{font-size:var(--text-md);color:var(--text-secondary);line-height:1.55}.vn-tip ol{margin:8px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:5px}.vn-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;color:var(--text-secondary);font-size:var(--text-sm)}.vn-legend span{display:inline-flex;align-items:center;gap:6px}.vn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,46%),1fr));gap:12px}.vn-tile{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--glass-border);background:var(--field-bg);aspect-ratio:4 / 3;cursor:zoom-in;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out);padding:0;font:inherit;color:inherit;text-align:left}.vn-tile:hover{transform:translateY(-2px);box-shadow:0 10px 24px #00000040}.vn-tile img{width:100%;height:100%;object-fit:cover;display:block}.vn-tile-cap{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 9px;color:#fff;font-size:var(--text-md);font-weight:500;background:linear-gradient(to top,rgba(0,0,0,.72),transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vn-tile .vn-badge{position:absolute;top:9px;left:9px}.vn-tile-tools{position:absolute;top:8px;right:8px;display:flex;gap:6px;opacity:0;transition:opacity var(--dur)}.vn-tile:hover .vn-tile-tools,.vn-tile:focus-within .vn-tile-tools{opacity:1}@media(hover:none){.vn-tile-tools{opacity:1}}.vn-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 5px;border-radius:100px;background:#000000a8;color:#fff;font-size:var(--text-xs);font-weight:600}.vn-badge .vn-num{width:20px;height:20px;font-size:var(--text-xs)}.vn-caption-input{margin-top:8px}.vn-uploading{display:flex;align-items:center;justify-content:center;aspect-ratio:4 / 3;border-radius:14px;border:1px dashed var(--accent-blue);color:var(--text-secondary);gap:8px}.vn-lightbox{position:fixed;inset:0;z-index:var(--z-modal);background:#06080ff7;display:flex;flex-direction:column;animation:vn-fade-only .18s ease}@keyframes vn-fade-only{0%{opacity:0}to{opacity:1}}.vn-lb-bar{display:flex;align-items:center;gap:12px;padding:14px 18px;color:#fff}.vn-lb-bar .vn-lb-title{flex:1;min-width:0}.vn-lb-bar .vn-lb-title strong{display:block;font-size:var(--text-lg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vn-lb-bar .vn-lb-title span{color:#ffffffa6;font-size:var(--text-sm)}.vn-lb-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;padding:0 64px 20px}.vn-lb-stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;animation:vn-fade .22s var(--ease-out)}.vn-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;color:#fff;background:#ffffff1f;display:flex;align-items:center;justify-content:center;transition:background var(--dur)}.vn-lb-nav:hover{background:#ffffff3d}.vn-lb-nav.is-prev{left:12px}.vn-lb-nav.is-next{right:12px}.vn-lb-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#fff;font:inherit;font-size:var(--text-md);cursor:pointer}.vn-lb-btn:hover{background:#ffffff2e}.vn-lb-note{color:#fffc;text-align:center;padding:0 24px 18px;font-size:var(--text-md)}@media(max-width:720px){.vn-lb-bar{flex-wrap:wrap;gap:8px;padding:12px 14px 8px}.vn-lb-bar .vn-lb-title{flex:1 1 100%;order:-1}.vn-lb-bar .vn-lb-btn{padding:8px 12px}.vn-lb-bar .vn-lb-btn:last-child{margin-left:auto}.vn-lb-stage{padding:0 6px 10px}.vn-lb-nav{width:36px;height:36px;background:#00000073}.vn-lb-nav.is-prev{left:8px}.vn-lb-nav.is-next{right:8px}.vn-lb-note{padding:0 16px 14px;font-size:var(--text-sm)}}.vn-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:16px;align-items:start}.vn-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:24px;align-items:start}.vn-specs{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.vn-spec{padding:12px 14px;border-radius:12px;background:var(--panel-inset-bg);border:1px solid var(--glass-border)}.vn-spec dt{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:3px}.vn-spec dd{margin:0;color:var(--text-primary);overflow-wrap:anywhere}.vn-ov{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);grid-template-areas:"loc facts" "notes notes";gap:16px}.vn-ov-loc{grid-area:loc;display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:var(--panel-inset-bg);border:1px solid var(--glass-border)}.vn-ov-map{position:relative;height:300px;background:var(--panel-inset-bg)}.vn-ov-map-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;text-align:center;color:var(--text-muted)}.vn-ov-addr{display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--glass-border)}.vn-ov-facts{grid-area:facts;display:flex;flex-direction:column;gap:10px;margin:0}.vn-ov-fact{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;flex:1;background:var(--panel-inset-bg);border:1px solid var(--glass-border);transition:transform var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.vn-ov-fact:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent-blue) 35%,var(--glass-border))}.vn-ov-fact dd{margin:0}.vn-ov-chip{width:36px;height:36px;border-radius:10px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--chip);background:color-mix(in srgb,var(--chip) 14%,transparent)}.vn-ov-k{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:2px}.vn-ov-v{color:var(--text-primary);font-weight:500;overflow-wrap:anywhere}.vn-ov-notes{grid-area:notes;padding:14px 16px;border-radius:14px;background:var(--panel-inset-bg);border:1px solid var(--glass-border)}.vn-ov>*{animation:vnOvIn .35s var(--ease-out) both}.vn-ov>:nth-child(2){animation-delay:60ms}.vn-ov>:nth-child(3){animation-delay:.12s}@keyframes vnOvIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:860px){.vn-ov{grid-template-columns:minmax(0,1fr);grid-template-areas:"loc" "facts" "notes"}.vn-ov-map{height:240px}}@media(prefers-reduced-motion:reduce){.vn-ov>*{animation:none}.vn-ov-fact{transition:none}}.vn-spec.is-empty dd{color:var(--text-muted)}.vn-item{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border-radius:10px;background:var(--panel-inset-bg);border:1px solid var(--glass-border)}.vn-item>span{flex:1;min-width:0;overflow-wrap:anywhere}.vn-item input{flex:1;min-width:0;border:0;background:transparent;color:var(--text-primary);font:inherit;padding:6px 0;outline:none}.vn-item input:focus{box-shadow:0 1px 0 var(--accent-blue)}.vn-lines{display:flex;flex-direction:column;gap:8px}.vn-lineset{display:grid;grid-template-columns:64px minmax(0,1fr) 110px 34px;gap:8px;align-items:center}.vn-lineset-head{color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.6px;padding:0 2px}.vn-lineset.is-view{padding:10px 12px;border-radius:10px;background:var(--panel-inset-bg);border:1px solid var(--glass-border);grid-template-columns:64px minmax(0,1fr) 110px}@media(max-width:560px){.vn-lineset{grid-template-columns:56px minmax(0,1fr) 34px}.vn-lineset>:nth-child(3){grid-column:2;grid-row:2}.vn-lineset.is-view{grid-template-columns:56px minmax(0,1fr)}.vn-lineset-head{display:none}}.vn-lineset input.glass-input{padding:9px 10px;font-size:var(--text-md);min-width:0}.vn-listrow{transition:background var(--dur) var(--ease-out)}.vn-listrow:hover{background:var(--hover-tint)}.vn-listthumb{width:44px;height:34px;border-radius:7px;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--panel-inset-bg);border:1px solid var(--glass-border);color:var(--text-muted)}.vn-listthumb img{width:100%;height:100%;object-fit:cover;display:block}@media(prefers-reduced-motion:reduce){.vn-pin,.vn-fade,.vn-savebar,.vn-menu-pop,.vn-lightbox,.vn-lb-stage img{animation:none}.vn-tile,.vn-photo img{transition:none}}@container (max-width: 480px){.vn-pin{width:26px;height:26px;margin:-13px 0 0 -13px;font-size:.72rem;border-width:1.5px}.vn-pin-label{font-size:.6rem;padding:1px 5px;max-width:90px}.vn-mchip{padding:2px 6px;font-size:.65rem}.vn-cone{width:90px;height:90px;margin:-45px 0 0 -45px}.vn-zone{letter-spacing:.12em}}@media(max-width:720px){.vn-savebar{flex-wrap:wrap;padding:12px;bottom:10px}.vn-savebar .vn-savebar-msg{flex:1 1 100%}.vn-savebar>button{flex:1 1 0;justify-content:center}.vn-toolbar{gap:4px;padding:6px}.vn-tool{padding:8px 10px;font-size:var(--text-sm);gap:6px}.vn-tool-sep,.vn-toolbar .vn-spacer{display:none}}.vn-hint{flex-wrap:wrap;gap:4px 8px}.vn-hint .btn-link{white-space:nowrap}@media(max-width:768px){table.rtable tr.vn-listrow{position:relative;overflow:visible}table.rtable tr.vn-listrow td.rtable-actions{position:absolute;top:8px;right:6px;width:auto;padding:0!important;z-index:2}table.rtable tr.vn-listrow td.rtable-primary{padding-right:56px!important}}@media(max-width:720px){.vn-page-header{position:relative}.vn-page-header>.vn-menu{position:absolute;top:-4px;right:0}.vn-page-header>div:first-child{padding-right:44px}}.vn-maya-reading{display:flex;align-items:center;gap:12px;padding:28px 4px;color:var(--text-secondary)}.vn-maya-rows{display:flex;flex-direction:column;gap:8px;max-height:min(60vh,560px);overflow-y:auto;padding-right:2px}.vn-maya-row{display:grid;grid-template-columns:minmax(130px,180px) minmax(0,1fr);gap:12px;align-items:start;padding:12px;border-radius:12px;background:var(--panel-inset-bg);border:1px solid var(--glass-border);animation:vn-maya-in .28s var(--ease-out) both;transition:opacity var(--dur),border-color var(--dur)}.vn-maya-row.is-off{opacity:.55}.vn-maya-row:not(.is-off){border-color:color-mix(in srgb,var(--accent-purple) 35%,var(--glass-border))}@keyframes vn-maya-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.vn-maya-check{display:flex;align-items:center;gap:10px;cursor:pointer;padding-top:8px;font-weight:500}.vn-maya-check input{position:absolute;opacity:0;width:1px;height:1px}.vn-maya-box{width:18px;height:18px;border-radius:5px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--glass-border);color:transparent;transition:background var(--dur),border-color var(--dur),transform .15s var(--ease-out)}.vn-maya-check input:checked+.vn-maya-box{background:var(--accent-purple);border-color:var(--accent-purple);color:#fff}.vn-maya-check input:focus-visible+.vn-maya-box{outline:2px solid var(--accent-purple);outline-offset:2px}.vn-maya-check:active .vn-maya-box{transform:scale(.9)}.vn-maya-label{font-size:var(--text-md)}.vn-maya-body{min-width:0;display:flex;flex-direction:column;gap:6px}.vn-maya-was{font-size:var(--text-xs);color:var(--text-muted);overflow-wrap:anywhere}.vn-maya-list{margin:0;padding-left:18px;font-size:var(--text-sm);color:var(--text-secondary);display:flex;flex-direction:column;gap:2px;max-height:180px;overflow-y:auto}.vn-maya-btn{color:var(--accent-purple)}@media(max-width:560px){.vn-maya-row{grid-template-columns:minmax(0,1fr);gap:8px}.vn-maya-check{padding-top:0}}@media(prefers-reduced-motion:reduce){.vn-maya-row{animation:none}}.vn-maya-pick{display:flex;flex-direction:column}.vn-maya-group{display:flex;flex-direction:column;gap:6px;padding:14px;margin-bottom:12px;border-radius:12px;background:var(--panel-inset-bg);border:1px solid var(--glass-border)}.vn-maya-group-head{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:4px}.vn-maya-src{display:flex;align-items:center;gap:10px;padding:6px 2px;cursor:pointer;min-width:0}.vn-maya-src input{position:absolute;opacity:0;width:1px;height:1px}.vn-maya-src input:checked+.vn-maya-box,.vn-maya-box.is-on{background:var(--accent-purple);border-color:var(--accent-purple);color:#fff}.vn-maya-src input:focus-visible+.vn-maya-box{outline:2px solid var(--accent-purple);outline-offset:2px}.vn-maya-src.is-new{cursor:default;animation:vn-maya-in .24s var(--ease-out) both}.vn-maya-src-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.vn-maya-tag{font-size:var(--text-xs);color:var(--accent-purple);white-space:nowrap;margin-left:auto}.vn-maya-progress{display:flex;flex-direction:column;gap:6px;padding:4px 0}.vn-maya-prog{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--panel-inset-bg);border:1px solid var(--glass-border);animation:vn-maya-in .24s var(--ease-out) both;transition:border-color var(--dur),opacity var(--dur)}.vn-maya-prog.is-waiting{opacity:.6}.vn-maya-prog.is-working{border-color:color-mix(in srgb,var(--accent-purple) 45%,var(--glass-border))}.vn-maya-prog.is-done svg:first-child{animation:vn-maya-pop .3s var(--ease-out)}@keyframes vn-maya-pop{0%{transform:scale(.4)}70%{transform:scale(1.15)}to{transform:scale(1)}}.vn-maya-from{font-size:var(--text-xs);color:var(--accent-purple);opacity:.85;overflow-wrap:anywhere}.vn-maya-alts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.vn-maya-alt{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;max-width:100%;text-align:left;padding:5px 10px;border-radius:8px;border:1px solid var(--glass-border);background:none;color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;overflow-wrap:anywhere;transition:border-color var(--dur),background var(--dur),transform .12s}.vn-maya-alt span{font-size:var(--text-xs);color:var(--text-muted)}.vn-maya-alt:hover{border-color:var(--accent-purple)}.vn-maya-alt:active{transform:scale(.97)}.vn-maya-alt.is-on{border-color:var(--accent-purple);background:color-mix(in srgb,var(--accent-purple) 14%,transparent)}.vn-maya-warn{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;margin-bottom:12px;border-radius:10px;font-size:var(--text-sm);color:var(--accent-orange);background:color-mix(in srgb,var(--accent-orange) 10%,transparent)}@media(prefers-reduced-motion:reduce){.vn-maya-prog,.vn-maya-src.is-new,.vn-maya-prog.is-done svg:first-child{animation:none}}.vn-maya-photos{display:flex;flex-direction:column;gap:8px;margin-top:4px}.vn-maya-mini{position:relative;width:100%;max-width:420px;aspect-ratio:16 / 10;align-self:center;margin:4px 0 8px;border-radius:10px;border:1px solid var(--glass-border);background:var(--panel-inset-bg);overflow:hidden}.vn-maya-mini-stage{position:absolute;left:2%;right:2%;top:2%;height:38%;border:1px dashed var(--glass-border);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.16em;color:var(--text-muted)}.vn-maya-mini-front{position:absolute;left:0;right:0;top:4%;text-align:center;font-size:10px;letter-spacing:.16em;color:var(--text-muted);opacity:.6}.vn-maya-mini-old{position:absolute;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:var(--text-muted);opacity:.35}.vn-maya-mini-pin{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;z-index:1;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;background:var(--accent-purple);box-shadow:0 2px 6px #00000059;transition:left .35s var(--ease-out),top .35s var(--ease-out),transform .15s var(--ease-out),box-shadow .15s;animation:vn-maya-pop .3s var(--ease-out) both}.vn-maya-mini-pin.is-hot{transform:scale(1.3);z-index:2;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-purple) 35%,transparent)}.vn-maya-mini-cone{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;pointer-events:none;z-index:-1;background:conic-gradient(from -28deg,color-mix(in srgb,var(--accent-purple) 55%,transparent) 0deg,transparent 56deg);-webkit-mask:radial-gradient(circle,transparent 18%,#000 22%,#000 40%,transparent 72%);mask:radial-gradient(circle,transparent 18%,#000 22%,#000 40%,transparent 72%);transition:transform .3s var(--ease-out)}.vn-maya-photo-list{display:flex;flex-direction:column;gap:8px}.vn-maya-photo{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;padding:10px;border-radius:12px;background:var(--panel-inset-bg);border:1px solid var(--glass-border);animation:vn-maya-in .28s var(--ease-out) both;transition:opacity var(--dur),border-color var(--dur)}.vn-maya-photo.is-off{opacity:.55}.vn-maya-photo.is-hot{border-color:color-mix(in srgb,var(--accent-purple) 55%,var(--glass-border))}.vn-maya-photo-pic{position:relative}.vn-maya-photo-pic img{width:112px;height:80px;object-fit:cover;border-radius:8px;display:block;background:var(--field-bg)}.vn-maya-photo-n{position:absolute;top:5px;left:5px;width:20px;height:20px;border-radius:50%;background:var(--accent-purple);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.vn-maya-photo-body{min-width:0;display:flex;flex-direction:column;gap:6px}.vn-maya-photo-where{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.vn-maya-seg{display:inline-flex;border:1px solid var(--glass-border);border-radius:8px;overflow:hidden}.vn-maya-seg button{border:0;background:none;color:var(--text-secondary);font-size:var(--text-xs);padding:6px 9px;cursor:pointer;transition:background var(--dur),color var(--dur)}.vn-maya-seg button+button{border-left:1px solid var(--glass-border)}.vn-maya-seg button.is-on{background:color-mix(in srgb,var(--accent-purple) 22%,transparent);color:var(--text-primary)}.vn-maya-others{margin-top:4px;font-size:var(--text-sm);color:var(--text-secondary)}.vn-maya-others summary{cursor:pointer;display:flex;align-items:center;gap:6px;padding:4px 0}.vn-maya-others-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-top:8px}.vn-maya-other{display:flex;flex-direction:column;gap:4px;cursor:pointer;font-size:var(--text-xs);color:var(--text-muted);text-align:center}.vn-maya-other img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px;opacity:.6;border:2px solid transparent;transition:opacity var(--dur),border-color var(--dur)}.vn-maya-other.is-on img{opacity:1;border-color:var(--accent-purple)}.vn-maya-other.is-on span{color:var(--accent-purple)}.vn-maya-other input{position:absolute;opacity:0;width:1px;height:1px}.vn-maya-newpics{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.vn-maya-newpic{position:relative;width:72px;height:54px;animation:vn-maya-pop .25s var(--ease-out) both}.vn-maya-newpic img{width:100%;height:100%;object-fit:cover;border-radius:8px}.vn-maya-newpic button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:0;background:#000000b3;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}@media(max-width:560px){.vn-maya-photo{grid-template-columns:minmax(0,1fr)}.vn-maya-photo-pic img{width:100%;height:auto;aspect-ratio:16 / 10}}@media(prefers-reduced-motion:reduce){.vn-maya-mini-pin,.vn-maya-photo,.vn-maya-newpic{animation:none;transition:none}}.qbi-modal{background:var(--bg-secondary);border:1px solid var(--glass-border);box-shadow:0 25px 50px -12px #000000bf,0 0 0 1px #ffffff0d;border-radius:20px;width:100%;max-width:760px;max-height:90vh;display:flex;flex-direction:column;min-width:0}[data-theme=light] .qbi-modal{box-shadow:0 20px 50px #00000026;border-color:#0000001a}.qbi-body{padding:24px 28px;overflow-y:auto;flex:1;min-width:0}.qbi-lbl{display:block;font-size:var(--text-base);color:var(--text-secondary);margin-bottom:6px}.qbi-input,.qbi-textarea,.qbi-select{width:100%;box-sizing:border-box;min-width:0;padding:9px 10px;border-radius:8px;background:var(--qbi-field-bg);border:1px solid var(--qbi-field-border);color:var(--text-primary);font-size:var(--text-md);font-family:inherit}.qbi-modal{--qbi-field-bg: rgba(255, 255, 255, .05);--qbi-field-border: var(--glass-border)}[data-theme=light] .qbi-modal{--qbi-field-bg: #f3f4f6;--qbi-field-border: #d1d5db}.qbi-input:focus,.qbi-textarea:focus,.qbi-select:focus{outline:2px solid var(--accent-blue);outline-offset:-1px}.qbi-input::placeholder{color:var(--text-muted)}.qbi-field-lg{padding:10px 14px;border-radius:10px;font-size:var(--text-lg)}.qbi-textarea{resize:vertical}.qbi-line-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,2.4fr) 76px 104px 34px;gap:8px;align-items:center}.qbi-line-head{font-size:var(--text-2xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;padding:0 2px}.qbi-line-row{border-radius:10px;transition:background .12s ease}.qbi-line-row.is-active{background:var(--nav-item-active-bg, rgba(58, 134, 255, .08));box-shadow:0 0 0 6px var(--nav-item-active-bg, rgba(58, 134, 255, .08))}.qbi-del{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;display:flex;justify-content:center}.qbi-del:hover:not(:disabled){color:var(--accent-red)}.qbi-del:disabled{opacity:.3;cursor:not-allowed}.qbi-insert{display:flex;align-items:center;gap:8px;padding:2px 0;height:22px}.qbi-insert-btn{display:inline-flex;align-items:center;gap:4px;background:var(--bg-secondary);border:1px dashed var(--glass-border);color:var(--text-secondary);border-radius:20px;padding:2px 10px;font-size:var(--text-xs);cursor:pointer;white-space:nowrap}.qbi-insert-btn:hover{color:var(--accent-blue);border-color:var(--accent-blue);border-style:solid}.qbi-insert-rule{flex:1;height:1px;background:var(--glass-border)}.qbi-combo{position:relative;min-width:0}.qbi-combo-list{position:fixed;z-index:var(--z-popover);max-height:240px;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:10px;box-shadow:0 12px 32px #0006;padding:4px}[data-theme=light] .qbi-combo-list{box-shadow:0 12px 32px #00000026}.qbi-combo-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;background:none;border:none;color:var(--text-primary);padding:7px 9px;border-radius:7px;font-size:var(--text-base);cursor:pointer}.qbi-combo-opt[data-active=true]{background:var(--nav-item-active-bg, rgba(58, 134, 255, .12))}.qbi-combo-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qbi-combo-rate{display:inline-flex;align-items:center;gap:5px;color:var(--text-muted);font-size:var(--text-sm);flex-shrink:0}.qbi-combo-custom{color:var(--text-secondary);font-style:italic;border-bottom:1px solid var(--glass-border);border-radius:7px 7px 0 0;margin-bottom:2px}.qbi-combo-empty{padding:10px;font-size:var(--text-sm);color:var(--text-muted)}@media(max-width:640px){.qbi-line-head{display:none}.qbi-line-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 34px;gap:6px 8px}.qbi-line-row{padding:10px;border:1px solid var(--glass-border);margin-bottom:8px}.qbi-line-row .qbi-combo,.qbi-line-row>.qbi-input:not([type=number]){grid-column:1 / -1}.qbi-line-row>.qbi-input[type=number]:nth-of-type(2){grid-column:1}.qbi-line-row>.qbi-input[type=number]:nth-of-type(3){grid-column:2}.qbi-line-row>.qbi-del{grid-column:3}.qbi-top-grid{grid-template-columns:1fr!important}}.fin-subnav{display:flex;gap:6px;margin-top:16px;overflow-x:auto}.fin-subnav button{flex:0 0 auto;padding:7px 14px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:var(--text-base);white-space:nowrap;cursor:pointer;transition:background .18s,color .18s,border-color .18s}.fin-subnav button:hover{background:#8080801a;color:var(--text-primary)}.fin-subnav button[aria-selected=true]{background:#3a86ff24;border-color:#3a86ff4d;color:var(--accent-blue);font-weight:600}.fin-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px}.fin-toolbar .fin-spacer{flex:1 1 auto}.fin-field{display:flex;flex-direction:column;gap:5px;min-width:0}.fin-field>label,.fin-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.fin-field .glass-select,.fin-field .glass-input{min-width:150px}.fin-seg{display:inline-flex;border:1px solid var(--glass-border);border-radius:10px;overflow:hidden}.fin-seg button{padding:8px 14px;background:transparent;border:0;color:var(--text-secondary);font-size:var(--text-base);cursor:pointer;transition:background .15s,color .15s}.fin-seg button+button{border-left:1px solid var(--glass-border)}.fin-seg button[aria-pressed=true]{background:#3a86ff24;color:var(--accent-blue);font-weight:600}.fin-catalog-group{margin-bottom:28px}.fin-catalog-group h3{font-size:var(--text-lg);margin:0 0 12px}.fin-catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.fin-report-card{text-align:left;display:flex;gap:12px;align-items:flex-start;cursor:pointer;color:inherit;font:inherit;width:100%}.fin-report-card:disabled{cursor:not-allowed;opacity:.55}.fin-report-card .fin-report-icon{width:34px;height:34px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#3a86ff1f;color:var(--accent-blue)}.fin-report-card strong{display:block;font-size:var(--text-md);margin-bottom:3px}.fin-report-card span.fin-blurb{font-size:var(--text-sm);color:var(--text-muted);line-height:1.4}.fin-tag{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:10px;font-size:var(--text-2xs);font-weight:600;white-space:nowrap;background:#f59e0b1f;color:var(--accent-amber)}.fin-tag.is-local{background:#a76bd624;color:var(--accent-purple)}.fin-tag.is-good{background:#10b9811f;color:#10b981}.fin-tag.is-bad{background:#ef233c1f;color:var(--accent-red)}.fin-tag.is-muted{background:#80808024;color:var(--text-secondary)}.fin-report-head{text-align:center;padding:20px 16px 8px}.fin-report-head h2{margin:0 0 4px;font-size:var(--text-2xl)}.fin-report-head p{margin:0;color:var(--text-secondary);font-size:var(--text-md)}.fin-report-scroll{overflow-x:auto}table.fin-report{width:100%;border-collapse:collapse;font-size:var(--text-md)}table.fin-report th,table.fin-report td{padding:8px 16px;white-space:nowrap}table.fin-report th{text-align:right;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:600;border-bottom:1px solid var(--glass-border)}table.fin-report th:first-child,table.fin-report td:first-child{text-align:left;white-space:normal;min-width:220px}table.fin-report.is-compact th,table.fin-report.is-compact td{padding:8px 10px}table.fin-report.is-compact th:first-child,table.fin-report.is-compact td:first-child{min-width:0;white-space:nowrap}table.fin-report td.is-num{text-align:right;font-variant-numeric:tabular-nums}table.fin-report td.is-neg{color:var(--accent-red)}table.fin-report td.is-up{color:#10b981}table.fin-report tr.is-header td{font-weight:600;padding-top:14px}table.fin-report tr.is-total td{font-weight:700;border-top:1px solid var(--glass-border)}table.fin-report tr.is-total.is-top td{border-top:2px solid var(--text-secondary);font-size:var(--text-lg)}table.fin-report tr.is-data:hover td{background:#8080800f}.fin-margin-bar{height:6px;border-radius:3px;background:#8080802e;overflow:hidden;min-width:70px}.fin-margin-bar>span{display:block;height:100%;border-radius:3px}.fin-cost-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:14px 16px}.fin-cost-list div{font-size:var(--text-sm);color:var(--text-muted)}.fin-cost-list div strong{display:block;color:var(--text-primary);font-size:var(--text-md)}.fin-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;margin-bottom:16px;background:#f59e0b14;border:1px solid rgba(245,158,11,.25);font-size:var(--text-base);color:var(--text-secondary)}.fin-note.is-info{background:#3a86ff12;border-color:#3a86ff38}.fin-empty{padding:40px 20px;text-align:center;color:var(--text-muted)}.fin-alloc{display:grid;grid-template-columns:1fr auto 120px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--glass-border)}.fin-alloc:last-child{border-bottom:0}.fin-alloc small{color:var(--text-muted);display:block}@media(max-width:768px){.fin-toolbar{align-items:stretch}.fin-field{flex:1 1 140px}.fin-field .glass-select,.fin-field .glass-input{min-width:0;width:100%}.fin-toolbar .fin-spacer{display:none}.fin-toolbar>button{flex:1 1 140px;justify-content:center}.fin-seg{display:flex;max-width:100%}.fin-seg button{flex:1 1 auto;padding:8px 10px;white-space:nowrap}table.fin-report th,table.fin-report td{padding:7px 10px}table.fin-report th:first-child,table.fin-report td:first-child{min-width:150px}.fin-alloc{grid-template-columns:1fr 110px}.fin-alloc>.fin-alloc-due{display:none}}@media print{body *{visibility:hidden!important}.fin-print,.fin-print *{visibility:visible!important}.fin-print{position:absolute;left:0;top:0;width:100%;background:#fff!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.fin-print,.fin-print *{color:#000!important}.fin-print .fin-report-scroll{overflow:visible}.fin-print .fin-no-print{display:none!important}table.fin-report th,table.fin-report td{padding:4px 8px}table.fin-report tr.is-total td{border-top:1px solid #000}}.fin-doc{padding:4px}.fin-doc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.fin-doc-company{font-size:var(--text-2xl);font-weight:700}.fin-doc-title{font-size:var(--text-xl);font-weight:700;letter-spacing:2px;color:var(--accent-blue)}.fin-doc-meta{display:flex;justify-content:space-between;gap:16px;margin-top:20px;font-size:var(--text-md)}.fin-doc-meta .fin-label{margin-right:6px}.fin-doc-totals{margin:14px 0 0 auto;width:min(100%,280px)}.fin-doc-totals>div{display:flex;justify-content:space-between;padding:5px 10px;font-size:var(--text-md);color:var(--text-secondary)}.fin-doc-totals>div.is-total{font-weight:700;font-size:var(--text-lg);color:var(--text-primary);border-top:1px solid var(--glass-border)}.fin-doc-memo{margin-top:18px;white-space:pre-line;color:var(--text-secondary);font-size:var(--text-md)}.fin-send{display:flex;flex-direction:column;gap:14px}.fin-send-scheduled{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.fin-send-scheduled li{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 12px;border-radius:10px;font-size:var(--text-sm);color:var(--text-secondary);background:color-mix(in srgb,var(--accent-blue) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent-blue) 25%,transparent)}.fin-send-scheduled li>span{flex:1;min-width:0}.fin-send-scheduled li>svg{color:var(--accent-blue);flex-shrink:0}.fin-send-scheduled li.is-failed{background:color-mix(in srgb,var(--accent-red) 10%,transparent);border-color:color-mix(in srgb,var(--accent-red) 30%,transparent)}.fin-send-scheduled li.is-failed>svg{color:var(--accent-red)}.fin-link{background:none;border:0;padding:0;color:var(--accent-blue);cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:2px}.fin-when{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:12px;background:var(--glass-bg, rgba(127, 127, 127, .08));border:1px solid var(--glass-border)}.fin-when-pill{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:9px;background:linear-gradient(135deg,#3a86ff,#a76bd6);box-shadow:0 4px 14px #3a86ff4d;transition:transform .32s cubic-bezier(.32,.72,0,1)}.fin-when[data-when=later] .fin-when-pill{transform:translate(100%)}.fin-when>button{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;border:0;background:none;cursor:pointer;font:inherit;font-weight:600;color:var(--text-secondary);transition:color .2s ease}.fin-when>button[aria-checked=true]{color:#fff}.fin-when>button:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px;border-radius:9px}.fin-send-later{display:flex;flex-direction:column;gap:8px}.fin-send-quick{display:flex;flex-wrap:wrap;gap:8px}@media(prefers-reduced-motion:reduce){.fin-when-pill{transition:none}}.fin-tpl-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.fin-tpl-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}@media(max-width:860px){.fin-tpl-grid{grid-template-columns:minmax(0,1fr)}}.fin-tpl-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.fin-tpl-chip{border:1px solid var(--glass-border);background:none;border-radius:999px;padding:3px 10px;cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-xs);color:var(--text-secondary);transition:background .16s ease,color .16s ease,transform .16s ease}.fin-tpl-chip:hover{background:color-mix(in srgb,var(--accent-blue) 14%,transparent);color:var(--text-primary)}.fin-tpl-chip:active{transform:scale(.95)}.fin-tpl-preview{background:#fff;color:#222;border-radius:12px;padding:18px 20px;border:1px solid var(--glass-border);font-family:sans-serif;font-size:14px;line-height:1.6;min-height:100%}.fin-tpl-preview-subject{font-weight:700;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #eee}.fin-tpl-preview p{margin:0 0 12px;white-space:pre-line}.fin-tpl-preview-figures{border:1px dashed #ccc;border-radius:8px;padding:10px;color:#888;font-size:12px;text-align:center;margin:4px 0 12px}.es{display:flex;flex-direction:column;gap:14px;min-width:0}.es-stats{display:flex;flex-wrap:wrap;gap:8px}.es-stat{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:var(--panel-inset-bg);border:1px solid var(--glass-border);color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap}.es-dot{width:9px;height:9px;border-radius:50%}.es-dot.is-event{background:var(--accent-blue)}.es-dot.is-rental{background:var(--accent-purple)}.es-dot.is-checkout{background:var(--accent-amber)}.es-stat-clash{cursor:pointer;font:inherit;font-size:var(--text-sm);transition:background var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.es-stat-clash.is-hot{color:var(--accent-red);border-color:#ef444473;background:#ef444414}.es-stat-clash.is-on{box-shadow:0 0 0 2px #ef444459}.es-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}.es-nav{display:flex;align-items:center;gap:6px}.es-range{margin-left:6px;font-weight:600;color:var(--text-primary);white-space:nowrap}.es-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.es-seg{display:inline-flex;padding:3px;gap:2px;border-radius:10px;background:var(--nav-icon-bg, var(--panel-inset-bg));border:1px solid var(--glass-border)}.es-seg button{border:0;background:transparent;color:var(--text-secondary);cursor:pointer;padding:5px 10px;border-radius:7px;font-size:var(--text-sm);white-space:nowrap;transition:background var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.es-seg button.is-on{background:var(--accent-blue);color:#fff}.es-search{position:relative;display:flex;align-items:center}.es-search svg{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.es-search input{padding-left:30px;width:220px;max-width:100%}.es-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px 16px;text-align:center;color:var(--text-muted);border:1px dashed var(--glass-border);border-radius:14px}.es-scroll{overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--glass-border);border-radius:14px;background:var(--panel-inset-bg)}.es-grid{--es-name: 200px;display:grid;grid-template-columns:var(--es-name) repeat(var(--es-days),minmax(34px,1fr));min-width:calc(var(--es-name) + var(--es-days) * 34px)}.es-head{position:sticky;top:0;z-index:3;background:var(--bg-secondary);border-bottom:1px solid var(--glass-border);font-size:var(--text-xs);color:var(--text-muted)}.es-corner{left:0;z-index:5;display:flex;align-items:flex-end;padding:8px 12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.es-day{display:flex;flex-direction:column;align-items:center;padding:6px 0;gap:1px;border-left:1px solid var(--glass-border)}.es-day strong{font-size:var(--text-sm);color:var(--text-secondary);font-weight:600}.es-day.is-weekend{color:var(--text-muted)}.es-day.is-today strong{color:#fff;background:var(--accent-blue);border-radius:999px;min-width:22px;padding:0 5px;text-align:center}.es-asset{position:sticky;left:0;z-index:4;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;padding:6px 12px;min-width:0;text-align:left;cursor:pointer;background:var(--bg-secondary);border:0;border-bottom:1px solid var(--glass-border);border-right:1px solid var(--glass-border);color:var(--text-primary);font:inherit;transition:background var(--dur) var(--ease-out)}.es-asset:hover{background:var(--bg-tertiary, var(--bg-secondary))}.es-asset:hover .es-asset-name{color:var(--accent-blue)}.es-asset-name{font-weight:600;font-size:var(--text-sm);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--dur) var(--ease-out)}.es-asset-sub{font-size:var(--text-xs);color:var(--text-muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.es-asset.is-clash{box-shadow:inset 3px 0 0 var(--accent-red)}.es-asset-warn{position:absolute;top:7px;right:8px;color:var(--accent-red)}.es-asset.is-clash .es-asset-name{padding-right:16px}.es-track{grid-column:2 / -1;display:grid;grid-template-columns:subgrid;grid-template-rows:repeat(var(--es-lanes),28px);row-gap:3px;padding:5px 0;border-bottom:1px solid var(--glass-border);position:relative}.es-cell{border-left:1px solid var(--glass-border);margin:-5px 0}.es-cell.is-weekend{background:#7f7f7f0d}.es-cell.is-today{background:#3a86ff14}.es-bar{position:relative;z-index:1;display:flex;align-items:center;gap:4px;min-width:0;margin:0 2px;padding:0 8px;border-radius:7px;border:1px solid transparent;font:inherit;font-size:var(--text-xs);font-weight:600;color:#fff;text-align:left;cursor:pointer;overflow:hidden;white-space:nowrap;transition:transform var(--dur-fast, .12s) var(--ease-out),box-shadow var(--dur) var(--ease-out),filter var(--dur) var(--ease-out);animation:es-bar-in var(--dur, .22s) var(--ease-out) both}.es-bar span{overflow:hidden;text-overflow:ellipsis}.es-bar:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00000040;filter:brightness(1.08);z-index:2}.es-bar:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.es-bar.is-event{background:linear-gradient(135deg,var(--accent-blue),color-mix(in srgb,var(--accent-blue) 75%,#000))}.es-bar.is-rental{background:linear-gradient(135deg,var(--accent-purple),color-mix(in srgb,var(--accent-purple) 75%,#000))}.es-bar.is-checkout{background:linear-gradient(135deg,var(--accent-amber),color-mix(in srgb,var(--accent-amber) 78%,#000));color:#1a1205}.es-bar.is-returned{opacity:.45;filter:saturate(.5)}.es-bar.is-clash{border-color:var(--accent-red);box-shadow:0 0 0 1px var(--accent-red),0 0 12px #ef444459}.es-bar.is-clash svg{flex-shrink:0;color:#fff}.es-bar.is-checkout.is-clash svg{color:#7f1d1d}.es-bar.clip-start{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.es-bar.clip-end{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}@keyframes es-bar-in{0%{opacity:0;transform:scaleX(.92);transform-origin:left center}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.es-bar{animation:none;transition:none}}@media(max-width:700px){.es-grid{--es-name: 128px}.es-toolbar,.es-filters{width:100%}.es-search{flex:1 1 100%}.es-search input{width:100%}.es-seg{overflow-x:auto;max-width:100%}}.es-cal{border:1px solid var(--glass-border);border-radius:14px;overflow:hidden;background:var(--panel-inset-bg)}.es-cal-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--bg-secondary);border-bottom:1px solid var(--glass-border)}.es-cal-head div{padding:8px 10px;font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.es-cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));row-gap:3px;min-height:104px;padding-bottom:6px;border-bottom:1px solid var(--glass-border)}.es-cal-week:last-child{border-bottom:0}.es-cal-day{border-left:1px solid var(--glass-border);margin-bottom:-6px;padding:6px 8px 0}.es-cal-day:first-child{border-left:0}.es-cal-day.is-weekend{background:#7f7f7f0d}.es-cal-day.is-outside{background:#7f7f7f17}.es-cal-day.is-outside .es-cal-num{color:var(--text-muted);opacity:.6}.es-cal-day.is-today{background:#3a86ff14}.es-cal-num{display:inline-block;min-width:22px;padding:0 5px;border-radius:999px;text-align:center;font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.es-cal-day.is-today .es-cal-num{color:#fff;background:var(--accent-blue)}.es-cal-bar{margin:0 4px;padding:0 6px;border-radius:6px}.es-cal-bar.clip-start{margin-left:0}.es-cal-bar.clip-end{margin-right:0}@media(max-width:700px){.es-cal-head div{padding:6px 4px;text-align:center}.es-cal-week{min-height:72px}.es-cal-day{padding:4px 2px 0;text-align:center}.es-cal-bar{margin:0 1px;padding:0 4px;font-size:10px}}.as-head{display:flex;gap:16px;align-items:flex-start;min-width:0;flex:1 1 380px}.as-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.as-thumb{width:64px;height:64px;border-radius:14px;flex-shrink:0;object-fit:contain;background:#fff;border:1px solid var(--glass-border)}.as-thumb.is-empty{display:flex;align-items:center;justify-content:center;background:var(--panel-inset-bg);color:var(--accent-purple)}.as-thumb.is-sm{width:28px;height:28px;border-radius:7px}.as-thumb.is-sm.is-empty{color:var(--text-muted)}.as-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.as-nickname{white-space:nowrap;font-weight:500;font-style:italic;color:var(--text-secondary);font-size:.92em}.as-nickname-lg{font-size:var(--text-xl)}.as-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:16px 20px}.as-facts>.is-wide{grid-column:1 / -1}.as-facts .pj-fact-value{font-size:var(--text-md);overflow-wrap:anywhere}.as-notes{color:var(--text-secondary);white-space:pre-wrap;line-height:1.55;overflow-wrap:anywhere}.as-row-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.as-more{margin-top:12px;padding:0;font-size:var(--text-sm);color:var(--accent-blue)}.as-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.as-photo{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;cursor:pointer;border:1px solid var(--glass-border);background:var(--panel-inset-bg);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.as-photo:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.as-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--dur) var(--ease-out)}.as-photo:hover img{transform:scale(1.04)}.as-photo-del{position:absolute;top:6px;right:6px;width:26px;height:26px;padding:0;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#0009;color:#fff;opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.as-photo:hover .as-photo-del,.as-photo:focus-within .as-photo-del{opacity:1}@media(hover:none){.as-photo-del{opacity:1}}@media(max-width:1100px){.as-grid{grid-template-columns:1fr!important}}@media(max-width:768px){.as-head{flex-basis:auto}.as-thumb:not(.is-sm){width:52px;height:52px;border-radius:12px}.as-actions{width:100%;gap:6px;flex-wrap:nowrap}.as-actions>.btn-sm{flex:1 1 auto;padding-inline:8px;white-space:nowrap}}@media(prefers-reduced-motion:reduce){.as-photo img,.as-photo-del{transition:none}}.as-follow-pill{border:none;cursor:pointer;flex-shrink:0;transition:background .15s ease,transform .15s ease}.as-follow-pill:hover{background:color-mix(in srgb,var(--pj-c) 20%,transparent)}.as-follow-pill:active{transform:scale(.96)}.as-follow-toggle{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid var(--glass-border);cursor:pointer}.as-follow-toggle input{margin-top:3px}.comms{display:flex;flex-direction:column;height:100%;min-height:0}.comms-top{display:flex;align-items:center;gap:16px;margin-bottom:18px}.comms-top h1{margin:0;font-size:var(--text-3xl);white-space:nowrap}.comms-search{position:relative;flex:1;max-width:720px}.comms-search input{width:100%;height:44px;padding:0 40px 0 44px;border-radius:999px;background:var(--bg-secondary);border:1px solid var(--glass-border);color:var(--text-primary);font-size:var(--text-md);outline:none;transition:border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.comms-search input::placeholder{color:var(--text-muted)}.comms-search input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px rgba(var(--accent-blue-rgb),.18)}.comms-search>svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.comms-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%)}.comms-top-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.comms-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;background:none;border:none;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.comms-icon-btn:hover:not(:disabled){background:#7f7f7f29;color:var(--text-primary)}.comms-icon-btn:disabled{opacity:.35;cursor:default}.comms-icon-btn.is-on{color:var(--accent-blue)}.comms-icon-btn.is-starred{color:#f5b400}.comms-body{display:flex;gap:16px;flex:1;min-height:0}.comms-rail{width:204px;flex-shrink:0;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.comms-compose-btn{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;height:52px;padding:0 22px 0 18px;margin:0 0 14px 2px;border-radius:16px;font-size:var(--text-md);font-weight:600}.comms-rail-label{padding:14px 14px 6px;font-size:var(--text-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.comms-rail-item{display:flex;align-items:center;gap:14px;width:100%;height:36px;padding:0 14px;border:none;border-radius:999px;background:none;cursor:pointer;text-align:left;color:var(--text-secondary);font-size:var(--text-md);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.comms-rail-item:hover{background:#7f7f7f1f;color:var(--text-primary)}.comms-rail-item.is-active{background:rgba(var(--accent-blue-rgb),.16);color:var(--text-primary);font-weight:600}.comms-rail-item.is-active svg{color:var(--accent-blue)}.comms-rail-item span.label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comms-rail-count{font-size:var(--text-xs);font-weight:600;color:var(--text-primary)}.comms-rail-count.is-quiet{font-weight:400;color:var(--text-muted)}.comms-rail-sep{height:1px;margin:10px 14px;background:var(--glass-border)}.comms-main{flex:1;min-width:0;min-height:0;display:flex;gap:16px}.comms-panel{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.comms-main>.comms-panel{flex:1}.comms-main.is-split>.comms-list-panel{flex:0 0 clamp(320px,36%,460px)}.comms-toolbar{display:flex;align-items:center;gap:2px;min-height:48px;padding:6px 10px;border-bottom:1px solid var(--glass-border);flex-shrink:0}.comms-toolbar .spacer{flex:1}.comms-toolbar-sep{width:1px;height:20px;margin:0 6px;background:var(--glass-border)}.comms-filter{display:inline-flex;align-items:center;gap:6px;height:28px;margin-left:6px;padding:0 12px;border-radius:999px;border:1px solid var(--glass-border);background:none;cursor:pointer;color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.comms-filter:hover{color:var(--text-primary);background:#7f7f7f1f}.comms-filter.is-on{background:rgba(var(--accent-blue-rgb),.16);border-color:var(--accent-blue);color:var(--accent-blue);font-weight:600}.comms-range{padding:0 8px;font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.comms-selected-count{padding:0 8px;font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap}.comms-check{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.comms-check input{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--accent-blue)}.comms-rows{flex:1;overflow-y:auto;overscroll-behavior:contain}.comms-row{position:relative;display:grid;align-items:center;column-gap:6px;grid-template-columns:34px 30px minmax(120px,190px) minmax(0,1fr) auto;grid-template-areas:"check star who text date";min-height:42px;padding:0 14px 0 4px;border-bottom:1px solid var(--glass-border);cursor:pointer;color:var(--text-secondary);font-size:var(--text-md);transition:background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.comms-row .comms-check{grid-area:check}.comms-row .comms-row-star{grid-area:star}.comms-row-who{grid-area:who;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comms-row-who .n{margin-left:5px;font-size:var(--text-xs);font-weight:400;color:var(--text-muted)}.comms-row-who .draft{color:var(--accent-red);font-weight:500}.comms-row-text{grid-area:text;min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;white-space:nowrap}.comms-row-subject{flex-shrink:0;max-width:60%;overflow:hidden;text-overflow:ellipsis}.comms-row-snippet{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted)}.comms-row-snippet:before{content:"— "}.comms-row-date{grid-area:date;padding-left:10px;font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;text-align:right}.comms-chip{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;max-width:160px;padding:1px 8px;border-radius:999px;font-size:var(--text-2xs);font-weight:500;background:#10b9811f;color:#10b981;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comms-row.is-unread{background:#ffffff0b;color:var(--text-primary)}.comms-row.is-unread .comms-row-who,.comms-row.is-unread .comms-row-subject,.comms-row.is-unread .comms-row-date{font-weight:700;color:var(--text-primary)}[data-theme=light] .comms-row{background:#00000008}[data-theme=light] .comms-row.is-unread{background:#fff}.comms-row:hover{box-shadow:inset 0 1px 0 var(--glass-border),0 2px 10px #00000047;z-index:1}[data-theme=light] .comms-row:hover{box-shadow:inset 0 1px #00000014,0 2px 8px #0000001f}.comms-row.is-selected,[data-theme=light] .comms-row.is-selected{background:rgba(var(--accent-blue-rgb),.16)}.comms-row.is-open,[data-theme=light] .comms-row.is-open{background:rgba(var(--accent-blue-rgb),.12)}.comms-row.is-cursor:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent-blue)}.comms-row-actions{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:none;align-items:center;gap:0;background:var(--bg-secondary);border-radius:999px;box-shadow:-14px 0 12px 2px var(--bg-secondary)}@media(hover:hover){.comms-row:hover .comms-row-actions{display:flex}.comms-row:hover .comms-row-date{visibility:hidden}}.comms-rows.is-stacked .comms-row{grid-template-columns:34px minmax(0,1fr) auto;grid-template-areas:"check who date" "star text text";row-gap:0;padding:8px 12px 8px 4px}.comms-rows.is-stacked .comms-row-text{display:block;white-space:normal}.comms-rows.is-stacked .comms-row-subject,.comms-rows.is-stacked .comms-row-snippet{display:block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comms-rows.is-stacked .comms-row-snippet{font-size:var(--text-sm)}.comms-rows.is-stacked .comms-row-snippet:before{content:none}.comms-rows.is-stacked .comms-chip{margin-top:3px}.comms-rows.is-stacked .comms-row-star{align-self:start}.comms-empty{padding:56px 20px;text-align:center;color:var(--text-muted)}.comms-empty svg{opacity:.5;margin-bottom:10px}.comms-row-skeleton{display:flex;align-items:center;gap:14px;height:42px;padding:0 16px;border-bottom:1px solid var(--glass-border)}.comms-thread-scroll{flex:1;overflow-y:auto;padding:0 0 24px}.comms-thread-head{display:flex;align-items:flex-start;gap:12px;padding:20px 24px 6px 68px}.comms-thread-head h2{flex:1;min-width:0;margin:0;font-size:var(--text-3xl);font-weight:400;line-height:1.3;overflow-wrap:anywhere}.comms-thread-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 24px 12px 68px}.comms-folder-tag{flex-shrink:0;padding:2px 8px;border-radius:6px;font-size:var(--text-xs);background:#7f7f7f2e;color:var(--text-secondary)}.comms-msg{border-top:1px solid var(--glass-border);animation:luxRouteEnter var(--dur) var(--ease-out) both}.comms-msg-head{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer}.comms-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600}.comms-msg-who{min-width:0;flex:1}.comms-msg-who .line1{display:flex;align-items:baseline;gap:8px;min-width:0}.comms-msg-who .name{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.comms-msg-who .addr{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.comms-msg-who .line2{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.comms-msg-date{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;flex-shrink:0}.comms-msg.is-collapsed .comms-msg-head:hover{background:#7f7f7f14}.comms-msg-body{padding:0 16px 8px 68px}.comms-msg-body iframe{display:block;width:100%;border:none;border-radius:10px;background:#fff}.comms-msg-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;color:var(--text-primary);padding:4px 0 12px}.comms-thread-more{display:flex;align-items:center;gap:12px;padding:10px 16px 10px 68px;border-top:1px solid var(--glass-border);background:none;border-left:none;border-right:none;border-bottom:none;width:100%;color:var(--text-muted);cursor:pointer;font-size:var(--text-sm);text-align:left}.comms-thread-more:hover{color:var(--text-primary);background:#7f7f7f14}.comms-reply-bar{display:flex;gap:10px;flex-wrap:wrap;padding:20px 24px 0 68px}.comms-reply-bar .btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px}.comms-link-box{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--glass-border);background:var(--bg-secondary);overflow:hidden;max-width:100%}.comms-link-pill{display:inline-flex;align-items:center;gap:8px;padding:4px 6px 4px 12px;border-radius:999px;background:#10b9811a;border:1px solid rgba(16,185,129,.25);color:#10b981;font-size:var(--text-sm)}.comms-composer{position:fixed;right:28px;bottom:0;z-index:var(--z-drawer);width:min(560px,calc(100vw - 32px));height:min(600px,calc(100vh - 80px));display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--glass-border);border-bottom:none;border-radius:14px 14px 0 0;box-shadow:0 12px 48px #00000080;animation:commsComposerIn var(--dur) var(--ease-out) both}[data-theme=light] .comms-composer{box-shadow:0 8px 40px #00000038}@keyframes commsComposerIn{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.comms-composer.is-min{width:300px;height:auto}.comms-composer.is-min .comms-composer-body{display:none}.comms-composer.is-expanded{right:50%;bottom:50%;transform:translate(50%,50%);animation:none;width:min(980px,calc(100vw - 64px));height:min(820px,calc(100vh - 64px));border-bottom:1px solid var(--glass-border);border-radius:14px;z-index:calc(var(--z-modal) + 1)}.comms-composer-scrim{position:fixed;inset:0;z-index:var(--z-modal);background:#00000080}.comms-composer-head{display:flex;align-items:center;gap:2px;height:42px;padding:0 6px 0 16px;flex-shrink:0;border-radius:13px 13px 0 0;background:#7f7f7f24;cursor:pointer;font-size:var(--text-md);font-weight:600;color:var(--text-primary)}.comms-composer-head .title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comms-composer-head .comms-icon-btn{width:28px;height:28px}.comms-composer-body{flex:1;min-height:0;display:flex;flex-direction:column}.comms-field{display:flex;align-items:flex-start;gap:8px;padding:6px 16px;border-bottom:1px solid var(--glass-border);font-size:var(--text-md)}.comms-field>label{flex-shrink:0;padding-top:5px;color:var(--text-muted);min-width:22px}.comms-field input.plain{flex:1;min-width:0;height:30px;padding:0;background:none;border:none;outline:none;color:var(--text-primary);font-size:var(--text-md)}.comms-field .side{display:flex;gap:10px;padding-top:5px;flex-shrink:0}.comms-field .side button{background:none;border:none;padding:0;cursor:pointer;color:var(--text-muted);font-size:var(--text-sm)}.comms-field .side button:hover{color:var(--text-primary);text-decoration:underline}.comms-recipients{position:relative;flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px;cursor:text}.comms-recipients input{flex:1;min-width:120px;height:30px;padding:0;background:none;border:none;outline:none;color:var(--text-primary);font-size:var(--text-md)}.comms-recipient{display:inline-flex;align-items:center;gap:4px;max-width:100%;height:26px;padding:0 4px 0 10px;border-radius:999px;border:1px solid var(--glass-border);background:#7f7f7f1a;font-size:var(--text-sm);color:var(--text-primary)}.comms-recipient span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comms-recipient.is-invalid{border-color:var(--accent-red);color:var(--accent-red)}.comms-recipient button{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:none;color:inherit;cursor:pointer;opacity:.6}.comms-recipient button:hover{opacity:1;background:#7f7f7f40}.comms-suggest{position:absolute;left:0;top:calc(100% + 6px);z-index:5;width:min(380px,100%);padding:6px;background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:12px;box-shadow:0 16px 40px #0006}.comms-suggest button{display:flex;align-items:center;gap:10px;width:100%;padding:6px 8px;border:none;border-radius:8px;background:none;text-align:left;cursor:pointer;color:var(--text-primary)}.comms-suggest button.is-active{background:rgba(var(--accent-blue-rgb),.16)}.comms-suggest .comms-avatar{width:28px;height:28px;font-size:var(--text-xs)}.comms-suggest .who{min-width:0;flex:1}.comms-suggest .who div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comms-suggest .who .sub{font-size:var(--text-xs);color:var(--text-muted)}.comms-editor{flex:1;min-height:0;overflow-y:auto;padding:14px 16px;outline:none;color:var(--text-primary);font-size:var(--text-md);line-height:1.6;overflow-wrap:anywhere}.comms-editor:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.comms-editor blockquote{margin:6px 0 0;padding-left:12px;border-left:2px solid var(--glass-border);color:var(--text-secondary)}.comms-editor a{color:var(--accent-blue)}.comms-editor ul,.comms-editor ol{margin:4px 0;padding-left:24px}.comms-composer-foot{display:flex;align-items:center;gap:2px;padding:10px 12px;border-top:1px solid var(--glass-border);flex-shrink:0}.comms-composer-foot .btn-primary{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding-left:20px;padding-right:20px;margin-right:8px}.comms-composer-foot .saved{margin-left:auto;padding:0 8px;font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.comms-keys{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 28px}.comms-keys div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0;font-size:var(--text-md);color:var(--text-secondary)}.comms-keys kbd,.comms-kbd{display:inline-block;min-width:22px;padding:2px 6px;border-radius:6px;text-align:center;border:1px solid var(--glass-border);background:#7f7f7f1f;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-xs);color:var(--text-primary)}.comms-signature-preview{padding:12px 14px;border-radius:10px;border:1px solid var(--glass-border);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-primary)}.comms-fab{display:none}.comms.is-compact .comms-top{flex-wrap:wrap;gap:10px;margin-bottom:12px}.comms.is-compact .comms-search{order:3;flex-basis:100%;max-width:none}.comms.is-compact .comms-rail{display:none}.comms.is-compact .comms-fab{position:fixed;right:28px;bottom:28px;z-index:var(--z-sticky);display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 20px;border-radius:18px;box-shadow:0 10px 30px #00000073}@media(max-width:768px){.comms-top h1{font-size:var(--text-2xl)}.comms-thread-head,.comms-thread-meta,.comms-reply-bar{padding-left:16px;padding-right:16px}.comms-thread-head h2{font-size:var(--text-2xl)}.comms-msg-body,.comms-thread-more{padding-left:16px}.comms-msg-who .addr{display:none}.comms-composer,.comms-composer.is-expanded{inset:0;transform:none;width:100vw;height:100dvh;border:none;border-radius:0;z-index:calc(var(--z-modal) + 1);padding-top:var(--safe-top, 0px);padding-bottom:var(--safe-bottom)}.comms-composer.is-min{inset:auto 0 0;height:auto;width:100vw;padding-top:0}.comms-composer-head{border-radius:0}.comms.is-compact .comms-fab{right:18px;bottom:calc(var(--safe-bottom) + 20px)}html.native .comms.is-compact .comms-fab{bottom:calc(var(--safe-bottom) + var(--tabbar-gap) + var(--tabbar-h) + 14px)}.comms-keys{grid-template-columns:1fr}}@keyframes mayaBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes mayaFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes mayaPulse{0%,to{opacity:.6}50%{opacity:1}}.maya-page{display:flex;flex-direction:column;height:100%;min-height:0}.maya-page__head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.maya-page__head h1{display:flex;align-items:center;gap:10px;margin-bottom:6px}.maya-page__sub{margin:0;color:var(--text-secondary)}.maya-page__actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.maya-body{flex:1;min-height:0;display:grid;grid-template-columns:272px minmax(0,1fr);gap:16px;align-items:stretch}.maya-rail{display:flex;flex-direction:column;min-height:0;overflow:hidden}.maya-rail__top{padding:14px 14px 0}.maya-rail__search{position:relative}.maya-rail__search>svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.maya-rail__search input{width:100%;padding-left:32px}.maya-rail__tabs{gap:18px;margin:12px 0 0}.maya-rail__tabs .lux-tab{position:relative;font-size:var(--text-md);padding-bottom:10px}.maya-rail__tabs .lux-tab--active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple))}.maya-rail__list{flex:1;min-height:0;overflow-y:auto;padding:8px}.maya-rail__note{margin:0;padding:20px 12px;text-align:center;color:var(--text-muted);font-size:var(--text-base);line-height:1.5}.maya-rail__group{padding:10px 8px 4px;font-size:var(--text-2xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.maya-rail__item{position:relative;display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text-secondary);cursor:pointer;text-align:left;transition:background var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.maya-rail__item:hover{background:var(--hover-tint)}.maya-rail__item.is-active{background:rgba(var(--accent-blue-rgb),.12);border-color:rgba(var(--accent-blue-rgb),.4);color:var(--accent-blue)}.maya-rail__item-icon{flex-shrink:0;color:var(--text-muted)}.maya-rail__item.is-active .maya-rail__item-icon{color:var(--accent-blue)}.maya-rail__item-text{flex:1;min-width:0}.maya-rail__item-title{font-size:var(--text-md);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.maya-rail__item.is-active .maya-rail__item-title{color:var(--accent-blue)}.maya-rail__item-preview{margin-top:2px;font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.maya-rail__item-time{flex-shrink:0;font-size:var(--text-3xs);color:var(--text-muted);transition:opacity var(--dur) var(--ease-out)}.maya-rail__delete{position:absolute;right:6px;opacity:0;transition:opacity var(--dur) var(--ease-out)}.maya-rail__item:hover .maya-rail__delete,.maya-rail__delete:focus-visible{opacity:1}.maya-rail__item:hover .maya-rail__item-time{opacity:0}@media(hover:none){.maya-rail__delete{position:static;opacity:1;margin-left:2px}}.maya-thread{display:flex;flex-direction:column;min-height:0;overflow:hidden}.maya-thread__head{display:flex;align-items:center;gap:8px;min-height:56px;padding:10px 14px;border-bottom:1px solid var(--glass-border)}.maya-thread__title{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:0;border:none;background:none;font:inherit;font-size:var(--text-xl);font-weight:600;color:var(--text-primary);text-align:left;cursor:pointer}.maya-thread__title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.maya-thread__title svg{flex-shrink:0;color:var(--text-muted);opacity:0;transition:opacity var(--dur) var(--ease-out)}.maya-thread__title:hover svg{opacity:1}.maya-thread__title--static{cursor:default;color:var(--text-secondary)}.maya-thread__shared-by{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:5px 10px;border-radius:999px;background:rgba(var(--accent-blue-rgb),.12);color:var(--accent-blue);font-size:var(--text-xs);font-weight:500;white-space:nowrap}.maya-thread__title-input{flex:1;min-width:0}.maya-thread__body{flex:1;min-height:0;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:14px}.maya-mark{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-purple) 0%,var(--accent-blue) 100%);flex-shrink:0;margin-top:2px}.maya-mark--lg{width:48px;height:48px;border-radius:14px;margin-top:0}.maya-msg{display:flex;align-items:flex-start;gap:10px;animation:mayaFadeIn var(--dur) var(--ease-out)}.maya-msg--user{justify-content:flex-end}.maya-msg__col{max-width:76%;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.maya-msg--user .maya-msg__col{align-items:flex-end}.maya-msg__body{max-width:100%;padding:11px 14px;color:var(--text-primary);font-size:var(--text-md);line-height:1.6;white-space:pre-wrap;word-break:break-word}.maya-msg--user .maya-msg__body{background:rgba(var(--accent-blue-rgb),.12);border-color:rgba(var(--accent-blue-rgb),.28)}.maya-rate{display:flex;gap:2px}.maya-rate__btn{display:inline-flex;padding:3px;border:none;border-radius:6px;background:none;color:var(--text-muted);cursor:pointer;transition:color var(--dur) var(--ease-out),background var(--dur) var(--ease-out)}.maya-rate__btn:hover:not(:disabled){color:var(--text-secondary);background:var(--hover-tint)}.maya-rate__btn:disabled{cursor:default}.maya-rate__btn.is-on{color:var(--accent-blue)}.maya-rate__btn.is-off{opacity:.3}.maya-cursor{display:inline-block;width:7px;height:15px;background:var(--accent-purple);border-radius:2px;margin-left:2px;vertical-align:text-bottom;animation:mayaBlink 1s step-end infinite}.maya-loading{display:flex;gap:4px;align-items:center;padding:4px 0}.maya-loading__dot{width:6px;height:6px;border-radius:50%;background:var(--accent-purple);animation:mayaPulse 1.4s ease-in-out infinite}.maya-loading__dot:nth-child(2){animation-delay:.2s}.maya-loading__dot:nth-child(3){animation-delay:.4s}.maya-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px 12px;text-align:center}.maya-hero__title{margin:0;font-size:var(--text-2xl);font-weight:600;color:var(--text-primary)}.maya-hero__sub{margin:0;max-width:440px;color:var(--text-secondary);font-size:var(--text-md);line-height:1.6}.maya-hero__prompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;max-width:520px;margin-top:4px}.maya-prompt{display:flex;align-items:center;gap:9px;padding:12px 14px;font:inherit;font-size:var(--text-md);color:var(--text-secondary);text-align:left;cursor:pointer}.maya-prompt svg{flex-shrink:0;color:var(--accent-blue)}.maya-prompt:hover{border-color:rgba(var(--accent-blue-rgb),.45);color:var(--text-primary)}.maya-composer{padding:12px 14px 14px;border-top:1px solid var(--glass-border)}.maya-composer__field{display:flex;align-items:flex-end;gap:8px;padding:5px 5px 5px 12px;border:1px solid var(--field-border);border-radius:12px;background:var(--field-bg);transition:border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.maya-composer__field.is-focused{border-color:var(--accent-blue);box-shadow:0 0 0 2px rgba(var(--accent-blue-rgb),.15)}.maya-composer__input{flex:1;background:transparent;border:none;outline:none;resize:none;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:1.5;max-height:120px;min-height:30px;padding:4px 0;box-sizing:border-box}.maya-composer__input::placeholder{color:var(--field-placeholder)}.maya-share-option{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:8px;padding:12px 16px;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:transparent;text-align:left;cursor:pointer;transition:background var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.maya-share-option:hover{background:var(--hover-tint)}.maya-share-option.is-active{border-color:var(--accent-blue);background:rgba(var(--accent-blue-rgb),.1)}.maya-share-people{max-height:180px;overflow-y:auto;margin-bottom:20px;padding:8px;border:1px solid var(--glass-border);border-radius:var(--radius-sm)}.maya-share-person{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background var(--dur) var(--ease-out)}.maya-share-person:hover{background:var(--hover-tint)}.maya-share-person.is-selected{background:rgba(var(--accent-blue-rgb),.1)}.maya-share-check{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--glass-border);border-radius:4px}.maya-share-person.is-selected .maya-share-check{border-color:transparent;background:var(--accent-blue)}@media(max-width:768px){.maya-body{grid-template-columns:minmax(0,1fr)}.maya-page__head{margin-bottom:14px}.maya-page__sub{display:none}.maya-page__actions{width:100%}.maya-page__actions>*{flex:1}.maya-thread__body{padding:14px}.maya-msg__col{max-width:88%}.maya-hero__prompts{grid-template-columns:minmax(0,1fr)}}.maya-md{white-space:normal}.maya-md>:first-child{margin-top:0}.maya-md>:last-child{margin-bottom:0}.maya-md-p{margin:0 0 10px}.maya-md-list{margin:0 0 10px;padding-left:20px}.maya-md-list li{margin:3px 0}.maya-md-h{font-weight:600;margin:14px 0 6px;line-height:1.4}.maya-md-h1{font-size:var(--text-xl)}.maya-md-h2{font-size:var(--text-lg)}.maya-md-h3,.maya-md-h4{font-size:var(--text-md)}.maya-md-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;padding:1px 5px;border-radius:4px;background:#80808029;word-break:break-all}.portal-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.portal-topbar{height:70px;background:var(--bg-secondary);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 32px;position:sticky;top:0;z-index:100;box-shadow:0 4px 6px -1px #0000000d}.portal-topbar-left{display:flex;align-items:center;gap:40px;min-width:0;flex:1}.portal-brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.portal-brand-logo{height:34px;max-width:190px;object-fit:contain;display:block}.portal-brand-text{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.5px;color:var(--text-primary);white-space:nowrap}.portal-nav{display:flex;gap:8px;min-width:0}.portal-nav-link{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;color:var(--text-secondary);font-size:var(--text-md);font-weight:500;text-decoration:none;white-space:nowrap;transition:color .2s,background .2s}.portal-nav-link:hover{color:var(--text-primary);background:var(--glass-bg)}.portal-nav-link.is-active{color:var(--accent-blue);background:color-mix(in srgb,var(--accent-blue) 12%,transparent)}.portal-user{text-align:right;min-width:0}.portal-user-name{font-size:var(--text-md);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-user-email{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-main{flex:1;padding:32px;max-width:1200px;width:100%;margin:0 auto}@media(max-width:1150px){.portal-user{display:none}}@media(max-width:1300px){.portal-feedback-label{display:none}}@media(min-width:769px)and (max-width:1150px){.portal-nav-link-label{display:none}.portal-nav-link{padding:8px 10px}.portal-nav{gap:2px}.portal-topbar-left{gap:20px}}.portal-table{width:100%;border-collapse:collapse}.portal-table th{padding:20px;font-size:var(--text-md);color:var(--text-muted);text-align:left;background:#ffffff0d}.portal-table td{padding:20px}.portal-table tbody tr{border-bottom:1px solid var(--glass-border)}@media(max-width:768px){.portal-topbar{padding:0 16px;height:60px}.portal-topbar-left{gap:0}.portal-nav{position:fixed;inset:auto 0 0;background:#fff;border-top:1px solid #e2e8f0;gap:0;padding:6px 4px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));z-index:100;box-shadow:0 -2px 10px #0000000f}.portal-nav-link{flex:1;flex-direction:column;gap:3px;padding:6px 2px;font-size:var(--text-3xs);text-align:center;min-height:44px;justify-content:center}.portal-nav-link.is-active{background:transparent}.portal-user,.portal-signout-label{display:none}.portal-main{padding:16px;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.portal-table thead{display:none}.portal-table,.portal-table tbody,.portal-table tr,.portal-table td{display:block;width:100%}.portal-table tbody tr{border:1px solid var(--glass-border);border-radius:12px;margin-bottom:12px;padding:6px 4px}.portal-table td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;text-align:right}.portal-table td:before{content:attr(data-label);color:var(--text-muted);font-size:var(--text-sm);text-align:left;flex-shrink:0}.portal-table td[colspan]{justify-content:center;text-align:center}.portal-table td[colspan]:before{content:none}}.portal-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.portal-login-card{background:var(--bg-card, #fff);border-radius:18px;padding:36px;width:100%;max-width:400px;box-shadow:0 20px 60px #00000040}.portal-login-input{width:100%;padding:12px 12px 12px 38px;border-radius:10px;border:1px solid rgba(120,120,120,.3);font-size:16px;box-sizing:border-box}.portal-login-input.no-icon{padding-left:12px}.portal-login-submit{width:100%;justify-content:center;display:flex;align-items:center;gap:8px;min-height:46px}@media(max-width:768px){.portal-login-wrap{align-items:flex-start;padding:24px 16px calc(24px + env(safe-area-inset-bottom,0px))}.portal-login-card{padding:26px 20px;box-shadow:0 10px 30px #0000002e}}.rq-grid{display:grid;gap:20px;align-items:start}@media(min-width:900px){.rq-grid{grid-template-columns:minmax(0,1fr) 320px}.rq-aside{position:sticky;top:90px;max-height:calc(100vh - 110px);overflow-y:auto}}@media(max-width:899px){.rq-aside--filled{order:-1;margin-bottom:4px}}.rq-catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.rq-qty-input{width:44px;height:30px;padding:0 2px;border-radius:8px;border:1px solid var(--border-color, rgba(128, 128, 128, .3));background:transparent;color:var(--text-primary);font-family:inherit;font-size:16px;font-variant-numeric:tabular-nums;text-align:center}.rq-qty-input:focus{outline:none;border-color:var(--accent-blue, #3a86ff)}.rq-qty-input--sm{width:38px;height:24px}.portal-skeleton-card{padding:16px;border-radius:14px;display:flex;flex-direction:column;gap:10px;min-height:120px}.portal-skeleton{border-radius:6px;background:linear-gradient(90deg,#8080801a 25%,#80808038 37%,#8080801a 63%);background-size:400% 100%;animation:portal-skeleton-shimmer 1.4s ease infinite}.portal-skeleton--line{height:12px}@keyframes portal-skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.portal-skeleton{animation:none}}.portal-maya-typing{display:inline-flex;align-items:center;gap:5px;padding:12px 14px;border-radius:12px;background:#8080801f}.portal-maya-typing__dot{width:6px;height:6px;border-radius:50%;background:var(--accent-purple, #8b5cf6);animation:portalMayaThinking 1.4s ease-in-out infinite}.portal-maya-typing__dot:nth-child(2){animation-delay:.18s}.portal-maya-typing__dot:nth-child(3){animation-delay:.36s}@keyframes portalMayaThinking{0%,65%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.portal-maya-typing__dot{animation:none;opacity:.75}}.sub-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.sub-mic-table{width:100%;border-collapse:collapse;text-align:left}@media(max-width:768px){.sub-root input,.sub-root select,.sub-root .app-select,.sub-root textarea{font-size:16px!important}.sub-pair{grid-template-columns:1fr;gap:14px}.sub-mic-table thead{display:none}.sub-mic-table,.sub-mic-table tbody,.sub-mic-table tr,.sub-mic-table td{display:block;width:100%}.sub-mic-table tr{border-bottom:1px solid rgba(255,255,255,.06);padding:10px 0}.sub-mic-table td{padding:2px 0}.sub-mic-num,.sub-mic-part{display:inline-block!important;width:auto!important;font-size:var(--text-base)}.sub-mic-num{font-weight:600}.sub-mic-part:before{content:"·";margin:0 6px;opacity:.5}.sub-mic-input-cell{margin-top:6px}.sub-mic-input{min-height:44px}}.pf-page{min-height:100vh;display:flex;justify-content:center;padding:48px 16px;background:var(--bg-primary)}.pf-page.pf-embed{padding:24px 16px;min-height:0}.pf-card{width:100%;max-width:620px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;padding:32px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text-primary);text-align:center}.pf-card form{text-align:left;margin-top:24px}.pf-eyebrow{font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.pf-logo{display:block;height:56px;max-width:100%;object-fit:contain;margin:0 auto 16px}.pf-title{margin-bottom:8px}.pf-description{color:var(--text-secondary);white-space:pre-wrap}.pf-muted{color:var(--text-muted)}@media(max-width:480px){.pf-card{padding:24px 20px}}.su-root{min-height:100vh;color:var(--text-primary);background-color:var(--bg-primary);background-image:radial-gradient(at 0% 0%,rgba(var(--accent-blue-rgb),.14) 0px,transparent 50%),radial-gradient(at 100% 0%,rgba(167,107,214,.13) 0px,transparent 50%);background-repeat:no-repeat}.su-header{display:flex;align-items:center;justify-content:space-between;max-width:1100px;margin:0 auto;padding:18px 20px}.su-brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:var(--text-xl);color:inherit;text-decoration:none}.su-brand img{height:30px;width:auto}.su-header-link{color:var(--text-secondary);text-decoration:none;font-size:var(--text-md);padding:8px 4px}.su-header-link:hover{color:var(--text-primary)}.su-main{max-width:560px;margin:0 auto;padding:24px 20px 64px}.su-main-wide{max-width:1100px}.su-intro{margin-bottom:24px;max-width:640px}.su-intro h1{font-size:var(--text-4xl);margin:0 0 8px}.su-muted{color:var(--text-secondary);font-size:var(--text-md);line-height:1.55}.su-perks{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0}.su-perks li{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:var(--text-sm);font-weight:600;background:rgba(var(--accent-blue-rgb),.1);border:1px solid rgba(var(--accent-blue-rgb),.3)}.su-perks svg{color:var(--accent-blue)}.su-included{display:flex;align-items:flex-start;gap:6px;margin:0 0 8px;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.45}.su-included svg{flex:none;margin-top:2px;color:var(--accent-green)}small.su-muted{font-size:var(--text-sm)}.su-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.su-col{display:flex;flex-direction:column;gap:24px;min-width:0}@media(max-width:860px){.su-grid{grid-template-columns:minmax(0,1fr)}}.su-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:16px;padding:24px;animation:su-rise .5s cubic-bezier(.16,1,.3,1) both}.su-card h2{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:var(--text-2xl)}.su-center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 24px}.su-center h1{margin:0;font-size:var(--text-3xl)}.su-center .btn-primary{margin-top:8px;text-decoration:none}.su-step{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-size:var(--text-sm);font-weight:700;background:rgba(var(--accent-blue-rgb),.15);color:var(--accent-blue)}.su-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(max-width:640px){.su-modules{grid-template-columns:minmax(0,1fr)}}.su-module{position:relative;display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:12px;cursor:pointer;border:1px solid var(--glass-border);background:var(--hover-tint, rgba(255, 255, 255, .03));transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.su-module:hover{border-color:rgba(var(--accent-blue-rgb),.5);transform:translateY(-1px)}.su-module:has(input:focus-visible){outline:2px solid var(--accent-blue);outline-offset:2px}.su-module.is-on{border-color:var(--accent-blue);background:rgba(var(--accent-blue-rgb),.1);box-shadow:0 0 0 1px var(--accent-blue) inset}.su-module input{position:absolute;opacity:0;pointer-events:none}.su-check{flex:none;width:20px;height:20px;margin-top:1px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--text-muted);color:transparent;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s cubic-bezier(.34,1.56,.64,1)}.su-module.is-on .su-check{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff;transform:scale(1.08)}.su-module-body{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.su-module-name{font-weight:600;font-size:var(--text-md)}.su-module-desc{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.4}.su-module-price{flex:none;font-weight:600;font-size:var(--text-md);white-space:nowrap}.su-module-price small{color:var(--text-secondary);font-weight:400}.su-module-price em{color:var(--accent-green);font-style:normal;font-size:var(--text-sm)}.su-module-price .su-module-addon{display:block;text-align:right;font-size:var(--text-xs)}.su-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.su-span{grid-column:1 / -1}@media(max-width:640px){.su-fields{grid-template-columns:minmax(0,1fr)}}.su-field{display:flex;flex-direction:column;gap:6px}.su-sso{display:flex;flex-direction:column;gap:8px}.su-sso-label{font-size:var(--text-md);color:var(--text-secondary)}.su-sso-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.su-sso-buttons .sso-button{margin:0}.su-identity{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--accent-green) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent-green) 35%,transparent);animation:su-rise .25s ease both}.su-identity svg{flex:none}.su-identity-text{display:flex;flex-direction:column;min-width:0;flex:1}.su-identity-text span{color:var(--text-secondary);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis}.su-link{background:none;border:none;padding:4px;color:var(--accent-blue);cursor:pointer;font-size:var(--text-sm)}@media(max-width:560px){.su-sso-buttons{grid-template-columns:1fr}}.su-field>span{font-size:var(--text-md);color:var(--text-secondary)}.su-summary{position:sticky;top:20px}@media(max-width:860px){.su-summary{position:static}}.su-lines{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}.su-lines li{display:flex;justify-content:space-between;gap:12px;font-size:var(--text-md);animation:su-rise .25s ease both}.su-lines li span:last-child{color:var(--text-secondary)}.su-total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-top:1px solid var(--glass-border);margin-bottom:8px}.su-total strong{font-size:var(--text-3xl);display:inline-block;animation:su-pop .3s cubic-bezier(.34,1.56,.64,1)}.su-total small{color:var(--text-secondary)}.su-terms{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:var(--text-base);line-height:1.5;color:var(--text-secondary);margin:8px 0 16px}.su-terms input{margin-top:3px;width:16px;height:16px;flex:none;cursor:pointer;accent-color:var(--accent-blue)}.su-terms a,.su-muted a,.su-notice a{color:var(--accent-blue)}.su-cta{width:100%;justify-content:center}.su-fine{display:flex;align-items:center;justify-content:center;gap:6px;margin:12px 0 0;font-size:var(--text-xs);color:var(--text-muted)}.su-notice{padding:12px 14px;border-radius:10px;font-size:var(--text-md);margin-bottom:16px;line-height:1.5}.su-notice-info{background:rgba(var(--accent-blue-rgb),.1);border:1px solid rgba(var(--accent-blue-rgb),.3)}.su-notice-error{background:rgba(var(--accent-red-rgb),.1);border:1px solid rgba(var(--accent-red-rgb),.35);color:var(--accent-red)}.su-big-icon{margin-bottom:4px}.su-ok{color:var(--accent-green)}.su-warn{color:var(--accent-amber)}.su-spin{animation:su-spin .9s linear infinite}@keyframes su-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes su-pop{0%{opacity:.4;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes su-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.su-card,.su-lines li,.su-total strong,.su-spin{animation:none}.su-module,.su-check{transition:none}}
