:root{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ink:#201823;--muted:#695f71;--soft:#f7f4f7;--surface:#fff;--line:#e6dde8;--line-strong:#d2c5d5;--plum:#3c2044;--berry:#8e2f52;--jam:#b9475f;--gold:#d39b2a;--pink:#ff43a4;--green:#23745a;--red:#ad3042;--bluegray:#425466;--shadow:0 18px 50px #301f3514;--shadow-sm:0 1px 2px #301f350d, 0 1px 1px #301f350a;--shadow-md:0 1px 2px #301f350d, 0 10px 24px #301f3512;--shadow-lg:0 2px 4px #301f350f, 0 18px 44px #301f351f;--shadow-hover:0 3px 8px #301f3514, 0 18px 38px #301f3524;--radius:12px;--radius-sm:9px;--ease:.18s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);letter-spacing:0;background:#f6f2ef;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.45}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}select:not([multiple]):not([size]){appearance:none;background-color:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);min-height:34px;transition:border-color var(--ease), box-shadow var(--ease);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23695f71' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;padding:5px 28px 5px 10px}input[type=date],input[type=month],input[type=time]{background-color:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);min-height:34px;transition:border-color var(--ease), box-shadow var(--ease);padding:5px 10px}select:not([multiple]):not([size]):hover,input[type=date]:hover,input[type=month]:hover,input[type=time]:hover{border-color:color-mix(in srgb, var(--berry) 35%, var(--line-strong))}select:focus-visible,input[type=date]:focus-visible,input[type=month]:focus-visible,input[type=time]:focus-visible{border-color:var(--berry);box-shadow:0 0 0 3px color-mix(in srgb, var(--berry) 16%, transparent);outline:none}a:focus-visible,button:focus-visible,[role=button]:focus-visible{outline:2px solid color-mix(in srgb, var(--berry) 70%, transparent);outline-offset:2px}table{font-variant-numeric:tabular-nums}html{scrollbar-width:thin;scrollbar-color:#3c20444d transparent}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-thumb{background:#3c204440 padding-box padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:#3c204473}::-webkit-scrollbar-track{background:0 0}#root{min-height:100vh}.app-shell{grid-template-columns:258px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--sidebar-bg,var(--plum));color:var(--sidebar-text,#fffaf3);z-index:20;scrollbar-width:thin;scrollbar-color:#ffffff47 transparent;flex-direction:column;align-self:start;gap:28px;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0;overflow-y:auto;box-shadow:6px 0 24px #28142838}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:999px}.sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff57}.brand-lockup{align-items:center;gap:12px;display:flex}.brand-logo-only{box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;justify-content:center;align-items:center;margin-bottom:6px;padding:12px;display:flex}.brand-logo-full{object-fit:contain;max-width:100%;height:auto;max-height:140px;display:block}.brand-mark{background:var(--gold);color:#25131e;border:1px solid #ffffff38;border-radius:8px;flex:0 0 44px;place-items:center;height:44px;font-weight:800;display:grid}.brand-lockup strong,.brand-lockup span{display:block}.brand-lockup strong{font-size:17px}.brand-lockup span{color:color-mix(in srgb, var(--sidebar-text,#fffaf3) 72%, transparent);margin-top:1px;font-size:12px}.nav-list{gap:7px;display:grid}.nav-item{color:color-mix(in srgb, var(--sidebar-text,#fffaf3) 76%, transparent);text-align:left;min-height:42px;transition:background var(--ease), color var(--ease);background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:color-mix(in srgb, var(--sidebar-text,#fffaf3) 10%, transparent);border-color:color-mix(in srgb, var(--sidebar-text,#fffaf3) 12%, transparent);color:var(--sidebar-text,#fffaf3)}.nav-item.active{background:color-mix(in srgb, var(--sidebar-active-text,var(--sidebar-text,#fffaf3)) 10%, transparent);border-color:color-mix(in srgb, var(--sidebar-active-text,var(--sidebar-text,#fffaf3)) 12%, transparent);color:var(--sidebar-active-text,var(--sidebar-text,#fffaf3))}.security-note{background:color-mix(in srgb, var(--sidebar-text,#fffaf3) 8%, transparent);border:1px solid color-mix(in srgb, var(--sidebar-text,#fffaf3) 12%, transparent);color:color-mix(in srgb, var(--sidebar-text,#fffaf3) 80%, transparent);border-radius:8px;align-items:center;gap:10px;margin-top:auto;padding:12px;display:flex}.workspace{--topbar-h:64px;align-content:start;gap:18px;padding:28px;display:grid}.auth-shell{align-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--line);background:#fffffff2;border-radius:24px;gap:18px;width:100%;max-width:540px;margin:0 auto;padding:32px;display:grid;box-shadow:0 24px 60px #1f2b3a1f}.auth-copy{color:var(--muted);margin:0;line-height:1.6}.auth-form{gap:14px;display:grid}.auth-error{color:#8a3d12;margin:0}.auth-submit{justify-content:center}.auth-secondary{border:1px solid var(--line);color:var(--ink);cursor:pointer;transition:background var(--ease), border-color var(--ease);background:0 0;border-radius:999px;justify-self:center;padding:8px 16px;font-size:13px}.auth-secondary:hover{background:var(--soft);border-color:var(--line-strong);background:#faf6f2}.team-sessions-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.team-sessions-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.team-session-row{border:1px solid #ebe3d8;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.team-session-meta{flex-direction:column;gap:2px;display:flex}.team-session-detail{color:#6e6571;font-size:12px}.topbar{z-index:15;background:color-mix(in srgb, var(--soft) 86%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid color-mix(in srgb, var(--line) 75%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin:-28px -28px 0;padding:12px 28px;display:flex;position:sticky;top:0}.topbar-heading{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.topbar-heading .eyeline{margin:0}.nav-toggle{background:var(--surface);border:1px solid var(--line);color:var(--ink);width:40px;height:40px;transition:border-color var(--ease), background var(--ease);border-radius:10px;justify-content:center;align-items:center;padding:0;display:none}.nav-toggle:hover{background:var(--soft);border-color:var(--line-strong)}.nav-backdrop{display:none}.sync-banner{border-radius:999px;align-items:center;gap:5px;margin:0;padding:3px 11px;font-size:.8rem;font-weight:600;display:inline-flex}.sync-banner.sync-saving,.sync-banner.sync-loading{color:#5a6577;background:#eef1f6}.sync-banner.sync-synced{color:#2f7d4f;background:#e6f4ec}.sync-banner.sync-offline,.sync-banner.sync-error{color:#b23535;background:#fdeaea}.sync-alarm-bar{z-index:60;color:#fff;background:#c0271f;border-bottom:4px solid #7d140f;align-items:center;gap:14px;padding:18px 22px;animation:1.6s ease-in-out infinite sync-alarm-pulse;display:flex;position:sticky;top:0;box-shadow:0 8px 20px #00000047}.sync-alarm-icon{flex:none}.sync-alarm-copy{gap:4px;display:grid}.sync-alarm-copy strong{letter-spacing:.01em;font-size:1.18rem;font-weight:800}.sync-alarm-copy span{font-size:.97rem;line-height:1.45}.sync-alarm-copy a{color:#fff;font-weight:700;text-decoration:underline}@keyframes sync-alarm-pulse{0%,to{background:#c0271f}50%{background:#d8362d}}@media (prefers-reduced-motion:reduce){.sync-alarm-bar{animation:none}}.account-pill{border:1px solid var(--line);background:#ebe3ec;border-radius:12px;gap:2px;min-height:40px;padding:8px 12px;display:grid}.account-pill strong{color:var(--ink);font-size:14px}.account-pill span{color:var(--muted);font-size:12px}.logout-button{border:1px solid var(--line);color:var(--ink);min-height:40px;transition:background var(--ease), border-color var(--ease);background:0 0;border-radius:10px;padding:0 14px}.logout-button:hover{background:var(--soft);border-color:var(--line-strong)}.notification-bell{display:inline-flex;position:relative}.bell-button{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex;position:relative}.bell-button:hover{border-color:var(--line-strong)}.bell-badge{background:var(--red);border:2px solid var(--surface);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:700;display:inline-flex;position:absolute;top:-4px;right:-4px}.notification-dropdown{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);z-index:40;border-radius:12px;flex-direction:column;width:340px;max-height:480px;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notification-dropdown-header{border-bottom:1px solid var(--line);padding:12px 16px}.notification-dropdown-list{flex:1;overflow-y:auto}.notification-empty{color:var(--muted);text-align:center;margin:0;padding:16px;font-size:13px}.notification-row,.notification-page-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;flex-direction:column;gap:4px;width:100%;padding:12px 16px;display:flex;position:relative}.notification-row:hover,.notification-page-row:hover{background:var(--soft)}.notification-row.unread,.notification-page-row.unread{background:#fbf6f9}.notification-row:last-child,.notification-page-row:last-child{border-bottom:0}.notification-message{color:var(--ink);font-size:14px;font-weight:600;line-height:1.35}.notification-meta{color:var(--muted);font-size:12px}.notification-dot{background:var(--berry);border-radius:999px;width:8px;height:8px;position:absolute;top:16px;right:12px}.notification-dropdown-footer{border-top:1px solid var(--line);justify-content:space-between;gap:8px;padding:10px 16px;display:flex}.link-button{color:var(--berry);background:0 0;border:0;padding:4px 0;font-size:13px;font-weight:600}.link-button:disabled{color:var(--muted);cursor:default}.notifications-page-list{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-top:16px;overflow:hidden}.notification-page-row-main{flex-direction:column;gap:4px;display:flex}.notifications-page-footer{justify-content:center;margin-top:16px;display:flex}.eyeline,.section-kicker{color:var(--pink);letter-spacing:.07em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:750}h1,h2{color:var(--ink);margin:0}h1{font-size:28px;font-weight:760;line-height:1.16}h2{font-size:19px;font-weight:760;line-height:1.25}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.period-control{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:6px 10px;display:inline-flex}.period-control span{color:var(--bluegray);font-size:12px;font-weight:760}.period-control input{color:var(--ink);background:0 0;border:0;outline:none;font-weight:760}.report-period{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 10px;min-height:40px;padding:6px 12px;display:inline-flex}.report-period-label{color:var(--bluegray);letter-spacing:.01em;font-size:12px;font-weight:760}.report-period-select{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.report-period-select:hover{border-color:var(--line-strong)}.report-period-dates{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.report-period-field{align-items:center;gap:4px;display:inline-flex}.report-period-field-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:700}.report-period-input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;outline:none;padding:3px 6px;font-weight:700}.report-period-input:disabled{color:var(--bluegray);opacity:1;background:0 0;border-color:#0000}.report-period-sep{color:var(--muted)}.report-period-readout{color:var(--bluegray);font-size:12px;font-weight:700}@media (width<=640px){.report-period{width:100%}}.time-filter-row{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.segmented{border:1px solid var(--line);background:#ebe3ec;border-radius:8px;padding:3px;display:inline-flex}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:6px;min-height:34px;padding:6px 12px}.segmented button.selected{background:var(--surface);color:var(--plum);font-weight:760;box-shadow:0 5px 14px #3c20441f}.select-control,.input,.compact-input{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);min-height:38px;transition:border-color var(--ease), box-shadow var(--ease);outline:none;padding:8px 11px}.select-control:hover,.input:hover,.compact-input:hover{border-color:color-mix(in srgb, var(--berry) 45%, var(--line-strong))}.select-control:focus,.input:focus,.compact-input:focus{border-color:var(--berry);box-shadow:0 0 0 3.5px #8e2f5229}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.summary-item,.panel{background:var(--surface);border:1px solid color-mix(in srgb, var(--line) 55%, transparent);border-radius:var(--radius);box-shadow:var(--shadow-md);transition:box-shadow var(--ease), transform var(--ease)}.summary-item{align-items:flex-start;gap:14px;min-height:112px;padding:20px;display:flex}.summary-item:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.summary-item svg{background:color-mix(in srgb, var(--berry) 12%, transparent);box-sizing:content-box;color:var(--berry);border-radius:12px;flex:none;padding:9px}.summary-item span,.summary-item small,.entry-row span,.entry-row small,.checklist-block header span,.queue-row span,.plan-row span,.invoice-line span,.invoice-preview-header span{color:var(--muted)}.summary-item strong{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin:4px 0;font-size:28px;line-height:1.1;display:block}.content-grid{align-items:start;gap:18px;display:grid}.two-column{grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr)}.client-layout{grid-template-columns:1fr}.client-layout>.panel:last-child .form-grid.single{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-layout{grid-template-columns:minmax(0,1fr) minmax(310px,.65fr)}.reports-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{min-width:0;scroll-margin-top:calc(var(--topbar-h,64px) + 76px);padding:20px 22px}.section-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.timer-pill{background:var(--soft);border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;gap:7px;min-height:34px;padding:6px 10px;display:inline-flex}.timer-pill.running{color:var(--green);background:#23745a1a;border-color:#23745a47;font-weight:760}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.form-grid.single{grid-template-columns:1fr}.field{gap:6px;display:grid}.field span,.check-row span{color:var(--bluegray);font-size:12px;font-weight:760}.full-span{grid-column:1/-1}textarea.input{resize:vertical;min-height:108px}.check-row{align-items:center;gap:9px;display:flex}.check-row input,.task-row input{accent-color:var(--berry);width:17px;height:17px}.button-row{flex-wrap:wrap;gap:10px;display:flex}.primary-action,.secondary-action{border-radius:var(--radius-sm);cursor:pointer;min-height:40px;transition:background var(--ease), box-shadow var(--ease), transform var(--ease), border-color var(--ease);justify-content:center;align-items:center;gap:8px;padding:9px 15px;font-weight:760;display:inline-flex}.primary-action{background:linear-gradient(135deg, var(--berry), var(--jam));color:#fff;border:1px solid #0000;box-shadow:0 4px 12px #8e2f5242}.primary-action:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 7px 18px #8e2f5252}.primary-action:active{transform:translateY(0);box-shadow:0 3px 9px #8e2f5242}.primary-action:disabled{box-shadow:none;filter:none;opacity:.55;transform:none}.secondary-action{background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-sm);color:var(--plum)}.secondary-action:hover{background:var(--soft);border-color:var(--plum);transform:translateY(-1px)}.secondary-action.danger{color:var(--red);border-color:#ad304247}.entry-list,.checklist-stack,.task-list,.queue-list,.plan-list{gap:10px;display:grid}.plan-row-actions{gap:6px;display:flex}.plan-edit-form{gap:10px;width:100%;display:grid}.plan-edit-actions{gap:8px;display:flex}.active-checklist-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.active-checklist-row{border:1px solid var(--line);border-radius:8px;gap:6px;padding:12px;display:grid}.active-checklist-main{justify-content:space-between;align-items:center;gap:10px;display:flex}.active-checklist-link{color:inherit;text-decoration:none}.active-checklist-link:hover strong{cursor:pointer;text-decoration:underline}.active-checklist-meta{color:var(--muted);flex-wrap:wrap;gap:4px 14px;font-size:.85rem;display:flex}.status-badge{white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:600}.status-badge.status-done{color:#166534;background:#dcfce7}.status-badge.status-overdue{color:#991b1b;background:#fee2e2}.status-badge.status-in-progress{color:#1e40af;background:#dbeafe}.status-badge.status-not-started{color:#475569;background:#f1f5f9}.entry-row,.queue-row,.plan-row{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:start;gap:14px;padding:13px;display:flex}.contact-edit-fields{flex:1;grid-template-columns:1fr 1fr;gap:8px;display:grid}.contact-edit-fields .contact-notes-input{resize:vertical;grid-column:1/-1;min-height:2.4rem}.contact-edit-fields .checklist-meta-line{grid-column:1/-1}.plan-row.contact-locked{background:var(--surface-2,#13344a0a);border-style:dashed}.contact-locked-view{grid-column:1/-1;gap:2px;display:grid}.contact-locked-name{font-size:1rem}.contact-locked-view span{color:var(--muted);font-size:.88rem}.contact-locked-notes{color:var(--muted);white-space:pre-wrap;margin:4px 0 0;font-size:.85rem}.contact-row-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.contact-lock-btn{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:5px 7px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.contact-lock-btn:hover{border-color:var(--accent,#ff43a4);color:var(--accent,#ff43a4)}.contact-lock-btn.is-locked{color:var(--ink,#13344a);background:#13344a14}.entry-row strong,.entry-row span,.entry-row small,.queue-row strong,.queue-row span,.plan-row strong,.plan-row span{display:block}.entry-row span,.plan-row span{margin-top:4px}.entry-row small{margin-top:5px}.entry-meta{text-align:right;min-width:76px}.entry-meta span{color:var(--green);font-size:12px;font-weight:760}.checklist-block{border:1px solid var(--line);border-radius:8px;padding:14px}.checklist-block header{justify-content:space-between;align-items:start;gap:12px;display:flex}.checklist-block header strong,.checklist-block header span{display:block}.checklist-block header small{color:var(--pink);white-space:nowrap;font-weight:760}.progress-track{background:#f0e9f1;border-radius:999px;height:7px;margin:12px 0;overflow:hidden}.progress-track span{background:var(--green);height:100%;display:block}.task-row{align-items:center;gap:10px;min-height:32px;display:flex}.task-row.done span{color:var(--muted);text-decoration:line-through}.empty-state{background:color-mix(in srgb, var(--soft) 70%, transparent);border:1px dashed var(--line-strong);border-radius:var(--radius-sm);color:var(--muted);margin:0;padding:14px 16px}.checklist-meta{place-items:flex-end end;gap:6px;display:grid}.template-manager,.template-list,.template-items{gap:14px;display:grid}.template-card{border:1px solid var(--line);border-radius:8px;gap:14px;padding:14px;display:grid}.template-card-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.template-card-header strong,.template-card-header span{display:block}.template-card-header span{color:var(--muted);margin-top:4px}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.template-toggle{align-self:end;min-height:38px}.template-item-row{grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:10px;display:grid}.template-item-row.dragging{opacity:.4}.template-item-row.drop-target{border-top:2px solid var(--berry);padding-top:4px}.task-row .drag-handle,.template-item-row .drag-handle{color:var(--muted);cursor:grab;justify-content:center;align-items:center;width:14px;height:18px;display:inline-flex}.task-row.dragging{opacity:.4}.task-row.drop-target{border-top:2px solid var(--berry);padding-top:4px}.task-row{align-items:flex-start}.task-row-body{flex-direction:column;gap:2px;min-width:0;display:flex}.task-row-title{align-items:center;gap:6px;display:inline-flex}.overdue-dot{background:#c0392b;border-radius:999px;width:6px;height:6px;display:inline-block}.task-row-chips{color:var(--muted);flex-wrap:wrap;gap:6px;margin-top:2px;font-size:11px;display:flex}.task-chip{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-weight:600}.task-row-inline-controls{flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;display:flex}.item-date-input{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:4px;min-width:140px;height:26px;min-height:26px;padding:2px 6px;font-family:inherit;font-size:12px}.item-date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7}.item-assignee-select{border:1px solid var(--line);color:var(--muted);background-color:#0000;border-radius:4px;min-width:120px;max-width:160px;height:26px;min-height:26px;padding:2px 24px 2px 6px;font-family:inherit;font-size:12px}.item-date-input:hover,.item-date-input:focus-visible,.item-assignee-select:hover,.item-assignee-select:focus-visible{background-color:var(--surface);border-color:var(--line-strong);color:var(--ink)}.item-delete-btn{border:1px solid var(--line);height:26px;color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;align-items:center;padding:0 7px;font-size:14px;line-height:1;display:flex}.item-delete-btn:hover{background:var(--soft);color:var(--red);border-color:var(--red)}.item-delete-btn:disabled{cursor:not-allowed;opacity:.45}.item-delete-btn:disabled:hover{color:var(--muted);border-color:var(--line);background:0 0}.item-deletion-pending{color:var(--red);background:color-mix(in srgb, var(--red) 10%, transparent);border:1px solid color-mix(in srgb, var(--red) 35%, transparent);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.inline-add-row{border:1px dashed var(--line-strong);background:var(--surface);border-radius:6px;align-items:center;gap:8px;margin-top:6px;padding:6px 8px;display:flex}.inline-add-row:focus-within{border-color:var(--berry);border-style:solid}.inline-add-checkbox{border:1.5px solid var(--line-strong);border-radius:3px;flex:none;width:14px;height:14px;display:inline-block}.inline-add-input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:2px 0;font-family:inherit;font-size:13px}.inline-add-input::placeholder{color:var(--muted);font-style:italic}.inline-add-btn{border:1px solid var(--line-strong);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.inline-add-btn:hover:not(:disabled){background:var(--soft);border-color:var(--berry);color:var(--berry)}.inline-add-btn:disabled{cursor:not-allowed;opacity:.4}.checklist-empty-hint{color:var(--muted);margin:4px 0 0;font-size:12px;font-style:italic}.task-item{flex-direction:column;gap:2px;display:flex}.template-item{flex-direction:column;gap:4px;display:flex}.sub-item-count{background:var(--soft);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:0 6px;font-size:10px;font-weight:600}.sub-item-list{border-left:1px solid var(--line);flex-direction:column;gap:2px;margin-left:26px;padding-left:10px;display:flex}.template-sub-item-list{margin-left:22px}.sub-item-row{align-items:center;gap:8px;min-height:26px;display:flex}.sub-item-row input[type=checkbox]{flex:none;width:13px;height:13px}.sub-item-title{color:var(--ink);font-size:12.5px}.sub-item-row.done .sub-item-title{color:var(--muted);text-decoration:line-through}.sub-item-bullet{background:var(--line-strong);border-radius:999px;flex:none;width:5px;height:5px}.sub-item-edit-input{flex:1;min-width:0;padding:3px 6px;font-size:12.5px}.sub-item-delete{height:22px;padding:0 6px;font-size:12px}.sub-item-add-link{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:3px;width:fit-content;padding:2px 0;font-family:inherit;font-size:11.5px;display:inline-flex}.sub-item-add-link:hover{color:var(--berry)}.sub-item-add-row{align-items:center;gap:6px;padding:2px 0;display:flex}.sub-item-add-input{background:var(--surface);border:1px solid var(--line-strong);color:var(--ink);border-radius:4px;outline:none;flex:1;min-width:0;padding:3px 6px;font-family:inherit;font-size:12px}.sub-item-add-input:focus{border-color:var(--berry)}.sub-item-add-input::placeholder{color:var(--muted);font-style:italic}.sub-item-group{flex-direction:column;gap:2px;display:flex}.sub-sub-item-list{border-left:1px solid var(--line);flex-direction:column;gap:2px;margin-left:18px;padding-left:9px;display:flex}.sub-sub-item-list .sub-item-row{min-height:24px}.sub-sub-item-list .sub-item-row input[type=checkbox]{width:12px;height:12px}.sub-sub-item-list .sub-item-title{color:var(--muted);font-size:11.5px}.sub-sub-item-list .sub-item-row.done .sub-item-title{color:var(--muted);text-decoration:line-through}.sub-sub-item-list.template-sub-item-list{margin-left:16px}.checklist-outliner{flex-direction:column;gap:6px;display:flex}.outliner-rows{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.outliner-row{background:var(--surface);border:1px solid var(--line);margin-left:var(--outliner-indent,0);border-radius:7px;flex-direction:column;gap:4px;padding:6px 8px;display:flex}.outliner-depth-1{--outliner-indent:0px}.outliner-depth-2{--outliner-indent:22px;background:var(--soft)}.outliner-depth-3{--outliner-indent:44px;background:var(--soft)}.outliner-row-main{align-items:center;gap:7px;display:flex}.outliner-row-guide{flex:none;width:0}.outliner-depth-2 .outliner-row-guide,.outliner-depth-3 .outliner-row-guide{border-bottom:1px solid var(--line-strong);border-left:1px solid var(--line-strong);border-bottom-left-radius:5px;width:9px;height:11px;margin-bottom:3px}.outliner-row-bullet{background:var(--berry);border-radius:999px;flex:none}.outliner-depth-1 .outliner-row-bullet{width:7px;height:7px}.outliner-depth-2 .outliner-row-bullet{background:var(--jam);width:6px;height:6px}.outliner-depth-3 .outliner-row-bullet{background:var(--line-strong);width:5px;height:5px}.outliner-row-input{background:var(--surface);border:1px solid var(--line-strong);color:var(--ink);border-radius:6px;outline:none;flex:1;min-width:0;padding:6px 9px;font-family:inherit}.outliner-depth-1 .outliner-row-input{font-size:13.5px}.outliner-depth-2 .outliner-row-input{font-size:12.5px}.outliner-depth-3 .outliner-row-input{color:var(--muted);font-size:12px}.outliner-row-input:focus{border-color:var(--berry)}.outliner-row-input::placeholder{color:var(--muted);font-style:italic}.outliner-row-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.outliner-arrow-btn{border:1px solid var(--line-strong);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;width:26px;height:23px;display:inline-flex}.outliner-arrow-btn:hover:not(:disabled){background:var(--surface);border-color:var(--berry);color:var(--berry)}.outliner-arrow-btn:disabled{cursor:not-allowed;opacity:.35}.outliner-add-sub-btn{border:1px solid var(--line-strong);color:var(--berry);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;align-items:center;gap:3px;height:23px;padding:0 8px;font-family:inherit;font-size:11.5px;font-weight:600;display:inline-flex}.outliner-add-sub-btn:hover{background:var(--surface);border-color:var(--berry)}.outliner-delete-btn{height:23px}.outliner-add-row{background:var(--surface);border:1px dashed var(--line-strong);border-radius:6px;align-items:center;gap:8px;padding:6px 9px;display:flex}.outliner-add-row:focus-within{border-color:var(--berry);border-style:solid}.outliner-add-row-icon{color:var(--muted);flex:none}.outliner-add-input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:2px 0;font-family:inherit;font-size:13.5px}.outliner-add-input::placeholder{color:var(--muted);font-style:italic}.outliner-hint{color:var(--muted);margin:2px 0 0;font-size:11.5px}.outliner-hint kbd{background:var(--soft);border:1px solid var(--line-strong);color:var(--ink);border-radius:3px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px}.stage-steps-outline{background:#f5f7fb;border:1px solid #d8e0ee;border-radius:8px;flex-direction:column;gap:6px;padding:10px;display:flex}.specific-months{background:var(--soft);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.specific-months-label{color:var(--ink);font-size:12px;font-weight:600}.specific-months-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.specific-months-month{background:var(--surface);border:1px solid var(--line-strong);cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:5px 7px;font-size:12px;display:flex}.specific-months-month:hover{border-color:var(--berry)}.specific-months-month input{width:13px;height:13px}.specific-months-due-day{flex-direction:column;gap:4px;display:flex}.specific-months-due-day>span{color:var(--ink);font-size:12px;font-weight:600}.specific-months-due-day .compact-input{max-width:110px}.specific-months-due-dates{flex-direction:column;gap:8px;margin-top:12px;display:flex}.specific-months-due-row{align-items:center;gap:10px;display:flex}.specific-months-due-month{min-width:40px;color:var(--ink);font-size:13px;font-weight:600}.specific-months-due-row .input{max-width:180px}.specific-months-complete-badge{text-transform:uppercase;letter-spacing:.04em;color:#1f7d4d;white-space:nowrap;background:#e6f4ec;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}@media (width<=640px){.specific-months-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.stage-toggle-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.stage-toggle-btn:hover{color:var(--ink)}.form-row-actions{justify-content:flex-end;gap:8px;display:flex}.new-checklist-form{border:1px solid var(--line);background:var(--soft);border-radius:8px;margin-bottom:12px;padding:12px}.bulk-add{flex-direction:column;gap:8px;margin-top:4px;display:flex}.bulk-add-toggle{align-self:flex-start}.bulk-add-body{flex-direction:column;gap:8px;display:flex}.bulk-add-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.bulk-add-preview{color:var(--muted);font-size:12px}.visibility-panel{min-height:100%}.visibility-copy{color:var(--muted);align-items:flex-start;gap:12px;display:flex}.visibility-copy svg{color:var(--green);flex:none}.visibility-copy p{margin:0}.client-chip-list{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.client-chip-list.compact{gap:5px;margin-top:0}.client-chip-list span,.status-pill{background:var(--soft);border:1px solid var(--line);color:var(--plum);text-transform:capitalize;white-space:nowrap;border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:760;display:inline-flex}.pending-edit-pill{color:#8a5a12;background:#fff5e6;border-color:#f0c88a}.pending-edit-note{color:#8a5a12;font-weight:640}.pending-edit-summary{color:var(--ink-soft,#555049);font-style:italic}.assignment-field{border:1px solid var(--line);border-radius:8px;gap:6px;margin:0;padding:12px;display:grid}.assignment-field legend{color:var(--bluegray);padding:0 5px;font-size:12px;font-weight:760}.table-wrap{border:1px solid color-mix(in srgb, var(--line) 70%, transparent);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid color-mix(in srgb, var(--line) 75%, transparent);text-align:left;vertical-align:middle;padding:13px 14px}tbody tr:last-child td{border-bottom:none}thead th{background:var(--soft)}th{color:var(--bluegray);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:780}td{color:var(--muted);font-variant-numeric:tabular-nums}tbody tr{transition:background var(--ease)}tbody tr:hover{background:color-mix(in srgb, var(--soft) 70%, transparent)}td strong{color:var(--ink)}.compact-input{min-width:150px;min-height:34px;padding:6px 8px}.invoice-preview{border:1px solid var(--line);border-radius:8px;overflow:hidden}.report-caption{color:var(--muted);margin:0 0 14px}.payroll-controls{flex-wrap:wrap;align-items:center;gap:16px;margin:4px 0 12px;display:flex}.payroll-period-toggle{border:1px solid var(--line);border-radius:999px;display:inline-flex;overflow:hidden}.payroll-period-toggle button{background:var(--surface);color:var(--muted);cursor:pointer;border:0;padding:6px 16px;font-size:13px;font-weight:600}.payroll-period-toggle button.is-active{background:var(--berry,#8a1c4b);color:#fff}.payroll-nav{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.payroll-date{border:1px solid var(--line);font:inherit;border-radius:8px;padding:5px 8px}.payroll-exports{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.payroll-detail-heading{margin-top:22px}.payroll-member-filter{color:var(--muted-ink,#8a8494);align-items:center;gap:8px;font-size:.85rem;display:inline-flex}.payroll-member-filter select{border:1px solid var(--line);font:inherit;color:var(--ink,#2c2735);border-radius:8px;padding:5px 8px}.payroll-day-row td{background:var(--surface-2,#f7f4fb);border-top:1px solid var(--line)}.payroll-job-cell{padding-left:22px}.report-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.report-metric-card{background:var(--soft);border:1px solid var(--line);border-radius:8px;gap:4px;padding:14px;display:grid}.report-metric-card span,.report-metric-card small,.category-row-header span{color:var(--muted)}.report-metric-card strong{font-size:24px;line-height:1.1}.report-stack{gap:12px;display:grid}.category-row{gap:8px;display:grid}.category-row-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.category-bar{background:#f0e9f1;border-radius:999px;height:10px;overflow:hidden}.category-bar span{background:linear-gradient(90deg, var(--berry), var(--gold));height:100%;display:block}.invoice-context{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.invoice-context span{background:var(--soft);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:760}.invoice-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.invoice-builder{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);gap:18px;margin:4px 0 16px;padding:16px;display:grid}.invoice-builder-block{gap:9px;display:grid}.invoice-builder-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.invoice-builder-block>strong,.invoice-builder-head>strong{font-size:13px}.invoice-include-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 16px;display:grid}.invoice-include-option{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.invoice-include-option input{accent-color:var(--pink)}.invoice-edit-lines{gap:8px;display:grid}.invoice-edit-line{grid-template-columns:1.2fr 1.6fr 110px auto;align-items:center;gap:8px;display:grid}.invoice-edit-amount{text-align:right}.card-menu{position:relative}.card-menu-trigger{background:var(--surface);border:1px solid var(--line);color:var(--muted);height:30px;transition:border-color var(--ease), color var(--ease), background var(--ease);border-radius:8px;justify-content:center;align-items:center;width:30px;padding:0;display:inline-flex}.card-menu-trigger:hover,.card-menu-trigger[aria-expanded=true]{background:var(--soft);border-color:var(--line-strong);color:var(--ink)}.card-menu-list{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:30;border-radius:10px;gap:2px;min-width:165px;padding:5px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.card-menu-item{color:var(--ink);cursor:pointer;text-align:left;transition:background var(--ease);background:0 0;border:0;border-radius:7px;padding:9px 11px;font-size:13.5px;font-weight:600}.card-menu-item:hover{background:var(--soft)}.card-menu-item.danger{color:var(--red)}.card-menu-item.danger:hover{background:color-mix(in srgb, var(--red) 8%, transparent)}.icon-button{background:var(--surface);border:1px solid var(--line);color:var(--muted);height:34px;transition:border-color var(--ease), color var(--ease);border-radius:8px;justify-content:center;align-items:center;width:34px;display:inline-flex}.icon-button:hover{border-color:var(--red);color:var(--red)}.invoice-edit-total{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:4px;padding-top:9px;font-size:15px;display:flex}.invoice-edit-empty{color:var(--muted);margin:0;font-size:13px}.invoice-intro-note{color:var(--muted);margin:0 0 6px;padding:0 16px;font-size:13px}.print-intro-note{margin:10px 0 0}@media (width<=640px){.invoice-edit-line{grid-template-columns:1fr 1fr}.invoice-edit-amount{text-align:left}}.invoice-preview-header{border-bottom:1px solid var(--line);background:#fbf7f5;justify-content:space-between;align-items:center;padding:16px;display:flex}.invoice-preview-header strong,.invoice-preview-header span{display:block}.invoice-preview-header>strong{color:var(--pink);font-size:24px}.invoice-lines{display:grid}.invoice-line,.invoice-total-row{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.invoice-line+.invoice-line,.invoice-total-row{border-top:1px solid var(--line)}.invoice-line strong,.invoice-line span{display:block}.invoice-total-row{background:var(--soft);font-weight:780}.queue-row strong:last-child,.plan-row>div:last-child{text-align:right}.viewer-field{margin-top:4px}.viewer-row{justify-content:space-between;align-items:center;gap:16px;padding:4px 0;display:flex}.gantt-panel{gap:14px;display:grid}.gantt-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;display:flex}.gantt-legend-swatch{vertical-align:middle;border-radius:3px;width:18px;height:12px;margin-right:4px;display:inline-block}.gantt-wrap{border:1px solid var(--line);border-radius:8px;gap:12px;padding:14px;display:grid;overflow:hidden}.gantt-header{border-bottom:1px solid var(--line);margin-left:160px;padding-bottom:6px;display:flex}.gantt-month{border-left:1px solid var(--line);color:var(--bluegray);text-transform:uppercase;padding-left:8px;font-size:12px;font-weight:760}.gantt-month:first-child{border-left:0;padding-left:0}.gantt-group{gap:8px;display:grid}.gantt-group-label{color:var(--plum);text-transform:uppercase;font-size:13px;font-weight:760}.gantt-rows{gap:10px;display:grid}.gantt-row{grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:12px;display:grid}.gantt-track{background:var(--soft);border:1px solid var(--line);height:28px;transition:border-color var(--ease), background var(--ease);border-radius:6px;position:relative}.gantt-row-clickable:hover .gantt-track{background:color-mix(in srgb, var(--berry) 5%, var(--soft));border-color:color-mix(in srgb, var(--berry) 35%, var(--line))}.gantt-bar{color:#fff;border-radius:4px;height:18px;font-size:11px;font-weight:760;position:absolute;top:5px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff29}.gantt-bar-label{text-overflow:ellipsis;white-space:nowrap;padding:0 8px;line-height:18px;display:block;overflow:hidden}.gantt-bar-not-started{background:var(--bluegray)}.gantt-bar-progress{background:var(--gold);color:#25131e}.gantt-bar-done{background:var(--green)}.gantt-bar-overdue{background:var(--red)}.gantt-diamond{background:var(--plum);border:2px solid var(--surface);box-shadow:var(--shadow-sm);border-radius:2px;width:12px;height:12px;position:absolute;top:8px;transform:rotate(45deg)}.gantt-today{background:#ad304299;width:1px;position:absolute;top:0;bottom:0}.gantt-meta{gap:2px;font-size:12px;display:grid}.gantt-meta strong{color:var(--ink);font-size:13px}.gantt-meta span{color:var(--muted)}.print-document{display:none}@media (width<=1100px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:40;width:min(300px,84vw);height:100vh;transition:transform .24s cubic-bezier(.4,0,.2,1);position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.sidebar.open{transform:none}.nav-backdrop{z-index:35;cursor:pointer;background:#20182373;border:0;padding:0;display:block;position:fixed;inset:0}.nav-toggle{display:inline-flex}.two-column,.client-layout,.reports-layout,.invoice-layout{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}@media (width<=760px){body{font-size:14px}.workspace{padding:18px}.section-heading,.entry-row,.queue-row,.plan-row{flex-direction:column;align-items:stretch}.topbar{margin:-18px -18px 0;padding:10px 18px;position:static}.topbar-actions{justify-content:flex-start}.summary-strip,.form-grid,.report-metric-grid,.template-grid,.client-layout>.panel:last-child .form-grid.single{grid-template-columns:1fr}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-meta,.queue-row strong:last-child,.plan-row>div:last-child{text-align:left}th,td{padding:10px 8px}}@media print{@page{margin:.55in;size:letter}body{background:#fff}body.printing-invoice .app-shell{display:none}body.printing-invoice .print-document{color:#1b1720;font-family:Georgia,Times New Roman,serif;display:block}.print-sheet{gap:28px;display:grid}.print-sheet header,.print-meta,.print-sheet footer{justify-content:space-between;align-items:start;display:flex}.print-sheet header strong{font-size:26px;display:block}.print-sheet header span,.print-meta span,.print-meta small{color:#5a5360;display:block}.print-meta{border-top:2px solid #1b1720;border-bottom:2px solid #1b1720;padding:18px 0}.print-meta strong{margin:4px 0;font-size:17px;display:block}.print-sheet table{border-collapse:collapse;width:100%}.print-sheet th,.print-sheet td{color:#1b1720;border-bottom:1px solid #d8d3dc;padding:13px 8px}.print-sheet th:last-child,.print-sheet td:last-child{text-align:right}.print-sheet footer{border-top:2px solid #1b1720;padding-top:18px;font-size:22px}.print-sheet p{color:#5a5360;margin:0}}.sharing-control{border-top:1px solid var(--line);flex-direction:column;gap:10px;margin-top:12px;padding-top:12px;display:flex}.sharing-helper{color:var(--muted);margin:0;font-size:12px}.sharing-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sharing-chip{border:1px solid var(--line);background:#f3eef4;border-radius:999px;align-items:center;gap:6px;padding:4px 8px 4px 10px;font-size:12px;display:inline-flex}.sharing-chip.owner-chip{background:#3c204414;border-color:#3c20442e}.sharing-chip strong{font-size:12px}.sharing-chip .chip-status{border:1px solid var(--line);color:var(--muted);background:#ffffffb3;border-radius:999px;padding:1px 8px;font-size:11px}.sharing-chip .chip-toggle{cursor:pointer}.sharing-chip .chip-toggle:hover{color:var(--ink);background:#fff}.sharing-chip .chip-remove{color:var(--muted);background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:flex}.sharing-chip .chip-remove:hover{color:var(--red);background:#ad30421f}.sharing-add{position:relative}.add-person-pill{border:1px dashed var(--line-strong);color:var(--muted);background:0 0;border-radius:999px;padding:4px 10px;font-size:12px}.add-person-pill:hover{border-color:var(--bluegray);color:var(--ink);background:#fff}.sharing-add-menu{border:1px solid var(--line);box-shadow:var(--shadow);z-index:40;background:#fff;border-radius:8px;flex-direction:column;min-width:220px;max-height:300px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.sharing-add-search{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;margin-bottom:4px;padding:6px 8px;font-size:13px;position:sticky;top:0}.sharing-add-empty{color:var(--muted);padding:6px 10px;font-size:12px}.sharing-add-menu button{text-align:left;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:13px}.sharing-add-menu button:hover{background:var(--soft)}.repeating-task-body .sharing-add,.stage-card-body .sharing-add{flex-direction:column;align-self:flex-start;align-items:flex-start;display:flex}.repeating-task-body .sharing-add-menu,.stage-card-body .sharing-add-menu{min-width:0;margin-top:6px;position:static}.filter-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:14px;padding-bottom:12px;display:flex}.filter-field{flex-direction:column;gap:4px;font-size:12px;display:flex}.filter-field span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.clear-filters-link{color:var(--berry);background:0 0;border:none;margin-left:auto;padding:6px 0;font-size:13px;text-decoration:underline}.clear-filters-link:hover{color:var(--jam)}.checklist-group{flex-direction:column;gap:10px;display:flex}.checklist-group-header{border:none;border-bottom:1px solid var(--line);color:var(--ink);text-align:left;background:0 0;align-items:center;gap:8px;padding:8px 0;font-size:13px;display:flex}.checklist-group-header strong{letter-spacing:.02em;text-transform:uppercase;font-size:13px}.checklist-group-header span{background:var(--soft);color:var(--muted);border-radius:999px;padding:1px 8px;font-size:11px}.checklist-group-body{flex-direction:column;gap:12px;display:flex}.checklist-block.focused{border-color:var(--berry);box-shadow:0 0 0 2px #8e2f5226}.checklist-meta-line{color:var(--muted);font-size:12px}.checklist-card-client{color:var(--ink,#2c2735);font-size:1.05rem;font-weight:700;line-height:1.25;display:block}.checklist-card-title-sub{color:var(--muted);margin-top:1px;font-size:.9rem;display:block}.checklist-card-title{display:block}.time-side-stack{flex-direction:column;gap:18px;min-width:0;display:flex}.panel-collapse-btn{color:var(--muted-ink,#8a8494);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:2px;display:inline-flex}.panel-collapse-btn:hover{color:var(--ink,#2c2735)}.section-heading>.panel-collapse-btn+div{margin-right:auto}.entry-list--scroll{max-height:58vh;padding-right:6px;overflow-y:auto}.panel--sent-back{border-color:var(--border-danger,#e3b7b7);box-shadow:inset 3px 0 0 var(--text-danger,#a32d2d)}.status-pill--sent-back{background:var(--bg-danger,#fceaea);border-color:var(--border-danger,#e3b7b7);color:var(--text-danger,#a32d2d);text-transform:none;font-weight:600}.client-time-running{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.client-time-running p{color:var(--muted-ink,#8a8494);margin:0;font-size:.9rem}.series-scope-prompt{border:1px solid var(--line);background:var(--surface-2,#f7f4fb);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;display:flex}.series-scope-text{color:var(--ink,#2c2735);font-size:.9rem;font-weight:600}.series-scope-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.quick-template-form{background:var(--soft);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.quick-row{flex-direction:column;gap:8px;display:flex}.quick-row-meta{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.quick-title{font-size:15px;font-weight:600}.quick-items{min-height:110px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.template-card-actions{gap:8px;display:flex}.gantt-row-clickable{cursor:pointer;text-align:left;background:0 0;border:none;width:100%;padding:0}.gantt-row-clickable:hover .gantt-bar{filter:brightness(.95)}.gantt-row-clickable:focus-visible{outline:2px solid var(--berry);outline-offset:2px}.auth-footer{color:#6e6571;text-align:center;margin-top:16px;font-size:13px}.team-invite-form{grid-template-columns:1fr 1fr 200px auto;align-items:end;gap:12px;margin-top:12px;display:grid}@media (width<=900px){.team-invite-form{grid-template-columns:1fr}}.team-error{color:#b8324f;margin-top:12px;font-size:14px}.team-muted{color:#6e6571;margin:12px 0 0;font-size:14px}.team-invite-success{background:#f5efe9;border:1px solid #e0d6cb;border-radius:12px;margin-top:18px;padding:16px}.team-invite-success-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.team-success-copy{color:#4a3f3f;margin:0 0 12px;font-size:13px}.team-magic-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.team-magic-url{word-break:break-all;min-width:240px;color:var(--ink);background:#fff;border:1px solid #e0d6cb;border-radius:8px;flex:1;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.team-list{flex-direction:column;gap:12px;margin:16px 0 0;padding:0;list-style:none;display:flex}.team-card{background:var(--surface);border:1px solid #e6dfd6;border-radius:12px;overflow:hidden}.team-card-top{align-items:stretch;display:flex}.team-card-reorder{flex-direction:column;justify-content:center;gap:4px;padding-left:10px;display:flex}.team-reorder-btn{background:var(--surface);color:#6e6571;cursor:pointer;border:1px solid #e6dfd6;border-radius:6px;justify-content:center;align-items:center;width:26px;height:20px;padding:0;display:flex}.team-reorder-btn:hover:not(:disabled){color:#3c2044;background:#faf6f2}.team-reorder-btn:disabled{opacity:.35;cursor:default}.team-card-header{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:14px 16px;display:flex}.team-card-header:hover{background:#faf6f2}.team-card-identity{flex-direction:column;gap:2px;display:flex}.team-card-email{color:#6e6571;font-size:13px}.team-card-meta{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.team-role-badge{color:var(--ink);background:#efe8e1;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.team-status-badge{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.team-status-active{color:#2f6f3a;background:#e6f1e3}.team-status-revoked{color:#a23636;background:#fbe1e1}.team-card-last-active{color:#6e6571}.team-card-body{border-top:1px solid #f0e8de;flex-direction:column;gap:16px;padding:16px;display:flex}.team-actions{flex-wrap:wrap;gap:8px;display:flex}.team-cost-rate{flex-direction:column;gap:6px;display:flex}.team-cost-rate label{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:13px;display:flex}.team-cost-hint{color:var(--muted);font-size:11.5px}.team-cost-input-row{align-items:center;gap:8px;display:flex}.team-cost-prefix{color:var(--muted);font-size:13px}.team-cost-input-row input{border:1px solid #d6cdc4;border-radius:8px;width:96px;padding:7px 10px;font-size:13px}.team-icon-button{background:var(--surface);color:var(--ink);cursor:pointer;border:1px solid #d6cdc4;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;display:inline-flex}.team-icon-button:hover{background:#faf6f2}.team-danger-button{color:#a23636;cursor:pointer;background:#fff;border:1px solid #e3bcc1;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;display:inline-flex}.team-danger-button:hover{background:#fbe1e1}.team-activity h4{margin:0 0 8px;font-size:14px}.team-activity-list{flex-direction:column;gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.team-activity-list li{border-bottom:1px dashed #ece4da;justify-content:space-between;gap:12px;padding:6px 0;display:flex}.team-activity-list li:last-child{border-bottom:none}.team-activity-time{color:#6e6571;white-space:nowrap}.client-name-link{color:inherit;align-items:center;gap:4px;text-decoration:none;display:inline-flex}.client-name-link:hover{text-decoration:underline}.client-detail{flex-direction:column;gap:18px;display:flex}.client-detail-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.back-link{color:#6e6571;align-items:center;gap:6px;font-size:13px;text-decoration:none;display:inline-flex}.back-link:hover{color:#1f1d1a}.saved-flash{color:#2f7d4f;background:#e6f4ec;border-radius:999px;padding:4px 10px;font-size:12px}.sync-indicator{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:12px;font-weight:600;display:inline-flex}.sync-indicator.sync-ok{color:#2f7d4f;background:#e6f4ec}.sync-indicator.sync-saving{color:#5a6577;background:#eef1f6}.sync-indicator.sync-bad{color:#b23535;background:#fdeaea}.field-label-row{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.save-badge{letter-spacing:.01em;text-transform:none;border-radius:999px;align-items:center;gap:3px;padding:1px 7px;font-size:10.5px;font-weight:600;display:inline-flex}.save-badge-saving{color:#5a6577;background:#eef1f6}.save-badge-saved{color:#2f7d4f;background:#e6f4ec}.save-badge-error{color:#b23535;background:#fdeaea}.client-section-heading{align-items:center;gap:12px;display:flex}.list-sticky-head{top:var(--topbar-h,64px);z-index:12;background:var(--surface);border-bottom:1px solid color-mix(in srgb, var(--line) 75%, transparent);margin:0 -22px;padding:12px 22px 8px;position:sticky}.list-sticky-head .section-heading{margin-bottom:12px}.client-section-heading--sticky{top:var(--topbar-h,64px);z-index:12;background:var(--surface);border-bottom:1px solid color-mix(in srgb, var(--line) 75%, transparent);padding:6px 0 10px;position:sticky}.client-section.collapsed .client-section-heading{margin-bottom:0}.section-collapse-btn{color:var(--muted,#6e6571);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:inline-flex}.section-collapse-btn:hover{background:var(--surface-2,#f3f0f4);color:var(--berry,#8e2f52)}.client-section-title{flex:1;min-width:0}.client-section-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.section-lock-btn{background:var(--surface-2,#f3f0f4);border:1px solid var(--line,#e4dfe6);color:var(--ink,#2a2430);cursor:pointer;border-radius:7px;align-items:center;gap:5px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.section-lock-btn:hover{border-color:var(--berry,#8e2f52);color:var(--berry,#8e2f52)}.section-lock-btn.unlocked{background:var(--berry,#8e2f52);border-color:var(--berry,#8e2f52);color:#fff}.section-lock-btn.unlocked:hover{color:#fff;opacity:.92}.client-section-body.locked{opacity:.62}.section-locked-hint{color:var(--muted,#6e6571);align-items:center;gap:6px;margin:0 0 14px;font-size:12.5px;display:flex}.reimbursements-body{display:block}.reimbursements-bare-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.client-detail-title{margin:0}.title-input{font:inherit;width:100%;max-width:480px;color:inherit;background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 6px;font-size:24px;font-weight:700}.title-input:hover,.title-input:focus{background:#fff;border-color:#ece4da;outline:none}.danger-action{color:#b13a3a;cursor:pointer;background:#fff;border:1px solid #e6c4c4;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:inline-flex}.danger-action:hover{background:#fbeded}.form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.field.full-row{grid-column:1/-1}.field-helper{color:#6e6571;margin-top:4px;font-size:12px;line-height:1.4;display:block}.toggle-field{background:#faf6f1;border:1px solid #ece4da;border-radius:10px;padding:12px 14px}.toggle-label{align-items:center;gap:8px;display:inline-flex}.logo-preview{background:#faf6f1;border:1px dashed #ece4da;border-radius:10px;justify-content:center;align-items:center;min-height:96px;padding:12px;display:flex}.logo-preview img{object-fit:contain;max-width:100%;max-height:80px}.muted-text{color:#6e6571;margin:0;font-size:13px}.mini-heading{text-transform:uppercase;letter-spacing:.04em;color:#6e6571;margin:0 0 8px;font-size:13px}.activity-list li{background:#faf6f1;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.activity-list li span{color:#6e6571;font-size:12px}.invoice-payment-terms{color:#6e6571;border-top:1px dashed #ece4da;justify-content:space-between;margin-top:10px;padding:8px 0;font-size:13px;display:flex}.invoice-pay-row{justify-content:flex-end;margin-top:12px;display:flex}.invoice-pay-button{text-decoration:none}.invoice-footer-note{color:#6e6571;border-top:1px dashed #ece4da;margin:12px 0 0;padding-top:10px;font-size:13px}.invoice-subtotals{flex-direction:column;gap:4px;margin-top:8px;display:flex}.invoice-subtotal-row{color:#6e6571;justify-content:space-between;padding:0 4px;font-size:12px;display:flex}.print-logo{object-fit:contain;max-width:200px;max-height:56px}.print-subtotal-row td{color:#6e6571;font-style:italic}.print-terms{gap:8px;margin-top:12px;font-size:13px;display:flex}.invoice-pay-print{background:#fdf5e1;border:1px solid #d9c8a3;border-radius:8px;flex-direction:column;gap:4px;margin-top:12px;padding:10px 12px;display:flex}.print-footer-note{color:#6e6571;margin-top:14px;font-size:13px}@media (width<=720px){.form-grid.two-col{grid-template-columns:1fr}}.stage-badge{text-transform:uppercase;letter-spacing:.04em;color:#1c4587;background:#ecf3ff;border-radius:999px;align-items:center;gap:6px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.stage-badge-link{color:#1c4587;text-transform:none;letter-spacing:0;font-weight:500;text-decoration:underline}.checklist-progress-badge{background:var(--surface-2,#13344a0f);color:var(--muted);border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600}.checklist-due-cue{color:#1c6b46;white-space:nowrap;background:#217a4e1a;border-radius:999px;margin-left:6px;padding:1px 8px;font-weight:600}.checklist-due-cue.overdue{color:#b3261e;background:#c834341f}.stages-accordion{flex-direction:column;gap:12px;margin:12px 0;display:flex}.stage-card{background:#fbf9f3;border:1px solid #e5dfd2;border-radius:10px;overflow:hidden}.stage-card.dragging{opacity:.5}.stage-card.drop-target{outline:2px dashed #c7a248}.stage-card-header{cursor:grab;background:#f3ecd9;align-items:center;gap:8px;padding:8px 10px;display:flex}.stage-card-header:active{cursor:grabbing}.stage-card-body{flex-direction:column;gap:10px;padding:10px 12px;display:flex}.stage-name-input{flex:auto}.stage-index-pill{text-transform:uppercase;letter-spacing:.04em;color:#6b5f3a;background:#fff;border:1px solid #d8caa1;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.stage-meta-row{flex-wrap:wrap;gap:12px;display:flex}.stage-meta-row .field{flex:180px;min-width:180px}.case-detail.content-grid{grid-template-columns:2fr 1fr;gap:16px;display:grid}@media (width<=960px){.case-detail.content-grid{grid-template-columns:1fr}}.case-timeline{flex-direction:column;gap:14px;margin:12px 0 0;padding:0;list-style:none;display:flex}.case-timeline-row{align-items:flex-start;gap:12px;display:flex}.case-timeline-dot{color:#fff;background:#1c4587;border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;height:28px;font-size:13px;font-weight:600;display:flex}.case-timeline-body{flex-direction:column;flex:auto;gap:4px;display:flex}.case-timeline-title{align-items:center;gap:8px;display:flex}.case-timeline-meta{color:#6e6571;font-size:13px}.activity-list{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.activity-row{background:#fbf9f3;border:1px solid #e5dfd2;border-radius:8px;flex-direction:column;padding:8px 10px;font-size:13px;display:flex}.activity-action{font-weight:600}.activity-target{color:#4a4640}.activity-time{color:#8a8378;font-size:12px}.content-grid.one-column{grid-template-columns:minmax(0,1fr)}.subsection-heading{margin:8px 0 4px}.subsection-heading h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0;font-size:14px;font-weight:600}.new-task-menu{position:relative}.new-task-menu-popover{border:1px solid var(--line);z-index:30;background:#fff;border-radius:10px;flex-direction:column;gap:2px;min-width:240px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #00000014}.new-task-menu-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.new-task-menu-item:hover,.new-task-menu-item:focus-visible{background:var(--soft)}.new-task-menu-item strong{font-size:14px;font-weight:600}.new-task-menu-item span{color:var(--muted);font-size:12px}.new-task-form{background:#f5f7fb;border:1px solid #d8e0ee;border-radius:12px;flex-direction:column;gap:12px;margin-bottom:16px;padding:16px;display:flex}.new-task-form-mode-pill{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:#1c4587;border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:11px;font-weight:600}.new-task-field{flex-direction:column;gap:4px;min-width:0;display:flex}.new-task-field>span{color:var(--ink);font-size:12px;font-weight:600}.new-task-field-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.new-task-hint{color:var(--muted);margin-top:2px;font-size:11px}.link-action{color:#1c4587;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:13px;text-decoration:underline}.link-action:hover{color:#15366b}.hand-off-block{flex-direction:column;gap:6px;display:flex}.hand-off-stages{flex-direction:column;gap:10px;display:flex}.hand-off-stage-row{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.hand-off-stage-header{justify-content:space-between;align-items:center;display:flex}.hand-off-stage-fields{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.start-first-now-row{color:var(--ink);background:#eef2fb;border:1px solid #d8e0ee;border-radius:8px;align-items:flex-start;gap:8px;padding:8px 10px;font-size:13px;display:flex}.start-first-now-row input{margin-top:2px}.checklist-in-progress{flex-direction:column;gap:12px;display:flex}.group-by-toggle{align-items:center;gap:4px;display:flex}.group-by-label{color:var(--muted);margin-right:2px;font-size:12px;font-weight:600}.group-by-btn{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;padding:3px 12px;font-size:12px;font-weight:600}.group-by-btn:hover{border-color:var(--line-strong)}.group-by-btn.active{background:var(--plum);border-color:var(--plum);color:#fff}.stage-steps-box-label{color:var(--ink);font-size:12px;font-weight:600}.stage-fine-tune{font-size:13px}.stage-fine-tune>summary{color:#1c4587;cursor:pointer;font-size:12px;font-weight:600}.stage-schedule{flex-direction:column;gap:6px;display:flex}.stage-schedule-title{color:var(--ink);font-size:12px;font-weight:600}.stage-schedule-options{flex-direction:column;gap:6px;display:flex}.stage-schedule-radio{color:var(--ink);align-items:center;gap:8px;font-size:13px;display:flex}.stage-schedule-offset{width:64px}.stage-schedule-date{margin-left:6px}.apply-to-client{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.apply-to-client-error{color:var(--red);font-size:12px}.repeating-task-explainer{color:var(--muted);margin:0;padding:0 14px 8px;font-size:12px}.repeating-task-row.open .repeating-task-explainer{border-bottom:1px solid var(--line);padding-bottom:10px}.section-subtext{color:var(--muted);margin:2px 0 0;font-size:12px}.repeating-task-list{flex-direction:column;gap:6px;display:flex}.repeating-task-row{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.repeating-task-row.open{box-shadow:0 2px 8px #0000000a}.repeating-task-row-focused{border-color:var(--accent,#2563eb);animation:1.6s ease-out repeating-task-focus-pulse;box-shadow:0 0 0 2px #2563eb40}@keyframes repeating-task-focus-pulse{0%{box-shadow:0 0 0 4px #2563eb73}to{box-shadow:0 0 0 2px #2563eb40}}.repeating-task-summary{cursor:pointer;text-align:left;background:0 0;border:none;grid-template-columns:minmax(140px,1.4fr) repeat(4,minmax(0,1fr)) auto auto;align-items:center;gap:12px;width:100%;padding:10px 14px;display:grid}.repeating-task-summary:hover{background:var(--soft)}.repeating-task-title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.repeating-task-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.repeating-task-toggle-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600}.repeating-task-toggle-pill.on{color:#1e6f3b;background:#e6f4ea}.repeating-task-toggle-pill.off{color:#6b6b6b;background:#f1f1f1}.repeating-task-chevron{color:var(--muted);align-items:center;display:inline-flex}.repeating-task-body{border-top:1px solid var(--line);flex-direction:column;gap:14px;padding:14px;display:flex}.staff-template-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.staff-recurring-groups{flex-direction:column;gap:10px;margin-top:8px;display:flex}.staff-recurring-client{border-top:1px solid var(--hairline,#ece8f0);padding-top:10px}.staff-recurring-client:first-child{border-top:0;padding-top:0}.staff-recurring-client .staff-template-list{margin-top:8px}.staff-template-row{border:1px solid var(--line);background:#fff;border-radius:8px}.staff-template-summary{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.staff-template-summary:hover{background:var(--soft)}.staff-template-meta{color:var(--muted);margin-left:auto;font-size:12px}.staff-template-body{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding:10px 14px 12px;display:flex}.staff-template-stage-name{color:var(--muted);margin:0 0 4px;font-size:12px;font-weight:600}.staff-template-steps,.staff-template-substeps{margin:0;padding-left:18px}.staff-template-steps>li{margin:2px 0}.staff-template-substeps{color:var(--muted);list-style:circle}.repeating-task-on-off-row{align-self:end;align-items:center;gap:8px;min-height:38px;display:flex}.repeating-task-on-off-row span{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:600}@media (width<=720px){.repeating-task-summary{grid-template-columns:1fr auto;grid-auto-rows:auto}.repeating-task-meta{grid-column:1/-1}.repeating-task-toggle-pill,.repeating-task-chevron{grid-column:auto}}.dashboard-page{flex-direction:column;gap:28px;display:flex}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dashboard-header h1{color:var(--plum);margin:0;font-size:26px}.dashboard-greeting{color:var(--muted);margin:4px 0 0;font-size:13px}.dashboard-quick-actions{flex-wrap:wrap;gap:8px;display:flex}.quick-action{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .12s,box-shadow .12s,border-color .12s;display:inline-flex}.quick-action:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.dashboard-alerts{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.alert-card{border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:var(--ink);border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:18px;transition:transform .12s,box-shadow .12s;display:flex}.alert-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.alert-card strong{font-size:28px;line-height:1}.alert-card span{font-size:13px;font-weight:600}.alert-card small{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.alert-red{background:color-mix(in srgb, var(--red) 3%, var(--surface));border-color:color-mix(in srgb, var(--red) 38%, var(--line));color:var(--red)}.alert-red small{color:var(--red);opacity:.7}.alert-amber{background:color-mix(in srgb, var(--gold) 4%, var(--surface));border-color:color-mix(in srgb, var(--gold) 42%, var(--line));color:var(--gold)}.alert-amber small{color:var(--gold);opacity:.75}.alert-info{background:color-mix(in srgb, var(--bluegray) 3%, var(--surface));border-color:color-mix(in srgb, var(--bluegray) 32%, var(--line));color:var(--bluegray)}.alert-info small{color:var(--bluegray);opacity:.7}.dashboard-section{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px}.dashboard-section h2{color:var(--plum);margin:0 0 12px;font-size:16px}.dashboard-section-more{color:var(--berry);margin-top:10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.dashboard-section-more:hover{text-decoration:underline}.dashboard-queue{flex-direction:column;gap:16px;display:flex}.queue-group h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 8px;font-size:13px}.queue-count{background:var(--soft);color:var(--plum);border-radius:999px;margin-left:4px;padding:1px 8px;font-size:11px}.queue-group ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.queue-row{border:1px solid var(--line);background:var(--soft);border-radius:10px;padding:10px 12px}.queue-row-header{cursor:pointer;flex-direction:column;display:flex}.queue-row-meta{color:var(--muted);font-size:12px}.queue-row-items{gap:4px!important;margin-top:8px!important}.queue-row-items label{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.queue-item-done{color:var(--muted);text-decoration:line-through}.dashboard-team-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.team-card{border:1px solid var(--line);background:var(--soft);border-radius:12px;flex-direction:column;gap:6px;padding:12px;display:flex}.team-card-name{flex-direction:column;display:flex}.team-card-name span{color:var(--muted);font-size:12px}.team-card-stats{color:var(--muted);gap:12px;font-size:12px;display:flex}.team-card-stats span{align-items:center;gap:4px;display:inline-flex}.team-card-overdue{font-weight:600;color:var(--red)!important}.team-card-meta{color:var(--muted);font-size:11px}.team-card-link{color:var(--berry);margin-top:4px;font-size:12px;text-decoration:none}.dashboard-cases{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.dashboard-case-row{border:1px solid var(--line);background:var(--soft);border-radius:10px;grid-template-columns:2fr 1fr 1fr auto auto;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:grid}.dashboard-case-main{flex-direction:column;display:flex}.dashboard-case-client,.dashboard-case-stage,.dashboard-case-holder{color:var(--muted);font-size:12px}.dashboard-case-link{color:var(--berry);font-weight:600;text-decoration:none}.status-pill-red{background:var(--red);color:#fff}.dashboard-activity{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dashboard-activity li{color:var(--ink);border-bottom:1px dashed var(--line);grid-template-columns:140px 1fr 1fr 130px;gap:10px;padding:6px 0;font-size:12px;display:grid}.dashboard-activity-actor{font-weight:600}.dashboard-activity-action{color:var(--muted)}.dashboard-activity-target{color:var(--muted);word-break:break-word}.dashboard-activity-time{color:var(--muted);text-align:right}.dashboard-kpi{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px}.dashboard-kpi h2{color:var(--plum);margin:0 0 12px;font-size:16px}.dashboard-kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.kpi-stat{background:var(--soft);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:2px;padding:12px;display:flex}.kpi-stat strong{color:var(--plum);font-size:22px}.kpi-stat span{color:var(--muted);font-size:12px}@media (width<=900px){.dashboard-alerts,.dashboard-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-case-row{grid-template-columns:1fr 1fr}.dashboard-activity li{grid-template-columns:1fr}}.preview-banner{z-index:30;color:var(--plum);background:#f1e8f6;border:1px solid #c5a8d6;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:10px 18px;font-size:13px;display:flex;position:sticky;top:0}.preview-banner strong{color:var(--plum)}.preview-banner-exit{background:var(--plum);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600}.preview-banner-exit:hover{background:var(--berry)}.preview-disabled{opacity:.55;pointer-events:none}.dashboard-view-as{justify-content:flex-end;display:flex}.dashboard-view-as label{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.dashboard-view-as select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:4px 8px;font-size:12px}.dashboard-watching{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.dashboard-watching-row{border:1px solid var(--line);background:var(--soft);border-radius:10px;grid-template-columns:2fr 1fr 1fr auto auto;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:grid}@media (width<=900px){.dashboard-watching-row{grid-template-columns:1fr 1fr}}.productivity-layout{gap:18px;display:grid}.productivity-header h1{margin:0 0 4px}.productivity-subtitle{color:var(--muted);margin:0}.productivity-controls{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);z-index:5;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex;position:sticky;top:8px}.productivity-control{flex-direction:column;align-items:center;gap:4px;display:inline-flex}.productivity-control>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.productivity-control select,.productivity-control input{background:var(--soft);border:1px solid var(--line);color:var(--ink);border-radius:6px;min-height:32px;padding:4px 8px}.productivity-segmented{background:var(--soft);border:1px solid var(--line);border-radius:999px;display:inline-flex;overflow:hidden}.productivity-segmented button{color:var(--muted);background:0 0;border:0;padding:6px 14px}.productivity-segmented button.is-active{background:var(--berry);color:#fffaf3}.productivity-range-pill{background:var(--soft);border:1px solid var(--line);color:var(--muted);border-radius:999px;margin-left:auto;padding:4px 10px;font-size:12px}.productivity-table th button.productivity-sort-btn{color:inherit;font:inherit;text-align:left;background:0 0;border:0;padding:0}.productivity-row{cursor:pointer}.productivity-row:hover{background:var(--soft)}.productivity-row-sub{color:var(--muted);font-size:12px}.productivity-pill{background:var(--soft);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px}.productivity-back{border:1px solid var(--line);color:var(--berry);background:0 0;border-radius:6px;padding:4px 10px}.productivity-footnote{color:var(--muted);margin-top:12px;font-size:12px}.productivity-chart{grid-template-columns:40px 1fr;gap:10px;height:220px;margin-top:16px;display:grid}.productivity-chart-y{color:var(--muted);text-align:right;flex-direction:column;justify-content:space-between;align-items:flex-end;padding-right:6px;font-size:11px;display:flex}.productivity-chart-bars{border-bottom:1px solid var(--line);border-left:1px solid var(--line);align-items:flex-end;gap:8px;padding:4px 4px 0;display:flex}.productivity-chart-period{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:0;height:100%;display:flex}.productivity-chart-pair{flex:1;align-items:flex-end;gap:2px;width:100%;display:flex}.productivity-chart-bar{border-radius:3px 3px 0 0;flex:1}.productivity-chart-bar-hours{background:color-mix(in srgb, var(--berry) 70%, transparent)}.productivity-chart-bar-items{background:var(--plum)}.productivity-chart-tick{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;text-align:center;width:100%;margin-top:4px;font-size:10px;overflow:hidden}.productivity-chart-legend{color:var(--muted);align-items:center;gap:16px;margin:8px 0 16px;font-size:12px;display:flex}.productivity-legend-swatch{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.productivity-legend-hours{background:color-mix(in srgb, var(--berry) 70%, transparent)}.productivity-legend-items{background:var(--plum)}.productivity-heatmap{gap:4px;margin-top:12px;display:grid;overflow-x:auto}.productivity-heatmap-header,.productivity-heatmap-row{grid-template-columns:140px repeat(var(--cols,auto-fill), minmax(24px, 1fr));align-items:center;gap:4px;display:grid}.productivity-heatmap-header{color:var(--muted);font-size:10.5px}.productivity-heatmap-tick{text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.productivity-heatmap-label{color:var(--muted);font-size:12px}.productivity-heatmap-cell{background:var(--soft);border-radius:4px;min-width:24px;height:26px;display:block}.productivity-heatmap-cell:hover{outline:1px solid var(--berry);outline-offset:-1px}@media (width<=760px){.productivity-controls{position:static}.productivity-range-pill{margin-left:0}}.brand-mark-img{object-fit:cover;border-radius:6px;width:100%;height:100%;display:block}.page-actions{justify-content:flex-end;align-items:center;gap:8px;margin:8px 0;display:flex}.ghost-action{background:var(--surface);border:1px solid var(--line-strong);color:var(--ink);border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.ghost-action:hover{background:var(--soft);border-color:var(--plum);transform:translateY(-1px)}.danger-action{transition:background var(--ease), border-color var(--ease), transform var(--ease)}.danger-action:hover{transform:translateY(-1px)}.plan-row,.active-checklist-row{transition:box-shadow var(--ease), border-color var(--ease), transform var(--ease)}.plan-row:hover,.active-checklist-row:hover{border-color:color-mix(in srgb, var(--berry) 35%, var(--line));box-shadow:var(--shadow-md);transform:translateY(-1px)}.invoice-line strong,.invoice-total strong,.status-pill{font-variant-numeric:tabular-nums}h2{letter-spacing:-.01em}.settings-layout{gap:18px}.print-header{display:none}.print-header-firm{align-items:flex-start;gap:14px;display:flex}.print-header-logo{object-fit:contain;max-width:200px;height:56px}.print-header-firm-text strong{font-size:18px;display:block}.print-header-firm-text span{color:#5a5360;font-size:12px;display:block}.print-header-report h2{margin:0}.print-header-report .print-header-meta{color:#5a5360;margin:4px 0 0;font-size:12px}@media print{@page{margin:.55in;size:letter}body{background:#fff}.sidebar,.topbar,.preview-banner,.summary-strip,.dashboard-view-as,.filter-bar,.productivity-controls,.no-print{display:none!important}.app-shell{display:block}.workspace{width:100%!important;margin:0!important;padding:0!important}.print-header{color:#1b1720;border-bottom:2px solid #1b1720;justify-content:space-between;align-items:flex-start;margin-bottom:18px;padding-bottom:12px;display:flex}.report-section{page-break-inside:avoid}.panel{box-shadow:none;page-break-inside:avoid;background:#fff}.productivity-header h1,.reports-layout h1{margin-top:0}}.time-status-pill{border-radius:999px;padding:2px 9px;font-size:11px;font-weight:760;display:inline-flex}.time-status-pending{border:1px solid var(--gold);color:var(--gold);background:#d39b2a29}.time-status-approved{border:1px solid var(--green);color:var(--green);background:#23745a24}.time-status-rejected{border:1px solid var(--red);color:var(--red);background:#ad304224}.entry-tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.entry-reject-note{color:var(--red);margin-top:5px}.entry-row-actions{gap:12px;margin-top:8px;display:flex}.link-action{color:var(--berry);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:700}.link-action:hover{text-decoration:underline}.link-action.danger{color:var(--red)}.link-action:disabled{cursor:not-allowed;opacity:.55}.entry-row-editing{display:block}.entry-edit-fields{gap:10px;display:grid}.lock-banner{border:1px solid var(--gold);background:#d39b2a1f;border-radius:8px;gap:3px;margin-bottom:14px;padding:11px 13px;display:grid}.lock-banner strong{color:var(--gold);font-size:13px}.lock-banner span{color:var(--muted);font-size:12px}.approval-groups{gap:16px;display:grid}.approval-group{border:1px solid var(--line);border-radius:10px;padding:12px 14px}.approval-group-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.approval-group-header strong{color:var(--plum);font-size:14px}.approval-rows{gap:8px;display:grid}.approval-row{border:1px solid var(--line);border-radius:8px;gap:8px;padding:11px 12px;display:grid}.approval-row-main{justify-content:space-between;align-items:start;gap:12px;display:flex}.approval-row-facts{gap:3px;display:grid}.approval-row-facts strong{color:var(--plum)}.approval-row-facts span,.approval-row-facts small{color:var(--muted);font-size:12px}.approval-row-actions{flex-wrap:wrap;gap:8px;display:flex}.approval-reject-form{gap:8px;width:100%;display:grid}.time-page-header{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.time-page-header h1{margin:0}.time-page-header .section-kicker{margin:0 0 2px}.page-header-actions{gap:8px;display:flex}.panel-intro{color:var(--muted);margin:0 0 14px;font-size:13px}.manual-badge{border:1px solid var(--berry);color:var(--berry);background:#8e2f521f;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:760;display:inline-flex}.entry-manual-reason{color:var(--muted);margin-top:5px;font-style:italic;display:block}.entry-audit-times,.approval-audit-times{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:3px;display:block}.manual-duration-hint{color:var(--muted);margin:0;font-weight:600}.group-time-block{gap:8px}.group-client-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.group-client-chip{background:var(--surface,#fff);border:1px solid var(--border,#d9e1e8);cursor:pointer;transition:border-color .15s var(--ease,ease), background .15s var(--ease,ease);border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex}.group-client-chip:hover{border-color:var(--accent,#ff43a4)}.group-client-chip.is-selected{border-color:var(--accent,#ff43a4);background:#ff43a414;font-weight:600}.group-client-chip input{margin:0}.group-client-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.group-allocation-preview{background:#13344a0a;border-radius:10px;gap:8px;padding:10px 12px}.group-allocation-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.group-allocation-list li{justify-content:space-between;align-items:center;gap:10px;display:flex}.group-allocation-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.group-allocation-amount{font-variant-numeric:tabular-nums;font-weight:600}.group-allocation-input{text-align:right;max-width:110px}.group-allocation-total{border-top:1px solid var(--border,#d9e1e8);margin:0;padding-top:8px;font-weight:700}.entry-group-tag{color:#b3286f;background:#ff43a41f;border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:600}.group-split-hint{color:var(--muted);margin:0;font-size:.85rem}.entry-row-holding{background:#ff43a40d;border:1px dashed #ff43a466}.entry-needs-split{color:#8a6d1a;background:#d39b2a24;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.72rem;font-weight:600}.entry-sessions,.approval-sessions{gap:2px;margin-top:3px;display:grid}.approval-reassign{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.approval-reassign span{color:var(--muted);font-size:12px;font-weight:700}.approval-reassign select{max-width:240px}.timesheet-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.timesheet-toolbar-left{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.timesheet-weeknav{align-items:center;gap:8px;display:flex}.timesheet-week-controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.timesheet-week-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.timesheet-multiweek-hint{color:var(--muted);margin:0 0 14px;font-size:13px}.timesheet-weeklabel{text-align:center;min-width:150px;font-weight:700}.timesheet-toolbar-right{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.timesheet-employee{min-width:200px}.timesheet-weektotal{text-align:right;gap:2px;display:grid}.timesheet-weektotal span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.timesheet-weektotal strong{font-size:20px}.timesheet-days{gap:14px;display:grid}.timesheet-day{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.timesheet-day-head{background:var(--soft);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.timesheet-day-total{font-variant-numeric:tabular-nums;font-weight:700}.timesheet-rows{display:grid}.timesheet-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto auto auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.timesheet-row:last-child{border-bottom:0}.timesheet-row:hover{background:color-mix(in srgb, var(--soft) 60%, transparent)}.timesheet-row-what{gap:1px;min-width:0;display:grid}.timesheet-client{font-weight:600}.timesheet-task{color:var(--berry);font-size:12px}.timesheet-desc{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.timesheet-time{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.timesheet-arrow{color:var(--muted)}.timesheet-dur{font-variant-numeric:tabular-nums;text-align:right;min-width:56px;font-weight:700}@media (width<=640px){.timesheet-row{grid-template-columns:1fr auto;grid-template-areas:"what dur""times times"}.timesheet-row-what{grid-area:what}.timesheet-dur{grid-area:dur}.timesheet-time,.timesheet-arrow{grid-area:times;display:inline}}.checklist-meta-editor{gap:10px;max-width:520px;margin-bottom:6px;display:grid}.checklist-meta-editor-row{flex-wrap:wrap;gap:12px;display:flex}.checklist-meta-editor-row .field{flex:1;min-width:160px}.recurring-add-row{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.apply-existing-list{gap:8px;max-height:50vh;margin:4px 0;padding:0;list-style:none;display:grid;overflow-y:auto}.apply-existing-row{border:1px solid var(--line);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.apply-existing-info{gap:2px;min-width:0;display:grid}.apply-existing-meta{color:var(--muted);font-size:12px}.plan-templates-field{gap:4px;margin-top:8px;display:grid}.plan-checklists{gap:16px;display:grid}.plan-checklists-group{gap:8px;display:grid}.plan-checklists-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.plan-checklists-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.plan-checklists-row{border:1px solid var(--line);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.plan-checklist-status{white-space:nowrap;align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.plan-checklist-status.ready{color:var(--success,#1a7f4b)}.plan-checklist-status.missing{color:var(--muted)}.recurring-edit-row{gap:10px;display:grid}.recurring-edit-fields{flex-wrap:wrap;gap:12px;display:flex}.recurring-edit-fields .field{flex:1;min-width:150px}button.repeating-task-toggle-pill{cursor:pointer;font:inherit;border:0}.recurring-edit-btn{cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.client-checklist-cards{gap:14px;display:grid}.task-row-waiting{color:#8a6d1a;background:#d39b2a1f;border-radius:6px;margin-top:3px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.waiting-editor{background:#d39b2a14;border:1px solid #d39b2a4d;border-radius:8px;gap:7px;margin:4px 0 6px;padding:9px 11px;display:grid}.waiting-editor-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.waiting-editor-label{color:#8a6d1a;font-size:12px;font-weight:700}.waiting-person-select{border:1px solid var(--line);font:inherit;background:#fff;border-radius:6px;padding:4px 7px;font-size:12px}.task-row-waiting-resolved{background:var(--soft);color:var(--muted);text-decoration:none}.waiting-done-btn{background:var(--plum);border:1px solid var(--plum);color:#fff;cursor:pointer;border-radius:6px;margin-left:auto;padding:4px 10px;font-size:12px;font-weight:600;transition:filter .15s}.waiting-done-btn:hover{filter:brightness(1.12)}.waiting-clear-btn{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.waiting-clear-btn:hover{border-color:var(--ink,#13344a);color:var(--ink,#13344a);background:#13344a0f}.waiting-note-textarea{border:1px solid var(--line);font:inherit;resize:vertical;border-radius:6px;width:100%;min-height:3rem;padding:7px 9px;font-size:13px}.waiting-for-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.waiting-for-row>span{color:#8a6d1a;font-size:12px;font-weight:600}.item-waiting-toggle{border:1px solid var(--line);color:#8a6d1a;cursor:pointer;white-space:nowrap;background:#d39b2a12;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:600;line-height:1;transition:background .15s,border-color .15s,color .15s}.item-waiting-toggle:hover{background:#d39b2a29;border-color:#d39b2a80}.item-waiting-toggle.is-waiting{color:#6f5510;background:#d39b2a38;border-color:#d39b2a99}.sub-item-waiting-toggle{padding:2px 7px;font-size:11px}.sub-waiting-badge{margin-top:0}.waiting-blocker-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.waiting-blocker-chip{background:#fff;border:1px solid #d39b2a80;border-radius:999px;align-items:center;gap:7px;padding:3px 6px 3px 11px;display:inline-flex}.waiting-blocker-name{color:#6f5510;font-size:12px;font-weight:700}.waiting-blocker-note{color:var(--muted);font-size:12px}.waiting-blocker-done{background:var(--brand,#7d2a4d);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;transition:filter .15s}.waiting-blocker-done:hover{filter:brightness(1.08)}.waiting-blocker-cancel{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:0 4px;font-size:15px;line-height:1;transition:color .15s}.waiting-blocker-cancel:hover{color:#b3261e}.dashboard-waiting-on-you{gap:8px;margin:0;padding:0;list-style:none;display:grid}.waiting-on-you-row{background:#d39b2a14;border:1px solid #d39b2a4d;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.waiting-on-you-main{gap:2px;min-width:0;display:grid}.waiting-on-you-step{color:var(--ink,#13344a);font-size:14px;font-weight:700;text-decoration:none}.waiting-on-you-step:hover{text-decoration:underline}.waiting-on-you-sub{color:var(--muted);font-weight:500}.waiting-on-you-meta{color:var(--muted);font-size:12px}.waiting-on-you-done{background:var(--brand,#7d2a4d);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;padding:7px 14px;font-size:12px;font-weight:700;transition:filter .15s}.waiting-on-you-done:hover:not(:disabled){filter:brightness(1.08)}.waiting-on-you-done:disabled{cursor:not-allowed;opacity:.55}@media (width<=640px){.waiting-on-you-row{flex-direction:column;align-items:stretch}.waiting-on-you-done{width:100%}}@media (prefers-reduced-motion:reduce){.waiting-blocker-done,.waiting-blocker-cancel,.waiting-on-you-done{transition:none}}.week-review-modal{width:92vw;max-width:760px}.week-review-table{border:1px solid var(--line);border-radius:8px;margin:8px 0 14px;display:grid;overflow:hidden}.week-review-row{grid-template-columns:56px 1.2fr 1.2fr 2fr 80px 84px;align-items:center;gap:10px;padding:7px 12px;display:grid}.week-review-row+.week-review-row{border-top:1px solid var(--line)}.week-review-head{background:var(--surface-2,#13344a0d);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:700}.week-review-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.week-review-notes{color:var(--muted)}.week-review-num{font-variant-numeric:tabular-nums;text-align:right}.week-review-entry+.week-review-entry{border-top:1px solid var(--line)}.week-review-row-toggle{cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;width:100%}.week-review-row-toggle:hover{background:#13344a0a}.week-review-entry.is-open .week-review-row-toggle{background:#13344a0d}.week-review-caret{align-items:center;gap:4px;display:flex}.week-review-detail{background:var(--surface-2,#13344a08);border-top:1px dashed var(--line);gap:10px;padding:12px;display:grid}.week-review-detail-meta{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:.85rem;display:flex}.week-review-sessions{color:var(--muted);gap:2px;font-size:.8rem;display:grid}.week-review-fullnote{font-size:.9rem}.week-review-existing-note{color:#b3261e;background:#c8343414;border-radius:6px;margin:0;padding:6px 10px;font-size:.85rem}@media (width<=640px){.week-review-row{grid-template-columns:48px 1fr 1fr}.week-review-row span:nth-child(4),.week-review-row span:nth-child(5),.week-review-row span:nth-child(6){display:none}}.delayed-total{color:#8a6d1a;background:#d39b2a24;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-weight:600;display:inline-flex}.delayed-groups{gap:14px;display:grid}.delayed-client-group{padding:0;overflow:hidden}.delayed-client-header{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:14px 16px;display:flex}.delayed-client-header strong{font-size:1.02rem}.delayed-client-count{background:var(--surface-2,#13344a0f);color:var(--muted);border-radius:999px;margin-left:auto;padding:2px 10px;font-size:.78rem;font-weight:600}.delayed-client-body{gap:14px;padding:0 16px 16px;display:grid}.delayed-checklist-title{color:var(--accent,#ff43a4);margin-bottom:6px;font-weight:600;text-decoration:none;display:inline-block}.delayed-checklist-title:hover{text-decoration:underline}.delayed-row-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.delayed-row{background:#d39b2a0f;border:1px solid #d39b2a40;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.delayed-row-main{gap:2px;min-width:0;display:grid}.delayed-row-step{font-weight:600}.delayed-row-sub{color:var(--muted);font-weight:500}.delayed-row-note{color:#8a6d1a;font-size:.85rem}.delayed-row-meta{flex-shrink:0;align-items:center;gap:6px;display:flex}.delayed-row-done{color:#1c7a4a;cursor:pointer;white-space:nowrap;background:#228b5814;border:1px solid #228b5866;border-radius:999px;align-items:center;gap:4px;padding:3px 11px;font-size:.8rem;font-weight:600;display:inline-flex}.delayed-row-done:hover{background:#228b5829}.repeating-client-group{gap:8px;display:grid}.repeating-client-header{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;font:inherit;text-align:left;align-items:center;gap:8px;width:100%;padding:8px 12px;display:flex}.repeating-client-header:hover{border-color:var(--line-strong)}.repeating-client-header strong{font-size:14px}.repeating-client-count{background:var(--line);color:var(--muted);border-radius:999px;margin-left:auto;padding:1px 9px;font-size:12px;font-weight:700}.repeating-client-body{gap:8px;padding-left:6px;display:grid}.session-editor{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius-sm);gap:8px;padding:10px;display:grid}.session-editor-label{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:750}.session-edit-row{grid-template-columns:1fr 1fr auto;align-items:end;gap:8px;display:grid}.session-editor-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.session-editor-total{font-weight:700}.resume-banner{border:1px solid var(--green);border-radius:var(--radius-sm);color:var(--green);background:#23745a1a;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.resume-banner strong{color:inherit}@media (width<=640px){.session-edit-row{grid-template-columns:1fr 1fr}}.approval-row-pills{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.approval-manual-note{background:#8e2f5214;border:1px solid #8e2f5247;border-radius:7px;gap:2px;margin-top:6px;padding:7px 9px;display:grid}.approval-manual-note strong{color:var(--berry);font-size:12px}.approval-manual-note span{color:var(--ink);font-size:12px}.modal-overlay{z-index:50;background:#20182385;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;width:100%;max-width:540px;max-height:calc(100vh - 48px);padding:22px 24px;overflow-y:auto}.modal-panel:has(>.modal-body){padding:0}.modal-body{gap:14px;padding:22px 24px;display:grid}.modal-title{color:var(--plum);margin:0}.modal-intro{color:var(--muted);margin:0;font-size:13px}.rich-note-editor{gap:6px;display:grid}.rich-note-toolbar{gap:4px;display:flex}.rich-note-tool{background:var(--surface);border:1px solid var(--line);color:var(--plum);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:4px 7px;display:inline-flex}.rich-note-tool:hover{background:var(--surface-alt,#0000000a)}.client-note-body ul,.client-note-body ol{margin:4px 0;padding-left:20px}.client-note-body p{margin:4px 0}.client-note-body p:first-child{margin-top:0}.client-note-body p:last-child{margin-bottom:0}.client-checklist-modal{max-width:760px}.client-checklist-modal-head{justify-content:space-between;align-items:center;display:flex}.client-checklist-modal-section{gap:8px;display:grid}.compact-action{white-space:nowrap;padding:5px 10px;font-size:13px}.client-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.compact-action.has-active-checklists{border-color:color-mix(in srgb, var(--green) 45%, var(--line));background:color-mix(in srgb, var(--green) 9%, transparent);color:var(--green)}.compact-action.has-active-checklists:hover{background:color-mix(in srgb, var(--green) 16%, transparent);border-color:var(--green)}.section-heading-actions{gap:8px;display:flex}.import-modal{max-width:620px}.import-section{gap:8px;display:grid}.import-mapping-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.import-mapping-list li{align-items:center;gap:8px;display:flex}.import-mapping-source{background:var(--soft);border:1px solid var(--line);color:var(--plum);border-radius:6px;padding:3px 8px;font-size:13px}.import-mapping-arrow{color:var(--muted)}.import-mapping-target{color:var(--bluegray);font-size:13px;font-weight:760}.import-review-list{gap:10px;max-height:46vh;display:grid;overflow-y:auto}.import-review-row{border:1px solid var(--line);border-radius:10px;gap:10px;padding:12px;display:grid}.import-review-row.is-excluded{opacity:.55}.import-review-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.import-include-toggle span{color:var(--plum);font-size:14px;font-weight:760}.import-row-badge{border:1px solid var(--line-strong);color:var(--bluegray);text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:760}.import-review-body{gap:10px;display:grid}.import-mode-choice{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.import-merge-target{flex:200px;min-width:160px}.radio-inline{color:var(--ink,var(--plum));align-items:center;gap:6px;font-size:13px;display:inline-flex}.radio-inline input{accent-color:var(--berry);width:16px;height:16px}.import-merge-fields{gap:8px;display:grid}.import-merge-note{color:var(--muted);margin:0;font-size:13px}.import-merge-conflict{border:1px solid var(--line);border-radius:8px;gap:6px;margin:0;padding:8px 10px;display:grid}.import-merge-conflict legend{color:var(--bluegray);padding:0 4px;font-size:12px;font-weight:760}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.assistant-fab{background:linear-gradient(135deg, var(--berry), var(--jam));color:#fff;height:52px;transition:box-shadow var(--ease), transform var(--ease);z-index:28;border:0;border-radius:999px;justify-content:center;align-items:center;width:52px;padding:0;display:inline-flex;position:fixed;bottom:22px;right:22px;overflow:hidden;box-shadow:0 6px 18px #8e2f5259}.assistant-fab-avatar{object-fit:cover;width:100%;height:100%;display:block}.assistant-fab:hover{transform:translateY(-2px);box-shadow:0 9px 24px #8e2f526b}.fab{background:linear-gradient(135deg, var(--berry), var(--jam));color:#fff;cursor:pointer;transition:box-shadow var(--ease), transform var(--ease), filter var(--ease);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:.4rem;padding:.5rem .95rem;font-size:.85rem;font-weight:600;display:inline-flex;box-shadow:0 4px 12px #8e2f5247}.fab:hover{filter:brightness(1.04);transform:translateY(-2px);box-shadow:0 9px 24px #8e2f526b}.fab:active{transform:translateY(0);box-shadow:0 3px 9px #8e2f5242}.fab:focus-visible{outline:3px solid color-mix(in srgb, var(--berry) 55%, #fff);outline-offset:2px}.fab-label{white-space:nowrap}@media (width<=640px){.section-heading .fab{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.fab{transition:none}.fab:hover,.fab:active{transform:none}}@media print{.fab{display:none!important}}.add-confirm-modal{max-width:420px}.add-confirm-modal .button-row{justify-content:flex-end;margin-top:1rem}.assistant-title-avatar{object-fit:cover;border-radius:999px;flex:none;width:24px;height:24px}.assistant-mic-btn{border:1px solid var(--line);color:var(--plum);height:28px;transition:border-color var(--ease), color var(--ease), background var(--ease);background:0 0;border-radius:8px;justify-content:center;align-items:center;width:28px;display:inline-flex}.assistant-mic-btn:hover:not(:disabled){border-color:var(--line-strong);color:var(--ink)}.assistant-mic-btn:disabled{cursor:progress;opacity:.5}.assistant-mic-btn.is-active{background:var(--berry);border-color:var(--berry);color:#fff}.assistant-voice-bar{background:color-mix(in srgb, var(--berry) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--berry) 26%, var(--line));border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.assistant-voice-bar.is-error{background:color-mix(in srgb, #c0392b 8%, var(--surface));border-color:color-mix(in srgb, #c0392b 30%, var(--line))}.assistant-voice-avatar{object-fit:cover;border-radius:999px;flex:none;width:32px;height:32px}.assistant-voice-bar.is-speaking .assistant-voice-avatar{animation:1s ease-in-out infinite assistant-voice-pulse}@keyframes assistant-voice-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--berry) 55%, transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--berry) 0%, transparent)}}.assistant-voice-status{color:var(--ink);flex:auto;font-size:13px}.assistant-voice-end{border:1px solid var(--line-strong);color:var(--ink);cursor:pointer;background:0 0;border-radius:8px;padding:5px 10px;font-size:12px}.assistant-voice-end:hover{background:var(--soft)}.recap-controls{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-top:12px;display:flex}.recap-period-toggle{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.recap-period-toggle button{background:var(--surface);color:var(--muted);cursor:pointer;border:0;padding:8px 14px;font-size:13px}.recap-period-toggle button.is-active{background:var(--berry);color:#fff}.recap-period-nav{align-items:center;gap:10px;display:inline-flex}.recap-period-nav strong{text-align:center;min-width:120px}.recap-period-nav button{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.recap-period-nav button:hover{border-color:var(--line-strong)}.recap-card h3{margin:0 0 12px}.recap-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:12px;display:grid}.recap-stat{background:var(--soft);border:1px solid color-mix(in srgb, var(--line) 70%, transparent);border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.recap-stat-value{color:var(--ink);font-size:20px;font-weight:700}.recap-stat-label{color:var(--muted);font-size:12px}.recap-list{flex-direction:column;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.recap-list li{border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);justify-content:space-between;align-items:center;gap:12px;padding:6px 0;font-size:13.5px;display:flex}.recap-badge{background:var(--soft);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11.5px}.recap-badge-done{background:color-mix(in srgb, #1f7d4d 12%, var(--surface));border-color:color-mix(in srgb, #1f7d4d 35%, var(--line));color:#1f7d4d}.recap-badge-overdue{background:color-mix(in srgb, #c0392b 10%, var(--surface));border-color:color-mix(in srgb, #c0392b 32%, var(--line));color:#c0392b}.recap-tax-status{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;display:flex}.recap-tax-form{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.recap-tax-notes{grid-column:1/-1}.recap-tax-save{grid-column:1/-1;align-items:center;gap:10px;display:flex}.assistant-report-card{background:color-mix(in srgb, var(--plum) 5%, var(--surface));border-color:color-mix(in srgb, var(--plum) 28%, var(--line))}.report-modal-overlay{z-index:60;background:#14101680;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.report-modal{background:var(--surface);border-radius:14px;flex-direction:column;width:100%;max-width:760px;max-height:88vh;display:flex;box-shadow:0 20px 60px #14101659}.report-modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 20px;display:flex}.report-modal-title{flex-direction:column;gap:2px;display:flex}.report-modal-title strong{font-size:17px}.report-modal-title span{color:var(--muted);font-size:13px}.report-modal-actions{flex:none;align-items:center;gap:8px;display:flex}.report-modal-close{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.report-modal-close:hover{border-color:var(--line-strong);color:var(--ink)}.report-modal-body{padding:20px;overflow-y:auto}.report-section{margin-bottom:22px}.report-section h3{border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);margin:0 0 10px;padding-bottom:6px}.report-section p{color:var(--ink);margin:0 0 8px;font-size:14px;line-height:1.55}.report-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:0 0 12px;display:grid}.report-stat{background:var(--soft);border:1px solid color-mix(in srgb, var(--line) 70%, transparent);border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.report-stat-value{font-size:18px;font-weight:700}.report-stat-label{color:var(--muted);font-size:12px}.report-table{border-collapse:collapse;width:100%;margin:4px 0 0;font-size:13px}.report-table th,.report-table td{border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);text-align:left;padding:6px 8px}.report-table th{color:var(--muted);font-weight:700}.report-print{display:none}.report-print-sheet h1{margin:12px 0 2px;font-size:22px}.report-print-subtitle{color:#555049;margin:0 0 16px}@media print{body.printing-report .app-shell,body.printing-report .report-modal-overlay,body.printing-report .assistant-fab,body.printing-report .assistant-panel{display:none!important}body.printing-report .report-print{color:#1b1720;font-family:Georgia,Times New Roman,serif;display:block}body.printing-report .report-stat{background:#fff;border:1px solid #ddd}body.printing-report .report-table th,body.printing-report .report-table td{border-bottom:1px solid #ccc}body.printing-report .report-section{break-inside:avoid}}.assistant-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:28;border-radius:16px;flex-direction:column;width:min(390px,100vw - 44px);max-height:min(560px,100vh - 120px);display:flex;position:fixed;bottom:86px;right:22px}.assistant-panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.assistant-panel-title{color:var(--plum);align-items:center;gap:8px;display:flex}.assistant-panel-title span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.assistant-panel-close{border:1px solid var(--line);color:var(--muted);height:28px;transition:border-color var(--ease), color var(--ease);background:0 0;border-radius:8px;justify-content:center;align-items:center;width:28px;display:inline-flex}.assistant-panel-close:hover{border-color:var(--line-strong);color:var(--ink)}.assistant-panel-actions{align-items:center;gap:6px;display:flex}.assistant-panel-clear{border:1px solid var(--line);color:var(--muted);height:28px;transition:border-color var(--ease), color var(--ease);background:0 0;border-radius:8px;justify-content:center;align-items:center;width:28px;display:inline-flex}.assistant-panel-clear:hover:not(:disabled){border-color:var(--line-strong);color:var(--ink)}.assistant-panel-clear:disabled{cursor:not-allowed;opacity:.5}.assistant-action-card{background:color-mix(in srgb, var(--berry) 6%, var(--surface));border-color:color-mix(in srgb, var(--berry) 32%, var(--line))}.assistant-action-card .assistant-draft-kicker{color:var(--plum)}.assistant-thread{scrollbar-width:thin;flex-direction:column;gap:10px;padding:14px;display:flex;overflow-y:auto}.assistant-bubble{white-space:pre-wrap;word-break:break-word;border-radius:12px;max-width:85%;padding:9px 12px;font-size:13.5px;line-height:1.5}.assistant-bubble-bot{background:var(--soft);border:1px solid color-mix(in srgb, var(--line) 70%, transparent);color:var(--ink);align-self:flex-start}.assistant-bubble-user{background:color-mix(in srgb, var(--berry) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--berry) 22%, var(--line));color:var(--ink);align-self:flex-end}.assistant-draft-card{background:color-mix(in srgb, var(--gold) 5%, var(--surface));border:1px solid color-mix(in srgb, var(--gold) 38%, var(--line));border-radius:12px;gap:6px;padding:12px;display:grid}.assistant-draft-kicker{color:#8a6d1a;letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:10.5px;font-weight:760}.assistant-draft-card strong{font-size:13.5px}.assistant-draft-card p{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}.assistant-draft-actions{gap:8px;margin-top:4px;display:flex}.assistant-draft-actions .primary-action,.assistant-draft-actions .secondary-action{min-height:32px;padding:5px 12px;font-size:12.5px}.assistant-draft-status{color:var(--green);font-size:12px;font-weight:600}.assistant-input-row{border-top:1px solid var(--line);gap:8px;padding:10px 12px;display:flex}.assistant-input-row textarea{background:var(--soft);border:1px solid var(--line);color:var(--ink);resize:none;border-radius:10px;flex:1;max-height:90px;padding:8px 10px;font-size:13.5px}.assistant-input-row textarea:focus-visible{border-color:var(--berry);box-shadow:0 0 0 3px color-mix(in srgb, var(--berry) 16%, transparent);outline:none}.assistant-input-row button[type=submit]{background:linear-gradient(135deg, var(--berry), var(--jam));color:#fff;border:0;border-radius:10px;justify-content:center;align-items:center;width:40px;height:36px;display:inline-flex}.assistant-input-row button[type=submit]:disabled{opacity:.5}@media (width<=640px){.assistant-panel{border-radius:16px 16px 0 0;width:100vw;max-height:78vh;bottom:0;right:0}.assistant-fab{bottom:16px;right:16px}}@media print{.assistant-fab,.assistant-panel{display:none!important}}.assistant-insight-card{background:color-mix(in srgb, var(--berry) 4%, var(--surface));border:1px solid color-mix(in srgb, var(--berry) 24%, var(--line));border-radius:12px;gap:6px;padding:12px;display:grid}.assistant-insight-kicker{color:var(--berry);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:5px;margin:0;font-size:10.5px;font-weight:760;display:inline-flex}.assistant-insight-card strong{font-size:13.5px}.assistant-insight-card p{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}.assistant-insight-card .secondary-action{min-height:32px;padding:5px 12px;font-size:12.5px;text-decoration:none}.assistant-insight-dismiss{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:5px 8px;font-size:12px;text-decoration:underline}.assistant-insight-dismiss:hover{color:var(--ink)}.section-subtitle{color:var(--muted);margin:4px 0 0;font-size:.85rem}.board-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.board-client-filter{position:relative}.board-client-filter-menu{z-index:40;border:1px solid var(--line);min-width:220px;max-height:320px;box-shadow:var(--shadow);background:#fff;border-radius:8px;padding:6px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.board-client-filter-head{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;padding:4px 6px 6px;font-size:12px;font-weight:600;display:flex}.board-client-filter-list{flex-direction:column;gap:1px;display:flex}.board-client-filter-item{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.board-client-filter-item:hover{background:var(--soft)}.board-client-filter-item input{cursor:pointer}.board-scroll{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start;gap:16px;padding:8px 2px 16px;display:grid}.board-column{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;display:flex}.board-column[data-uncategorized=true]{border-style:dashed}.board-column-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex;position:sticky;top:0}.board-column-header strong{color:var(--ink);font-size:.95rem}.board-column-body{flex-direction:column;gap:8px;padding:10px;display:flex;overflow-y:auto}.board-column-empty{color:var(--muted);margin:6px 4px;font-size:.82rem}.board-client{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm)}.board-client-toggle{cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;border:0;align-items:center;gap:8px;padding:10px 12px;display:flex}.board-client-toggle:hover{background:var(--soft)}.board-client-name{flex:1;font-size:.9rem;font-weight:600}.board-client-count{text-align:center;background:var(--soft);border:1px solid var(--line);min-width:22px;color:var(--muted);border-radius:999px;padding:1px 7px;font-size:.78rem}.board-client-cards{flex-direction:column;gap:10px;padding:4px 8px 10px;display:flex}.board-chip{white-space:nowrap;text-overflow:ellipsis;border-radius:999px;flex:none;max-width:260px;padding:1px 8px;font-size:.72rem;font-weight:650;overflow:hidden}.board-chip-due{background:var(--soft);border:1px solid var(--line);color:var(--muted)}.board-chip-pending{background:color-mix(in srgb, var(--gold) 10%, transparent);border:1px solid color-mix(in srgb, var(--gold) 45%, transparent);color:var(--gold)}.board-chip-overdue{background:color-mix(in srgb, var(--red) 10%, transparent);border:1px solid color-mix(in srgb, var(--red) 35%, transparent);color:var(--red)}.board-card-with-status{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.manage-columns{border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);margin-bottom:14px;padding:14px 16px}.manage-columns-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.manage-columns-head h3{margin:0;font-size:.95rem}.manage-columns-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.manage-columns-row{align-items:center;gap:8px;display:flex}.manage-columns-grip{color:var(--muted);flex:none}.manage-columns-row .input{flex:1}.manage-columns-actions{align-items:center;gap:4px;display:flex}.manage-columns-add{gap:8px;display:flex}.manage-columns-add .input{flex:1}.setup-all-clear{color:#1f7d4d;align-items:center;gap:12px;display:flex}.setup-tab-clear{padding-top:10px;padding-bottom:10px}.setup-cat-header--clear{cursor:default;color:#1f7d4d}.setup-tab-clear-icon{color:#1f7d4d;flex:none}.setup-tab-clear .setup-cat-count{color:#1f7d4d}.setup-coverage-note{margin:4px 2px 0;font-size:.82rem}.setup-all-clear strong{color:var(--ink,#1f2430);display:block}.setup-issue-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.setup-issue{border:1px solid var(--hairline,#e6e3ea);background:var(--surface,#fff);border-left-width:4px;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.setup-issue--high{border-left-color:#c0392b}.setup-issue--medium{border-left-color:#d98a1f}.setup-issue--low{border-left-color:#b9b4c2}.setup-issue-icon{color:var(--muted-ink,#6b6577);flex:none}.setup-issue-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.setup-issue-body .muted-text{font-size:.85rem}.setup-issue-items{margin:4px 0 2px;padding-left:20px;list-style:outside}.setup-issue-items li{color:var(--ink,#2c2735);margin:2px 0;font-size:.85rem}.setup-issue-sev{text-transform:uppercase;letter-spacing:.04em;color:var(--muted-ink,#8a8494);font-size:.72rem}.setup-issue-fix{color:var(--plum,#3c2044);white-space:nowrap;flex:none;align-items:center;gap:4px;font-weight:600;text-decoration:none;display:inline-flex}.setup-issue-fix:hover{text-decoration:underline}button.setup-issue-fix{cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:0;padding:0}.setup-cat-header{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.setup-cat-header .section-kicker{margin:0}.setup-cat-count{margin-left:auto;font-size:1.05rem;font-weight:700}.setup-checklist-client{border-top:1px solid var(--hairline,#ece8f0);padding:10px 0}.setup-checklist-client:first-of-type{border-top:0}.setup-checklist{margin:8px 0 4px 24px}.setup-checklist-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.setup-checklist-title{color:var(--plum,#3c2044);font-weight:600;text-decoration:none}.setup-checklist-title:hover{text-decoration:underline}.setup-checklist-meta{color:var(--muted-ink,#8a8494);font-size:.78rem}.setup-checklist .setup-issue-items{margin-left:21px}.setup-overview{flex-direction:column;gap:12px;margin-top:16px;display:flex}.setup-stat-strip{border:1px solid var(--hairline,#e7e2ef);background:var(--surface,#fff);border-radius:14px;flex-wrap:wrap;display:flex;overflow:hidden}.setup-stat{border:0;border-right:1px solid var(--hairline,#e7e2ef);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;flex-direction:column;flex:96px;gap:1px;padding:12px 18px;transition:background .12s;display:flex}.setup-stat:last-child{border-right:0}.setup-stat:hover{background:var(--surface-2,#f7f4fb)}.setup-stat-num{color:var(--ink,#2c2735);font-size:1.45rem;font-weight:700;line-height:1.1}.setup-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-ink,#8a8494);font-size:.72rem;font-weight:600}.setup-checklist-callout{border:1px solid var(--hairline,#e7e2ef);background:var(--surface-2,#f7f4fb);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;transition:border-color .12s,box-shadow .12s;display:flex}.setup-checklist-callout:hover{border-color:var(--plum,#3c2044);box-shadow:0 2px 10px #3c204414}.setup-callout-icon{background:var(--plum,#3c2044);color:#fff;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.setup-callout-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.setup-callout-title{color:var(--ink,#2c2735);font-size:1rem;font-weight:700}.setup-callout-sub{color:var(--muted-ink,#8a8494);font-size:.8rem}.setup-callout-chev{color:var(--muted-ink,#8a8494);flex:none}.setup-preview-modal{width:100%;max-width:560px}.setup-preview-head{margin-bottom:12px}.setup-preview-items{max-height:55vh;margin:0 0 16px;padding:0;list-style:none;overflow-y:auto}.setup-preview-item{padding:2px 0}.setup-preview-subs{margin:0 0 4px 28px;padding:0;list-style:none}.setup-preview-modal .task-row,.setup-preview-modal .sub-item-row{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.setup-preview-modal .task-row.done .task-row-title,.setup-preview-modal .sub-item-row.done{color:var(--muted-ink,#8a8494);text-decoration:line-through}.setup-issue-actions{flex-direction:column;flex:none;align-items:flex-end;gap:6px;display:flex}.setup-issue-ignore{cursor:pointer;color:var(--muted-ink,#8a8494);white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:.78rem;display:inline-flex}.setup-issue-ignore:hover{color:var(--ink,#2c2735);text-decoration:underline}.setup-issue--ignored{opacity:.7;border-left-color:var(--hairline,#e6e3ea)}.setup-fix-modal{flex-direction:column;gap:12px;max-width:420px;display:flex}.setup-fix-money{align-items:center;gap:6px;display:flex}.setup-fix-money>span{color:var(--muted-ink,#8a8494);font-weight:600}.setup-fix-money .input{flex:1}.list-search{align-items:center;gap:10px;margin-bottom:14px;display:flex}.list-search-field{background:var(--surface);border:1.5px solid var(--line-strong);min-width:0;transition:border-color var(--ease), box-shadow var(--ease);border-radius:100px;flex:1;align-items:center;gap:7px;padding:0 10px;display:flex}.list-search-field:focus-within{border-color:var(--plum);box-shadow:0 0 0 3px color-mix(in srgb, var(--plum) 12%, transparent)}.list-search-icon{color:var(--muted);pointer-events:none;transition:color var(--ease);flex:none}.list-search-field:focus-within .list-search-icon{color:var(--plum)}.list-search-input{min-width:0;color:var(--ink);appearance:none;background:0 0;border:none;outline:none;flex:1;padding:7px 0;font-size:.92rem}.list-search-input::placeholder{color:var(--muted)}.list-search-input::-webkit-search-cancel-button{-webkit-appearance:none}.list-search-input::-webkit-search-decoration{-webkit-appearance:none}.list-search-clear{background:color-mix(in srgb, var(--muted) 15%, transparent);width:20px;height:20px;color:var(--muted);cursor:pointer;transition:background var(--ease), color var(--ease);border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.list-search-clear:hover{background:color-mix(in srgb, var(--plum) 14%, transparent);color:var(--plum)}.list-search-clear-placeholder{flex:none;width:20px;height:20px;display:block}.list-search-count{color:var(--muted);white-space:nowrap;flex:none;font-size:.8rem}mark.list-search-hit{background:color-mix(in srgb, var(--gold) 30%, transparent);color:inherit;border-radius:2px;padding:0 1px}.list-search-empty{color:var(--muted);padding:10px 0 4px;font-size:.9rem}.contacts-filter-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.contacts-filter-bar .list-search{flex:1;min-width:180px;margin-bottom:0}.contacts-filter-pill{border:1.5px solid var(--line-strong);background:var(--surface);color:var(--muted);cursor:pointer;transition:border-color var(--ease), background var(--ease), color var(--ease);white-space:nowrap;border-radius:100px;flex:none;align-items:center;gap:5px;padding:5px 12px;font-size:.82rem;font-weight:500;display:inline-flex}.contacts-filter-pill:hover{border-color:color-mix(in srgb, var(--plum) 40%, var(--line-strong));color:var(--plum)}.contacts-filter-pill.is-active{background:var(--plum);border-color:var(--plum);color:#fff}.contact-group-section+.contact-group-section{margin-top:18px}.client-jump-nav{top:var(--topbar-h,64px);z-index:13;scrollbar-width:thin;background:#f6f2ef;flex-wrap:nowrap;gap:8px;padding:10px 0;display:flex;position:sticky;overflow-x:auto}.client-jump-nav::-webkit-scrollbar{height:6px}.client-jump-nav::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--line-strong) 70%, transparent);border-radius:999px}.client-jump-pill{white-space:nowrap;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--muted);transition:border-color var(--ease), background var(--ease), color var(--ease);border-radius:999px;padding:.4rem .85rem;font-size:.82rem;font-weight:600}.client-jump-pill:hover{border-color:color-mix(in srgb, var(--plum) 40%, var(--line-strong));background:var(--soft);color:var(--plum)}.contact-group-heading{letter-spacing:.04em;text-transform:uppercase;color:var(--plum);margin:0 0 8px;font-size:.85rem;font-weight:700}.contact-group-count{color:var(--muted,#6b7280);font-weight:500}.upcoming-toggle{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.upcoming-toggle input{cursor:pointer}.upcoming-badge{letter-spacing:.05em;text-transform:uppercase;color:var(--bluegray);vertical-align:middle;background:#4254661f;border:1px dashed #42546680;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.checklist-card.projected{opacity:.78;background:repeating-linear-gradient(135deg, var(--soft), var(--soft) 10px, #4254660a 10px, #4254660a 20px);border:1px dashed var(--line-strong);border-radius:var(--radius-sm);cursor:default;padding:10px 12px}.checklist-card.projected .checklist-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.checklist-card.projected .checklist-card-title{align-items:center;gap:8px;min-width:0;display:inline-flex}.checklist-card.projected .checklist-card-title strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.projected-due{color:var(--muted);white-space:nowrap;font-size:12px}.projected-note{color:var(--muted);margin:6px 0 0;font-size:12px;font-style:italic}.gantt-bar-projected{color:var(--surface);background:repeating-linear-gradient(45deg,#42546680,#42546680 6px,#42546638 6px 12px);border:1px dashed #425466b3}.gantt-row-projected{opacity:.82;cursor:default}@media (width<=640px){.upcoming-toggle{font-size:12px}.checklist-card.projected .checklist-card-head{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.checklist-card.projected,.gantt-row-projected{transition:none}}.stage-segment{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.stage-segment-tab{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;transition:background var(--ease), color var(--ease), border-color var(--ease);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.stage-segment-tab:hover{border-color:var(--line-strong);color:var(--ink)}.stage-segment-tab.is-active{background:var(--plum);border-color:var(--plum);color:#fff}.stage-segment-count{min-width:20px;color:inherit;background:#301f3514;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.stage-segment-tab.is-active .stage-segment-count{background:#ffffff38}.stage-cell{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.stage-override{max-width:140px}.lifecycle-badge{text-transform:uppercase;letter-spacing:.04em;border:1px solid #0000;border-radius:999px;align-items:center;padding:2px 10px;font-size:11px;font-weight:700;display:inline-flex}.lifecycle-badge-proposal{color:#8a6410;background:#d39b2a29;border-color:#d39b2a66}.lifecycle-badge-onboarding{color:var(--bluegray);background:#42546624;border-color:#42546652}.lifecycle-badge-active{color:var(--green);background:#23745a24;border-color:#23745a57}@media (width<=640px){.stage-segment{width:100%}.stage-segment-tab{flex:auto;justify-content:center}.stage-override{width:100%;max-width:100%}}@media (prefers-reduced-motion:reduce){.stage-segment-tab{transition:none}}.updates-header-actions{align-items:center;gap:8px;display:flex}.updates-add-form{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;gap:10px;margin:16px 0 8px;padding:16px;display:flex}.updates-spitball-button{border:1px dashed color-mix(in srgb, var(--berry) 55%, var(--line));background:color-mix(in srgb, var(--berry) 7%, var(--surface));color:var(--berry);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-weight:700;transition:background .15s,border-color .15s;display:inline-flex}.updates-spitball-button:hover{background:color-mix(in srgb, var(--berry) 14%, var(--surface));border-style:solid}.spitball-modal{flex-direction:column;gap:14px;width:min(620px,94vw);max-width:620px;display:flex}.spitball-modal .modal-title{align-items:center;gap:8px;margin-bottom:0;display:flex}.spitball-subtitle{margin:0}.spitball-messages{flex-direction:column;gap:10px;max-height:50vh;padding:4px 2px;display:flex;overflow-y:auto}.spitball-message{white-space:pre-wrap;border-radius:14px;max-width:85%;padding:8px 12px;font-size:.92rem}.spitball-message--assistant{background:var(--soft);border:1px solid var(--line);border-bottom-left-radius:4px;align-self:flex-start}.spitball-message--user{background:color-mix(in srgb, var(--berry) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--berry) 30%, var(--line));border-bottom-right-radius:4px;align-self:flex-end}.spitball-draft{border:1px solid color-mix(in srgb, var(--berry) 40%, var(--line));background:color-mix(in srgb, var(--berry) 6%, var(--surface));border-radius:var(--radius-sm);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.spitball-draft-kicker{color:var(--berry);align-items:center;gap:6px;margin:0;font-size:.85rem;font-weight:700;display:flex}.spitball-draft-body{white-space:pre-wrap;margin:0;font-size:.9rem}.spitball-error{flex-direction:column;gap:6px;display:flex}.spitball-input-row{align-items:flex-end;gap:8px;display:flex}.spitball-input{resize:vertical;font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);flex:1;min-height:68px;padding:10px 12px}.spitball-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.spitball-footer .secondary-action{margin-left:auto}.updates-shipped-at{color:var(--muted);background:var(--soft);border:1px solid var(--line);white-space:nowrap;border-radius:999px;flex:none;padding:2px 9px;font-size:.76rem;font-weight:650}.updates-needs-input-panel{background:color-mix(in srgb, var(--gold) 6%, var(--surface));border:1px solid color-mix(in srgb, var(--gold) 40%, var(--line));border-radius:var(--radius-sm);flex-direction:column;gap:10px;margin:8px 0 16px;padding:14px 16px;display:flex}.updates-needs-input-head{color:var(--gold);align-items:baseline;gap:8px;display:flex}.updates-needs-input-head svg{flex:none;align-self:center}.updates-needs-input-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.updates-needs-input-title{margin:0;font-weight:700}.updates-needs-input-question{white-space:pre-wrap;margin:0}.updates-needs-input-answer{resize:vertical;width:100%;font:inherit}.updates-needs-input-actions{justify-content:flex-end;display:flex}.new-version-toast{z-index:1000;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:10px 12px;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 8px 28px #13344a2e}.new-version-toast-text{font-size:.9rem;font-weight:600}.new-version-toast-refresh{flex:none}.new-version-toast-dismiss{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px;display:inline-flex}.updates-reject-confirm{background:color-mix(in srgb, var(--gold) 6%, var(--surface));border:1px solid color-mix(in srgb, var(--gold) 40%, var(--line));border-radius:var(--radius-sm);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.updates-reject-confirm-text{white-space:pre-wrap;margin:0}.updates-clarification-line{color:var(--muted);background:var(--soft);white-space:pre-wrap;border-radius:6px;margin:4px 0 0;padding:6px 9px;font-size:.85rem}.updates-add-row{gap:10px;display:flex}.updates-add-row input[type=text]{flex:auto;min-width:0}.updates-add-form textarea{resize:vertical;width:100%;font:inherit}.updates-add-actions{justify-content:flex-end;display:flex}.updates-form-error{color:var(--red);margin:0;font-size:.86rem}.updates-list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 8px;display:flex}.updates-filter-toggle{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:.86rem;display:inline-flex}.updates-empty{margin:18px 0}.updates-list{flex-direction:column;gap:12px;display:flex}.updates-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-sm);transition:box-shadow var(--ease), border-color var(--ease), opacity var(--ease)}:root{--prio-urgent:#c2293c;--prio-urgent-soft:#c2293c1a;--prio-high:#c2680f;--prio-high-soft:#c2680f1f;--prio-medium:#2563a8;--prio-medium-soft:#2563a81a;--prio-low:#5a6675;--prio-low-soft:#5a66751a}.updates-priority-card-urgent{border-left:4px solid var(--prio-urgent)}.updates-priority-card-high{border-left:4px solid var(--prio-high)}.updates-priority-card-medium{border-left:4px solid var(--prio-medium)}.updates-priority-card-low{border-left:4px solid var(--prio-low)}.updates-card.updates-priority-card-urgent{box-shadow:0 0 0 1px var(--prio-urgent) inset, var(--shadow-sm)}.updates-card.closed{opacity:.62}.updates-card.dragging{opacity:.5}.updates-card.drop-target{border-color:var(--plum);box-shadow:0 0 0 2px #3c20442e}.updates-card-main{align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.updates-card .drag-handle{color:var(--muted);cursor:grab;flex:none;margin-top:6px}.updates-card-body{flex-direction:column;flex:auto;gap:8px;min-width:0;display:flex}.updates-card-titlerow{align-items:center;gap:8px;display:flex}.updates-title-input{min-width:0;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:7px;flex:auto;padding:4px 6px;font-size:.98rem;font-weight:600}.updates-title-input:hover{border-color:var(--line)}.updates-title-input:focus{border-color:var(--line-strong);background:var(--surface);outline:none}.updates-title-static{text-align:left;min-width:0;color:var(--ink);cursor:text;background:0 0;border:1px solid #0000;border-radius:7px;flex:auto;padding:4px 6px;font-size:.98rem;font-weight:600}.updates-title-static:hover{border-color:var(--line)}.updates-description-static-row{align-items:flex-start;gap:8px;display:flex}.updates-description-static{min-width:0;color:var(--muted);white-space:pre-wrap;flex:auto;margin:0;font-size:.9rem;line-height:1.45}.updates-edit-button{color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;flex:none;align-items:center;gap:5px;padding:3px 10px;font-size:.8rem;display:inline-flex}.updates-edit-button:hover{color:var(--ink);border-color:var(--line-strong)}.updates-edit-actions{gap:8px;margin-top:8px;display:flex}.updates-priority-select{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:7px;flex:none;padding:4px 8px;font-size:.82rem;font-weight:600}.updates-priority-select.updates-priority-urgent{border-color:var(--prio-urgent);color:var(--prio-urgent)}.updates-priority-select.updates-priority-high{border-color:var(--prio-high);color:var(--prio-high)}.updates-priority-select.updates-priority-medium{border-color:var(--prio-medium);color:var(--prio-medium)}.updates-priority-select.updates-priority-low{border-color:var(--prio-low);color:var(--prio-low)}.updates-priority-badge{letter-spacing:.02em;border:1px solid #0000;border-radius:999px;align-items:center;padding:2px 9px;font-size:.74rem;font-weight:700;display:inline-flex}.updates-priority-badge.updates-priority-urgent{color:var(--prio-urgent);border-color:var(--prio-urgent);background:var(--prio-urgent-soft)}.updates-priority-badge.updates-priority-high{color:var(--prio-high);border-color:var(--prio-high);background:var(--prio-high-soft)}.updates-priority-badge.updates-priority-medium{color:var(--prio-medium);border-color:var(--prio-medium);background:var(--prio-medium-soft)}.updates-priority-badge.updates-priority-low{color:var(--prio-low);border-color:var(--prio-low);background:var(--prio-low-soft)}.updates-card-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.updates-type-badge{letter-spacing:.02em;border:1px solid var(--line);color:var(--bluegray);background:var(--soft);border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:.74rem;font-weight:600;display:inline-flex}.updates-type-bug{color:var(--red);background:#ad304214;border-color:#ad30424d}.updates-type-improvement{color:var(--gold);background:#d39b2a1a;border-color:#d39b2a59}.updates-type-feature{color:var(--plum);background:#3c204412;border-color:#3c204438}.updates-status-select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;padding:3px 8px;font-size:.82rem}:root{--status-in-progress:#2563a8;--status-in-progress-soft:#2563a829;--status-shipped:#7c3aed;--status-shipped-soft:#7c3aed1f}.updates-status-select.updates-status-shipped{border-color:var(--status-shipped);color:var(--status-shipped);font-weight:600}.updates-approve-button{border:1px solid var(--status-shipped);background:var(--status-shipped-soft);color:var(--status-shipped);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.updates-approve-button:hover{background:var(--status-shipped);color:#fff}.updates-approved-by{color:var(--muted);font-size:.78rem;font-style:italic}.updates-reject-button{color:#b45309;cursor:pointer;background:#b453091f;border:1px solid #b45309;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.updates-reject-button:hover{color:#fff;background:#b45309}.updates-reject-panel{border-radius:var(--radius-sm);background:#b4530914;border:1px dashed #b45309;flex-direction:column;gap:6px;padding:12px;display:flex}.updates-reject-kicker{letter-spacing:.06em;text-transform:uppercase;color:#b45309;margin:0;font-size:.72rem;font-weight:700}.updates-reject-input{resize:vertical;width:100%;font:inherit;color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:8px 9px;font-size:.9rem}.updates-reject-input:focus{border-color:#b45309;outline:none}.updates-reject-actions{flex-wrap:wrap;gap:8px;display:flex}.updates-review-note{color:#92400e;word-break:break-word;background:#b453091a;border-left:3px solid #b45309;border-radius:0 6px 6px 0;margin:0;padding:6px 10px;font-size:.84rem;line-height:1.4}.updates-shipped-section{border-bottom:1px solid var(--line);flex-direction:column;gap:10px;margin-bottom:18px;padding-bottom:18px;display:flex}.updates-shipped-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--status-shipped);margin:0;font-size:.74rem;font-weight:700}.updates-toolbar-controls{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.updates-status-section{margin-top:14px}.updates-status-header{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;align-items:center;gap:8px;padding:6px 2px;display:flex}.updates-status-header:hover{background:var(--soft)}.updates-status-name{letter-spacing:.05em;text-transform:uppercase;color:var(--muted-ink,#8a8494);font-size:.8rem;font-weight:700}.updates-status-header--shipped .updates-status-name{color:var(--status-shipped)}.updates-status-count{background:var(--soft);min-width:22px;color:var(--muted-ink,#8a8494);text-align:center;border-radius:999px;margin-left:auto;padding:1px 9px;font-size:.78rem;font-weight:700}.updates-status-section .updates-list{margin-top:12px}@keyframes updates-in-progress-pulse{0%,to{box-shadow:0 0 0 1px var(--status-in-progress) inset, var(--shadow-sm);border-color:var(--status-in-progress)}50%{box-shadow:0 0 0 2px var(--status-in-progress) inset, 0 0 14px 2px var(--status-in-progress-soft), var(--shadow-sm);border-color:var(--status-in-progress)}}.updates-card.updates-card-in-progress{border-color:var(--status-in-progress);animation:1.8s ease-in-out infinite updates-in-progress-pulse}@media (prefers-reduced-motion:reduce){.updates-card.updates-card-in-progress{box-shadow:0 0 0 2px var(--status-in-progress) inset, var(--shadow-sm);border-color:var(--status-in-progress);animation:none}}.updates-description-input{resize:vertical;width:100%;font:inherit;color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:8px 9px;font-size:.9rem}.updates-description-input:focus{border-color:var(--line-strong);outline:none}.updates-refine-panel{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--soft);flex-direction:column;gap:6px;padding:12px;display:flex}.updates-refine-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--berry);margin:0;font-size:.72rem;font-weight:700}.updates-refine-description{white-space:pre-wrap;word-break:break-word;font:inherit;color:var(--ink);margin:0;font-size:.86rem}.updates-refine-actions{gap:8px;display:flex}.updates-card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.updates-delete{margin-left:auto}@media (width<=640px){.updates-add-row{flex-direction:column}.updates-card-actions{width:100%}.updates-delete{margin-left:0}}@media (prefers-reduced-motion:reduce){.updates-card{transition:none}}
