:root{color-scheme:light;--bg: #edf1ec;--surface: #fbfcfa;--surface-2: #f3f6f1;--surface-3: #e8eee7;--ink: #18251f;--ink-soft: #3b4c42;--muted: #5a6a60;--line: #d3dcd3;--line-strong: #b9c6bb;--primary: #1f4438;--primary-hover: #17352b;--primary-ink: #f4f8f2;--accent: #a76b2b;--accent-ink: #855321;--accent-soft: #f1e4d3;--danger: #9d352b;--danger-hover: #842a22;--danger-soft: #f6e3df;--success: #2f6d4b;--success-soft: #e1efe5;--warning: #855321;--warning-soft: #f4e9d6;--focus: #1f4438;--shadow: 0 1px 2px rgba(24, 37, 31, .06), 0 10px 30px rgba(24, 37, 31, .07);--shadow-soft: 0 1px 2px rgba(24, 37, 31, .05);--radius: 14px;--radius-sm: 9px;--radius-pill: 999px;--font-ui: "Segoe UI", "SF Pro Text", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, "Times New Roman", serif;--step-0: .95rem;--step-1: 1.05rem;--step-2: 1.3rem;--step-3: clamp(1.6rem, 1.3rem + 1vw, 2.1rem);--step-4: clamp(2.1rem, 1.5rem + 2.2vw, 3.2rem);--space-1: .35rem;--space-2: .6rem;--space-3: .9rem;--space-4: 1.25rem;--space-5: 1.8rem;--space-6: 2.6rem;--space-7: 3.6rem;--ease: cubic-bezier(.2, .7, .3, 1);--dur: .13s}:root[data-theme=dark]{color-scheme:dark;--bg: #0e1512;--surface: #15201b;--surface-2: #1a2721;--surface-3: #223229;--ink: #e7eee8;--ink-soft: #c8d5cb;--muted: #9fb0a5;--line: #2a3831;--line-strong: #3b4d43;--primary: #347655;--primary-hover: #3f8863;--primary-ink: #f3f8f4;--accent: #d8a463;--accent-ink: #e4b87f;--accent-soft: #33291c;--danger: #d07368;--danger-hover: #db8a80;--danger-soft: #35201d;--success: #6fbd90;--success-soft: #1b2f24;--warning: #d8a463;--warning-soft: #33291c;--focus: #b9d8c6;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 16px 36px rgba(0, 0, 0, .28);--shadow-soft: 0 1px 2px rgba(0, 0, 0, .25)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0e1512;--surface: #15201b;--surface-2: #1a2721;--surface-3: #223229;--ink: #e7eee8;--ink-soft: #c8d5cb;--muted: #9fb0a5;--line: #2a3831;--line-strong: #3b4d43;--primary: #347655;--primary-hover: #3f8863;--primary-ink: #f3f8f4;--accent: #d8a463;--accent-ink: #e4b87f;--accent-soft: #33291c;--danger: #d07368;--danger-hover: #db8a80;--danger-soft: #35201d;--success: #6fbd90;--success-soft: #1b2f24;--warning: #d8a463;--warning-soft: #33291c;--focus: #b9d8c6;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 16px 36px rgba(0, 0, 0, .28);--shadow-soft: 0 1px 2px rgba(0, 0, 0, .25)}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:clip;background:var(--bg);color:var(--ink);font:var(--step-0) / 1.55 var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body,#root{min-height:100dvh}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;line-height:1.16;overflow-wrap:break-word;min-width:0}h1{font-size:var(--step-4)}h2{font-size:var(--step-2)}h3{font-size:var(--step-1)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img,svg{display:block;max-width:100%}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-soft);color:var(--ink)}.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}.muted{color:var(--muted)}.small{font-size:.86rem}.tnum{font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.shell{display:grid;grid-template-columns:256px minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5) var(--space-4);background:var(--primary);color:var(--primary-ink);overflow-y:auto;z-index:40}.brand{display:flex;align-items:center;gap:.7rem;padding:0 .45rem}.brand-mark{width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,var(--primary-ink) 12%,transparent);display:grid;place-items:center;flex:none}.brand-name{font-family:var(--font-display);font-size:1.35rem;line-height:1.05;letter-spacing:.01em}.brand-sub{display:block;font-family:var(--font-ui);font-size:.72rem;letter-spacing:.02em;opacity:.72;margin-top:.2rem}.nav{display:flex;flex-direction:column;gap:2px}.nav a{display:flex;align-items:center;gap:.65rem;padding:.58rem .65rem;border-radius:9px;font-size:.93rem;color:color-mix(in srgb,var(--primary-ink) 82%,transparent);transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.nav a:hover{background:color-mix(in srgb,var(--primary-ink) 9%,transparent);color:var(--primary-ink)}.nav a[aria-current=page]{background:color-mix(in srgb,var(--primary-ink) 14%,transparent);color:var(--primary-ink);font-weight:600}.nav svg{width:18px;height:18px;flex:none;opacity:.9}.sidebar-foot{margin-top:auto;padding:.9rem .65rem 0;border-top:1px solid color-mix(in srgb,var(--primary-ink) 16%,transparent);font-size:.78rem;line-height:1.45;opacity:.78}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--space-3);padding:.85rem var(--space-5);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar-title{font-size:.95rem;font-weight:600;color:var(--ink-soft)}.topbar-spacer{flex:1}.menu-button{display:none}.user-chip{display:flex;align-items:center;gap:.55rem;padding:.35rem .6rem .35rem .35rem;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-size:.88rem}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface-3);color:var(--ink);font-weight:700;font-size:.78rem;flex:none}.avatar.lg{width:52px;height:52px;font-size:1.05rem}.user-menu{position:relative}.user-menu>summary{list-style:none;cursor:pointer}.user-menu>summary::-webkit-details-marker{display:none}.user-menu[open]>summary .user-chip{border-color:var(--line-strong)}.menu-panel{position:absolute;right:0;top:calc(100% + .5rem);min-width:230px;padding:.55rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);z-index:50}.menu-panel .who{padding:.55rem .6rem .7rem;border-bottom:1px solid var(--line);margin-bottom:.35rem}.menu-panel .who strong{display:block;font-size:.92rem}.menu-panel .who span{display:block;font-size:.78rem;color:var(--muted);margin-top:.15rem}.menu-item{display:flex;width:100%;align-items:center;gap:.55rem;padding:.55rem .6rem;border:0;background:transparent;border-radius:7px;text-align:left;font-size:.9rem}.menu-item:hover{background:var(--surface-2)}.menu-item svg{width:16px;height:16px}.scrim{display:none}.page{width:100%;max-width:1200px;margin:0 auto;padding:var(--space-5) var(--space-5) var(--space-7);min-width:0}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.page-header h1{font-size:var(--step-3)}.page-header .lede{color:var(--muted);max-width:62ch;margin-top:.35rem;font-size:.95rem}.eyebrow{font-size:.78rem;color:var(--muted);margin-bottom:.35rem}.breadcrumb{display:flex;align-items:center;gap:.45rem;font-size:.84rem;color:var(--muted);margin-bottom:var(--space-3);flex-wrap:wrap}.breadcrumb a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.breadcrumb svg{width:14px;height:14px}.row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.row.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.grid{display:grid;gap:var(--space-4)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.split{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:var(--space-4);align-items:start}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:40px;padding:.55rem .95rem;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:.9rem;font-weight:600;line-height:1.2;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn svg{width:16px;height:16px;flex:none}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-ghost{background:transparent;border-color:var(--line)}.btn-ghost:hover{background:var(--surface-2);border-color:var(--line-strong)}.btn-subtle{background:var(--surface-2);border-color:var(--line)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.btn-danger-ghost{background:transparent;border-color:color-mix(in srgb,var(--danger) 45%,var(--line));color:var(--danger)}.btn-danger-ghost:hover{background:var(--danger-soft)}.btn-sm{min-height:32px;padding:.3rem .65rem;font-size:.82rem}.btn-icon{width:38px;height:38px;padding:0;min-height:38px}.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.btn-loading .spinner{width:15px;height:15px}.field{display:flex;flex-direction:column;gap:.3rem}.field>label,.field-label{font-size:.82rem;font-weight:600;color:var(--ink-soft)}.field .hint{font-size:.78rem;color:var(--muted)}.field .error{font-size:.8rem;color:var(--danger)}.input,.select,.textarea{width:100%;min-height:42px;padding:.55rem .7rem;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease)}.input:hover,.select:hover,.textarea:hover{border-color:color-mix(in srgb,var(--line-strong) 70%,var(--ink))}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--focus)}.textarea{min-height:96px;resize:vertical}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.input::placeholder,.textarea::placeholder{color:color-mix(in srgb,var(--muted) 75%,transparent)}.search{position:relative;min-width:220px;flex:1}.search svg{position:absolute;left:.7rem;top:50%;width:17px;height:17px;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search .input{padding-left:2.1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.form-grid .full{grid-column:1 / -1}.form-error{display:flex;gap:.5rem;align-items:flex-start;padding:.7rem .8rem;border:1px solid color-mix(in srgb,var(--danger) 40%,var(--line));border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:.86rem}.form-error svg{width:17px;height:17px;flex:none;margin-top:1px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);min-width:0}.card.tight{padding:var(--space-3)}.card-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.card-title h2,.card-title h3{font-size:1.08rem;font-family:var(--font-ui);font-weight:700;letter-spacing:0}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin:var(--space-5) 0 var(--space-3)}.section-title h2{font-size:1.22rem}.metrics{display:grid;grid-template-columns:minmax(0,1.55fr) repeat(3,minmax(0,1fr));gap:var(--space-3)}.metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);display:flex;flex-direction:column;gap:.2rem;min-width:0}.metric-label{font-size:.8rem;color:var(--muted)}.metric-value{font-size:clamp(1.55rem,1.2rem + 1vw,2.2rem);font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.metric-foot{font-size:.78rem;color:var(--muted);margin-top:auto;padding-top:.4rem}.metric.hero{background:var(--primary);border-color:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow);position:relative;overflow:hidden;min-height:156px;justify-content:flex-end}.metric.hero:after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(115deg,transparent 0 22px,rgba(255,255,255,.05) 22px 23px);pointer-events:none}.metric.hero .metric-label,.metric.hero .metric-foot{color:color-mix(in srgb,var(--primary-ink) 74%,transparent)}.metric.hero .metric-value{font-size:clamp(2.4rem,1.8rem + 2vw,3.4rem);font-family:var(--font-display);font-weight:600}.pipeline{display:flex;height:44px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--line);background:var(--surface-2)}.pipeline-seg{display:flex;align-items:center;justify-content:center;min-width:0;font-size:.75rem;font-weight:600;color:var(--ink-soft);border-right:1px solid var(--line);overflow:hidden}.pipeline-seg:last-child{border-right:0}.pipeline-seg[data-zero=true]{color:var(--muted);background:var(--surface-2)}.pipeline-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.5rem 1rem;margin-top:var(--space-3);list-style:none;padding:0}.pipeline-legend a{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .2rem;font-size:.84rem;border-bottom:1px solid var(--line)}.pipeline-legend a:hover{color:var(--accent-ink)}.pipeline-legend b{font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}table.table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:640px}.table thead th{position:sticky;top:0;z-index:2;text-align:left;font-size:.74rem;font-weight:700;color:var(--muted);background:var(--surface-2);padding:.6rem .85rem;border-bottom:1px solid var(--line);white-space:nowrap}.table tbody td{padding:.7rem .85rem;border-bottom:1px solid var(--line);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background-color var(--dur) var(--ease)}.table tbody tr:hover{background:var(--surface-2)}.table tbody tr:focus-within{background:var(--surface-2)}.table .primary-cell{display:flex;flex-direction:column;gap:.1rem;min-width:0}.table .primary-cell strong{font-weight:600}.table .primary-cell span{font-size:.78rem;color:var(--muted)}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table .actions{text-align:right;white-space:nowrap}.table a.row-link{display:block;color:inherit}.table a.row-link:hover strong{color:var(--accent-ink);text-decoration:underline;text-underline-offset:2px}.table-empty{padding:var(--space-6) var(--space-4);text-align:center}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.16rem .55rem;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface-2);font-size:.74rem;font-weight:600;color:var(--ink-soft);white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.55}.badge.no-dot:before{display:none}.badge[data-stage=new]{color:var(--accent-ink);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.badge[data-stage=measurement],.badge[data-stage=estimate]{color:var(--ink-soft);background:var(--surface-2)}.badge[data-stage=contract],.badge[data-stage=production]{color:var(--success);background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 30%,var(--line))}.badge[data-stage=installation]{color:var(--warning);background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 30%,var(--line))}.badge[data-stage=done]{color:var(--success);background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 30%,var(--line))}.badge[data-stage=cancelled]{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 30%,var(--line))}.badge.status-sent{color:var(--success);background:var(--success-soft)}.badge.status-failed{color:var(--danger);background:var(--danger-soft)}.badge.status-pending{color:var(--warning);background:var(--warning-soft)}.filters{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:var(--space-3)}.chip{display:inline-flex;align-items:center;gap:.35rem;min-height:34px;padding:.3rem .7rem;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-size:.82rem;color:var(--ink-soft);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.chip:hover{background:var(--surface-2);border-color:var(--line-strong)}.chip[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--primary-ink);font-weight:600}.chip b{font-variant-numeric:tabular-nums;font-weight:600}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.55rem;padding:var(--space-6) var(--space-4);color:var(--muted)}.empty .empty-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-soft)}.empty .empty-icon svg{width:22px;height:22px}.empty h3{font-family:var(--font-ui);font-size:1rem;color:var(--ink)}.empty p{max-width:46ch;font-size:.9rem}.skeleton{background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-3) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:8px}.skeleton-line{height:14px;margin:.5rem 0}.skeleton-card{height:110px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.error-state{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;padding:var(--space-5);border:1px solid color-mix(in srgb,var(--danger) 32%,var(--line));border-radius:var(--radius);background:var(--danger-soft);color:var(--danger)}.error-state h3{font-family:var(--font-ui);font-size:1rem;color:var(--danger)}.spinner{display:inline-block;width:22px;height:22px;border:2px solid color-mix(in srgb,var(--ink) 20%,transparent);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.detail-title{display:flex;align-items:center;gap:.8rem;min-width:0}.detail-title h1{font-size:var(--step-3)}.detail-meta{display:flex;gap:var(--space-3);flex-wrap:wrap;color:var(--muted);font-size:.86rem;margin-top:.35rem}.detail-meta span{display:inline-flex;align-items:center;gap:.3rem}.detail-meta svg{width:15px;height:15px}.definition{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3)}.definition .term{font-size:.76rem;color:var(--muted);margin-bottom:.15rem}.definition .value{font-size:.92rem;overflow-wrap:anywhere}.history{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.history li{position:relative;padding:0 0 var(--space-4) 1.35rem;border-left:1px solid var(--line);margin-left:.4rem}.history li:last-child{border-left-color:transparent;padding-bottom:0}.history li:before{content:"";position:absolute;left:-5px;top:.35rem;width:9px;height:9px;border-radius:50%;background:var(--surface);border:2px solid var(--line-strong)}.history li:first-child:before{border-color:var(--accent);background:var(--accent)}.history .when{font-size:.76rem;color:var(--muted)}.history .what{font-size:.9rem}.history .why{font-size:.82rem;color:var(--muted);margin-top:.15rem}.stepper{display:flex;gap:0;overflow-x:auto;padding-bottom:.35rem}.step{position:relative;flex:1;min-width:92px;padding:.6rem .6rem .55rem;border-top:3px solid var(--line);font-size:.78rem;color:var(--muted)}.step.done{border-top-color:var(--success);color:var(--ink-soft)}.step.current{border-top-color:var(--accent);color:var(--ink);font-weight:700}.step .step-index{display:block;font-size:.7rem;opacity:.7;font-variant-numeric:tabular-nums}.step.cancelled{border-top-color:var(--danger);color:var(--danger);font-weight:700}dialog.modal{width:min(580px,calc(100% - 2rem));border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);padding:0;box-shadow:var(--shadow)}dialog.modal::backdrop{background:#0e151280;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}dialog.modal[open]{animation:dialog-in .16s var(--ease)}@keyframes dialog-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.modal-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);max-height:82dvh;overflow-y:auto}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.modal-head h2{font-size:1.28rem}.modal-foot{display:flex;justify-content:flex-end;gap:.55rem;padding:var(--space-3) var(--space-5);border-top:1px solid var(--line);background:var(--surface-2)}.toasts{position:fixed;right:1rem;bottom:1rem;z-index:100;display:flex;flex-direction:column;gap:.5rem;max-width:min(380px,calc(100% - 2rem))}.toast{display:flex;align-items:flex-start;gap:.55rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow);font-size:.88rem;animation:toast-in .18s var(--ease)}.toast svg{width:18px;height:18px;flex:none;margin-top:1px}.toast.ok svg{color:var(--success)}.toast.err{border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}.toast.err svg{color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}.login{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.login-brand{background:var(--primary);color:var(--primary-ink);padding:var(--space-7) var(--space-6);display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-6);position:relative;overflow:hidden}.login-brand:after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(115deg,transparent 0 28px,rgba(255,255,255,.045) 28px 29px),repeating-linear-gradient(25deg,transparent 0 28px,rgba(255,255,255,.03) 28px 29px);pointer-events:none}.login-brand>*{position:relative;z-index:1}.login-brand .brand{padding:0}.login-heading{font-size:clamp(2.2rem,1.5rem + 2.2vw,3.4rem);max-width:16ch;line-height:1.08;font-family:var(--font-display);font-weight:600}.login-brand p{color:color-mix(in srgb,var(--primary-ink) 76%,transparent);max-width:42ch;margin-top:var(--space-3)}.login-foot{font-size:.8rem;color:color-mix(in srgb,var(--primary-ink) 62%,transparent)}.login-form-wrap{display:grid;place-items:center;padding:var(--space-6) var(--space-4);background:var(--bg)}.login-form{width:100%;max-width:380px;display:flex;flex-direction:column;gap:var(--space-3)}.login-form h1{font-size:var(--step-3);margin-bottom:.15rem}.login-form .lede{color:var(--muted);font-size:.92rem;margin-bottom:var(--space-2)}.login-note{font-size:.8rem;color:var(--muted);margin-top:var(--space-3);line-height:1.5}.simulator{display:grid;gap:var(--space-3)}.replies{display:flex;flex-direction:column;gap:.5rem}.bubble{max-width:46ch;padding:.6rem .75rem;border-radius:12px 12px 12px 4px;background:var(--surface-2);border:1px solid var(--line);font-size:.88rem;white-space:pre-wrap}.outbox-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.outbox-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;padding:.65rem 0;border-bottom:1px solid var(--line);align-items:start}.outbox-list li:last-child{border-bottom:0}.outbox-list .text{font-size:.86rem;white-space:pre-wrap;overflow-wrap:anywhere}.outbox-list .meta{font-size:.74rem;color:var(--muted);margin-top:.15rem}.kv{display:flex;flex-direction:column;gap:.45rem;font-size:.88rem}.kv>div{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.35rem;border-bottom:1px solid var(--line)}.kv>div:last-child{border-bottom:0}.kv span{color:var(--muted)}.callout{display:flex;gap:.6rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);font-size:.86rem;color:var(--ink-soft)}.callout svg{width:18px;height:18px;flex:none;color:var(--accent-ink);margin-top:1px}.divider{height:1px;background:var(--line);border:0;margin:var(--space-4) 0}.pill-row{display:flex;gap:.4rem;flex-wrap:wrap}.link{display:inline-block;padding-block:2px;color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}.link:hover{color:var(--ink)}.mono{font-variant-numeric:tabular-nums}.right{margin-left:auto}@media(max-width:1120px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric.hero{grid-column:1 / -1}.split{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:min(86vw,300px);transform:translate(-102%);transition:transform .2s var(--ease);box-shadow:var(--shadow)}.nav-open .sidebar{transform:translate(0)}.scrim{display:block;position:fixed;inset:0;z-index:35;background:#0e151273;opacity:0;pointer-events:none;transition:opacity .2s var(--ease)}.nav-open .scrim{opacity:1;pointer-events:auto}.menu-button{display:inline-flex}.topbar{padding:.7rem var(--space-4)}.page{padding:var(--space-4) var(--space-4) var(--space-6)}.login{grid-template-columns:minmax(0,1fr)}.login-brand{padding:var(--space-5) var(--space-4);min-height:220px}.login-heading{font-size:clamp(1.9rem,1.3rem + 3vw,2.6rem)}}@media(max-width:640px){.metrics{grid-template-columns:minmax(0,1fr)}.metric.hero{min-height:132px}.grid-2,.grid-3,.form-grid{grid-template-columns:minmax(0,1fr)}.page-header{align-items:flex-start}.page-header .row{width:100%}.search{min-width:0}.detail-head{align-items:flex-start}.stepper{gap:0}.step{min-width:84px;padding:.5rem .45rem;font-size:.72rem}.topbar-title{display:none}.modal-foot{flex-direction:column-reverse}.modal-foot .btn{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
