:root{color-scheme:light dark;--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px;--color-primary: #10b981;--color-primary-dark: #059669;--color-primary-light: #ecfdf5;--color-primary-text: #047857;--color-badge-active-text: #064e3b;--color-success: #16a34a;--color-danger: #dc2626;--color-warning: #d97706;--color-info: #0891b2;--color-bg: #fafaf9;--color-surface: #ffffff;--color-text: #1c1917;--color-text-muted: rgba(28, 25, 23, .62);--color-border: rgba(16, 185, 129, .4);--color-header: #ffffff;--color-surface-alt: #f5f5f4;--color-surface-hover: #ecfdf5;--color-surface-input: #ffffff;--color-text-strong: #1c1917;--color-text-secondary: rgba(28, 25, 23, .78);--color-text-link: #047857;--color-border-light: rgba(16, 185, 129, .12);--color-danger-bg: #fef2f2;--color-danger-text: #991b1b;--color-danger-border: #fca5a5;--color-success-bg: #f0fdf4;--color-success-text: #166534;--color-warning-bg: #fffbeb;--color-warning-text: #92400e;--color-info-bg: #ecfeff;--color-info-text: #155e75;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-sm: .82rem;--font-base: .9rem;--font-lg: 1.1rem;--font-xl: 1.3rem;--font-2xl: 1.5rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 14px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .14)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg: #050b09;--color-surface: #0d1815;--color-text: #fafafa;--color-text-muted: rgba(250, 250, 250, .62);--color-border: rgba(16, 185, 129, .18);--color-header: #050b09;--color-surface-alt: #142420;--color-surface-hover: #1a2e28;--color-surface-input: #050b09;--color-text-strong: #ffffff;--color-text-secondary: rgba(250, 250, 250, .78);--color-text-link: #34d399;--color-primary-text: #34d399;--color-badge-active-text: #d1fae5;--color-border-light: rgba(16, 185, 129, .12);--color-primary-light: #064e3b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .6);--shadow-md: 0 6px 18px rgba(0, 0, 0, .55);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .65)}}:root[data-theme=dark]{--color-bg: #050b09;--color-surface: #0d1815;--color-text: #fafafa;--color-text-muted: rgba(250, 250, 250, .62);--color-border: rgba(16, 185, 129, .18);--color-header: #050b09;--color-surface-alt: #142420;--color-surface-hover: #1a2e28;--color-surface-input: #050b09;--color-text-strong: #ffffff;--color-text-secondary: rgba(250, 250, 250, .78);--color-text-link: #34d399;--color-primary-text: #34d399;--color-badge-active-text: #d1fae5;--color-border-light: rgba(16, 185, 129, .12);--color-primary-light: #064e3b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .6);--shadow-md: 0 6px 18px rgba(0, 0, 0, .55);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .65);color-scheme:dark}:root[data-theme=light]{color-scheme:light}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.filter-chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.4rem .75rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-full);font-size:var(--font-sm);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.filter-chip:hover{background:var(--color-surface-hover);border-color:var(--color-primary)}.filter-chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.filter-chip-active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary-text);font-weight:600}.skip-link{position:fixed;top:0;left:0;background:var(--color-primary-dark, #064e3b);color:#fff;padding:.75rem 1.25rem;font-weight:600;font-size:.95rem;text-decoration:none;border-radius:0 0 var(--radius-sm, 4px) 0;z-index:10000;transform:translateY(-150%);transition:transform .15s ease-out;pointer-events:none}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);outline:3px solid var(--color-primary, #10b981);outline-offset:2px;pointer-events:auto}@media(prefers-reduced-motion:reduce){.skip-link{transition:none}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);line-height:1.6}a{color:var(--color-text-link);text-decoration:none}a:hover{text-decoration:underline}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--color-text-muted)}.text-capitalize{text-transform:capitalize}.text-sm{font-size:var(--font-sm)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning-text)}.info-panel{padding:var(--space-md);background:var(--color-surface-alt);border-radius:var(--radius-md)}.card-primary-tint{background:var(--color-primary-light)}.card-surface-alt{background:var(--color-surface-alt)}.project-progress-cell{min-width:180px;max-width:260px;display:flex;flex-direction:column;gap:3px}.project-progress-bar{height:5px;background:var(--color-surface-alt);border-radius:var(--radius-full);overflow:hidden}.project-progress-bar-fill{height:100%;background:var(--color-primary);transition:width .2s}.row-archived td{color:var(--color-text-muted)}.row-archived td:first-child{font-style:italic}.font-semibold{font-weight:600}.font-bold{font-weight:700}.w-full{width:100%}.cursor-pointer{cursor:pointer}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.two-col-layout{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-lg)}@media(max-width:768px){.two-col-layout{grid-template-columns:1fr}}.required-star{color:var(--color-danger)}.form-divider{margin:var(--space-lg) 0;border:none;border-top:1px solid var(--color-border)}.checkbox-label{display:flex;gap:var(--space-sm);align-items:center}.checkbox-label-sm{display:flex;gap:var(--space-xs);align-items:center;font-size:var(--font-sm)}.booking-enable-toggle{padding:var(--space-sm);border-radius:var(--radius-md);cursor:pointer;transition:background .12s}.booking-enable-toggle:hover{background:var(--color-surface-hover)}.booking-enable-toggle input[type=checkbox]{width:1.1rem;height:1.1rem;cursor:pointer}.app-header{background:var(--color-header);color:#fff;padding:0 var(--space-xl);height:56px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100}.app-header h1{font-size:var(--font-lg);font-weight:700}.app-header a{color:#fff;text-decoration:none}.app-header-logo,.app-header-logo:hover{color:inherit;display:inline-flex;align-items:center}.app-header-nav{display:flex;align-items:center;gap:var(--space-md)}.app-header-mobile-toggle{display:none;background:transparent;border:none;color:#fff;font-size:1.5rem;line-height:1;padding:var(--space-xs) var(--space-sm);cursor:pointer;border-radius:var(--radius-sm)}.app-header-mobile-toggle:hover{background:#ffffff1a}.app-header-mobile-toggle:focus-visible{outline:2px solid white;outline-offset:2px}.app-mobile-menu{display:none;position:sticky;top:56px;z-index:99;background:var(--color-header);padding:var(--space-sm) var(--space-md);flex-direction:column;gap:2px;box-shadow:var(--shadow-md);max-height:calc(100vh - 56px);overflow-y:auto}.app-mobile-link{display:block;width:100%;padding:.75rem var(--space-md);color:#ffffffd9;font-size:var(--font-base);font-weight:500;background:transparent;border:none;border-radius:var(--radius-sm);text-align:left;cursor:pointer;text-decoration:none}.app-mobile-link:hover,.app-mobile-link.active{color:#fff;background:#ffffff1a;text-decoration:none}.app-mobile-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;margin-right:var(--space-xs);font-size:1rem;line-height:1}.app-mobile-logout{color:#fca5a5}.app-mobile-divider{height:1px;background:#ffffff1a;margin:var(--space-xs) var(--space-md)}.app-mobile-section-label{padding:var(--space-md) var(--space-md) var(--space-xs);font-size:.68rem;font-weight:700;color:#ffffff80;text-transform:uppercase;letter-spacing:.06em}.app-header nav a{color:#ffffffb3;font-size:var(--font-sm);font-weight:500;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:all .15s}.app-header nav a:hover{color:#fff;background:#ffffff1a;text-decoration:none}.app-header nav a.nav-active{color:#fff;background:#ffffff26}.app-header nav button.nav-active{color:#fff;background:#ffffff26}.nav-dropdown{position:relative}.nav-dropdown-trigger{color:#ffffffb3;font-size:var(--font-sm);font-weight:500;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background:none;border:none;cursor:pointer;transition:all .15s}.nav-dropdown-trigger:hover{color:#fff;background:#ffffff1a}.nav-dropdown-menu{position:absolute;top:100%;right:0;margin-top:var(--space-xs);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:160px;z-index:200;padding:var(--space-xs) 0}.nav-dropdown-item{display:block;width:100%;padding:.5rem 1rem;font-size:var(--font-sm);font-weight:500;color:var(--color-text);text-decoration:none;background:none;border:none;cursor:pointer;text-align:left;transition:background .1s}.nav-dropdown-item:hover{background:var(--color-surface-hover);text-decoration:none}.app-header .nav-dropdown-item,.app-header .nav-dropdown-item:hover{color:var(--color-text)}.app-header .nav-dropdown-item-active,.app-header .nav-dropdown-item-active:hover{background:var(--color-primary-light);color:var(--color-primary-dark);font-weight:600}.app-header .nav-dropdown-logout,.app-header .nav-dropdown-logout:hover{color:var(--color-danger)}.nav-dropdown-logout{color:var(--color-danger);border-top:1px solid var(--color-border-light);margin-top:var(--space-xs);padding-top:.6rem}.nav-dropdown-section{padding:6px 1rem 2px;font-size:.68rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.nav-dropdown-divider{height:1px;background:var(--color-border-light);margin:var(--space-xs) 0}.nav-dropdown-item-icon{display:flex;align-items:center;gap:var(--space-sm)}.nav-dropdown-icon{display:inline-flex;align-items:center;justify-content:center;width:1.2rem;font-size:.95rem;line-height:1}.nav-account-trigger{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:none;border:none;color:#ffffffb3;font-size:var(--font-sm);font-weight:500;cursor:pointer;border-radius:var(--radius-full);transition:background .15s,color .15s}.nav-account-trigger:hover,.nav-account-trigger.nav-active{color:var(--color-text);background:var(--color-surface-hover)}.nav-account-admin-badge{font-size:1.1rem;line-height:1;opacity:.95;margin-right:2px;flex-shrink:0}.nav-account-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;font-size:.85rem;font-weight:700}.nav-account-avatar-initials{line-height:1}.nav-account-name{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-account-trigger-text{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.1;min-width:0}.nav-account-trigger-label{font-size:var(--font-xs);font-weight:500;opacity:.65;letter-spacing:.02em}.nav-account-trigger-chevron{font-size:.7rem;opacity:.7;margin-left:var(--space-xs);flex-shrink:0;transition:transform .12s ease}.nav-account-trigger[aria-expanded=true] .nav-account-trigger-chevron{transform:rotate(180deg)}.nav-account-menu{min-width:220px}.nav-account-menu-header{padding:var(--space-sm) 1rem;border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-xs)}.nav-account-menu-name{font-weight:600;font-size:var(--font-sm);color:var(--color-text)}.nav-account-menu-email{font-size:var(--font-sm);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.nav-account-trigger{display:none}}.main-content{max-width:var(--page-max-width, 1500px);margin:0 auto;padding:var(--space-xl)}@media(max-width:768px){.app-header{padding:0 var(--space-md);gap:var(--space-sm)}.app-header-nav{display:none}.app-header-mobile-toggle{display:inline-flex}.app-mobile-menu{display:flex}.cmdk-trigger{min-height:44px;min-width:44px;margin-right:0;padding:0;font-size:var(--font-sm);align-items:center;justify-content:center}.cmdk-trigger-label,.cmdk-trigger-kbd{display:none}.cmdk-trigger:before{content:"🔍";font-size:1.25rem}.main-content{padding:var(--space-md)}}.btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);font-size:var(--font-sm);font-weight:500;cursor:pointer;transition:all .15s;text-decoration:none;white-space:nowrap}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid color-mix(in srgb,var(--color-text-muted) 35%,transparent);font-weight:600}.link-button{background:none;border:none;padding:0;font:inherit;color:var(--color-primary-text);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.btn-secondary:hover{background:var(--color-primary-light);border-color:var(--color-primary-text);color:var(--color-primary-dark)}.btn-secondary:disabled,.btn-secondary:disabled:hover{background:var(--color-surface-alt);border-color:var(--color-border);color:var(--color-text-muted)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-warning{background:var(--color-warn, #f59e0b);color:#fff;border-color:transparent}.btn-warning:hover{opacity:.9}@keyframes ai-draft-pulse{0%,to{opacity:1}50%{opacity:.6}}.ai-draft-pending{animation:ai-draft-pulse 1.2s ease-in-out infinite}.btn-sm{padding:.3rem .6rem;font-size:var(--font-sm)}.payment-plan-toggle{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.payment-plan-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);flex-wrap:wrap}.payment-plan-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-sm);flex-wrap:wrap;gap:var(--space-sm)}.payment-plan-sum{display:flex;align-items:center;gap:var(--space-xs)}.payment-plan-table td{padding:.35rem .5rem;vertical-align:middle}.payment-plan-table .form-input-sm{padding:.25rem .4rem;font-size:var(--font-sm);height:auto}.btn-icon{background:none;border:none;cursor:pointer;font-size:1.2rem;line-height:1;padding:.1rem .3rem;border-radius:var(--radius-sm)}.btn-icon:hover{background:var(--color-surface-hover, rgba(0,0,0,.06))}.portal-installment-list{display:flex;flex-direction:column;gap:var(--space-xs);min-width:220px}.portal-installment-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.portal-installment-label{flex:1 1 auto;min-width:80px}.portal-installment-amount,.portal-installment-due{white-space:nowrap}.portal-installment-paid{display:flex;align-items:center;gap:.25rem}.btn-lg{padding:.85rem 1.75rem;font-size:1rem;font-weight:600;border-radius:var(--radius-md)}.btn-lg:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.link-button{background:none;border:none;padding:0;color:var(--color-primary-text);cursor:pointer;text-decoration:underline;font:inherit}.link-button:hover{color:var(--color-primary-dark)}.link-button:disabled{color:var(--color-text-muted);cursor:not-allowed;text-decoration:none}.link-button-muted{background:none;border:none;padding:0;color:var(--color-text-muted);cursor:pointer;font:inherit;font-weight:600}.link-button-muted:hover{color:var(--color-text)}.indented-section{padding-left:var(--space-md);border-left:2px solid var(--color-primary)}.btn-icon-only{padding:.5rem .7rem;min-width:2.4rem;font-size:1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.btn-icon-only.btn-sm{padding:.3rem .5rem;min-width:2rem}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.card-title{font-size:var(--font-lg);font-weight:600}.form-group{margin-bottom:var(--space-md)}.form-static-value{margin:0;padding:.5rem 0;font-size:var(--font-base);color:var(--color-text);line-height:1.4}.signature-block{margin-top:var(--space-xl);padding:var(--space-lg);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:480px}.signature-typed{font-family:Brush Script MT,Lucida Handwriting,Snell Roundhand,cursive;font-size:2.2rem;font-weight:400;color:var(--color-text-strong);padding:var(--space-sm) 0 0;min-height:2.6rem;line-height:1;font-style:italic}.signature-image{max-width:100%;max-height:6rem;display:block;background:var(--color-surface);padding:var(--space-xs);border-radius:var(--radius-sm)}.signature-line{height:1px;background:var(--color-text-muted);margin:var(--space-xs) 0 var(--space-md);opacity:.5}.signature-meta{display:flex;flex-direction:column;gap:.25rem;font-size:var(--font-sm)}.signature-meta-row{display:flex;gap:var(--space-md);align-items:baseline}.signature-meta-label{color:var(--color-text-muted);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.04em;min-width:4rem}.signature-meta-row-audit{font-size:var(--font-xs);opacity:.7}.proposal-static-html{padding:0;margin:0;color:var(--color-text);font-size:var(--font-base);line-height:1.6}.proposal-static-html p{margin:0 0 var(--space-md)}.proposal-static-html p:last-child{margin-bottom:0}.proposal-static-html h1,.proposal-static-html h2,.proposal-static-html h3{color:var(--color-text-strong);margin:var(--space-lg) 0 var(--space-sm)}.proposal-static-html ul,.proposal-static-html ol{margin:0 0 var(--space-md) var(--space-lg)}.proposal-static-html a{color:var(--color-primary-text);text-decoration:underline}.proposal-static-html strong{font-weight:600;color:var(--color-text-strong)}.proposal-static-html blockquote{border-left:3px solid var(--color-border);padding-left:var(--space-md);color:var(--color-text-muted);margin:var(--space-md) 0}.proposal-static-html table{width:100%;border-collapse:collapse;margin:var(--space-md) 0;font-size:var(--font-base)}.proposal-static-html thead th{text-align:left;font-weight:600;color:var(--color-text-secondary);background:var(--color-surface-alt);border-bottom:1px solid var(--color-border);padding:var(--space-sm) var(--space-md)}.proposal-static-html tbody td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:top}.proposal-static-html tbody tr:last-child td{border-bottom:none}.form-label{display:block;font-size:var(--font-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.form-input{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-base);background:var(--color-surface-input);color:var(--color-text);transition:border-color .15s}.date-input-wrap{position:relative;display:block;width:100%}.date-input-wrap>.date-input{width:100%;text-align:left}.date-input-wrap>.date-input::-webkit-datetime-edit{text-align:left;-webkit-padding-start:0;padding-inline-start:0}.date-input-wrap>.date-input::-webkit-datetime-edit-fields-wrapper{text-align:left}.date-input-wrap.is-empty>.date-input::-webkit-datetime-edit{opacity:0}.date-input-wrap.is-empty:before{content:attr(data-placeholder);position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;font-size:var(--font-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;right:2rem}@media(max-width:768px){.date-input-wrap.is-empty:before{font-size:16px}}.currency-input-wrap{position:relative;display:block}.currency-input-prefix{position:absolute;top:50%;left:.75rem;transform:translateY(-50%);color:var(--color-text-muted);font-size:var(--font-base);pointer-events:none}.currency-input.form-input{padding-left:1.5rem;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.currency-input.form-input::-webkit-outer-spin-button,.currency-input.form-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-input:focus{outline:none;border-color:var(--color-primary-text);box-shadow:0 0 0 3px #10b98133}.form-error{color:var(--color-danger);font-size:var(--font-sm);margin-top:var(--space-xs)}.form-error-inline{font-size:.7rem;margin:2px 0 0;line-height:1.2}.form-input-error{border-color:var(--color-danger)!important;background:var(--color-danger-bg)}.form-input-error:focus{box-shadow:0 0 0 3px #dc26262e}.approval-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:.72rem;font-weight:600;white-space:nowrap}.approval-chip-approved{background:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success)}.approval-chip-changes{background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning)}.portal-milestones{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-md)}.portal-milestone{padding:var(--space-md);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md)}.portal-milestone-approved{border-color:var(--color-success)}.portal-milestone-changes{border-color:var(--color-warning)}.portal-milestone-banner{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);margin-bottom:var(--space-sm);font-size:var(--font-sm)}.portal-milestone-banner-approved{background:var(--color-success-bg);color:var(--color-success-text)}.portal-milestone-banner-changes{background:var(--color-warning-bg);color:var(--color-warning-text)}.portal-milestone-composer{margin-top:var(--space-sm)}.theme-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md)}.theme-option{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,background .15s}.theme-option:hover{border-color:var(--color-primary-text)}.theme-option-active{border-color:var(--color-primary-text);background:var(--color-primary-light)}.theme-option input[type=radio]{margin-top:2px;accent-color:var(--color-primary-text)}.theme-option-body{display:flex;flex-direction:column;gap:2px;flex:1}.theme-option-label{font-weight:600;color:var(--color-text)}textarea.form-input{min-height:80px;resize:vertical}select.form-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%2364748b' d='M6 8L0 0h12z'/></svg>");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}@media(prefers-color-scheme:dark){select.form-input{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%2394a3b8' d='M6 8L0 0h12z'/></svg>")}}@media(prefers-color-scheme:dark){input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=month]::-webkit-calendar-picker-indicator,input[type=week]::-webkit-calendar-picker-indicator{filter:invert(.8);cursor:pointer}}.form-input:-webkit-autofill,.form-input:-webkit-autofill:hover,.form-input:-webkit-autofill:focus,.form-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px var(--color-surface-input) inset!important;-webkit-text-fill-color:var(--color-text)!important;caret-color:var(--color-text);transition:background-color 9999s ease-in-out 0s}.badge{display:inline-block;padding:.15rem .5rem;border-radius:var(--radius-full);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-draft{background:var(--color-surface-alt);color:var(--color-text-muted)}.badge-active{background:var(--color-primary-light);color:var(--color-badge-active-text)}.badge-review{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-completed{background:var(--color-success-bg);color:var(--color-success-text)}.badge-archived{background:var(--color-surface-alt);color:var(--color-text-muted)}.badge-sent{background:var(--color-info-bg);color:var(--color-info-text)}.badge-paid{background:var(--color-success-bg);color:var(--color-success-text)}.badge-overdue{background:var(--color-danger-bg);color:var(--color-danger-text)}.badge-cancelled{background:var(--color-surface-alt);color:var(--color-text-muted)}.badge-signed{background:var(--color-success-bg);color:var(--color-success-text)}.badge-declined{background:var(--color-danger-bg);color:var(--color-danger-text)}.badge-viewed{background:var(--color-info-bg);color:var(--color-info-text)}.badge-expired,.badge-pending-payment{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-info{background:var(--color-info-bg);color:var(--color-info-text)}.status-pill{display:inline-block;padding:.2rem .6rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;white-space:nowrap;border:1px solid transparent}.status-pill-danger{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger)}.status-pill-warning{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning)}.status-pill-info{background:var(--color-info-bg);color:var(--color-info-text)}.status-pill-success{background:var(--color-success-bg);color:var(--color-success-text)}.contract-tree{display:flex;flex-direction:column;gap:var(--space-sm)}.contract-tree-group{display:flex;flex-direction:column;gap:var(--space-xs)}.contract-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--color-surface-alt);border-radius:var(--radius-sm);gap:var(--space-md)}@media(max-width:768px){.contract-row{flex-direction:column;align-items:stretch;gap:var(--space-xs)}.contract-row>.flex.items-center.justify-between{flex-wrap:wrap;gap:var(--space-xs)}.contract-billing-stats{gap:var(--space-sm);font-size:var(--font-sm)}}.contract-row-child{margin-left:var(--space-lg);background:transparent;border-left:2px solid var(--color-border);border-radius:0;padding-left:var(--space-md)}.contract-row-branch{color:var(--color-text-muted);font-size:var(--font-sm)}.contract-billing{display:flex;flex-direction:column;gap:var(--space-xs)}.contract-billing-stats{display:flex;flex-wrap:wrap;gap:var(--space-md);color:var(--color-text)}.contract-billing-bar{position:relative;height:6px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.contract-billing-bar-billed{position:absolute;top:0;left:0;bottom:0;background:var(--color-primary-light)}.contract-billing-bar-paid{position:absolute;top:0;left:0;bottom:0;background:var(--color-primary)}.invoice-line-contract{margin-top:var(--space-xs);padding-left:var(--space-md);border-left:2px solid var(--color-border)}.invoice-line-contract .searchable-select-trigger{font-size:var(--font-sm);padding:.5rem .75rem;min-height:36px}@media(hover:none){.invoice-line-contract .searchable-select-trigger{min-height:44px}}.pre-launch-banner{background:linear-gradient(90deg,var(--color-primary),var(--color-primary-dark, #059669));color:#fff;font-size:var(--font-sm)}.pre-launch-banner-inner{max-width:1200px;margin:0 auto;padding:var(--space-sm) var(--space-md);display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center;justify-content:space-between}.pre-launch-banner-message{display:flex;align-items:center;gap:var(--space-sm);flex:1 1 auto;min-width:280px}.pre-launch-pill{background:#0000002e;padding:.15rem .6rem;border-radius:var(--radius-full);font-weight:700;font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.pre-launch-banner-actions{display:flex;align-items:center;gap:var(--space-sm)}.pre-launch-dismiss{background:transparent;border:none;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;padding:.25rem .5rem;opacity:.8}.pre-launch-dismiss:hover{opacity:1}.pre-launch-banner .btn{background:#fff;color:var(--color-primary-dark, #059669)}.pre-launch-banner .btn:hover{background:#ffffffe6}.pre-launch-banner .waitlist-form input{background:#fffffff2;color:var(--color-text);border-color:transparent}.waitlist-form{display:flex;gap:var(--space-sm);align-items:flex-start;flex-wrap:wrap}.waitlist-form-inline input{flex:1 1 240px;min-width:240px}.waitlist-form-stacked{flex-direction:column;align-items:stretch}.waitlist-form-stacked input,.waitlist-form-stacked button{width:100%}.waitlist-success{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md);background:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success);border-radius:var(--radius-md)}.hero-waitlist{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);margin:var(--space-lg) 0}.hero-waitlist-lead{font-size:var(--font-base);color:var(--color-text);text-align:center;margin:0}.hero-waitlist .waitlist-form{justify-content:center;max-width:520px;width:100%}.hero-waitlist-secondary{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px dashed var(--color-border);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);max-width:520px;margin-left:auto;margin-right:auto}.hero-waitlist-secondary .waitlist-form{justify-content:center;width:100%}.pricing-waitlist{margin:var(--space-2xl) auto 0;max-width:640px;text-align:center;padding:var(--space-xl);background:var(--color-surface-alt);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.pricing-waitlist-title{margin:0 0 var(--space-xs);font-size:var(--font-xl)}.pricing-waitlist-subhead{color:var(--color-text-muted);margin-bottom:var(--space-md)}.pricing-waitlist .waitlist-form{justify-content:center}.bottom-cta-waitlist{max-width:480px;margin:var(--space-md) auto 0}.bottom-cta-waitlist .waitlist-form{justify-content:center}.legal-page{background:var(--color-surface);min-height:calc(100vh - 200px);padding:var(--space-2xl) var(--space-md)}.legal-page-inner{max-width:760px;margin:0 auto;color:var(--color-text);line-height:1.7}.legal-page-inner h1{font-size:var(--font-2xl);margin-bottom:var(--space-sm)}.legal-page-inner h2{font-size:var(--font-xl);margin-top:var(--space-xl);margin-bottom:var(--space-sm)}.legal-page-inner h3{font-size:var(--font-lg);margin-top:var(--space-lg);margin-bottom:var(--space-xs)}.legal-page-inner p,.legal-page-inner ul{margin-bottom:var(--space-md)}.legal-page-inner ul{padding-left:var(--space-lg)}.legal-page-inner li{margin-bottom:var(--space-xs)}.legal-page-inner a{color:var(--color-primary-text);text-decoration:underline}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;padding:.6rem .8rem;font-size:var(--font-sm);font-weight:600;color:var(--color-text-muted);border-bottom:2px solid var(--color-border)}td{padding:.7rem .8rem;font-size:var(--font-base);border-bottom:1px solid var(--color-border-light)}tr:hover td{background:var(--color-surface-hover)}.sortable-header{display:inline-flex;align-items:center;gap:.35rem;background:transparent;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-align:inherit;width:auto;min-height:1.4rem}.sortable-header:hover{color:var(--color-text)}.sortable-header:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.sortable-header.is-active{color:var(--color-primary-text)}.sortable-header-arrow{font-size:.7em;opacity:.5;transition:opacity .15s}.sortable-header:hover .sortable-header-arrow,.sortable-header.is-active .sortable-header-arrow{opacity:1}.entity-row-link{display:inline-flex;align-items:center;gap:.4rem;color:inherit;text-decoration:none}.entity-row-link:hover,.table-row-clickable:hover .entity-row-link{text-decoration:underline;color:var(--color-primary-text)}.entity-row-icon{font-size:1.05em;line-height:1}.tabs-row{display:flex;align-items:stretch;border-bottom:2px solid var(--color-border);margin-bottom:var(--space-lg)}.tabs-row>.tabs{flex:1;min-width:0;border-bottom:none;margin-bottom:0}.tabs-row>.tab-more-root{flex-shrink:0;display:flex;align-items:stretch}.tabs{display:flex;gap:0;border-bottom:2px solid var(--color-border);margin-bottom:var(--space-lg)}.tab{padding:.6rem 1rem;font-size:var(--font-sm);font-weight:500;color:var(--color-text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;background:none;border-top:none;border-left:none;border-right:none}.tab:hover{color:var(--color-text)}.tab.active,.tab.tab-active{color:var(--color-primary-text);border-bottom-color:var(--color-primary-text)}.detail-grid{display:grid;grid-template-columns:1fr;gap:var(--space-md)}.detail-row{display:grid;grid-template-columns:140px 1fr;gap:var(--space-md);align-items:center;padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border-light)}.detail-row:last-child{border-bottom:none;padding-bottom:0}.detail-label{font-size:var(--font-sm);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.breadcrumb-link{font-size:var(--font-sm);color:var(--color-text-muted);text-decoration:none}.breadcrumb-link:hover{color:var(--color-primary-text)}.message-meta{display:flex;justify-content:space-between;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs);font-size:.75rem;flex-wrap:nowrap}.message-author{font-weight:600}.message-body{font-size:var(--font-base);word-wrap:break-word}.message-meta .message-milestone-chip,.message-meta .message-activity-chip{margin-left:auto}.message-footer{margin-top:var(--space-xs);font-size:.7rem;text-align:right;color:var(--color-text-muted);line-height:1}.message-mine .message-footer{color:#ffffffbf}.message-other .message-author{color:var(--color-text)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .15s ease}.modal{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-xl);animation:modalPop .18s cubic-bezier(.2,.8,.4,1);max-width:500px;width:90%;max-height:90vh;max-height:90dvh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-title{font-size:var(--font-xl);font-weight:600;margin-bottom:var(--space-md)}.modal-body{color:var(--color-text-secondary);margin-bottom:var(--space-lg)}.modal-actions{display:flex;gap:var(--space-sm);justify-content:flex-end;flex-wrap:wrap}@media(max-width:480px){.modal{padding:var(--space-lg) var(--space-md);width:95%;border-radius:var(--radius-md)}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}}.modal-wide{max-width:800px;max-height:90vh;overflow-y:auto}.badge-version{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.badge-version:hover{border-color:var(--color-primary-text);color:var(--color-primary-text)}.version-list{display:flex;flex-direction:column;gap:var(--space-sm)}.version-row{padding:var(--space-md);background:var(--color-surface-alt);border-radius:var(--radius-sm);border:1px solid transparent}.version-row-accepted{border-color:var(--color-primary-text)}.version-body{padding-top:var(--space-md);border-top:1px solid var(--color-border)}.version-terms{margin-top:var(--space-sm);padding:var(--space-md);background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border);max-height:300px;overflow-y:auto;font-size:var(--font-sm)}.toast-container{position:fixed;top:70px;right:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm);z-index:300}@media(max-width:768px){.toast-container{top:var(--space-md);right:var(--space-md);left:var(--space-md)}}.toast{padding:.75rem 1rem;border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:500;box-shadow:var(--shadow-md);animation:slideIn .2s ease;max-width:360px;display:flex;align-items:flex-start;gap:var(--space-sm)}@media(max-width:768px){.toast{max-width:100%}}.toast-message{flex:1 1 auto;min-width:0;word-break:break-word}.toast-close{flex:0 0 auto;background:transparent;border:none;color:currentColor;font-size:1.25rem;line-height:1;cursor:pointer;padding:0 var(--space-xs);margin:-2px -4px -2px 0;opacity:.7;border-radius:var(--radius-sm);transition:opacity .15s ease,background .15s ease}.toast-close:hover{opacity:1;background:#0000000f}.toast-close:focus-visible{outline:2px solid currentColor;outline-offset:1px;opacity:1}.toast-success{background:var(--color-success-bg);color:var(--color-success-text)}.toast-error{background:var(--color-danger-bg);color:var(--color-danger-text)}.toast-info{background:var(--color-info-bg);color:var(--color-info-text)}.toast-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes modalPop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.searchable-select{position:relative}.searchable-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;font-family:inherit;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-input);cursor:pointer;font-size:var(--font-base);color:var(--color-text)}.searchable-select-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.searchable-select-option.is-active{background:var(--color-surface-hover);color:var(--color-text)}.searchable-select-placeholder{color:var(--color-text-muted)}.searchable-select-arrow{font-size:.65rem;color:var(--color-text-muted)}.searchable-select.is-disabled .searchable-select-trigger,.searchable-select-trigger.is-disabled{background:var(--color-surface-disabled, var(--color-bg-muted, #f3f4f6));color:var(--color-text-muted);cursor:not-allowed;opacity:.7}@media(prefers-color-scheme:dark){.searchable-select.is-disabled .searchable-select-trigger,.searchable-select-trigger.is-disabled{background:var(--color-surface-disabled, rgba(255, 255, 255, .04))}}.searchable-select-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:1100;display:flex;flex-direction:column;overflow:hidden}.searchable-select-search{width:100%;flex:0 0 auto;padding:.5rem .75rem;border:none;border-bottom:1px solid var(--color-border-light);font-size:var(--font-sm);background:transparent;color:var(--color-text);outline:none}.searchable-select-options{flex:1 1 auto;min-height:0;overflow-y:auto}.searchable-select-option{padding:.55rem .75rem;color:var(--color-text);cursor:pointer;font-size:var(--font-sm);white-space:normal;overflow-wrap:anywhere;line-height:1.35;transition:background .1s}@media(hover:none){.searchable-select-option{min-height:44px;display:flex;align-items:center}}.searchable-select-option:hover{background:var(--color-surface-hover);color:var(--color-text)}.searchable-select-option.selected{background:color-mix(in srgb,var(--color-primary-light) 50%,transparent);color:var(--color-text);font-weight:600;border-left:3px solid var(--color-primary);padding-left:calc(.75rem - 3px)}.searchable-select-empty{padding:.5rem .75rem;color:var(--color-text-muted);font-size:var(--font-sm)}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:var(--space-md);text-align:center}.loading-spinner{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:var(--font-base)}.skeleton{background:linear-gradient(90deg,var(--color-surface-alt) 25%,var(--color-surface-hover) 50%,var(--color-surface-alt) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-text{height:1rem;margin-bottom:var(--space-sm)}.skeleton-text:last-child{width:60%}.skeleton-title{height:1.5rem;width:40%;margin-bottom:var(--space-md)}.skeleton-card{height:80px;border-radius:var(--radius-lg);margin-bottom:var(--space-md)}.skeleton-row{height:2.5rem;margin-bottom:var(--space-xs)}.skeleton-stat{height:5rem;border-radius:var(--radius-lg)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.empty-state{text-align:center;padding:var(--space-xl) var(--space-lg);color:var(--color-text-muted)}.empty-state h3{margin-bottom:var(--space-sm);color:var(--color-text-secondary)}.empty-state-inline{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);color:var(--color-text-muted);font-size:var(--font-sm);text-align:left}.empty-state-inline-icon{flex-shrink:0;font-size:1.4rem;opacity:.7}.empty-state-inline-text{flex:1;min-width:0}.empty-state-inline-text strong{display:block;color:var(--color-text);font-weight:600;margin-bottom:2px}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-lg)}.page-header>div{min-width:0}.page-title{font-size:var(--font-2xl);font-weight:700;word-break:normal;overflow-wrap:anywhere}.page-header-action-row{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;min-width:0}.page-header-pills,.page-header-actions{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;min-width:0}@media(max-width:768px){.page-header-action-row{width:100%;gap:var(--space-sm)}.page-header-pills,.page-header-actions{width:100%}}.page-header-pills .badge{display:inline-flex;align-items:center;min-height:30px}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md);margin-bottom:var(--space-xl)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg)}.stat-label{display:block;font-size:var(--font-sm);color:var(--color-text-muted);font-weight:500;margin-bottom:var(--space-xs)}.stat-value{display:block;font-size:var(--font-2xl);font-weight:700;min-height:1.4em}.kpi-shimmer{display:inline-block;width:3ch;height:.9em;background:linear-gradient(90deg,var(--color-surface-alt) 0%,var(--color-border-light) 50%,var(--color-surface-alt) 100%);background-size:200% 100%;animation:kpi-shimmer-pulse 1.4s ease-in-out infinite;border-radius:var(--radius-sm);vertical-align:middle}@keyframes kpi-shimmer-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.kpi-shimmer{animation:none;opacity:.6}}.stat-card-link{text-decoration:none;color:inherit;transition:all .15s;cursor:pointer}.stat-card-link:hover{border-color:var(--color-primary-text);transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none}.quick-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.quick-action-btn{display:inline-flex;align-items:center;padding:.5rem 1rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:500;color:var(--color-text);text-decoration:none;transition:all .15s}.quick-action-btn:hover{background:var(--color-primary-light);border-color:var(--color-primary-text);color:var(--color-primary-text);text-decoration:none}.activity-feed{display:flex;flex-direction:column}.activity-item-content{display:flex;flex-direction:column;gap:2px;flex:1}.activity-item-text{font-size:var(--font-base);line-height:1.4}.cmdk-trigger{display:inline-flex;align-items:center;gap:var(--space-sm);margin-right:var(--space-md);padding:.35rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);color:var(--color-text-muted);font-size:var(--font-sm);cursor:pointer;transition:all .15s}.cmdk-trigger:hover{background:var(--color-surface-hover);color:var(--color-text);border-color:var(--color-primary)}.cmdk-trigger-label{font-size:var(--font-sm)}.cmdk-trigger-kbd{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);padding:.05rem .35rem;border-radius:var(--radius-sm);font-size:.7rem;font-family:inherit}.cmdk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cmdk-panel{width:100%;max-width:620px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:60vh;overflow:hidden}.cmdk-input-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);border-bottom:1px solid var(--color-border-light)}.cmdk-input-icon{color:var(--color-text-muted);font-size:1.1rem}.cmdk-input{flex:1;border:none;background:transparent;color:var(--color-text);font-size:1rem;outline:none}.cmdk-input::placeholder{color:var(--color-text-muted)}.cmdk-kbd{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.1rem .45rem;font-family:inherit;font-size:.72rem;color:var(--color-text-muted)}.cmdk-list{flex:1;overflow-y:auto;padding:var(--space-xs) 0}.cmdk-group{padding:var(--space-xs) 0}.cmdk-group-label{padding:var(--space-xs) var(--space-md);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:600}.cmdk-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);width:100%;padding:.55rem var(--space-md);background:transparent;border:none;color:var(--color-text);font-size:var(--font-base);text-align:left;cursor:pointer;transition:background .08s}.cmdk-item-active{background:var(--color-surface-hover)}.cmdk-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-item-hint{color:var(--color-text-muted);font-size:var(--font-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%}.cmdk-empty{padding:var(--space-xl) var(--space-md);text-align:center;color:var(--color-text-muted)}.cmdk-footer{display:flex;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-top:1px solid var(--color-border-light);font-size:var(--font-sm);color:var(--color-text-muted);background:var(--color-surface-alt)}.activity-add-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.activity-add-name{flex:1 1 240px;min-width:200px}.activity-add-num{flex:0 0 110px;min-width:100px}.form-input[type=number]::-webkit-outer-spin-button,.form-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-input[type=number]{-moz-appearance:textfield}.workflow-health-dot{width:10px;height:10px;border-radius:var(--radius-full);display:inline-block;flex-shrink:0}.workflow-health-green{background:var(--color-success);box-shadow:0 0 0 3px #16a34a26}.workflow-health-amber{background:var(--color-warning);box-shadow:0 0 0 3px #d9770626}.workflow-health-red{background:var(--color-danger);box-shadow:0 0 0 3px #dc262633}.workflow-run{padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border-light)}.workflow-run:last-child{border-bottom:none}.workflow-run-failed{background:var(--color-danger-bg);margin:0 calc(var(--space-md) * -1);padding-left:var(--space-md);padding-right:var(--space-md);border-left:3px solid var(--color-danger);border-bottom:1px solid var(--color-danger-border)}.workflow-run-status{font-weight:600;font-size:var(--font-sm)}.workflow-run-status-completed{color:var(--color-success-text)}.workflow-run-status-failed{color:var(--color-danger)}.workflow-run-status-waiting,.workflow-run-status-running{color:var(--color-warning-text)}.workflow-run-error{background:var(--color-surface-alt);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-family:ui-monospace,monospace;font-size:.72rem;word-break:break-word}.delay-input-row{display:flex;gap:var(--space-sm);align-items:center}.delay-input-amount{width:120px;flex-shrink:0}.delay-input-row>div{flex:1;min-width:160px}.action-condition-empty{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px dashed var(--color-border-light)}.action-condition{margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);border-left:3px solid var(--color-warning)}.action-condition-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xs)}.action-condition-label{font-size:var(--font-sm);font-weight:600;color:var(--color-warning-text);text-transform:uppercase;letter-spacing:.04em}.action-condition-clear{background:transparent;border:none;color:var(--color-text-muted);font-size:1.1rem;cursor:pointer;padding:0 var(--space-xs);line-height:1}.action-condition-clear:hover{color:var(--color-danger)}.action-condition-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-sm);align-items:center}@media(max-width:768px){.action-condition-row{grid-template-columns:1fr}}.variable-chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);margin-top:var(--space-xs)}.variable-chips-label{font-size:var(--font-sm);color:var(--color-text-muted);margin-right:var(--space-xs)}.variable-chip{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:.15rem .6rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;color:var(--color-primary-text);cursor:pointer;transition:all .1s}.variable-chip:hover{background:var(--color-primary-light);border-color:var(--color-primary-text)}.variable-chip:active{transform:translateY(1px)}.workflow-filter-bar{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap}.workflow-filter-search{flex:1;min-width:240px}.workflow-filter-pills{display:inline-flex;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:2px;gap:2px}.workflow-filter-pill{background:transparent;border:none;padding:.4rem .9rem;border-radius:calc(var(--radius-md) - 2px);font-size:var(--font-sm);color:var(--color-text-muted);cursor:pointer;transition:all .1s}.workflow-filter-pill:hover{color:var(--color-text)}.workflow-filter-pill.active{background:var(--color-surface);color:var(--color-primary-text);font-weight:600;box-shadow:var(--shadow-sm)}.empty-state-card{text-align:center;padding:var(--space-xl);border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-alt)}.empty-state-icon{font-size:2.25rem;margin-bottom:var(--space-sm);opacity:.6}.empty-state-title{font-size:var(--font-xl);font-weight:700;color:var(--color-text);margin-bottom:var(--space-sm)}.empty-state-description{color:var(--color-text-secondary);max-width:52ch;margin:0 auto var(--space-md);line-height:1.55}.empty-state-actions{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap}.sticky-action-bar{position:sticky;bottom:0;margin:0 calc(var(--space-xl) * -1) calc(var(--space-xl) * -1);padding:0 var(--space-xl);background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -4px 12px #00000014;z-index:10}.sticky-action-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) 0;flex-wrap:wrap}.sticky-action-bar-hint{white-space:nowrap}.sticky-action-bar-hint kbd{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--space-xs);font-family:var(--font-family);font-size:.75rem}.sticky-action-bar-banner{padding:var(--space-sm) 0;border-top:1px solid var(--color-border-light);font-size:var(--font-sm);color:var(--color-warning-text)}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-md)}.kpi-card{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.kpi-card-skeleton{min-height:6.4rem;pointer-events:none}.kpi-label{font-size:var(--font-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.kpi-value{font-size:1.6rem;font-weight:700;color:var(--color-text);line-height:1.1}.kpi-sub{font-size:var(--font-sm);color:var(--color-text-muted);display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.kpi-delta{display:inline-block;padding:.1rem .45rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:600}.kpi-delta-good{background:var(--color-success-bg);color:var(--color-success-text)}.kpi-delta-bad{background:var(--color-danger-bg);color:var(--color-danger-text)}.kpi-delta-neutral{background:var(--color-surface-alt);color:var(--color-text-muted)}.next-action-card{background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-surface) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);box-shadow:var(--shadow-md)}.next-action-label{display:inline-block;font-size:var(--font-sm);font-weight:600;color:var(--color-primary-text);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-xs)}.next-action-title{font-size:var(--font-xl);font-weight:700;color:var(--color-text);margin-bottom:var(--space-xs)}.next-action-subtitle{color:var(--color-text-secondary);font-size:var(--font-sm);max-width:56ch}@media(max-width:768px){.next-action-card{flex-direction:column;align-items:flex-start}}.org-logo-preview{width:96px;height:96px;border-radius:var(--radius-md);object-fit:contain;background:var(--color-surface-alt);border:1px solid var(--color-border);padding:var(--space-xs)}.org-logo-placeholder{width:96px;height:96px;border-radius:var(--radius-md);background:var(--color-surface-alt);border:1px dashed var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:var(--font-sm)}.business-block{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);font-size:var(--font-sm);line-height:1.5}.business-block-logo{max-width:120px;max-height:60px;margin-bottom:var(--space-sm)}.business-block-name{font-size:var(--font-base);font-weight:600;color:var(--color-text);margin-bottom:var(--space-xs)}.business-block-line{color:var(--color-text-secondary);white-space:pre-line}.message-milestone-chip{background:var(--color-primary-light);color:var(--color-primary-text);padding:.1rem .5rem;border-radius:var(--radius-full);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.message-activity-chip{background:#6366f126;color:var(--color-text);padding:.1rem .5rem;border-radius:var(--radius-full);font-size:.72rem;font-weight:600;letter-spacing:.02em;display:inline-flex;align-items:center;gap:4px}.build-from-project{background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-lg)}.build-from-project-empty{background:var(--color-surface-alt);border-color:var(--color-border);padding:var(--space-md)}.build-from-project-list{display:flex;flex-direction:column;gap:var(--space-xs)}.build-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all .1s}.build-row:hover{border-color:var(--color-primary-text)}.build-row-checked{background:var(--color-surface);border-color:var(--color-primary-text);box-shadow:0 0 0 2px #10b98126}.build-row-disabled{opacity:.55;cursor:not-allowed}.build-row-info{flex:1;min-width:0}.build-row-amount{white-space:nowrap;text-align:right;min-width:100px}.build-row-status{text-transform:capitalize;font-size:.72rem;padding:.1rem .45rem;border-radius:var(--radius-full);background:var(--color-surface-alt);color:var(--color-text-muted);font-weight:600}.build-row-status-warning{color:var(--color-warning-text);background:var(--color-warning-bg, color-mix(in srgb, var(--color-warning-text) 12%, transparent))}.build-group{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-sm)}.build-group-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-xs) var(--space-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-wrap:wrap}.build-group-toggle{display:flex;align-items:center;gap:var(--space-sm);background:transparent;border:none;cursor:pointer;padding:var(--space-xs);color:var(--color-text);font-weight:600;font-size:var(--font-sm);flex:1 1 auto;min-width:0;text-align:left}.build-group-toggle:hover{color:var(--color-primary-text)}.build-group-chevron{display:inline-block;width:.9rem;color:var(--color-text-muted);font-size:.85rem}.build-group-title{font-weight:700;color:var(--color-text)}.build-group-type{text-transform:uppercase;letter-spacing:.04em;font-size:.65rem;padding:.1rem .45rem;border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary-dark, var(--color-primary));font-weight:700}.build-group-meta{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}@media(max-width:768px){.build-group-meta{flex-basis:100%;justify-content:space-between;padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}}.invoice-line-contract-linked{padding:var(--space-xs) 0 0}.invoice-line-credit{background:var(--color-surface-alt);font-style:italic}.invoice-line-credit-text{display:flex;flex-direction:column;gap:.15rem;padding:var(--space-xs) var(--space-sm);color:var(--color-text-muted)}.invoice-line-credit-tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;font-style:normal;color:var(--color-info-text);background:var(--color-info-bg);padding:.1rem .45rem;border-radius:var(--radius-full);align-self:flex-start;font-weight:600}.invoice-line-credit-amount{color:var(--color-success-text);font-weight:700}.invoice-line-milestone-hint{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center;padding-top:var(--space-xs)}.invoice-line-modified-chip{display:inline-block;font-size:.7rem;font-style:normal;text-transform:uppercase;letter-spacing:.04em;font-weight:700;padding:.1rem .45rem;border-radius:var(--radius-full);background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning)}.when-accepted-card{border-left:3px solid var(--color-primary)}.when-accepted-card-empty{border-left-color:var(--color-border);opacity:.85}.when-accepted-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-sm)}.when-accepted-list li{display:flex;gap:var(--space-sm);align-items:flex-start}.when-accepted-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--color-primary);color:#fff;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;flex-shrink:0;margin-top:2px}.activity-name-button{display:inline-flex;align-items:center;gap:var(--space-sm);background:transparent;border:none;padding:0;color:var(--color-text);cursor:pointer;font:inherit;text-align:left}.activity-name-button:hover .font-semibold{color:var(--color-primary-text);text-decoration:underline}.activity-checklist-pill{display:inline-flex;align-items:center;padding:.1rem .45rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:.72rem;color:var(--color-text-muted);font-weight:500}.activity-description-dot{color:var(--color-primary-text);font-size:1.1rem;line-height:.6}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:150;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.drawer{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:520px;background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:160;animation:drawerSlide .2s ease}@keyframes drawerSlide{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border)}.drawer-title-input{flex:1;min-width:0;background:transparent;border:none;font-size:var(--font-xl);font-weight:700;color:var(--color-text);outline:none;padding:var(--space-xs);border-radius:var(--radius-sm)}.drawer-title-input:focus{background:var(--color-surface-alt)}.drawer-close{background:transparent;border:none;font-size:1.5rem;color:var(--color-text-muted);cursor:pointer;min-width:44px;min-height:44px;padding:0 var(--space-sm);display:inline-flex;align-items:center;justify-content:center;line-height:1;border-radius:var(--radius-sm)}.drawer-close:hover{color:var(--color-text);background:var(--color-surface-alt)}.drawer-body{flex:1;overflow-y:auto;padding:var(--space-lg)}.drawer-section{margin-bottom:var(--space-xl)}.drawer-description{min-height:100px;resize:vertical}.drawer-billing-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-md)}@media(max-width:480px){.drawer-billing-row{grid-template-columns:1fr;gap:var(--space-sm)}}.drawer-billing-sub{display:block;font-size:var(--font-sm);color:var(--color-text-muted);margin-bottom:var(--space-xs)}.drawer-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);background:var(--color-surface-alt)}.checklist{list-style:none;padding:0;margin:var(--space-sm) 0 0}.checklist-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0}.checklist-item-text{flex:1;background:transparent;border:none;color:var(--color-text);font:inherit;outline:none;padding:var(--space-xs);border-radius:var(--radius-sm)}.checklist-item-text:focus{background:var(--color-surface-alt)}.checklist-item-done .checklist-item-text{text-decoration:line-through;color:var(--color-text-muted)}.checklist-item-remove{background:transparent;border:none;color:var(--color-text-muted);font-size:1.1rem;cursor:pointer;padding:0 var(--space-xs);opacity:0;transition:opacity .1s}.checklist-item:hover .checklist-item-remove{opacity:1}.checklist-item-remove:hover{color:var(--color-danger)}.checklist-add{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.checklist-progress{height:4px;background:var(--color-surface-alt);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-sm)}.checklist-progress-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width .2s}.drawer-time-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-xs)}.drawer-time-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs) var(--space-sm);background:var(--color-surface-alt);border-radius:var(--radius-sm);font-size:var(--font-sm)}.drawer-time-meta{color:var(--color-text-secondary)}.drawer-time-duration{font-weight:600;color:var(--color-text);white-space:nowrap}.drawer-time-running{color:var(--color-warning-text)}.work-summary{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-md)}.work-summary-group{display:flex;flex-direction:column;gap:var(--space-xs)}.work-summary-section-label{margin:0;font-size:.68rem;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em}.work-summary-cells{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-md)}.work-summary-cell{display:flex;flex-direction:column;gap:2px}.work-summary-label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.work-summary-value{font-size:var(--font-lg);font-weight:700;color:var(--color-text)}.work-summary-sub{font-size:var(--font-sm);color:var(--color-text-muted)}.work-group-mini-bar{height:3px;background:var(--color-surface-alt);border-radius:var(--radius-full);overflow:hidden;margin-top:var(--space-xs)}.work-group-mini-bar-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width .2s}.work-group-meta{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--space-sm);min-width:0}.meta-fact{white-space:nowrap}.work-group-pct{margin-left:auto;padding:.1rem .45rem;background:var(--color-surface-alt);color:var(--color-text-muted);border-radius:var(--radius-full);font-weight:600}.kanban-column-actions{display:flex;align-items:center;gap:var(--space-xs)}.kanban-column-add{width:22px;height:22px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-size:1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:all .1s}.kanban-column-add:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary-text)}.kanban-empty-add{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-sm);padding:var(--space-sm)}.kanban-empty-add:hover{color:var(--color-primary-text)}.kanban-card-status{display:inline-block;margin-top:var(--space-xs);padding:.1rem .5rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.kanban-status-pending{background:var(--color-surface-alt);color:var(--color-text-muted)}.kanban-status-in-progress{background:var(--color-warning-bg);color:var(--color-warning-text)}.kanban-status-completed{background:var(--color-success-bg);color:var(--color-success-text)}.kanban-status-cancelled{background:var(--color-danger-bg);color:var(--color-danger-text)}.kanban-card-tag-muted{opacity:.6;font-style:italic}.kanban-column-muted .kanban-column-title{color:var(--color-text-muted)}.work-groups{display:flex;flex-direction:column;gap:var(--space-md)}.contract-group-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-primary-light);border:1px solid var(--color-primary);border-left-width:4px;border-radius:var(--radius-md);margin-top:var(--space-xs)}.contract-group-toggle{display:flex;align-items:center;gap:var(--space-sm);background:transparent;border:none;cursor:pointer;padding:0;color:var(--color-text);font-weight:700;font-size:var(--font-md);flex:1;text-align:left}.contract-group-toggle:hover{color:var(--color-primary-dark, var(--color-primary))}.contract-group-chevron{display:inline-block;width:.9rem;color:var(--color-text-muted);font-size:.85rem}.contract-group-title{font-weight:700;color:var(--color-text)}.contract-group-type{text-transform:uppercase;letter-spacing:.04em;font-size:.65rem;padding:.1rem .5rem;border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-primary-dark, var(--color-primary));font-weight:700;border:1px solid var(--color-primary)}.contract-group-meta{display:flex;align-items:center;gap:var(--space-md);white-space:nowrap;min-width:0}@media(max-width:768px){.contract-group-header{flex-wrap:wrap;gap:var(--space-xs);padding:var(--space-sm)}.contract-group-meta{white-space:normal;flex-basis:100%}.contract-group-toggle{min-width:0}.contract-group-title{overflow-wrap:anywhere}}.work-group{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md)}.work-group-muted{background:transparent;border-style:dashed}.work-group-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.work-group-toggle{display:flex;align-items:center;gap:var(--space-sm);background:transparent;border:none;padding:0;cursor:pointer;color:inherit;text-align:left;flex:1;min-width:0}.work-group-caret{font-size:.6rem;color:var(--color-text-muted);width:.8rem;flex-shrink:0}.work-group-title{font-size:var(--font-lg);font-weight:600;color:var(--color-text);min-width:0}.work-group-progress{margin-top:var(--space-sm)}.work-group-money-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm) var(--space-md);font-size:var(--font-sm)}.work-group-invoice-cta{margin-left:auto}.work-group-body{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border-light)}.onboarding-checklist{background:var(--color-surface);border:2px solid var(--color-primary);border-radius:var(--radius-xl);padding:var(--space-xl);margin-bottom:var(--space-xl);box-shadow:var(--shadow-md)}.onboarding-steps{display:flex;flex-direction:column;gap:var(--space-sm)}.onboarding-step{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-surface-alt);border:1px solid var(--color-border-light);transition:all .15s}.onboarding-step:hover{border-color:var(--color-primary-text)}.onboarding-step-done{opacity:.6;background:transparent;border-color:transparent}.onboarding-step-done:hover{border-color:transparent}.onboarding-step-check{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-sm);flex-shrink:0;background:var(--color-surface);border:2px solid var(--color-border);color:var(--color-text-muted)}.onboarding-step-done .onboarding-step-check{background:var(--color-primary);border-color:var(--color-primary-text);color:#fff}.onboarding-step-content{flex:1}.onboarding-step-content h4{font-size:var(--font-base);font-weight:600;margin-bottom:2px}@media(max-width:768px){.onboarding-checklist{padding:var(--space-md)}.onboarding-step{flex-direction:column;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm)}.onboarding-step .btn{width:100%;text-align:center}}.kanban-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,1fr);gap:var(--space-md);min-height:400px;overflow-x:auto}.kanban-board>.kanban-column{display:flex;flex-direction:column;min-width:0}.kanban-board>.kanban-column-hero{border:2px solid var(--color-primary)}.kanban-column-hero .kanban-column-body{display:flex;flex-direction:column;gap:var(--space-sm)}@media(max-width:768px){.kanban-board{columns:unset;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-sm);min-height:auto}.kanban-board>.kanban-column{display:block;flex:0 0 85%;width:auto;margin-bottom:0;scroll-snap-align:start}}.kanban-column{background:var(--color-surface-alt);border:2px solid transparent;border-radius:var(--radius-lg);padding:var(--space-sm);transition:border-color .15s,background .15s}.kanban-column-drag-over{border-color:var(--color-primary-text);background:var(--color-primary-light)}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm)}.kanban-column-collapse{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.7rem;padding:2px 4px;border-radius:var(--radius-sm);line-height:1;transition:color .12s,background .12s}.kanban-column-collapse:hover{color:var(--color-text);background:var(--color-surface-hover)}.kanban-column-collapsed{min-height:0}.kanban-column-collapsed .kanban-column-header{margin-bottom:0}@media(max-width:768px){.kanban-board>.kanban-column.kanban-column-collapsed{flex:0 0 60%}}.kanban-column-title{font-size:var(--font-sm);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.kanban-column-count{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:var(--color-text-muted)}.kanban-column-body{display:flex;flex-direction:column;gap:var(--space-xs);min-height:100px}.kanban-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);cursor:grab;transition:all .15s;position:relative}.kanban-card:hover{border-color:var(--color-primary-text);box-shadow:var(--shadow-sm)}.kanban-card:active{cursor:grabbing}.kanban-card-clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.kanban-card-overdue{border-left:3px solid var(--color-danger);padding-left:calc(var(--space-md) - 2px)}.kanban-card-overdue:hover{border-left-color:var(--color-danger)}.kanban-card-rename{font-size:inherit;font-weight:inherit;padding:2px var(--space-xs);margin:-2px -6px;width:calc(100% + 12px)}.kanban-card-title-editable{cursor:text}.kanban-quick-add{padding:var(--space-xs) 0}.kanban-quick-add .form-input{width:100%;font-size:var(--font-sm)}.kanban-quick-add-trigger{margin-top:var(--space-xs);width:100%;text-align:left;font-size:var(--font-sm);color:var(--color-text-secondary);background:transparent;border:1px dashed var(--color-border);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s}.kanban-quick-add-trigger:hover{color:var(--color-primary-text);border-color:var(--color-primary-text)}.kanban-card-priority-urgent{border-left:3px solid #dc2626;padding-left:calc(var(--space-md) - 2px)}.kanban-card-priority-high{border-left:3px solid #f59e0b;padding-left:calc(var(--space-md) - 2px)}.kanban-card-priority-medium{border-left:3px solid var(--color-border);padding-left:calc(var(--space-md) - 2px)}.kanban-card-priority-low{border-left:3px solid var(--color-text-secondary);padding-left:calc(var(--space-md) - 2px);opacity:.88}.kanban-card-overdue.kanban-card-priority-urgent,.kanban-card-overdue.kanban-card-priority-high,.kanban-card-overdue.kanban-card-priority-medium,.kanban-card-overdue.kanban-card-priority-low{border-left-color:var(--color-danger)}.activity-assignee-avatar-unassigned{background:transparent!important;color:var(--color-text-secondary)!important;border:1px dashed var(--color-border)}.work-kpi-ribbon{display:flex;gap:var(--space-lg);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap}.work-kpi-cell{display:flex;flex-direction:column;min-width:5rem}.work-kpi-value{font-size:1.35rem;font-weight:700;color:var(--color-text-strong);line-height:1.1}.work-kpi-label{font-size:.72rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.smart-view-pills{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.smart-view-pill{display:inline-flex;align-items:center;gap:var(--space-xs);padding:4px var(--space-sm);font-size:var(--font-sm);font-weight:500;color:var(--color-text-secondary);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all .15s}.smart-view-pill:hover:not(:disabled){color:var(--color-text);border-color:var(--color-primary-text)}.smart-view-pill:disabled{opacity:.5;cursor:not-allowed}.smart-view-pill.active{background:var(--color-primary);border-color:var(--color-primary-text);color:#fff}.smart-view-pill.active .smart-view-count{background:#ffffff40;color:#fff}.smart-view-pill-danger.active{background:var(--color-danger);border-color:var(--color-danger)}.smart-view-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;padding:0 6px;font-size:.72rem;font-weight:600;border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text)}.kanban-context-menu{position:fixed;min-width:200px;max-width:260px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-xs) 0;z-index:400}.kanban-context-header{padding:var(--space-xs) var(--space-md);font-size:var(--font-sm);font-weight:600;color:var(--color-text-strong);border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-context-section{padding:var(--space-xs) var(--space-md) 2px;font-size:.68rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:var(--space-xs)}.kanban-context-item{display:block;width:100%;padding:6px var(--space-md);font-size:var(--font-sm);text-align:left;background:none;border:none;color:var(--color-text);cursor:pointer}.kanban-context-item:hover{background:var(--color-surface-hover)}.kanban-context-item-sub{padding-left:calc(var(--space-md) + var(--space-sm));color:var(--color-text-secondary)}.kanban-context-item-sub:hover{color:var(--color-text)}.kanban-context-item-danger{color:var(--color-danger);border-top:1px solid var(--color-border-light);margin-top:var(--space-xs);padding-top:8px}.kanban-card-selected{box-shadow:0 0 0 2px var(--color-primary),var(--shadow-sm);background:var(--color-primary-light)}.kanban-card-selected:hover{box-shadow:0 0 0 2px var(--color-primary),var(--shadow-md)}.kanban-bulk-bar{position:fixed;bottom:var(--space-lg);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);z-index:300;max-width:calc(100vw - var(--space-lg) * 2);flex-wrap:wrap}.kanban-bulk-count{font-weight:600;color:var(--color-text-strong);padding-right:var(--space-sm);border-right:1px solid var(--color-border)}.kanban-bulk-move{display:flex;align-items:center;gap:var(--space-xs);min-width:10rem}.kanban-bulk-move .searchable-select{width:100%}.kanban-bulk-move .searchable-select-trigger{padding:.4rem var(--space-sm);font-size:var(--font-sm);min-height:32px}@media(hover:none){.kanban-bulk-move .searchable-select-trigger{min-height:44px}}.kanban-card-compact{padding:var(--space-xs) var(--space-md)}.kanban-card-compact .kanban-card-meta,.kanban-card-compact .activity-labels-row{display:none}.kanban-card-compact .kanban-card-title{font-size:var(--font-sm)}.kanban-column-show-more{display:block;width:100%;margin-top:var(--space-xs);padding:var(--space-xs);font-size:var(--font-sm);color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;border-radius:var(--radius-sm);transition:background .15s,color .15s}.kanban-column-show-more:hover{background:var(--color-surface-hover);color:var(--color-primary-text)}.kanban-card-clickable .kanban-card-title{color:var(--color-text-strong)}.kanban-card-clickable:hover .kanban-card-title{color:var(--color-primary-text)}.time-running-cell{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums;color:var(--color-warning-text);font-weight:600}.running-timer-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning);border-radius:var(--radius-full);font-size:var(--font-sm);font-weight:600;font-variant-numeric:tabular-nums}.running-timer-elapsed{min-width:5ch}.running-timer-stop{background:transparent;border:none;color:var(--color-warning-text);font-size:var(--font-sm);cursor:pointer;padding:0;line-height:1}.running-timer-stop:hover{color:var(--color-danger)}.kanban-card-timer-row{margin-top:var(--space-xs);display:flex;justify-content:flex-start}.kanban-card-timer-start{font-size:.72rem;padding:2px 10px}.activity-label-chip{display:inline-flex;align-items:center;gap:4px;padding:.1rem .5rem;background:var(--color-primary-light);color:var(--color-primary-text);font-size:.7rem;font-weight:500;border-radius:var(--radius-full);white-space:nowrap}.activity-label-chip-row{font-size:.68rem;padding:.05rem .45rem}.activity-label-chip-card{font-size:.65rem;padding:.05rem .4rem}.activity-label-remove{background:transparent;border:none;color:inherit;cursor:pointer;font-size:.9rem;line-height:1;padding:0;opacity:.6}.activity-label-remove:hover{opacity:1}.labels-editor{display:flex;flex-wrap:wrap;gap:var(--space-xs);padding:var(--space-xs);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.labels-editor-input{flex:1;min-width:120px;background:transparent;border:none;padding:2px 4px}.labels-editor-input:focus{outline:none}.activity-labels-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.activity-priority{display:inline-flex;align-items:center;font-size:.85rem}.activity-type-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:.8rem;color:var(--color-text-muted)}.activity-lifecycle{padding:var(--space-xs) 0;border-bottom:1px dashed var(--color-border)}.activity-priority-low,.activity-priority-medium{color:var(--color-text-muted)}.activity-priority-high{color:var(--color-warning-text)}.activity-priority-urgent{color:var(--color-danger)}.meeting-types-list{list-style:none;margin:0 0 var(--space-md);padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.meeting-type-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-sm);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.meeting-type-inactive{opacity:.6}.meeting-type-body{flex:1;min-width:0}.meeting-type-url{background:transparent;border:none;padding:0;color:var(--color-primary-text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;cursor:pointer;text-align:left;word-break:break-all}.meeting-type-url:hover{text-decoration:underline}.booking-availability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-md)}.booking-availability-day{padding:var(--space-sm);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md)}.public-booking-shell{min-height:100vh;min-height:100dvh;background:var(--color-bg);color:var(--color-text);display:flex;justify-content:center;padding:var(--space-xl) var(--space-md)}.public-booking-card{max-width:720px;width:100%;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-xl)}@media(max-width:768px){.public-booking-shell{padding:var(--space-md) var(--space-sm)}.public-booking-card{padding:var(--space-lg) var(--space-md);border-radius:var(--radius-lg)}}.public-booking-title{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-2xl);margin:0 0 var(--space-xs)}.public-booking-logo{max-height:40px;max-width:120px;object-fit:contain}.public-booking-description{color:var(--color-text-secondary);margin:0 0 var(--space-md);white-space:pre-wrap}.public-booking-day-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-md)}.public-booking-day h3{font-size:var(--font-base);margin:0 0 var(--space-xs)}.public-booking-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--space-xs)}.public-booking-slot{min-height:44px;padding:.6rem .4rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-sm);color:var(--color-text);text-align:center;transition:all .12s;display:inline-flex;align-items:center;justify-content:center}.public-booking-slot:hover{border-color:var(--color-primary-text);background:var(--color-primary-light);color:var(--color-primary-text)}.public-booking-selected{padding:var(--space-md);background:var(--color-primary-light);color:var(--color-primary-text);border-radius:var(--radius-md);margin-bottom:var(--space-sm)}.public-booking-success{padding:var(--space-xl);background:var(--color-success-bg);color:var(--color-success-text);border-radius:var(--radius-md);text-align:center}.public-booking-success h2{font-size:var(--font-xl);margin:0 0 var(--space-sm)}.public-meeting-types{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-sm)}.public-meeting-type-card{display:block;padding:var(--space-md);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);text-decoration:none;transition:all .15s}.public-meeting-type-card:hover{border-color:var(--color-primary-text);background:var(--color-primary-light);color:var(--color-primary-text);text-decoration:none}.invoice-terms-list{list-style:none;padding:0;margin:0 0 var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.invoice-term-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-sm);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.invoice-term-body,.invoice-term-editor{flex:1;min-width:0}.invoice-terms-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:240px;max-width:320px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-xs);z-index:50;max-height:360px;overflow-y:auto}.invoice-terms-menu-item{display:block;width:100%;text-align:left;padding:.5rem .75rem;background:transparent;border:none;border-radius:var(--radius-sm);font-size:var(--font-sm);color:var(--color-text);cursor:pointer}.invoice-terms-menu-item:hover{background:var(--color-surface-hover)}.invoice-terms-menu-item-primary{color:var(--color-primary-text);font-weight:600}.invoice-terms-menu-divider{height:1px;background:var(--color-border);margin:var(--space-xs) 0}.activity-recurrence-chip{display:inline-flex;align-items:center;gap:3px;padding:.1rem .45rem;background:var(--color-info-bg);color:var(--color-info-text);border-radius:var(--radius-full);font-size:.68rem;font-weight:500;text-transform:capitalize;white-space:nowrap}.activity-comments-list{list-style:none;margin:0 0 var(--space-sm);padding:0;display:flex;flex-direction:column;gap:var(--space-sm);max-height:320px;overflow-y:auto}.activity-comment{background:var(--color-surface-alt);border-radius:var(--radius-sm);padding:var(--space-sm)}.activity-comment-head{display:flex;align-items:baseline;gap:var(--space-sm);margin-bottom:4px}.activity-comment-author{font-weight:600;font-size:var(--font-sm)}.activity-comment-time{margin-left:auto}.activity-comment-remove{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:0 4px;font-size:1rem;line-height:1;opacity:0;transition:opacity .15s}.activity-comment:hover .activity-comment-remove{opacity:1}.activity-comment-remove:hover{color:var(--color-danger)}.activity-comment-body{font-size:var(--font-sm);color:var(--color-text);white-space:pre-wrap;word-break:break-word}.activity-comment-quickreplies{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-xs)}.activity-comment-quickreply{padding:4px 10px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:.72rem;color:var(--color-text);cursor:pointer}.activity-comment-quickreply:hover:not(:disabled){background:var(--color-primary-light);border-color:var(--color-primary-text);color:var(--color-primary-text)}.activity-comment-quickreply:disabled{opacity:.5;cursor:not-allowed}.activity-comment-composer{display:flex;gap:var(--space-sm);align-items:flex-end}.activity-comment-composer textarea{flex:1;resize:vertical}.kanban-card-dragging{opacity:.4;transform:rotate(2deg)}.kanban-card-title{font-size:var(--font-sm);font-weight:600;color:var(--color-text-strong);margin-bottom:4px}.kanban-card-meta{display:flex;gap:var(--space-sm);font-size:.75rem;color:var(--color-text-muted)}.kanban-card-tag{display:inline-block;background:var(--color-primary-light);color:var(--color-primary-text);font-size:.68rem;font-weight:600;padding:2px 6px;border-radius:var(--radius-full);margin-top:4px}.kanban-card-delete{position:absolute;top:4px;right:6px;background:none;border:none;color:var(--color-text-muted);font-size:1rem;cursor:pointer;opacity:0;transition:opacity .1s}.kanban-card:hover .kanban-card-delete{opacity:1}.kanban-card-delete:hover{color:var(--color-danger)}.kanban-empty{text-align:center;padding:var(--space-xl) var(--space-md);color:var(--color-text-muted);font-size:var(--font-sm);border:2px dashed var(--color-border);border-radius:var(--radius-md)}.view-toggle{display:flex;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:2px}.view-toggle-btn{padding:.3rem .75rem;font-size:var(--font-sm);font-weight:500;border:none;border-radius:var(--radius-full);background:none;color:var(--color-text-muted);cursor:pointer;transition:all .15s}.view-toggle-btn.active{background:var(--color-surface);color:var(--color-text-strong);box-shadow:var(--shadow-sm)}.view-toggle-btn:hover:not(.active){color:var(--color-text)}.messages-filter-bar{padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-md)}.messages-container{display:flex;flex-direction:column;gap:var(--space-sm);max-height:500px;overflow-y:auto;padding:var(--space-md)}.message{max-width:62%;padding:.45rem .85rem;border-radius:var(--radius-lg);font-size:var(--font-base);line-height:1.45}.message-grouped{margin-top:calc(var(--space-sm) * -.4)}.message-mine.message-grouped{border-top-right-radius:var(--radius-sm)}.message-other.message-grouped{border-top-left-radius:var(--radius-sm)}.message-day-separator{display:flex;align-items:center;gap:var(--space-sm);margin:var(--space-md) var(--space-xs) var(--space-xs);color:var(--color-text-muted);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.message-day-separator:before,.message-day-separator:after{content:"";flex:1;height:1px;background:var(--color-border)}.message-day-separator span{padding:0 var(--space-sm)}.message-mine{align-self:flex-end;background:var(--color-primary-dark);color:#fff;border-bottom-right-radius:var(--radius-sm)}.message-other{align-self:flex-start;background:var(--color-surface-alt);color:var(--color-text);border-bottom-left-radius:var(--radius-sm)}.message-mine .message-author{color:#fff}.message-mine .message-milestone-chip,.message-mine .message-activity-chip{background:#022c22bf;color:#fff}.message-composer{display:flex;gap:var(--space-sm);padding:var(--space-lg) var(--space-md) var(--space-md);margin:var(--space-md) calc(-1 * var(--space-md)) calc(-1 * var(--space-md));border-top:1px solid var(--color-border);background:var(--color-surface-alt);border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.message-composer-context{min-width:200px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-xs)}.message-composer-notify{align-self:flex-start}.message-composer-input-row{display:flex;flex:1;gap:var(--space-sm);align-items:center;min-width:0}.message-composer-input-row>input{flex:1;min-width:0}.message-composer input{flex:1;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-base);background:var(--color-surface-input);color:var(--color-text)}.message-composer input:focus{outline:none;border-color:var(--color-primary-text)}.upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center;cursor:pointer;transition:all .15s;color:var(--color-text-muted)}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--color-primary-text);background:var(--color-primary-light);color:var(--color-primary-text)}.upload-progress{margin-top:var(--space-sm);height:4px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.upload-progress-bar{height:100%;background:var(--color-primary);transition:width .2s}.file-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);margin-bottom:var(--space-xs)}.file-info{display:flex;align-items:center;gap:var(--space-sm)}.file-name{font-weight:500;font-size:var(--font-base)}.file-meta{font-size:var(--font-sm);color:var(--color-text-muted)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:var(--space-md);background:var(--color-bg)}.auth-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-xl);width:100%;max-width:480px;box-shadow:var(--shadow-lg)}@media(max-width:480px){.auth-card{padding:var(--space-lg) var(--space-md);border-radius:var(--radius-lg)}}.auth-passwords-match{display:inline-flex;align-items:center;gap:.5rem;margin-top:.4rem;padding:.3rem .7rem;font-size:var(--font-sm);font-weight:600;background:var(--color-success-bg, #dcfce7);color:var(--color-success-text, #15803d);border:1px solid var(--color-success-border, #bbf7d0);border-radius:var(--radius-full)}.auth-passwords-match-icon{display:inline-flex;width:1.1rem;height:1.1rem;align-items:center;justify-content:center;background:var(--color-success-text, #15803d);color:#fff;border-radius:var(--radius-full);font-size:.75rem;font-weight:700}@media(prefers-color-scheme:dark){.auth-passwords-match{background:#10b98126;color:#6ee7b7;border-color:#10b9814d}.auth-passwords-match-icon{background:#10b981;color:#022c22}}.auth-logo{display:flex;justify-content:center;margin-bottom:var(--space-lg);color:var(--color-text)}.auth-logo a{text-decoration:none;color:inherit}.auth-password-wrap{position:relative}.auth-password-wrap .form-input{padding-right:4.5rem}.auth-show-password{position:absolute;right:var(--space-xs);top:50%;transform:translateY(-50%);background:none;border:none;padding:.35rem .6rem;font-size:var(--font-sm);color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:background .15s ease,color .15s ease}.auth-show-password:hover{background:var(--color-surface-alt);color:var(--color-text)}.auth-password-meta{display:flex;justify-content:space-between;align-items:center;margin-top:.4rem;gap:var(--space-sm)}.auth-strength-pill{display:inline-block;padding:.1rem .55rem;font-size:.75rem;font-weight:600;letter-spacing:.02em;border-radius:var(--radius-full);text-transform:uppercase}.auth-strength-pill.auth-strength-weak{background:#fee2e2;color:#b91c1c}.auth-strength-pill.auth-strength-fair{background:#fef3c7;color:#b45309}.auth-strength-pill.auth-strength-good{background:#dbeafe;color:#1d4ed8}.auth-strength-pill.auth-strength-strong{background:#dcfce7;color:#166534}.auth-strength-bar{height:4px;margin-top:.4rem;background:var(--color-surface-alt);border-radius:var(--radius-full);overflow:hidden}.auth-strength-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .2s ease,background-color .2s ease}.auth-strength-bar-fill.auth-strength-weak{background:#ef4444}.auth-strength-bar-fill.auth-strength-fair{background:#f59e0b}.auth-strength-bar-fill.auth-strength-good{background:#3b82f6}.auth-strength-bar-fill.auth-strength-strong{background:#10b981}@media(prefers-color-scheme:dark){.auth-strength-pill.auth-strength-weak{background:#ef444426;color:#fca5a5}.auth-strength-pill.auth-strength-fair{background:#f59e0b26;color:#fcd34d}.auth-strength-pill.auth-strength-good{background:#3b82f626;color:#93c5fd}.auth-strength-pill.auth-strength-strong{background:#10b98126;color:#6ee7b7}}.changelog-day{margin-bottom:var(--space-xl)}.changelog-date{font-size:var(--font-lg);font-weight:600;color:var(--color-text-muted);margin:0 0 var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.changelog-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-md)}.changelog-entry{display:flex;gap:var(--space-md);align-items:flex-start}.changelog-tag{flex-shrink:0;width:5rem;text-align:center;padding:.2rem .5rem;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-full);margin-top:.2rem}.changelog-tag-feature{background:var(--color-primary-light, #ecfdf5);color:var(--color-primary-dark, var(--color-primary))}.changelog-tag-fix{background:#dbeafe;color:#1e40af}.changelog-tag-security{background:#fef3c7;color:#92400e}.changelog-tag-launch{background:#fae8ff;color:#86198f}@media(prefers-color-scheme:dark){.changelog-tag-fix{background:#3b82f626;color:#93c5fd}.changelog-tag-security{background:#f59e0b26;color:#fcd34d}.changelog-tag-launch{background:#d946ef26;color:#f0abfc}}.changelog-entry-body{flex:1;min-width:0}.changelog-title{margin:0 0 .3rem;font-size:var(--font-md);font-weight:700;color:var(--color-text)}.changelog-body{margin:0;color:var(--color-text-muted);line-height:1.6}.security-list{list-style:none;margin:var(--space-md) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.security-list-item{display:flex;align-items:flex-start;gap:var(--space-sm);line-height:1.55}.security-check{display:inline-flex;width:1.5rem;height:1.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-primary-light, #ecfdf5);color:var(--color-primary-text);font-weight:700;font-size:.95rem;margin-top:.15rem}.security-roadmap{list-style:none;margin:var(--space-md) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.security-roadmap-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);line-height:1.5}.security-roadmap-status{flex-shrink:0;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .6rem;border-radius:var(--radius-full);background:var(--color-surface-alt);color:var(--color-text-muted)}.auth-policy-list{list-style:none;margin:.5rem 0 0;padding:.6rem .75rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-sm);display:flex;flex-direction:column;gap:.25rem}.auth-policy-item{display:flex;align-items:center;gap:.5rem;line-height:1.4}.auth-policy-icon{display:inline-flex;width:1.1rem;height:1.1rem;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}.auth-policy-item.is-pass,.auth-policy-item.is-pass .auth-policy-icon{color:var(--color-success-text, #15803d)}.auth-policy-item.is-fail{color:var(--color-text)}.auth-policy-item.is-fail .auth-policy-icon{color:var(--color-danger-text, #b91c1c)}.auth-policy-item.is-recommended:not(.is-pass){color:var(--color-text-muted)}.auth-policy-item.is-recommended:not(.is-pass) .auth-policy-icon{color:var(--color-text-muted)}.auth-policy-divider{margin-top:.4rem;padding-top:.4rem;border-top:1px dashed var(--color-border);font-size:.78rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}@media(prefers-color-scheme:dark){.auth-policy-item.is-pass,.auth-policy-item.is-pass .auth-policy-icon{color:#6ee7b7}.auth-policy-item.is-fail .auth-policy-icon{color:#fca5a5}}.alert{padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:var(--font-sm);line-height:1.5}.alert-warning{background:var(--color-warning-bg, #fef3c7);border-color:var(--color-warning-border, #fde68a);color:var(--color-warning-text, #92400e)}.alert-success{background:var(--color-success-bg, #dcfce7);border-color:var(--color-success-border, #bbf7d0);color:var(--color-success-text, #166534)}.alert-info{background:var(--color-info-bg, #dbeafe);border-color:var(--color-info-border, #bfdbfe);color:var(--color-info-text, #1e40af)}@media(prefers-color-scheme:dark){.alert-info{background:#3b82f61a;border-color:#3b82f64d;color:#93c5fd}}.totp-qr-wrap{display:flex;justify-content:center;padding:var(--space-md);background:#fff;border-radius:var(--radius-md);border:1px solid var(--color-border)}.totp-qr{width:220px;height:220px;display:block}.totp-secret{display:inline-block;margin-top:var(--space-xs);padding:.4rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;letter-spacing:.05em;background:var(--color-surface-alt);border-radius:var(--radius-sm);border:1px solid var(--color-border);-webkit-user-select:all;user-select:all;word-break:break-all}.setup-steps{margin:0;padding-left:1.4rem;display:flex;flex-direction:column;gap:var(--space-lg);line-height:1.6}.setup-steps li::marker{font-weight:700;color:var(--color-primary-text)}.needs-attention-strip{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);background:var(--color-warning-bg, #fef3c7);border:1px solid var(--color-warning-border, #fde68a);border-left:4px solid var(--color-warning, #d97706);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--color-warning-text, #92400e)}.needs-attention-icon{font-size:1.2rem;flex-shrink:0}.needs-attention-link{background:none;border:none;padding:0;font:inherit;color:inherit;font-weight:700;cursor:pointer;border-radius:var(--radius-sm)}.needs-attention-link:hover,.needs-attention-link:focus-visible{text-decoration:underline;outline:none}@media(prefers-color-scheme:dark){.needs-attention-strip{background:#f59e0b1a;border-color:#f59e0b4d;color:#fcd34d}}.nav-icon{display:inline-block;margin-right:.4rem;font-size:.95em;opacity:.85}@media(max-width:1024px){.app-header-nav .nav-icon{display:none}}.sessions-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.sessions-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md)}.sessions-item-body{flex:1;min-width:0}.sessions-item-device{font-weight:600;color:var(--color-text);margin-bottom:.15rem}.recovery-codes-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm);list-style:none;margin:0;padding:0}.recovery-code{padding:.6rem .85rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);text-align:center}.recovery-code code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem;letter-spacing:.04em;-webkit-user-select:all;user-select:all}@media(max-width:768px){.recovery-codes-list{grid-template-columns:1fr}}.auth-title{font-size:var(--font-2xl);font-weight:700;text-align:center;margin-bottom:var(--space-xs)}.auth-subtitle{text-align:center;color:var(--color-text-muted);margin-bottom:var(--space-xl);font-size:var(--font-sm)}.auth-toggle{display:block;width:100%;text-align:center;margin-top:var(--space-lg);padding:var(--space-xs) var(--space-sm);font-size:var(--font-sm);font-family:inherit;background:transparent;border:none;color:var(--color-primary-text);cursor:pointer;border-radius:var(--radius-sm)}.auth-toggle:hover{text-decoration:underline;background:var(--color-surface-hover)}.auth-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth-forgot-row{display:flex;justify-content:flex-end;margin-top:var(--space-xs)}.auth-forgot-link{font-size:var(--font-sm);color:var(--color-primary-text);text-decoration:none}.auth-forgot-link:hover{text-decoration:underline}.auth-link-button{background:none;border:none;padding:0;color:var(--color-primary-text);text-decoration:underline;cursor:pointer;font:inherit}.proposal-grouped-list{padding:0}.proposal-group{border-bottom:1px solid var(--color-border-light)}.proposal-group:last-child{border-bottom:none}.proposal-group-header{width:100%;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-surface-alt);border:none;cursor:pointer;text-align:left;font:inherit;color:var(--color-text);transition:background .15s}.proposal-group-header:hover{background:var(--color-surface-hover)}.proposal-group-toggle{font-size:var(--font-xs);color:var(--color-text-muted);width:14px;flex-shrink:0}.proposal-group-name{font-weight:600;flex:0 0 auto}.proposal-group-link{color:var(--color-primary-text);text-decoration:none}.proposal-group-link:hover{text-decoration:underline}.proposal-group-meta{font-size:var(--font-sm);color:var(--color-text-muted);margin-left:auto}.proposal-subgroup{border-top:1px solid var(--color-border-light);padding-left:var(--space-lg)}.proposal-subgroup-header{width:100%;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:transparent;border:none;cursor:pointer;text-align:left;font:inherit;color:var(--color-text);transition:background .15s}.proposal-subgroup-header:hover{background:var(--color-surface-hover)}.proposal-subgroup-name{font-weight:500}.proposal-subgroup-table{margin-bottom:0}.proposal-subgroup-table th,.proposal-subgroup-table td{padding-left:var(--space-xl)}.invoice-items-table{margin-bottom:var(--space-md)}.invoice-items-table input{width:100%;padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-sm);background:var(--color-surface-input);color:var(--color-text)}@media(max-width:768px){.invoice-items-scroll{overflow:visible;border:none;margin-bottom:var(--space-md);mask-image:none;-webkit-mask-image:none}.invoice-items-scroll:before{content:none}.invoice-items-table,.invoice-items-table thead,.invoice-items-table tbody,.invoice-items-table tr,.invoice-items-table td{display:block;width:100%}.invoice-items-table thead{display:none}.invoice-items-table tr{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);background:var(--color-surface)}.invoice-items-table td:first-child{padding:0 0 var(--space-sm);border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-sm)}.invoice-items-table td:first-child input{width:100%}.invoice-items-table td[data-label]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs) 0;border-bottom:none}.invoice-items-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--font-sm);font-weight:500;flex:0 0 auto;margin-right:var(--space-md)}.invoice-items-table td[data-label] input{flex:0 0 auto;width:auto;max-width:50%;min-width:6rem;text-align:right}.invoice-items-table td[data-label]>span,.invoice-items-table td[data-label]>strong{text-align:right}.invoice-items-table td[data-label=Amount]{font-weight:600;color:var(--color-text-strong)}.invoice-items-table td:last-child{padding:var(--space-sm) 0 0;margin-top:var(--space-xs);text-align:right;border-top:1px solid var(--color-border-light)}.invoice-items-table td:last-child:before{content:none}.invoice-items-table td:last-child .btn{width:auto}.sticky-action-bar-inner{flex-direction:column;align-items:stretch;gap:var(--space-xs)}.sticky-action-bar-inner .flex.gap-sm{flex-wrap:wrap;justify-content:stretch}.sticky-action-bar-inner .flex.gap-sm .btn-primary{order:-10;flex:1 1 100%}.sticky-action-bar-inner .flex.gap-sm .btn-danger{order:10;flex:1 1 100%}.sticky-action-bar{margin:0 calc(var(--space-md) * -1) calc(var(--space-md) * -1);padding:0 var(--space-md)}}.invoice-editor-totals{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--space-lg);align-items:center;flex-wrap:wrap}.invoice-editor-totals-row{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-md)}.invoice-editor-totals-row.is-total{font-size:var(--font-lg);font-weight:700}.editor-total-line{font-size:1.5rem;line-height:1.3}.invoice-editor-totals-row .form-input{width:5rem}@media(max-width:768px){.invoice-editor-totals{flex-direction:column;align-items:stretch;gap:var(--space-xs)}.invoice-editor-totals-row{justify-content:space-between}.invoice-editor-totals-row .form-input{width:6rem}}@media(hover:none){.desktop-only{display:none!important}}.invoice-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);margin-bottom:var(--space-lg)}@media(max-width:768px){.invoice-meta-grid{grid-template-columns:1fr;gap:var(--space-md)}}.txn-filter-type{display:flex;align-items:flex-start;gap:var(--space-sm);flex-wrap:wrap}.txn-filter-type-label{min-width:7rem;padding-top:.4rem}.txn-filter-type .pipeline-filter-chips{flex:1;min-width:0}@media(max-width:768px){.txn-filter-type{flex-direction:column;align-items:stretch;gap:var(--space-xs)}.txn-filter-type-label{padding-top:0;min-width:0}}.txn-filter-clear{margin-left:auto}@media(max-width:768px){.txn-filter-clear{margin-left:0}}.work-breakdown-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.work-breakdown-header-title{display:flex;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap;min-width:0}.work-breakdown-header-actions{display:flex;align-items:center;gap:var(--space-sm)}@media(max-width:768px){.work-breakdown-header{flex-direction:column;align-items:stretch;gap:var(--space-sm)}.work-breakdown-header-actions{justify-content:space-between}}.invoice-total{text-align:right;font-size:var(--font-lg);font-weight:700;padding:var(--space-md) 0}.portal-wrapper{min-height:100vh;background:var(--color-bg)}.portal-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 var(--space-xl);height:56px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.portal-header h1{font-size:var(--font-lg);font-weight:600;color:var(--color-primary-text)}.portal-logo{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text);text-decoration:none;flex-shrink:0}.portal-logo:hover{text-decoration:none;opacity:.85}.portal-logo-img{max-height:32px;max-width:120px;object-fit:contain}.portal-logo-name{font-size:var(--font-lg);font-weight:700;color:var(--color-text)}.portal-footer{max-width:1200px;margin:0 auto;padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--color-border);font-size:var(--font-sm);color:var(--color-text-muted);display:flex;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.portal-footer a{color:var(--color-text-muted)}.portal-footer-powered{font-size:var(--font-sm);opacity:.7}.portal-nav{display:flex;align-items:center;gap:var(--space-lg)}.portal-nav-link{font-size:var(--font-sm);font-weight:500;color:var(--color-text-muted);text-decoration:none;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:all .15s}.portal-nav-link:hover{color:var(--color-text);background:var(--color-surface-hover);text-decoration:none}.portal-nav-link.active{color:var(--color-primary-text);background:var(--color-primary-light)}.portal-header-right{display:flex;align-items:center;gap:var(--space-md);flex-shrink:0}.portal-client-email{font-size:var(--font-sm);color:var(--color-text-muted)}.portal-content{max-width:1200px;margin:0 auto;padding:var(--space-xl)}.portal-invoices-summary{margin-bottom:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm);align-items:flex-start}.section-title{font-size:var(--font-lg);font-weight:600;color:var(--color-text-strong)}.portal-project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg)}.portal-project-card{display:flex;flex-direction:column;gap:var(--space-md);text-decoration:none;color:inherit;transition:all .15s;cursor:pointer}.portal-project-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary-text);text-decoration:none}.portal-project-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm)}.portal-project-name{font-size:var(--font-lg);font-weight:600;color:var(--color-text-strong);margin:0}.portal-project-card-stats{display:flex;gap:var(--space-md);font-size:var(--font-sm);color:var(--color-text-muted)}.portal-stat{display:inline-flex;align-items:center;gap:var(--space-xs)}.portal-messages-card{padding:0;display:flex;flex-direction:column;overflow:hidden}.portal-messages-list{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg);max-height:520px;min-height:300px;overflow-y:auto}.portal-message{max-width:75%;padding:.6rem .9rem;border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-xs)}.portal-message-own{align-self:flex-end;background:var(--color-primary);color:#fff;border-bottom-right-radius:var(--radius-sm)}.portal-message-other{align-self:flex-start;background:var(--color-surface-alt);color:var(--color-text);border-bottom-left-radius:var(--radius-sm)}.portal-message-header{display:flex;gap:var(--space-sm);align-items:baseline;justify-content:space-between;font-size:.7rem;opacity:.85}.portal-message-sender{font-weight:600}.portal-message-time{white-space:nowrap}.portal-message-body{font-size:var(--font-base);word-wrap:break-word;white-space:pre-wrap}.portal-message-form{display:flex;gap:var(--space-sm);padding:var(--space-md);border-top:1px solid var(--color-border);align-items:flex-end}.portal-message-input{flex:1;resize:none;min-height:44px}.file-input-hidden{display:none}.page-subtitle{color:var(--color-text-muted);font-size:var(--font-sm);margin-top:var(--space-xs)}.portal-auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg);padding:var(--space-lg)}.portal-auth-card{max-width:440px;width:100%;text-align:center}.portal-auth-title{font-size:var(--font-xl);font-weight:700;margin-bottom:var(--space-sm)}.portal-auth-hint{color:var(--color-text-muted);font-size:var(--font-sm)}@media(max-width:768px){.portal-header{padding:0 var(--space-md);gap:var(--space-sm);height:auto;min-height:56px;flex-wrap:wrap;padding-top:var(--space-xs);padding-bottom:var(--space-xs)}.portal-client-email{display:none}.portal-content{padding:var(--space-md)}.portal-logo-name{font-size:var(--font-base);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-nav{order:3;width:100%;gap:var(--space-xs);overflow-x:auto;-webkit-overflow-scrolling:touch}.portal-nav-link{flex-shrink:0;padding:var(--space-xs) var(--space-sm)}.portal-footer{flex-direction:column;align-items:flex-start;padding:var(--space-md);gap:var(--space-xs)}.portal-milestone{padding:var(--space-sm)}.portal-milestone>.flex.items-center.justify-between{flex-direction:column;align-items:flex-start}.portal-milestone .flex.gap-sm{flex-direction:column;width:100%}.portal-milestone .btn{width:100%;text-align:center}}.activity-item{display:flex;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border-light);font-size:var(--font-sm)}.activity-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-primary);margin-top:6px;flex-shrink:0}.activity-time{color:var(--color-text-muted);font-size:.72rem}.filters-bar{display:flex;gap:var(--space-sm);align-items:flex-end;margin-bottom:var(--space-lg);flex-wrap:wrap}.filter-chips{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin-bottom:var(--space-md)}.filter-chips .btn-sm{min-width:0}.filters-bar .form-group,.filters-bar .filters-bar-cell{margin-bottom:0;min-width:180px;flex:0 1 auto}.filters-bar .date-input-wrap.filters-bar-cell{width:auto}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:768px){.project-invoices-table thead{display:none}.project-invoices-table,.project-invoices-table tbody{display:block}.project-invoices-table tr{display:grid;grid-template-columns:1fr auto;column-gap:var(--space-md);row-gap:var(--space-xs);padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.project-invoices-table tr:hover td{background:transparent}.project-invoices-table td{display:block;border-bottom:none;padding:0}.project-invoices-table td:nth-child(1){grid-column:1;grid-row:1;min-width:0}.project-invoices-table td:nth-child(3){grid-column:2;grid-row:1;justify-self:end;align-self:start}.project-invoices-table td[data-label]{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}.project-invoices-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--font-sm);flex:0 0 auto}.project-invoices-table td[data-label]>.invoice-card-value{flex:0 1 auto;text-align:right;min-width:0}}.invoice-card-short{display:none}@media(max-width:768px){.project-invoices-table .invoice-card-short{display:block;font-weight:600;font-size:var(--font-base);color:var(--color-text)}.project-invoices-table .invoice-card-full{display:block;font-size:var(--font-sm);color:var(--color-text-muted);margin-top:2px;word-break:break-all}.project-invoices-table .invoice-card-full--redundant{display:none}}@media(max-width:768px){.proposals-list-table td[data-label]>.list-card-value,.projects-list-table td[data-label]>.list-card-value,.transactions-list-table td[data-label]>.list-card-value,.contracts-list-table td[data-label]>.list-card-value{flex:0 1 auto;text-align:right;min-width:0}.proposals-list-table td[data-label]>.list-card-value a,.projects-list-table td[data-label]>.list-card-value a,.transactions-list-table td[data-label]>.list-card-value a,.contracts-list-table td[data-label]>.list-card-value a{color:var(--color-text-link)}}@media(max-width:768px){.proposals-list-table thead{display:none}.proposals-list-table,.proposals-list-table tbody{display:block}.proposals-list-table tr{display:grid;grid-template-columns:1fr auto;column-gap:var(--space-md);row-gap:var(--space-xs);padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.proposals-list-table tr:hover td{background:transparent}.proposals-list-table td{display:block;border-bottom:none;padding:0}.proposals-list-table td:nth-child(1){grid-column:1;grid-row:1;min-width:0;font-weight:600}.proposals-list-table td:nth-child(1) .entity-row-link{word-break:break-word}.proposals-list-table td:nth-child(5){grid-column:2;grid-row:1;justify-self:end;align-self:start}.proposals-list-table td[data-label]{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}.proposals-list-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--font-sm);flex:0 0 auto}}@media(max-width:768px){.projects-list-table thead{display:none}.projects-list-table,.projects-list-table tbody{display:block}.projects-list-table tr{display:grid;grid-template-columns:1fr auto;column-gap:var(--space-md);row-gap:var(--space-xs);padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.projects-list-table tr:hover td{background:transparent}.projects-list-table td{display:block;border-bottom:none;padding:0}.projects-list-table td:nth-child(1){grid-column:1;grid-row:1;min-width:0;font-weight:600}.projects-list-table td:nth-child(1) a{word-break:break-word}.projects-list-table td:nth-child(3){grid-column:2;grid-row:1;justify-self:end;align-self:start}.projects-list-table td[data-label]{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}.projects-list-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--font-sm);flex:0 0 auto}.projects-list-table td[data-label=Progress]{flex-direction:column;align-items:stretch;gap:var(--space-xs)}.projects-list-table td[data-label=Progress]>.project-progress-cell{width:100%}.projects-list-table td:nth-child(6){grid-column:1 / -1;display:flex;justify-content:flex-end;padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}}@media(max-width:768px){.transactions-list-table thead{display:none}.transactions-list-table,.transactions-list-table tbody{display:block}.transactions-list-table tr{display:grid;grid-template-columns:1fr auto;column-gap:var(--space-md);row-gap:var(--space-xs);padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.transactions-list-table tr:hover td{background:transparent}.transactions-list-table td{display:block;border-bottom:none;padding:0}.transactions-list-table td:nth-child(1){grid-column:1;grid-row:1;min-width:0;font-weight:600}.transactions-list-table td:nth-child(6){grid-column:2;grid-row:1;justify-self:end;align-self:start;font-weight:600;font-size:var(--font-base)}.transactions-list-table td[data-label]{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}.transactions-list-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--font-sm);flex:0 0 auto}.transactions-list-table td[data-label=Title]>.list-card-value{word-break:break-word;text-align:right}}@media(max-width:768px){.contracts-list-table thead{display:none}.contracts-list-table,.contracts-list-table tbody{display:block}.contracts-list-table tr{display:grid;grid-template-columns:1fr auto;column-gap:var(--space-md);row-gap:var(--space-xs);padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.contracts-list-table tr:hover td{background:transparent}.contracts-list-table td{display:block;border-bottom:none;padding:0}.contracts-list-table td:nth-child(1){grid-column:1;grid-row:1;min-width:0;font-weight:600}.contracts-list-table td:nth-child(1) .entity-row-link{word-break:break-word}.contracts-list-table td:nth-child(3){grid-column:2;grid-row:1;justify-self:end;align-self:start}.contracts-list-table td[data-label]{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}.contracts-list-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--font-sm);flex:0 0 auto}}@media(max-width:768px){.invoice-list-table td[data-label]>.list-card-value,.proposal-subgroup-table td[data-label]>.list-card-value{flex:0 1 auto;text-align:right;min-width:0}.invoice-list-table td[data-label]>.list-card-value a,.proposal-subgroup-table td[data-label]>.list-card-value a{color:var(--color-text-link)}}@media(max-width:768px){.invoice-list-table thead{display:none}.invoice-list-table,.invoice-list-table tbody{display:block}.invoice-list-table tr{display:grid;grid-template-columns:1fr auto;column-gap:var(--space-md);row-gap:var(--space-xs);padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.invoice-list-table tr:hover td{background:transparent}.invoice-list-table td{display:block;border-bottom:none;padding:0}.invoice-list-table td:nth-child(1){grid-column:1;grid-row:1;min-width:0;font-weight:600}.invoice-list-table td:nth-child(1) .invoice-number-cell{flex-wrap:wrap}.invoice-list-table td:nth-child(1) .invoice-number-copy{opacity:1}.invoice-list-table td:nth-child(5){grid-column:2;grid-row:1;justify-self:end;align-self:start}.invoice-list-table td[data-label]{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}.invoice-list-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--font-sm);flex:0 0 auto}}@media(max-width:768px){.proposal-subgroup-table thead{display:none}.proposal-subgroup-table,.proposal-subgroup-table tbody{display:block}.proposal-subgroup-table tr{display:grid;grid-template-columns:1fr auto;column-gap:var(--space-md);row-gap:var(--space-xs);padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.proposal-subgroup-table tr:hover td{background:transparent}.proposal-subgroup-table td{display:block;border-bottom:none;padding:0}.proposal-subgroup-table th,.proposal-subgroup-table td{padding-left:0}.proposal-subgroup-table td:nth-child(1){grid-column:1;grid-row:1;min-width:0;font-weight:600}.proposal-subgroup-table td:nth-child(3){grid-column:2;grid-row:1;justify-self:end;align-self:start}.proposal-subgroup-table td[data-label]{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}.proposal-subgroup-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--font-sm);flex:0 0 auto}}.list-utilities-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);font-size:var(--font-sm);color:var(--color-text-muted)}@media(max-width:768px){.main-content{padding:var(--space-md);padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}.page-header{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.page-header .page-title{font-size:var(--font-xl)}.stats-row,.kpi-row{grid-template-columns:1fr 1fr}.filters-bar{flex-direction:column;align-items:stretch}.filters-bar>*{min-width:0;width:100%}.filters-bar label>input[type=date]{flex:1;width:auto}.tabs{overflow-x:auto;flex-wrap:nowrap;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(to right,black calc(100% - 24px),transparent);mask-image:linear-gradient(to right,black calc(100% - 24px),transparent)}.tabs-row .tab{white-space:nowrap;flex-shrink:0;padding:.85rem 1rem;min-height:44px}.tabs>.tab{scroll-snap-align:start}.settings-sidebar{-webkit-mask-image:linear-gradient(to right,black calc(100% - 24px),transparent);mask-image:linear-gradient(to right,black calc(100% - 24px),transparent)}.invoice-term-row{flex-wrap:wrap}.invoice-term-body>.flex{flex-wrap:wrap}.invoice-term-row .badge{flex-shrink:0}.table-scroll .table{min-width:600px}.table-scroll .table th,.table-scroll .table td{white-space:nowrap}.table-scroll .project-invoices-table,.table-scroll .proposals-list-table,.table-scroll .projects-list-table,.table-scroll .transactions-list-table,.table-scroll .contracts-list-table,.table-scroll .invoice-list-table,.table-scroll .proposal-subgroup-table,.table-scroll .admin-events-table,.table-scroll .admin-audit-table,.table-scroll .client-proposals-table,.table-scroll .client-projects-table,.table-scroll .client-invoices-table,.table-scroll .project-files-table,.table-scroll .project-activities-table,.table-scroll .project-time-entries-table,.table-scroll .client-revenue-table,.table-scroll .admin-customers-table{min-width:0}.table-scroll .project-invoices-table th,.table-scroll .project-invoices-table td,.table-scroll .proposals-list-table th,.table-scroll .proposals-list-table td,.table-scroll .projects-list-table th,.table-scroll .projects-list-table td,.table-scroll .transactions-list-table th,.table-scroll .transactions-list-table td,.table-scroll .contracts-list-table th,.table-scroll .contracts-list-table td,.table-scroll .invoice-list-table th,.table-scroll .invoice-list-table td,.table-scroll .proposal-subgroup-table th,.table-scroll .proposal-subgroup-table td,.table-scroll .admin-events-table th,.table-scroll .admin-events-table td,.table-scroll .client-proposals-table th,.table-scroll .client-proposals-table td,.table-scroll .client-projects-table th,.table-scroll .client-projects-table td,.table-scroll .client-invoices-table th,.table-scroll .client-invoices-table td,.table-scroll .project-files-table th,.table-scroll .project-files-table td,.table-scroll .project-activities-table th,.table-scroll .project-activities-table td,.table-scroll .project-time-entries-table th,.table-scroll .project-time-entries-table td,.table-scroll .admin-audit-table th,.table-scroll .admin-audit-table td,.table-scroll .client-revenue-table th,.table-scroll .client-revenue-table td,.table-scroll .admin-customers-table th,.table-scroll .admin-customers-table td{white-space:normal;overflow-wrap:anywhere}.stat-card{padding:var(--space-md)}.kpi-card{padding:var(--space-sm) var(--space-md)}.kpi-value{font-size:var(--font-xl)}.drawer{max-width:100%}.sticky-action-bar{z-index:50}.drawer-billing-row,.files-layout{grid-template-columns:1fr}.files-sidebar{position:static}.form-input,.invoice-items-table input,.searchable-select-search,.searchable-select-trigger,input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],input[type=search],input[type=date],input[type=time],input[type=datetime-local],textarea,select{font-size:16px}.searchable-select-option{padding:.65rem .75rem;font-size:16px}.btn-sm{min-height:44px;min-width:44px;padding:.5rem .75rem}.work-group-header{flex-direction:column;align-items:stretch}.work-group-header>div:last-child{justify-content:flex-end}.milestone-deliverables-row,.portal-milestone-deliverables-row{flex-direction:column;align-items:stretch}.milestone-deliverables-row>div:last-child,.portal-milestone-deliverables-row>div:last-child{justify-content:flex-end;flex-wrap:wrap}.milestone-deliverables-row-name,.portal-milestone-deliverables-name{white-space:normal;overflow:visible;text-overflow:clip}.message-composer{flex-direction:column;align-items:stretch}.message-composer-context{min-width:0}body:has(input:focus,textarea:focus,[contenteditable=true]:focus) .onboarding-floating{display:none}.milestone-deliverables-header{flex-wrap:wrap}.milestone-deliverables-title{flex-basis:100%;flex-grow:0}.modal-actions{flex-wrap:wrap}.app-header-mobile-toggle{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.test-mode-banner{justify-content:flex-start;text-align:left;align-items:flex-start}}.marketing-page{min-height:100vh;background:var(--color-bg);color:var(--color-text)}.marketing-header{position:sticky;top:0;z-index:100;background:var(--color-header);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 1px 3px #0003}.marketing-header-inner{max-width:1200px;margin:0 auto;padding:0 var(--space-xl);height:64px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.marketing-logo{display:inline-flex;align-items:center;text-decoration:none;color:var(--color-text)}.marketing-logo:hover{text-decoration:none;opacity:.85}.marketing-nav{display:flex;align-items:center;gap:var(--space-lg)}.marketing-nav-link{font-size:var(--font-base);font-weight:600;color:#fff;text-decoration:none;transition:color .15s}.marketing-nav-link:hover{color:var(--color-primary-light);text-decoration:none}.marketing-cta{background:var(--color-primary);color:#fff;padding:.55rem 1.1rem;border-radius:var(--radius-md);font-weight:600;font-size:var(--font-sm);text-decoration:none;transition:all .15s}.marketing-cta:hover{background:var(--color-primary-dark);text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow-md)}.hero{padding:6rem 0 4rem;text-align:center}@media(max-width:768px){.hero{padding:3rem 0 2.5rem}}.hero-inner{max-width:900px;margin:0 auto;padding:0 var(--space-xl)}@media(max-width:768px){.hero-inner{padding:0 var(--space-md)}}.hero-eyebrow{display:inline-block;background:var(--color-primary-light);color:var(--color-primary-text);padding:.35rem .85rem;border-radius:var(--radius-full);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-lg)}.hero-headline{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.1;letter-spacing:-.025em;color:var(--color-text-strong);margin-bottom:var(--space-lg)}.hero-subhead{font-size:clamp(1.05rem,2vw,1.25rem);color:var(--color-text-secondary);line-height:1.55;max-width:680px;margin:0 auto var(--space-xl)}.hero-cta-row{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap;margin-bottom:var(--space-md)}.hero-trust{font-size:var(--font-sm);color:var(--color-text-muted);margin-top:var(--space-md)}.hero-image{max-width:1000px;margin:4rem auto 0;padding:0 var(--space-xl)}.hero-mockup{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-lg)}.section{padding:5rem 0}.section-alt{background:var(--color-surface-alt)}.section-inner{max-width:1200px;margin:0 auto;padding:0 var(--space-xl)}.section-header{text-align:center;margin-bottom:3rem}.section-eyebrow{display:inline-block;font-size:.78rem;font-weight:700;color:var(--color-primary-text);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-sm)}.section-headline{font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:800;letter-spacing:-.02em;color:var(--color-text-strong);margin-bottom:var(--space-md)}.section-subhead{font-size:1.1rem;color:var(--color-text-secondary);max-width:600px;margin:0 auto;line-height:1.6}.problem-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-lg)}.problem-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center}.problem-icon{font-size:2rem;margin-bottom:var(--space-md)}.problem-title{font-size:1.15rem;font-weight:700;margin-bottom:var(--space-sm);color:var(--color-text-strong)}.problem-text{color:var(--color-text-secondary);line-height:1.6;font-size:var(--font-base)}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg)}.feature-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all .2s}.feature-card:hover{border-color:var(--color-primary-text);transform:translateY(-2px);box-shadow:var(--shadow-md)}.feature-icon{font-size:1.75rem;margin-bottom:var(--space-md)}.feature-title{font-size:1.15rem;font-weight:700;margin-bottom:var(--space-sm);color:var(--color-text-strong)}.feature-text{color:var(--color-text-secondary);line-height:1.6;font-size:var(--font-base)}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-xl)}.step{text-align:center;position:relative}.step-number{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--color-primary);color:#fff;border-radius:var(--radius-full);font-size:1.25rem;font-weight:700;margin-bottom:var(--space-md)}.step-title{font-size:1.15rem;font-weight:700;margin-bottom:var(--space-sm);color:var(--color-text-strong)}.step-text{color:var(--color-text-secondary);line-height:1.6}.pricing-toggle{display:flex;justify-content:center;gap:0;margin-bottom:var(--space-xl);background:var(--color-surface-alt);border-radius:var(--radius-full);padding:4px;width:fit-content;margin-left:auto;margin-right:auto;border:1px solid var(--color-border)}.pricing-toggle-btn{padding:.5rem 1.25rem;background:none;border:none;border-radius:var(--radius-full);font-size:var(--font-sm);font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:all .2s}.pricing-toggle-btn.active{background:var(--color-surface);color:var(--color-text-strong);box-shadow:var(--shadow-sm)}.pricing-save-badge{display:inline-block;background:var(--color-success-bg);color:var(--color-success-text);font-size:.7rem;padding:.1rem .4rem;border-radius:var(--radius-full);margin-left:.4rem;font-weight:700}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-lg);max-width:800px;margin:0 auto}.pricing-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-xl);display:flex;flex-direction:column;position:relative}.pricing-card-featured{border-color:var(--color-primary-text);border-width:2px;box-shadow:var(--shadow-lg)}.pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--color-primary);color:#fff;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.pricing-name{font-size:1.35rem;font-weight:700;color:var(--color-text-strong);margin-bottom:var(--space-xs)}.pricing-tagline{color:var(--color-text-muted);font-size:var(--font-sm);margin-bottom:var(--space-lg)}.pricing-price{display:flex;align-items:baseline;gap:.25rem;margin-bottom:var(--space-lg)}.pricing-price-amount{font-size:3rem;font-weight:800;color:var(--color-text-strong);letter-spacing:-.03em;line-height:1}.pricing-price-period{color:var(--color-text-muted);font-size:var(--font-base)}.pricing-annual-total{margin-top:calc(-1 * var(--space-md));margin-bottom:var(--space-lg);color:var(--color-text-muted);font-size:var(--font-sm)}.pricing-features{list-style:none;margin-bottom:var(--space-xl);flex:1}.pricing-feature{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-xs) 0;color:var(--color-text-secondary);font-size:var(--font-base)}.pricing-feature-check{color:var(--color-success);font-weight:700;flex-shrink:0;margin-top:2px}.pricing-renewal-disclosure{background:transparent;border-left:3px solid var(--color-border);border-radius:0;padding:var(--space-xs) var(--space-sm);margin:0 0 var(--space-md);font-size:.78rem;line-height:1.45;color:var(--color-text-muted)}.pricing-renewal-disclosure strong{color:var(--color-text);font-weight:600}.pricing-cta{display:block;text-align:center;background:var(--color-primary);color:#fff;padding:.85rem 1.5rem;border-radius:var(--radius-md);font-size:1rem;font-weight:600;text-decoration:none;transition:all .15s;border:none;cursor:pointer;width:100%}.pricing-cta:hover{background:var(--color-primary-dark);text-decoration:none;transform:translateY(-1px)}.pricing-cta-secondary{background:var(--color-surface);color:var(--color-primary-text);border:1px solid var(--color-primary)}.pricing-cta-secondary:hover{background:var(--color-primary-light)}.faq-list{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-md)}.faq-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg)}.faq-question{font-size:1.05rem;font-weight:700;color:var(--color-text-strong);margin-bottom:var(--space-sm);list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);position:relative}.faq-question::-webkit-details-marker{display:none}.faq-question:after{content:"+";flex:0 0 auto;font-size:1.4rem;line-height:1;font-weight:400;color:var(--color-primary);transition:transform .15s ease}.faq-item[open]>.faq-question:after{content:"−"}.faq-item:hover>.faq-question{color:var(--color-primary)}.faq-item>.faq-question:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.faq-answer{color:var(--color-text-secondary);line-height:1.65;margin-top:var(--space-sm)}.bottom-cta{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));padding:5rem var(--space-xl);text-align:center;color:#fff}.bottom-cta-headline{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;letter-spacing:-.02em;margin-bottom:var(--space-md);color:#fff}.bottom-cta-subhead{font-size:1.1rem;opacity:.9;margin-bottom:var(--space-xl);max-width:540px;margin-left:auto;margin-right:auto}.btn-bottom-cta{background:#fff;color:var(--color-primary-text);padding:.95rem 2rem;border-radius:var(--radius-md);font-size:1.05rem;font-weight:700;text-decoration:none;display:inline-block;transition:all .15s}.btn-bottom-cta:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 10px 30px #0003}.social-section{padding:3.5rem 0}.social-links{display:flex;justify-content:center;align-items:center;gap:1.25rem;flex-wrap:wrap}.social-link{display:inline-flex;align-items:center;gap:.55rem;padding:.75rem 1.35rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.92rem;font-weight:500;text-decoration:none;transition:border-color .15s,color .15s,background .15s}.social-link:hover{border-color:var(--color-primary);color:var(--color-primary-text);background:var(--color-surface-hover);text-decoration:none}.social-icon{width:18px;height:18px;flex-shrink:0}.marketing-footer{background:var(--color-surface);border-top:1px solid var(--color-border);padding:3rem 0 2rem}.marketing-footer-inner{max-width:1200px;margin:0 auto;padding:0 var(--space-xl)}.marketing-footer-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-lg)}.marketing-footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xl);flex:1 1 auto;max-width:560px}.marketing-footer-col{display:flex;flex-direction:column;gap:var(--space-xs)}.marketing-footer-heading{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 var(--space-xs)}.marketing-footer-col a{color:var(--color-text-muted);font-size:var(--font-sm);text-decoration:none}.marketing-footer-col a:hover{color:var(--color-text)}.marketing-footer-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-lg)}.marketing-footer-links{display:flex;gap:var(--space-lg);flex-wrap:wrap}.marketing-footer-links a{color:var(--color-text-muted);font-size:var(--font-sm);text-decoration:none}.marketing-footer-links a:hover{color:var(--color-text)}.marketing-footer-copyright{text-align:center;color:var(--color-text-muted);font-size:var(--font-sm)}.onboarding-page{min-height:100vh;background:var(--color-bg);padding:4rem var(--space-lg)}.onboarding-inner{max-width:900px;margin:0 auto}.onboarding-header{text-align:center;margin-bottom:var(--space-xl)}.onboarding-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;letter-spacing:-.02em;color:var(--color-text-strong);margin-bottom:var(--space-sm)}.onboarding-subtitle{font-size:1.1rem;color:var(--color-text-secondary);max-width:540px;margin:0 auto;line-height:1.55}.onboarding-disclaimer{text-align:center;margin-top:var(--space-xl);color:var(--color-text-muted);font-size:var(--font-sm);max-width:540px;margin-left:auto;margin-right:auto}.sub-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:.65rem var(--space-lg);font-size:var(--font-sm);font-weight:500;border-bottom:1px solid transparent;flex-wrap:wrap}.sub-banner-message{display:inline-flex;align-items:center;gap:.5rem;flex:1;min-width:0}.sub-banner-icon{font-size:1.05rem;flex-shrink:0}.sub-banner-actions{display:inline-flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.sub-banner-cta{display:inline-flex;align-items:center;gap:.35rem;background:#ffffffd9;color:inherit;border:1px solid currentColor;border-radius:var(--radius-full);padding:.3rem .85rem;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s ease,transform .05s ease}.sub-banner-cta:hover:not(:disabled){background:#fff;transform:translateY(-1px)}.sub-banner-cta:active:not(:disabled){transform:translateY(0)}.sub-banner-cta:disabled{opacity:.6;cursor:not-allowed}.sub-banner-cta:after{content:" →"}.sub-banner-cta:disabled:after{content:""}.sub-banner-dismiss{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:transparent;border:none;color:inherit;opacity:.55;cursor:pointer;font-size:1rem;font-weight:700;border-radius:var(--radius-sm);transition:opacity .15s ease,background .15s ease}.sub-banner-dismiss:hover{opacity:1;background:#00000014}.sub-banner-info{background:var(--color-info-bg, #dbeafe);color:var(--color-info-text, #1e40af);border-bottom-color:var(--color-info-border, #bfdbfe)}.sub-banner-warn{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #92400e);border-bottom-color:var(--color-warning-border, #fde68a)}.sub-banner-danger{background:var(--color-danger-bg, #fee2e2);color:var(--color-danger-text, #b91c1c);border-bottom-color:var(--color-danger-border, #fecaca)}@media(prefers-color-scheme:dark){.sub-banner-info{background:#3b82f61a;color:#93c5fd;border-bottom-color:#3b82f64d}.sub-banner-warn{background:#f59e0b1a;color:#fcd34d;border-bottom-color:#f59e0b4d}.sub-banner-danger{background:#ef44441a;color:#fca5a5;border-bottom-color:#ef44444d}.sub-banner-cta{background:#ffffff0d;border-color:currentColor}.sub-banner-cta:hover:not(:disabled){background:#ffffff1a}.sub-banner-dismiss:hover{background:#ffffff1a}}.usage-bar{margin-bottom:var(--space-md)}.usage-bar:last-child{margin-bottom:0}.usage-bar-label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-xs);font-size:var(--font-sm);font-weight:500;color:var(--color-text-strong)}.usage-bar-value{color:var(--color-text-muted);font-weight:400}.usage-bar-track{height:8px;background:var(--color-surface-alt);border-radius:var(--radius-full);overflow:hidden}.usage-bar-fill{height:100%;background:var(--color-success);border-radius:var(--radius-full);transition:width .4s ease,background-color .2s}.usage-bar-fill.warn{background:var(--color-warning)}.usage-bar-fill.danger{background:var(--color-danger)}.rte{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-input);overflow:hidden}.rte-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:2px;padding:.5rem .75rem;background:var(--color-surface-alt);border-bottom:1px solid var(--color-border)}.rte-btn{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:.3rem .55rem;font-size:var(--font-sm);color:var(--color-text);cursor:pointer;transition:all .1s;min-width:30px}.rte-btn:hover{background:var(--color-surface-hover)}.rte-btn.active{background:var(--color-primary-light);color:var(--color-primary-text);border-color:var(--color-primary-text)}.rte-btn:disabled{opacity:.4;cursor:not-allowed}.rte-divider{width:1px;height:20px;background:var(--color-border);margin:0 4px}.rte-content{padding:var(--space-lg);min-height:320px;font-size:var(--font-base);line-height:1.7;color:var(--color-text)}.rte-content:focus{outline:none}.rte-content .ProseMirror{outline:none;min-height:280px;transition:min-height .18s ease-out}.rte-content-expanded .ProseMirror{min-height:720px}.rte-toolbar-spacer{flex:1}.rte-content h1{font-size:1.6rem;font-weight:700;margin:1.2rem 0 .6rem}.rte-content h2{font-size:1.3rem;font-weight:700;margin:1rem 0 .5rem}.rte-content h3{font-size:1.1rem;font-weight:600;margin:.8rem 0 .4rem}.rte-content p{margin:.6rem 0}.rte-content ul,.rte-content ol{margin:.6rem 0;padding-left:1.5rem}.rte-content li{margin:.25rem 0}.rte-content blockquote{border-left:4px solid var(--color-border);padding-left:1rem;margin:1rem 0;color:var(--color-text-muted);font-style:italic}.rte-content hr{border:none;border-top:1px solid var(--color-border);margin:1.5rem 0}.rte-content strong{font-weight:700}.rte-content em{font-style:italic}.rte-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--color-text-muted);pointer-events:none;float:left;height:0}.sign-page{min-height:100vh;min-height:100dvh;background:var(--color-bg);padding:var(--space-xl) var(--space-md);display:flex;justify-content:center}.sign-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-xl);max-width:760px;width:100%;box-shadow:var(--shadow-lg)}@media(max-width:768px){.sign-page{padding:var(--space-md) var(--space-sm)}.sign-card{padding:var(--space-lg) var(--space-md);border-radius:var(--radius-lg)}}.sign-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.sign-actions .sign-actions-primary{flex:1}@media(max-width:480px){.sign-actions{flex-direction:column-reverse}.sign-actions .btn{width:100%}}.sign-card-error{text-align:center;max-width:480px}.sign-header{text-align:center;margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border-light)}.sign-org-name{font-size:var(--font-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary-text);font-weight:700;margin-bottom:var(--space-sm)}.sign-title{font-size:2rem;font-weight:800;color:var(--color-text-strong);letter-spacing:-.02em;margin-bottom:var(--space-sm)}.sign-subtitle{color:var(--color-text-muted);font-size:var(--font-base)}.sign-banner{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-xl);font-size:var(--font-base)}.sign-banner-success{background:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success)}.sign-banner-danger{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger)}.sign-banner-neutral{background:var(--color-surface-alt);color:var(--color-text-muted);border:1px solid var(--color-border)}.sign-banner-info{background:var(--color-primary-light, #ecfdf5);color:var(--color-text);border:1px solid var(--color-primary)}@media(prefers-color-scheme:dark){.sign-banner-info{background:#10b9811f;color:var(--color-text)}}.sign-banner-warning{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #92400e);border:1px solid var(--color-warning, #f59e0b)}@media(prefers-color-scheme:dark){.sign-banner-warning{background:#f59e0b1f;color:var(--color-text)}}.proposal-pay-deposit-panel{background:var(--color-surface-alt);border:1px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--space-xl);margin-bottom:var(--space-xl);text-align:center}.proposal-pay-deposit-header{margin-bottom:var(--space-lg)}.proposal-pay-deposit-label{text-transform:uppercase;letter-spacing:.08em;font-size:var(--font-xs);font-weight:600;color:var(--color-text-muted);margin:0 0 var(--space-xs)}.proposal-pay-deposit-amount{font-size:2.5rem;font-weight:700;color:var(--color-text);margin:0;line-height:1.1}.proposal-pay-deposit-invoice-num{font-size:var(--font-sm);color:var(--color-text-muted);margin:var(--space-xs) 0 0}.proposal-pay-deposit-fallback{font-size:var(--font-xs);color:var(--color-text-muted);margin:var(--space-md) 0 0}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--font-lg);font-weight:600}.preview-mode-banner{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #92400e);border:1px solid var(--color-warning, #f59e0b);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);margin:calc(var(--space-lg) * -1) calc(var(--space-lg) * -1) var(--space-lg);border-radius:var(--radius-md) var(--radius-md) 0 0;font-size:var(--font-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.preview-mode-back-link{color:inherit;text-decoration:underline;font-weight:600;white-space:nowrap}.preview-mode-back-link:hover{text-decoration:none}.activity-feed{list-style:none;margin:0;padding:0;border-left:2px solid var(--color-border-light);margin-left:var(--space-sm)}.activity-feed-item{position:relative;padding:var(--space-sm) 0 var(--space-sm) var(--space-md);margin-left:-2px}.activity-feed-item .activity-dot{position:absolute;left:-7px;top:var(--space-sm);width:12px;height:12px;border-radius:50%;background:var(--color-primary);border:2px solid var(--color-bg)}.activity-feed-line{font-size:var(--font-base);line-height:1.4}.activity-feed-action{color:var(--color-text)}.activity-feed-time{font-size:var(--font-sm)}.activity-feed-details{margin-top:2px}.stripe-risk-card{border:1px solid var(--color-warning, #f59e0b);background:var(--color-warning-bg, #fef3c7)}@media(prefers-color-scheme:dark){.stripe-risk-card{background:#f59e0b14;border-color:#f59e0b80}}.stripe-risk-card-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.stripe-risk-card-header .section-title,.stripe-risk-card-header p{margin:0}.stripe-risk-card-icon{font-size:1.5rem;flex-shrink:0}.stripe-risk-section{margin-top:var(--space-md)}.stripe-risk-section-title{margin:0 0 var(--space-xs);font-size:var(--font-sm);font-weight:600;color:var(--color-text)}.stripe-risk-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.stripe-risk-item{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-sm);background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-sm)}.stripe-risk-item-body{flex:1;min-width:0}.stripe-risk-deadline{margin-top:4px;font-size:var(--font-sm);color:var(--color-text-muted)}.stripe-risk-deadline.urgent{color:var(--color-danger);font-weight:600}.trust-tier-card{border-left:4px solid var(--color-border)}.trust-tier-card.trust-tier-new{border-left-color:var(--color-primary, #10b981)}.trust-tier-card.trust-tier-standard{border-left-color:var(--color-text-muted)}.trust-tier-card.trust-tier-trusted{border-left-color:#f59e0b}.trust-tier-header{display:flex;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md)}.trust-tier-header .section-title,.trust-tier-header p{margin:0}.modal.modal-large{max-width:720px;width:92vw}.dispute-evidence-sections{display:flex;flex-direction:column;gap:var(--space-md);max-height:60vh;overflow-y:auto;padding-right:var(--space-xs)}.dispute-evidence-section{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md)}.dispute-evidence-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-xs)}.dispute-evidence-section-hint{margin:0 0 var(--space-sm);line-height:1.4}.dispute-evidence-section-text{margin:0;padding:var(--space-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:var(--font-sm);color:var(--color-text);white-space:pre-wrap;word-break:break-word;line-height:1.5;max-height:200px;overflow-y:auto}.onboarding-flow-banner{background:var(--color-primary-light);border-bottom:1px solid color-mix(in srgb,var(--color-primary) 30%,transparent);color:var(--color-primary-dark, #047857);font-size:var(--font-sm)}.onboarding-flow-banner-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md)}.onboarding-flow-banner-progress{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--space-xs)}.onboarding-flow-banner-pip{display:inline-flex;align-items:center;justify-content:center;min-width:2.4rem;padding:2px 8px;background:var(--color-primary);color:#fff;border-radius:var(--radius-full);font-weight:700;font-size:var(--font-xs, .75rem)}.onboarding-flow-banner-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onboarding-flow-banner-skip{flex-shrink:0;background:transparent;border:1px solid color-mix(in srgb,var(--color-primary) 40%,transparent);color:var(--color-primary-dark, #047857);padding:4px 10px;border-radius:var(--radius-sm);font-size:var(--font-xs, .75rem);font-weight:600;cursor:pointer;transition:background .1s,border-color .1s}.onboarding-flow-banner-skip:hover{background:color-mix(in srgb,var(--color-primary) 15%,transparent);border-color:var(--color-primary-text)}@media(prefers-color-scheme:dark){.onboarding-flow-banner{background:#10b9811a;color:#6ee7b7;border-bottom-color:#10b9814d}.onboarding-flow-banner-skip{color:#6ee7b7;border-color:#10b98166}}@media(max-width:768px){.onboarding-flow-banner-inner{flex-wrap:wrap;gap:var(--space-xs)}.onboarding-flow-banner-text{width:100%;white-space:normal}}.invoice-number-cell{display:inline-flex;align-items:center;gap:var(--space-xs)}.invoice-number-copy{background:transparent;border:none;cursor:pointer;padding:2px 4px;font-size:var(--font-sm);opacity:0;transition:opacity .15s,transform .05s;border-radius:var(--radius-sm)}.invoice-number-copy:hover{background:var(--color-surface-alt);transform:scale(1.1)}tr:hover .invoice-number-copy{opacity:.7}.invoice-number-copy:hover{opacity:1}.invoice-number-copy:focus-visible{opacity:1;outline:2px solid var(--color-primary);outline-offset:1px}.logo-wordmark-text{font-weight:700;letter-spacing:-.015em}.logo-cli-text{color:#22c55e}.logo-wordmark--light .logo-lancers-text{color:#0f172a}.logo-wordmark--dark .logo-lancers-text{color:#f1f5f9}.logo-wordmark--auto .logo-lancers-text{color:currentColor}.section-divider-top{border-top:1px solid var(--color-border);padding-top:var(--space-md)}.refund-policy-templates{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-sm);margin-bottom:var(--space-xs)}.refund-policy-template-card{display:flex;flex-direction:column;gap:var(--space-xs);text-align:left;padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,transform .05s}.refund-policy-template-card:hover{border-color:var(--color-primary-text)}.refund-policy-template-card:active{transform:translateY(1px)}.refund-policy-template-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.refund-policy-template-label{font-size:var(--font-md);color:var(--color-text)}.refund-policy-template-summary{line-height:1.4}.trust-tier-icon{font-size:1.5rem;flex-shrink:0;line-height:1}.trust-tier-caps{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);padding:var(--space-md);background:var(--color-bg-subtle, var(--color-surface));border-radius:var(--radius-sm);margin-bottom:var(--space-md)}.trust-tier-cap-cell{display:flex;flex-direction:column;gap:2px}.trust-tier-cap-label{font-size:var(--font-sm);color:var(--color-text-muted)}.trust-tier-cap-value{font-size:var(--font-lg);font-weight:600;color:var(--color-text)}.trust-tier-progress{padding:var(--space-sm) var(--space-md);background:var(--color-primary-bg, #ecfdf5);border-radius:var(--radius-sm);border:1px solid var(--color-primary-border, rgba(16, 185, 129, .3))}@media(prefers-color-scheme:dark){.trust-tier-progress{background:#10b98114;border-color:#10b98166}}@media(prefers-color-scheme:dark){.preview-mode-banner{background:#f59e0b2e;color:#fcd34d;border-color:#f59e0b80}}.sign-pretitle{text-transform:uppercase;letter-spacing:.12em;font-size:var(--font-xs);font-weight:700;color:var(--color-primary-text);margin:0 0 var(--space-xs)}.sign-content{font-size:var(--font-base);line-height:1.75;color:var(--color-text);padding:var(--space-lg) 0;border-top:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-xl)}.sign-content h1{font-size:1.6rem;font-weight:700;margin:1.5rem 0 .75rem}.sign-content h2{font-size:1.3rem;font-weight:700;margin:1.25rem 0 .6rem}.sign-content h3{font-size:1.1rem;font-weight:600;margin:1rem 0 .5rem}.sign-content p{margin:.75rem 0}.sign-content ul,.sign-content ol{margin:.75rem 0;padding-left:1.75rem}.sign-content strong{font-weight:700}.sign-content blockquote{border-left:4px solid var(--color-primary);padding-left:1rem;margin:1rem 0;color:var(--color-text-muted);font-style:italic}.sign-form{background:var(--color-surface-alt);border-radius:var(--radius-lg);padding:var(--space-lg)}.sign-form h3{font-size:var(--font-lg);font-weight:700;margin-bottom:var(--space-md)}.sign-signature-input{font-family:Caveat,Dancing Script,Segoe Script,cursive!important;font-size:1.65rem!important;font-weight:500;letter-spacing:.02em;text-align:center}.sign-signature-input::placeholder{font-family:var(--font-family-base, "Inter", system-ui, sans-serif)!important;font-size:1rem;font-weight:400;font-style:italic;letter-spacing:0}.form-hint{font-size:.78rem;color:var(--color-text-muted);margin-top:var(--space-xs)}.sign-footer{text-align:center;margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border-light);color:var(--color-text-muted);font-size:var(--font-sm)}.post-accept-portal{margin:var(--space-xl) 0 0;padding:var(--space-lg);background:var(--color-surface-alt);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius-md)}.post-accept-portal-title{margin:0 0 var(--space-sm);font-size:var(--font-lg);font-weight:700}.post-accept-portal-intro{margin:0 0 var(--space-md)}.post-accept-portal-list{margin:0 0 var(--space-md);padding-left:var(--space-lg);list-style:disc}.post-accept-portal-list li{margin:var(--space-xs) 0;line-height:1.5}.post-accept-portal-cta{display:inline-block}.post-accept-portal-help{margin:var(--space-sm) 0 0}.public-form{padding-top:var(--space-md)}.proposal-scope{margin:2rem 0;padding:var(--space-lg) 0;border-top:1px solid var(--color-border)}.proposal-scope h3{font-size:1.3rem;font-weight:700;margin-bottom:var(--space-lg)}.proposal-total{text-align:right;padding-top:var(--space-lg);border-top:1px solid var(--color-border-light);margin-top:var(--space-md)}.proposal-total p{margin-bottom:var(--space-xs)}.proposal-notes{background:var(--color-surface-alt);border-radius:var(--radius-md);padding:var(--space-lg);margin:var(--space-lg) 0;color:var(--color-text-secondary);font-style:italic}.workflow-card{padding:var(--space-md);border-bottom:1px solid var(--color-border-light)}.workflow-card:last-child{border-bottom:none}@media(max-width:768px){.workflow-card .flex.items-center.justify-between{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.workflow-card .flex.items-center.justify-between>div:last-child{width:100%;justify-content:space-between}}.workflow-actions-list{display:flex;flex-direction:column;gap:var(--space-md)}.workflow-action-card{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);transition:border-color .1s,box-shadow .1s,opacity .1s}.workflow-action-card-dragging{opacity:.4}.workflow-action-card-drag-over{border-color:var(--color-primary-text);box-shadow:0 0 0 3px #10b98133}.workflow-action-drag-handle{cursor:grab;color:var(--color-text-muted);font-size:1.1rem;line-height:1;-webkit-user-select:none;user-select:none;letter-spacing:-2px}.workflow-action-drag-handle:active{cursor:grabbing}.workflow-action-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-primary);color:#fff;border-radius:var(--radius-full);font-size:var(--font-sm);font-weight:700}.form-builder-field{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-sm)}.form-builder-field-row{display:grid;grid-template-columns:180px 1fr;gap:var(--space-sm);align-items:center}.form-builder-field-controls{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border-light)}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg)}.template-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;transition:all .15s}.template-card:hover{border-color:var(--color-primary-text);box-shadow:var(--shadow-md);transform:translateY(-2px)}.template-card-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.template-card-icon{font-size:1.75rem}.template-card-meta{display:flex;gap:var(--space-xs);flex-wrap:wrap}.template-card-type{display:inline-block;background:var(--color-primary-light);color:var(--color-primary-text);padding:.15rem .5rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.template-card-category{display:inline-block;background:var(--color-surface-alt);color:var(--color-text-muted);padding:.15rem .5rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.template-card-title{font-size:var(--font-lg);font-weight:700;color:var(--color-text-strong);margin-bottom:var(--space-sm)}.template-card-description{color:var(--color-text-secondary);line-height:1.55;font-size:var(--font-sm);flex:1;margin-bottom:var(--space-md)}.template-card-meta-text{font-size:var(--font-sm);color:var(--color-text-muted);margin-bottom:var(--space-md)}.template-card-actions{display:flex;gap:var(--space-sm);margin-top:auto}@media(max-width:768px){.form-builder-field-row{grid-template-columns:1fr}}@media(max-width:768px){.marketing-header-inner{padding:0 var(--space-md);height:56px}.marketing-nav{gap:var(--space-sm)}.marketing-nav-link{display:none}.marketing-nav-login{display:inline-flex;font-size:var(--font-sm)}.hero{padding:4rem 0 2rem}.hero-inner,.section-inner{padding:0 var(--space-md)}.section{padding:3rem 0}.hero-image{padding:0 var(--space-md);margin-top:2rem}.hero-cta-row{flex-direction:column;align-items:stretch}.hero-cta-row .btn{justify-content:center;text-align:center}.marketing-footer-row{flex-direction:column;text-align:center}.marketing-footer-top{flex-direction:column;gap:var(--space-lg)}.marketing-footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%;width:100%;gap:var(--space-lg)}}@media(max-width:480px){.marketing-footer-columns{grid-template-columns:1fr}}.files-layout{display:grid;grid-template-columns:240px 1fr;gap:var(--space-lg);align-items:start}.files-sidebar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-sm);position:sticky;top:var(--space-lg)}.files-sidebar-header{padding:var(--space-xs) var(--space-sm) var(--space-sm);font-size:var(--font-sm);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.files-sidebar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.files-sidebar-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);width:100%;padding:var(--space-xs) var(--space-sm);background:transparent;border:none;border-radius:var(--radius-sm);text-align:left;cursor:pointer;color:var(--color-text);font-size:var(--font-sm);transition:background .12s}.files-sidebar-item:hover{background:var(--color-surface-hover)}.files-sidebar-item-active{background:var(--color-primary-light);color:var(--color-primary-text);font-weight:600}.files-sidebar-item-active:hover{background:var(--color-primary-light)}.files-sidebar-item-muted .files-sidebar-label{color:var(--color-text-muted);font-style:italic}.files-sidebar-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-sidebar-count{flex:0 0 auto;font-size:var(--font-sm);color:var(--color-text-muted);min-width:1.5em;text-align:right}.files-sidebar-item-active .files-sidebar-count{color:var(--color-primary-text)}.files-main{min-width:0;display:flex;flex-direction:column;gap:var(--space-md)}.upload-zone-target{margin:0 0 var(--space-xs);font-size:var(--font-base);color:var(--color-text)}.upload-zone-target strong{color:var(--color-primary-text)}.files-count-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-sm);font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all .12s}.files-count-pill:hover:not(:disabled){background:var(--color-primary-light);color:var(--color-primary-text);border-color:var(--color-primary-text)}.files-count-pill:disabled{cursor:default;opacity:.85}.drawer-files-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.drawer-files-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--color-surface-alt);border-radius:var(--radius-sm)}.drawer-files-name{flex:1;min-width:0;background:transparent;border:none;padding:0;text-align:left;color:var(--color-primary-text);cursor:pointer;font-size:var(--font-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-files-name:hover{text-decoration:underline}.drawer-files-remove{background:transparent;border:none;color:var(--color-text-muted);font-size:var(--font-lg);line-height:1;cursor:pointer;padding:0 var(--space-xs);border-radius:var(--radius-sm)}.drawer-files-remove:hover:not(:disabled){color:var(--color-danger);background:var(--color-surface-hover)}@media(max-width:768px){.files-layout{grid-template-columns:1fr}.files-sidebar{position:static}}.activity-display-id{display:inline-flex;align-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;font-weight:500;color:var(--color-text-muted);letter-spacing:.02em;text-transform:uppercase;padding:.08rem .4rem;background:var(--color-surface-alt);border-radius:var(--radius-sm);white-space:nowrap}.activity-due-pill{display:inline-flex;align-items:center;padding:.1rem .45rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:.72rem;font-weight:500;color:var(--color-text-muted);white-space:nowrap}.activity-due-overdue{background:var(--color-danger-bg);border-color:var(--color-danger);color:var(--color-danger)}.activity-due-today{background:var(--color-warning-bg);border-color:var(--color-warning);color:var(--color-warning-text)}.activity-due-soon{color:var(--color-text)}.activity-assignee-avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary-text);font-size:.7rem;font-weight:700;letter-spacing:.02em;flex:0 0 auto}.kanban-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);margin-bottom:2px}.drawer-title-wrap{display:flex;align-items:center;gap:var(--space-sm);flex:1;min-width:0}@media(prefers-color-scheme:dark){.activity-due-overdue{background:#dc262626}.activity-due-today{background:#f59e0b26}}.settings-layout{display:grid;grid-template-columns:220px 1fr;gap:var(--space-lg);align-items:start}.settings-sidebar{display:flex;flex-direction:column;gap:var(--space-md);position:sticky;top:var(--space-md)}.settings-sidebar-group{display:flex;flex-direction:column}.settings-sidebar-group-label{padding:0 var(--space-sm) var(--space-xs);font-size:.68rem;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em}.settings-sidebar-item{display:flex;align-items:center;gap:var(--space-sm);padding:8px var(--space-sm);font-size:var(--font-sm);font-weight:500;color:var(--color-text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:background .12s,color .12s}.settings-sidebar-item:hover{background:var(--color-surface-hover);color:var(--color-text)}.settings-sidebar-item-active{background:var(--color-primary-light);color:var(--color-primary-text);font-weight:600}.settings-sidebar-item-active:hover{background:var(--color-primary-light);color:var(--color-primary-text)}.settings-sidebar-icon{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;font-size:1rem;line-height:1}.settings-content{min-width:0}@media(max-width:768px){.settings-layout{grid-template-columns:1fr}.settings-sidebar{position:static;flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;gap:var(--space-sm);padding-bottom:var(--space-xs)}.settings-sidebar-group{flex-direction:row;gap:var(--space-xs);flex:0 0 auto}.settings-sidebar-group-label{display:none}.settings-sidebar-item{scroll-snap-align:start;white-space:nowrap}}@media(prefers-color-scheme:dark){.settings-sidebar-item-active{background:#10b98126;color:var(--color-primary-text)}}.nav-help-link{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-text-muted);font-weight:700;font-size:var(--font-sm);text-decoration:none}.nav-help-link:hover,.nav-help-link.nav-active{background:var(--color-primary-light);color:var(--color-primary-dark);border-color:var(--color-primary-text)}.help-layout{display:grid;grid-template-columns:260px 1fr;gap:var(--space-lg);align-items:start}.help-sidebar{position:sticky;top:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:calc(100vh - var(--space-xl) * 2);overflow-y:auto}.help-sidebar-header{display:flex;flex-direction:column;gap:var(--space-sm)}.help-sidebar-title{font-size:var(--font-lg);font-weight:600;margin:0}.help-search{width:100%}.help-sidebar-group{display:flex;flex-direction:column;gap:var(--space-xs)}.help-sidebar-group-label{font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding:0 var(--space-xs)}.help-sidebar-group ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.help-sidebar-link{display:block;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);color:var(--color-text);text-decoration:none;font-size:var(--font-sm);line-height:1.35}.help-sidebar-link:hover{background:var(--color-surface-hover)}.help-sidebar-link-active{background:var(--color-primary-light);color:var(--color-primary-dark);font-weight:600}.help-sidebar-footer{margin-top:auto;padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.help-article{line-height:1.6}.help-article h1{font-size:var(--font-2xl);margin:0 0 var(--space-md) 0}.help-article h2{font-size:var(--font-lg);margin:var(--space-lg) 0 var(--space-sm) 0;padding-top:var(--space-xs);border-top:1px solid var(--color-border)}.help-article h2:first-of-type{border-top:none;padding-top:0}.help-article p,.help-article ul,.help-article ol{margin:0 0 var(--space-md) 0}.help-article ul,.help-article ol{padding-left:var(--space-lg)}.help-article li{margin-bottom:var(--space-xs)}.help-article code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:var(--color-code-bg, rgba(16, 185, 129, .08));padding:.1em .4em;border-radius:var(--radius-sm)}.help-article a{color:var(--color-primary-dark);text-decoration:underline}.help-callout{background:var(--color-primary-light);border-left:3px solid var(--color-primary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);color:var(--color-text)}.help-footer-note{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border);font-size:var(--font-sm);color:var(--color-text-muted)}.help-table{width:100%;border-collapse:collapse;margin:0 0 var(--space-md) 0;font-size:var(--font-sm)}.help-table th,.help-table td{text-align:left;padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--color-border)}.help-table th{background:var(--color-surface-hover);font-weight:600}.help-info-link{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary-dark);font-size:11px;font-weight:700;text-decoration:none;margin-left:var(--space-xs);vertical-align:middle;line-height:1}.help-info-link:hover{background:var(--color-primary);color:#fff}.help-explainer{background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--space-md);display:flex;gap:var(--space-md);align-items:flex-start;margin-bottom:var(--space-md)}.help-explainer-icon{font-size:1.4rem;line-height:1;flex-shrink:0}.help-explainer-body{flex:1;min-width:0}.help-explainer-body p:last-child{margin-bottom:0}@media(max-width:900px){.help-layout{grid-template-columns:1fr}.help-sidebar{position:static;max-height:none}}@media(prefers-color-scheme:dark){.help-sidebar-link-active{background:#10b9812e;color:var(--color-primary-text)}.help-callout,.help-explainer{background:#10b9811a}.help-info-link{background:#10b9812e;color:var(--color-primary-text)}.help-info-link:hover{background:var(--color-primary);color:#022c22}}.client-master-detail{display:grid;grid-template-columns:320px 1fr;gap:var(--space-md);align-items:start;min-height:60vh}@media(min-width:1600px){.client-master-detail{grid-template-columns:360px 1fr}}.client-master-list{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;position:sticky;top:var(--space-md);max-height:calc(100vh - 8rem);overflow-y:auto}.client-master-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-bottom:1px solid var(--color-border);cursor:pointer;text-align:left;color:var(--color-text);transition:background .1s}.client-master-row:hover{background:var(--color-surface)}.client-master-row.is-selected{background:var(--color-primary-light);border-left:3px solid var(--color-primary);padding-left:calc(var(--space-md) - 3px)}.client-master-row.is-archived{opacity:.6}.client-master-row-main{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.client-master-row-name{font-weight:600;font-size:var(--font-sm);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-master-row-company{font-size:.72rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-master-row-amount{font-weight:700;font-size:var(--font-sm);white-space:nowrap}.status-pill-sm{font-size:.65rem;padding:.1rem .4rem;align-self:flex-start;margin-top:.15rem}.client-detail-pane{background:transparent;min-width:0}.client-detail-content{display:flex;flex-direction:column;gap:var(--space-md)}.client-detail-header{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md)}.client-detail-close{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);width:2rem;height:2rem;border-radius:var(--radius-sm);cursor:pointer;font-size:1rem}.client-detail-close:hover{color:var(--color-text);border-color:var(--color-text-muted)}.client-detail-header-text{flex:1;min-width:0}.client-detail-name{margin:0;font-size:var(--font-xl);font-weight:700;color:var(--color-text)}.client-detail-header-actions{display:flex;gap:var(--space-xs);flex-shrink:0}.client-detail-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:var(--color-surface-alt);border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;min-height:50vh}.client-detail-quickactions-section{margin-bottom:var(--space-md)}.client-detail-quickactions-label{margin:0 0 var(--space-xs);font-size:.68rem;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em}.client-detail-quickactions{display:flex;flex-wrap:wrap;gap:var(--space-xs);padding:var(--space-sm);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md)}.client-detail-quickactions .btn{display:inline-flex;align-items:center;gap:var(--space-xs)}.client-detail-quickactions .btn.is-disabled{opacity:.45;pointer-events:none;cursor:not-allowed}.txn-lineage{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.txn-lineage-label{font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);flex-shrink:0}.txn-lineage-flow{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;flex:1;min-width:0}.txn-lineage-segment{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);text-decoration:none;color:var(--color-text);font-size:var(--font-sm);border:1px solid transparent;transition:background .12s ease,border-color .12s ease;white-space:nowrap;max-width:100%}.txn-lineage-segment.is-ancestor,.txn-lineage-segment.is-child{background:var(--color-surface);border-color:var(--color-border)}.txn-lineage-segment.is-ancestor:hover,.txn-lineage-segment.is-child:hover{background:var(--color-surface-alt);border-color:var(--color-text-muted)}.txn-lineage-segment.is-self{background:var(--color-primary);color:#fff;font-weight:600;border-color:var(--color-primary-dark, var(--color-primary))}.txn-lineage-icon{font-size:.95rem;line-height:1;flex-shrink:0}.txn-lineage-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.txn-lineage-amount{font-size:var(--font-xs);font-variant-numeric:tabular-nums;opacity:.8;flex-shrink:0}.txn-lineage-arrow{color:var(--color-text-muted);font-size:1rem;-webkit-user-select:none;user-select:none;flex-shrink:0}.related-txns-card{margin-top:var(--space-md)}.related-txns-title{margin:0 0 var(--space-sm) 0;font-size:var(--font-md);font-weight:600;color:var(--color-text)}.related-txns-section{padding:var(--space-sm) 0;border-top:1px solid var(--color-border)}.related-txns-section:first-of-type{border-top:none;padding-top:0}.related-txns-section-label{font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:var(--space-xs)}.related-txns-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-xs)}.related-txn-row{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);border:1px solid transparent;text-decoration:none;color:var(--color-text);transition:background .12s ease,border-color .12s ease}.related-txn-row:hover{background:var(--color-surface-alt);border-color:var(--color-border)}.related-txn-row-static:hover{background:transparent;cursor:default;border-color:transparent}.related-txn-row-main{display:flex;align-items:center;gap:var(--space-xs);min-width:0;grid-column:1 / 2;grid-row:1 / 2}.related-txn-row-icon{flex-shrink:0;font-size:1rem;line-height:1}.related-txn-row-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.related-txn-row-amount{grid-column:2 / 3;grid-row:1 / 2;text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.related-txn-row-meta{grid-column:1 / 3;grid-row:2 / 3;font-size:var(--font-xs);color:var(--color-text-muted)}.upgrade-cards{display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:var(--space-md)}.upgrade-card{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);display:flex;flex-direction:column}.upgrade-card-title{margin:0 0 var(--space-xs) 0;font-size:var(--font-lg);font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:var(--space-xs)}.upgrade-card-badge{display:inline-block;padding:2px 8px;background:var(--color-primary);color:#fff;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:600;letter-spacing:.02em}.upgrade-card-tagline{margin:0 0 var(--space-md) 0}.upgrade-card-price{display:flex;flex-wrap:wrap;align-baseline:baseline;gap:var(--space-xs);margin-bottom:var(--space-md)}.upgrade-card-price-amount{font-size:var(--font-2xl);font-weight:700;color:var(--color-text)}.upgrade-card-price-cycle{font-size:var(--font-sm);color:var(--color-text-muted)}.upgrade-card-price-yearly{flex-basis:100%}.upgrade-card-features{list-style:none;padding:0;margin:0 0 var(--space-md) 0;display:flex;flex-direction:column;gap:var(--space-xs);flex:1}.upgrade-card-feature{font-size:var(--font-sm);color:var(--color-text)}.upgrade-card-actions{display:flex;flex-direction:column;gap:var(--space-xs)}.test-mode-banner{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #92400e);border-bottom:1px solid var(--color-warning-border, #fcd34d);padding:var(--space-xs) var(--space-md);font-size:var(--font-sm);display:flex;align-items:center;gap:var(--space-sm);justify-content:center;text-align:center}.test-mode-banner-icon{font-size:1rem;line-height:1}.test-mode-banner code{background:#00000014;padding:1px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.85em}@media(prefers-color-scheme:dark){.test-mode-banner{background:var(--color-warning-bg, #422006);color:var(--color-warning-text, #fde68a);border-bottom-color:var(--color-warning-border, #92400e)}.test-mode-banner code{background:#ffffff1a}}.onboarding-floating{position:fixed;right:var(--space-md);bottom:var(--space-md);z-index:80;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;transition:width .18s ease}.onboarding-floating.is-collapsed{width:280px}.onboarding-floating.is-expanded{width:380px;max-height:80vh}.onboarding-floating-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:none;cursor:pointer;text-align:left;font:inherit;color:var(--color-text)}.onboarding-floating-header:hover{background:var(--color-surface-alt)}.onboarding-floating-header-title{display:inline-flex;align-items:center;gap:var(--space-xs);font-weight:600;font-size:var(--font-sm)}.onboarding-floating-icon{font-size:1rem;line-height:1}.onboarding-floating-header-meta{display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--color-text-muted);font-size:var(--font-xs)}.onboarding-floating-counter{font-variant-numeric:tabular-nums;font-weight:600}.onboarding-floating-chevron{font-size:.75rem}.onboarding-floating-progress{height:3px;background:var(--color-border);width:100%}.onboarding-floating-progress-fill{height:100%;background:var(--color-primary);transition:width .24s ease}.onboarding-floating-next{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);text-decoration:none;color:var(--color-text);font-size:var(--font-sm);border-top:1px solid var(--color-border);background:var(--color-surface-alt)}.onboarding-floating-next:hover{background:var(--color-surface)}.onboarding-floating-next-label{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onboarding-floating-done{background:var(--color-success-bg, #d1fae5);color:var(--color-success-text, #065f46)}.onboarding-floating-done-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--color-primary);color:#fff;font-size:var(--font-xs);font-weight:700;flex-shrink:0}@media(prefers-color-scheme:dark){.onboarding-floating-done{background:var(--color-success-bg, #064e3b);color:var(--color-success-text, #6ee7b7)}}.onboarding-floating-body{overflow-y:auto;padding:var(--space-sm) 0}.onboarding-floating-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.onboarding-floating-step{display:grid;grid-template-columns:1.5rem 1fr auto;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-top:1px solid var(--color-border)}.onboarding-floating-step:first-child{border-top:none}.onboarding-floating-step.is-next{background:var(--color-surface-alt)}.onboarding-floating-check{width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-surface-alt);border:1px solid var(--color-border);font-size:var(--font-xs);font-weight:600;color:var(--color-text-muted)}.onboarding-floating-step.is-done .onboarding-floating-check{background:var(--color-primary);border-color:var(--color-primary-text);color:#fff}.onboarding-floating-step-text{min-width:0}.onboarding-floating-step-label{font-size:var(--font-sm);font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis}.onboarding-floating-footer{display:flex;justify-content:flex-end;padding:var(--space-sm) var(--space-md) 0 var(--space-md);border-top:1px solid var(--color-border);margin-top:var(--space-sm)}@media(max-width:768px){.onboarding-floating{right:var(--space-sm);left:var(--space-sm);bottom:var(--space-sm)}.onboarding-floating.is-collapsed,.onboarding-floating.is-expanded{width:auto}}.client-detail-placeholder-icon{font-size:3rem;margin-bottom:var(--space-md);opacity:.5}.kpi-ribbon{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-sm)}.kpi-tile{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md)}.kpi-tile.kpi-warning{background:var(--color-warning-bg);border-color:var(--color-warning)}.kpi-tile.kpi-warning .kpi-label,.kpi-tile.kpi-warning .kpi-value,.kpi-tile.kpi-warning .kpi-value-sm{color:var(--color-warning-text)}.kpi-tile.kpi-danger{background:var(--color-danger-bg);border-color:var(--color-danger)}.kpi-tile.kpi-danger .kpi-label,.kpi-tile.kpi-danger .kpi-value,.kpi-tile.kpi-danger .kpi-value-sm{color:var(--color-danger-text)}.kpi-tile.kpi-success{background:var(--color-success-bg, #ecfdf5);border-color:var(--color-success, #10b981)}.kpi-tile.kpi-success .kpi-label,.kpi-tile.kpi-success .kpi-value,.kpi-tile.kpi-success .kpi-value-sm{color:var(--color-success-text, #065f46)}.kpi-tile.kpi-info{background:var(--color-info-bg, #ecfeff);border-color:var(--color-info, #0891b2)}.kpi-tile.kpi-info .kpi-label,.kpi-tile.kpi-info .kpi-value,.kpi-tile.kpi-info .kpi-value-sm{color:var(--color-info-text, #155e75)}.kpi-tile-link{text-decoration:none;display:block;position:relative;transition:background .15s,border-color .15s,transform .05s}.kpi-tile-link:after{content:"›";position:absolute;top:var(--space-sm);right:var(--space-md);color:var(--color-text-muted);font-size:var(--font-lg);line-height:1;opacity:.5}.kpi-tile-link:hover{border-color:var(--color-primary-text);transform:translateY(-1px)}.kpi-tile-link:hover:after{opacity:1;color:var(--color-primary-text)}.kpi-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-weight:600}.kpi-value{font-size:var(--font-xl);font-weight:700;color:var(--color-text)}.kpi-value-sm{font-size:var(--font-md);font-weight:600;color:var(--color-text)}.tabs-bar{display:flex;gap:var(--space-sm);border-bottom:1px solid var(--color-border);padding-bottom:0}.tab-btn{background:transparent;border:none;border-bottom:2px solid transparent;padding:var(--space-sm) var(--space-md);cursor:pointer;font-weight:600;color:var(--color-text-muted);font-size:var(--font-sm);transition:color .1s,border-color .1s;margin-bottom:-1px}.tab-btn:hover{color:var(--color-text)}.tab-btn.is-active{color:var(--color-primary-text);border-bottom-color:var(--color-primary-text)}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.timeline-row{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-left:3px solid var(--color-border);margin-left:0;position:relative}.timeline-row+.timeline-row{border-top:1px solid var(--color-border)}.timeline-tone-success{border-left-color:var(--color-success)}.timeline-tone-warning{border-left-color:var(--color-warning)}.timeline-tone-danger{border-left-color:var(--color-danger)}.timeline-tone-info{border-left-color:var(--color-info)}.timeline-icon{font-size:1.2rem;width:1.5rem;flex-shrink:0;text-align:center}.timeline-body{flex:1;min-width:0}.timeline-title{font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.timeline-title a{color:inherit;text-decoration:none}.timeline-title a:hover{color:var(--color-primary-text);text-decoration:underline}.timeline-amount{font-weight:700;color:var(--color-success-text);font-size:var(--font-sm)}.timeline-subtitle{margin-top:.15rem}.timeline-time{flex-shrink:0;white-space:nowrap;align-self:center}@media(max-width:800px){.client-master-detail{grid-template-columns:1fr}.client-master-list{position:static;max-height:none}.client-master-detail.has-selection .client-master-list{display:none}.client-master-detail:not(.has-selection) .client-detail-pane{display:none}.kpi-ribbon{grid-template-columns:repeat(2,1fr)}.client-detail-header{flex-wrap:wrap}.client-detail-header-actions{width:100%;justify-content:flex-end}}.client-pipeline{display:flex;flex-direction:column;gap:var(--space-md)}.pipeline-project-summary{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface-alt);border-radius:var(--radius-sm);margin-bottom:var(--space-sm);font-size:var(--font-sm);color:var(--color-text)}.pipeline-icon{display:inline-block;width:1.5rem;font-size:1rem;text-align:center;flex-shrink:0}.pipeline-bucket{margin-bottom:var(--space-sm)}.pipeline-bucket-header{display:flex;align-items:center;gap:var(--space-sm);padding:0 var(--space-md);margin-bottom:var(--space-xs)}.pipeline-bucket-header .timeline-type-label{margin:0;padding:0;flex:1}.pipeline-bucket-action{margin-left:auto}.pipeline-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.pipeline-row{display:grid;grid-template-columns:minmax(0,2fr) auto minmax(80px,auto) minmax(0,1.4fr);align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-top:1px solid var(--color-border)}.pipeline-row:hover{background:var(--color-surface-alt)}.pipeline-row-title{font-weight:600;color:var(--color-text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pipeline-row-title:hover{color:var(--color-primary-text);text-decoration:underline}.pipeline-row-title-static{font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center;gap:var(--space-xs)}.pipeline-change-order-tag{font-size:.6rem;font-weight:700;letter-spacing:.06em;padding:.05rem .35rem;margin-left:var(--space-xs);background:var(--color-primary-light);color:var(--color-primary-dark, var(--color-primary));border-radius:var(--radius-full);vertical-align:middle}.pipeline-row-amount{text-align:right;font-variant-numeric:tabular-nums;color:var(--color-text);white-space:nowrap}.pipeline-row-meta{color:var(--color-text-muted);font-size:var(--font-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:700px){.pipeline-row{grid-template-columns:1fr auto;grid-template-rows:auto auto}.pipeline-row-amount{grid-column:2;grid-row:1}.pipeline-row-meta{grid-column:1 / -1;grid-row:2}}.invoice-payment-meta{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-md);background:var(--color-success-bg, #ecfdf5);border:1px solid var(--color-success-border, #a7f3d0);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-text)}.invoice-payment-meta.is-refunded{background:var(--color-warning-bg, #fef3c7);border-color:var(--color-warning-border, #fde68a);border-left-color:var(--color-warning, #d97706)}.invoice-payment-meta-icon{font-size:1.5rem;line-height:1;flex-shrink:0}.invoice-payment-meta-body{flex:1;font-size:var(--font-sm);line-height:1.5}.invoice-payment-ref{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;background:var(--color-surface-alt);padding:.05rem .4rem;border-radius:var(--radius-sm)}.invoice-payment-note{margin:var(--space-xs) 0 0;font-style:italic}.invoice-ledger-card{margin-bottom:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.invoice-ledger-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-sm)}.invoice-ledger-totals{display:flex;flex-wrap:wrap;align-items:baseline}.invoice-ledger-list{list-style:none;margin:0;padding:0}.invoice-ledger-row{display:flex;gap:var(--space-md);padding:var(--space-sm) 0;border-top:1px solid var(--color-border)}.invoice-ledger-row:first-child{border-top:none}.invoice-ledger-icon{width:1.5rem;height:1.5rem;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-weight:700;font-size:1.1rem;line-height:1}.invoice-ledger-row.is-payment .invoice-ledger-icon{background:var(--color-success-bg, #ecfdf5);color:var(--color-success-text, #15803d)}.invoice-ledger-row.is-refund .invoice-ledger-icon{background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #b45309)}.invoice-ledger-body{flex:1;min-width:0}.invoice-ledger-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;background:var(--color-surface-alt);padding:.05rem .35rem;border-radius:var(--radius-sm)}.invoice-ledger-footnote{margin:var(--space-md) 0 0;padding-top:var(--space-sm);border-top:1px dashed var(--color-border);font-style:italic}.refund-fee-panel{margin:var(--space-md) 0;padding:var(--space-md);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md)}.refund-fee-breakdown{display:flex;flex-direction:column;gap:var(--space-xs);font-size:var(--font-sm)}.refund-fee-row{display:flex;justify-content:space-between;align-items:baseline}.refund-fee-divider{border:none;border-top:1px solid var(--color-border);margin:var(--space-xs) 0}.refund-fee-customer,.refund-fee-you{font-size:var(--font-md)}.pipeline-filter-strip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-md);overflow:hidden}.pipeline-filter-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md)}.pipeline-filter-toggle{display:flex;align-items:center;gap:var(--space-sm);background:none;border:none;padding:var(--space-xs) 0;cursor:pointer;font-weight:600;color:var(--color-text);flex:1;text-align:left}.pipeline-filter-toggle:hover{color:var(--color-primary-text)}.pipeline-filter-body{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm) var(--space-md) var(--space-md);border-top:1px solid var(--color-border)}.pipeline-filter-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.pipeline-filter-row>label{min-width:7rem;font-weight:600}.pipeline-filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs);flex:1}.pipeline-filter-chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.25rem .65rem;font-size:var(--font-sm);font-weight:500;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;text-transform:capitalize;transition:background .15s ease,color .15s ease,border-color .15s ease}.pipeline-filter-chip:hover{background:var(--color-primary-light);color:var(--color-text)}.pipeline-filter-chip.is-active{background:var(--color-primary);color:#fff;border-color:var(--color-primary-text)}.timeline-grouped{display:flex;flex-direction:column;gap:var(--space-md)}.timeline-project-group{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.timeline-project-header{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-primary-light);border:none;border-left:4px solid var(--color-primary);cursor:pointer;text-align:left;font-weight:700;color:var(--color-text)}.timeline-project-header:hover{background:var(--color-primary-light);filter:brightness(.97)}.timeline-project-chevron{display:inline-block;width:.9rem;color:var(--color-text-muted)}.timeline-project-name{font-weight:700;color:var(--color-primary-text);text-decoration:none;cursor:pointer;transition:color .1s}.timeline-project-name:hover{color:var(--color-primary-dark, var(--color-primary));text-decoration:underline}.timeline-project-name:after{content:" →";opacity:.7;transition:opacity .1s,transform .1s;display:inline-block;margin-left:.15rem}.timeline-project-name:hover:after{opacity:1;transform:translate(3px)}span.timeline-project-name{color:var(--color-text);cursor:default}span.timeline-project-name:after{content:none}span.timeline-project-name:hover{color:var(--color-text);text-decoration:none}.timeline-project-meta{margin-left:auto;font-size:var(--font-sm);font-weight:400;color:var(--color-text-muted)}.timeline-project-body{padding:var(--space-sm) 0 var(--space-sm) var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.timeline-type-bucket{display:flex;flex-direction:column;gap:0}.timeline-type-label{margin:0 0 var(--space-xs) 0;padding:0 var(--space-md);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.invoice-readonly .form-input,.invoice-readonly textarea,.invoice-readonly input[type=text],.invoice-readonly input[type=number],.invoice-readonly input[type=date],.editor-readonly .form-input,.editor-readonly textarea,.editor-readonly input[type=text],.editor-readonly input[type=number],.editor-readonly input[type=date]{border-color:transparent!important;background:transparent!important;cursor:default;pointer-events:none;padding-left:0!important;padding-right:0!important;color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text);opacity:1!important}.editor-readonly .searchable-select-control,.editor-readonly .searchable-select-trigger,.editor-readonly select{border-color:transparent!important;background:transparent!important;pointer-events:none;padding-left:0!important;padding-right:0!important;cursor:default!important;box-shadow:none!important}.editor-readonly .searchable-select-arrow,.editor-readonly select::-webkit-calendar-picker-indicator{display:none!important}.editor-readonly .quick-create-toggle,.editor-readonly .quick-create-form{display:none!important}.invoice-readonly .form-input:focus,.invoice-readonly textarea:focus,.editor-readonly .form-input:focus,.editor-readonly textarea:focus{outline:none!important;box-shadow:none!important}.editor-readonly button.btn-danger[aria-label*=Remove],.editor-readonly button.btn-danger[aria-label*=Delete]{display:none!important}.invoice-readonly .searchable-select-arrow,.invoice-readonly .build-from-project,.invoice-readonly .invoice-line-modified-chip,.invoice-readonly .invoice-line-milestone-hint,.invoice-readonly .invoice-line-contract,.invoice-readonly .invoice-line-contract-linked .text-danger,.invoice-readonly button[aria-label="Remove line item"],.invoice-readonly .invoice-items-table th:last-child,.invoice-readonly .invoice-items-table td:last-child{display:none!important}.invoice-readonly .invoice-items-table+button,.invoice-readonly .invoice-items-scroll+button{display:none!important}.invoice-readonly .searchable-select-trigger{border-color:transparent!important;background:transparent!important;cursor:default!important;pointer-events:none}.invoice-readonly .apply-terms-button,.invoice-readonly .apply-terms-dropdown{display:none!important}.milestone-overage-chip,.milestone-overcap-chip{display:inline-block;font-size:.7rem;font-weight:700;padding:.1rem .45rem;margin-left:var(--space-xs);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em}.milestone-overage-chip{background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning)}.milestone-overcap-chip{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger)}.invoice-credits-summary{margin-top:var(--space-lg);padding:var(--space-sm) var(--space-md);background:var(--color-info-bg);border:1px dashed var(--color-info);border-radius:var(--radius-md);color:var(--color-info-text)}.invoice-credits-header{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-sm);color:var(--color-info-text);padding-bottom:var(--space-xs);border-bottom:1px solid rgba(8,145,178,.18);margin-bottom:var(--space-xs)}.invoice-credits-icon{font-size:1rem}.invoice-credits-total{margin-left:auto;font-weight:700;color:var(--color-info-text);font-variant-numeric:tabular-nums}.invoice-credits-list{list-style:none;margin:0;padding:0}.invoice-credits-list li{display:flex;align-items:center;gap:var(--space-sm);padding:.2rem 0;font-size:var(--font-sm);color:var(--color-info-text)}.invoice-credits-list li>span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-credits-tag{font-size:.6rem;font-weight:700;letter-spacing:.06em;padding:.05rem .35rem;background:var(--color-surface);color:var(--color-info-text);border-radius:var(--radius-full);border:1px solid var(--color-info);flex-shrink:0}.invoice-credits-amount{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--color-info-text);font-weight:600;flex-shrink:0}.cap-warning-banner{display:flex;gap:var(--space-md);padding:var(--space-md);background:var(--color-danger-bg);border:1px solid var(--color-danger);border-radius:var(--radius-md);margin:var(--space-md) 0 0;color:var(--color-danger-text)}.cap-warning-banner-icon{font-size:1.5rem;flex-shrink:0}.cap-warning-banner-loud{margin:0 0 var(--space-lg);padding:var(--space-lg);border-width:2px;border-left-width:6px;box-shadow:var(--shadow-md);align-items:flex-start}.cap-warning-banner-loud .cap-warning-banner-icon{font-size:2rem;line-height:1}.cap-warning-banner-heading{margin:0 0 var(--space-sm);font-size:var(--font-lg);font-weight:700;color:var(--color-danger-text)}.cap-warning-overage{color:var(--color-danger-text);font-weight:700}.cap-warning-fix-heading{margin:var(--space-sm) 0 var(--space-xs);font-weight:600}.cap-warning-banner-body{flex:1}.cap-warning-banner-body strong{color:var(--color-danger-text)}.cap-warning-list{margin:var(--space-xs) 0;padding-left:var(--space-md);list-style:disc}.cap-warning-list li{margin:.25rem 0}.cap-warning-banner a{color:var(--color-primary-text);font-weight:600}.cap-warning-banner a:hover{text-decoration:underline}.cap-warning-banner .link-button{color:var(--color-primary-text);font-weight:600;padding:0;font-size:inherit}.cap-warning-banner .link-button:hover{text-decoration:underline}.cap-warning-fix-list{margin:var(--space-xs) 0 0;padding-left:0;list-style:none}.cap-warning-fix-list li{margin:var(--space-xs) 0;line-height:1.5}.proposal-scope-cap-expansion{background:var(--color-surface-alt);border-left:3px solid var(--color-primary)}.proposal-scope-cap-expansion-tag{color:var(--color-text-muted);font-size:var(--font-sm);font-style:italic}.proposal-schedule-check{border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm)}.proposal-schedule-check.is-balanced{background:var(--color-success-bg, rgba(34, 197, 94, .12));border-left:3px solid var(--color-success, #22c55e)}.proposal-schedule-check.is-unbalanced{background:var(--color-warning-bg, rgba(245, 158, 11, .12));border-left:3px solid var(--color-warning, #f59e0b)}.invoice-breadcrumb{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;font-size:var(--font-sm)}.invoice-breadcrumb .breadcrumb-sep{color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.client-search-input{width:220px;max-width:100%}.p-md{padding:var(--space-md)}.portal-milestone-deliverables{margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-primary-light);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm)}.portal-milestone-deliverables-header{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-sm);color:var(--color-text);margin-bottom:var(--space-xs)}.portal-milestone-deliverables-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.portal-milestone-deliverables-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-xs) var(--space-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.portal-milestone-deliverables-name{flex:1;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.milestone-deliverables{margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-surface-alt);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.milestone-deliverables-header{display:flex;align-items:center;gap:var(--space-sm)}.milestone-deliverables-icon{font-size:1.1rem}.milestone-deliverables-title{font-weight:700;flex:1;color:var(--color-text)}.milestone-deliverables-empty{margin:var(--space-xs) 0 0}.milestone-deliverables-sent-badge{background:var(--color-success-bg);color:var(--color-success-text);padding:.1rem .5rem;border-radius:var(--radius-full);font-weight:600;font-size:.7rem}.milestone-deliverables-list{list-style:none;margin:var(--space-sm) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.milestone-deliverables-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-xs) var(--space-sm);background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm)}.milestone-deliverables-row-name{flex:1;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm) var(--space-xl)}.project-meta-cell{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}@media(max-width:700px){.project-meta-grid{grid-template-columns:1fr}}.proposal-download-row{display:flex;justify-content:flex-end;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-md)}@media print{:root{color-scheme:light;--color-bg: #ffffff;--color-surface: #ffffff;--color-surface-alt: #ffffff;--color-text: #000000;--color-text-muted: #4b5563;--color-border: #d1d5db}html,body{background:#fff!important;color:#000!important}.app-header,.app-sidebar,.app-mobile-nav,.app-mobile-link,nav,.sticky-action-bar,.breadcrumb-link,.page-header>div:last-child,.no-print{display:none!important}.invoice-line-modified-chip,.invoice-line-milestone-hint,.invoice-line-credit-tag,.invoice-line-contract-linked,.invoice-line-contract,.build-from-project,.preview-mode-banner,.proposal-download-row,.form-error,.form-error-inline,kbd{display:none!important}.invoice-items-table input,.form-input,input[type=text],input[type=number],input[type=date],textarea{border:none!important;background:transparent!important;color:#000!important;box-shadow:none!important;padding:0!important;font-family:inherit!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important}.searchable-select-trigger,.searchable-select-trigger *{border:none!important;background:transparent!important;color:#000!important;padding:0!important}.searchable-select-trigger:after,.searchable-select-arrow{display:none!important}.card,.invoice-line-credit,.sign-card{background:#fff!important;box-shadow:none!important;border:1px solid #d1d5db!important;page-break-inside:avoid}.invoice-line-credit{color:#000!important}.invoice-items-table,.table{border-collapse:collapse;width:100%}.invoice-items-table th,.invoice-items-table td,.table th,.table td{border-bottom:1px solid #d1d5db!important;padding:.5rem .4rem!important;color:#000!important}.invoice-items-table thead th,.table thead th{background:#f3f4f6!important;font-weight:700!important}.invoice-items-table th:last-child,.invoice-items-table td:last-child{display:none!important}.badge,.status-pill{background:transparent!important;color:#000!important;border:1px solid #6b7280!important;padding:.05rem .35rem!important}@page{size:A4;margin:.6in .5in}a,a:visited{color:#000!important;text-decoration:none!important}.client-master-detail{grid-template-columns:1fr!important}.client-master-list,.client-detail-close,.tabs-bar{display:none!important}tr,.timeline-row,.kpi-tile{page-break-inside:avoid}}.admin-event-payload{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-md);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--font-sm);line-height:1.5;max-height:50vh;overflow:auto;white-space:pre-wrap;word-break:break-all;color:var(--color-text)}.admin-event-meta{display:grid;grid-template-columns:max-content 1fr;column-gap:var(--space-md);row-gap:var(--space-xs)}.admin-event-meta dt{font-size:var(--font-sm);color:var(--color-text-muted);font-weight:500}.admin-event-meta dd{margin:0}@media(max-width:768px){.admin-events-table thead{display:none}.admin-events-table,.admin-events-table tbody{display:block}.admin-events-table tr{display:block;padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.admin-events-table tr:hover td{background:transparent}.admin-events-table td{display:block;border-bottom:none;padding:0}.admin-events-table td[data-label]{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}.admin-events-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--font-sm);flex:0 0 auto}.admin-events-table td[data-label]>.list-card-value{flex:0 1 auto;text-align:right;min-width:0}.admin-events-table td[data-label=ID]>.list-card-value{word-break:break-all;text-align:right}.admin-events-table td[data-label=Type]>.list-card-value{word-break:break-all;text-align:right}.admin-events-table td[data-label=Error]>.list-card-value{word-break:break-word}}@media(max-width:768px){.client-proposals-table thead{display:none}.client-proposals-table,.client-proposals-table tbody{display:block}.client-proposals-table tr{display:grid;grid-template-columns:1fr auto;column-gap:var(--space-md);row-gap:var(--space-xs);padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.client-proposals-table tr:hover td{background:transparent}.client-proposals-table td{display:block;border-bottom:none;padding:0}.client-proposals-table td:nth-child(1){grid-column:1;grid-row:1;min-width:0;font-weight:600}.client-proposals-table td:nth-child(1) a{word-break:break-word}.client-proposals-table td:nth-child(2){grid-column:2;grid-row:1;justify-self:end;align-self:start}.client-proposals-table td[data-label]{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}.client-proposals-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--font-sm);flex:0 0 auto}.client-proposals-table td[data-label]>.list-card-value{flex:0 1 auto;text-align:right;min-width:0}}@media(max-width:768px){.client-projects-table thead{display:none}.client-projects-table,.client-projects-table tbody{display:block}.client-projects-table tr{display:grid;grid-template-columns:1fr auto;column-gap:var(--space-md);row-gap:var(--space-xs);padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.client-projects-table tr:hover td{background:transparent}.client-projects-table td{display:block;border-bottom:none;padding:0}.client-projects-table td:nth-child(1){grid-column:1;grid-row:1;min-width:0;font-weight:600}.client-projects-table td:nth-child(1) a{word-break:break-word}.client-projects-table td:nth-child(2){grid-column:2;grid-row:1;justify-self:end;align-self:start}.client-projects-table td[data-label]{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}.client-projects-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--font-sm);flex:0 0 auto}.client-projects-table td[data-label]>.list-card-value{flex:0 1 auto;text-align:right;min-width:0}.client-projects-table td[data-label=Progress]{flex-direction:column;align-items:stretch;gap:var(--space-xs)}.client-projects-table td[data-label=Progress]>.project-progress-cell{width:100%}}@media(max-width:768px){.client-invoices-table thead{display:none}.client-invoices-table,.client-invoices-table tbody{display:block}.client-invoices-table tr{display:grid;grid-template-columns:1fr auto;column-gap:var(--space-md);row-gap:var(--space-xs);padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.client-invoices-table tr:hover td{background:transparent}.client-invoices-table td{display:block;border-bottom:none;padding:0}.client-invoices-table td:nth-child(1){grid-column:1;grid-row:1;min-width:0;font-weight:600}.client-invoices-table td:nth-child(1) a{word-break:break-word}.client-invoices-table td:nth-child(2){grid-column:2;grid-row:1;justify-self:end;align-self:start}.client-invoices-table td[data-label]{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}.client-invoices-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--font-sm);flex:0 0 auto}.client-invoices-table td[data-label]>.list-card-value{flex:0 1 auto;text-align:right;min-width:0}}@media(max-width:768px){.project-files-table thead{display:none}.project-files-table,.project-files-table tbody{display:block}.project-files-table tr{display:grid;grid-template-columns:1fr;row-gap:var(--space-xs);padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.project-files-table tr:hover td{background:transparent}.project-files-table td{display:block;border-bottom:none;padding:0}.project-files-table td:nth-child(1){font-weight:600;word-break:break-word;min-width:0}.project-files-table td[data-label]{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}.project-files-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--font-sm);flex:0 0 auto}.project-files-table td[data-label]>.list-card-value{flex:0 1 auto;text-align:right;min-width:0}.project-files-table td:last-child{display:flex;justify-content:flex-end;padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}}@media(max-width:768px){.project-activities-table thead{display:none}.project-activities-table,.project-activities-table tbody{display:block}.project-activities-table tr{display:grid;grid-template-columns:1fr auto;column-gap:var(--space-md);row-gap:var(--space-xs);padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.project-activities-table tr:hover td{background:transparent}.project-activities-table td{display:block;border-bottom:none;padding:0}.project-activities-table td:nth-child(1){grid-column:1 / -1;grid-row:1;min-width:0}.project-activities-table td:nth-child(1) .activity-name-button{flex-wrap:wrap}.project-activities-table td:nth-child(5){grid-column:1 / -1;display:flex;justify-content:flex-end;padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}.project-activities-table td[data-label]{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}.project-activities-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--font-sm);flex:0 0 auto}.project-activities-table td[data-label]>.list-card-value{flex:0 1 auto;text-align:right;min-width:0}.project-activities-table td:nth-child(6){grid-column:1 / -1;display:flex;justify-content:flex-end;padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}}@media(max-width:768px){.project-time-entries-table thead{display:none}.project-time-entries-table,.project-time-entries-table tbody{display:block}.project-time-entries-table tr{display:grid;grid-template-columns:1fr auto;column-gap:var(--space-md);row-gap:var(--space-xs);padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.project-time-entries-table tr:hover td{background:transparent}.project-time-entries-table td{display:block;border-bottom:none;padding:0}.project-time-entries-table td:nth-child(1){grid-column:1;grid-row:1;min-width:0;font-weight:600}.project-time-entries-table td:nth-child(5){grid-column:2;grid-row:1;justify-self:end;align-self:start}.project-time-entries-table td[data-label]{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}.project-time-entries-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--font-sm);flex:0 0 auto}.project-time-entries-table td[data-label]>.list-card-value{flex:0 1 auto;text-align:right;min-width:0}.project-time-entries-table td:nth-child(7){grid-column:1 / -1;display:flex;justify-content:flex-end;padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}}.kpi-top-ips{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-xs)}.kpi-top-ip-pill{display:inline-flex;align-items:center;gap:var(--space-xs);padding:2px 8px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text);font-size:var(--font-sm);cursor:pointer;transition:background .15s,border-color .15s}.kpi-top-ip-pill:hover{background:var(--color-danger-bg);border-color:var(--color-danger)}.kpi-top-ip-count{background:var(--color-danger);color:#fff;border-radius:var(--radius-full);padding:0 6px;font-size:var(--font-sm);font-weight:600}@media(max-width:768px){.admin-audit-table thead{display:none}.admin-audit-table,.admin-audit-table tbody{display:block}.admin-audit-table tr{display:grid;grid-template-columns:1fr auto;column-gap:var(--space-md);row-gap:var(--space-xs);padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.admin-audit-table tr:hover td{background:transparent}.admin-audit-table td{display:block;border-bottom:none;padding:0}.admin-audit-table td:nth-child(1){grid-column:1;grid-row:1;min-width:0;font-weight:600}.admin-audit-table td:nth-child(2){grid-column:2;grid-row:1;justify-self:end;align-self:start}.admin-audit-table td[data-label]{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}.admin-audit-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--font-sm);flex:0 0 auto}.admin-audit-table td[data-label]>.list-card-value{flex:0 1 auto;text-align:right;min-width:0;word-break:break-word}.admin-audit-table td[data-label="User agent"]>.list-card-value{word-break:break-all}}@media(max-width:768px){.client-revenue-table thead{display:none}.client-revenue-table,.client-revenue-table tbody{display:block}.client-revenue-table tr{display:block;padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.client-revenue-table tr:hover td{background:transparent}.client-revenue-table td{display:block;border-bottom:none;padding:0}.client-revenue-table td:nth-child(1){text-align:left!important;font-weight:600;word-break:break-word}.client-revenue-table td[data-label]{display:flex!important;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light);text-align:left!important}.client-revenue-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--font-sm);flex:0 0 auto}.client-revenue-table td[data-label]>.list-card-value{flex:0 1 auto;text-align:right;min-width:0}}@media(max-width:768px){.admin-customers-table thead{display:none}.admin-customers-table,.admin-customers-table tbody{display:block}.admin-customers-table tr{display:block;padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.admin-customers-table tr:hover td{background:transparent}.admin-customers-table td{display:block;border-bottom:none;padding:0}.admin-customers-table td:nth-child(1){text-align:left!important;font-weight:600;word-break:break-word}.admin-customers-table td[data-label]{display:flex!important;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light);text-align:left!important}.admin-customers-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--font-sm);flex:0 0 auto}.admin-customers-table td[data-label]>.list-card-value{flex:0 1 auto;text-align:right;min-width:0;word-break:break-word}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:none}.card .card{background:var(--color-surface-alt);border-color:var(--color-border-light)}body{background:var(--color-bg)}.app-header,.marketing-header{background:var(--color-bg);border-bottom:1px solid var(--color-border)}.form-input,.form-textarea,.form-select{background:var(--color-surface-input);border:1px solid var(--color-border);border-radius:10px}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #10b9812e}.status-pill,.badge{text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:700;padding:.2rem .55rem;border-radius:6px;border:1px solid transparent}.btn{border-radius:10px}.btn-secondary{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-primary)}.searchable-select-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-md)}.modal-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:var(--shadow-lg)}.app-header,.app-header a,.app-header button{color:var(--color-text)}.app-header nav a{color:var(--color-text)}.app-header nav a:hover,.app-header nav a.nav-active{color:var(--color-primary-text);background:var(--color-surface-hover)}.app-header nav button.nav-active{color:var(--color-primary-text);background:var(--color-surface-hover)}.app-header-mobile-toggle:hover{background:var(--color-surface-hover)}
