:root{--bg:#f2f5fb;--surface:#fff;--surface-raised:#ebf0f8;--border:#d9e1f2;--text-1:#0b1120;--text-2:#3a4e72;--text-3:#7085a8;--accent:#009c7b;--accent-dim:#009c7b14;--accent-glow:#009c7b33;--warn:#c47d00;--warn-bg:#c47d0017;--crit:#c82424;--crit-bg:#c8242414;--ok:#178050;--ok-bg:#17805014;--shadow-xs:0 1px 2px #0b11200d;--shadow-sm:0 4px 14px #0b112014;--shadow-md:0 10px 28px #0b11201f;--shadow-lg:0 22px 60px #0b11203d;--ease:cubic-bezier(.2, .65, .3, 1)}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text-1);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Public Sans,system-ui,sans-serif;font-size:14px}.mono{font-family:JetBrains Mono,monospace}.display{font-family:Outfit,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{opacity:.8}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.app-shell{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:224px;padding:18px 12px;display:flex}.brand{letter-spacing:.5px;color:var(--text-1);align-items:center;gap:8px;padding:2px 10px 20px;font-family:Outfit,sans-serif;font-size:20px;font-weight:800;display:flex}.brand-word{display:inline-flex}.brand-word span{color:var(--accent)}.brand-mark{background:linear-gradient(155deg, var(--accent), #00c79c);color:#fff;width:26px;height:26px;box-shadow:0 3px 10px var(--accent-glow);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.nav-section-label{letter-spacing:.6px;text-transform:uppercase;color:var(--text-3);padding:14px 12px 6px;font-size:10px;font-weight:700}.nav-link{color:var(--text-2);transition:background .12s var(--ease), color .12s var(--ease);border-radius:8px;align-items:center;gap:10px;margin-bottom:2px;padding:8px 12px;font-size:13.5px;font-weight:500;display:flex;position:relative}.nav-link svg{opacity:.85;flex-shrink:0}.nav-link:hover{background:var(--surface-raised);color:var(--text-1);opacity:1}.nav-link.active{background:var(--accent-dim);color:var(--accent);font-weight:600}.nav-link.active svg{opacity:1}.nav-link.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;height:18px;position:absolute;top:50%;left:-12px;transform:translateY(-50%)}.sidebar-footer{color:var(--text-3);margin-top:auto;padding:10px;font-size:12px}.env-pill{background:var(--surface-raised);color:var(--text-2);border-radius:20px;margin-top:6px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-block}.env-pill.real{background:var(--ok-bg);color:var(--ok)}.env-pill.sim{background:var(--warn-bg);color:var(--warn)}.main{flex:1;padding:28px 36px;overflow-y:auto}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.page-title{align-items:center;gap:10px;font-family:Outfit,sans-serif;font-size:23px;font-weight:700;display:flex}.page-sub{color:var(--text-3);margin-top:3px;font-size:13px}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text-1);min-height:42px;transition:background .12s var(--ease), border-color .12s var(--ease), box-shadow .12s var(--ease), opacity .12s var(--ease), transform 80ms var(--ease);border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:500;display:inline-flex}.btn:hover{background:var(--surface-raised)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default;transform:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 1px 2px #009c7b40}.btn-primary:hover{opacity:.92;background:var(--accent);box-shadow:0 4px 14px var(--accent-glow)}.btn-sm{gap:6px;min-height:34px;padding:7px 13px;font-size:12.5px}.btn svg{flex-shrink:0}.card{background:var(--surface);border:1px solid var(--border);transition:box-shadow .15s var(--ease), border-color .15s var(--ease);border-radius:12px}.tabs{background:var(--surface-raised);scrollbar-width:none;border-radius:9px;gap:4px;width:fit-content;max-width:100%;margin-bottom:18px;padding:4px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;color:var(--text-2);transition:background .12s var(--ease), color .12s var(--ease);background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:7px 16px;font-size:13px;font-weight:500}.tab.active{background:var(--surface);color:var(--text-1);box-shadow:var(--shadow-xs)}.row{border-bottom:1px solid var(--border);transition:background .1s var(--ease);grid-template-columns:1fr 150px 150px 110px 130px;align-items:center;gap:12px;padding:13px 16px;font-size:14px;display:grid}.row.head{color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;font-size:11.5px;font-weight:600}.row:hover:not(.head){background:var(--surface-raised)}.task-title{font-size:14px;font-weight:500}.task-meta{color:var(--text-3);margin-top:2px;font-size:12.5px}.bucket-header{background:var(--bg);border:none;border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;width:100%;transition:background .12s var(--ease);align-items:center;gap:8px;padding:10px 20px;font-size:13px;font-weight:700;display:flex}.bucket-header:hover{background:var(--surface-raised)}.bucket-count{color:var(--text-3);background:var(--surface-raised);border-radius:20px;padding:1px 8px;font-size:11px;font-weight:600}.section-header{width:100%;color:var(--text-1);text-align:left;transition:background .12s var(--ease);background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;padding:16px 24px;font-size:14px;font-weight:700;display:flex}.section-header:hover{background:var(--surface-raised)}.task-detail-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.copyable-id{color:var(--text-3);font-size:inherit;background:0 0;border:none;border-radius:4px;align-items:center;gap:5px;padding:0;display:inline-flex}.copyable-id:hover{color:var(--accent)}.copyable-id-icon{opacity:0;transition:opacity .12s var(--ease);flex-shrink:0}.copyable-id:hover .copyable-id-icon,.copyable-id-icon-ok{opacity:1}.copyable-id-icon-ok{color:var(--ok)}.badge{white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.badge svg{flex-shrink:0}.badge-dot{border-radius:50%;width:6px;height:6px}.badge.status-submitted,.badge.status-queued{background:var(--surface-raised);color:var(--text-2)}.badge.status-in_progress{background:var(--accent-dim);color:var(--accent)}.badge.status-completed{background:var(--ok-bg);color:var(--ok)}.badge.status-failed,.badge.status-budget_halted{background:var(--crit-bg);color:var(--crit)}.badge.status-needs_review,.badge.status-warning,.badge.status-changes_requested,.badge.status-ai_locked{background:var(--warn-bg);color:var(--warn)}.badge.status-ready_for_review{background:var(--accent-dim);color:var(--accent)}.badge.status-approved,.badge.status-deployed_uat{background:var(--ok-bg);color:var(--ok)}.badge.status-deployed_production{background:var(--ok-bg);color:var(--ok);font-weight:700}.empty-state{text-align:center;color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:52px 24px;display:flex}.empty-state-icon{color:var(--text-3);opacity:.55;margin-bottom:10px}.empty-state-title{color:var(--text-2);font-size:14px;font-weight:600}.empty-state-message{color:var(--text-3);max-width:320px;font-size:12.5px}.empty-state>.btn{margin-top:14px}.board{gap:16px;padding-bottom:10px;display:flex;overflow-x:auto}.board-col{flex-shrink:0;min-width:260px}.board-col-head{color:var(--text-2);text-transform:uppercase;letter-spacing:.4px;justify-content:space-between;align-items:center;padding:0 4px 10px;font-size:12px;font-weight:600;display:flex}.board-count{background:var(--surface-raised);color:var(--text-3);border-radius:20px;padding:1px 8px;font-size:11px}.board-card{background:var(--surface);border:1px solid var(--border);transition:border-color .12s var(--ease), box-shadow .12s var(--ease), transform .12s var(--ease);border-radius:10px;margin-bottom:10px;padding:12px;font-size:12.5px}.board-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.board-card-title{margin-bottom:8px;font-weight:500}.board-card-meta{color:var(--text-3);justify-content:space-between;align-items:center;font-size:11px;display:flex}.modal-backdrop{z-index:50;animation:modal-fade-in .12s var(--ease);background:#0b112080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);width:480px;max-width:92vw;box-shadow:var(--shadow-lg);scrollbar-gutter:stable;max-height:88vh;animation:modal-rise-in .14s var(--ease);transform-origin:50%;border-radius:14px;padding:24px;animation-fill-mode:both;overflow:hidden auto}@keyframes modal-rise-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.modal-backdrop,.modal{animation:none}}.modal h2{align-items:center;gap:10px;margin:0 0 16px;font-family:Outfit,sans-serif;font-size:18px;display:flex}.modal h2 svg{color:var(--accent);flex-shrink:0}.field{margin-bottom:14px}.field label{color:var(--text-2);margin-bottom:5px;font-size:12px;font-weight:600;display:block}.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--bg);width:100%;min-height:42px;color:var(--text-1);transition:border-color .12s var(--ease), box-shadow .12s var(--ease);border-radius:9px;padding:11px 14px;font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.field textarea{resize:vertical;min-height:60px}select{appearance:none;border:1px solid var(--border);background-color:var(--bg);min-height:42px;color:var(--text-1);transition:border-color .12s var(--ease), box-shadow .12s var(--ease);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237085A8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border-radius:9px;padding:11px 36px 11px 14px;font-size:14px}select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}select:disabled{opacity:.55}.modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.search-input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-1);transition:border-color .12s var(--ease), box-shadow .12s var(--ease);border-radius:8px}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.search-input::placeholder{color:var(--text-3)}.btn-auth{letter-spacing:.1px;width:100%;box-shadow:0 2px 8px var(--accent-glow);border-radius:9px;justify-content:center;padding:11px 0;font-size:14px;font-weight:600}.btn-auth:hover:not(:disabled){box-shadow:0 6px 18px var(--accent-glow);transform:translateY(-1px)}.btn-auth:active:not(:disabled){transform:translateY(0)}.markdown-body{color:var(--text-1);font-size:14px;line-height:1.65}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:20px 0 8px;font-family:Outfit,sans-serif;line-height:1.3}.markdown-body h1:first-child,.markdown-body h2:first-child,.markdown-body h3:first-child{margin-top:0}.markdown-body h1{font-size:22px}.markdown-body h2{font-size:18px}.markdown-body h3{font-size:15px}.markdown-body p{margin:0 0 12px}.markdown-body ul,.markdown-body ol{margin:0 0 12px;padding-left:22px}.markdown-body li{margin:3px 0}.markdown-body code{background:var(--surface-raised);border-radius:4px;padding:2px 5px;font-family:JetBrains Mono,monospace;font-size:12.5px}.markdown-body pre{background:var(--surface-raised);border-radius:8px;margin:0 0 12px;padding:12px 14px;overflow-x:auto}.markdown-body pre code{background:0 0;padding:0}.markdown-body blockquote{border-left:3px solid var(--border);color:var(--text-2);margin:0 0 12px;padding:2px 14px}.markdown-body a{color:var(--accent)}.markdown-body table{border-collapse:collapse;width:100%;margin:0 0 12px}.markdown-body th,.markdown-body td{border:1px solid var(--border);text-align:left;padding:6px 10px;font-size:13px}.markdown-body img{border-radius:8px}.auth-page{background:radial-gradient(circle at 20% 20%, #009c7b1a, transparent 45%), radial-gradient(circle at 85% 80%, #009c7b14, transparent 40%), var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{width:380px;max-width:92vw;box-shadow:var(--shadow-md);padding:34px 28px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:24px;display:grid}.stat-card{transition:box-shadow .15s var(--ease), transform .15s var(--ease);padding:16px 18px}.stat-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.stat-card-row{align-items:flex-start;gap:14px;display:flex}.stat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.stat-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.stat-value{margin-top:3px;font-family:Outfit,sans-serif;font-size:27px;font-weight:700;line-height:1.15}.stat-bar-track{background:var(--surface-raised);border-radius:20px;height:6px;margin-top:10px;overflow:hidden}.stat-bar-fill{height:100%;transition:width .3s var(--ease);border-radius:20px}.timeline-list{padding-left:24px;position:relative}.timeline-list:before{content:"";background:var(--border);width:2px;position:absolute;top:4px;bottom:4px;left:6px}.timeline-item{padding-bottom:20px;position:relative}.timeline-item:before{content:"";background:var(--surface);border:2px solid var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:3px;left:-24px}.timeline-actor{font-size:12.5px;font-weight:600}.timeline-kind{color:var(--text-2);margin-top:1px;font-size:12.5px}.timeline-time{color:var(--text-3);margin-top:2px;font-size:11px}.timeline-detail{background:var(--surface-raised);color:var(--text-2);border-radius:8px;margin-top:6px;padding:8px 10px;font-size:11.5px}.loading,.error-box{text-align:center;color:var(--text-3);padding:40px}.error-box{color:var(--crit);flex-direction:column;align-items:center;gap:10px;display:flex}.pill-select{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.pill-select button{background:var(--surface);color:var(--text-2);transition:background .12s var(--ease), color .12s var(--ease);border:none;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:inline-flex}.pill-select button.active{background:var(--accent);color:#fff}.cylinder-wheel::-webkit-scrollbar{display:none}.skeleton-bar{background:linear-gradient(90deg, var(--surface-raised) 25%, var(--border) 37%, var(--surface-raised) 63%);background-size:400% 100%;border-radius:5px;animation:1.4s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.skeleton-bar{animation:none}}.features-page{background:radial-gradient(circle at 15% 0%, #009c7b1f, transparent 42%), radial-gradient(circle at 88% 18%, #009c7b14, transparent 38%), var(--bg);min-height:100vh}.features-topbar{justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:20px 5vw;display:flex}.features-hero{text-align:center;max-width:780px;margin:0 auto;padding:64px 24px 40px}.features-eyebrow{background:var(--accent-dim);color:var(--accent);border-radius:20px;align-items:center;gap:6px;margin-bottom:18px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.features-hero h1{letter-spacing:-.5px;color:var(--text-1);margin:0 0 16px;font-family:Outfit,sans-serif;font-size:44px;font-weight:800;line-height:1.12}.features-hero p{color:var(--text-2);max-width:560px;margin:0 auto 26px;font-size:16px;line-height:1.6}.features-section{max-width:1180px;margin:0 auto;padding:40px 5vw}.features-section-head{text-align:center;max-width:620px;margin:0 auto 32px}.features-section-head h2{color:var(--text-1);margin:0 0 8px;font-family:Outfit,sans-serif;font-size:27px;font-weight:700}.features-section-head p{color:var(--text-3);margin:0;font-size:13.5px}.features-grid{grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px;display:grid}.features-grid-2{grid-template-columns:repeat(auto-fit,minmax(380px,1fr))}@media (width<=520px){.features-grid-2{grid-template-columns:1fr}}.feature-card{background:var(--surface);border:1px solid var(--border);transition:transform .16s var(--ease), box-shadow .16s var(--ease), border-color .16s var(--ease);border-radius:14px;padding:22px 20px}.feature-card:hover{box-shadow:var(--shadow-md);border-color:#0000;transform:translateY(-3px)}.feature-card-icon{color:#fff;background:linear-gradient(155deg, var(--accent), #00c79c);width:38px;height:38px;box-shadow:0 4px 12px var(--accent-glow);border-radius:10px;justify-content:center;align-items:center;margin-bottom:14px;display:flex}.feature-card h3{color:var(--text-1);margin:0 0 6px;font-size:14.5px;font-weight:700}.feature-card p{color:var(--text-3);margin:0;font-size:12.5px;line-height:1.55}.feature-card .badge{margin-top:10px}.features-flow{flex-wrap:wrap;justify-content:center;align-items:center;gap:0;display:flex}.features-flow-step{text-align:center;flex-direction:column;align-items:center;gap:8px;width:108px;display:flex}.features-flow-step .feature-card-icon{width:40px;height:40px;margin-bottom:0}.features-flow-step span{color:var(--text-2);font-size:11.5px;font-weight:600}.features-flow-arrow{color:var(--border);flex-shrink:0;margin:0 2px}.features-trust-row{flex-wrap:wrap;justify-content:center;gap:28px;display:flex}.features-trust-item{color:var(--text-2);align-items:center;gap:8px;font-size:12.5px;font-weight:500;display:flex}.features-trust-item svg{color:var(--accent);flex-shrink:0}.features-cta{text-align:center;background:linear-gradient(155deg, var(--text-1), #1a2540);color:#fff;border-radius:20px;max-width:640px;margin:20px auto 80px;padding:44px 32px}.features-cta h2{margin:0 0 8px;font-family:Outfit,sans-serif;font-size:24px}.features-cta p{color:#ffffffb3;margin:0 0 20px;font-size:13.5px}.features-cta .btn-primary{background:var(--accent);border-color:var(--accent)}.mobile-nav-toggle,.mobile-nav-scrim{display:none}@media (width<=768px){.mobile-nav-toggle{z-index:40;border:1px solid var(--border);background:var(--surface);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:fixed;top:12px;left:12px;box-shadow:0 2px 10px #0b11201f}.app-shell{position:relative}.sidebar{z-index:45;width:250px;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}body.nav-open .sidebar{transform:translate(0)}.mobile-nav-scrim{z-index:44;background:#0b112059;display:none;position:fixed;inset:0}body.nav-open .mobile-nav-scrim{display:block}.main{padding:64px 14px 24px}.task-detail-grid{grid-template-columns:1fr}.row{flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;display:flex}.row.head{display:none}.modal-backdrop{padding:0}.modal{border-radius:0;flex-direction:column;width:100%;max-width:100%;height:100%;max-height:100%;display:flex;overflow-y:auto}.btn,.tab,.nav-link,select,input,textarea{min-height:40px}.btn-sm{min-height:36px}.stat-grid{grid-template-columns:1fr}.board{flex-direction:column}.board-col{min-width:0}.tabs{flex-wrap:nowrap;max-width:100%;overflow-x:auto}.notepad-layout,.two-col-layout{grid-template-columns:1fr!important}.features-hero h1{font-size:30px}.features-hero{padding:48px 20px 28px}.features-section{padding:28px 5vw}.features-flow{gap:14px}.features-flow-arrow{display:none}.features-cta{margin:20px 16px 56px;padding:32px 22px}}.invoice-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;display:grid}.invoice-stat{align-items:center;gap:12px;padding:14px 16px;display:flex}.invoice-stat-icon{background:var(--surface-raised);width:32px;height:32px;color:var(--text-3);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.invoice-stat-icon[data-tone=accent]{background:var(--accent-dim);color:var(--accent)}.invoice-stat-icon[data-tone=crit]{background:var(--crit-bg);color:var(--crit)}.invoice-stat-icon[data-tone=ok]{background:var(--ok-bg);color:var(--ok)}.invoice-stat-label{color:var(--text-3);letter-spacing:.3px;text-transform:uppercase;font-size:11px;font-weight:600}.invoice-stat-value{margin-top:1px;font-size:18px;font-weight:700}.invoice-row{grid-template-columns:1fr 150px 150px;align-items:center}.invoice-number{color:var(--text-3);font-size:12px;font-weight:600}.invoice-row-due{font-size:12.5px}.invoice-start-grid{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.invoice-start-option{border:1px solid var(--border);background:var(--surface);font:inherit;color:var(--text-2);cursor:pointer;text-align:left;transition:border-color .12s var(--ease), background .12s var(--ease);border-radius:8px;padding:9px 11px;font-size:12.5px}.invoice-start-option:hover{background:var(--surface-raised)}.invoice-start-option.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent);font-weight:600}.invoice-layout{grid-template-columns:1.6fr 1fr;align-items:start;gap:18px;display:grid}@media (width<=960px){.invoice-layout{grid-template-columns:1fr}}.invoice-doc{padding:22px}.invoice-doc-head{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr auto;gap:20px;margin-bottom:4px;padding-bottom:18px;display:grid}@media (width<=700px){.invoice-doc-head{grid-template-columns:1fr;gap:14px}.invoice-doc-head>div:last-child{text-align:left!important}}.invoice-doc-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);margin-bottom:3px;font-size:10.5px;font-weight:600}.invoice-doc-party{font-size:13.5px;font-weight:600}.invoice-lines-wrap{margin:0 -6px;overflow-x:auto}.invoice-lines{border-collapse:collapse;table-layout:fixed;width:100%;min-width:660px}.invoice-lines th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--text-3);border-bottom:1px solid var(--border);padding:12px 6px 6px;font-size:10.5px;font-weight:600}.invoice-lines td{vertical-align:top;border-bottom:1px solid var(--border);padding:8px 6px;font-size:13px}.invoice-lines tr:last-child td{border-bottom:none}.invoice-lines input,.invoice-lines select{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-1);border-radius:7px;padding:7px;font-family:inherit;font-size:13px}.invoice-lines td,.invoice-lines th{padding-left:5px;padding-right:5px}.invoice-lines input:focus,.invoice-lines select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.invoice-lines input[type=checkbox]{width:auto}.invoice-source-tag{color:var(--text-3);margin-top:4px;font-size:11px;font-style:italic}.invoice-row-btn{cursor:pointer;color:var(--text-3);background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;padding:4px;display:flex}.invoice-row-btn:hover:not(:disabled){background:var(--surface-raised);color:var(--text-1)}.invoice-row-btn.danger:hover{background:var(--crit-bg);color:var(--crit)}.invoice-row-btn:disabled{opacity:.3;cursor:default}.invoice-totals{width:min(320px,100%);margin-top:16px;margin-left:auto}.invoice-total-row{color:var(--text-2);justify-content:space-between;gap:16px;padding:4px 0;font-size:13px;display:flex}.invoice-total-row.grand{color:var(--text-1);border-top:1px solid var(--border);margin-top:6px;padding-top:10px;font-size:16px;font-weight:700}.invoice-total-row.balance{color:var(--crit);padding-top:6px;font-size:17px;font-weight:700}.invoice-total-row.balance[data-settled=yes]{color:var(--ok)}.invoice-adjust{background:var(--surface-raised);margin-bottom:10px;padding:12px}.invoice-save-state{color:var(--text-3);text-align:right;min-height:15px;margin-top:8px;font-size:11.5px}.invoice-save-state[data-state=error]{color:var(--crit)}.invoice-side-heading{text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);margin-bottom:10px;font-size:11px;font-weight:600}.invoice-payment-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:7px 0;display:flex}.invoice-payment-row:last-of-type{border-bottom:none}.invoice-side-balance{border-top:1px solid var(--border);color:var(--text-2);justify-content:space-between;align-items:baseline;gap:10px;margin-top:12px;padding-top:12px;font-size:13px;display:flex}.invoice-side-balance strong{color:var(--crit);font-size:16px}.invoice-side-balance[data-settled=yes] strong{color:var(--ok)}.invoice-details{grid-template-columns:92px 1fr;align-items:center;gap:7px 10px;margin:0;font-size:12.5px;display:grid}.invoice-details dt{color:var(--text-3)}.invoice-details dd{color:var(--text-1);margin:0}.invoice-details dd input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-1);border-radius:6px;padding:5px 8px;font-family:inherit;font-size:12.5px}.invoice-event{border-bottom:1px solid var(--border);padding:7px 0;font-size:12.5px}.invoice-event:last-child{border-bottom:none}.menu-scrim{z-index:40;position:fixed;inset:0}.invoice-menu{z-index:41;background:var(--surface);border:1px solid var(--border);min-width:232px;box-shadow:var(--shadow-md);border-radius:10px;flex-direction:column;padding:5px;display:flex;position:absolute;top:calc(100% + 4px);left:0}.invoice-menu button{font:inherit;color:var(--text-1);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:9px;width:100%;padding:8px 10px;font-size:13px;display:flex}.invoice-menu button:hover{background:var(--surface-raised)}.invoice-menu button.danger{color:var(--crit)}.invoice-menu button.danger:hover{background:var(--crit-bg)}.invoice-menu button svg{color:var(--text-3);flex-shrink:0}.invoice-menu button.danger svg{color:var(--crit)}.invoice-menu-divider{background:var(--border);height:1px;margin:4px 0}.invoice-menu.align-right{left:auto;right:0}.invoice-menu.invoice-menu-up{top:auto;bottom:calc(100% + 4px)}.invoice-import-body{max-height:46vh;padding-right:4px;overflow-y:auto}.invoice-import-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;padding:9px 4px;font-size:13px;display:flex}.invoice-import-row:last-child{border-bottom:none}.invoice-import-amount{text-align:right;flex-shrink:0;width:104px;font-weight:600}.invoice-billed-chip{background:var(--warn-bg);color:var(--warn);white-space:nowrap;border-radius:5px;align-items:center;gap:4px;margin-left:6px;padding:2px 6px;font-size:10.5px;font-weight:600;display:inline-flex}.invoice-paste-table{border-collapse:collapse;width:100%;font-size:12px}.invoice-paste-table th{border-bottom:1px solid var(--border);background:var(--surface-raised);text-align:left;padding:6px}.invoice-paste-table th select{width:100%;padding:4px 6px;font-size:11.5px}.invoice-paste-header-hint{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:10.5px;overflow:hidden}.invoice-paste-table td{border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;max-width:180px;padding:5px 6px;overflow:hidden}.invoice-paste-skipped{background:var(--surface-raised);color:var(--text-2);border-radius:8px;align-items:flex-start;gap:8px;margin-bottom:10px;padding:9px 11px;font-size:12px;display:flex}.invoice-paste-skipped ul{margin:4px 0 0;padding-left:16px}.invoice-paste-skipped svg{flex-shrink:0;margin-top:1px}.invoice-inline-warning{background:var(--warn-bg);color:var(--warn);border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:9px 11px;font-size:12.5px;display:flex}.invoice-inline-warning svg{flex-shrink:0}.invoice-logo-preview{border:1px dashed var(--border);background:var(--surface-raised);border-radius:10px;justify-content:center;align-items:center;min-height:92px;padding:14px;display:flex}.invoice-logo-preview img{object-fit:contain;max-width:100%;max-height:62px}.invoice-number-preview{color:var(--text-2);background:var(--accent-dim);border-radius:8px;margin-top:8px;padding:9px 11px;font-size:12.5px}.invoice-number-preview strong{color:var(--accent);font-family:JetBrains Mono,monospace}.template-card{text-align:left;border:1px solid var(--border);background:var(--surface);cursor:pointer;width:100%;transition:border-color .12s var(--ease), background .12s var(--ease);border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.template-card:hover:not(:disabled){border-color:var(--accent);background:var(--surface-raised)}.template-card:disabled{opacity:.55;cursor:default}.template-card-icon{background:var(--bg-2);width:32px;height:32px;color:var(--accent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;font-size:13.5px;font-weight:600;display:flex}.count-chip{background:var(--bg-2);min-width:20px;height:18px;color:var(--text-3);border-radius:9px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.link-row{color:inherit}.link-row:hover{background:var(--surface-raised)}.access-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:6px;display:grid}.access-chip{background:var(--surface);border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;min-width:0;padding:6px 8px;display:flex;position:relative}.access-chip.granted{border-color:var(--accent);background:var(--surface-raised)}.access-chip-name{color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:500;overflow:hidden}.access-chip-role{color:var(--text-3);font-size:10.5px}.access-chip-revoke{border:1px solid var(--border);background:var(--surface);width:22px;height:22px;color:var(--text-3);cursor:pointer;opacity:0;transition:opacity .12s var(--ease), color .12s var(--ease), border-color .12s var(--ease);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:flex}.access-chip:hover .access-chip-revoke,.access-chip:focus-within .access-chip-revoke{opacity:1}.access-chip-revoke:hover{color:var(--crit);border-color:var(--crit)}.btn.btn-toggled{background:var(--accent);border-color:var(--accent);color:#fff}.btn.btn-toggled:hover{background:var(--accent);border-color:var(--accent)}.totp-setup-grid{grid-template-columns:auto 1fr;align-items:start;gap:20px;margin-bottom:16px;display:grid}@media (width<=640px){.totp-setup-grid{grid-template-columns:1fr;gap:16px}}.vault-fields{border-top:1px solid var(--border);flex-direction:column;margin-top:10px;padding-top:8px;display:flex}.vault-field{grid-template-columns:116px 1fr auto;align-items:baseline;gap:10px;min-width:0;padding:5px 0;font-size:12.5px;display:grid}.vault-field+.vault-field{border-top:1px solid var(--border)}.vault-field-label{color:var(--text-3);letter-spacing:.2px;font-size:11px;font-weight:600}.vault-field-value{color:var(--text-1);min-width:0}.vault-field-value a{color:var(--accent)}.vault-field-copy{border:1px solid var(--border);background:var(--surface);width:24px;height:22px;color:var(--text-3);cursor:pointer;transition:color .12s var(--ease), border-color .12s var(--ease);border-radius:6px;flex-shrink:0;justify-content:center;align-self:center;align-items:center;display:flex}.vault-field-copy:hover{color:var(--accent);border-color:var(--accent)}@media (width<=560px){.vault-field{grid-template-columns:1fr auto}.vault-field-label{grid-column:1/-1}}.rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:.5;--rdp-outside-opacity:.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:white;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%);--rdp-range_end-color:white;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:.75;--rdp-weekday-padding:.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:.3s;--rdp-animation_timing:cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{box-sizing:border-box;position:relative}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{cursor:pointer;font:inherit;color:inherit;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius);background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;white-space:nowrap;border:0;align-items:center;display:inline-flex;position:relative}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{cursor:pointer;font:inherit;color:inherit;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform-origin:50%;transform:rotate(180deg)}.rdp-dropdowns{align-items:center;gap:var(--rdp-dropdown-gap);display:inline-flex;position:relative}.rdp-dropdown{z-index:2;opacity:0;appearance:none;width:100%;cursor:inherit;line-height:inherit;border:none;margin:0;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{height:var(--rdp-nav-height);align-content:center;font-size:large;font-weight:700;display:flex}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{inset-inline-start:0;height:var(--rdp-nav-height);display:inline-flex;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{inset-inline-end:0;height:var(--rdp-nav-height);justify-content:center;display:inline-flex;position:absolute;top:0}.rdp-months{gap:var(--rdp-months-gap);flex-wrap:wrap;max-width:fit-content;display:flex;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{height:var(--rdp-nav-height);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-end:0}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform);font-size:smaller;font-weight:500}.rdp-week_number{opacity:var(--rdp-week_number-opacity);height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align);font-size:small;font-weight:400}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}
