:root{--color-black:#0d0d0d;--color-black-soft:#111;--color-black-surface:#1a1a1a;--color-black-border:#2a2a2a;--color-ivory:#f5f4f0;--color-ivory-soft:#fafaf8;--color-ivory-muted:#edece8;--color-ivory-border:#e0ded9;--color-purple:#7b6b8d;--color-purple-light:#e8e3ed;--color-purple-dark:#5c4f6b;--color-purple-subtle:#f2eff5;--color-sage:#8ba89b;--color-sage-light:#e5ede8;--color-sage-dark:#6a8a7b;--color-sage-subtle:#f0f5f2;--color-text-primary:#0d0d0d;--color-text-secondary:#5a5a5a;--color-text-tertiary:#8a8a8a;--color-text-disabled:#b8b8b4;--color-text-inverse:#f5f4f0;--color-text-inverse-secondary:#a0a09c;--color-text-link:#7b6b8d;--color-text-link-hover:#5c4f6b;--color-surface-base:#f5f4f0;--color-surface-raised:#fff;--color-surface-overlay:#edece8;--color-surface-inset:#e8e7e3;--color-border-default:#e0ded9;--color-border-strong:#c8c6c1;--color-border-focus:#7b6b8d;--color-border-error:#c0392b;--color-success:#8ba89b;--color-success-light:#e5ede8;--color-warning:#c4944a;--color-warning-light:#f5ecd9;--color-error:#c0392b;--color-error-light:#f8e8e6;--color-info:#7b6b8d;--color-info-light:#e8e3ed;--font-serif:"Playfair Display", "Cormorant Garamond", Georgia, serif;--font-sans:"Inter", "DM Sans", "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Courier New", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.5rem;--text-4xl:3rem;--text-5xl:4rem;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.65;--leading-loose:1.8;--tracking-tight:-.02em;--tracking-normal:0em;--tracking-wide:.04em;--tracking-widest:.1em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--section-gap:var(--space-24);--content-gap:var(--space-12);--component-gap:var(--space-6);--inline-gap:var(--space-4);--page-margin:var(--space-8);--sidebar-width:260px;--content-max-width:1200px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-none:none;--shadow-sm:0 1px 2px #0d0d0d0a, 0 1px 4px #0d0d0d0a;--shadow-md:0 2px 4px #0d0d0d0a, 0 4px 16px #0d0d0d0f;--shadow-lg:0 4px 8px #0d0d0d0a, 0 8px 32px #0d0d0d14;--shadow-xl:0 8px 16px #0d0d0d0f, 0 16px 48px #0d0d0d1f;--transition-fast:80ms ease;--transition-base:.15s ease;--transition-smooth:.25s ease;--transition-slow:.4s ease;--z-below:-1;--z-base:0;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500;--z-tooltip:600}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-surface-base);min-height:100vh}#root{min-height:100vh}a{color:var(--color-text-link);transition:color var(--transition-base);text-decoration:none}a:hover{color:var(--color-text-link-hover)}button{font-family:inherit}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}img,svg{max-width:100%;display:block}ul[class],ol[class]{list-style:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-surface-base)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}::selection{background-color:var(--color-purple-light);color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text-primary)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base);font-weight:var(--weight-semibold)}p{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text-primary)}.label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);color:var(--color-text-secondary)}.display{font-family:var(--font-serif);font-size:var(--text-5xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.fine-print{font-family:var(--font-sans);font-size:var(--text-xs);line-height:var(--leading-relaxed);color:var(--color-text-tertiary)}code,pre,.clause-id{font-family:var(--font-mono);background:var(--color-surface-inset);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);padding:.1em .4em;font-size:.9em}pre{padding:var(--space-4);overflow-x:auto}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-inverse{color:var(--color-text-inverse)}.text-purple{color:var(--color-purple)}.text-sage{color:var(--color-sage)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.bg-base{background-color:var(--color-surface-base)}.bg-raised{background-color:var(--color-surface-raised)}.bg-black{background-color:var(--color-black)}.bg-purple-tint{background-color:var(--color-purple-light)}.bg-sage-tint{background-color:var(--color-sage-light)}.font-serif{font-family:var(--font-serif)}.font-sans{font-family:var(--font-sans)}.font-mono{font-family:var(--font-mono)}.font-light{font-weight:var(--weight-light)}.font-regular{font-weight:var(--weight-regular)}.font-medium{font-weight:var(--weight-medium)}.font-semibold{font-weight:var(--weight-semibold)}.font-bold{font-weight:var(--weight-bold)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.divider{background-color:var(--color-border-default);height:1px;margin:var(--space-6) 0;border:none}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.app-sidebar{width:var(--sidebar-width);background-color:var(--color-black);border-right:1px solid var(--color-black-border);height:100vh;padding:var(--space-6) 0;z-index:var(--z-sticky);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-logo{padding:0 var(--space-6);margin-bottom:var(--space-8)}.sidebar-logo img{width:auto;height:28px}.sidebar-section{padding:0 var(--space-3);margin-bottom:var(--space-6)}.sidebar-section-label{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-text-inverse-secondary);padding:0 var(--space-3);margin-bottom:var(--space-2)}.sidebar-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-inverse-secondary);cursor:pointer;transition:background-color var(--transition-base), color var(--transition-base);text-align:left;background:0 0;border:none;width:100%;text-decoration:none;display:flex}.sidebar-item:hover{background-color:var(--color-black-surface);color:var(--color-text-inverse)}.sidebar-item.active{color:var(--color-text-inverse);background-color:#7b6b8d26}.sidebar-divider{background-color:var(--color-black-border);height:1px;margin:var(--space-4) var(--space-3)}.sidebar-footer{padding:var(--space-3) var(--space-6);gap:var(--space-2);flex-direction:column;margin-top:auto;display:flex}.sidebar-user-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-inverse)}.sidebar-user-role{font-size:var(--text-xs);color:var(--color-text-inverse-secondary);text-transform:capitalize}.app-content{margin-left:var(--sidebar-width);background-color:var(--color-surface-base);min-height:100vh}.app-topbar{background-color:var(--color-surface-raised);border-bottom:1px solid var(--color-border-default);height:60px;padding:0 var(--space-8);z-index:var(--z-sticky);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar-title{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-text-primary);letter-spacing:var(--tracking-tight)}.topbar-actions{align-items:center;gap:var(--space-3);display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);cursor:pointer;transition:background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex;position:relative}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--color-purple);color:var(--color-ivory-soft);border-color:var(--color-purple)}.btn-primary:hover{background-color:var(--color-purple-dark);border-color:var(--color-purple-dark)}.btn-primary:active{background-color:var(--color-purple-dark);transform:translateY(1px)}.btn-secondary{color:var(--color-text-primary);border-color:var(--color-border-strong);background-color:#0000}.btn-secondary:hover{background-color:var(--color-surface-overlay);border-color:var(--color-text-secondary)}.btn-ghost{color:var(--color-text-secondary);background-color:#0000;border-color:#0000}.btn-ghost:hover{background-color:var(--color-surface-overlay);color:var(--color-text-primary)}.btn-danger{color:var(--color-error);border-color:var(--color-error);background-color:#0000}.btn-danger:hover{background-color:var(--color-error-light)}.btn-dark{background-color:var(--color-ivory);color:var(--color-black);border-color:var(--color-ivory)}.btn-dark:hover{background-color:var(--color-ivory-soft)}.btn-sm{font-size:var(--text-xs);padding:var(--space-2) var(--space-4)}.btn-lg{font-size:var(--text-base);padding:var(--space-4) var(--space-8);border-radius:var(--radius-lg)}.btn.loading{opacity:.7;cursor:wait;pointer-events:none}.field{gap:var(--space-2);flex-direction:column;display:flex}.field-label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-primary)}.field-label.required:after{content:"*";color:var(--color-error);margin-left:var(--space-1)}.input,.textarea,.select{width:100%;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--color-text-primary);background-color:var(--color-surface-raised);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);line-height:var(--leading-normal);transition:border-color var(--transition-base), box-shadow var(--transition-base);appearance:none;outline:none}.input:hover,.textarea:hover,.select:hover{border-color:var(--color-border-strong)}.input:focus,.textarea:focus,.select:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px #7b6b8d1f}.input::placeholder,.textarea::placeholder{color:var(--color-text-disabled)}.input.error,.textarea.error,.select.error{border-color:var(--color-error)}.field-error{font-size:var(--text-xs);color:var(--color-error);align-items:center;gap:var(--space-1);display:flex}.field-hint{font-size:var(--text-xs);color:var(--color-text-tertiary);line-height:var(--leading-normal)}.textarea{resize:vertical;min-height:100px}.select-wrapper{position:relative}.select-wrapper:after{content:"";right:var(--space-4);border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--color-text-secondary);pointer-events:none;width:0;height:0;position:absolute;top:50%;transform:translateY(-50%)}.checkbox-label,.radio-label{align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-primary);cursor:pointer;display:flex}.checkbox-input,.radio-input{width:16px;height:16px;accent-color:var(--color-purple);cursor:pointer;flex-shrink:0}.search-input-wrapper{position:relative}.search-input-wrapper .input{padding-left:var(--space-10)}.search-icon{left:var(--space-3);color:var(--color-text-tertiary);pointer-events:none;width:16px;height:16px;position:absolute;top:50%;transform:translateY(-50%)}.card{background-color:var(--color-surface-raised);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-smooth), border-color var(--transition-smooth)}.card:hover{box-shadow:var(--shadow-md)}.card-interactive{cursor:pointer}.card-interactive:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.card-interactive:active{box-shadow:var(--shadow-sm);transform:translateY(1px)}.stat-card{background-color:var(--color-surface-raised);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--space-6)}.stat-card-value{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--color-text-primary);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-2);line-height:1}.stat-card-label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:var(--weight-medium)}.stat-card-delta{font-size:var(--text-xs);font-weight:var(--weight-medium);margin-top:var(--space-2)}.stat-card-delta.positive{color:var(--color-success)}.stat-card-delta.negative{color:var(--color-error)}.badge{align-items:center;gap:var(--space-1);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);border-radius:var(--radius-full);white-space:nowrap;padding:.25em .6em;line-height:1;display:inline-flex}.badge-success{background-color:var(--color-sage-light);color:var(--color-sage-dark)}.badge-warning{background-color:var(--color-warning-light);color:#8b6614}.badge-error{background-color:var(--color-error-light);color:var(--color-error)}.badge-neutral{background-color:var(--color-surface-overlay);color:var(--color-text-secondary)}.badge-ai{background-color:var(--color-purple-light);color:var(--color-purple-dark)}.status-dot{border-radius:var(--radius-full);flex-shrink:0;width:6px;height:6px}.status-dot.active{background-color:var(--color-sage)}.status-dot.pending{background-color:var(--color-warning)}.status-dot.expired{background-color:var(--color-error)}.status-dot.draft{background-color:var(--color-text-tertiary)}.status-dot.ai{background-color:var(--color-purple)}.table-container{border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background-color:var(--color-surface-raised);width:100%;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.table-head th{padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-secondary);background-color:var(--color-surface-base);border-bottom:1px solid var(--color-border-default);text-align:left;white-space:nowrap}.table-body tr{border-bottom:1px solid var(--color-border-default);transition:background-color var(--transition-fast)}.table-body tr:last-child{border-bottom:none}.table-body tr:hover{background-color:var(--color-surface-base)}.table-body td{padding:var(--space-4);color:var(--color-text-primary);vertical-align:middle}.table-head th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table-head th.sortable:hover{color:var(--color-text-primary)}.table-head th.sort-active{color:var(--color-purple)}.modal-backdrop{z-index:var(--z-overlay);padding:var(--space-6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0d0d0d99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background-color:var(--color-surface-raised);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:560px;max-height:90vh;z-index:var(--z-modal);flex-direction:column;display:flex;overflow-y:auto}.modal-header{padding:var(--space-6) var(--space-6) var(--space-4);border-bottom:1px solid var(--color-border-default);justify-content:space-between;align-items:center;display:flex}.modal-title{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-text-primary);letter-spacing:var(--tracking-tight)}.modal-close{cursor:pointer;border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-tertiary);transition:background-color var(--transition-base), color var(--transition-base);font-size:var(--text-lg);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.modal-close:hover{background-color:var(--color-surface-overlay);color:var(--color-text-primary)}.modal-body{padding:var(--space-6);flex:1;overflow-y:auto}.modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-default);background-color:var(--color-surface-base);border-radius:0 0 var(--radius-xl) var(--radius-xl);display:flex}.toast-container{bottom:var(--space-6);right:var(--space-6);gap:var(--space-3);z-index:var(--z-toast);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-3);background-color:var(--color-black);color:var(--color-text-inverse);border:1px solid var(--color-black-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-xl);pointer-events:all;min-width:300px;max-width:420px;animation:.2s toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-message{font-size:var(--text-sm);line-height:var(--leading-normal);flex:1}.toast-title{font-weight:var(--weight-semibold);margin-bottom:var(--space-1)}.toast-actions{gap:var(--space-2);margin-top:var(--space-3);display:flex}.toast-dismiss{color:var(--color-text-inverse-secondary);cursor:pointer;font-size:var(--text-base);background:0 0;border:none;padding:0;line-height:1}.toast-dismiss:hover{color:var(--color-text-inverse)}.page-header{padding:var(--space-8) 0 var(--space-6);border-bottom:1px solid var(--color-border-default);margin-bottom:var(--space-8)}.page-header-inner{justify-content:space-between;align-items:flex-start;gap:var(--space-6);display:flex}.page-header-title{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--color-text-primary);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.page-header-subtitle{font-size:var(--text-base);color:var(--color-text-secondary);margin-top:var(--space-2);line-height:var(--leading-normal)}.page-header-actions{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.breadcrumb{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-4);display:flex}.breadcrumb-item{color:var(--color-text-tertiary);transition:color var(--transition-base);text-decoration:none}.breadcrumb-item:hover{color:var(--color-text-primary)}.breadcrumb-separator{color:var(--color-text-disabled);font-size:var(--text-xs)}.breadcrumb-item.current{color:var(--color-text-primary);font-weight:var(--weight-medium)}.empty-state{text-align:center;padding:var(--space-24) var(--space-8);justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.empty-state-title{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-text-primary)}.empty-state-description{font-size:var(--text-sm);color:var(--color-text-secondary);max-width:40ch;line-height:var(--leading-relaxed)}.kanban-board{gap:var(--space-4);padding-bottom:var(--space-4);display:flex;overflow-x:auto}.kanban-column{gap:var(--space-3);flex-direction:column;flex:0 0 260px;display:flex}.kanban-column-header{padding:0 var(--space-1);justify-content:space-between;align-items:center;display:flex}.kanban-column-title{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-secondary)}.kanban-column-count{font-size:var(--text-xs);color:var(--color-text-tertiary)}.kanban-column-body{gap:var(--space-3);flex-direction:column;min-height:40px;display:flex}.deal-card{gap:var(--space-2);padding:var(--space-4);flex-direction:column;display:flex}.deal-card-title{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-primary)}.deal-card-company{font-size:var(--text-xs);color:var(--color-text-secondary)}.deal-card-meta{margin-top:var(--space-2);justify-content:space-between;align-items:center;display:flex}.deal-card-meta-item{font-size:var(--text-xs);color:var(--color-text-tertiary)}.deal-card-value{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-secondary)}
