:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-xs:11px;--text-sm:12.5px;--text-md:13.5px;--text-lg:15px;--text-xl:18px;--text-2xl:22px;--leading:1.5;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:5px;--radius-md:7px;--radius-lg:10px;--sidebar-width:232px;--topbar-height:52px;--transition:.12s ease;--bg:#fff;--bg-subtle:#f7f7f8;--bg-muted:#f0f0f2;--surface:#fff;--surface-raised:#fff;--border:#e6e6ea;--border-strong:#d4d4da;--text:#17171c;--text-muted:#6b6b76;--text-faint:#9a9aa5;--accent:#4f5bd5;--accent-hover:#4350c4;--accent-soft:#4f5bd51a;--accent-text:#fff;--focus-ring:0 0 0 3px #4f5bd547;--shadow-sm:0 1px 2px #1010180f;--shadow-lg:0 12px 32px #10101824, 0 2px 6px #1010180f;--overlay:#1010185c;--success:#1f8f55;--success-soft:#1f8f551a;--warning:#b26a00;--warning-soft:#b26a001f;--danger:#cf3341;--danger-soft:#cf33411a;--info:#2f6fd6;--info-soft:#2f6fd61a;--neutral-soft:#6b6b761f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c0d10;--bg-subtle:#111216;--bg-muted:#17181d;--surface:#111216;--surface-raised:#17181d;--border:#23252c;--border-strong:#2f323b;--text:#e9e9ee;--text-muted:#9a9ba6;--text-faint:#6b6c78;--accent:#7584ff;--accent-hover:#8794ff;--accent-soft:#7584ff24;--accent-text:#0c0d10;--focus-ring:0 0 0 3px #7584ff59;--shadow-sm:0 1px 2px #0006;--shadow-lg:0 16px 40px #0000008c;--overlay:#0000008c;--success:#4cc387;--success-soft:#4cc38724;--warning:#f0a83a;--warning-soft:#f0a83a24;--danger:#ff6b78;--danger-soft:#ff6b7824;--info:#6ea2ff;--info-soft:#6ea2ff24;--neutral-soft:#9a9ba624;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0c0d10;--bg-subtle:#111216;--bg-muted:#17181d;--surface:#111216;--surface-raised:#17181d;--border:#23252c;--border-strong:#2f323b;--text:#e9e9ee;--text-muted:#9a9ba6;--text-faint:#6b6c78;--accent:#7584ff;--accent-hover:#8794ff;--accent-soft:#7584ff24;--accent-text:#0c0d10;--focus-ring:0 0 0 3px #7584ff59;--shadow-sm:0 1px 2px #0006;--shadow-lg:0 16px 40px #0000008c;--overlay:#0000008c;--success:#4cc387;--success-soft:#4cc38724;--warning:#f0a83a;--warning-soft:#f0a83a24;--danger:#ff6b78;--danger-soft:#ff6b7824;--info:#6ea2ff;--info-soft:#6ea2ff24;--neutral-soft:#9a9ba624;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#aos-root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4,p{margin:0}h1{font-size:var(--text-xl);letter-spacing:-.012em;font-weight:600}h2{font-size:var(--text-lg);letter-spacing:-.01em;font-weight:600}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}code,.mono{font-family:var(--font-mono);font-size:.92em}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::selection{background:var(--accent-soft)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-3);border-radius:var(--radius-md);font-size:var(--text-md);cursor:pointer;white-space:nowrap;transition:background var(--transition), border-color var(--transition), color var(--transition);border:1px solid #0000;font-weight:500;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-sm{height:26px;padding:0 var(--space-2);font-size:var(--text-sm)}.btn-primary{background:var(--accent);color:var(--accent-text)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--bg-subtle)}.btn-ghost{color:var(--text-muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-muted);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.95)}.btn-icon{width:32px;padding:0}.btn-icon.btn-sm{width:26px}.badge{height:20px;font-size:var(--text-xs);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 8px;font-weight:500;display:inline-flex}.badge-dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-neutral{background:var(--neutral-soft);color:var(--text-muted)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-accent{background:var(--accent-soft);color:var(--accent)}.input,.select{height:32px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);transition:border-color var(--transition), box-shadow var(--transition)}.input:focus,.select:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.input::placeholder{color:var(--text-faint)}.select{padding-right:var(--space-6);cursor:pointer}.app{grid-template-columns:var(--sidebar-width) 1fr;height:100%;display:grid}.sidebar{background:var(--bg-subtle);border-right:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.sidebar-brand{height:var(--topbar-height);align-items:center;gap:var(--space-2);padding:0 var(--space-4);letter-spacing:-.01em;border-bottom:1px solid var(--border);font-weight:600;display:flex}.sidebar-brand .logo{background:var(--accent);width:22px;height:22px;color:var(--accent-text);border-radius:6px;place-items:center;font-size:12px;font-weight:700;display:grid}.company-switch{margin:var(--space-3)}.company-switch-trigger{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;text-align:left;display:flex}.company-switch-trigger:hover{border-color:var(--border-strong)}.company-switch-trigger small{color:var(--text-faint);font-size:var(--text-xs);display:block}.nav{padding:var(--space-2);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.nav-section{padding:var(--space-3) var(--space-3) var(--space-1);font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em}.nav-link{align-items:center;gap:var(--space-3);height:30px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--text-muted);font-weight:500;display:flex}.nav-link:hover{background:var(--bg-muted);color:var(--text);text-decoration:none}.nav-link.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.nav-link svg{flex:none;width:16px;height:16px}.sidebar-footer{padding:var(--space-3);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--text-faint)}.main{flex-direction:column;min-width:0;min-height:0;display:flex}.topbar{height:var(--topbar-height);justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 var(--space-6);border-bottom:1px solid var(--border);background:var(--bg);display:flex}.breadcrumbs{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-md);min-width:0;display:flex}.breadcrumbs a{color:var(--text-muted)}.breadcrumbs [aria-current=page]{color:var(--text);font-weight:500}.topbar-actions{align-items:center;gap:var(--space-2);display:flex}.search-trigger{align-items:center;gap:var(--space-2);min-width:220px;height:30px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);color:var(--text-faint);cursor:pointer;display:flex}.search-trigger kbd{font-family:var(--font-sans);font-size:var(--text-xs);border:1px solid var(--border-strong);border-radius:4px;margin-left:auto;padding:0 5px}.content{padding:var(--space-6);flex:1;position:relative;overflow-y:auto}.page{gap:var(--space-5);flex-direction:column;max-width:1200px;margin:0 auto;display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.page-header p{color:var(--text-muted);margin-top:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.card-body{padding:var(--space-5)}.grid-cards{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.stat-label{color:var(--text-muted);font-size:var(--text-sm)}.stat-value{font-size:var(--text-2xl);letter-spacing:-.02em;margin-top:var(--space-1);font-weight:600}.kv{gap:var(--space-2) var(--space-4);grid-template-columns:180px 1fr;display:grid}.kv dt{color:var(--text-muted)}.kv dd{margin:0}.table-toolbar{align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.table-wrap{min-width:0;max-width:100%;position:relative;overflow-x:auto}table.table{border-collapse:collapse;width:100%}.table th{text-align:left;font-weight:500;font-size:var(--text-sm);color:var(--text-muted);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border);background:var(--bg-subtle);white-space:nowrap}.table th button{all:unset;cursor:pointer;align-items:center;gap:4px;display:inline-flex}.table th button:focus-visible{box-shadow:var(--focus-ring);border-radius:4px}.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover td{background:var(--bg-subtle)}.table-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.empty{padding:var(--space-10) var(--space-6);text-align:center;color:var(--text-muted);align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.empty svg{width:28px;height:28px;color:var(--text-faint)}.empty strong{color:var(--text)}.error-box{padding:var(--space-4);border:1px solid var(--danger-soft);background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-md)}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}.skeleton{background:linear-gradient(90deg, var(--bg-muted), var(--bg-subtle), var(--bg-muted));border-radius:var(--radius-sm);background-size:200% 100%;height:14px;animation:1.2s infinite shimmer}.center-screen{place-items:center;height:100%;display:grid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}.dialog-overlay{background:var(--overlay);z-index:50;position:fixed;inset:0}.dialog{z-index:51;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(560px,100vw - 32px);max-height:76vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:fixed;top:12vh;left:50%;transform:translate(-50%)}.dialog-wide{width:min(820px,100vw - 32px)}.dialog-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.dialog-body{padding:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.dialog-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--border);justify-content:flex-end;gap:var(--space-2);display:flex}.dialog-description{color:var(--text-muted)}.menu{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow-lg);padding:var(--space-1);z-index:60}.menu-item{align-items:center;gap:var(--space-2);padding:6px var(--space-2);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;display:flex}.menu-item[data-highlighted]{background:var(--bg-muted)}.menu-item[data-disabled]{opacity:.5;cursor:default}.menu-label{padding:6px var(--space-2);font-size:var(--text-xs);color:var(--text-faint)}.menu-separator{background:var(--border);height:1px;margin:var(--space-1) 0}.menu-check{color:var(--accent);margin-left:auto}.palette{padding:0}.palette input{border:none;border-bottom:1px solid var(--border);width:100%;height:48px;padding:0 var(--space-4);font-size:var(--text-lg);background:0 0}.palette input:focus{outline:none}.palette ul{padding:var(--space-2);max-height:50vh;margin:0;list-style:none;overflow-y:auto}.palette li button{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:none;display:flex}.palette li button[aria-selected=true]{background:var(--accent-soft);color:var(--accent)}.palette .group{padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--text-xs);color:var(--text-faint)}.toasts{bottom:var(--space-5);right:var(--space-5);gap:var(--space-2);z-index:70;flex-direction:column;display:flex;position:fixed}.toast{min-width:280px;max-width:420px;padding:var(--space-3) var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);gap:var(--space-3);border-left-width:3px;align-items:flex-start;display:flex}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--danger)}.toast-info{border-left-color:var(--info)}.toast p{color:var(--text-muted);font-size:var(--text-sm)}.toast .btn{margin-left:auto}.log{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--bg-muted);border-radius:var(--radius-md);padding:var(--space-3);white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto}.timeline{gap:var(--space-3);flex-direction:column;display:flex}.timeline-item{gap:var(--space-3);grid-template-columns:90px 1fr;display:grid}@media (max-width:860px){.app{grid-template-columns:1fr}.sidebar{display:none}.search-trigger{min-width:0}.search-trigger span,.search-trigger kbd{display:none}.content{padding:var(--space-4)}.kv{grid-template-columns:1fr}}.nav-toggle{display:none}@media (max-width:860px){.nav-toggle{display:inline-flex}.app.nav-open .sidebar{z-index:45;width:min(280px,85vw);box-shadow:var(--shadow-lg);display:flex;position:fixed;inset:0 auto 0 0}.app.nav-open .nav-backdrop{background:var(--overlay);z-index:44;position:fixed;inset:0}}.form-grid{gap:var(--space-3) var(--space-4);grid-template-columns:1fr 1fr;display:grid}.form-grid .span-2{grid-column:span 2}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field label{font-size:var(--text-sm);color:var(--text-muted);font-weight:500}.field .input{width:100%}.field .input[aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);font-size:var(--text-sm)}.checkbox{align-items:center;gap:var(--space-2);display:flex}.section-title{font-size:var(--text-sm);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;margin-top:var(--space-2)}.detail-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.inline-actions{justify-content:flex-end;gap:4px;display:flex}@media (max-width:860px){.form-grid,.detail-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}}.textarea,textarea.input{height:auto;min-height:72px;padding-top:var(--space-2);padding-bottom:var(--space-2);resize:vertical;line-height:1.5}.text-danger{color:var(--danger)}.section{gap:var(--space-3);flex-direction:column;display:flex}.page>*,.section>*{min-width:0}@media (max-width:640px){.page-header{flex-wrap:wrap}}.project-layout{gap:var(--space-5);grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;display:grid}.project-layout>div{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.task-group{flex-direction:column;display:flex}.task-group+.task-group{border-top:1px solid var(--border)}.task-group-title{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5) var(--space-1);font-size:var(--text-sm);color:var(--text-muted);display:flex}.task-row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-5);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.task-row:hover{background:var(--bg-subtle)}.task-row.done .task-title{color:var(--text-faint);text-decoration:line-through}.task-title{all:unset;cursor:pointer;overflow-wrap:anywhere}.task-title:focus-visible{box-shadow:var(--focus-ring);border-radius:4px}.task-meta{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-sm);flex-wrap:wrap;justify-content:flex-end;display:flex}.task-check{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.list{margin:0;padding:0;list-style:none}.list>li{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-5);display:flex}.list>li+li{border-top:1px solid var(--border)}.avatar{background:var(--accent-soft);width:24px;height:24px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:600;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.note{padding:var(--space-3) var(--space-5);gap:var(--space-1);flex-direction:column;display:flex}.note+.note{border-top:1px solid var(--border)}.note-head{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);display:flex}.note-body{white-space:pre-wrap;overflow-wrap:anywhere}.activity{gap:var(--space-3);padding:var(--space-2) var(--space-5);font-size:var(--text-sm);display:flex}.activity time{color:var(--text-faint);white-space:nowrap;margin-left:auto}@media (max-width:1000px){.project-layout{grid-template-columns:1fr}}.dropzone-active{border-color:var(--accent);box-shadow:var(--focus-ring)}.integration-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));align-items:start;display:grid}.wizard{max-width:1000px}.wizard-steps ol{gap:var(--space-2);grid-template-columns:repeat(6,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.wizard-step>span,.wizard-step>button{all:unset;text-align:center;font-size:var(--text-sm);color:var(--text-faint);flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.wizard-step>button{cursor:pointer}.wizard-step>button:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.wizard-step-dot{border:1px solid var(--border-strong);background:var(--surface);width:26px;height:26px;font-weight:600;font-size:var(--text-xs);border-radius:50%;place-items:center;display:grid}.wizard-step.done .wizard-step-dot{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.wizard-step.current .wizard-step-dot{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.wizard-step.current{color:var(--text)}.wizard-step.current .wizard-step-label{color:var(--text);font-weight:500}.wizard-panel{gap:var(--space-4);flex-direction:column;display:flex}.wizard-step-title{font-size:var(--text-lg)}.wizard-actions{justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-5);display:flex}section.card.wizard-panel .wizard-actions{border-top:1px solid var(--border)}.option-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.option-card{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;background:var(--surface);flex-direction:column;gap:4px;display:flex;position:relative}.option-card input{opacity:0;pointer-events:none;position:absolute}.option-card:hover{border-color:var(--border-strong)}.option-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.option-card:has(input:focus-visible){box-shadow:var(--focus-ring)}.onboarding{gap:var(--space-4);flex-direction:column;display:flex}.onboarding-group{min-width:0;margin:0;padding:0}.onboarding-group>legend{box-sizing:border-box;float:left;width:100%}.onboarding-group>legend+*{clear:both}.onboarding-fields{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.onboarding-field{flex-direction:column;gap:6px;min-width:0;display:flex}.onboarding-field-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.onboarding-field-head label{font-size:var(--text-sm);color:var(--text-muted);font-weight:500}.select-sm{height:26px;font-size:var(--text-sm);padding-left:var(--space-2)}.chips{flex-wrap:wrap;gap:6px;margin:0 0 6px;padding:0;list-style:none;display:flex}.chip{background:var(--bg-muted);font-size:var(--text-sm);border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:2px 4px 2px 10px;display:inline-flex}.chip span:not(.swatch){overflow-wrap:anywhere}.chip button{all:unset;cursor:pointer;width:18px;height:18px;color:var(--text-muted);border-radius:50%;place-items:center;display:grid}.chip button:hover{background:var(--border)}.chip button:focus-visible{box-shadow:var(--focus-ring)}.swatch{border:1px solid var(--border-strong);border-radius:4px;flex:none;width:14px;height:14px}.color-picker{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;width:40px;height:32px;padding:2px}.checkbox-row{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.files-input{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.question-row{align-items:center;gap:var(--space-2);display:flex}.briefing-panel h3{align-items:center;gap:6px;display:flex}.source-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.source-list li{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.source-label{overflow-wrap:anywhere;flex:1;min-width:0}.source-add{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.source-add form{flex-direction:column;gap:6px;display:flex}.source-add label{font-size:var(--text-xs);color:var(--text-muted)}.source-add .select,.source-add .input{width:100%;min-width:0}.briefing-start{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.briefing-running{align-items:center;gap:var(--space-2);margin:0;display:flex}.briefing-result h4{margin:var(--space-3) 0 4px;font-size:var(--text-sm)}.briefing-result p,.briefing-result ul{margin:0}.sitemap-suggestion h3{align-items:center;gap:6px;display:flex}.suggestion-table{display:block;overflow-x:auto}.suggestion-table tr.child td:nth-child(2){padding-left:var(--space-5)}.design-editor{gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(260px,360px);display:grid}.design-editor-main{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.design-editor-main fieldset{border:1px solid var(--border);border-radius:var(--radius-md,8px);padding:var(--space-3);flex-direction:column;gap:8px;min-width:0;display:flex}.design-editor-main legend{padding:0 4px;font-weight:600}.design-editor-side{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.design-editor-side h4{font-size:var(--text-sm);margin:0}.token-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.token-row input[type=color]{border:1px solid var(--border);background:0 0;border-radius:6px;width:36px;height:32px;padding:0}.token-row .input{width:110px}.font-row .select{min-width:0;max-width:100%}.size-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.size-field{font-size:var(--text-xs);flex-direction:column;gap:2px;display:flex}.token-preview{border:1px solid var(--border);font-family:system-ui,sans-serif}.token-swatches{margin-top:var(--space-3);flex-wrap:wrap;gap:4px;display:flex}.token-swatches span{border:1px solid #0000001a;border-radius:4px;width:22px;height:22px}.contrast-list{font-size:var(--text-xs);flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.contrast-list li{grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:4px 8px;display:grid}.contrast-list .contrast-result{grid-column:2/4;align-items:center;gap:4px;display:inline-flex}.contrast-list li.fail .contrast-result{color:var(--danger,#b91c1c);font-weight:600}.contrast-sample{border:1px solid var(--border);border-radius:4px;justify-content:center;align-items:center;width:36px;height:28px;font-weight:700;display:inline-flex}.rationale{grid-template-columns:max-content minmax(0,1fr);gap:4px 12px;margin:0;display:grid}.rationale dt{font-weight:600}.rationale dd{margin:0}@media (max-width:860px){.design-editor{grid-template-columns:1fr}}.preview-toolbar{align-items:center;gap:var(--space-3);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.preview-toolbar label{font-size:var(--text-sm);align-items:center;gap:6px;display:inline-flex}.segmented{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{color:var(--text);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:6px 10px;display:inline-flex}.segmented button.active{background:var(--accent-soft,#2563eb1f);font-weight:600}.preview-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 300px;align-items:start;display:grid}.preview-canvas{background:var(--surface-2,#f1f1f4);border:1px solid var(--border);min-width:0;padding:var(--space-3);border-radius:10px}.device-stage{justify-content:center;align-items:flex-start;width:100%;display:flex;overflow:hidden}.device-stage .aos-preview-frame{transform-origin:top;flex:none;box-shadow:0 4px 24px #0000001f}.preview-side{gap:var(--space-3);top:var(--space-4);flex-direction:column;max-height:calc(100vh - 6rem);display:flex;position:sticky;overflow:auto}.element-details dl{font-size:var(--text-xs);flex-direction:column;gap:4px;margin:0;display:flex}.element-details dt{font-weight:600}.element-details dd{overflow-wrap:anywhere;margin:0}.element-details ul{font-size:var(--text-sm);margin:0;padding-left:1rem}.element-tree,.element-tree>div{flex-direction:column;display:flex}.element-tree button{text-align:left;color:var(--text);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:3px 8px}.element-tree button.active{background:var(--accent-soft,#2563eb1f)}@media (max-width:960px){.preview-layout{grid-template-columns:1fr}.preview-side{max-height:none;position:static}}.wish-form{flex-direction:column;gap:6px;display:flex}.wish-form label{font-weight:600;font-size:var(--text-sm)}.wish-form textarea{resize:vertical;width:100%}.change-list h4{font-size:var(--text-sm);margin:0 0 4px}.change-list>ul{font-size:var(--text-sm);flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.change-list>ul>li{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding-top:8px;display:flex}.public-preview{max-width:1400px;padding:var(--space-5) var(--space-4);margin:0 auto}.public-preview h1{font-size:var(--text-xl,1.25rem);margin:0 0 4px}.approval-bar{align-items:center;gap:var(--space-3);margin:0 0 var(--space-3);flex-wrap:wrap;display:flex}.customer-links h4{font-size:var(--text-sm);margin:0 0 6px}.customer-links-create,.customer-link-url{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.customer-link-url .input{flex:1;min-width:0}.customer-links ul{font-size:var(--text-sm);flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.customer-links li{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ai-suggestion{align-items:center;gap:var(--space-2);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.sitemap{padding:var(--space-2) 0;margin:0;list-style:none}.sitemap-row{align-items:center;gap:var(--space-2);padding:6px var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,.8fr) 130px auto;display:grid}.sitemap-row.child{padding-left:calc(var(--space-4) + 28px)}.sitemap-slug{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.input-suffix{align-items:center;gap:6px;display:flex}.input-suffix .input{flex:1;min-width:0}.text-success{color:var(--success);align-items:center;gap:4px;display:inline-flex}.stack-items{margin:var(--space-4) 0 0;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:6px;padding:0;list-style:none;display:grid}.stack-items li{align-items:center;gap:var(--space-2);display:flex}.catalog-panel{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border);gap:var(--space-2);flex-direction:column;display:flex}.catalog-panel h4{font-size:var(--text-sm);margin:0}.catalog-fetch{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.catalog-fetch .select{min-width:0;max-width:100%}.catalog-table{font-size:var(--text-xs);display:block;overflow-x:auto}.plan-list{padding:var(--space-4) var(--space-5) var(--space-4) calc(var(--space-5) + 18px);flex-direction:column;gap:6px;margin:0;display:flex}@media (max-width:860px){.wizard-steps ol{grid-template-columns:repeat(6,1fr)}.wizard-step-label{display:none}.onboarding-fields{grid-template-columns:1fr}.sitemap-row{grid-template-columns:1fr auto}.sitemap-row .sitemap-slug,.sitemap-row select{display:none}}.text-warning{color:var(--warning)}.plan-checks{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);flex-direction:column;gap:8px;margin:0;list-style:none;display:flex}.plan-checks li{align-items:start;gap:var(--space-2);grid-template-columns:18px minmax(120px,160px) 1fr;display:grid}.plan-checks li svg{margin-top:2px}@media (max-width:640px){.plan-checks li{grid-template-columns:18px 1fr}.plan-checks li .muted{grid-column:2}}.stack-editor{border-collapse:collapse;width:100%}.stack-editor th,.stack-editor td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:6px 8px}.stack-editor .input,.stack-editor .select{width:100%}.link-button{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.spin{animation:1s linear infinite spin}.timeline{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.timeline>li{gap:var(--space-2);grid-template-columns:20px 1fr;align-items:start;display:grid}.timeline>li svg{margin-top:2px}.timeline-job{flex-direction:column;gap:4px;margin-top:4px;display:flex}.timeline-job details summary{cursor:pointer;color:var(--accent);font-size:var(--text-sm)}.timeline-attempt{margin-top:6px}.timeline-log{background:var(--surface-2,#7f7f7f14);border-radius:var(--radius-md);font-size:var(--text-xs);white-space:pre-wrap;word-break:break-word;max-height:260px;margin:4px 0 0;padding:8px 10px;overflow:auto}.card.danger-zone{border-color:var(--danger-soft)}.budget-bar{background:var(--border);border-radius:3px;height:6px;margin-top:4px;overflow:hidden}.budget-bar span{background:var(--success);height:100%;display:block}.budget-bar span[data-level=warning]{background:var(--warning)}.budget-bar span[data-level=danger]{background:var(--danger)}.callout{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid #0000;align-items:flex-start;display:flex}.callout svg{flex:none;margin-top:2px}.callout-warning{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-soft)}.callout-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-soft)}.callout a{color:inherit;text-decoration:underline}.budget-banner{max-width:1200px;margin:0 auto var(--space-5)}.budget-bar-lg{height:10px;margin-top:var(--space-2);border-radius:5px;position:relative;overflow:visible}.budget-bar-lg span{border-radius:5px}.budget-mark{background:var(--text-muted);width:2px;position:absolute;top:-3px;bottom:-3px;transform:translate(-1px)}.cost-summary{gap:var(--space-4);grid-template-columns:minmax(200px,1fr) minmax(0,2fr);display:grid}@media (max-width:760px){.cost-summary{grid-template-columns:minmax(0,1fr)}}.cost-trend{gap:var(--space-3);grid-template-columns:repeat(6,minmax(0,1fr));height:160px;margin:0;padding:0;list-style:none;display:grid}.cost-trend li{font-size:var(--text-xs);flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.cost-trend-bar{background:var(--border);border-radius:4px 4px 0 0;width:100%;max-width:48px}.cost-trend li[data-active] .cost-trend-bar{background:var(--accent)}.cost-trend-value{font-variant-numeric:tabular-nums}.table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.plain-list{margin:var(--space-2) 0 0;font-size:var(--text-sm);flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.notif-trigger{position:relative}.notif-count{background:var(--danger);color:#fff;text-align:center;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;line-height:16px;position:absolute;top:0;right:0}.notif-menu{width:min(380px,100vw - 32px);max-height:min(480px,70vh);overflow-y:auto}.notif-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:6px var(--space-2);display:flex}.notif-item{align-items:flex-start}.notif-dot{background:0 0;border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.notif-unread .notif-dot{background:var(--accent)}.notif-title{font-weight:500;display:block}.notif-unread .notif-title{font-weight:600}.notif-body{color:var(--text-muted);font-size:var(--text-sm);display:block}.notif-time{color:var(--text-faint);font-size:var(--text-xs);margin-top:2px;display:block}.field-label,.field legend{font-size:var(--text-sm);color:var(--text-muted);font-weight:500}fieldset.field{border:0;min-width:0;margin:0;padding:0}.timer-indicator{border:1px solid var(--border);border-radius:var(--radius-md);padding-left:var(--space-2);align-items:center;gap:2px;display:flex}.timer-indicator-link{align-items:center;gap:var(--space-2);color:var(--text);font-size:var(--text-sm);min-width:0;text-decoration:none;display:flex}.timer-elapsed{font-variant-numeric:tabular-nums;font-weight:600}.timer-what{text-overflow:ellipsis;white-space:nowrap;max-width:160px;color:var(--text-muted);overflow:hidden}.timer-dot{background:var(--danger);border-radius:50%;flex:none;width:8px;height:8px;animation:1.6s ease-in-out infinite timer-pulse}@keyframes timer-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.timer-dot{animation:none}}@media (max-width:720px){.timer-what{display:none}}.timer-card{padding:var(--space-4);margin-bottom:var(--space-5)}.timer-form{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;display:grid}.timer-start{align-items:end;display:flex}.timer-running{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.timer-big{font-variant-numeric:tabular-nums;font-size:1.75rem}.timer-actions{gap:var(--space-2);margin-left:auto;display:flex}.week-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.week-nav,.week-summary{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.week-summary{gap:var(--space-4)}.week-title{font-size:var(--text-lg,1.1rem);margin:0}.week-days{gap:var(--space-3);flex-direction:column;display:flex}.week-day{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);min-width:0}.week-day-today{border-color:var(--accent)}.week-day-head{align-items:center;gap:var(--space-3);display:flex}.week-day-head h3{font-size:var(--text-md,1rem);margin:0}.week-day-head>:last-child{margin-left:auto}.inline-check{align-items:center;gap:var(--space-1,4px);white-space:nowrap;display:inline-flex}.inline-form{align-items:end;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.input-narrow{width:7rem}.row-muted td{color:var(--text-muted)}.budget-meter{margin-bottom:var(--space-4)}.budget-meter-head{justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm);flex-wrap:wrap;margin-bottom:6px;display:flex}.budget-track{background:var(--border);border-radius:4px;height:8px;overflow:hidden}.budget-fill{background:var(--accent);border-radius:4px;height:100%}.budget-fill-warning{background:var(--warning)}.budget-fill-danger{background:var(--danger)}.budget-warning{color:var(--warning)}.budget-danger{color:var(--danger)}.budget-source{margin:0 0 var(--space-3);font-size:var(--text-sm)}.budget-empty p{margin:0 0 var(--space-2)}.billing-range{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.billing-quick{gap:var(--space-2);margin:var(--space-2) 0 var(--space-3);display:flex}.billing-hint{font-size:var(--text-sm);margin:var(--space-2) 0 0}.board{gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4);grid-template-columns:repeat(4,minmax(160px,1fr));display:grid;overflow-x:auto}.board-col{background:var(--bg-subtle,var(--bg));border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-2);min-width:0}.board-col-over{border-color:var(--accent)}.board-col-title{font-size:var(--text-sm);margin:var(--space-1,4px) var(--space-1,4px) var(--space-2)}.board-list{gap:var(--space-2);flex-direction:column;min-height:48px;margin:0;padding:0;list-style:none;display:flex}.board-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2);cursor:grab}.board-card-dragging{opacity:.4}.board-card-over{box-shadow:0 -3px 0 0 var(--accent)}.board-card-title{all:unset;cursor:pointer;overflow-wrap:anywhere;font-weight:500;display:block}.board-card-title:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.board-card-meta{align-items:center;gap:var(--space-2);font-size:var(--text-sm);flex-wrap:wrap;margin-top:6px;display:flex}.board-milestone{color:var(--text-muted);align-items:center;gap:4px;display:inline-flex}.board-card-moves{opacity:.55;justify-content:space-between;margin-top:4px;display:flex}.board-card:hover .board-card-moves,.board-card:focus-within .board-card-moves{opacity:1}.board-empty{font-size:var(--text-sm);padding:var(--space-3);text-align:center;border:1px dashed var(--border);border-radius:var(--radius-md)}.view-toggle{border:1px solid var(--border);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.view-toggle button{border:0;border-radius:0}.view-toggle button[aria-pressed=true]{background:var(--accent-soft);color:var(--text)}.milestone-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.milestone-head{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:6px;display:flex}.milestone-due{font-size:var(--text-sm);margin-left:auto}.milestone-count{font-size:var(--text-sm)}.milestone-fill-done{background:var(--success)}.task-toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.util{align-items:center;gap:var(--space-2);display:inline-flex}.util-track{width:90px;display:inline-block}.util-track .budget-fill{display:block}.grid-2{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));display:grid}.grid-2>*{min-width:0}.badge-holiday{font-size:var(--text-sm);color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:0 8px}.portal-login{min-height:100vh;padding:var(--space-4);place-items:center;display:grid}.portal-login>.card{width:min(100%,420px)}.portal-login h1{margin:0 0 var(--space-3);font-size:var(--text-xl,1.25rem)}.portal-login form{gap:var(--space-3);flex-direction:column;display:flex}.portal{background:var(--bg-subtle,var(--bg));min-height:100vh}.portal-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--surface);border-bottom:3px solid var(--accent);flex-wrap:wrap;display:flex}.portal-brand{align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.portal-logo{object-fit:contain;max-width:180px;max-height:40px}.portal-user{align-items:center;gap:var(--space-2);display:flex}.portal-content{max-width:960px;padding:var(--space-5) var(--space-4);gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.portal-content h1{margin:0 0 var(--space-2);font-size:var(--text-xl,1.25rem)}.portal-devices{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.portal-devices li{gap:2px var(--space-3);grid-template-columns:1fr auto;align-items:center;display:grid}.portal-devices li>div{grid-column:1;min-width:0}.portal-devices li>button{grid-area:1/2/span 2}.link-button{all:unset;cursor:pointer;color:var(--accent)}.link-button:hover{text-decoration:underline}.link-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.portal-decision{gap:var(--space-3);flex-direction:column;display:flex}.portal-decision h2{margin:0}.portal-confirm{white-space:normal;align-items:flex-start}.portal-back{align-self:flex-start}.portal-section-title{font-size:var(--text-lg,1.1rem);margin:var(--space-2) 0 0}.portal-projects,.portal-project{gap:var(--space-3);flex-direction:column;display:flex}.portal-project-head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.portal-project-head h3{font-size:var(--text-md,1rem);margin:0}.portal-website{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--accent-soft);flex-wrap:wrap;display:flex}.portal-milestones{margin:0}.portal-files{gap:var(--space-3);flex-direction:column;display:flex}.portal-upload{gap:var(--space-2);padding:var(--space-3);border:1px dashed var(--border);border-radius:var(--radius-md);flex-direction:column;display:flex}.portal-upload p{margin:0}.portal-upload-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.portal-upload-row input[type=file]{flex:220px;min-width:0}.file-share{font-size:var(--text-sm);color:var(--text-muted);margin-right:var(--space-2)}.messages{gap:var(--space-2);flex-direction:column;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.message{max-width:85%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--bg-subtle,var(--bg));border:1px solid var(--border);align-self:flex-start}.message-own{background:var(--accent-soft);align-self:flex-end}.message-meta{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:2px}.message-body{white-space:pre-wrap;overflow-wrap:anywhere}.message-form{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.portal-messages-body{margin-top:var(--space-2)}.portal-privacy>summary{cursor:pointer;list-style:none}.portal-privacy>summary::-webkit-details-marker{display:none}.portal-privacy>summary h2:after{content:" ▾";color:var(--text-muted);font-weight:400}.portal-privacy[open]>summary h2:after{content:" ▴"}.portal-privacy h3{font-size:var(--text-base);margin:var(--space-3) 0 var(--space-1)}.portal-privacy ul{padding-left:var(--space-4);gap:var(--space-1);flex-direction:column;margin:0;display:flex}.portal-login-privacy{margin-top:var(--space-4);font-size:var(--text-sm)}.help-md{line-height:1.6}.help-md h2{font-size:var(--text-lg);margin:0 0 var(--space-3)}.help-md h3{font-size:var(--text-base);margin:var(--space-4) 0 var(--space-2)}.help-md h4{font-size:var(--text-sm);margin:var(--space-3) 0 var(--space-1)}.help-md p,.help-md ul,.help-md ol{margin:0 0 var(--space-3)}.help-md ul,.help-md ol{padding-left:var(--space-5,20px)}.help-md li+li{margin-top:2px}.help-md code{font-family:var(--font-mono,monospace);background:var(--bg-subtle,var(--bg));border-radius:4px;padding:0 4px;font-size:.9em}.help-note{border-left:3px solid var(--accent);background:var(--accent-soft);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm,4px);margin:0 0 var(--space-3)}.help-more{margin-top:var(--space-4)}.help-panel{max-height:70vh;overflow-y:auto}.help-layout{gap:var(--space-4);grid-template-columns:240px minmax(0,1fr);align-items:start;display:grid}.help-index{gap:var(--space-3);top:var(--space-4);flex-direction:column;display:flex;position:sticky}.help-index ul{margin:0;padding:0;list-style:none}.help-index li a{color:inherit;border-radius:4px;padding:3px 6px;text-decoration:none;display:block}.help-index li a:hover,.help-index li a[aria-current=page]{background:var(--accent-soft)}.help-group{font-size:var(--text-xs,11px);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:2px}@media (max-width:760px){.help-layout{grid-template-columns:1fr}.help-index{position:static}}.login-page{min-height:100vh;padding:var(--space-4);background:var(--bg);place-items:center;display:grid}.login-card{gap:var(--space-3);flex-direction:column;width:min(100%,400px);display:flex}.login-card h1{font-size:var(--text-xl,1.25rem);margin:0}.login-card form{gap:var(--space-3);flex-direction:column;display:flex}.login-card .btn{justify-content:center;width:100%}.login-brand{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font-weight:600;display:flex}.login-brand .logo{background:var(--accent);width:28px;height:28px;color:var(--accent-text);border-radius:8px;place-items:center;font-weight:700;display:inline-grid}.login-code{letter-spacing:.2em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.25rem}.login-qr{border-radius:var(--radius-md);background:#fff;align-self:center;padding:8px}.login-secret{word-break:break-all}.login-codes{gap:var(--space-1) var(--space-3);font-family:var(--font-mono,monospace);grid-template-columns:repeat(2,1fr);margin:0;padding:0;list-style:none;display:grid}.form-stack{gap:var(--space-3);flex-direction:column;display:flex}.device-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.table-actions{white-space:nowrap;text-align:right}.select-sm{font-size:var(--text-sm);padding-top:2px;padding-bottom:2px}.dialog-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.tasks-layout{gap:var(--space-6);grid-template-columns:220px minmax(0,1fr);align-items:start;display:grid}.tasks-nav{top:calc(var(--topbar-height) + var(--space-4));gap:var(--space-4);font-size:var(--text-sm);display:grid;position:sticky}.tasks-nav ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.tasks-nav-link{align-items:center;gap:var(--space-2);border-radius:var(--radius-md);color:var(--text);padding:6px 10px;text-decoration:none;display:flex}.tasks-nav-link:hover{background:var(--bg-muted)}.tasks-nav-link.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.tasks-nav-link:focus-visible{box-shadow:var(--focus-ring);outline:none}.tasks-nav-link span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tasks-nav-heading{color:var(--text-muted);justify-content:space-between;align-items:center;padding:0 10px 4px;font-weight:600;display:flex}.tasks-nav-form{padding:4px 10px}.icon-link{all:unset;cursor:pointer;border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-muted);place-items:center;display:grid}.icon-link:hover{background:var(--bg-muted);color:var(--text)}.icon-link:focus-visible{box-shadow:var(--focus-ring)}.tasks-main{gap:var(--space-2);min-width:0;max-width:820px;display:grid}.tasks-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);flex-wrap:wrap;display:flex}.tasks-head h1{font-size:var(--text-2xl);margin:0}.tasks-group{margin-top:var(--space-5)}.tasks-group-title{font-size:var(--text-md);margin:0 0 var(--space-1);padding-bottom:var(--space-1);border-bottom:1px solid var(--border)}.tasks-group-title.overdue{color:var(--danger)}.tasks-empty{margin-top:var(--space-4)}.ti-list{margin:0;padding:0;list-style:none}.ti{align-items:flex-start;gap:var(--space-3);border-bottom:1px solid var(--border);padding:10px 0;display:flex}.ti-check{border:2px solid var(--text-faint);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;margin-top:1px;padding:0;display:grid}.ti-check svg{fill:none;stroke:currentColor;stroke-width:2px;opacity:0;width:12px;height:12px;color:inherit}.ti-check:hover svg,.ti-check:focus-visible svg{opacity:.6}.ti-check:focus-visible{box-shadow:var(--focus-ring);outline:none}.ti-check.prio-4{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.ti-check.prio-3{border-color:var(--warning);color:var(--warning);background:var(--warning-soft)}.ti-check.prio-2,.ti-check.prio-1{color:var(--text-muted)}.ti-check[aria-pressed=true]{background:var(--text-faint);border-color:var(--text-faint);color:var(--surface)}.ti-check[aria-pressed=true] svg{opacity:1}.ti-body{all:unset;cursor:pointer;flex:1;gap:2px;min-width:0;display:grid}.ti-body:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.ti-title{overflow-wrap:anywhere}.ti-done .ti-title{color:var(--text-muted);text-decoration:line-through}.ti-desc{color:var(--text-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ti-meta{align-items:center;gap:var(--space-3);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.ti-meta:empty{display:none}.ti-meta .faint{align-items:center;gap:3px;display:inline-flex}.ti-due{color:var(--text-muted);font-weight:500}.ti-due.due-overdue{color:var(--danger)}.ti-due.due-today{color:var(--success)}.ti-due.due-tomorrow{color:var(--warning)}.ti-due.due-week{color:var(--accent)}.ti-label{color:var(--text-muted);align-items:center;gap:4px;display:inline-flex}.ti-label-dot{background:var(--text-faint);border-radius:50%;width:8px;height:8px}.ti-side{font-size:var(--text-xs);color:var(--text-muted);flex-direction:column;flex:none;align-items:flex-end;gap:4px;max-width:40%;display:flex}.ti-place{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.ti-people{display:flex}.ti-people>span+span{margin-left:-6px}.ti-add{all:unset;cursor:pointer;align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-sm);padding:8px 0;display:inline-flex}.ti-add:hover{color:var(--accent)}.ti-add:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.ti-form{border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-3);margin:var(--space-2) 0;gap:var(--space-2);background:var(--surface);display:grid}.ti-form-title,.ti-form-desc{all:unset;box-sizing:border-box;width:100%}.ti-form-title{font-weight:600}.ti-form-desc{font-size:var(--text-sm);color:var(--text-muted)}.ti-form-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.ti-form-actions{justify-content:flex-end;gap:var(--space-2);border-top:1px solid var(--border);padding-top:var(--space-2);display:flex}.ti-field{display:inline-flex}.input-sm,.select-sm{font-size:var(--text-sm);width:auto;min-height:30px;padding:4px 8px}.ti-people-pick{flex-wrap:wrap;gap:6px;display:flex}.pick{border:1px solid var(--border);background:var(--surface);font:inherit;font-size:var(--text-sm);color:var(--text);cursor:pointer;border-radius:999px;padding:2px 10px}.pick:hover{background:var(--bg-muted)}.pick:focus-visible{box-shadow:var(--focus-ring);outline:none}.pick-on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.td{gap:var(--space-6);grid-template-columns:minmax(0,1fr) 220px;display:grid}.td-main{gap:var(--space-4);align-content:start;min-width:0;display:grid}.td-main h3{font-size:var(--text-sm);margin:0 0 var(--space-1);color:var(--text-muted)}.td-head{gap:var(--space-3);align-items:flex-start;display:flex}.td-head .ti-check{margin-top:6px}.td-title{all:unset;font-size:var(--text-lg);border-radius:var(--radius-sm);flex:1;padding:2px 4px;font-weight:600}.td-title:focus,.td-desc:focus{box-shadow:var(--focus-ring)}.td-desc{all:unset;box-sizing:border-box;white-space:pre-wrap;border-radius:var(--radius-sm);width:100%;color:var(--text-muted);min-height:3em;padding:4px;display:block}.td-side{gap:var(--space-3);border-left:1px solid var(--border);padding-left:var(--space-4);align-content:start;display:grid}.td-side .field{gap:4px;display:grid}.field-label{font-size:var(--text-sm);font-weight:500}.td-comments{margin:0 0 var(--space-2);gap:var(--space-3);font-size:var(--text-sm);padding:0;list-style:none;display:grid}.td-comments .faint{gap:var(--space-2);align-items:baseline;display:flex}.td-comment-body{white-space:pre-wrap;overflow-wrap:anywhere}.td-comment-form{gap:var(--space-2);display:grid}@media (max-width:760px){.tasks-layout{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.tasks-nav{gap:var(--space-2);flex-wrap:nowrap;display:flex;position:static;overflow-x:auto}.tasks-nav ul{gap:var(--space-1);display:flex}.tasks-nav-group{align-items:center;gap:var(--space-1);display:flex}.tasks-nav-heading{white-space:nowrap;padding:0 4px}.tasks-nav-link{white-space:nowrap;border:1px solid var(--border);border-radius:999px;padding:4px 10px}.td{grid-template-columns:minmax(0,1fr)}.td-side{border-left:0;border-top:1px solid var(--border);padding-left:0;padding-top:var(--space-3)}.ti-side{max-width:35%}}.password-input{display:block;position:relative}.password-input .input{width:100%;padding-right:44px}.password-toggle{width:36px;height:36px;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-toggle:hover{color:var(--text);background:var(--bg-muted)}.password-toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.password-input input::-ms-reveal{display:none}.ti-quick{font-size:var(--text-xs);flex-wrap:wrap;align-items:center;gap:6px;min-height:20px;margin:0;display:flex}.ti-token{background:var(--bg-muted);color:var(--text);border-radius:999px;padding:1px 8px;font-weight:500}.ti-token-date,.ti-token-time{background:var(--success-soft);color:var(--success)}.ti-token-priority{background:var(--danger-soft);color:var(--danger)}.ti-token-person,.ti-token-place{background:var(--accent-soft);color:var(--accent)}.ti-token-recurrence{background:var(--info-soft);color:var(--info)}.td-rec{justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm);display:flex}.mention-input{width:100%;position:relative}.mention-input .textarea{width:100%}.mention-list{z-index:20;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);min-width:220px;max-width:100%;box-shadow:var(--shadow-lg);margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0}.mention-list li{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);padding:6px 10px}.mention-list li.active,.mention-list li:hover{background:var(--accent-soft);color:var(--accent)}.mention{color:var(--accent);font-weight:600}.tasks-digest{gap:var(--space-2);color:var(--text-muted);font-size:var(--text-xs);align-items:flex-start;padding:0 10px;display:flex}.tasks-digest input{margin-top:2px}.task-time{gap:6px;display:grid}.task-time-sum{font-size:var(--text-xs);margin:0}.task-time-book{gap:6px;display:flex}.task-time-book .input{flex:1;min-width:0}.ti-timer{color:var(--danger);align-items:center;gap:4px;font-weight:600;display:inline-flex}
