:root{--color-bg: #f4f5f7;--color-surface: #ffffff;--color-surface-muted: #eef0f3;--color-text: #1d2330;--color-text-muted: #5b6475;--color-border: #d5d9e0;--color-border-strong: #a9b0bd;--color-overlay: rgba(17, 22, 32, .45);--color-accent: #1f4fd1;--color-accent-hover: #1a43b3;--color-accent-contrast: #ffffff;--color-accent-soft: #e6ecfb;--color-success: #1d7a46;--color-success-soft: #e3f4ea;--color-warning: #b25400;--color-warning-soft: #fdeedd;--color-danger: #c2312a;--color-danger-hover: #a52822;--color-danger-soft: #fbe6e5;--color-info: #1f62a8;--color-info-soft: #e3eefa;--color-neutral: #5b6475;--color-neutral-soft: #eceef2;--focus-ring: 0 0 0 3px rgba(31, 79, 209, .45);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(17, 22, 32, .08);--shadow-md: 0 4px 16px rgba(17, 22, 32, .12);--shadow-lg: 0 12px 40px rgba(17, 22, 32, .22);--font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-xs: 13px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 22px;--font-size-2xl: 28px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 650;--line-height: 1.5;--line-height-tight: 1.25;--touch-min: 44px;--content-max: 1120px;--form-max: 420px;--header-height: 60px;--transition: .15s ease}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;background:var(--color-bg);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height)}h1,h2,h3{margin:0 0 var(--space-4);line-height:var(--line-height-tight);font-weight:var(--font-weight-bold)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}p{margin:0 0 var(--space-4)}a{color:var(--color-accent)}a:hover{color:var(--color-accent-hover)}:focus-visible{outline:none;box-shadow:var(--focus-ring)}form+p{margin-top:var(--space-4)}.muted{color:var(--color-text-muted)}.small{font-size:var(--font-size-sm)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.stack>*+*{margin-top:var(--space-4)}.row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.section{margin-bottom:var(--space-6)}.section-title{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.section-title h2{margin:0}.loading{padding:var(--space-6) 0;color:var(--color-text-muted);text-align:center}.auth-page{display:grid;min-height:100vh;place-items:center;padding:var(--space-4)}.auth-page__inner{width:100%;max-width:var(--form-max)}.auth-page__brand{margin-bottom:var(--space-5);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);text-align:center}.app-header{position:sticky;top:0;z-index:20;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-header__inner{display:flex;align-items:center;gap:var(--space-4);max-width:var(--content-max);min-height:var(--header-height);margin:0 auto;padding:0 var(--space-4)}.app-header__brand{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);text-decoration:none;white-space:nowrap}.app-header__brand small{margin-left:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase}.app-header .app-header__toggle{display:none;margin-left:auto}.app-nav{display:flex;flex:1;align-items:center;gap:var(--space-1)}.app-nav__main,.app-nav__user{display:flex;align-items:center;gap:var(--space-1);margin:0;padding:0;list-style:none}.app-nav__user{margin-left:auto}.app-nav a,.app-nav button{display:inline-flex;align-items:center;min-height:var(--touch-min);padding:0 var(--space-3);border:0;border-radius:var(--radius-md);background:none;color:var(--color-text);font:inherit;text-decoration:none;cursor:pointer}.app-nav a:hover,.app-nav button:hover{background:var(--color-surface-muted)}.app-nav a[aria-current=page]{background:var(--color-accent-soft);color:var(--color-accent);font-weight:var(--font-weight-medium)}.app-main{max-width:var(--content-max);margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-7)}.app-footer{max-width:var(--content-max);margin:0 auto;padding:var(--space-4);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-sm)}.app-footer ul{display:flex;flex-wrap:wrap;gap:var(--space-4);margin:0;padding:0;list-style:none}.app-footer a{color:inherit}.page-header{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.page-header h1{margin:0}@media(max-width:800px){.app-header__inner{flex-wrap:wrap}.app-header .app-header__toggle{display:inline-flex}.app-nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;padding-bottom:var(--space-3)}.app-nav.is-open{display:flex}.app-nav__main,.app-nav__user{flex-direction:column;align-items:stretch;margin-left:0}.app-nav__user{padding-top:var(--space-2);border-top:1px solid var(--color-border)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-min);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font:inherit;font-weight:var(--font-weight-medium);text-decoration:none;cursor:pointer;transition:background var(--transition),border-color var(--transition)}.btn--primary{background:var(--color-accent);color:var(--color-accent-contrast)}.btn--primary:hover{background:var(--color-accent-hover);color:var(--color-accent-contrast)}.btn--secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.btn--secondary:hover{background:var(--color-surface-muted);color:var(--color-text)}.btn--danger{background:var(--color-danger);color:var(--color-accent-contrast)}.btn--danger:hover{background:var(--color-danger-hover);color:var(--color-accent-contrast)}.btn--link{min-height:auto;padding:0;background:none;color:var(--color-accent);text-decoration:underline}.btn--block{width:100%}.btn--small{min-height:36px;padding:0 var(--space-3);font-size:var(--font-size-sm)}.btn:disabled,.btn[aria-busy=true]{opacity:.6;cursor:not-allowed}.card{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.card__title{margin-bottom:var(--space-3)}.card>:last-child{margin-bottom:0}.badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--color-neutral-soft);color:var(--color-neutral);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.badge--success{background:var(--color-success-soft);color:var(--color-success)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge--info{background:var(--color-info-soft);color:var(--color-info)}.badge--accent{background:var(--color-accent-soft);color:var(--color-accent)}.alert{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border-left:4px solid var(--color-info);border-radius:var(--radius-md);background:var(--color-info-soft)}.alert--success{border-color:var(--color-success);background:var(--color-success-soft)}.alert--warning{border-color:var(--color-warning);background:var(--color-warning-soft)}.alert--danger{border-color:var(--color-danger);background:var(--color-danger-soft)}.alert>:last-child{margin-bottom:0}.table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.table th,.table td{padding:var(--space-3);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.table th{background:var(--color-surface-muted);color:var(--color-text-muted);font-weight:var(--font-weight-medium);white-space:nowrap}.table tr:last-child td{border-bottom:0}.field{margin-bottom:var(--space-4)}.field label,.field legend{display:block;margin-bottom:var(--space-1);font-weight:var(--font-weight-medium)}.field fieldset{margin:0;padding:0;border:0}.input{width:100%;min-height:var(--touch-min);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit}textarea.input{min-height:96px;resize:vertical}.input:focus-visible{border-color:var(--color-accent)}.input[aria-invalid=true]{border-color:var(--color-danger)}.field__hint{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.field__error{margin:var(--space-1) 0 0;color:var(--color-danger);font-size:var(--font-size-sm)}.field__error:empty{display:none}.check{display:flex;align-items:center;gap:var(--space-2);min-height:var(--touch-min);font-weight:var(--font-weight-normal);cursor:pointer}.check input{width:20px;height:20px;margin:0;accent-color:var(--color-accent)}.form-error{margin-bottom:var(--space-4)}.form-error:empty{display:none}.modal{width:min(560px,calc(100vw - 2 * var(--space-4)));max-height:calc(100vh - 2 * var(--space-4));padding:0;border:0;border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-lg)}.modal::backdrop{background:var(--color-overlay)}.modal__body{padding:var(--space-5)}.modal__title{margin-bottom:var(--space-3)}.modal__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end;padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface-muted)}.toasts{position:fixed;right:var(--space-4);bottom:var(--space-4);left:var(--space-4);z-index:100;display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);pointer-events:none}.toast{max-width:420px;padding:var(--space-3) var(--space-4);border-left:4px solid var(--color-info);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);pointer-events:auto}.toast--success{border-color:var(--color-success)}.toast--error{border-color:var(--color-danger)}.empty{padding:var(--space-6) var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);color:var(--color-text-muted);text-align:center}.empty>:last-child{margin-bottom:0}.progress{height:8px;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-surface-muted)}.progress__bar{width:0;height:100%;border-radius:var(--radius-pill);background:var(--color-accent);transition:width var(--transition)}.progress--success .progress__bar{background:var(--color-success)}.progress-label{display:flex;justify-content:space-between;margin-bottom:var(--space-1);font-size:var(--font-size-sm)}.tabs__list{display:flex;gap:var(--space-1);margin-bottom:var(--space-4);overflow-x:auto;border-bottom:1px solid var(--color-border)}.tabs__tab{min-height:var(--touch-min);padding:0 var(--space-4);border:0;border-bottom:3px solid transparent;background:none;color:var(--color-text-muted);font:inherit;white-space:nowrap;cursor:pointer}.tabs__tab[aria-selected=true]{border-bottom-color:var(--color-accent);color:var(--color-text);font-weight:var(--font-weight-medium)}.dropzone{padding:var(--space-5);border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);text-align:center;transition:background var(--transition),border-color var(--transition)}.dropzone.is-dragover{border-color:var(--color-accent);background:var(--color-accent-soft)}.dropzone p{margin-bottom:var(--space-3);color:var(--color-text-muted)}.file-row{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-2) var(--space-3);align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.file-row__icon{color:var(--color-text-muted)}.file-row__name{overflow:hidden;font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap}.file-row__meta{color:var(--color-text-muted);font-size:var(--font-size-sm)}.file-row__progress{grid-column:2 / 4}.tile{display:flex;flex-direction:column;gap:var(--space-3)}.tile__head{display:flex;gap:var(--space-2);align-items:center;justify-content:space-between}.tile__head h3{margin:0}.tile__value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.tile__link{margin-top:auto}.contact-card{display:flex;gap:var(--space-4);align-items:flex-start}.contact-card__photo{display:grid;flex:none;width:64px;height:64px;place-items:center;border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent);font-weight:var(--font-weight-bold);object-fit:cover}.contact-card>div{min-width:0}.contact-card__name{margin:0;font-weight:var(--font-weight-bold)}.contact-card__links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-top:var(--space-2)}.contact-card__links a{display:inline-flex;overflow-wrap:anywhere;gap:var(--space-1);align-items:center;min-height:var(--touch-min)}.lead-card{padding:var(--space-4);border:1px solid var(--color-border);border-left:4px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.lead-card--overdue{border-left-color:var(--color-warning)}.lead-card__head{display:flex;gap:var(--space-2);align-items:baseline;justify-content:space-between}.lead-card__name{margin:0;font-weight:var(--font-weight-bold)}.lead-card__meta{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.lead-card__overdue{margin:var(--space-2) 0 0;color:var(--color-warning);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.autosave{color:var(--color-text-muted);font-size:var(--font-size-sm)}.autosave--error{color:var(--color-danger)}.icon{flex:none;width:20px;height:20px}.list-plain{margin:0;padding:0;list-style:none}.list-plain li+li{margin-top:var(--space-2)}a.lead-card{display:block;color:inherit;text-decoration:none}a.lead-card:hover{border-color:var(--color-border-strong)}
