:root{--canvas: #F6F8FA;--bg: #FBFBFB;--card: #FFFFFF;--soft: #F5F5F4;--line: #ECECEC;--line-2: #F2F2F2;--ink: #171717;--ink-2: #3A3A3A;--muted: #737373;--faint: #A3A3A3;--accent: #F6A620;--accent-ink: #A8690A;--accent-soft: #FDEDD2;--accent-wash: #FFF8EC;--sun: #F9B949;--sun-deep: #F4A42C;--sun-pale: #FDEBC8;--sun-glow: rgba(249, 185, 73, .45);--sun-sheen: rgba(255, 255, 255, .7);--lemon: #FECA1A;--lemon-soft: rgba(254, 202, 26, .38);--lemon-fade: rgba(254, 202, 26, 0);--lemon-glow: rgba(254, 202, 26, .35);--lemon-ink: #8A6A00;--fade-hover: linear-gradient(90deg, color-mix(in srgb, var(--lemon) 22%, transparent) 0%, color-mix(in srgb, var(--lemon) 8%, transparent) 35%, transparent 75%);--fade-select: radial-gradient(70% 140% at 0% 50%, var(--lemon) 0%, var(--lemon-soft) 45%, var(--lemon-fade) 100%);--fade-soft: radial-gradient(70% 140% at 0% 50%, color-mix(in srgb, var(--lemon) 34%, transparent) 0%, color-mix(in srgb, var(--lemon) 12%, transparent) 45%, transparent 100%);--sidebar-bg: var(--card);--sidebar-card-bg: var(--bg);--ok: #16A34A;--ok-soft: #E8F6EC;--warn: #D97706;--danger: #DC4B3E;--danger-soft: #FCEDEB;--assigned: #2563EB;--r-card: 20px;--r-panel: 24px;--r-pill: 999px;--r-sm: 12px;--shadow: 0 1px 1px rgba(23, 23, 23, .03), 0 2px 4px rgba(23, 23, 23, .03), 0 8px 16px -8px rgba(23, 23, 23, .06);--shadow-hover: 0 1px 2px rgba(23, 23, 23, .04), 0 8px 16px -6px rgba(23, 23, 23, .08), 0 20px 36px -16px rgba(23, 23, 23, .14);--shadow-lg: 0 2px 4px rgba(23, 23, 23, .04), 0 12px 24px -8px rgba(23, 23, 23, .1), 0 32px 64px -24px rgba(23, 23, 23, .22);--glow: 0 0 0 1px rgba(246, 166, 32, .45), 0 12px 32px -10px rgba(246, 166, 32, .45);--hatch: repeating-linear-gradient(-45deg, transparent 0 6px, rgba(23, 23, 23, .045) 6px 7px);--ease: cubic-bezier(.22, 1, .36, 1);--font-sans: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-serif: "Playfair Display", Georgia, "Times New Roman", serif;--fs-display: 46px;--fs-h1: 34px;--fs-kpi: 25px;--fs-h2: 20px;--fs-legend: 19px;--fs-h3: 17px;--fs-brand: 15px;--fs-sub: 13.5px;--fs-body: 13px;--fs-secondary: 12.5px;--fs-label: 12.5px;--fs-small: 12px;--fs-caption: 11.5px;--fs-eyebrow: 10.5px;--fs-micro: 10px;--fs-button: 13px;--fs-nav: 13px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-heavy: 800;--lh-heading: 1.2;--lh-section: 1.3;--lh-body: 1.55;--lh-label: 1.45;--lh-caption: 1.45;--ls-heading: -.035em;--ls-section: -.02em;--ls-body: 0;--ls-label: 0;--ls-caps: .12em;--text-primary: var(--ink);--text-secondary: var(--ink-2);--text-supporting: var(--muted);--text-muted: var(--faint);--text-inverse: #FFFFFF;--text: var(--ink);--surface: var(--card);--surface-2: var(--soft);--border: var(--line);--primary: var(--ink);--primary-soft: var(--accent-soft);--accent-text: var(--accent-ink);--success: var(--ok);--warning: var(--warn);--radius: var(--r-card);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:var(--lh-body);color:var(--ink);background:var(--canvas);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,*{scrollbar-width:none!important;-ms-overflow-style:none!important}::-webkit-scrollbar,*::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}html,body{height:100%;overflow:hidden}#root{height:100%}body{margin:0;background:var(--canvas)}button{font:inherit;color:inherit;cursor:pointer;letter-spacing:inherit}input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}::placeholder{color:var(--faint);opacity:1}::selection{background:var(--accent-soft);color:var(--ink)}p{margin:0}strong,b{font-weight:var(--fw-semibold)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}h1,h2,h3,h4{margin:0;color:var(--ink)}h1{font-size:var(--fs-h1);font-weight:var(--fw-heavy);line-height:var(--lh-heading);letter-spacing:var(--ls-heading)}h2{font-size:var(--fs-h2);font-weight:var(--fw-bold);line-height:var(--lh-section);letter-spacing:var(--ls-heading)}h3{font-size:var(--fs-h3);font-weight:var(--fw-bold);line-height:var(--lh-section);letter-spacing:var(--ls-section)}h4,.eyebrow{font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);line-height:var(--lh-caption);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--muted)}label{font-size:var(--fs-label);font-weight:var(--fw-medium);line-height:var(--lh-label)}.text-display{font-size:var(--fs-display);font-weight:var(--fw-heavy);line-height:var(--lh-heading);letter-spacing:var(--ls-heading)}.text-secondary{font-size:var(--fs-secondary);color:var(--ink-2)}.caption{font-size:var(--fs-caption);line-height:var(--lh-caption)}.overline{font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase}.muted{color:var(--muted)}.small{font-size:var(--fs-caption);line-height:var(--lh-caption)}.num,.tabular{font-variant-numeric:tabular-nums}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.spacer{flex:1}.text-success{color:var(--ok)}.text-warning{color:var(--warn)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.column,.card,.stat,.data-table tbody tr,.task-row,.panel{animation:rise .5s var(--ease) both;animation-delay:calc(var(--i, 0) * 30ms)}.app{display:flex;height:100vh;overflow:hidden;gap:12px;padding:12px;background:var(--canvas)}.main-wrap{flex:1;display:flex;flex-direction:column;min-width:0;overflow-y:auto;overflow-x:hidden;background:var(--bg);border-radius:var(--r-panel);box-shadow:var(--shadow);border:1px solid var(--line)}.main{flex:1;min-width:0}.page{width:100%;max-width:1400px;margin:0 auto;padding:16px 20px 48px}@media (min-width: 768px){:root{--fs-h1: 42px}.page{padding:24px 32px 56px}}.page-header{display:flex;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:16px;flex-wrap:wrap}.page-actions{display:flex;align-items:center;gap:10px}.header-actions .page-actions,.schedule-stats .page-actions{margin-left:6px;padding-left:14px;border-left:1px solid var(--line)}.page-header h1{display:flex;align-items:center;gap:12px}.page-header p{margin-top:4px;font-size:var(--fs-sub);color:var(--muted)}.page-title{margin:0 0 20px}.header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.sidebar{width:244px;flex-shrink:0;background:var(--sidebar-bg);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--shadow);display:flex;flex-direction:column;padding:18px 14px 14px;gap:6px;position:relative;z-index:50;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 6px 18px;margin-bottom:4px;border-bottom:1px solid var(--line-2)}.brand-logo{display:block;height:34px;width:auto;flex-shrink:0}.sidebar-logo{display:block;flex:1;min-width:0;height:auto;max-height:64px;object-fit:contain;object-position:left center}.brand-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.brand-text strong{font-size:var(--fs-brand);font-weight:var(--fw-heavy);letter-spacing:-.02em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-text span{font-size:var(--fs-caption);color:var(--muted);white-space:nowrap}.sidebar nav{display:flex;flex-direction:column;gap:14px;flex:1;padding-top:10px}.nav-section{display:flex;flex-direction:column;gap:2px}.nav-section-title{padding:0 12px 6px;font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--faint)}.nav-item{position:relative;width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border:0;background:transparent;border-radius:9999px;color:var(--muted);text-align:left;font-size:var(--fs-body);font-weight:var(--fw-medium);line-height:var(--lh-label);transition:background-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.nav-item>svg,.nav-label,.nav-badge{position:relative}.nav-item svg{flex-shrink:0;color:var(--muted);transition:color .15s cubic-bezier(.4,0,.2,1)}.nav-item:hover{background:var(--fade-hover);color:var(--ink)}.nav-item:hover svg{color:var(--ink)}.nav-item.active{color:var(--ink);font-weight:var(--fw-bold)}.nav-item.active:hover{background:transparent}.nav-item.active svg{color:var(--lemon-ink)}.nav-pill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:9999px;background:linear-gradient(180deg,var(--sun-sheen) 0%,transparent 55%),radial-gradient(75% 150% at 0% 50%,var(--lemon) 0%,var(--lemon-soft) 50%,var(--lemon-fade) 100%),var(--card);border:1px solid var(--sun-sheen);box-shadow:inset 0 8px 14px -8px var(--sun-sheen),0 8px 18px -10px var(--lemon-glow)}.nav-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-badge{min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-pill);display:inline-grid;place-items:center;font-size:var(--fs-caption);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;background:var(--soft);color:var(--ink-2)}.nav-item.active .nav-badge{background:var(--card)}.nav-badge.alert{background:var(--accent);color:var(--ink)}.sidebar-drawer,.drawer-backdrop,.mobile-bar{display:none}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#17171773}.sidebar-drawer{position:fixed;top:12px;bottom:12px;left:12px;z-index:100;width:272px;max-width:calc(100vw - 24px);border-radius:24px;box-shadow:var(--shadow-lg)}.drawer-close{margin-left:auto}.mobile-bar{position:sticky;top:0;z-index:20;align-items:center;gap:10px;height:64px;flex-shrink:0;padding:0 16px;border-bottom:1px solid var(--line-2);background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.mobile-bar-title{font-size:var(--fs-brand);font-weight:var(--fw-heavy);letter-spacing:-.02em}.sidebar-user{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 8px;border:1px solid var(--line);border-radius:16px;background:var(--sidebar-card-bg)}.sidebar-user .brand-text strong{font-size:var(--fs-secondary);font-weight:var(--fw-bold)}.topbar-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-secondary);font-weight:var(--fw-bold);background:var(--ink);color:var(--accent);flex-shrink:0}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 32px;background:#fbfbfbb8;backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid rgba(236,236,236,.8)}.topbar-search{flex:1;max-width:440px;display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-pill);padding:0 16px;color:var(--faint);transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}.topbar-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.topbar-search input{border:0;outline:0;padding:10px 0;flex:1;background:transparent;color:var(--ink);font-size:var(--fs-body)}.topbar-actions{display:flex;align-items:center;gap:12px}.bell{position:relative;border:1px solid var(--line);background:var(--card);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2);transition:background .25s var(--ease),border-color .25s var(--ease)}.bell:hover,.bell.open{border-color:var(--faint)}.bell.open{background:var(--soft);color:var(--ink)}.bell-count{position:absolute;top:-4px;right:-5px;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border-radius:var(--r-pill);border:2px solid var(--card);background:var(--accent);color:var(--ink);font-size:var(--fs-micro);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;line-height:1}.notif{position:relative}.notif-panel{width:360px;max-width:calc(100vw - 32px);padding:0;display:flex;flex-direction:column;overflow:hidden}.notif-head{display:flex;align-items:center;gap:8px;padding:14px 16px 12px;border-bottom:1px solid var(--line-2)}.notif-head strong{font-size:var(--fs-h3);font-weight:var(--fw-bold);letter-spacing:-.02em}.notif-badge{padding:2px 8px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--fs-caption);font-weight:var(--fw-bold)}.notif-mark{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-secondary)}.notif-list{max-height:min(440px,60vh);overflow-y:auto;padding:4px 6px 6px}.notif-item{position:relative;width:100%;display:flex;align-items:flex-start;gap:12px;padding:10px;border:0;border-radius:12px;background:transparent;text-align:left;transition:background-color .15s ease}.notif-item:hover{background:var(--fade-soft)}.notif-item.unread{background:var(--accent-wash)}.notif-item.unread:hover{background:var(--accent-soft)}.notif-icon{width:32px;height:32px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--ink-2)}.notif-icon.overdue{background:var(--danger-soft);color:var(--danger)}.notif-icon.due,.notif-icon.quote{background:var(--accent-soft);color:var(--accent-ink)}.notif-icon.enquiry{background:var(--ok-soft);color:var(--ok)}.notif-icon.shoot{background:var(--ink);color:var(--accent)}.notif-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notif-title{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--ink);line-height:var(--lh-label)}.notif-body{font-size:var(--fs-secondary);color:var(--muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-time{font-size:var(--fs-caption);color:var(--faint);margin-top:2px}.notif-dot{width:8px;height:8px;flex-shrink:0;margin-top:6px;border-radius:50%;background:var(--accent)}.notif-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:32px 24px;text-align:center;color:var(--muted);font-size:var(--fs-secondary)}.notif-empty strong{color:var(--ink);font-size:var(--fs-body)}.notif-foot{border:0;border-top:1px solid var(--line-2);background:transparent;padding:12px;font-size:var(--fs-secondary);font-weight:var(--fw-semibold);color:var(--ink-2);transition:background-color .15s ease}.notif-foot:hover{background:var(--soft);color:var(--ink)}.profile{position:relative}.profile-btn{display:flex;align-items:center;gap:4px;border:0;background:none;padding:2px 6px 2px 2px;border-radius:var(--r-pill);color:var(--muted);transition:background .25s var(--ease)}.profile-btn:hover{background:var(--soft)}.profile-menu{min-width:230px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--canvas)}.auth-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px;padding:32px 28px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow)}.auth-logo{width:150px;height:auto;margin-bottom:8px}.auth-card h1{font-size:24px;font-weight:var(--fw-heavy);letter-spacing:var(--ls-heading)}.auth-sub{margin:-6px 0 4px;font-size:var(--fs-secondary);color:var(--muted)}.auth-actions{display:flex;align-items:center;gap:12px}.auth-actions .link-btn,.auth-actions .btn{display:inline-flex;align-items:center;gap:6px}.auth-loading{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-secondary);color:var(--muted)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sync-error{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:200;max-width:min(560px,calc(100vw - 32px));padding:10px 16px;border-radius:var(--r-pill);background:var(--ink);color:var(--card);font-size:var(--fs-secondary);font-weight:var(--fw-semibold);box-shadow:var(--shadow-hover)}.profile-head{display:flex;align-items:center;gap:10px;padding:8px 10px 12px;border-bottom:1px solid var(--line-2);margin-bottom:4px}.profile-name{font-size:var(--fs-body);font-weight:var(--fw-bold);line-height:var(--lh-label)}.profile-email{font-size:var(--fs-caption);color:var(--muted);line-height:var(--lh-caption)}.live-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:var(--r-pill);background:var(--ok-soft);color:var(--ok);font-size:var(--fs-caption);font-weight:var(--fw-bold);letter-spacing:0;line-height:1.4}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #16a34a73}70%{box-shadow:0 0 0 7px #16a34a00}to{box-shadow:0 0 #16a34a00}}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);padding:9px 16px;border-radius:var(--r-pill);font-size:var(--fs-button);font-weight:var(--fw-semibold);line-height:1.4;color:var(--ink);white-space:nowrap;transition:background .25s var(--ease),border-color .25s var(--ease),transform .2s var(--ease),box-shadow .25s var(--ease)}.btn:hover{border-color:var(--faint)}.btn:active{transform:scale(.97)}.btn-sm{padding:6px 12px;font-size:var(--fs-secondary)}.btn-primary,.btn-gold{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 1px #ffffff1f inset,0 6px 14px -6px #1717178c}.btn-primary:hover,.btn-gold:hover{background:#000;border-color:#000;box-shadow:0 1px #ffffff1f inset,0 10px 20px -8px #17171799}.btn-primary svg,.btn-gold svg{color:var(--accent)}.btn-outline{background:var(--card)}.btn-outline.has-filter{border-color:var(--accent);background:var(--accent-wash);color:var(--accent-ink)}.btn-danger-ghost{color:var(--danger);border-color:transparent;background:transparent}.btn-danger-ghost:hover{background:var(--danger-soft);border-color:transparent}.icon-btn{border:0;background:transparent;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--muted);transition:background .2s var(--ease),color .2s var(--ease)}.icon-btn:hover{background:var(--soft);color:var(--ink)}.link-btn{border:0;background:none;padding:0;color:var(--ink);text-align:left;font-weight:var(--fw-semibold)}.link-btn:hover{color:var(--accent-ink)}.arrow-link{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:4px 0;font-size:var(--fs-secondary);font-weight:var(--fw-semibold);color:var(--ink);transition:color .3s var(--ease)}.arrow-link svg{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--soft);transition:transform .35s var(--ease),background .3s var(--ease),color .3s var(--ease)}.arrow-link:hover{color:var(--accent-ink)}.arrow-link:hover svg{transform:rotate(-45deg);background:var(--accent);color:var(--ink)}.search,.filters select{border:1px solid var(--line);border-radius:var(--r-pill);padding:9px 14px;background:var(--card);min-width:0;font-size:var(--fs-body);color:var(--ink)}.search{width:240px}.search:focus,.filters select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.tag{display:inline-block;font-size:var(--fs-caption);font-weight:var(--fw-medium);line-height:var(--lh-caption);padding:2px 9px;border-radius:var(--r-pill);white-space:nowrap;background:var(--soft);color:var(--ink-2)}.tag-link{cursor:pointer;color:var(--accent-ink);background:var(--accent-wash)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.event-tag{display:inline-block;font-size:var(--fs-caption);font-weight:var(--fw-semibold);line-height:var(--lh-caption);padding:2px 9px;border-radius:var(--r-pill);white-space:nowrap;background:var(--soft);color:var(--ink-2)}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px 2px 8px;border-radius:var(--r-pill);font-size:var(--fs-caption);font-weight:var(--fw-semibold);line-height:var(--lh-caption);white-space:nowrap;background:var(--card);color:var(--ink-2);border:1px solid var(--line)}.status-pill .dot{width:7px;height:7px}.initials{border-radius:50%;background:var(--soft);color:var(--ink-2);font-size:var(--fs-caption);font-weight:var(--fw-bold);line-height:1;display:inline-grid;place-items:center;flex-shrink:0}.thumb{border-radius:12px;object-fit:cover;flex-shrink:0;display:block;background:var(--soft)}.toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.toolbar-left,.toolbar-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap;min-width:0}.segmented{display:flex;background:var(--soft);border-radius:var(--r-pill);padding:4px}.segmented button{border:0;background:transparent;padding:7px 14px;border-radius:var(--r-pill);font-size:var(--fs-secondary);font-weight:var(--fw-semibold);line-height:var(--lh-label);color:var(--muted);display:flex;align-items:center;gap:7px;transition:background .3s var(--ease),color .3s var(--ease),box-shadow .3s var(--ease)}.segmented button:hover{color:var(--ink)}.segmented button.active{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.segmented button.active svg{color:var(--accent)}.pipeline-tabs,.tabs{overflow-x:auto;scrollbar-width:none;max-width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent)}.pipeline-tabs::-webkit-scrollbar,.tabs::-webkit-scrollbar{display:none}.pipeline-tabs,.tabs{display:flex;gap:8px;padding:4px 10px 10px;margin-bottom:-6px}.chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;flex-shrink:0;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--card);color:var(--ink-2);font-size:var(--fs-secondary);font-weight:var(--fw-medium);line-height:1;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.chip:hover{background:var(--fade-soft),var(--card);color:var(--ink)}.chip.active{background:radial-gradient(70% 140% at 0% 50%,var(--lemon) 0%,var(--lemon-soft) 45%,var(--lemon-fade) 100%),linear-gradient(90deg,var(--soft),var(--bg));border-color:var(--sun-sheen);color:var(--ink);font-weight:var(--fw-semibold);box-shadow:inset 0 8px 14px -8px var(--sun-sheen),0 8px 18px -12px var(--lemon-glow)}.chip-count{color:var(--faint);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.chip.active .chip-count{color:var(--lemon-ink)}.chip.danger .chip-count{color:var(--danger)}.input-icon{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-pill);padding:0 14px;color:var(--faint);transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}.input-icon:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.input-icon input{border:0;outline:0;padding:9px 0;width:150px;background:transparent;color:var(--ink);font-size:var(--fs-body)}.select-wrap{position:relative;display:flex;align-items:center}.select-wrap select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--card);border-radius:var(--r-pill);padding:9px 34px 9px 14px;cursor:pointer;outline:0;font-size:var(--fs-secondary);font-weight:var(--fw-semibold);color:var(--ink-2);transition:border-color .25s var(--ease)}.select-wrap select:hover{border-color:var(--faint)}.select-wrap select:focus{border-color:var(--accent)}.select-wrap svg{position:absolute;right:12px;pointer-events:none;color:var(--faint)}.filter-wrap{position:relative}.filter-count{background:var(--accent);color:var(--ink);border-radius:var(--r-pill);padding:0 6px;font-size:var(--fs-caption);font-weight:var(--fw-bold);line-height:18px}.filter-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:250px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-lg);padding:14px;display:flex;flex-direction:column;gap:12px;animation:menuIn .25s var(--ease)}.filter-pop-header{display:flex;justify-content:space-between;align-items:center}.filter-pop-header strong{font-size:var(--fs-body);font-weight:var(--fw-bold)}.filter-pop label{display:flex;flex-direction:column;gap:6px;color:var(--ink-2)}.filter-pop select{border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;background:var(--card);font-size:var(--fs-body);font-weight:var(--fw-regular);color:var(--ink)}.sel{display:flex;align-items:center;gap:8px;min-width:0;text-align:left;cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--ink);transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}.sel:hover{border-color:var(--faint)}.sel:focus-visible,.sel.open{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.sel-field{width:100%;padding:10px 12px;border-radius:var(--r-sm);font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:var(--lh-label)}.sel-pill{padding:8px 12px 8px 14px;border-radius:var(--r-pill);font-size:var(--fs-secondary);font-weight:var(--fw-semibold);color:var(--ink-2)}.sel-value{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sel-chevron{flex-shrink:0;color:var(--faint);transition:transform .3s var(--ease),color .2s var(--ease)}.sel.open .sel-chevron{transform:rotate(180deg);color:var(--accent-ink)}.sel-icon{display:inline-grid;place-items:center;flex-shrink:0;min-width:14px}.sel-icon .initials{font-size:9px}.initials.ghost{width:22px;height:22px;color:var(--faint);background:var(--bg);border:1px dashed var(--line)}.sel-menu{position:fixed;z-index:1000;display:flex;flex-direction:column;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);animation:menuIn .2s var(--ease)}.sel-search{display:flex;align-items:center;gap:8px;margin:6px 6px 2px;padding:0 10px;border-radius:var(--r-pill);background:var(--bg);border:1px solid var(--line-2);color:var(--faint)}.sel-search:focus-within{border-color:var(--accent)}.sel-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:7px 0;font-size:var(--fs-secondary);color:var(--ink)}.sel-list{overflow-y:auto;padding:6px}.sel-group{padding:10px 10px 4px;font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--accent-ink)}.sel-row:first-child .sel-group{padding-top:4px}.sel-option{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;border-radius:10px;background:transparent;text-align:left;cursor:pointer;font-size:var(--fs-body);color:var(--ink-2);transition:background .15s var(--ease),color .15s var(--ease)}.sel-option.active{background:var(--fade-soft);color:var(--ink)}.sel-option.selected{background:var(--fade-select);color:var(--ink);font-weight:var(--fw-semibold)}.sel-option.selected.active{background:var(--fade-select)}.sel-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sel-check{color:var(--accent-ink);flex-shrink:0}.sel-empty{padding:14px;text-align:center;font-size:var(--fs-secondary);color:var(--muted)}.dt-trigger.empty .sel-value{color:var(--faint)}.dt-icon{display:inline-grid;place-items:center;flex-shrink:0;color:var(--faint);transition:color .2s var(--ease)}.dt-trigger.open .dt-icon,.dt-trigger:not(.empty) .dt-icon{color:var(--accent-ink)}.dt-clear{display:inline-grid;place-items:center;width:20px;height:20px;margin:-2px -4px -2px 0;border-radius:50%;color:var(--faint);flex-shrink:0;transition:background .2s var(--ease),color .2s var(--ease)}.dt-clear:hover{background:var(--soft);color:var(--ink)}.dt-pop{position:fixed;z-index:1000;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);animation:menuIn .2s var(--ease)}.dt-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.dt-head strong{font-size:var(--fs-body);font-weight:var(--fw-bold);letter-spacing:-.01em}.dt-head .icon-btn{width:30px;height:30px}.dt-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dt-wd{padding:4px 0 6px;text-align:center;font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.dt-day{aspect-ratio:1;border:0;border-radius:10px;background:transparent;padding:0;font-size:var(--fs-secondary);font-weight:var(--fw-medium);color:var(--ink-2);font-variant-numeric:tabular-nums;transition:background .15s var(--ease),color .15s var(--ease)}.dt-day:hover{background:var(--soft);color:var(--ink)}.dt-day.other{color:var(--faint)}.dt-day.today{box-shadow:inset 0 0 0 1.5px var(--accent);color:var(--accent-ink);font-weight:var(--fw-bold)}.dt-day.selected{background:var(--ink);color:var(--accent);font-weight:var(--fw-bold);box-shadow:none}.dt-foot{display:flex;gap:14px;align-items:center;padding:10px 4px 0;margin-top:8px;border-top:1px solid var(--line-2)}.dt-foot .link-btn{font-size:var(--fs-secondary);font-weight:var(--fw-semibold)}.dt-foot .link-btn.muted{margin-left:auto;color:var(--muted)}.dt-time{padding:6px}.dt-times{max-height:260px;overflow-y:auto;display:flex;flex-direction:column}.dt-times .sel-option{font-variant-numeric:tabular-nums}.dt-times .sel-option:not(.hour){color:var(--muted);font-size:var(--fs-secondary)}.dt-times .sel-option:hover{background:var(--fade-soft);color:var(--ink)}.dt-time .dt-foot{padding:8px 8px 2px;margin-top:4px}.kind-dot.onset{background:var(--accent)}.kind-dot.client{background:#f8d79b}.kind-dot.studio{background:var(--faint)}.kind-dot.post{background:var(--accent-ink)}.status-dot.draft,.status-dot.expired{background:var(--faint)}.status-dot.sent{background:var(--assigned)}.status-dot.viewed{background:var(--accent)}.status-dot.accepted{background:var(--ok)}.status-dot.rejected{background:var(--danger)}.view-fade{animation:viewIn .45s var(--ease)}@keyframes viewIn{0%{opacity:0;transform:translateY(6px)}}.board{display:flex;gap:14px;overflow-x:auto;padding:4px 4px 16px;margin:0 -4px 18px;align-items:flex-start;scrollbar-width:none}.board::-webkit-scrollbar{display:none}.board.panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.column{width:272px;flex-shrink:0;background:var(--soft);border:1px solid transparent;border-radius:var(--r-panel);display:flex;flex-direction:column;min-height:220px;transition:box-shadow .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease)}.column.drag-over{border-color:var(--accent);background:var(--accent-wash);box-shadow:0 0 0 4px var(--accent-soft)}.column-header{display:flex;align-items:center;gap:10px;padding:14px 12px 10px 14px}.column-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:var(--stage);background:var(--card);box-shadow:var(--shadow)}.column-heading{min-width:0;display:flex;flex-direction:column}.column-title-row{display:flex;align-items:center;gap:7px}.column-name{font-size:var(--fs-body);font-weight:var(--fw-bold);line-height:var(--lh-label);color:var(--ink);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.column-count{font-size:var(--fs-caption);font-weight:var(--fw-bold);line-height:18px;min-width:20px;text-align:center;padding:0 6px;border-radius:var(--r-pill);font-variant-numeric:tabular-nums;color:var(--ink-2);background:var(--card)}.column-add{margin-left:auto;border:0;background:var(--card);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2);box-shadow:var(--shadow);transition:transform .35s var(--ease),background .25s var(--ease),color .25s var(--ease)}.column-add:hover{background:var(--accent);color:var(--ink);transform:rotate(90deg)}.column-body{padding:4px 10px 10px;display:flex;flex-direction:column;gap:10px;flex:1}.column-empty{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;border:1.5px dashed #DDDBD6;border-radius:var(--r-card);padding:28px 12px;text-align:center;background:var(--hatch);color:var(--faint);transition:border-color .25s var(--ease),color .25s var(--ease),background-color .25s var(--ease)}.column-empty span{margin-top:4px;font-size:var(--fs-secondary);font-weight:var(--fw-semibold);line-height:var(--lh-label);color:var(--ink-2)}.column-empty small{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted)}.column-empty:hover{border-color:var(--accent);color:var(--accent-ink);background:var(--fade-soft),var(--card)}.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:12px;cursor:grab;box-shadow:var(--shadow);transition:box-shadow .35s var(--ease),transform .35s var(--ease),border-color .35s var(--ease),background .35s var(--ease),opacity .2s}.card .thumb{filter:grayscale(1) contrast(1.02);border-radius:14px;box-shadow:0 0 0 1px #1717170f;transition:filter .45s var(--ease),transform .45s var(--ease),box-shadow .45s var(--ease)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:#e2e2e2}.card:hover .thumb{filter:none}.card.selected{border-color:transparent;transform:translateY(-3px);background:linear-gradient(160deg,var(--accent-wash) 0%,var(--card) 55%);box-shadow:var(--glow),var(--shadow-hover)}.card.selected .thumb{filter:none;transform:scale(1.06);box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--accent)}.card:active{cursor:grabbing}.card.dragging{opacity:.35;transform:scale(.97) rotate(-1.5deg);box-shadow:none}.card.dropped{animation:dropIn .6s var(--ease)}@keyframes dropIn{0%{transform:scale(.96);box-shadow:0 0 0 3px var(--accent)}to{transform:none;box-shadow:var(--shadow)}}.card-main{display:flex;gap:12px;align-items:flex-start}.card-main .kebab{margin:-4px -6px 0 auto}.card-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px;align-items:flex-start}.card-name{font-size:var(--fs-body);font-weight:var(--fw-bold);line-height:var(--lh-label);color:var(--ink);letter-spacing:-.01em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-phone{display:flex;align-items:center;gap:5px;margin-bottom:3px;font-size:var(--fs-secondary);line-height:var(--lh-label);color:var(--ink-2);font-variant-numeric:tabular-nums}.card-phone svg{color:var(--faint)}.card-meta{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line-2)}.card-handoff{width:100%;margin-top:10px;padding:7px 12px;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:var(--r-pill);background:var(--ink);color:#fff;font-size:var(--fs-caption);font-weight:var(--fw-bold);transition:background .25s var(--ease),color .25s var(--ease)}.card-handoff svg{color:var(--accent);transition:transform .3s var(--ease)}.card-handoff:hover{background:var(--accent);color:var(--ink)}.card-handoff:hover svg{color:var(--ink);transform:translate(3px)}.handoff{width:220px;flex-shrink:0;align-self:stretch;min-height:220px;padding:22px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;border:1.5px dashed var(--line);border-radius:var(--r-panel);background:var(--hatch);transition:border-color .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease);animation:rise .5s var(--ease) both}.handoff strong{font-size:var(--fs-body);font-weight:var(--fw-bold);color:var(--ink)}.handoff small{font-size:var(--fs-caption);color:var(--muted);max-width:18ch}.handoff .arrow-link{margin-top:6px;border:0;background:none;font-size:var(--fs-caption)}.handoff-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:1px solid var(--line);color:var(--accent-ink);transition:transform .3s var(--ease),background .3s var(--ease)}.handoff.drag-over{border-color:var(--accent);border-style:solid;background:var(--accent-wash);box-shadow:0 0 0 4px var(--accent-soft)}.handoff.drag-over .handoff-icon{background:var(--accent);color:var(--ink);transform:translate(4px)}.card-date{display:flex;align-items:center;gap:5px;margin-right:auto;white-space:nowrap;font-size:var(--fs-caption);font-weight:var(--fw-medium);line-height:var(--lh-caption);color:var(--ink-2)}.card-date svg{color:var(--faint)}.card-date.past{color:var(--faint)}.card-tasks{display:flex;align-items:center;gap:3px;padding:0 8px;border-radius:var(--r-pill);font-size:var(--fs-caption);font-weight:var(--fw-bold);line-height:20px;color:var(--accent-ink);background:var(--accent-soft)}.card-tasks.overdue{color:var(--danger);background:var(--danger-soft)}.card .initials{background:var(--ink);color:#fff;border:2px solid var(--card)}.kebab{position:relative}.kebab-btn{border:0;background:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--faint);transition:background .2s var(--ease),color .2s var(--ease)}.kebab-btn:hover,.kebab-btn.open{background:var(--soft);color:var(--ink)}.menu.menu-floating{position:fixed;top:auto;right:auto;bottom:auto;z-index:1000;min-width:0}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:200px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:6px;animation:menuIn .25s var(--ease);transform-origin:top right}@keyframes menuIn{0%{opacity:0;transform:scale(.96) translateY(-4px)}}.menu-item{width:100%;display:flex;align-items:center;gap:9px;border:0;background:none;padding:8px 10px;border-radius:10px;text-align:left;color:var(--ink);font-size:var(--fs-body);font-weight:var(--fw-medium);line-height:var(--lh-label)}.menu-item svg{color:var(--muted)}.menu-item:hover{background:var(--fade-soft)}.menu-item:hover svg{color:var(--accent-ink)}.menu-item.danger,.menu-item.danger svg{color:var(--danger)}.menu-item.danger:hover{background:var(--danger-soft)}.table-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);overflow:hidden}.table-header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px}.table-header-actions{display:flex;align-items:center;gap:12px}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-body);line-height:var(--lh-label)}.data-table th{text-align:left;padding:10px 14px;background:var(--bg);white-space:nowrap;font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}.data-table td{padding:10px 14px;border-bottom:1px solid var(--line-2);white-space:nowrap;color:var(--ink)}.data-table tbody tr{cursor:pointer;transition:background .2s var(--ease)}.data-table tbody tr:hover{background:var(--fade-soft)}.data-table tbody tr:hover .thumb{filter:none}.data-table .thumb{filter:grayscale(1);transition:filter .35s var(--ease)}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.data-table .col-check{width:36px}.data-table .col-actions{width:60px;text-align:center}.data-table .col-actions .kebab{display:inline-block}.name-cell{display:flex;align-items:center;gap:10px;font-weight:var(--fw-semibold)}.code-cell{font-size:var(--fs-secondary);font-weight:var(--fw-semibold);color:var(--accent-ink);font-variant-numeric:tabular-nums;white-space:nowrap}.card-code{font-size:var(--fs-micro);font-weight:var(--fw-bold);letter-spacing:.04em;color:var(--accent-ink);font-variant-numeric:tabular-nums;margin-bottom:1px}.code-input{text-transform:uppercase;font-variant-numeric:tabular-nums;letter-spacing:.02em}.code-input::placeholder{text-transform:none;letter-spacing:0}.table-empty{text-align:center;color:var(--muted);padding:36px!important;cursor:default;background:var(--hatch)}.progress{width:100px;height:6px;background:var(--soft);border-radius:var(--r-pill);overflow:hidden}.progress-bar{height:100%;background:var(--accent);border-radius:var(--r-pill)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#17171752;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;z-index:100;padding:20px;animation:fade .25s var(--ease)}.modal{background:var(--card);border-radius:var(--r-panel);width:100%;max-width:520px;max-height:92vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:pop .4s var(--ease);overflow:hidden}.modal-wide{max-width:720px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line-2)}.modal-header h2{font-size:var(--fs-h3)}.modal-body{padding:22px 24px;overflow-y:auto}.modal-footer{display:flex;gap:10px;align-items:center;padding:14px 24px;border-top:1px solid var(--line-2);background:var(--bg)}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(12px) scale(.98)}}.photo-row{display:flex;align-items:center;gap:16px;margin-bottom:20px}.photo-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.file-btn{cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:flex;flex-direction:column;gap:6px;color:var(--ink-2);font-weight:var(--fw-semibold)}.form-grid .span-2{grid-column:span 2}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;background:var(--card);resize:vertical;font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:var(--lh-label);color:var(--ink);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.phone-input{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);overflow:hidden;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.phone-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.phone-prefix{display:grid;place-items:center;padding:0 12px;background:var(--soft);border-right:1px solid var(--line);color:var(--ink-2);font-size:var(--fs-body);font-weight:var(--fw-semibold)}.form-grid .phone-input input{flex:1;min-width:0;border:0;border-radius:0;box-shadow:none;font-variant-numeric:tabular-nums}.form-grid .contact-row{display:grid;grid-template-columns:minmax(0,13.5rem) minmax(0,1fr);gap:16px}.form-grid .checkbox-label{flex-direction:row;align-items:center;align-self:end;padding-bottom:10px}.error{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--danger)}.stage-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:10px;flex-wrap:wrap}.stage-chip{color:#fff;padding:4px 12px;border-radius:var(--r-pill);white-space:nowrap;font-size:var(--fs-caption);font-weight:var(--fw-bold);line-height:var(--lh-caption)}.stage-chip.small{padding:2px 10px}.modal.modal-xl{max-width:1120px;height:min(92vh,900px)}.modal-xl .modal-body{flex:1;min-height:0;padding:0;overflow:hidden}.pm-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;height:100%}.pm-layout .pm-form{overflow-y:auto;padding:22px 24px}.activity-log{display:flex;flex-direction:column;min-height:0;overflow-y:auto;background:var(--bg);border-left:1px solid var(--line-2);padding:18px 18px 24px}.al-head{display:flex;align-items:center;gap:8px;margin-bottom:14px}.al-head h3{display:flex;align-items:center;gap:8px;font-size:var(--fs-h3);font-weight:var(--fw-bold)}.al-head h3 svg{color:var(--accent-ink)}.al-count{padding:1px 8px;border-radius:var(--r-pill);background:var(--card);border:1px solid var(--line);font-size:var(--fs-caption);font-weight:var(--fw-bold);color:var(--muted)}.al-composer{display:flex;gap:10px;align-items:flex-start}.al-composer>.initials{margin-top:4px}.al-input{flex:1;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px 12px 8px;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.al-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.al-input textarea{width:100%;border:0;outline:0;resize:vertical;min-height:44px;background:transparent;font-size:var(--fs-body);line-height:1.5;color:var(--ink)}.al-input-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.al-input-foot small{font-size:var(--fs-caption);color:var(--faint)}.al-input-foot small b{color:var(--muted);font-weight:var(--fw-semibold)}.al-input-foot .btn:disabled{opacity:.4;cursor:not-allowed}.al-filters{display:flex;gap:4px;margin:16px 0 6px;padding:3px;border-radius:var(--r-pill);background:var(--soft)}.al-filters button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:5px 6px;border:0;border-radius:var(--r-pill);background:transparent;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--muted);transition:background .2s var(--ease),color .2s var(--ease)}.al-filters button span{font-size:var(--fs-micro);color:var(--faint);font-variant-numeric:tabular-nums}.al-filters button.active{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.al-filters button.active span{color:var(--accent-ink)}.al-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.al-day{display:flex;align-items:center;gap:10px;margin:14px 0 6px;font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--faint)}.al-day:after{content:"";flex:1;height:1px;background:var(--line)}.al-row{position:relative;display:flex;gap:10px;padding:8px 0 10px}.al-item:not(:last-child) .al-row:before{content:"";position:absolute;left:14px;top:40px;bottom:-6px;width:1px;background:var(--line)}.al-avatar{position:relative;flex-shrink:0;height:28px}.al-avatar .initials{background:var(--card);border:1px solid var(--line)}.al-kind{position:absolute;right:-4px;bottom:-4px;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--accent);border:2px solid var(--bg)}.al-item.note .al-kind{background:var(--accent);color:var(--ink)}.al-item.created .al-kind{background:var(--ok);color:#fff}.al-main{flex:1;min-width:0}.al-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px;font-size:var(--fs-secondary);color:var(--muted)}.al-line strong{color:var(--ink);font-weight:var(--fw-bold)}.al-line time{margin-left:auto;font-size:var(--fs-caption);color:var(--faint);white-space:nowrap}.al-delete{border:0;background:none;padding:2px;color:var(--faint);opacity:0;transition:opacity .2s var(--ease),color .2s var(--ease)}.al-row:hover .al-delete{opacity:1}.al-delete:hover{color:var(--danger)}.al-note{margin:6px 0 0;padding:10px 12px;border-radius:4px 14px 14px;background:var(--accent-wash);border:1px solid var(--accent-soft);font-size:var(--fs-body);line-height:1.5;color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere}.al-move{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px;color:var(--faint)}.al-sub{font-size:var(--fs-caption);color:var(--muted)}.al-stage{display:inline-flex;align-items:center;gap:6px;padding:2px 9px 2px 7px;border-radius:var(--r-pill);background:var(--card);border:1px solid var(--line);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--ink-2)}.al-stage .dot{width:7px;height:7px}.al-changes{list-style:none;margin:6px 0 0;padding:8px 10px;border-radius:12px;background:var(--card);border:1px solid var(--line-2);display:flex;flex-direction:column;gap:4px}.al-changes li{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:var(--fs-caption)}.al-changes li>span{min-width:92px;color:var(--muted)}.al-changes s{color:var(--faint)}.al-changes svg{color:var(--accent-ink)}.al-changes b{color:var(--ink);font-weight:var(--fw-semibold)}.al-empty{padding:26px 12px;text-align:center;font-size:var(--fs-secondary);color:var(--muted)}.menu-label{padding:8px 10px 4px;font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--faint)}.menu-sep{height:1px;background:var(--line-2);margin:4px 0}.menu-item.current{background:var(--accent-wash);font-weight:var(--fw-semibold)}.menu-check{margin-left:auto;color:var(--accent-ink)!important}.subsection{margin-top:24px;border-top:1px solid var(--line-2);padding-top:18px}.subsection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.mini-tasks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.mini-tasks li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-2)}.mini-tasks li:last-child{border-bottom:0}.mini-tasks li .link-btn{flex:1;color:var(--ink);font-weight:var(--fw-medium);min-width:0}.mini-tasks li.done .link-btn{text-decoration:line-through;color:var(--muted)}.due{font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--muted);white-space:nowrap}.due.overdue{color:var(--danger);font-weight:var(--fw-bold)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px}.stat{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:14px 16px;box-shadow:var(--shadow);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}button.stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.stat-label{font-size:var(--fs-caption);font-weight:var(--fw-bold);line-height:var(--lh-caption);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--muted)}.stat-value{margin:4px 0;color:var(--ink);font-variant-numeric:tabular-nums;font-size:var(--fs-kpi);font-weight:var(--fw-heavy);line-height:var(--lh-heading);letter-spacing:var(--ls-heading)}.stat-sub{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted)}.stat-danger{border-color:#dc4b3e4d}.stat-danger .stat-value{color:var(--danger)}.delta{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:var(--r-pill);font-size:var(--fs-caption);font-weight:var(--fw-bold);line-height:1.6}.delta.up{color:var(--ok);background:var(--ok-soft)}.delta.down{color:var(--danger);background:var(--danger-soft)}.delta.neutral{color:var(--muted);background:var(--soft)}.sparkline{width:100%;height:22px;margin:6px 0 4px}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}.report-grid .span-2{grid-column:span 2}.report-grid .span-3{grid-column:1 / -1}.panel-sub{margin-top:2px;font-size:var(--fs-secondary);color:var(--muted)}.chart-lg{height:280px}.chart-md{height:240px}.chart-stage{height:300px}.recharts-wrapper,.recharts-surface{outline:none}.recharts-legend-item-text{color:var(--ink-2)!important}.chart-tooltip{background:var(--ink);color:#fff;border-radius:14px;padding:10px 12px;box-shadow:var(--shadow-lg);min-width:160px}.chart-tooltip-label{font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--faint);margin-bottom:4px}.chart-tooltip-row{display:flex;align-items:center;gap:8px;font-size:var(--fs-secondary);line-height:1.8}.chart-tooltip-name{color:#d4d4d4;flex:1}.chart-tooltip-value{font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.chart-tooltip .dot{box-shadow:0 0 0 1.5px #ffffff40}.donut-wrap{display:flex;flex-direction:column;align-items:center;gap:14px}.chart-donut{position:relative;width:180px;height:180px}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donut-value{font-size:var(--fs-h1);font-weight:var(--fw-heavy);letter-spacing:var(--ls-heading);line-height:1.1}.donut-label{font-size:var(--fs-caption);color:var(--muted)}.legend-list{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:7px}.legend-list li{display:flex;align-items:center;gap:8px;font-size:var(--fs-secondary)}.legend-name{flex:1;color:var(--ink-2)}.legend-value{font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.dash-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;align-items:start}.dash-col{display:flex;flex-direction:column;gap:16px}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:20px;box-shadow:var(--shadow)}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.shoot-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;background:none;padding:8px;border-radius:14px;transition:background .2s var(--ease)}.shoot-row:hover{background:var(--fade-soft)}.shoot-info{flex:1;min-width:0}.date-badge{width:46px;flex-shrink:0;border-radius:14px;background:var(--ink);color:#fff;display:flex;flex-direction:column;align-items:center;padding:5px 0;line-height:1.2}.date-badge span{font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--accent)}.date-badge strong{font-size:var(--fs-h3);font-weight:var(--fw-heavy);letter-spacing:-.02em}.calendar-layout{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}.calendar{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:18px;box-shadow:var(--shadow)}.calendar-toolbar{display:flex;align-items:center;gap:6px;margin-bottom:16px}.calendar-toolbar h2{margin-left:10px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line-2);border-radius:16px;overflow:hidden}.weekday{padding:9px 10px;background:var(--bg);color:var(--muted);font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}.day{min-height:108px;padding:6px;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);cursor:pointer;display:flex;flex-direction:column;gap:4px;min-width:0;-webkit-user-select:none;user-select:none;transition:background-color .2s var(--ease),box-shadow .2s var(--ease)}.day:nth-child(7n){border-right:0}.day:hover{background-color:var(--accent-wash)}.day.past{background-image:var(--hatch)}.day.past .day-number{color:var(--faint)}.day.other-month{background-color:var(--bg)}.day.other-month .day-number{color:var(--faint)}.day.selected{background-color:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.day-number{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;font-size:var(--fs-caption);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.day.today .day-number{background:var(--accent);color:var(--ink);box-shadow:0 0 0 3px var(--accent-soft)}.day-events{display:flex;flex-direction:column;gap:3px;min-width:0}.event-chip{border:0;text-align:left;padding:2px 7px;border-radius:6px;width:100%;font-size:var(--fs-caption);font-weight:var(--fw-semibold);line-height:var(--lh-caption);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-chip.shoot{background:var(--accent-wash);border-left:3px solid var(--accent);color:var(--accent-ink)}.event-chip.task{background:var(--soft);color:var(--ink-2);border-left:3px solid #D4D4D4}.event-chip.task.priority-high{border-left-color:var(--danger)}.event-chip.task.done{text-decoration:line-through;opacity:.55}.chip-time{font-weight:var(--fw-bold)}.more{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--muted);padding-left:4px}.hint{font-size:var(--fs-caption);color:var(--muted);margin:12px 0 0}.toggle{display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--ink-2)}.legend-dot{width:10px;height:10px;border-radius:3px;display:inline-block}.legend-dot.shoot{background:var(--accent)}.legend-dot.task{background:#d4d4d4}.agenda{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:20px;box-shadow:var(--shadow);position:sticky;top:16px}.agenda-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.agenda-section{margin-top:16px}.agenda-section h4{margin-bottom:8px}.agenda-item{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;border:0;background:none;padding:8px;border-radius:12px;transition:background .2s var(--ease)}.agenda-item .dot{margin-top:6px}.agenda-item:hover{background:var(--fade-soft)}.agenda-title{font-size:var(--fs-body);font-weight:var(--fw-bold);line-height:var(--lh-label)}.agenda-task{display:flex;gap:10px;align-items:flex-start;padding:9px 4px;border-bottom:1px solid var(--line-2)}.agenda-task:last-child{border-bottom:0}.agenda-task input{margin-top:3px}.agenda-task-body{flex:1;border:0;background:none;padding:0;text-align:left;min-width:0}.agenda-task.done .agenda-title{text-decoration:line-through;color:var(--muted)}.priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:6px}.priority-dot.high{background:var(--danger)}.priority-dot.medium{background:var(--accent)}.priority-dot.low{background:#d4d4d4}.schedule-header{align-items:flex-end}.schedule-eyebrow{margin:0 0 2px!important;font-size:var(--fs-secondary);font-weight:var(--fw-medium);color:var(--muted)}.schedule-stats{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.count-pill{display:inline-flex;align-items:baseline;gap:5px;padding:7px 14px;border-radius:var(--r-pill);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);font-size:var(--fs-secondary);color:var(--muted)}.count-pill strong{color:var(--ink);font-weight:var(--fw-heavy);font-variant-numeric:tabular-nums}.date-nav{display:flex;align-items:center;gap:2px;background:var(--soft);border-radius:var(--r-pill);padding:3px}.date-nav .icon-btn{width:30px;height:30px}.date-nav .icon-btn:hover{background:var(--card)}.date-nav-today{border:0;background:transparent;padding:5px 14px;border-radius:var(--r-pill);font-size:var(--fs-secondary);font-weight:var(--fw-semibold);color:var(--muted);transition:background .25s var(--ease),color .25s var(--ease)}.date-nav-today:hover{color:var(--ink)}.date-nav-today.active{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.date-input{border:1px solid var(--line);border-radius:var(--r-pill);padding:7px 12px;background:var(--card);font-size:var(--fs-secondary);font-weight:var(--fw-semibold);color:var(--ink-2)}.date-input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.kind-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--muted)}.kind-legend span{display:inline-flex;align-items:center;gap:6px}.kind-swatch{width:12px;height:12px;border-radius:4px;display:inline-block}.kind-swatch.onset{background:var(--accent)}.kind-swatch.client{background:var(--accent-wash);box-shadow:inset 0 0 0 1.5px var(--accent)}.kind-swatch.studio{background:#efeeeb;box-shadow:inset 0 0 0 1px #e2e0dc}.kind-swatch.post{background:var(--accent-soft)}.schedule{background:var(--card);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--shadow);overflow:hidden;position:relative}.schedule-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;cursor:grab}.schedule-scroll::-webkit-scrollbar{display:none}.schedule-scroll.panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.schedule-canvas{position:relative}.schedule-past{position:absolute;left:0;top:44px;bottom:0;background:var(--hatch);border-right:1px solid var(--line-2);pointer-events:none}.schedule-canvas:before{content:"";position:absolute;left:0;right:0;top:44px;height:1px;background:var(--line-2)}.schedule-hour{position:absolute;top:0;bottom:0;width:0;border-left:1px solid var(--line-2)}.schedule-half{position:absolute;top:44px;bottom:0;width:0;border-left:1px dashed #F0EFEC}.schedule-hour-label{position:absolute;top:13px;left:10px;white-space:nowrap;font-size:var(--fs-secondary);font-weight:var(--fw-bold);color:var(--ink);font-variant-numeric:tabular-nums}.schedule-hour-label small{font-size:var(--fs-micro);font-weight:var(--fw-semibold);color:var(--faint)}.session{position:absolute;display:flex;flex-direction:column;align-items:stretch;gap:3px;text-align:left;padding:12px 14px;border-radius:var(--r-card);border:1.5px solid transparent;overflow:hidden;color:var(--ink);cursor:pointer;z-index:2;animation:rise .5s var(--ease) both;animation-delay:calc(var(--i, 0) * 30ms);transition:transform .35s var(--ease),box-shadow .35s var(--ease),opacity .3s var(--ease)}.session:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);z-index:3}.session.onset{background:var(--accent)}.session.client{background:var(--accent-wash);border-color:#f6a62059}.session.studio{background:#f3f2ef}.session.post{background:#fdf0da}.session.done{opacity:.6}.session.done:hover{opacity:1}.session.live{border-color:var(--accent);background:var(--accent-wash);opacity:1;box-shadow:0 10px 28px -12px #f6a62099}.session.onset.live{background:var(--accent);border-color:var(--accent-ink)}.session-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.session-kind{padding:2px 9px;border-radius:var(--r-pill);background:var(--card);font-size:var(--fs-caption);font-weight:var(--fw-bold);color:var(--ink);white-space:nowrap}.session.onset .session-kind{background:#fff6e6}.session-time{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}.session.onset .session-time{color:var(--ink)}.session-title{font-size:15px;font-weight:var(--fw-heavy);letter-spacing:-.02em;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-loc{display:flex;align-items:center;gap:4px;min-width:0;font-size:var(--fs-caption);color:var(--ink-2)}.session-loc span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-loc svg{flex-shrink:0;opacity:.7}.session-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}.avatar-stack{display:flex;align-items:center}.avatar-stack .initials{border:2px solid var(--card);background:var(--ink);color:#fff;font-size:var(--fs-micro)}.avatar-stack .initials+.initials{margin-left:-7px}.session.onset .avatar-stack .initials{border-color:var(--accent)}.session.studio .avatar-stack .initials{border-color:#f3f2ef}.session.post .avatar-stack .initials{border-color:#fdf0da}.session.client .avatar-stack .initials,.session.live .avatar-stack .initials{border-color:var(--accent-wash)}.task-block .session-title{white-space:normal;font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.task-block .session-foot{justify-content:flex-start}.task-block .session-foot .initials{background:var(--ink);color:#fff;font-size:var(--fs-micro)}.task-block .task-tick{margin-left:auto}.task-block.done .session-title{text-decoration:line-through;text-decoration-color:#17171759}.task-block.overdue{border-color:#dc4b3e73}.task-flag{padding:2px 9px;border-radius:var(--r-pill);background:var(--card);color:var(--ok);font-size:var(--fs-caption);font-weight:var(--fw-bold);white-space:nowrap}.task-flag.overdue{background:var(--danger-soft);color:var(--danger)}.task-tick{width:24px;height:24px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;padding:0;border:1.5px solid rgba(23,23,23,.25);background:var(--card);color:transparent;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.task-tick:hover{border-color:var(--ok);color:var(--ok);transform:scale(1.08)}.task-tick.checked{background:var(--ok);border-color:var(--ok);color:#fff}.count-pill.overdue{cursor:pointer;border-color:#dc4b3e4d;background:var(--danger-soft);color:var(--danger)}.count-pill.overdue strong{color:var(--danger)}.anytime{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow)}.anytime-label{padding-right:6px;font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--faint)}.anytime-chip{display:inline-flex;align-items:center;gap:8px;max-width:320px;padding:5px 6px;border-radius:var(--r-pill);border:1.5px solid transparent;cursor:pointer;font-size:var(--fs-secondary);font-weight:var(--fw-semibold);color:var(--ink);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.anytime-chip:hover{transform:translateY(-1px);box-shadow:var(--shadow-hover)}.anytime-chip.onset{background:var(--accent)}.anytime-chip.client{background:var(--accent-wash);border-color:#f6a62059}.anytime-chip.studio{background:#f3f2ef}.anytime-chip.done{opacity:.6}.anytime-chip.done .anytime-title{text-decoration:line-through}.anytime-chip .task-tick{width:20px;height:20px}.anytime-chip .initials{background:var(--ink);color:#fff;font-size:9px}.anytime-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.avatar-more{margin-left:4px;font-size:var(--fs-caption);font-weight:var(--fw-bold);color:var(--ink-2)}.session-live{padding:2px 10px;border-radius:var(--r-pill);background:var(--ink);color:#fff;font-size:var(--fs-caption);font-weight:var(--fw-bold);white-space:nowrap}.now-line{position:absolute;top:34px;bottom:34px;width:2px;margin-left:-1px;background:var(--accent);z-index:4;pointer-events:none}.now-dot{position:absolute;top:-5px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.now-pill{position:absolute;bottom:-28px;left:50%;transform:translate(-12px);padding:3px 10px;border-radius:8px;background:var(--accent);color:var(--ink);white-space:nowrap;font-size:var(--fs-caption);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;box-shadow:0 6px 14px -6px #f6a620b3}.schedule-empty{position:absolute;width:520px;padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;border:1.5px dashed #DDDBD6;border-radius:var(--r-card);background:var(--card);color:var(--ink-2);font-weight:var(--fw-semibold);pointer-events:none}.schedule-empty small{color:var(--muted);font-weight:var(--fw-regular)}.crew-field{display:flex;flex-direction:column;gap:8px}.crew-label{font-size:var(--fs-label);font-weight:var(--fw-semibold);color:var(--ink-2)}.crew-chips{display:flex;flex-wrap:wrap;gap:6px}.crew-chip{border:1px solid var(--line);background:var(--card);padding:6px 12px;border-radius:var(--r-pill);font-size:var(--fs-secondary);font-weight:var(--fw-semibold);color:var(--ink-2);transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}.crew-chip:hover{border-color:var(--faint)}.crew-chip.on{background:var(--ink);border-color:var(--ink);color:#fff}.task-toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.filters{display:flex;gap:8px;flex-wrap:wrap}.task-list{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);overflow:hidden}.task-group-title{padding:10px 18px;background:var(--bg);border-bottom:1px solid var(--line-2);color:var(--muted);font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase}.task-group-title.overdue{color:var(--danger);background:var(--hatch),var(--bg)}.task-row{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line-2);transition:background .2s var(--ease)}.task-row:hover{background:var(--fade-soft)}.task-row .priority-dot{margin-top:0}.task-main{flex:1;display:flex;flex-direction:column;border:0;background:none;text-align:left;padding:0;min-width:0}.task-title{font-size:var(--fs-body);font-weight:var(--fw-semibold);line-height:var(--lh-label)}.task-row.done .task-title{text-decoration:line-through;color:var(--muted)}.task-time{font-size:var(--fs-secondary);color:var(--muted);width:70px;text-align:right;font-variant-numeric:tabular-nums}.task-assignee{font-size:var(--fs-secondary);color:var(--ink-2);width:70px}.empty-state{padding:54px 20px;text-align:center;color:var(--muted);background:var(--hatch)}.empty-icon{width:52px;height:52px;border-radius:50%;background:var(--ink);color:var(--accent);display:grid;place-items:center;margin:0 auto 12px;font-size:var(--fs-h2);font-weight:var(--fw-bold)}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.stage-bar-actions{display:flex;gap:8px;flex-wrap:wrap}.stage-bar-actions a.btn{text-decoration:none}.portal{min-height:100vh;background:var(--canvas);overflow-y:auto;height:100vh}.portal-bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px max(24px,calc((100vw - 1080px)/2));background:#f4f3f0bf;backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid rgba(236,236,236,.8)}.portal-brand{display:flex;align-items:center;gap:12px}.portal-brand strong{display:block;font-size:var(--fs-body);font-weight:var(--fw-heavy);letter-spacing:-.02em}.portal-brand span{font-size:var(--fs-caption);color:var(--muted)}.portal-main{max-width:1080px;margin:0 auto;padding:28px 24px 48px;display:flex;flex-direction:column;gap:16px}.portal-missing{max-width:520px;margin:18vh auto;text-align:center;display:flex;flex-direction:column;gap:8px;padding:0 24px}.portal-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:20px;align-items:center;padding:28px;border-radius:var(--r-panel);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);position:relative;overflow:hidden;animation:rise .6s var(--ease) both}.portal-hero:after{content:"";position:absolute;right:-80px;top:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(246,166,32,.22),transparent 65%);pointer-events:none}.portal-eyebrow{font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--accent-ink);margin-bottom:6px!important}.portal-hero h1{font-size:36px}.portal-lead{margin-top:6px!important;color:var(--ink-2);font-size:15px;max-width:46ch}.portal-event{position:relative;z-index:1;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px;border-radius:var(--r-card);background:var(--accent-wash);border:1px solid var(--accent-soft)}.portal-event-date{width:60px;height:64px;border-radius:16px;background:var(--ink);color:#fff;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}.portal-event-date span{font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--accent)}.portal-event-date strong{font-size:24px;font-weight:var(--fw-heavy);letter-spacing:-.03em}.portal-event-info{flex:1;min-width:140px;display:flex;flex-direction:column;gap:2px}.portal-event-type{font-size:17px;font-weight:var(--fw-heavy);letter-spacing:-.02em}.portal-event-venue{display:flex;align-items:center;gap:4px;font-size:var(--fs-secondary);color:var(--ink-2)}.portal-countdown{padding:5px 12px;border-radius:var(--r-pill);background:var(--accent);color:var(--ink);font-size:var(--fs-caption);font-weight:var(--fw-bold);white-space:nowrap}.portal-countdown.past{background:var(--ink);color:#fff}.portal-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:20px;box-shadow:var(--shadow);animation:rise .6s var(--ease) both}.portal-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}.portal-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start}.portal-side{display:flex;flex-direction:column;gap:16px}.portal-empty{padding:22px 16px;border-radius:16px;background:var(--hatch);color:var(--muted);text-align:center;font-size:var(--fs-secondary)}.stepper{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.step{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;animation:rise .5s var(--ease) both;animation-delay:calc(var(--i, 0) * 60ms)}.step:before{content:"";position:absolute;top:15px;left:calc(-50% + 18px);right:calc(50% + 18px);height:2px;background:var(--line);border-radius:2px}.step:first-child:before{display:none}.step.done:before,.step.current:before{background:var(--ink)}.step-dot{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-caption);font-weight:var(--fw-bold);background:var(--soft);color:var(--faint);transition:all .3s var(--ease)}.step.done .step-dot{background:var(--ink);color:var(--accent)}.step.current .step-dot{background:var(--accent);color:var(--ink);box-shadow:0 0 0 5px var(--accent-soft)}.step-label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--muted)}.step.done .step-label{color:var(--ink-2)}.step.current .step-label{color:var(--ink);font-weight:var(--fw-bold)}.journey{list-style:none;margin:0;padding:0;position:relative}.journey-item{position:relative;display:flex;gap:14px;padding-bottom:18px;animation:rise .5s var(--ease) both;animation-delay:calc(var(--i, 0) * 40ms)}.journey-item:not(:last-child):before{content:"";position:absolute;left:15px;top:34px;bottom:2px;width:2px;background:var(--line-2)}.journey-icon{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:var(--ink);color:#fff;position:relative;z-index:1}.journey-item.accent .journey-icon{background:var(--accent);color:var(--ink)}.journey-item.ok .journey-icon{background:var(--ok);color:#fff}.journey-item.future .journey-icon{background:var(--card);color:var(--muted);box-shadow:inset 0 0 0 1.5px #dddbd6}.journey-body{flex:1;min-width:0;padding-top:4px}.journey-item.future .journey-body{padding:10px 12px;margin-top:-4px;border-radius:14px;background:var(--hatch);border:1px dashed #E2E0DC}.journey-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:baseline}.journey-top strong{font-size:var(--fs-body);font-weight:var(--fw-bold)}.journey-date{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.journey-date em{font-style:normal;color:var(--accent-ink)}.journey-body p{margin-top:2px!important;font-size:var(--fs-secondary);color:var(--ink-2)}.plan-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.plan-list li{display:flex;gap:12px;align-items:center}.plan-list li.past{opacity:.55}.plan-info{display:flex;flex-direction:column;gap:1px;min-width:0}.plan-info strong{font-size:var(--fs-body);font-weight:var(--fw-bold)}.plan-info span{display:flex;align-items:center;gap:5px;font-size:var(--fs-caption);color:var(--ink-2)}.plan-info svg{color:var(--faint);flex-shrink:0}.portal-team{display:flex;align-items:center;gap:12px;margin-bottom:14px}.portal-team .initials{background:var(--ink);color:var(--accent);font-size:14px}.portal-team-icon{width:40px;height:40px;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--muted)}.portal-contact{display:flex;gap:8px;flex-wrap:wrap}.portal-contact .btn{text-decoration:none}.portal-foot{text-align:center;font-size:var(--fs-caption);color:var(--faint);padding-top:8px}.q-status{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:var(--r-pill);font-size:var(--fs-caption);font-weight:var(--fw-bold);white-space:nowrap;background:var(--soft);color:var(--ink-2)}.q-status .dot{width:7px;height:7px;background:var(--faint)}.q-status.sent{background:#eaf1fe;color:var(--assigned)}.q-status.sent .dot{background:var(--assigned)}.q-status.viewed{background:var(--accent-soft);color:var(--accent-ink)}.q-status.viewed .dot{background:var(--accent)}.q-status.accepted{background:var(--ok-soft);color:var(--ok)}.q-status.accepted .dot{background:var(--ok)}.q-status.rejected{background:var(--danger-soft);color:var(--danger)}.q-status.rejected .dot{background:var(--danger)}.q-status.expired{background:var(--hatch),var(--soft);color:var(--muted)}.q-status.converted{background:var(--ink);color:#fff}.q-status.converted .dot{background:var(--accent)}.q-number{font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.q-event{display:inline-flex;align-items:center;gap:8px}.q-event-icon{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--ink-2)}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.template-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);overflow:hidden;text-align:left;animation:rise .5s var(--ease) both;animation-delay:calc(var(--i, 0) * 30ms);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}.template-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}.template-card .qd-image{border-radius:0;aspect-ratio:16 / 9}.template-card:hover .qd-image img{filter:grayscale(.15) contrast(1.02);transform:scale(1.04)}.template-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}.template-body h3{font-size:var(--fs-h3)}.template-price{font-size:20px;font-weight:var(--fw-heavy);letter-spacing:var(--ls-heading);margin-top:auto;padding-top:8px}.template-actions{display:flex;align-items:center;gap:4px;margin-top:8px}.template-actions .btn{margin-right:auto}.template-new{align-items:center;justify-content:center;gap:8px;min-height:280px;cursor:pointer;border:1.5px dashed #DDDBD6;background:var(--hatch),var(--card);box-shadow:none;color:var(--ink-2)}.template-new:hover{border-color:var(--accent);background:var(--fade-soft),var(--card)}.qb-page{padding-top:0;--qb-header-h: 64px}.qb-header{position:sticky;top:0;z-index:15;min-height:var(--qb-header-h);display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:8px;padding:12px 0}.qb-header:before{content:"";position:absolute;top:0;right:-32px;bottom:0;left:-32px;z-index:-1;border-bottom:1px solid var(--line-2);background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.qb-title{display:flex;align-items:center;gap:10px;margin-right:auto;min-width:0}.qb-title h2{font-size:var(--fs-h3);font-variant-numeric:tabular-nums}.qb-name{border:1px solid transparent;background:transparent;border-radius:var(--r-sm);padding:4px 8px;font-size:var(--fs-h3);font-weight:var(--fw-bold);letter-spacing:var(--ls-section);min-width:0;width:280px}.qb-name:hover,.qb-name:focus{border-color:var(--line);background:var(--card);outline:0}.qb-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.qb-actions .select-wrap select{padding-top:6px;padding-bottom:6px}.qb-banner{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-bottom:16px;border-radius:16px;background:var(--ink);color:#fff;font-size:var(--fs-secondary);font-weight:var(--fw-medium)}.qb-banner svg{color:var(--accent);flex-shrink:0}.qb-layout{display:grid;grid-template-columns:minmax(360px,430px) minmax(0,1fr);gap:20px;align-items:start}.qb-left{position:sticky;top:calc(var(--qb-header-h) + 12px);max-height:calc(100vh - var(--qb-header-h) - 48px);overflow-y:auto;padding-right:4px}.qb-left.locked{pointer-events:none;opacity:.55}.qe{display:flex;flex-direction:column;gap:10px}.qe-block{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow)}.qe-block-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:none;padding:14px 16px;text-align:left}.qe-block-head span{display:flex;flex-direction:column;min-width:0}.qe-block-head strong{font-size:var(--fs-body);font-weight:var(--fw-bold)}.qe-block-head small{font-size:var(--fs-caption);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qe-block-head svg{color:var(--faint);transition:transform .3s var(--ease);flex-shrink:0}.qe-block.open .qe-block-head svg{transform:rotate(180deg)}.qe-block-body{padding:0 16px 16px;display:flex;flex-direction:column;gap:12px;animation:viewIn .3s var(--ease)}.qe-block-body>.btn{align-self:flex-start}.event-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.event-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:12px;border-radius:16px;border:1.5px solid var(--line);background:var(--card);transition:border-color .25s var(--ease),background .25s var(--ease),transform .25s var(--ease)}.event-card:hover{border-color:#dadada;transform:translateY(-1px);background:var(--fade-soft),var(--card)}.event-card-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;margin-bottom:6px;background:var(--soft);color:var(--ink-2);transition:background .25s var(--ease),color .25s var(--ease)}.event-card strong{font-size:var(--fs-secondary);font-weight:var(--fw-bold);line-height:1.3}.event-card small{font-size:var(--fs-caption);color:var(--muted);line-height:1.35}.event-card.selected{border-color:var(--accent);background:var(--fade-select),var(--card)}.event-card.selected .event-card-icon{background:var(--ink);color:var(--accent)}.event-card.selected:after{content:"";position:absolute;top:12px;right:12px;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--card)}.qe-more{align-self:flex-start;font-size:var(--fs-secondary)}.pkg-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pkg-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;padding:12px 14px;border-radius:16px;border:1.5px solid var(--line);background:var(--card);transition:border-color .25s var(--ease),background .25s var(--ease)}.pkg-card:hover{border-color:#dadada;background:var(--fade-soft),var(--card)}.pkg-card strong{font-size:var(--fs-body);font-weight:var(--fw-bold)}.pkg-card small{font-size:var(--fs-caption);color:var(--muted)}.pkg-card>span:last-child{margin-top:6px;font-weight:var(--fw-heavy);font-variant-numeric:tabular-nums}.pkg-card.selected{border-color:var(--accent);background:var(--fade-select),var(--card)}.pkg-card.custom{border-style:dashed;background:var(--hatch),var(--card)}.pkg-card.custom.selected{border-style:solid;background:var(--fade-select),var(--card)}.pkg-card.custom>span:last-child{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--accent)}.pkg-access{display:flex;justify-content:flex-end;margin-top:-4px}.pkg-access span{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-caption);color:var(--muted)}.pkg-access .link-btn{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-caption);font-weight:var(--fw-semibold)}.pkg-editor{display:flex;flex-direction:column;gap:10px}.pkg-editor>.btn{align-self:flex-start}.pkg-edit{display:flex;flex-direction:column;gap:10px;padding:12px;border:1.5px solid var(--line);border-radius:16px;background:var(--card)}.pkg-edit-head{display:flex;align-items:center;gap:6px}.pkg-edit-head .svc-name{font-weight:var(--fw-bold)}.pkg-star{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:5px 10px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--card);color:var(--muted);font-size:var(--fs-caption);font-weight:var(--fw-semibold);transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}.pkg-star.on{background:var(--ink);border-color:var(--ink);color:var(--accent)}.pkg-star.on svg{fill:currentColor}.pkg-edit-services{display:flex;flex-wrap:wrap;gap:6px}.pkg-svc{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill);cursor:pointer;border:1px solid var(--line-2);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--ink-2);transition:background .2s var(--ease),border-color .2s var(--ease)}.pkg-svc.on{background:var(--fade-select),var(--card);border-color:var(--accent-soft);color:var(--ink)}.pkg-svc input{margin:0;accent-color:var(--accent)}.pkg-edit-foot{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--fs-caption);color:var(--muted)}.pkg-edit-foot{align-items:center;gap:10px}.pkg-edit-foot .link-btn{font-size:var(--fs-caption);font-weight:var(--fw-semibold)}.money-input.pkg-price{width:130px}.money-input.pkg-price input{font-weight:var(--fw-heavy);color:var(--ink);text-align:right}.pkg-edit-foot strong{font-size:var(--fs-body);font-weight:var(--fw-heavy);color:var(--ink);font-variant-numeric:tabular-nums}.pkg-edit-actions{display:flex;align-items:center;gap:8px}.pkg-edit-actions .link-btn{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-caption);font-weight:var(--fw-semibold)}.pkg-edit-actions .pkg-cancel{margin-left:auto}.pkg-badge{position:absolute;top:10px;right:10px;padding:1px 8px;border-radius:var(--r-pill);background:var(--ink);color:var(--accent);font-size:var(--fs-micro);font-weight:var(--fw-bold)}.svc-list,.addon-list,.check-list,.row-list,.term-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.svc-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;border:1px solid var(--line-2);transition:background .2s var(--ease),border-color .2s var(--ease)}.svc-list li.on{background:var(--fade-soft),var(--card);border-color:var(--accent-soft)}.svc-check{flex:1;display:flex;align-items:flex-start;gap:10px;min-width:0;cursor:pointer}.svc-check input{margin-top:3px}.svc-check span{display:flex;flex-direction:column;min-width:0}.svc-check strong{font-size:var(--fs-secondary);font-weight:var(--fw-bold)}.svc-check small{font-size:var(--fs-caption);color:var(--muted);font-weight:var(--fw-regular)}.svc-name,.row-list input,.inline-add input,.term-list textarea,.qe-notes{flex:1;min-width:0;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;background:var(--card);font-size:var(--fs-secondary);color:var(--ink)}.svc-name:focus,.row-list input:focus,.inline-add input:focus,.term-list textarea:focus,.qe-notes:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.money-input{display:flex;align-items:center;gap:2px;width:104px;flex-shrink:0;padding:0 10px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--card);color:var(--muted);font-size:var(--fs-secondary)}.money-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.money-input input{width:100%;border:0;outline:0;padding:7px 0;background:transparent;font-weight:var(--fw-bold);color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}.money-input.pct{width:76px}.addon-chips{display:flex;flex-wrap:wrap;gap:6px}.addon-chips .crew-chip{display:inline-flex;align-items:center;gap:5px}.addon-list li{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:14px;background:var(--accent-wash)}.addon-list strong{flex:1;font-size:var(--fs-secondary)}.qty{display:flex;align-items:center;gap:4px;background:var(--card);border-radius:var(--r-pill);padding:3px;border:1px solid var(--line)}.qty button{width:22px;height:22px;border:0;border-radius:50%;background:var(--soft);display:grid;place-items:center}.qty button:hover{background:var(--accent)}.qty span{min-width:24px;text-align:center;font-size:var(--fs-caption);font-weight:var(--fw-bold);white-space:nowrap;padding:0 2px}.check-list label{display:flex;align-items:center;gap:9px;font-size:var(--fs-secondary);font-weight:var(--fw-medium);cursor:pointer}.inline-add{display:flex;gap:8px}.sched-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.2fr) 92px 30px;gap:6px;align-items:center}.sched-row input{padding:7px 8px;font-size:var(--fs-caption)}.sched-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1.3fr) 112px 30px}.sched-row .sel-field{padding:7px 8px;gap:6px;font-size:var(--fs-caption)}.sched-row .dt-icon{display:none}.discount-input{display:flex;gap:6px;align-items:center}.discount-input input{flex:1;min-width:0}.segmented.mini{padding:3px}.segmented.mini button{padding:4px 10px}.qe-totals{margin:0;display:flex;flex-direction:column;border-top:1px solid var(--line-2);padding-top:8px}.qe-totals div{display:flex;justify-content:space-between;padding:3px 0;font-size:var(--fs-secondary);color:var(--ink-2)}.qe-totals dd{margin:0;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.qe-totals .grand{margin-top:6px;padding:10px 12px;border-radius:14px;background:var(--ink);color:#fff;font-weight:var(--fw-bold)}.qe-totals .grand dd{color:var(--accent);font-weight:var(--fw-heavy);font-size:16px}.term-list li{display:grid;grid-template-columns:1fr 30px;gap:4px 6px}.term-group{grid-column:1 / -1;font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--accent-ink)}.term-list textarea{resize:vertical;line-height:1.45;grid-column:1}.term-list .term-title{grid-column:1;padding:7px 10px;border-radius:10px;border:1px solid var(--line);background:var(--card);font-weight:var(--fw-bold);font-size:var(--fs-secondary)}.term-list .term-title:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.term-list li>button{grid-column:2;grid-row:2}.term-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.term-actions .select-wrap select{padding-top:6px;padding-bottom:6px}.qe-notes{width:100%;resize:vertical}.gallery-edit{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gallery-edit li{position:relative;display:flex;flex-direction:column;gap:4px}.gallery-edit img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;border:1px solid var(--line);display:block}.gallery-edit input{width:100%;min-width:0;border:1px solid var(--line);border-radius:var(--r-sm);padding:5px 7px;background:var(--card);font-size:var(--fs-caption);color:var(--ink)}.gallery-edit input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.gallery-edit li>.icon-btn{position:absolute;top:5px;right:5px;width:24px;height:24px;border-radius:50%;background:var(--card);box-shadow:var(--shadow)}.gallery-add label{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;border:1.5px dashed var(--line);border-radius:10px;color:var(--muted);font-size:var(--fs-caption);font-weight:var(--fw-semibold);transition:border-color .2s,background .2s,color .2s}.gallery-add label:hover{border-color:var(--accent);background:var(--fade-soft);color:var(--ink)}.qd-mood{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:var(--r-pill);background:var(--accent-wash);color:var(--accent-ink);border:1px solid var(--accent-soft);font-size:var(--fs-caption);font-weight:var(--fw-bold);align-self:flex-start}.qd-image{position:relative;aspect-ratio:21 / 9;border-radius:var(--r-card);overflow:hidden;background:var(--soft)}.qd-image img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.06) brightness(1.02);transition:filter .8s var(--ease),transform .8s var(--ease)}.qd-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;mix-blend-mode:soft-light;background:linear-gradient(135deg,#f6a62061,#fdedd21a 55%,#17171740)}.qd-image.failed{background:var(--hatch),var(--accent-wash)}.qd-image-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--accent-ink)}.qp-wrap{display:flex;flex-direction:column;gap:14px}.qp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.quote-pages{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;max-width:760px;width:100%;margin:0 auto}.quote-pages.overview{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:16px}.qp{--paper: #FAF8F4;container-type:inline-size;background:var(--paper);border:1px solid var(--line);border-radius:6px;box-shadow:0 1px 2px #1717170a,0 18px 40px -24px #17171738;animation:rise .5s var(--ease) both}.qp:nth-child(2){animation-delay:60ms}.qp:nth-child(3){animation-delay:.12s}.qp:nth-child(n+4){animation-delay:.18s}.qp-inner{font-size:2.05cqi;aspect-ratio:1 / 1.414;padding:7.5% 7%;display:flex;flex-direction:column;color:var(--ink);line-height:1.45}.qp h1,.qp h2,.qp h5,.qp p{margin:0}.qp-display{font-family:var(--font-serif);font-weight:500;text-transform:uppercase;letter-spacing:.01em;font-size:3.4em;line-height:1.02;color:var(--ink)}.qp-cover .qp-display{font-size:3.9em;margin-top:1.1em}.qp-label,.qp h5{font-size:.72em;font-weight:var(--fw-bold);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2)}.qp-lead{margin-top:1em!important;max-width:36em;font-size:.95em;color:var(--muted);line-height:1.6}.qp-quote{font-family:var(--font-serif);font-style:italic;font-size:1.15em;color:var(--ink-2);text-align:center;margin-top:1.2em!important}.qp-quote.small{font-size:1em;margin-top:auto!important;padding-top:1.6em}.qp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.4em}.qp-kicker{display:inline-flex;align-items:center;gap:.8em;font-size:.75em;font-weight:var(--fw-bold);letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}.qp-kicker b{color:var(--accent-ink);font-variant-numeric:tabular-nums}.qp-kicker i{width:2.4em;height:1px;background:var(--accent)}.qp-mini-logo{font-family:var(--font-serif);font-size:1.1em;font-weight:600;letter-spacing:.06em}.qp-logo{display:flex;flex-direction:column;gap:.6em}.qp-logo img{height:4.4em;width:auto;align-self:flex-start;display:block}.qp-logo small{font-size:.66em;color:var(--muted);letter-spacing:.04em}.qp-rule{display:block;height:1px;margin-top:1.4em;background:linear-gradient(90deg,var(--accent) 0 18%,var(--line) 18%)}.qp-words{list-style:none;margin:0;padding:0;text-align:right;font-size:.72em;font-weight:var(--fw-semibold);letter-spacing:.34em;text-transform:uppercase;color:var(--ink-2);line-height:2}.qp-words li:last-child{color:var(--accent-ink)}.qp-words.small{font-size:.62em;color:var(--muted)}.qp-sprig{width:3.6em;height:auto;color:var(--accent);opacity:.85}.qp-sprig.faint{width:4.6em;opacity:.35}.qp-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:1em}.qp-cover-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1em}.qp-doc{display:flex;flex-direction:column;align-items:flex-end;gap:.15em;font-size:.8em;color:var(--muted);font-variant-numeric:tabular-nums}.qp-doc strong{font-size:.95em;font-weight:var(--fw-bold);letter-spacing:.28em;text-transform:uppercase;color:var(--ink);margin-bottom:.3em}.qp-names{margin-top:.5em!important;font-family:var(--font-serif);font-size:1.9em;color:var(--ink-2)}.qp-dateline{margin-top:.4em!important;font-size:.82em;font-weight:var(--fw-semibold);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.qp .qd-image{border-radius:1em}.qp-hero-img{flex:1;min-height:12em;aspect-ratio:auto;margin-top:1.6em}.qp-cover-foot{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:1.6em;margin-top:1.6em;padding-top:1.4em;border-top:1px solid var(--line)}.qp-prepared{display:flex;flex-direction:column;gap:.45em;font-size:.85em;color:var(--ink-2);min-width:0}.qp-prepared h5{margin-bottom:.3em;color:var(--accent-ink)}.qp-prepared span{display:flex;align-items:center;gap:.7em;overflow-wrap:anywhere}.qp-prepared svg,.qp-contact svg,.qp-sign h5 svg{width:1.1em;height:1.1em;color:var(--accent-ink);flex-shrink:0}.qp-services{list-style:none;margin:1.8em 0 0;padding:0;display:flex;flex-direction:column}.qp-services li{display:grid;grid-template-columns:2.2em 2.8em minmax(0,1fr) 7.5em;align-items:center;gap:.9em;padding:.75em 0;border-bottom:1px solid var(--line)}.qp-services li:last-child{border-bottom:0}.qp-idx{font-family:var(--font-serif);font-size:1.15em;color:var(--accent-ink);font-variant-numeric:tabular-nums}.qp-ico{width:2.8em;height:2.8em;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:var(--card);color:var(--ink-2)}.qp-ico svg{width:1.25em;height:1.25em}.qp-svc-text{display:flex;flex-direction:column;min-width:0}.qp-svc-text strong{font-size:.95em;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em}.qp-svc-text small{font-size:.8em;color:var(--muted)}.qp-thumb{aspect-ratio:16 / 10;border-radius:.6em!important}.qp-empty{display:block!important;padding:2em;text-align:center;color:var(--muted);background:var(--hatch);border-radius:1em}.qp-invoice{margin-top:1.6em;padding:.6em 1.4em;border-radius:1em;background:var(--card);border:1px solid var(--line)}.qp-line{display:grid;grid-template-columns:1.4em minmax(0,1fr) auto;align-items:center;gap:.9em;padding:.6em 0;font-size:.9em;border-bottom:1px solid var(--line-2)}.qp-line svg{width:1.2em;height:1.2em;color:var(--muted)}.qp-line em{font-style:normal;color:var(--muted)}.qp-line strong{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.qp-line.sum,.qp-line.discount,.qp-line.plain{grid-template-columns:minmax(0,1fr) auto}.qp-line.plain{color:var(--ink-2)}.qp-line.sum{border-top:1px solid var(--line);font-weight:var(--fw-bold)}.qp-line.sum strong{font-weight:var(--fw-heavy)}.qp-line.discount{color:var(--accent-ink)}.qp-line:last-child{border-bottom:0}.qp-total{display:flex;justify-content:space-between;align-items:center;margin-top:1em;padding:1.2em 1.6em;border-radius:1em;background:var(--accent-wash);border:1px solid var(--accent-soft)}.qp-total div{display:flex;flex-direction:column}.qp-total small{font-size:.72em;font-weight:var(--fw-bold);letter-spacing:.22em;text-transform:uppercase;color:var(--accent-ink)}.qp-total strong{font-family:var(--font-serif);font-size:2.8em;font-weight:500;line-height:1.15;font-variant-numeric:lining-nums tabular-nums}.qp-total i{width:3em;height:2px;background:var(--accent);margin-top:.3em}.qp-label{margin-top:1.8em!important}.qp-groups{flex:1;margin-top:1.8em;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:1em}.qp-groups.count-1{grid-template-columns:1fr}.qp-group{display:flex;flex-direction:column;gap:.5em;padding:1.2em;border-radius:1em;background:var(--card);border:1px solid var(--line);min-width:0}.qp-group>svg{width:1.6em;height:1.6em;color:var(--accent-ink)}.qp-group h5{color:var(--ink);font-size:.85em}.qp-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35em;font-size:.82em;color:var(--ink-2)}.qp-group li{display:flex;gap:.6em;align-items:baseline}.qp-group li svg{width:.9em;height:.9em;color:var(--accent-ink);flex-shrink:0;transform:translateY(.1em)}.qp-group-img{margin-top:auto;aspect-ratio:16 / 9;border-radius:.7em!important}.qp-split{flex:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:2em;margin-top:2em}.qp-tall{aspect-ratio:auto;height:100%;min-height:18em}.qp-timeline{list-style:none;margin:0;padding:0 0 0 1.8em;position:relative;display:flex;flex-direction:column;gap:1.8em}.qp-timeline:before{content:"";position:absolute;left:.45em;top:.4em;bottom:.4em;width:1px;background:var(--line)}.qp-timeline li{position:relative;display:flex;flex-direction:column;gap:.15em}.qp-node{position:absolute;left:-1.8em;top:.25em;width:.9em;height:.9em;border-radius:50%;background:var(--paper);border:1px solid var(--faint)}.qp-timeline li.first .qp-node{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 .35em var(--accent-soft)}.qp-tl-n{font-family:var(--font-serif);font-size:1.1em;color:var(--accent-ink)}.qp-timeline strong{font-size:1em;font-weight:var(--fw-bold);letter-spacing:.1em;text-transform:uppercase}.qp-timeline span:last-child{font-size:.82em;color:var(--muted);font-variant-numeric:tabular-nums}.qp-terms{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1em}.qp-terms li{display:grid;grid-template-columns:1.9em minmax(0,1fr);gap:.8em;align-items:start}.qp-badge{width:1.9em;height:1.9em;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--ink);font-size:.75em;font-weight:var(--fw-heavy);font-variant-numeric:tabular-nums}.qp-terms strong{display:block;font-size:.85em;font-weight:var(--fw-bold)}.qp-terms p{font-size:.76em;color:var(--muted);line-height:1.5;white-space:pre-wrap}.qp-signs{display:grid;grid-template-columns:1fr 1fr;gap:1.2em;margin-top:2.4em}.qp-sign{display:flex;flex-direction:column;gap:1.4em;padding:1.4em;border-radius:1em;background:var(--card);border:1px solid var(--line)}.qp-sign h5{display:flex;align-items:center;gap:.6em;color:var(--ink)}.qp-sign label{display:flex;flex-direction:column;gap:.5em;font-size:.75em;color:var(--muted)}.qp-sign label b{min-height:1.6em;border-bottom:1px solid var(--faint);font-size:1.15em;color:var(--ink);font-weight:var(--fw-semibold)}.qp-signature{font-family:var(--font-serif);font-style:italic;font-size:2em;color:var(--ink-2);border-bottom:1px solid var(--faint);line-height:1.4}.qp-foot{margin-top:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:2em;padding-top:1.6em;border-top:1px solid var(--line)}.qp-foot .qp-logo img{height:3.4em}.qp-contact{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4em;font-size:.78em;color:var(--ink-2)}.qp-contact li{display:flex;align-items:center;gap:.6em}.qp-story .qp-lead+.qp-lead{margin-top:.8em!important}.qp-stats{list-style:none;margin:2em 0 0;padding:1.4em 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1em;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.qp-stats li{display:flex;flex-direction:column;gap:.3em}.qp-stats strong{font-family:var(--font-serif);font-weight:500;font-size:2.2em;line-height:1;color:var(--ink)}.qp-stats span{font-size:.68em;font-weight:var(--fw-semibold);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.qp-values{list-style:none;margin:1.8em 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6em}.qp-values li{display:flex;flex-direction:column;gap:.5em;padding-top:.9em;border-top:2px solid var(--accent)}.qp-values p{font-size:.82em;color:var(--muted);line-height:1.55}.qp-gallery{margin:auto 0;padding:1.5em 0;display:grid;grid-template-columns:.7fr 1fr .7fr 1fr;gap:1.3em;align-items:center}.qp-gallery-col{display:flex;flex-direction:column;gap:1.1em;min-width:0}.qp-gallery figure{margin:0;display:flex;flex-direction:column;gap:.55em}.qp .qp-gallery-img{width:100%;border-radius:.8em;box-shadow:0 .5em 1.2em -.4em #1717174d}.qp-gallery-img img{filter:none}.qp-gallery-img:after{display:none}.qp-gallery .tall .qp-gallery-img{aspect-ratio:7 / 10}.qp-gallery .wide .qp-gallery-img{aspect-ratio:3 / 2}.qp-gallery figcaption{font-size:.6em;color:var(--muted);text-align:center}.qp-thanks{position:relative}.qp-thanks-sprig{position:absolute;top:12%;right:8%;width:5em;opacity:.4}.qp-thanks .qp-display{margin-top:1.4em}.qp-thanks .qp-lead{max-width:32em}.qp-quotes{list-style:none;margin:2.2em 0 0;padding:0;display:flex;flex-direction:column;gap:1em}.qp-quotes li{padding-left:1em;border-left:2px solid var(--accent);font-family:var(--font-serif);font-style:italic;font-size:1.25em;line-height:1.35;color:var(--ink-2)}.qp-signoff{margin-top:2.2em;display:flex;flex-direction:column;gap:.2em}.qp-signoff span{font-size:.85em;color:var(--muted)}.qp-signoff strong{font-family:var(--font-serif);font-style:italic;font-weight:500;font-size:1.7em;color:var(--ink)}@media print{@page{margin:12mm}html,body,.app{background:#fff!important;height:auto!important;overflow:visible!important;padding:0!important;display:block!important}.sidebar,.topbar,.mobile-bar,.drawer-backdrop,.qb-header,.qb-left,.qb-banner,.modal-backdrop{display:none!important}.main-wrap{overflow:visible!important;border:0!important;box-shadow:none!important;border-radius:0!important;background:#fff!important}.page{padding:0!important}.qb-layout{display:block!important}.qp-toolbar{display:none!important}.quote-pages,.quote-pages.overview{display:block!important;max-width:none!important}.qp{box-shadow:none!important;border:0!important;border-radius:0!important;animation:none!important;break-after:page;break-inside:avoid}.qp:last-child{break-after:auto}*{-webkit-print-color-adjust:exact;print-color-adjust:exact;animation:none!important}}@media (max-width: 1100px){.dash-grid,.calendar-layout,.report-grid{grid-template-columns:1fr}.report-grid .span-2,.report-grid .span-3{grid-column:auto}.agenda{position:static}.portal-hero,.portal-grid,.qb-layout{grid-template-columns:1fr}.qb-left{position:static;max-height:none}.modal-xl .modal-body{overflow-y:auto}.pm-layout{display:block;height:auto}.activity-log{border-left:0;border-top:1px solid var(--line-2);overflow:visible}}@media (max-width: 700px){.quote-pages.overview{grid-template-columns:minmax(0,1fr)}}@media (max-width: 640px){.stepper{grid-template-columns:1fr;gap:10px}.step{flex-direction:row;text-align:left}.step:before{display:none}.portal-hero{padding:20px}.portal-hero h1{font-size:28px}}@media (max-width: 1023px){.sidebar-desktop{display:none}.qb-header{top:64px}.drawer-backdrop{display:block}.sidebar-drawer,.mobile-bar{display:flex}}@media (max-width: 760px){:root{--fs-display: 36px;--fs-h1: 30px}.app{padding:8px;gap:8px}.search{width:100%}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.form-grid .contact-row{grid-template-columns:1fr}.day{min-height:70px}.task-time,.task-assignee{display:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
