@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&display=swap";.demo-banner{color:#e8eef7;background:#0b1220;border-bottom:1px solid #3de0c459;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.4rem .85rem;font-size:.8rem;display:flex}.demo-banner-left{align-items:center;gap:.65rem;min-width:0;display:flex}.demo-banner-pill{letter-spacing:.12em;color:#041016;background:#3de0c4;border-radius:3px;flex-shrink:0;padding:.2rem .45rem;font-family:ui-monospace,IBM Plex Mono,monospace;font-size:.65rem;font-weight:700}.demo-banner-text{text-overflow:ellipsis;white-space:nowrap;color:#8b9bb4;overflow:hidden}.demo-banner-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.demo-banner-btn{color:#e8eef7;cursor:pointer;background:0 0;border:1px solid #e8eef740;border-radius:4px;padding:.28rem .65rem;font-size:.75rem;font-weight:650}.demo-banner-btn:hover:not(:disabled){color:#3de0c4;border-color:#3de0c4}.demo-banner-btn:disabled{opacity:.55;cursor:not-allowed}.demo-banner-btn-primary{color:#041016;background:#3de0c4;border-color:#3de0c4}.demo-banner-btn-primary:hover:not(:disabled){color:#041016;filter:brightness(1.05)}.demo-banner-link{color:#4da3ff;margin-left:.25rem;font-size:.75rem;font-weight:650;text-decoration:none}.demo-banner-link:hover{text-decoration:underline}.demo-banner-error{color:#f87171;font-size:.72rem}.demo-tour{z-index:55;max-width:min(340px,100vw - 2rem);animation:.25s both demo-tour-in;position:fixed;bottom:4.5rem;right:1rem}.demo-tour-card{color:#e8eef7;background:#0b1220;border:1px solid #3de0c466;border-radius:10px;padding:1rem 1.1rem;box-shadow:0 16px 40px #00000059}.demo-tour-kicker{letter-spacing:.1em;color:#3de0c4;margin:0 0 .35rem;font-family:ui-monospace,monospace;font-size:.65rem}.demo-tour-card h3{margin:0 0 .35rem;font-size:1.05rem}.demo-tour-card p{color:#b7c3d8;margin:0 0 .65rem;font-size:.9rem;line-height:1.4}.demo-tour-path{opacity:.6;font-size:.68rem!important}.demo-tour-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.demo-tour-actions button{color:#e8eef7;cursor:pointer;background:0 0;border:1px solid #e8eef740;border-radius:4px;padding:.35rem .65rem;font-size:.78rem;font-weight:650}.demo-tour-actions button.is-primary{color:#041016;background:#3de0c4;border-color:#3de0c4}@keyframes demo-tour-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.demo-tour{animation:none}}.landing{--landing-bg:#f3f5f7;--landing-surface:#fff;--landing-surface-2:#eef2f4;--landing-text:#0f172a;--landing-muted:#64748b;--landing-teal:#0f6e56;--landing-teal-hover:#0b5a46;--landing-teal-soft:#e2eeeb;--landing-line:#0f172a1a;--landing-font:"Outfit", system-ui, sans-serif;--landing-wash:#d8ebe4;background:var(--landing-bg);height:100%;min-height:100vh;color:var(--landing-text);font-family:var(--landing-font);overflow:hidden auto}.landing-nav{z-index:20;background:color-mix(in srgb, var(--landing-surface) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--landing-line);justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1.5rem;display:flex;position:sticky;top:0}.landing-nav-brand{align-items:baseline;gap:.45rem;display:flex}.landing-nav-mark{letter-spacing:.14em;color:var(--landing-teal);font-size:.95rem;font-weight:800}.landing-nav-product{color:var(--landing-muted);font-size:.85rem;font-weight:600}.landing-nav-links{gap:1.25rem;display:flex}.landing-nav-links a{color:var(--landing-muted);font-size:.88rem;font-weight:600;text-decoration:none}.landing-nav-links a:hover{color:var(--landing-text)}.landing-nav-actions{align-items:center;gap:.75rem;display:flex}.landing-btn{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:.55rem 1.15rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .18s,background .18s,color .18s,border-color .18s;display:inline-flex}.landing-btn-lg{padding:.8rem 1.4rem;font-size:1rem}.landing-btn-primary{background:var(--landing-teal);color:#fff}.landing-btn-primary:hover{background:var(--landing-teal-hover);transform:translateY(-1px)}.landing-btn-ghost{background:var(--landing-surface);border-color:var(--landing-line);color:var(--landing-text)}.landing-btn-ghost:hover{border-color:color-mix(in srgb, var(--landing-teal) 45%, var(--landing-line));color:var(--landing-teal);transform:translateY(-1px)}.landing-link{color:var(--landing-muted);font-size:.88rem;font-weight:600;text-decoration:none}.landing-link:hover{color:var(--landing-teal)}.landing-hero{align-items:center;min-height:calc(100vh - 56px);padding:2.5rem 1.5rem 3.5rem;display:flex;position:relative;overflow:hidden}.landing-hero-bg{background:radial-gradient(900px 420px at 8% -10%, var(--landing-wash) 0%, transparent 55%), radial-gradient(700px 380px at 100% 0%, #e4eef8 0%, transparent 50%), linear-gradient(180deg, #f7faf9 0%, var(--landing-bg) 70%);pointer-events:none;position:absolute;inset:0}.landing-hero-inner{z-index:1;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:2.5rem 2rem;width:min(1120px,100%);margin:0 auto;display:grid;position:relative}.landing-brand-lockup{align-items:baseline;gap:.55rem;margin:0 0 1rem;display:flex}.landing-brand-main{letter-spacing:.08em;color:var(--landing-teal);font-size:clamp(2.4rem,5vw,3.6rem);font-weight:800;line-height:1}.landing-brand-sub{color:var(--landing-muted);font-size:clamp(1.1rem,2vw,1.45rem);font-weight:600}.landing-brand-lockup-sm .landing-brand-main{font-size:clamp(1.8rem,3.5vw,2.4rem)}.landing-headline{letter-spacing:-.02em;max-width:18ch;margin:0 0 .85rem;font-size:clamp(1.75rem,3.4vw,2.55rem);font-weight:700;line-height:1.15}.landing-headline-sm{max-width:22ch;margin-left:auto;margin-right:auto;font-size:clamp(1.35rem,2.6vw,1.85rem)}.landing-lead{color:var(--landing-muted);max-width:36ch;margin:0 0 1.4rem;font-size:1.05rem;line-height:1.5}.landing-cta-row{flex-wrap:wrap;align-items:center;gap:.7rem;margin-bottom:.85rem;display:flex}.landing-cta-row-center{justify-content:center}.landing-micro{color:var(--landing-muted);margin:0;font-size:.82rem}.landing-hero-visual{position:relative}.landing-product-frame{background:var(--landing-surface);border:1px solid var(--landing-line);transform-origin:0;border-radius:14px;animation:7s ease-in-out infinite landing-float;overflow:hidden;transform:perspective(1200px)rotateY(-4deg)rotateX(2deg);box-shadow:0 1px #0f172a0a,0 24px 48px -28px #0f6e5659}.landing-product-chrome{background:var(--landing-surface-2);border-bottom:1px solid var(--landing-line);align-items:center;gap:.35rem;padding:.55rem .75rem;display:flex}.landing-product-chrome span{background:#cbd5e1;border-radius:50%;width:8px;height:8px}.landing-product-chrome span:first-child{background:#f87171}.landing-product-chrome span:nth-child(2){background:#fbbf24}.landing-product-chrome span:nth-child(3){background:#34d399}.landing-product-chrome em{color:var(--landing-muted);margin-left:.5rem;font-size:.72rem;font-style:normal;font-weight:600}.landing-product-body{grid-template-columns:88px 1fr;min-height:280px;display:grid}.landing-product-side{border-right:1px solid var(--landing-line);background:#f0f4f3;flex-direction:column;gap:.35rem;padding:.75rem .55rem;font-size:.68rem;display:flex}.landing-product-side strong{letter-spacing:.06em;text-transform:uppercase;color:var(--landing-muted);margin-bottom:.25rem;font-size:.62rem}.landing-product-side i{color:var(--landing-muted);border-radius:6px;padding:.35rem .4rem;font-style:normal;font-weight:600}.landing-product-side i.is-active{background:var(--landing-teal-soft);color:var(--landing-teal)}.landing-product-main{flex-direction:column;gap:.75rem;padding:.85rem .9rem 1rem;display:flex}.landing-product-toolbar{justify-content:space-between;align-items:baseline;display:flex}.landing-product-toolbar b{font-size:.95rem}.landing-product-toolbar span{color:var(--landing-muted);font-size:.72rem;font-weight:600}.landing-product-rows{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.landing-product-rows li{border:1px solid var(--landing-line);background:#f8fafb;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;align-items:center;gap:.2rem .55rem;padding:.45rem .5rem;display:grid}.landing-product-rows strong{font-size:.78rem}.landing-product-rows em{color:var(--landing-teal);grid-area:1/3;font-size:.72rem;font-style:normal;font-weight:700}.landing-bar{background:#e2e8f0;border-radius:99px;grid-column:1/-1;height:4px;overflow:hidden}.landing-bar i{background:var(--landing-teal);border-radius:inherit;height:100%;display:block}.landing-pill{background:var(--landing-teal-soft);color:var(--landing-teal);text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:.15rem .4rem;font-size:.62rem;font-weight:700;display:inline-flex}.landing-pill.tone-plan{color:#0369a1;background:#e0f2fe}.landing-pill.tone-done{color:#047857;background:#ecfdf5}.landing-product-board{grid-template-columns:repeat(3,1fr);gap:.45rem;margin-top:.15rem;display:grid}.landing-product-board>div{border:1px solid var(--landing-line);background:#f8fafb;border-radius:8px;flex-direction:column;gap:.3rem;min-height:72px;padding:.4rem;display:flex}.landing-product-board>div.is-focus{border-color:color-mix(in srgb, var(--landing-teal) 40%, var(--landing-line));background:color-mix(in srgb, var(--landing-teal) 6%, #fff)}.landing-product-board small{color:var(--landing-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.62rem;font-weight:700}.landing-product-board span{background:#e2e8f0;border-radius:4px;height:10px;display:block}.landing-product-board .is-focus span{background:color-mix(in srgb, var(--landing-teal) 28%, #e2e8f0)}.landing-section{width:min(960px,100% - 3rem);margin:0 auto;padding:3.5rem 0}.landing-section-soft{background:var(--landing-surface);border-block:1px solid var(--landing-line);width:100%;max-width:none;padding:3.5rem 1.5rem}.landing-section-soft .landing-h2,.landing-section-soft .landing-kicker,.landing-section-soft .landing-audience{width:min(960px,100%);margin-left:auto;margin-right:auto}.landing-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--landing-teal);margin:0 0 .45rem;font-size:.78rem;font-weight:700}.landing-h2{letter-spacing:-.02em;max-width:22ch;margin:0 0 1.5rem;font-size:clamp(1.35rem,2.4vw,1.85rem);font-weight:700}.landing-section-lead{color:var(--landing-muted);max-width:42ch;margin:0 0 1.25rem;font-size:1rem;line-height:1.5}.landing-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.landing-flow li{flex-direction:column;gap:.65rem;padding:0;display:flex}.landing-flow-n{background:var(--landing-teal);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.9rem;font-weight:800;display:inline-flex}.landing-flow strong{margin-bottom:.25rem;font-size:1.05rem;display:block}.landing-flow p{color:var(--landing-muted);margin:0;font-size:.9rem;line-height:1.45}.landing-audience{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.landing-audience strong{color:var(--landing-text);margin-bottom:.35rem;font-size:1.05rem;display:block}.landing-audience p{color:var(--landing-muted);margin:0;font-size:.92rem;line-height:1.45}.landing-demo-band{background:radial-gradient(600px 200px at 0% 0%, var(--landing-wash), transparent 60%), var(--landing-surface);border:1px solid var(--landing-line);border-radius:16px;width:min(960px,100% - 3rem);margin:0 auto 1rem;padding:2.25rem 1.75rem}.landing-demo-copy .landing-h2{margin-bottom:.65rem}.landing-footer-cta{text-align:center;background:radial-gradient(700px 280px at 50% 0%, var(--landing-wash) 0%, transparent 65%), var(--landing-bg);padding:4rem 1.5rem 3.5rem;position:relative}.landing-footer-cta .landing-brand-lockup{justify-content:center}.landing-footer-cta .landing-micro{margin-top:1.25rem}.landing-anim-d1,.landing-anim-d2,.landing-anim-d3,.landing-anim-d4{animation:.7s both landing-rise}.landing-anim-d1{animation-delay:50ms}.landing-anim-d2{animation-delay:.14s}.landing-anim-d3{animation-delay:.24s}.landing-anim-d4{animation-delay:.34s}.landing-reveal{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(16px)}.landing-reveal.is-in{opacity:1;transform:none}@keyframes landing-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes landing-float{0%,to{transform:perspective(1200px)rotateY(-4deg)rotateX(2deg)translateY(0)}50%{transform:perspective(1200px)rotateY(-4deg)rotateX(2deg)translateY(-6px)}}@media (prefers-reduced-motion:reduce){.landing-anim-d1,.landing-anim-d2,.landing-anim-d3,.landing-anim-d4,.landing-product-frame{animation:none!important}.landing-reveal{opacity:1;transition:none;transform:none}}@media (width<=900px){.landing-hero-inner{grid-template-columns:1fr;gap:2rem}.landing-headline{max-width:none}.landing-lead{max-width:42ch}.landing-product-frame{animation:none;transform:none}.landing-flow{grid-template-columns:1fr 1fr}.landing-audience{grid-template-columns:1fr}.landing-nav-links{display:none}}@media (width<=560px){.landing-flow,.landing-product-body{grid-template-columns:1fr}.landing-product-side{border-right:none;border-bottom:1px solid var(--landing-line);flex-flow:wrap}.landing-nav-actions .landing-link{display:none}.landing-cta-row{flex-direction:column;align-items:stretch}.landing-btn-lg{width:100%}}.demo-entry{justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.25rem;display:flex}.demo-entry-inner{text-align:left;max-width:28rem}.demo-entry-error p{color:#f87171;margin:0 0 1rem}.saas-auth{--sa-bg:#f3f5f7;--sa-surface:#fff;--sa-text:#0f172a;--sa-muted:#64748b;--sa-teal:#0f6e56;--sa-teal-hover:#0b5a46;--sa-line:#0f172a1a;--sa-font:"Outfit", system-ui, sans-serif;--sa-wash:#d8ebe4;background:radial-gradient(900px 420px at 10% -10%, var(--sa-wash) 0%, transparent 55%), radial-gradient(700px 380px at 100% 0%, #e4eef8 0%, transparent 50%), var(--sa-bg);height:100%;min-height:100vh;color:var(--sa-text);font-family:var(--sa-font);justify-content:center;align-items:center;padding:2rem 1.25rem;display:flex;overflow-y:auto}.saas-auth-card{background:var(--sa-surface);border:1px solid var(--sa-line);border-radius:14px;width:100%;max-width:420px;padding:1.75rem 1.5rem;box-shadow:0 18px 40px -28px #0f6e5659}.saas-auth-brand{letter-spacing:.14em;color:var(--sa-teal);margin:0 0 .75rem;font-size:.85rem;font-weight:800}.saas-auth-card h1{letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.55rem;font-weight:750}.saas-auth-lead{color:var(--sa-muted);margin:0 0 1.25rem;font-size:.95rem;line-height:1.45}.saas-field{flex-direction:column;gap:.35rem;margin-bottom:.85rem;display:flex}.saas-field label{color:var(--sa-muted);font-size:.78rem;font-weight:650}.saas-field input,.saas-field select{border:1px solid var(--sa-line);color:var(--sa-text);font:inherit;background:#fff;border-radius:8px;padding:.65rem .75rem}.saas-field input:focus,.saas-field select:focus{outline:2px solid var(--sa-teal);outline-offset:1px}.saas-auth-actions{flex-direction:column;gap:.65rem;margin-top:1rem;display:flex}.saas-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1rem;font-family:inherit;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.saas-btn:disabled{opacity:.55;cursor:not-allowed}.saas-btn-primary{background:var(--sa-teal);color:#fff}.saas-btn-primary:hover:not(:disabled){background:var(--sa-teal-hover)}.saas-btn-ghost{border-color:var(--sa-line);color:var(--sa-text);background:0 0}.saas-btn-ghost:hover:not(:disabled){border-color:color-mix(in srgb, var(--sa-teal) 40%, var(--sa-line));color:var(--sa-teal)}.saas-btn-google{color:#111;border:1px solid var(--sa-line);background:#fff}.saas-error{color:#dc2626;margin:0 0 .75rem;font-size:.88rem}.saas-ok{color:var(--sa-teal);margin:0 0 .75rem;font-size:.88rem}.saas-auth-footer{color:var(--sa-muted);margin-top:1.25rem;font-size:.85rem}.saas-auth-footer a{color:var(--sa-teal);font-weight:600}.saas-org-list{flex-direction:column;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.saas-org-list button{text-align:left;border:1px solid var(--sa-line);width:100%;color:var(--sa-text);cursor:pointer;background:#f8fafb;border-radius:10px;padding:.85rem 1rem;font-family:inherit}.saas-org-list button:hover{border-color:color-mix(in srgb, var(--sa-teal) 45%, var(--sa-line));background:color-mix(in srgb, var(--sa-teal) 6%, #fff)}.saas-org-list strong{display:block}.saas-org-list span{color:var(--sa-muted);font-size:.78rem}.saas-mono{letter-spacing:.06em;text-transform:uppercase;color:var(--sa-teal);font-size:.72rem;font-weight:700}.master-page{--ma-bg:#f3f5f7;--ma-surface:#fff;--ma-text:#0f172a;--ma-muted:#64748b;--ma-teal:#0f6e56;--ma-teal-hover:#0b5a46;--ma-teal-soft:#d8ebe4;--ma-line:#0f172a1a;--ma-danger:#b42318;--ma-danger-soft:#fee4e2;--ma-ok:#067647;--ma-ok-soft:#d1fadf;--ma-warn:#b54708;--ma-warn-soft:#fef0c7;--ma-font:"Outfit", system-ui, sans-serif;box-sizing:border-box;background:radial-gradient(900px 420px at 8% -8%, var(--ma-teal-soft) 0%, transparent 55%), radial-gradient(700px 360px at 100% 0%, #e4eef8 0%, transparent 48%), var(--ma-bg);min-height:100dvh;color:var(--ma-text);font-family:var(--ma-font);padding:1.5rem 1.5rem 3rem}.master-page *,.master-page :before,.master-page :after{box-sizing:border-box}.master-shell{gap:1rem;max-width:1180px;margin:0 auto;display:grid}.master-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.master-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--ma-teal);margin:0 0 .35rem;font-size:.72rem;font-weight:700}.master-head h1{letter-spacing:-.03em;margin:0 0 .35rem;font-size:clamp(1.55rem,2.4vw,1.9rem);font-weight:750;line-height:1.15}.master-head-lead{color:var(--ma-muted);max-width:40rem;margin:0;font-size:.92rem;line-height:1.45}.master-meta-row{flex-wrap:wrap;gap:.4rem;margin-top:.75rem;display:flex}.master-chip{border:1px solid var(--ma-line);background:color-mix(in srgb, var(--ma-surface) 80%, transparent);color:var(--ma-muted);border-radius:999px;align-items:center;gap:.3rem;padding:.22rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.master-chip.is-live{border-color:color-mix(in srgb, var(--ma-teal) 35%, var(--ma-line));background:color-mix(in srgb, var(--ma-teal) 10%, var(--ma-surface));color:var(--ma-teal)}.master-chip.is-warn{border-color:color-mix(in srgb, var(--ma-warn) 30%, var(--ma-line));background:var(--ma-warn-soft);color:var(--ma-warn)}.master-head-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.master-btn{appearance:none;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .9rem;font-size:.84rem;font-weight:650;text-decoration:none;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;display:inline-flex}.master-btn:disabled{opacity:.55;cursor:not-allowed}.master-btn-primary{background:var(--ma-teal);color:#fff}.master-btn-primary:hover:not(:disabled){background:var(--ma-teal-hover)}.master-btn-ghost{background:var(--ma-surface);border-color:var(--ma-line);color:var(--ma-text)}.master-btn-ghost:hover:not(:disabled){border-color:color-mix(in srgb, var(--ma-teal) 40%, var(--ma-line));color:var(--ma-teal)}.master-btn-danger{background:var(--ma-surface);border-color:color-mix(in srgb, var(--ma-danger) 28%, var(--ma-line));color:var(--ma-danger)}.master-btn-danger:hover:not(:disabled){background:var(--ma-danger-soft)}.master-btn-sm{border-radius:7px;padding:.35rem .65rem;font-size:.78rem}.master-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.master-stat{border:1px solid var(--ma-line);background:color-mix(in srgb, var(--ma-surface) 92%, transparent);border-radius:12px;padding:.85rem 1rem;box-shadow:0 10px 24px -22px #0f6e5673}.master-stat strong{letter-spacing:-.03em;font-size:1.45rem;font-weight:750;line-height:1.1;display:block}.master-stat span{color:var(--ma-muted);margin-top:.2rem;font-size:.75rem;font-weight:600;display:block}.master-tabs{border:1px solid var(--ma-line);background:color-mix(in srgb, var(--ma-surface) 88%, transparent);border-radius:12px;flex-wrap:wrap;gap:.3rem;padding:.3rem;display:flex}.master-tabs button{appearance:none;cursor:pointer;font:inherit;color:var(--ma-muted);background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.84rem;font-weight:650;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.master-tabs button:hover{color:var(--ma-text);background:color-mix(in srgb, var(--ma-teal) 6%, transparent)}.master-tabs button.is-active{background:var(--ma-surface);color:var(--ma-teal);border-color:color-mix(in srgb, var(--ma-teal) 28%, var(--ma-line));box-shadow:0 1px 2px #0f172a0a}.master-tab-count{background:color-mix(in srgb, var(--ma-text) 6%, transparent);min-width:1.35rem;height:1.2rem;color:inherit;border-radius:999px;justify-content:center;align-items:center;padding:0 .35rem;font-size:.68rem;font-weight:700;display:inline-flex}.master-tabs button.is-active .master-tab-count{background:color-mix(in srgb, var(--ma-teal) 14%, transparent)}.master-section{border:1px solid var(--ma-line);background:var(--ma-surface);border-radius:14px;overflow:hidden;box-shadow:0 18px 40px -30px #0f6e5659}.master-section-bar{border-bottom:1px solid var(--ma-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.master-section-bar h2{letter-spacing:-.01em;margin:0;font-size:.95rem;font-weight:700}.master-section-bar p{color:var(--ma-muted);margin:.15rem 0 0;font-size:.78rem}.master-alert{border:1px solid color-mix(in srgb, var(--ma-danger) 25%, var(--ma-line));background:var(--ma-danger-soft);color:var(--ma-danger);border-radius:9px;margin:.85rem 1rem 0;padding:.65rem .8rem;font-size:.84rem;font-weight:600}.master-table-wrap{overflow-x:auto}.master-table{border-collapse:collapse;width:100%;font-size:.86rem}.master-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--ma-muted);background:color-mix(in srgb, var(--ma-bg) 70%, var(--ma-surface));border-bottom:1px solid var(--ma-line);white-space:nowrap;padding:.65rem 1rem;font-size:.7rem;font-weight:700}.master-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--ma-line);padding:.85rem 1rem}.master-table tbody tr:last-child td{border-bottom:none}.master-table tbody tr:hover td{background:color-mix(in srgb, var(--ma-teal) 4%, transparent)}.master-org-name{letter-spacing:-.01em;color:var(--ma-text);font-weight:700;display:block}.master-sub{color:var(--ma-muted);margin-top:.15rem;font-size:.75rem;line-height:1.35}.master-sub.is-flush{margin-top:0}.master-badge{letter-spacing:.02em;text-transform:capitalize;border-radius:999px;align-items:center;padding:.18rem .5rem;font-size:.7rem;font-weight:700;display:inline-flex}.master-badge.is-active,.master-badge.is-ok{background:var(--ma-ok-soft);color:var(--ma-ok)}.master-badge.is-inactive,.master-badge.is-off,.master-badge.is-suspended,.master-badge.is-expired{background:var(--ma-danger-soft);color:var(--ma-danger)}.master-badge.is-trial,.master-badge.is-warn{background:var(--ma-warn-soft);color:var(--ma-warn)}.master-license-summary{flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.55rem;display:flex}.master-license-summary .master-sub{margin:0}.master-inline-form{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.master-inline-form select,.master-inline-form input{appearance:none;border:1px solid var(--ma-line);color:var(--ma-text);font:inherit;background:#fff;border-radius:7px;min-height:2rem;padding:.35rem .5rem;font-size:.78rem}.master-inline-form select:focus,.master-inline-form input:focus{outline:2px solid color-mix(in srgb, var(--ma-teal) 35%, transparent);outline-offset:1px}.master-inline-form input[type=number]{width:4.25rem}.master-ua{text-overflow:ellipsis;white-space:nowrap;max-width:240px;color:var(--ma-muted);font-size:.78rem;overflow:hidden}.master-empty{text-align:center;color:var(--ma-muted);margin:0;padding:2rem 1rem;font-size:.9rem}.master-mail{gap:.65rem;margin:0;padding:.85rem;list-style:none;display:grid}.master-mail li{border:1px solid var(--ma-line);background:color-mix(in srgb, var(--ma-bg) 55%, var(--ma-surface));border-radius:10px;padding:.85rem .95rem}.master-mail-kind{background:color-mix(in srgb, var(--ma-teal) 12%, transparent);color:var(--ma-teal);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;margin-right:.35rem;padding:.1rem .4rem;font-size:.68rem;font-weight:700;display:inline-flex}.master-mail pre{white-space:pre-wrap;background:var(--ma-surface);border:1px solid var(--ma-line);color:var(--ma-muted);border-radius:8px;margin:.55rem 0 0;padding:.65rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}@media (width<=900px){.master-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.master-page{padding:1rem .85rem 2rem}.master-stats{grid-template-columns:1fr 1fr}.master-tabs{flex-direction:column}.master-tabs button{justify-content:space-between}}.help-fab{z-index:60;color:#fff;cursor:pointer;background:#0f6e56;border:1px solid #89b1b0;border-radius:999px;width:2.55rem;height:2.55rem;font-size:1.15rem;font-weight:800;transition:transform .15s,background .15s;position:fixed;bottom:1rem;right:1rem;box-shadow:0 8px 22px -10px #0f6e568c}.help-fab:hover{background:#0b5a46;transform:translateY(-1px)}.help-fab.is-marketing{color:#0f6e56;background:#fff;border-color:#8eb7b2}.help-backdrop{z-index:70;background:#0f172a59;justify-content:flex-end;display:flex;position:fixed;inset:0}.help-panel{color:#0f172a;background:#f8fafb;border-left:1px solid #0f172a1a;flex-direction:column;gap:.35rem;width:min(420px,100%);height:100%;padding:1.1rem 1.05rem 1.5rem;font-size:.9rem;line-height:1.45;animation:.22s both help-slide;display:flex;overflow:auto}.help-panel-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.35rem;display:flex}.help-panel-kicker{letter-spacing:.08em;text-transform:uppercase;color:#0f6e56;margin:0 0 .15rem;font-size:.72rem;font-weight:700}.help-panel-head h2{letter-spacing:-.02em;margin:0;font-size:1.2rem}.help-close{color:#64748b;cursor:pointer;background:#fff;border:1px solid #0f172a1f;border-radius:6px;padding:.3rem .6rem;font-size:.8rem;font-weight:600}.help-close:hover{color:#0f172a;border-color:#0f172a38}.help-hint{color:#94a3b8!important;margin:.75rem 0 0!important;font-size:.75rem!important}.help-center{flex-direction:column;flex:1;gap:1rem;display:flex}.help-search input{box-sizing:border-box;width:100%;font:inherit;color:#0f172a;background:#fff;border:1px solid #0f172a1f;border-radius:8px;padding:.55rem .7rem;font-size:.88rem}.help-search input:focus{outline-offset:1px;outline:2px solid #0f6e56}.help-section-title{letter-spacing:.07em;text-transform:uppercase;color:#0f6e56;margin:0 0 .45rem;font-size:.72rem;font-weight:700}.help-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.help-list-btn{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:#fff;border:1px solid #0f172a1a;border-radius:10px;flex-direction:column;gap:.2rem;padding:.65rem .75rem;transition:border-color .15s,background .15s;display:flex}.help-list-btn:hover{background:#f1f6f5;border-color:#8eb7b2}.help-list-btn strong{font-size:.9rem}.help-list-btn span{color:#64748b;font-size:.8rem;line-height:1.35}.help-categories{flex-direction:column;gap:.4rem;display:flex}.help-cat{text-align:left;cursor:pointer;font:inherit;background:#fff;border:1px solid #0f172a1a;border-radius:10px;flex-direction:column;gap:.15rem;padding:.65rem .75rem;display:flex}.help-cat:hover{border-color:#98bdba}.help-cat strong{font-size:.88rem}.help-cat span{color:#64748b;font-size:.78rem}.help-back{color:#0f6e56;font:inherit;cursor:pointer;background:0 0;border:none;margin:0 0 .65rem;padding:0;font-size:.82rem;font-weight:700}.help-back:hover{text-decoration:underline}.help-empty{color:#64748b;margin:0;font-size:.85rem}.help-article-title{letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.15rem}.help-article-summary{color:#64748b;margin:0 0 .85rem;font-size:.9rem}.help-article-p{color:#334155;margin:0 0 .65rem;font-size:.88rem}.help-block{background:#fff;border:1px solid #0f172a14;border-radius:10px;margin:.85rem 0 0;padding:.7rem .75rem}.help-block h4{letter-spacing:.06em;text-transform:uppercase;color:#0f6e56;margin:0 0 .4rem;font-size:.72rem}.help-block ol,.help-block ul{color:#334155;margin:0;padding-left:1.15rem}.help-block li{margin:.25rem 0}.help-block-tips{background:#eef5f3;border-color:#b4cdce}.help-links{flex-wrap:wrap;gap:.4rem;display:flex}.help-chip-link{color:#0f6e56;background:#e2eeeb;border-radius:999px;align-items:center;padding:.35rem .65rem;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-flex}.help-chip-link:hover{background:#cfe2dd}.help-related{margin:0;padding:0;list-style:none}.help-related button{color:#0f6e56;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:.2rem 0;font-weight:600}.help-related button:hover{text-decoration:underline}.help-diagram{background:#fff;border:1px solid #0f172a14;border-radius:10px;margin:0 0 .9rem;padding:.55rem .4rem .45rem}.help-diagram svg{width:100%;height:auto;display:block}.help-diagram figcaption{color:#64748b;text-align:center;margin:.25rem .35rem 0;font-size:.72rem}.help-diagram-node{fill:#ddebe7;stroke:#0f6e56;stroke-width:1.25px}.help-diagram-node.soft{fill:#f1f5f9;stroke:#94a3b8}.help-diagram-col{fill:#f8fafc;stroke:#cbd5e1;stroke-width:1.2px}.help-diagram-card{fill:#bcd2d4}.help-diagram-label{fill:#0f172a;font-family:inherit;font-size:11px;font-weight:700}.help-diagram-sub{fill:#64748b;font-family:inherit;font-size:9px}.help-diagram-arrow{stroke:#0f6e56;stroke-width:1.5px;fill:none}.help-diagram-arrow-head{fill:#0f6e56}@keyframes help-slide{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.help-fab:hover,.help-panel{transition:none!important;animation:none!important;transform:none!important}}@media (width<=480px){.help-panel{width:100%}}@keyframes allas-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-main>*{animation:.28s both allas-fade-up}.landing-btn-primary,.saas-btn-primary,.demo-banner-btn-primary{transition:transform .15s,box-shadow .15s}@media (prefers-reduced-motion:reduce){.app-main>*{animation:none!important}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "SF Mono", Consolas, monospace;--text-page:1.15rem;--text-section:.95rem;--text-card:.88rem;--text-body:.8125rem;--text-label:.75rem;--text-secondary:.72rem;--text-caption:.68rem;--font-weight-regular:400;--font-weight-medium:600;--font-weight-bold:700;--line-tight:1.2;--line-body:1.4;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-pill:999px;--control-xs:1.375rem;--control-sm:1.55rem;--control-md:2rem;--icon-sm:.875rem;--icon-md:1.05rem;--icon-lg:1.25rem;--z-base:1;--z-sticky:10;--z-header:30;--z-dropdown:40;--z-modal:100;--z-toast:110;--color-bg:#f3f5f7;--color-bg-accent-wash:#d9ebe4;--color-bg-cool-wash:#e7eef7;--color-surface:#fff;--color-surface-secondary:#f8fafb;--color-surface-elevated:#fff;--color-text:#1a2332;--color-text-secondary:#334155;--color-text-muted:#5c6b7e;--color-border:#d8dee6;--color-border-strong:#b8c2ce;--color-accent:#0f6e56;--color-accent-hover:#0c5a46;--color-accent-active:#0a4d3c;--color-accent-soft:#e6f4ef;--color-on-accent:#fff;--color-success:#047857;--color-success-soft:#ecfdf5;--color-warning:#b54708;--color-warning-soft:#fef0c7;--color-danger:#b42318;--color-danger-soft:#fee4e2;--color-info:#026aa2;--color-info-soft:#e0f2fe;--color-hover:#eef2f6;--color-selected:#e8f1ee;--color-focus:#0f6e56;--color-disabled:#94a3b8;--color-icon:#64748b;--color-icon-secondary:#475569;--color-icon-muted:#94a3b8;--color-icon-danger:var(--color-danger);--color-overlay:#10182873;--chart-1:#0f6e56;--chart-2:#026aa2;--chart-3:#b54708;--chart-4:#7c3aed;--chart-5:#64748b;--chart-success:var(--color-success);--chart-warning:var(--color-warning);--chart-danger:var(--color-danger);--chart-neutral:var(--color-text-muted);--shadow-sm:0 1px 2px #1018280f, 0 1px 3px #10182814;--shadow-md:0 4px 12px #1018281a, 0 2px 4px #1018280f;--shadow-lg:0 12px 40px #1018282e;--row-h:22px;--wbs-header-h:24px;--bg:var(--color-bg);--surface:var(--color-surface);--surface-2:var(--color-surface-secondary);--border:var(--color-border);--border-strong:var(--color-border-strong);--text:var(--color-text);--text-muted:var(--color-text-muted);--accent:var(--color-accent);--accent-soft:var(--color-accent-soft);--danger:var(--color-danger);--danger-soft:var(--color-danger-soft);--warning:var(--color-warning);--warning-soft:var(--color-warning-soft);--selected:var(--color-selected);--hover:var(--color-hover);--shadow:var(--shadow-sm);--radius:var(--radius-lg);--font:var(--font-sans);--mono:var(--font-mono)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0c1117;--color-bg-accent-wash:#12352c;--color-bg-cool-wash:#152030;--color-surface:#161e28;--color-surface-secondary:#111820;--color-surface-elevated:#1e2936;--color-text:#f1f5f9;--color-text-secondary:#e2e8f0;--color-text-muted:#b6c2d1;--color-border:#3a4a5c;--color-border-strong:#526278;--color-accent:#2dd4a8;--color-accent-hover:#5eead4;--color-accent-active:#14b8a6;--color-accent-soft:#14352c;--color-on-accent:#042f2e;--color-success:#4ade80;--color-success-soft:#0f2e24;--color-warning:#fbbf24;--color-warning-soft:#3b2a0a;--color-danger:#f87171;--color-danger-soft:#3f1515;--color-info:#38bdf8;--color-info-soft:#0c2a3d;--color-hover:#243140;--color-selected:#1f3f36;--color-focus:#2dd4a8;--color-disabled:#7b8a9c;--color-icon:#c5d0dc;--color-icon-secondary:#e2e8f0;--color-icon-muted:#94a3b8;--color-icon-danger:var(--color-danger);--color-overlay:#0000009e;--chart-1:#2dd4a8;--chart-2:#38bdf8;--chart-3:#fbbf24;--chart-4:#a78bfa;--chart-5:#94a3b8;--chart-success:var(--color-success);--chart-warning:var(--color-warning);--chart-danger:var(--color-danger);--chart-neutral:var(--color-text-muted);--shadow-sm:0 1px 2px #00000059, 0 1px 3px #00000040;--shadow-md:0 4px 16px #0006;--shadow-lg:0 16px 48px #0000008c}html[data-palette=ocean]{--color-bg-accent-wash:#dbeafe;--color-bg-cool-wash:#e0f2fe;--color-accent:#0369a1;--color-accent-hover:#0284c7;--color-accent-active:#075985;--color-accent-soft:#e0f2fe;--color-on-accent:#fff;--color-selected:#e0f2fe;--color-focus:#0369a1;--color-info:#0369a1;--color-info-soft:#e0f2fe;--chart-1:#0369a1;--chart-2:#0ea5e9}html[data-theme=dark][data-palette=ocean]{--color-bg-accent-wash:#0c2a3d;--color-bg-cool-wash:#0b1f33;--color-accent:#38bdf8;--color-accent-hover:#7dd3fc;--color-accent-active:#0ea5e9;--color-accent-soft:#0c2a3d;--color-on-accent:#082f49;--color-selected:#0c2a3d;--color-focus:#38bdf8;--color-info:#38bdf8;--color-info-soft:#0c2a3d;--chart-1:#38bdf8;--chart-2:#7dd3fc}html[data-palette=graphite]{--color-bg:#f4f4f5;--color-bg-accent-wash:#e4e4e7;--color-bg-cool-wash:#eef0f3;--color-accent:#334155;--color-accent-hover:#1e293b;--color-accent-active:#0f172a;--color-accent-soft:#e2e8f0;--color-on-accent:#fff;--color-selected:#e2e8f0;--color-focus:#334155;--chart-1:#334155;--chart-2:#64748b}html[data-theme=dark][data-palette=graphite]{--color-bg:#09090b;--color-bg-accent-wash:#18181b;--color-bg-cool-wash:#12151a;--color-surface:#18181b;--color-surface-secondary:#0f1012;--color-surface-elevated:#27272a;--color-text:#f4f4f5;--color-text-secondary:#e4e4e7;--color-text-muted:#b4b4bc;--color-border:#3f3f46;--color-border-strong:#52525b;--color-accent:#a1a1aa;--color-accent-hover:#d4d4d8;--color-accent-active:#e4e4e7;--color-accent-soft:#27272a;--color-on-accent:#09090b;--color-selected:#27272a;--color-hover:#1f1f23;--color-focus:#a1a1aa;--color-icon:#d4d4d8;--color-icon-secondary:#e4e4e7;--color-icon-muted:#a1a1aa;--chart-1:#a1a1aa;--chart-2:#71717a}html[data-palette=forest]{--color-bg-accent-wash:#dcfce7;--color-bg-cool-wash:#ecfdf5;--color-accent:#166534;--color-accent-hover:#15803d;--color-accent-active:#14532d;--color-accent-soft:#dcfce7;--color-on-accent:#fff;--color-selected:#dcfce7;--color-focus:#166534;--color-success:#166534;--color-success-soft:#dcfce7;--chart-1:#166534;--chart-2:#22c55e}html[data-theme=dark][data-palette=forest]{--color-bg-accent-wash:#052e16;--color-bg-cool-wash:#0a1f14;--color-accent:#4ade80;--color-accent-hover:#86efac;--color-accent-active:#22c55e;--color-accent-soft:#14532d;--color-on-accent:#052e16;--color-selected:#14532d;--color-focus:#4ade80;--color-success:#4ade80;--color-success-soft:#052e16;--chart-1:#4ade80;--chart-2:#86efac}html[data-palette=sunset]{--color-bg:#faf7f5;--color-bg-accent-wash:#ffedd5;--color-bg-cool-wash:#fff7ed;--color-accent:#c2410c;--color-accent-hover:#ea580c;--color-accent-active:#9a3412;--color-accent-soft:#ffedd5;--color-on-accent:#fff;--color-selected:#ffedd5;--color-focus:#c2410c;--color-warning:#c2410c;--color-warning-soft:#ffedd5;--chart-1:#c2410c;--chart-2:#f97316}html[data-theme=dark][data-palette=sunset]{--color-bg:#140e0c;--color-bg-accent-wash:#431407;--color-bg-cool-wash:#1c1410;--color-surface:#1c1412;--color-surface-secondary:#140e0c;--color-surface-elevated:#2a1c18;--color-text:#fafaf9;--color-text-secondary:#e7e5e4;--color-text-muted:#c4b8b0;--color-border:#44403c;--color-border-strong:#57534e;--color-accent:#fb923c;--color-accent-hover:#fdba74;--color-accent-active:#f97316;--color-accent-soft:#431407;--color-on-accent:#431407;--color-selected:#431407;--color-hover:#2a1c18;--color-focus:#fb923c;--color-warning:#fb923c;--color-warning-soft:#431407;--color-icon:#e7e5e4;--color-icon-secondary:#fafaf9;--color-icon-muted:#a8a29e;--chart-1:#fb923c;--chart-2:#fdba74}html[data-palette=indigo]{--color-bg-accent-wash:#e0e7ff;--color-bg-cool-wash:#eef2ff;--color-accent:#4f46e5;--color-accent-hover:#6366f1;--color-accent-active:#4338ca;--color-accent-soft:#e0e7ff;--color-on-accent:#fff;--color-selected:#e0e7ff;--color-focus:#4f46e5;--color-info:#4f46e5;--color-info-soft:#e0e7ff;--chart-1:#4f46e5;--chart-2:#818cf8}html[data-theme=dark][data-palette=indigo]{--color-bg:#0b0b14;--color-bg-accent-wash:#1e1b4b;--color-bg-cool-wash:#12122a;--color-surface:#151528;--color-surface-secondary:#0f0f1c;--color-surface-elevated:#1e1e36;--color-text:#eef2ff;--color-text-secondary:#e0e7ff;--color-text-muted:#a5b4fc;--color-border:#312e81;--color-border-strong:#4338ca;--color-accent:#818cf8;--color-accent-hover:#a5b4fc;--color-accent-active:#6366f1;--color-accent-soft:#1e1b4b;--color-on-accent:#1e1b4b;--color-selected:#1e1b4b;--color-hover:#1c1c34;--color-focus:#818cf8;--color-info:#818cf8;--color-info-soft:#1e1b4b;--color-icon:#c7d2fe;--color-icon-secondary:#e0e7ff;--color-icon-muted:#a5b4fc;--chart-1:#818cf8;--chart-2:#a5b4fc}html[data-palette=cyan]{--color-bg-accent-wash:#cffafe;--color-bg-cool-wash:#ecfeff;--color-accent:#0891b2;--color-accent-hover:#06b6d4;--color-accent-active:#0e7490;--color-accent-soft:#cffafe;--color-on-accent:#fff;--color-selected:#cffafe;--color-focus:#0891b2;--color-info:#0891b2;--color-info-soft:#cffafe;--chart-1:#0891b2;--chart-2:#22d3ee}html[data-theme=dark][data-palette=cyan]{--color-bg:#071316;--color-bg-accent-wash:#083344;--color-bg-cool-wash:#0a1f26;--color-surface:#0f1c22;--color-surface-secondary:#0a1519;--color-surface-elevated:#163038;--color-text:#ecfeff;--color-text-secondary:#cffafe;--color-text-muted:#67e8f9;--color-border:#155e75;--color-border-strong:#0e7490;--color-accent:#22d3ee;--color-accent-hover:#67e8f9;--color-accent-active:#06b6d4;--color-accent-soft:#083344;--color-on-accent:#083344;--color-selected:#083344;--color-hover:#12303a;--color-focus:#22d3ee;--color-info:#22d3ee;--color-info-soft:#083344;--color-icon:#a5f3fc;--color-icon-secondary:#cffafe;--color-icon-muted:#67e8f9;--chart-1:#22d3ee;--chart-2:#67e8f9}html[data-palette=rose]{--color-bg:#faf8f9;--color-bg-accent-wash:#ffe4e6;--color-bg-cool-wash:#fff1f2;--color-accent:#e11d48;--color-accent-hover:#f43f5e;--color-accent-active:#be123c;--color-accent-soft:#ffe4e6;--color-on-accent:#fff;--color-selected:#ffe4e6;--color-focus:#e11d48;--color-danger:#e11d48;--color-danger-soft:#ffe4e6;--chart-1:#e11d48;--chart-2:#fb7185}html[data-theme=dark][data-palette=rose]{--color-bg:#14090c;--color-bg-accent-wash:#4c0519;--color-bg-cool-wash:#1c0e14;--color-surface:#1c1014;--color-surface-secondary:#14090c;--color-surface-elevated:#2a161c;--color-text:#fff1f2;--color-text-secondary:#ffe4e6;--color-text-muted:#fda4af;--color-border:#881337;--color-border-strong:#9f1239;--color-accent:#fb7185;--color-accent-hover:#fda4af;--color-accent-active:#f43f5e;--color-accent-soft:#4c0519;--color-on-accent:#4c0519;--color-selected:#4c0519;--color-hover:#2a161c;--color-focus:#fb7185;--color-danger:#fb7185;--color-danger-soft:#4c0519;--color-icon:#fecdd3;--color-icon-secondary:#ffe4e6;--color-icon-muted:#fda4af;--chart-1:#fb7185;--chart-2:#fda4af}html[data-palette=amber]{--color-bg:#faf9f5;--color-bg-accent-wash:#fef3c7;--color-bg-cool-wash:#fffbeb;--color-accent:#d97706;--color-accent-hover:#f59e0b;--color-accent-active:#b45309;--color-accent-soft:#fef3c7;--color-on-accent:#fff;--color-selected:#fef3c7;--color-focus:#d97706;--color-warning:#d97706;--color-warning-soft:#fef3c7;--chart-1:#d97706;--chart-2:#fbbf24}html[data-theme=dark][data-palette=amber]{--color-bg:#141008;--color-bg-accent-wash:#451a03;--color-bg-cool-wash:#1c160c;--color-surface:#1c160e;--color-surface-secondary:#141008;--color-surface-elevated:#2a2112;--color-text:#fffbeb;--color-text-secondary:#fef3c7;--color-text-muted:#fcd34d;--color-border:#78350f;--color-border-strong:#92400e;--color-accent:#fbbf24;--color-accent-hover:#fcd34d;--color-accent-active:#f59e0b;--color-accent-soft:#451a03;--color-on-accent:#451a03;--color-selected:#451a03;--color-hover:#2a2112;--color-focus:#fbbf24;--color-warning:#fbbf24;--color-warning-soft:#451a03;--color-icon:#fde68a;--color-icon-secondary:#fef3c7;--color-icon-muted:#fcd34d;--chart-1:#fbbf24;--chart-2:#fcd34d}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--color-border-strong) var(--color-surface-secondary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-surface-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border:2px solid var(--color-surface-secondary);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}html,body,#root{height:100%;min-height:100%;margin:0}body{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--line-body);color:var(--color-text);background:radial-gradient(1200px 500px at 10% -10%, var(--color-bg-accent-wash) 0%, transparent 55%), radial-gradient(900px 400px at 100% 0%, var(--color-bg-cool-wash) 0%, transparent 50%), var(--color-bg);overflow:hidden}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{background-color:var(--color-surface);color:var(--color-text)}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:.85}a{color:inherit;text-decoration:none}.app-shell{flex-direction:column;height:100dvh;min-height:100dvh;max-height:100dvh;display:flex;overflow:hidden}.app-main{flex-direction:column;flex:1;width:100%;max-width:none;min-height:0;margin:0;padding:.35rem .5rem .4rem;display:flex;overflow:auto}.app-shell.has-sidebar{flex-direction:column;display:flex}.app-navbar{justify-content:space-between;align-items:center;gap:var(--space-2);background:color-mix(in srgb, var(--color-surface) 94%, transparent);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-height:2rem;z-index:var(--z-header);flex-shrink:0;padding:.2rem .45rem .2rem .3rem;display:flex}.app-navbar-left,.app-navbar-right{align-items:center;gap:.35rem;min-width:0;display:flex}.app-navbar-toggle{appearance:none;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-sm);width:var(--control-sm);height:var(--control-sm);cursor:pointer;flex-shrink:0;padding:0;font-size:.85rem;line-height:1}.app-navbar-toggle:hover{background:var(--color-hover)}.app-navbar-brand{color:inherit;align-items:baseline;gap:.35rem;min-width:0;text-decoration:none;display:flex}.app-navbar-brand-title{font-weight:var(--font-weight-bold);letter-spacing:-.02em;white-space:nowrap;font-size:.84rem}.app-navbar-context{min-width:0;font-size:var(--text-secondary);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.3rem;max-width:28rem;display:flex;overflow:hidden}.app-navbar-context-sep{color:var(--color-text-muted);font-weight:500}.app-navbar-right{position:relative}.app-navbar-account{appearance:none;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:var(--text-caption);font-weight:var(--font-weight-medium);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.12rem .4rem .12rem .12rem;font-family:inherit;transition:border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.app-navbar-account:hover,.app-navbar-account.is-open{border-color:color-mix(in srgb, var(--color-accent) 35%, var(--color-border));background:var(--color-hover,color-mix(in srgb, var(--color-accent) 6%, var(--color-surface)))}.app-navbar-account-avatar{background:color-mix(in srgb, var(--color-accent) 16%, var(--color-surface));width:1.45rem;height:1.45rem;color:var(--color-accent);letter-spacing:.02em;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.62rem;font-weight:700;display:inline-flex}.app-navbar-account-label{text-overflow:ellipsis;white-space:nowrap;max-width:7.5rem;overflow:hidden}.app-navbar-account-chevron{width:.85rem;height:.85rem;color:var(--color-text-muted);flex-shrink:0;transition:transform .15s}.app-navbar-account.is-open .app-navbar-account-chevron{transform:rotate(180deg)}.app-account-menu{z-index:40;border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;width:min(18.5rem,100vw - 1rem);padding:.45rem;animation:.14s ease-out app-account-menu-in;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 12px 28px #0f172a1f,0 2px 6px #0f172a0f}@keyframes app-account-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.app-account-menu-head{align-items:flex-start;gap:.65rem;padding:.45rem .5rem .55rem;display:flex}.app-account-menu-avatar{background:color-mix(in srgb, var(--color-accent) 16%, var(--color-surface));width:2.25rem;height:2.25rem;color:var(--color-accent);letter-spacing:.02em;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:inline-flex}.app-account-menu-meta{flex-direction:column;gap:.1rem;min-width:0;display:flex}.app-account-menu-meta strong{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;line-height:1.25;overflow:hidden}.app-account-menu-meta .muted{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;line-height:1.3;overflow:hidden}.app-account-menu-org{color:var(--color-text-secondary,var(--color-text-muted));text-overflow:ellipsis;white-space:nowrap;margin-top:.15rem;font-size:.68rem;font-weight:600;overflow:hidden}.app-account-menu-sep{background:var(--color-border);height:1px;margin:.2rem .35rem}.app-account-menu-list{flex-direction:column;gap:.1rem;display:flex}.app-account-menu-item{appearance:none;width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.55rem;margin:0;padding:.55rem .6rem;font-size:.84rem;font-weight:500;transition:background .12s;display:flex}.app-account-menu-item:hover{background:var(--color-hover,color-mix(in srgb, var(--color-accent) 8%, transparent))}.app-account-menu-item:focus-visible{outline:2px solid color-mix(in srgb, var(--color-accent) 55%, transparent);outline-offset:1px}.app-account-menu-icon{width:1.05rem;height:1.05rem;color:var(--color-icon-secondary,var(--color-text-muted));flex-shrink:0}.app-account-menu-item.is-danger{color:var(--color-danger,#b42318)}.app-account-menu-item.is-danger .app-account-menu-icon{color:var(--color-icon-danger,var(--color-danger,#b42318))}.app-account-menu-item.is-danger:hover{background:color-mix(in srgb, var(--color-danger,#b42318) 10%, transparent)}.app-account-menu-pill{letter-spacing:.02em;border-radius:999px;margin-left:auto;padding:.12rem .45rem;font-size:.68rem;font-weight:700}.app-account-menu-pill.is-on{background:color-mix(in srgb, var(--color-accent) 14%, transparent);color:var(--color-accent)}.app-account-menu-pill.is-off{background:var(--color-surface-secondary,color-mix(in srgb, var(--color-text) 6%, transparent));color:var(--color-text-muted)}.app-version-block{padding:.15rem .2rem .1rem}.app-version-toggle{appearance:none;width:100%;color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;margin:0;padding:.35rem .45rem;display:flex}.app-version-toggle:hover{background:var(--color-hover,color-mix(in srgb, var(--color-accent) 6%, transparent));color:var(--color-text-secondary,var(--color-text-muted))}.app-version-label{letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:.68rem;font-weight:700}.app-version-hint{opacity:.85;font-size:.65rem;font-weight:500}.app-version-notes{background:var(--color-surface-secondary,color-mix(in srgb, var(--color-text) 4%, transparent));border:1px solid var(--color-border);border-radius:8px;max-height:11.5rem;margin-top:.15rem;padding:.35rem .4rem .45rem;overflow-y:auto}.app-version-note+.app-version-note{border-top:1px solid var(--color-border);margin-top:.45rem;padding-top:.4rem}.app-version-note-head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.2rem;display:flex}.app-version-note-head strong{letter-spacing:.02em;color:var(--color-text);font-size:.72rem;font-weight:750}.app-version-note-head time{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.62rem}.app-version-note ul{margin:0;padding:0 0 0 .85rem}.app-version-note li{color:var(--color-text-secondary,var(--color-text-muted));font-size:.68rem;line-height:1.35}.app-version-note li+li{margin-top:.12rem}.app-db-badge{border:1px solid var(--color-border);letter-spacing:.02em;color:var(--color-text-muted);background:var(--color-surface);-webkit-user-select:none;user-select:none;cursor:default;border-radius:999px;align-items:center;gap:.3rem;padding:.12rem .4rem;font-size:.68rem;font-weight:650;display:inline-flex}.app-db-badge-dot{background:#94a3b8;border-radius:50%;flex-shrink:0;width:.45rem;height:.45rem}.app-db-badge.is-ok{color:#166534;border-color:color-mix(in srgb, #22c55e 45%, var(--color-border));background:color-mix(in srgb, #22c55e 12%, var(--color-surface))}.app-db-badge.is-ok .app-db-badge-dot{background:#16a34a;box-shadow:0 0 0 2px #16a34a40}.app-db-badge.is-warn{color:#92400e;border-color:color-mix(in srgb, #f59e0b 45%, var(--color-border));background:color-mix(in srgb, #f59e0b 12%, var(--color-surface))}.app-db-badge.is-warn .app-db-badge-dot{background:#d97706}.app-db-badge.is-off,.app-db-badge.is-checking{color:var(--color-text-muted)}.app-db-badge.is-off .app-db-badge-dot{background:#94a3b8}.app-db-badge.is-checking .app-db-badge-dot{background:#64748b;animation:1.1s ease-in-out infinite app-db-pulse}@keyframes app-db-pulse{0%,to{opacity:.35}50%{opacity:1}}.app-body{flex:1;grid-template-columns:12.25rem minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.app-shell.sidebar-collapsed .app-body{grid-template-columns:2.75rem minmax(0,1fr)}.app-sidebar{border-right:1px solid var(--color-border);background:var(--color-surface-secondary);flex-direction:column;flex-shrink:0;min-width:0;min-height:0;display:flex;overflow:hidden auto}.app-sidebar-nav{flex:1;min-height:0;padding:.35rem .35rem .5rem}.app-sidebar.is-collapsed .app-sidebar-nav{padding:.3rem .2rem .4rem}.app-sidebar-section+.app-sidebar-section{margin-top:var(--space-2);border-top:1px solid var(--color-border);padding-top:.45rem}.app-sidebar-section-label{font-size:.62rem;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);gap:.1rem;padding:.05rem .45rem .3rem;display:grid}.app-sidebar-section-label.is-collapsed-mark{text-align:center;color:var(--color-icon);padding:.15rem 0 .3rem;font-size:.65rem}.app-sidebar-project-name{font-size:.7rem;font-weight:var(--font-weight-medium);text-transform:none;letter-spacing:0;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-sidebar-nav ul{gap:.1rem;margin:0;padding:0;list-style:none;display:grid}.app-sidebar-link{border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.8rem;font-weight:var(--font-weight-medium);line-height:var(--line-tight);align-items:center;gap:.45rem;min-width:0;min-height:1.7rem;padding:.32rem .5rem;text-decoration:none;display:flex}.app-sidebar-link-icon{width:var(--icon-lg);height:var(--icon-lg);color:var(--color-icon);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-sidebar-link-icon svg{width:var(--icon-md);height:var(--icon-md)}.app-sidebar-link.is-active .app-sidebar-link-icon{color:var(--color-accent)}.app-sidebar-link-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-sidebar-link:hover{background:var(--color-hover);color:var(--color-text)}.app-sidebar-link:hover .app-sidebar-link-icon{color:var(--color-text)}.app-sidebar-link.is-active{background:var(--color-accent-soft);color:var(--color-accent);box-shadow:inset 2px 0 0 var(--color-accent)}.app-sidebar.is-collapsed .app-sidebar-link{min-height:1.9rem;box-shadow:none;justify-content:center;padding:.42rem .15rem}.app-sidebar.is-collapsed .app-sidebar-link-icon{width:var(--icon-lg);height:var(--icon-lg)}.app-sidebar.is-collapsed .app-sidebar-link-icon svg{width:var(--icon-md);height:var(--icon-md)}.app-sidebar.is-collapsed .app-sidebar-link.is-active{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 45%, transparent)}.app-sidebar-footnote{border-top:1px solid var(--color-border);color:var(--color-text-muted);margin:0;padding:.35rem .45rem .45rem;font-size:.62rem}.settings-page{gap:.65rem;max-width:40rem;padding:.15rem .1rem .75rem;display:grid}.settings-page-wide{max-width:46rem}.settings-page-split{max-width:64rem}.settings-split{grid-template-columns:minmax(11.5rem,14rem) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.settings-subnav{border:1px solid var(--color-border);border-radius:var(--radius-md,8px);background:var(--color-surface);flex-direction:column;gap:.3rem;padding:.25rem;display:flex;position:sticky;top:.35rem}.settings-subnav-item{text-align:left;width:100%;color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.55rem .65rem;display:flex}.settings-subnav-item strong{font-size:.88rem}.settings-subnav-item span{color:var(--color-text-muted);font-size:.72rem;line-height:1.3}.settings-subnav-item:hover{background:var(--color-hover,#0f172a0a)}.settings-subnav-item.is-active{background:var(--color-accent-soft,color-mix(in srgb, var(--color-accent) 12%, transparent));border-color:color-mix(in srgb, var(--color-accent) 35%, var(--color-border));box-shadow:inset 2px 0 0 var(--color-accent)}.settings-subnav-item.is-active span{color:var(--color-text-secondary,var(--color-text-muted))}.settings-split-main{gap:.65rem;min-width:0;display:grid}.settings-section-head{margin-bottom:.15rem}.settings-section-head h2{letter-spacing:-.02em;margin:0 0 .15rem;font-size:1.15rem}.settings-section-head p{margin:0;font-size:.85rem}.settings-section-body,.settings-section-stack{gap:.65rem;display:grid}@media (width<=820px){.settings-split{grid-template-columns:1fr}.settings-subnav{flex-flow:wrap;gap:.35rem;position:static}.settings-subnav-item{flex:8.5rem;width:auto}.settings-subnav-item.is-active{box-shadow:inset 0 -2px 0 var(--color-accent)}}.workspace-calendar-panel,.resource-calendar-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);max-width:46rem;margin:.35rem 0 .5rem;padding:.5rem .55rem .55rem}.resource-calendar-panel{margin-top:.55rem}.settings-card-calendar .calendar-editor-title{display:none}.calendar-editor-title{margin:0 0 .25rem;font-size:.88rem;font-weight:700}.calendar-editor-help{margin:0 0 .55rem;font-size:.74rem}.calendar-editor-actions{border-top:1px solid var(--color-border);background:var(--color-surface);z-index:var(--z-sticky);flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.65rem;padding-top:.45rem;display:flex;position:sticky;bottom:0}.calendar-saved-flash{font-size:.72rem}.settings-head h1{margin:0;font-size:1.05rem}.settings-head p{margin:.2rem 0 0;font-size:.8rem}.settings-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:.55rem .65rem .65rem}.settings-card h2{font-size:var(--text-card);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0}.settings-theme-options{gap:var(--space-2);flex-wrap:wrap;display:flex}.settings-theme-options .btn.is-active{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent)}.settings-subhead{color:var(--color-text);margin:.85rem 0 0;font-size:.82rem;font-weight:700}.settings-palette-grid{grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.45rem;margin-top:.35rem;display:grid}.settings-palette-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer;text-align:left;font:inherit;align-items:center;gap:.55rem;padding:.45rem .55rem;display:flex}.settings-palette-card:hover{background:var(--color-hover)}.settings-palette-card.is-active{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);background:var(--color-accent-soft)}.settings-palette-swatch{border:1px solid color-mix(in srgb, var(--color-border-strong) 50%, transparent);width:1.65rem;height:1.65rem;box-shadow:inset 0 0 0 2px var(--color-surface);border-radius:999px;flex:none}.settings-palette-meta{gap:.05rem;min-width:0;display:grid}.settings-palette-meta strong{font-size:.8rem;font-weight:700}.settings-palette-meta .muted{font-size:.68rem;line-height:1.25}.settings-card-hint{margin:.25rem 0 .45rem;font-size:.74rem}.settings-actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.settings-ai-form{gap:.45rem;display:grid}.settings-ai-field{color:var(--text-muted);gap:.15rem;font-size:.75rem;font-weight:600;display:grid}.settings-ai-field input{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:4px;max-width:28rem;padding:.35rem .5rem;font-weight:400}.app-shell.has-sidebar .app-main{padding:.3rem .4rem .35rem;overflow:auto}.workspace-error-empty{margin-top:1rem}.tabs-compact{gap:.15rem}.tabs-compact .tab{padding:.2rem .45rem;font-size:.72rem}@media (width<=900px){.app-body,.app-shell.sidebar-collapsed .app-body{grid-template-columns:1fr}.app-sidebar{display:none}.app-shell:not(.sidebar-collapsed) .app-sidebar{z-index:40;width:min(14.5rem,82vw);display:flex;position:absolute;top:2rem;bottom:0;left:0;box-shadow:4px 0 16px #0f172a1f}.app-shell.sidebar-collapsed .app-sidebar{display:none}.app-navbar-context{max-width:40vw}}.page-title-row{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.page-title{font-size:var(--text-page);font-weight:var(--font-weight-bold);letter-spacing:-.03em;color:var(--color-text);margin:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.btn{appearance:none;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);min-height:var(--control-md);cursor:pointer;font-size:var(--text-body);font-weight:var(--font-weight-medium);padding:.45rem .8rem;transition:background .15s,border-color .15s}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.btn-danger:focus-visible{outline-color:var(--color-danger)}.btn:hover:not(:disabled){background:var(--color-hover);border-color:var(--color-border-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary:disabled{color:var(--color-on-accent);opacity:.55}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-on-accent)}.btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:#fff}[data-theme=dark] .btn-danger{color:#1a0a0a}.btn-ghost{background:0 0}.btn-sm{min-height:var(--control-sm);padding:.3rem .55rem;font-size:.8rem}.btn-xs{min-height:var(--control-xs);padding:.15rem .4rem;font-size:.72rem}.btn .ui-btn-icon,.ui-icon-btn .ui-btn-icon{width:var(--icon-md);height:var(--icon-md);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.btn .ui-btn-icon svg,.ui-icon-btn .ui-btn-icon svg{width:100%;height:100%}.ui-icon-btn{min-width:var(--control-sm);justify-content:center;align-items:center;padding-left:.35rem;padding-right:.35rem;display:inline-flex}.ui-icon-btn.btn-xs{min-width:var(--control-xs)}.ui-search{min-height:var(--control-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);flex:1;align-items:center;gap:.25rem;min-width:12rem;max-width:22rem;padding:0 .35rem 0 .45rem;display:inline-flex}.ui-search:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-focus) 25%, transparent)}.ui-search-icon{color:var(--color-icon-muted);width:var(--icon-sm);height:var(--icon-sm);flex-shrink:0;display:inline-flex}.ui-search-icon svg{width:100%;height:100%}.ui-search-input{min-width:0;color:inherit;font:inherit;font-size:var(--text-body);background:0 0;border:none;outline:none;flex:1;padding:.2rem 0}.ui-search-input::-webkit-search-cancel-button{display:none}.ui-search-clear{appearance:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.15rem .25rem;font-size:1rem;line-height:1}.ui-search-clear:hover{color:var(--color-text);background:var(--color-hover)}.ui-empty{gap:var(--space-2);padding:var(--space-4);text-align:left;justify-items:start;display:grid}.ui-empty-title{font-size:var(--text-card);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0}.ui-empty-desc{margin:0}.ui-empty-action{margin-top:var(--space-1)}.ui-loading{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);display:inline-flex}.ui-loading-dot{border-radius:var(--radius-pill);background:var(--color-accent);width:.55rem;height:.55rem;animation:1s ease-in-out infinite ui-pulse}@keyframes ui-pulse{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1)}}.ui-loading-label{margin:0}.ui-alert{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-secondary);color:var(--color-text);margin:.5rem 0;padding:.55rem .75rem;font-size:.85rem}.ui-alert-title{font-size:var(--text-label);margin-bottom:.15rem;display:block}.ui-alert.is-info{background:var(--color-info-soft);border-color:color-mix(in srgb, var(--color-info) 35%, transparent);color:var(--color-info)}.ui-alert.is-success{background:var(--color-success-soft);border-color:color-mix(in srgb, var(--color-success) 35%, transparent);color:var(--color-success)}.ui-alert.is-warning{background:var(--color-warning-soft);border-color:color-mix(in srgb, var(--color-warning) 35%, transparent);color:var(--color-warning)}.ui-alert.is-danger{background:var(--color-danger-soft);border-color:color-mix(in srgb, var(--color-danger) 35%, transparent);color:var(--color-danger)}.ui-modal-header h3{margin:0}.ui-modal-desc{color:var(--color-text-muted);font-size:var(--text-body);margin:.35rem 0 0}.ui-modal-body{margin-top:var(--space-3)}.ui-tabs .tab.active{color:var(--color-accent);box-shadow:inset 0 -2px 0 var(--color-accent)}.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.kpi{padding:.9rem 1rem}.kpi-label{color:var(--text-muted);margin-bottom:.35rem;font-size:.78rem}.kpi-value{letter-spacing:-.03em;font-size:1.45rem;font-weight:700}.toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.field{flex-direction:column;gap:.3rem;display:flex}.field label{font-size:var(--text-label);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.field input,.field select,.field textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:var(--control-md);background:var(--color-surface);color:var(--color-text);padding:.45rem .6rem}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-accent)}.field textarea{resize:vertical;min-height:80px}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-body);color:var(--color-text)}.data-table th,.data-table td{border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap;padding:.55rem .7rem}.data-table th{background:var(--color-surface-secondary);color:var(--color-text-muted);font-size:var(--text-label);text-transform:uppercase;letter-spacing:.04em;z-index:var(--z-sticky);position:sticky;top:0}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:var(--color-hover)}.data-table tbody tr.selected{background:var(--color-selected)}.data-table.is-compact th,.data-table.is-compact td{font-size:var(--text-caption,.78rem);padding:.28rem .45rem}.data-table-empty{padding:var(--space-4);text-align:left}.badge{border-radius:var(--radius-pill);font-size:var(--text-secondary);font-weight:var(--font-weight-bold);border:1px solid #0000;align-items:center;padding:.15rem .45rem;display:inline-flex}.badge-planning{background:var(--color-surface-secondary);color:var(--color-text-secondary);border-color:var(--color-border)}.badge-active{background:var(--color-accent-soft);color:var(--color-accent)}.badge-on_hold{background:var(--color-surface-secondary);color:var(--color-text-muted);border-color:var(--color-border)}.badge-at_risk{background:var(--color-warning-soft);color:var(--color-warning)}.badge-completed{background:var(--color-success-soft);color:var(--color-success)}.badge-cancelled{background:var(--color-danger-soft);color:var(--color-danger)}.progress-cell{align-items:center;gap:.45rem;min-width:110px;display:flex}.progress-bar{background:var(--color-border);border-radius:99px;flex:1;min-width:72px;height:6px;overflow:hidden}.progress-bar>span{background:var(--color-accent);height:100%;display:block}.progress-pct{font-size:var(--text-caption);font-variant-numeric:tabular-nums;color:var(--color-text-secondary);text-align:right;min-width:2.4em}.modal-backdrop{background:var(--color-overlay);z-index:var(--z-modal);padding:var(--space-4);place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--color-surface-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border);width:min(520px,100%);box-shadow:var(--shadow-lg);color:var(--color-text);padding:1.1rem 1.2rem}.modal:focus{outline:none}.modal:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.modal h3{font-size:var(--text-section);color:var(--color-text);margin:0 0 .5rem}.modal p{color:var(--color-text-muted);margin:0 0 1rem}.modal-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.form-grid .full{grid-column:1/-1}.workspace-page{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.workspace-header{flex-direction:column;flex-shrink:0;gap:.25rem;margin-bottom:.3rem;display:flex}.workspace-title-row{align-items:center;gap:.55rem;min-width:0;display:flex}.workspace-title-row .page-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:1.05rem;overflow:hidden}.workspace-title-row .tabs{border-bottom:none;flex-shrink:0;margin:0}.workspace-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.workspace-body.scrollable{overflow:auto}.workspace-body.scrollable>*{box-sizing:border-box;flex-shrink:0;width:100%}.workspace-meta{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;padding:.2rem .45rem;font-size:.74rem;display:flex}.workspace-meta-strip{border:0;border-bottom:1px solid var(--color-border);background:0 0;border-radius:0;gap:.35rem 1rem;padding:.15rem 0 .35rem}.workspace-meta-strip .workspace-stat{align-items:center;gap:.35rem;display:inline-flex}.workspace-hint{display:none}.page-title{letter-spacing:-.03em;margin:0;font-size:1.25rem}.workspace-meta>span{white-space:nowrap;align-items:center;gap:.4rem;display:inline-flex}.workspace-meta .meta-label{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);font-size:.72rem;font-weight:700}.project-start-input{font-variant-numeric:tabular-nums;width:5.25rem;height:22px;font-size:.74rem;border:1px solid var(--border)!important;background:var(--color-surface)!important}.tabs{border-bottom:1px solid var(--border);gap:.1rem;display:flex;overflow-x:auto}.tab{cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.25rem .5rem;font-size:.78rem;font-weight:600}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab:disabled{display:none}.summary-grid{grid-template-columns:2fr 1fr;gap:1rem;display:grid}.summary-list{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.summary-item{padding:.75rem .9rem}.summary-item .label{color:var(--text-muted);margin-bottom:.25rem;font-size:.75rem}.summary-item .value{font-weight:650}.dash{flex-direction:column;gap:.85rem;padding-bottom:1rem;display:flex}.dash-kpis{grid-template-columns:minmax(140px,.85fr) repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.dash-kpi{flex-direction:column;justify-content:center;min-height:108px;padding:.85rem 1rem;display:flex}.dash-kpi-label{color:var(--text-muted);margin-bottom:.25rem;font-size:.75rem}.dash-kpi-value{letter-spacing:-.03em;font-size:1.35rem;font-weight:700;line-height:1.2}.dash-kpi-hint{color:var(--text-muted);margin-top:.35rem;font-size:.75rem;line-height:1.35}.dash-kpi-structure{flex-wrap:wrap;gap:.45rem .85rem;font-size:.86rem;display:flex}.dash-kpi-structure strong{margin-right:.2rem;font-weight:700}.dash-ring{width:88px;height:88px;margin:0 auto;position:relative}.dash-ring svg{transform:rotate(-90deg)}.dash-ring-track,.dash-ring-value{fill:none;stroke-width:8px}.dash-ring-track{stroke:#e4e7ec}.dash-ring-value{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .35s}.dash-ring-label{flex-direction:column;justify-content:center;align-items:center;gap:.05rem;display:flex;position:absolute;inset:0}.dash-ring-label strong{letter-spacing:-.03em;font-size:1.1rem}.dash-ring-label span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem}.dash-charts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.dash-panel{min-height:240px;padding:.85rem 1rem 1rem}.dash-panel-head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.7rem;display:flex}.dash-panel-head h3{letter-spacing:-.01em;margin:0;font-size:.92rem}.dash-empty{color:var(--text-muted);margin:1.5rem 0 0;font-size:.85rem;line-height:1.4}.dash-hbar-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.dash-hbar-meta{justify-content:space-between;gap:.5rem;margin-bottom:.2rem;font-size:.8rem;display:flex}.dash-hbar-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.dash-hbar-val{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.dash-hbar-track{background:var(--color-hover);border-radius:99px;height:7px;overflow:hidden}.dash-hbar-fill{background:var(--accent);border-radius:99px;min-width:0;height:100%;display:block}.dash-meta{padding:.75rem 1rem}.dash-meta-row{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:.75rem 1rem;display:grid}.dash-meta-row .label{color:var(--text-muted);margin-bottom:.15rem;font-size:.72rem;display:block}.dash-meta-row strong{font-size:.9rem}.dash-meta-desc{border-top:1px solid var(--border);color:var(--text-muted);margin:.65rem 0 0;padding-top:.65rem;font-size:.82rem;line-height:1.45}@media (width<=1100px){.dash-kpis{grid-template-columns:1fr 1fr}.dash-charts{grid-template-columns:1fr}.dash-meta-row{grid-template-columns:1fr 1fr}}@media (width<=640px){.dash-kpis,.dash-meta-row{grid-template-columns:1fr}}.wbs-ribbon{border-bottom:1px solid var(--border);background:linear-gradient(180deg, var(--color-surface-elevated) 0%, var(--color-surface-secondary) 100%);flex-wrap:wrap;flex-shrink:0;align-items:stretch;gap:0;padding:.1rem .25rem .05rem;display:flex;overflow:visible}.ribbon-group{border-right:1px solid var(--color-border);flex-direction:column;align-items:center;min-width:0;padding:.08rem .28rem .04rem;display:flex}.ribbon-group:last-child{border-right:none}.ribbon-group-cols{z-index:30;position:relative}.ribbon-group-cols .ribbon-btn.wide{border-color:var(--color-border-strong);background:var(--color-surface);min-width:5.5rem;font-weight:700}.ribbon-group-cols .ribbon-btn.wide.active{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent)}.wbs-cols-menu{z-index:50;border:1px solid var(--color-border-strong);background:var(--color-surface);text-align:left;border-radius:6px;width:13rem;padding:.45rem .5rem .5rem;position:absolute;top:calc(100% + 2px);left:0;box-shadow:0 8px 24px #0f172a24}.wbs-cols-menu-hint{margin:0 0 .35rem;font-size:.68rem;line-height:1.3}.wbs-cols-menu-list{max-height:14rem;margin:0;padding:0;list-style:none;overflow:auto}.wbs-cols-menu-list label{cursor:pointer;border-radius:3px;align-items:center;gap:.4rem;padding:.18rem .15rem;font-size:.78rem;display:flex}.wbs-cols-menu-list label:hover{background:var(--color-hover)}.wbs-cols-menu-list label.is-locked{opacity:.7;cursor:default}.wbs-cols-show-all{width:100%;margin-top:.4rem}.wbs-table .cell-constraint .inline-input{width:100%;max-width:100%;font-size:inherit}.ribbon-group-body{flex-wrap:nowrap;justify-content:center;align-items:center;gap:.1rem;min-height:22px;display:flex}.ribbon-group-label{letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;margin-top:.05rem;font-size:.58rem;font-weight:700;line-height:1}.ribbon-btn{appearance:none;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 .25rem;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.ribbon-btn-icon{width:24px;min-width:24px;color:var(--color-text-muted);padding:0}.ribbon-btn-icon:hover:not(:disabled){color:var(--text)}.ribbon-chain-icon{flex-shrink:0;width:15px;height:15px;display:block}.ribbon-btn.wide{min-width:36px;padding:0 .4rem}.ribbon-btn:hover:not(:disabled){background:var(--color-surface);border-color:var(--border-strong)}.ribbon-btn:disabled{opacity:.35;cursor:not-allowed}.ribbon-btn.active{background:var(--accent-soft);border-color:color-mix(in srgb, var(--color-accent) 45%, var(--color-border));color:var(--accent)}.ribbon-btn.danger:hover:not(:disabled){background:var(--danger-soft);border-color:color-mix(in srgb, var(--color-danger) 40%, transparent);color:var(--danger)}.ribbon-btn.zoom-readout{font-variant-numeric:tabular-nums;min-width:2.6rem;color:var(--text-muted);font-size:.68rem;font-weight:600}.ribbon-level-group{border:1px solid var(--color-border);background:var(--color-surface-secondary);border-radius:4px;align-items:stretch;gap:1px;margin:0 .1rem;padding:1px;display:inline-flex}.ribbon-level-group .ribbon-btn{font-variant-numeric:tabular-nums;border:0;border-radius:3px;min-width:1.25rem;padding:0 .2rem;font-size:.68rem;font-weight:700}.wbs-selection-hint{color:var(--text-muted);margin-left:.25rem;font-size:.72rem;font-weight:600}.wbs-editor{height:100%;min-height:0;max-height:none;font-size:var(--wbs-font,.78rem);flex-direction:column;flex:1;display:flex;overflow:visible}.workspace-page .wbs-editor.card{box-shadow:none;background:0 0;border:0;padding:0}.wbs-editor>.wbs-ribbon{z-index:20;flex-shrink:0;position:relative}.wbs-scope-filters{border-bottom:1px solid var(--color-border);background:var(--color-surface-secondary,#f3f5f7);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.35rem .45rem;padding:.28rem .55rem;font-size:.72rem;display:flex}.wbs-scope-filters-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin-right:.15rem;font-weight:700}.wbs-scope-field select,.wbs-scope-multi-trigger{font:inherit;border:1px solid var(--color-border);background:var(--color-surface,#fff);max-width:11.5rem;color:var(--color-text);border-radius:4px;height:1.55rem;padding:.15rem .35rem;font-size:.72rem}.wbs-scope-field select:disabled,.wbs-scope-multi.is-disabled .wbs-scope-multi-trigger{opacity:.55;cursor:not-allowed}.wbs-scope-multi{position:relative}.wbs-scope-multi-trigger{cursor:pointer;align-items:center;gap:.25rem;max-width:12.5rem;font-family:inherit;display:inline-flex}.wbs-scope-multi.is-open .wbs-scope-multi-trigger{border-color:color-mix(in srgb, var(--color-accent,#0f6e56) 45%, var(--color-border))}.wbs-scope-multi-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.wbs-scope-multi-caret{opacity:.7;flex-shrink:0;font-size:.65rem}.wbs-scope-multi-panel{z-index:30;border:1px solid var(--color-border);background:var(--color-surface,#fff);border-radius:8px;flex-direction:column;width:min(16rem,70vw);max-height:14rem;padding:.35rem;display:flex;position:absolute;top:calc(100% + .25rem);left:0;box-shadow:0 10px 24px #0f172a1f}.wbs-scope-multi-select-all{appearance:none;color:var(--color-accent,#0f6e56);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:.2rem .4rem .35rem;font-size:.68rem;font-weight:700}.wbs-scope-multi-select-all:hover{text-decoration:underline}.wbs-scope-multi-empty{color:var(--color-text-muted);margin:0;padding:.35rem .45rem;font-size:.68rem}.wbs-scope-multi-list{flex-direction:column;gap:.05rem;max-height:10rem;display:flex;overflow-y:auto}.wbs-scope-multi-row{cursor:pointer;color:var(--color-text);border-radius:5px;align-items:flex-start;gap:.4rem;padding:.28rem .4rem;font-size:.72rem;line-height:1.3;display:flex}.wbs-scope-multi-row:hover,.wbs-scope-multi-row.is-checked{background:color-mix(in srgb, var(--color-accent,#0f6e56) 8%, transparent)}.wbs-scope-multi-row.is-all{border-bottom:1px solid var(--color-border);margin-bottom:.1rem;font-weight:650}.wbs-scope-multi-row input{flex-shrink:0;margin-top:.1rem}.wbs-scope-multi-row span{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.wbs-scope-clear{font:inherit;border:1px solid var(--color-border);background:var(--color-surface,#fff);color:var(--color-accent,#0f6e56);cursor:pointer;border-radius:4px;height:1.55rem;padding:.15rem .45rem;font-size:.7rem;font-weight:700}.wbs-scope-clear:hover{border-color:var(--color-accent,#0f6e56)}.wbs-scope-count{color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.wbs-scope-count:after{content:" filas";font-weight:500}.wbs-editor.density-ultra{--row-h:22px}.wbs-editor.density-compact{--row-h:28px}.wbs-editor.density-normal{--row-h:34px}.wbs-editor .wbs-table{font-size:inherit}.wbs-editor .type-chip{padding:.1rem .28rem;font-size:.62rem}.wbs-editor.density-ultra .type-chip{padding:.05rem .22rem;font-size:.58rem}.wbs-editor.density-ultra .th-inner{min-height:var(--wbs-header-h,24px);padding:.1rem .3rem}.wbs-editor.density-ultra .name-input,.wbs-editor.density-ultra .inline-input{height:calc(var(--row-h) - 4px);max-height:calc(var(--row-h) - 4px);font-size:inherit;padding:0 .2rem}.wbs-editor.density-ultra .wbs-gantt-bar{height:12px;top:4px}.wbs-editor.density-ultra .wbs-gantt-bar.summary{height:8px;top:6px}.wbs-editor.density-ultra .ribbon-group-label{display:none}.wbs-split{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.wbs-split.with-gantt .wbs-table-wrap,.wbs-split.gantt-collapsed .wbs-table-wrap{flex:auto;min-width:0}.wbs-split-handle{cursor:col-resize;background:linear-gradient(90deg, var(--color-surface-secondary), var(--color-hover));border-left:1px solid var(--border);border-right:1px solid var(--border);z-index:4;touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;width:10px;display:flex;position:relative}.wbs-split-handle:before{content:"";background:var(--color-border-strong);width:2px;height:28px;box-shadow:3px 0 0 var(--color-border-strong);opacity:.85;border-radius:2px}.wbs-split-handle:hover,body.is-resizing-split .wbs-split-handle{background:var(--color-accent-soft)}.wbs-split-collapse{border:1px solid var(--border);background:var(--color-surface);width:18px;height:22px;color:var(--text-muted);cursor:pointer;z-index:1;border-radius:4px;padding:0;font-size:.85rem;line-height:1;position:absolute;top:8px;left:50%;transform:translate(-50%)}.wbs-split-collapse:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.wbs-gantt-wrap{background:var(--color-surface);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;min-width:140px;display:flex;overflow:hidden}.wbs-gantt-wrap .wbs-gantt{flex:1;min-height:0;overflow:auto}.wbs-gantt-rail{border:none;border-left:1px solid var(--border);background:var(--color-hover);width:28px;color:var(--text-muted);cursor:pointer;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.08em;text-transform:uppercase;flex-direction:column;flex:0 0 28px;justify-content:center;align-items:center;gap:.65rem;padding:.75rem 0;font-size:.72rem;font-weight:700;display:flex}.wbs-gantt-rail:hover{background:var(--accent-soft);color:var(--accent)}body.is-resizing-split{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}body.is-resizing-split *{cursor:col-resize!important}.wbs-table-wrap{flex:1;overflow:auto}.wbs-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.84rem}.wbs-table th{z-index:2;background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border-strong);text-align:left;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;padding:0;font-size:.72rem;position:sticky;top:0;overflow:hidden}.th-inner{min-height:var(--wbs-header-h,26px);align-items:center;padding:.2rem .4rem;display:flex;position:relative}.col-resize{cursor:col-resize;background:0 0;border:none;width:6px;height:100%;padding:0;position:absolute;top:0;right:0}.col-resize:hover,.col-resize:active{background:color-mix(in srgb, var(--color-accent) 35%, transparent)}.wbs-virtual-spacer td{background:0 0;border:0;padding:0;font-size:0;line-height:0}.wbs-gantt-virtual-spacer{pointer-events:none;flex-shrink:0}.wbs-table td{border-bottom:1px solid var(--color-border);height:var(--row-h);max-height:var(--row-h);vertical-align:middle;padding:0;overflow:hidden}.wbs-row{cursor:pointer}.wbs-row:hover td{background:color-mix(in srgb, var(--color-accent) 10%, var(--color-surface))}.wbs-row.selected td{background:color-mix(in srgb, var(--color-accent) 18%, var(--color-surface));box-shadow:inset 3px 0 0 var(--color-accent)}.wbs-row.selected:hover td{background:color-mix(in srgb, var(--color-accent) 24%, var(--color-surface))}[data-theme=dark] .wbs-row:hover td{background:color-mix(in srgb, var(--color-accent) 16%, var(--color-surface))}[data-theme=dark] .wbs-row.selected td{background:color-mix(in srgb, var(--color-accent) 28%, var(--color-surface))}[data-theme=dark] .wbs-row.selected:hover td{background:color-mix(in srgb, var(--color-accent) 34%, var(--color-surface))}.wbs-row.summary td{font-weight:600}.wbs-row.summary .name-text{color:var(--text)}.cell{height:var(--row-h);max-height:var(--row-h);white-space:nowrap;align-items:center;gap:.25rem;min-width:0;padding:0 .35rem;display:flex;overflow:hidden}.cell-num{font-variant-numeric:tabular-nums;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;justify-content:flex-end;align-items:center;gap:.15rem;display:flex}.wbs-row-grip{width:.9rem;height:1rem;color:var(--color-text-muted);cursor:grab;opacity:.45;border-radius:3px;justify-content:center;align-items:center;margin-right:auto;font-size:.65rem;line-height:1;display:inline-flex}.wbs-row:hover .wbs-row-grip,.wbs-row.selected .wbs-row-grip{opacity:.9}.wbs-row-grip:hover{background:var(--color-hover);color:var(--color-text)}.wbs-row-grip:active{cursor:grabbing}.wbs-row.is-drag-source td{opacity:.45}.wbs-row.drop-before td{box-shadow:inset 0 2px 0 0 var(--color-accent)}.wbs-row.drop-after td{box-shadow:inset 0 -2px 0 0 var(--color-accent)}.wbs-row.drag-active{cursor:copying}.cell-wbs{font-family:var(--mono);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.cell-type{overflow:visible}.type-chip{background:var(--color-hover);color:var(--color-text-secondary);white-space:nowrap;border-radius:4px;align-items:center;padding:.22rem .45rem;font-size:.68rem;font-weight:700;line-height:1;display:inline-flex}.type-chip.PROJECT{background:var(--color-accent-soft);color:var(--color-accent)}.type-chip.PRODUCT{color:#3538cd;background:#e0e7ff}.type-chip.PHASE{background:var(--color-warning-soft);color:var(--color-warning)}.type-chip.DELIVERABLE{color:#6941c6;background:#f4ebff}.type-chip.LIFECYCLE_STAGE{background:var(--color-info-soft);color:var(--color-info)}.type-chip.ACTIVITY{background:var(--color-hover);color:var(--color-text-secondary)}.type-chip.TASK{background:var(--color-success-soft);color:var(--color-success)}.type-chip.MILESTONE{color:#9d174d;background:#fce7f6}[data-theme=dark] .type-chip.PRODUCT{color:#c7d2fe;background:#1e1b4b}[data-theme=dark] .type-chip.DELIVERABLE{color:#e9d5ff;background:#2e1065}[data-theme=dark] .type-chip.MILESTONE{color:#fbcfe8;background:#4a044e}[data-theme=dark] .type-chip.ACTIVITY{background:var(--color-hover);color:var(--color-text)}.milestone-duration{color:var(--text-muted);font-variant-numeric:tabular-nums}.dash-milestones{min-height:auto}.dash-milestone-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex;position:relative}.dash-milestone-list:before{content:"";background:#e4e7ec;width:2px;position:absolute;top:.4rem;bottom:.4rem;left:.45rem}.dash-milestone-list li{align-items:flex-start;gap:.75rem;padding:.55rem 0;display:flex;position:relative}.dash-milestone-dot{background:var(--accent);width:.95rem;height:.95rem;box-shadow:0 0 0 1px var(--accent);z-index:1;border:2px solid #fff;border-radius:2px;flex-shrink:0;margin-top:.15rem;transform:rotate(45deg)}.dash-milestone-list li.is-done .dash-milestone-dot{background:#079455;box-shadow:0 0 0 1px #079455}.dash-milestone-list li.is-pending .dash-milestone-dot{background:var(--color-surface);box-shadow:0 0 0 2px var(--accent)}.dash-milestone-body{flex-direction:column;gap:.15rem;min-width:0;display:flex}.dash-milestone-body strong{font-size:.88rem}.dash-milestone-meta{color:var(--text-muted);font-size:.78rem}.wbs-gantt-bar.is-milestone{background:#9d174d;border:none;border-radius:2px;min-width:12px;height:12px;top:calc(50% - 6px);transform:rotate(45deg);width:12px!important}.wbs-gantt-bar.is-milestone .wbs-gantt-progress,.wbs-gantt-bar.is-milestone .wbs-gantt-link-handle{display:none}.cell-name{gap:.25rem}.name-indent{border-left:1px solid var(--color-border);flex-shrink:0;align-self:stretch;margin:4px 0;display:block}.expand-btn{cursor:pointer;width:18px;height:18px;color:var(--color-icon);background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.65rem;line-height:1;display:inline-flex}.expand-btn:hover{background:var(--color-hover);color:var(--color-text)}.name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text);flex:1;overflow:hidden}.name-input,.inline-input{border:1px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-width:0;color:var(--color-text);height:calc(var(--row-h) - 4px);max-height:calc(var(--row-h) - 4px);font-size:inherit;padding:0 .25rem}.inline-input{background:0 0;border-color:#0000}.inline-input:hover,.inline-input:focus{border-color:var(--color-border);background:var(--color-surface)}.inline-input:focus{border-color:var(--color-accent);outline:none}.inline-date{font-variant-numeric:tabular-nums;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;cursor:pointer;min-width:0;max-width:100%}@media (prefers-color-scheme:dark){.inline-date{--lightningcss-light: ;--lightningcss-dark:initial}}.inline-date::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.65}.inline-date::-webkit-calendar-picker-indicator:hover{opacity:1}.cell-empty{color:var(--color-text-muted);opacity:.75;font-weight:400}.cell-progress,.cell-duration{font-variant-numeric:tabular-nums}.wbs-gantt{min-height:100%;position:relative}.wbs-gantt.empty{min-height:200px;color:var(--text-muted);place-items:center;padding:1rem;font-size:.85rem;display:grid}.wbs-gantt-header{z-index:2;height:var(--wbs-header-h,26px);background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border-strong);position:sticky;top:0}.wbs-gantt-tick{height:100%;color:var(--text-muted);border-left:1px solid var(--color-border);white-space:nowrap;align-items:center;padding:0 .3rem;font-size:.64rem;display:flex;position:absolute;top:0}.wbs-gantt.scale-day .wbs-gantt-tick{padding:0 .15rem;font-size:.58rem}.wbs-gantt.scale-year .wbs-gantt-tick,.wbs-gantt.scale-half .wbs-gantt-tick{font-size:.7rem;font-weight:600}.wbs-gantt-today{z-index:1;background:#f04438;width:2px;position:absolute;top:0;bottom:0}.wbs-gantt-body{position:relative}.wbs-gantt-row{border-bottom:1px solid var(--color-border);z-index:1;position:relative}.wbs-gantt-row.selected{background:color-mix(in srgb, var(--color-accent) 18%, var(--color-surface))}.wbs-gantt-bar{z-index:2;border-radius:3px;min-width:4px;height:16px;position:absolute;top:8px;overflow:visible}.wbs-gantt-bar.task{background:color-mix(in srgb, var(--color-text-muted) 70%, var(--color-accent) 30%)}.wbs-gantt-bar.summary{background:var(--color-accent);border-radius:2px;height:10px;top:11px;overflow:hidden}.wbs-gantt-progress{background:var(--color-info);border-radius:inherit;height:100%;display:block;overflow:hidden}.wbs-gantt-bar.summary .wbs-gantt-progress{background:var(--color-success)}.wbs-gantt-link-handle{border:2px solid var(--color-surface);background:var(--accent);cursor:alias;z-index:3;width:10px;height:10px;box-shadow:0 0 0 1px var(--color-accent);border-radius:50%;padding:0;position:absolute;top:50%;right:-5px;transform:translateY(-50%)}.wbs-gantt-bar.linking{outline:2px solid var(--accent)}.wbs-gantt-bar.link-target{box-shadow:0 0 0 2px var(--color-warning)}.wbs-gantt-links{pointer-events:none;z-index:3;position:absolute;inset:0;overflow:visible}.wbs-gantt-link{fill:none;stroke:var(--color-text-muted);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.wbs-gantt-link.active{stroke:var(--color-accent);stroke-width:2.25px}.wbs-gantt-link.dimmed{stroke:var(--color-border-strong);stroke-width:1px;opacity:.55}.wbs-gantt-arrow{fill:var(--color-text-muted)}.wbs-gantt-arrow.active{fill:var(--color-accent)}.wbs-gantt-today.body{z-index:0;pointer-events:none;background:#f044388c;width:2px;position:absolute;top:0;bottom:0}.error-banner{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid color-mix(in srgb, var(--color-danger) 35%, transparent);border-radius:var(--radius-md);margin:.5rem .65rem;padding:.55rem .75rem;font-size:.85rem}.context-menu{z-index:var(--z-toast);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:180px;box-shadow:var(--shadow-md);color:var(--color-text);padding:.3rem;position:fixed}.context-menu button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:5px;width:100%;padding:.45rem .6rem;font-size:.85rem}.context-menu button:hover:not(:disabled){background:var(--hover)}.context-menu button:disabled{opacity:.4;cursor:not-allowed}.context-menu hr{border:none;border-top:1px solid var(--border);margin:.25rem 0}.empty-state{text-align:center;color:var(--color-text-muted);background:0 0;padding:2rem}.empty-state h3,.empty-state strong{color:var(--color-text)}.link-back{color:var(--accent);white-space:nowrap;flex-shrink:0;font-size:.78rem;font-weight:700}.import-modal{width:min(980px,100%);max-height:calc(100vh - 2rem);overflow:auto}.import-help{color:var(--text-muted);margin:0 0 1rem;font-size:.9rem;line-height:1.45}.import-meta{color:var(--text-muted);flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:.65rem;font-size:.85rem;display:flex}.import-columns{color:var(--text-muted);word-break:break-word;margin-bottom:.65rem;font-size:.78rem;line-height:1.4}.import-warnings{background:var(--warning-soft);color:var(--warning);border:1px solid #f9dbaf;border-radius:6px;margin:.85rem 0 .5rem;padding:.65rem .8rem;font-size:.85rem}.import-warnings ul{margin:.35rem 0 0;padding-left:1.1rem}.import-preview-table{flex:1;min-height:0;max-height:none;margin-bottom:0}.import-preview-table td.muted,.muted{color:var(--text-muted);font-size:.78rem}.import-error{color:var(--danger);margin:.5rem 0 0}.import-page{flex-direction:column;gap:.85rem;min-height:calc(100vh - 5.5rem);display:flex}.import-page-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.import-page-lead{color:var(--text-muted);max-width:52rem;margin:.35rem 0 0;font-size:.92rem;line-height:1.45}.import-page-actions{flex-wrap:wrap;gap:.5rem;display:flex}.import-error-banner{background:var(--danger-soft);color:var(--danger);border:1px solid #fecdca;border-radius:8px;padding:.7rem .9rem;font-weight:600}.import-pick-layout{grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);align-items:stretch;gap:1rem;display:grid}.import-dropzone{text-align:center;border:2px dashed var(--border-strong);background:linear-gradient(#ffffffeb,#f8fafbf5),radial-gradient(600px 220px at 50% 0,#e6f4ef 0%,#0000 70%);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.55rem;min-height:340px;padding:2rem 1.5rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.import-dropzone.is-dragover{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);transform:translateY(-1px)}.import-dropzone.is-busy{opacity:.72}.import-dropzone h2{letter-spacing:-.02em;margin:0}.import-dropzone p{color:var(--text-muted);margin:0 0 .35rem}.import-dropzone-icon{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border-radius:16px;place-items:center;margin-bottom:.35rem;font-size:1.5rem;font-weight:700;display:grid}.import-tips{padding:1.1rem 1.2rem}.import-tips h3{margin:0 0 .65rem}.import-tips ul{color:var(--text-muted);margin:0;padding-left:1.1rem;font-size:.9rem;line-height:1.55}.import-tips li+li{margin-top:.45rem}.import-preview-layout{flex:1;grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:stretch;gap:.85rem;min-height:0;display:grid}.import-side{flex-direction:column;gap:.55rem;max-height:calc(100vh - 11rem);padding:1rem;display:flex;overflow:auto}.import-side h3{margin:0 0 .15rem;font-size:.95rem}.import-side-meta{border-top:1px solid var(--border);gap:.45rem;margin-top:.35rem;padding-top:.65rem;font-size:.82rem;display:grid}.import-side-meta .label{color:var(--text-muted);margin-bottom:.1rem;font-size:.72rem;display:block}.import-side-meta strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.import-stat-grid{grid-template-columns:1fr 1fr;gap:.45rem;margin-top:.35rem;display:grid}.import-stat{background:var(--surface-2);border:1px solid var(--border);text-align:center;border-radius:8px;padding:.55rem .6rem}.import-stat span{letter-spacing:-.02em;font-size:1.15rem;font-weight:700;display:block}.import-stat small{color:var(--text-muted);font-size:.72rem}.import-mode-list{flex-direction:column;gap:.45rem;display:flex}.import-mode-card{text-align:left;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;flex-direction:column;gap:.25rem;padding:.7rem .75rem;transition:border-color .15s,background .15s;display:flex}.import-mode-card strong{font-size:.86rem}.import-mode-card span{color:var(--text-muted);font-size:.78rem;line-height:1.4}.import-mode-card.is-active{border-color:var(--accent);background:var(--accent-soft)}.import-table-panel{flex-direction:column;min-height:calc(100vh - 11rem);padding:0;display:flex;overflow:hidden}.import-table-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:.75rem;padding:.85rem 1rem .65rem;display:flex}.import-table-header h3{margin:0;font-size:.95rem}.import-table-panel .import-preview-table{border:none;border-radius:0;flex:1;max-height:none;overflow:hidden auto}.import-table-panel .data-table th{z-index:2;position:sticky;top:0}.import-wbs-table{table-layout:fixed;width:100%;font-size:.8rem}.import-wbs-table th,.import-wbs-table td{text-overflow:ellipsis;padding:.35rem .4rem;overflow:hidden}.import-wbs-table .col-num{width:2.4rem}.import-wbs-table .col-wbs{width:4.2rem}.import-wbs-table .col-type{width:5.8rem}.import-wbs-table .col-name{width:auto}.import-wbs-table .col-dur{width:3.2rem}.import-wbs-table .col-date{width:5.6rem}.import-wbs-table .col-pct{width:3.2rem}.import-wbs-table .type-chip{text-overflow:ellipsis;max-width:100%;padding:.12rem .3rem;font-size:.62rem;overflow:hidden}.import-name-cell{white-space:nowrap!important}.import-name-cell .import-name-text{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.import-name-cell:has(.import-warn-dot){align-items:center;gap:.25rem;display:flex}.import-name-cell:has(.import-warn-dot) .import-name-text{flex:1;min-width:0}.import-name-cell .import-warn-dot{background:var(--color-warning-soft);width:1rem;height:1rem;color:var(--color-warning);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;display:inline-flex}@media (width<=1100px){.import-pick-layout,.import-preview-layout{grid-template-columns:1fr}.import-side,.import-table-panel{min-height:420px;max-height:none}}@media (width<=960px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid,.form-grid,.summary-list{grid-template-columns:1fr}.workspace-title-row{flex-wrap:wrap;gap:.25rem .5rem}.workspace-title-row .page-title{flex:100%;order:3;font-size:.95rem}.workspace-meta{gap:.2rem .5rem;font-size:.7rem}.ribbon-group-label{display:none}.wbs-split.with-gantt .wbs-gantt-wrap{min-width:120px}}@media (width<=640px){.app-main{padding:.25rem}.workspace-meta>span:not(.meta-project-start):nth-child(n+4){display:none}}.team-panel,.board-panel{flex-direction:column;gap:.75rem;padding-bottom:1rem;display:flex}.team-intro .section-title,.board-create .section-title,.team-add .section-title{margin:0 0 .35rem;font-size:1rem}.muted{color:var(--text-muted);margin:0 0 .75rem;font-size:.85rem;line-height:1.4}.muted.small{font-size:.75rem}.team-add-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem;margin-bottom:.6rem;display:grid}.team-add-grid label,.board-create label{color:var(--text-muted);flex-direction:column;gap:.25rem;font-size:.72rem;font-weight:600;display:flex}.team-add-grid label.grow{grid-column:1/-1}.team-area-chips{flex-wrap:wrap;align-items:center;gap:.35rem;margin:.4rem 0 .6rem;display:flex}.team-area-chips.compact{margin:0}.chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text);border-radius:999px;padding:.2rem .55rem;font-size:.7rem}.chip.sm{padding:.12rem .4rem;font-size:.64rem}.chip.active{background:var(--color-info-soft);border-color:color-mix(in srgb, var(--color-info) 45%, transparent);color:var(--color-info);font-weight:600}.team-table-wrap{overflow:auto}.team-table{border-collapse:collapse;width:100%;font-size:.8rem}.team-table th,.team-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.45rem .5rem}.team-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem}.team-table tr.vacancy{background:var(--color-warning-soft)}.badge-vacancy{color:var(--color-warning);font-size:.7rem;font-weight:600}.work-board{flex-direction:column;flex:1;gap:.4rem;min-height:0;display:flex}.work-board-toolbar{background:var(--color-surface);border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.45rem .75rem;padding:.35rem .55rem;display:flex}.work-board-toolbar-text{flex-wrap:wrap;align-items:baseline;gap:.4rem .65rem;min-width:0;display:flex}.work-board-toolbar-text strong{font-size:.88rem}.work-board-toolbar-text .muted{font-size:.72rem}.work-board-filter{color:var(--text-muted);align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;display:flex}.work-board-filter select{border:1px solid var(--border);background:var(--color-surface);color:var(--text);border-radius:4px;min-width:160px;height:1.7rem;padding:.2rem .4rem;font-size:.78rem;font-weight:600}.work-board-columns{flex:1;align-items:stretch;min-height:0;overflow:hidden}.kanban-board{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:.45rem;height:100%;min-height:0;padding-bottom:0;display:grid}.kanban-column{background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);border-top:3px solid var(--chart-neutral);flex-direction:column;min-height:0;display:flex;overflow:hidden}.kanban-column.col-por_hacer{border-top-color:var(--chart-neutral)}.kanban-column.col-en_progreso{border-top-color:var(--chart-1)}.kanban-column.col-en_pruebas{border-top-color:var(--chart-warning)}.kanban-column.col-listo{border-top-color:var(--chart-success)}.kanban-column.col-por_hacer .kanban-column-header{background:var(--color-hover)}.kanban-column.col-en_progreso .kanban-column-header{background:var(--color-accent-soft)}.kanban-column.col-en_pruebas .kanban-column-header{background:var(--color-warning-soft)}.kanban-column.col-listo .kanban-column-header{background:var(--color-success-soft)}.kanban-column-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.35rem;padding:.35rem .45rem;font-size:.74rem;font-weight:700;display:flex}.kanban-column-titles{flex-direction:column;gap:.05rem;min-width:0;display:flex}.kanban-column-titles strong{font-size:.76rem;line-height:1.2}.kanban-column-hint{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.64rem;font-weight:500;line-height:1.25;display:-webkit-box;overflow:hidden}.kanban-count{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;padding:.02rem .35rem;font-size:.64rem}.kanban-column-body{flex-direction:column;flex:1;gap:.55rem;min-height:0;padding:.5rem;display:flex;overflow:auto}.kanban-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:grab;box-shadow:var(--shadow-sm);flex-direction:column;gap:.4rem;padding:.7rem .75rem .65rem;display:flex}.kanban-card:hover{border-color:var(--color-border-strong)}.kanban-card.is-busy{opacity:.55;pointer-events:none;cursor:default}.kanban-card-title{-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:.95rem;font-weight:650;line-height:1.4;display:-webkit-box;overflow:hidden}.kanban-card-title-btn{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;width:auto;min-width:0;margin:0;padding:0}.kanban-card-title-btn:hover{color:var(--color-accent);text-underline-offset:.12em;text-decoration:underline}.kanban-detail-btn{border:1px solid var(--color-border);background:var(--color-surface-secondary);width:1.35rem;height:1.35rem;color:var(--color-text-secondary);cursor:pointer;border-radius:4px;flex:none;margin:0;padding:0;font-size:.72rem;font-style:italic;font-weight:800;line-height:1}.kanban-detail-btn:hover{color:var(--color-accent);border-color:color-mix(in srgb, var(--color-accent) 45%, transparent);background:var(--color-accent-soft)}.kanban-card-meta{color:var(--text-muted);flex-wrap:wrap;gap:.25rem .55rem;font-size:.75rem;line-height:1.35;display:flex}.kanban-card-meta span:not(:last-child):after{content:none}.kanban-card-pct{color:var(--color-accent);font-variant-numeric:tabular-nums;font-weight:700}.kanban-card-pct[data-pct="0"]{color:var(--color-text-muted)}.kanban-card-pct[data-pct="100"]{color:var(--color-success)}.kanban-card-progress{border-radius:var(--radius-pill);background:var(--color-border);height:5px;margin-top:.05rem;overflow:hidden}.kanban-card-progress>span{background:var(--color-accent);border-radius:inherit;height:100%;display:block}.kanban-subtasks{border-top:1px solid var(--color-border);margin-top:.35rem;padding-top:.3rem}.kanban-subtasks-toggle{width:100%;color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.35rem;margin:0;padding:.1rem 0;font-size:.72rem;font-weight:600;display:flex}.kanban-subtask-list{gap:.2rem;margin:.25rem 0 0;padding:0;list-style:none;display:grid}.kanban-subtask-list li{color:var(--color-text);align-items:flex-start;gap:.25rem;font-size:.74rem;display:flex}.kanban-subtask-list li.is-done span{color:var(--color-text-muted);text-decoration:line-through}.kanban-subtask-list label{cursor:pointer;flex:1;align-items:flex-start;gap:.3rem;min-width:0;display:flex}.kanban-subtask-list label span{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.kanban-subtask-list input[type=checkbox]{flex-shrink:0;margin-top:.1rem}.kanban-subtask-del{color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;padding:0 .15rem;font-size:.95rem;line-height:1}.kanban-subtask-del:hover{color:var(--color-danger)}.kanban-subtask-add{gap:.25rem;margin-top:.3rem;display:flex}.kanban-subtask-add input{flex:1;min-width:0;padding:.2rem .35rem;font-size:.74rem}.kanban-subtask-add-start{appearance:none;color:var(--color-accent);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;margin-top:.25rem;padding:.15rem .35rem;font-size:.72rem;font-weight:600;display:inline-flex}.kanban-subtask-add-start:hover:not(:disabled){background:var(--color-accent-soft)}.kanban-subtask-add-start:disabled{opacity:.55;cursor:not-allowed}.kanban-subtasks-empty,.kanban-subtasks-hint{margin:.2rem 0 0;font-size:.7rem}.kanban-card.has-subtasks{cursor:default}.kanban-card-actions{flex-wrap:wrap;gap:.3rem;margin-top:.1rem;display:flex}.kanban-move{appearance:none;border:1px solid var(--color-border);background:var(--color-surface-secondary);color:var(--color-text-secondary);cursor:pointer;border-radius:4px;padding:.28rem .45rem;font-size:.72rem;font-weight:600;line-height:1.25}.kanban-move:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-border-strong)}.kanban-move:disabled{opacity:.45;cursor:not-allowed}.kanban-move.col-por_hacer:hover:not(:disabled){border-color:var(--color-text-muted);color:var(--color-text-secondary)}.kanban-move.col-en_progreso:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.kanban-move.col-en_pruebas:hover:not(:disabled){border-color:var(--color-warning);color:var(--color-warning)}.kanban-move.col-listo:hover:not(:disabled){border-color:var(--color-success);color:var(--color-success)}.kanban-empty{color:var(--text-muted);text-align:center;margin:0;padding:.75rem .35rem;font-size:.68rem}.btn.danger,.ribbon-btn.danger{color:var(--danger)}@media (width<=1100px){.kanban-board,.work-board-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.kanban-board,.work-board-columns{grid-template-columns:1fr}}.app-main:has(.resources-page:not(.resources-embedded)){padding:.15rem .25rem .2rem;overflow:hidden}.resources-page{flex-direction:column;gap:.2rem;height:100%;min-height:0;display:flex;overflow:hidden}.resources-embedded{flex:1;min-height:0}.resources-chrome{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.45rem .65rem;min-height:1.7rem;padding:.1rem .15rem;display:flex}.resources-chrome-title{font-size:.92rem;font-weight:700;line-height:1}.resources-chrome .link-back{margin:0;font-size:.74rem}.resources-page-meta{margin-left:auto;font-size:.72rem}.resources-page-actions{flex-wrap:wrap;gap:.25rem;display:flex}.resources-page-actions .btn-sm{padding:.12rem .4rem;font-size:.72rem;line-height:1.2}.resources-tabs{border-bottom:none;gap:0;margin:0}.resources-tabs .tab{margin-bottom:0;padding:.15rem .45rem;font-size:.76rem}.linkish{color:var(--color-accent);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:600}.linkish:hover{text-decoration:underline}.resources-sheet-card,.resources-usage-card{min-height:0;box-shadow:none;border-radius:4px;flex-direction:column;flex:auto;padding:0;display:flex;overflow:hidden}.resources-compact-bar{border-bottom:1px solid var(--color-border);background:var(--color-surface-secondary);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.35rem;padding:.15rem .4rem;display:flex}.resources-usage-actions{gap:.25rem;display:flex}.resources-usage-actions .btn-sm{padding:.1rem .35rem;font-size:.7rem}.resources-usage-kpis-inline{flex-wrap:wrap;align-items:baseline;gap:.65rem;font-size:.74rem;font-weight:700;display:flex}.resources-usage-kpis-inline em{color:var(--text-muted);margin-right:.2rem;font-style:normal;font-weight:500}.resources-sheet-wrap{background:repeating-linear-gradient(to bottom, transparent 0, transparent 1.45rem, var(--color-border) 1.45rem, var(--color-border) calc(1.45rem + 1px));flex:auto;min-height:0;overflow:auto}.resources-sheet-table,.resources-usage-table{table-layout:fixed;border-collapse:collapse;background:var(--surface);width:100%;min-width:760px;margin:0}.resources-sheet-table .col-name{width:18%}.resources-sheet-table .col-kind{width:7%}.resources-sheet-table .col-team{width:14%}.resources-sheet-table .col-cost-type{width:8%}.resources-sheet-table .col-value{width:6%}.resources-sheet-table .col-active{width:3.5%}.resources-sheet-table .col-tasks{width:4%}.resources-sheet-table .col-work{width:6%}.resources-sheet-table .col-cost{width:9%}.resources-sheet-table .col-progress{width:4%}.resources-sheet-table .col-actions{width:10%}.resources-team-hint{margin:0 0 .65rem;font-size:.82rem;line-height:1.35}.res-team-cell{white-space:normal;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0;display:flex}.res-team-badge{text-overflow:ellipsis;white-space:nowrap;border-radius:var(--radius-sm,3px);border:1px solid #0000;max-width:100%;padding:.12rem .35rem;font-size:.72rem;line-height:1.2;display:inline-block;overflow:hidden}.res-team-badge--virtual{color:var(--color-text-muted);border-color:var(--color-border);background:0 0}.res-team-badge--pending{color:var(--color-warning,#b45309);border-color:color-mix(in srgb, var(--color-warning,#b45309) 35%, var(--color-border));background:var(--color-warning-soft,#f59e0b1f)}.res-team-badge--linked{color:var(--color-success,#15803d);border-color:color-mix(in srgb, var(--color-success,#15803d) 35%, var(--color-border));background:color-mix(in srgb, var(--color-success,#22c55e) 12%, var(--color-surface))}.res-team-action{font-size:.72rem}.res-team-dialog-backdrop{z-index:90;white-space:normal;-webkit-overflow-scrolling:touch;background:#0f172a7a;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow:auto}.res-team-dialog{background:var(--color-surface);width:min(26rem,100%);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg,10px);box-shadow:var(--shadow-lg,0 18px 48px #0f172a38);white-space:normal;text-overflow:unset;padding:1.15rem 1.2rem 1rem;overflow:visible}.res-team-dialog-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 .2rem;font-size:.7rem;font-weight:600}.res-team-dialog-head h3{color:var(--color-text);overflow-wrap:anywhere;margin:0 0 .4rem;font-size:1.05rem;font-weight:700;line-height:1.25}.res-team-dialog-lead{color:var(--color-text-secondary);overflow-wrap:anywhere;margin:0;font-size:.84rem;line-height:1.45}.res-team-dialog-tabs{grid-template-columns:1fr 1fr;gap:.4rem;margin:1rem 0 .85rem;display:grid}.res-team-dialog-tabs button{border:1px solid var(--color-border);background:var(--color-surface-secondary,var(--color-surface));color:var(--color-text);border-radius:var(--radius-md,6px);cursor:pointer;min-height:2.4rem;padding:.55rem .6rem;font-size:.82rem;font-weight:500;transition:background .15s,border-color .15s}.res-team-dialog-tabs button:hover{background:var(--color-hover)}.res-team-dialog-tabs button.is-active{border-color:color-mix(in srgb, var(--accent,#16a34a) 55%, var(--color-border));background:color-mix(in srgb, var(--accent,#16a34a) 14%, var(--color-surface));color:var(--color-text);font-weight:600}.res-team-dialog-body{flex-direction:column;gap:.7rem;display:flex}.res-team-field{color:var(--color-text);flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:500;display:flex}.res-team-field input,.res-team-field select{font:inherit;border-radius:var(--radius-md,6px);border:1px solid var(--color-border);background:var(--color-surface);min-height:2.45rem;color:var(--color-text);box-sizing:border-box;width:100%;padding:.55rem .65rem;font-weight:400}.res-team-field input::placeholder{color:var(--color-text-muted)}.res-team-field input:focus,.res-team-field select:focus{outline:2px solid var(--color-focus,var(--accent,#16a34a));outline-offset:1px}.res-team-field select:disabled,.res-team-field input:disabled{opacity:.6;cursor:not-allowed}.res-team-member-card{border-radius:var(--radius-md,6px);border:1px solid var(--color-border);background:var(--color-surface-secondary,var(--color-hover));gap:.12rem;padding:.65rem .75rem;font-size:.82rem;line-height:1.35;display:grid}.res-team-member-card strong{color:var(--color-text);font-size:.88rem}.res-team-member-card span{color:var(--color-text-secondary);overflow-wrap:anywhere}.res-team-member-role{color:var(--color-text-muted);margin-top:.15rem;font-size:.75rem;font-weight:600}.res-team-hint{color:var(--color-text-muted);overflow-wrap:anywhere;margin:0;font-size:.78rem;line-height:1.45}.res-team-dialog-error{border-radius:var(--radius-sm,4px);background:var(--color-danger-soft,#ef44441a);color:var(--color-danger,#dc2626);overflow-wrap:anywhere;margin:0 0 .55rem;padding:.45rem .55rem;font-size:.82rem;line-height:1.35}.res-team-dialog-foot{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;margin-top:1.1rem;padding-top:.85rem;display:flex}.res-team-dialog-actions{flex-wrap:wrap;gap:.4rem;margin-left:auto;display:flex}.res-team-dialog-spacer{flex:1}.res-team-dialog-foot .btn{min-height:2.2rem}.resources-dense-table{font-size:.74rem}.resources-dense-table th,.resources-dense-table td{vertical-align:middle;border-bottom:1px solid var(--color-border);white-space:nowrap;text-overflow:ellipsis;height:1.45rem;padding:.05rem .3rem;line-height:1.2;overflow:hidden}.resources-dense-table th{z-index:2;background:var(--color-surface-elevated);letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-secondary);height:1.55rem;padding-top:.15rem;padding-bottom:.15rem;font-size:.64rem;position:sticky;top:0}.resources-dense-table tbody tr{cursor:default}.resources-dense-table tbody tr:nth-child(2n){background:var(--color-surface-secondary)}.resources-dense-table tbody tr:hover{background:var(--color-hover)}.sheet-cell-input,.sheet-cell-select{width:100%;min-width:0;max-width:100%;font:inherit;color:inherit;box-sizing:border-box;background:0 0;border:1px solid #0000;border-radius:2px;height:1.3rem;padding:0 .15rem}.sheet-cell-input:hover,.sheet-cell-select:hover,.sheet-cell-input:focus,.sheet-cell-select:focus{border-color:var(--color-border-strong);background:var(--color-surface);outline:none}.sheet-cell-num{text-align:right}.sheet-cell-center{text-align:center}.sheet-hint{font-size:.7rem}.sheet-actions{white-space:nowrap;gap:.2rem;display:flex}.sheet-actions .btn-sm{padding:.05rem .3rem;font-size:.66rem;line-height:1.2}.resources-sheet-table tr.is-inactive{opacity:.5}.resources-sheet-new td{background:var(--color-hover);border-top:1px solid var(--color-border)}.resources-empty-hint{margin:0;padding:.35rem .5rem;font-size:.74rem}.usage-expand{font:inherit;cursor:pointer;text-align:left;color:inherit;background:0 0;border:none;align-items:center;gap:.3rem;min-width:0;max-width:100%;padding:0;display:inline-flex}.usage-expand strong{text-overflow:ellipsis;font-size:.76rem;overflow:hidden}.usage-count{font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.7rem}.usage-count:before{content:"? "}.usage-resource-meta{white-space:nowrap;flex-shrink:0;margin:0;font-size:.68rem}.usage-resource-row{background:var(--color-hover)!important}.usage-resource-row td{font-weight:600}.usage-resource-row.is-focused{outline:2px solid var(--color-accent);outline-offset:-2px}.usage-resource-row.is-unassigned{background:var(--color-warning-soft)!important}.usage-task-row td:first-child{padding-left:1.1rem}.usage-task-name{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:100%;font-size:.74rem;font-weight:500;display:inline-block;overflow:hidden}.resources-usage-table th:first-child,.resources-usage-table td:first-child{width:36%}.resources-usage-table th:nth-child(2),.resources-usage-table td:nth-child(2){width:12%}.resources-usage-table th:nth-child(3),.resources-usage-table td:nth-child(3),.resources-usage-table th:nth-child(4),.resources-usage-table td:nth-child(4),.resources-usage-table th:nth-child(5),.resources-usage-table td:nth-child(5),.resources-usage-table th:nth-child(6),.resources-usage-table td:nth-child(6){width:8%}.resources-usage-table th:nth-child(7),.resources-usage-table td:nth-child(7){width:6%}.resources-usage-table th:nth-child(8),.resources-usage-table td:nth-child(8){width:10%}.portfolio-page{gap:var(--space-2);flex-direction:column;min-height:calc(100dvh - 3.2rem);display:flex}.portfolio-chrome{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:.4rem .65rem;padding:.2rem .1rem .45rem;display:flex}.portfolio-chrome-left{align-items:baseline;gap:.45rem;min-width:0;display:flex}.portfolio-title{font-size:var(--text-page);font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:var(--line-tight);color:var(--color-text);margin:0}.portfolio-subtitle{font-size:var(--text-caption);white-space:nowrap}.portfolio-chrome-filters{flex-wrap:wrap;flex:1;align-items:center;gap:.3rem;min-width:200px;display:flex}.portfolio-status-filter{border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-body);background:var(--color-surface);color:var(--color-text);min-height:var(--control-sm);height:var(--control-sm);min-width:9.5rem;padding:.2rem .45rem}.portfolio-search.ui-search{min-width:12rem;max-width:22rem;min-height:var(--control-sm);height:var(--control-sm);flex:1}.portfolio-chrome-actions{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.backup-status.is-error{color:#b91c1c;max-width:16rem;font-size:.78rem;font-weight:650}.btn-demo{border-color:var(--color-accent);color:var(--color-accent);font-weight:var(--font-weight-bold)}.btn-demo:hover:not(:disabled){background:var(--color-accent-soft)}.demo-progress-backdrop{z-index:80}.demo-progress-modal{text-align:center;width:min(26rem,100vw - 2rem);padding:1.35rem 1.4rem 1.15rem}.demo-progress-orb{place-items:center;width:4.5rem;height:4.5rem;margin:0 auto .85rem;display:grid;position:relative}.demo-progress-orb-ring{border:3px solid var(--color-accent-soft);border-top-color:var(--color-accent);border-radius:50%;animation:.85s linear infinite demo-spin;position:absolute;inset:0}.demo-progress-orb-pct{color:var(--color-accent);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.15rem;font-weight:800}.demo-progress-modal h3{margin:0 0 .35rem;font-size:1.15rem}.demo-progress-label{color:var(--color-text-secondary);min-height:1.35em;margin:0 0 .9rem;font-size:.92rem}.demo-progress-track{background:var(--color-border);border-radius:999px;height:.55rem;position:relative;overflow:hidden}.demo-progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--color-accent), #14b8a6 55%, #2dd4bf);height:100%;transition:width .35s}.demo-progress-sheen{pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffff73 50%,#0000 65%) 0 0/220% 100%;animation:1.4s ease-in-out infinite demo-sheen;position:absolute;inset:0}.demo-progress-hint{margin:.75rem 0 0;font-size:.8rem}@keyframes demo-spin{to{transform:rotate(360deg)}}@keyframes demo-sheen{0%{background-position:120% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){.demo-progress-orb-ring,.demo-progress-sheen{animation:none}.demo-progress-fill{transition:none}}.portfolio-summary{margin:0;padding:.15rem .1rem .1rem}.portfolio-summary-strip{flex-wrap:wrap;align-items:center;gap:.35rem .75rem;display:flex}.portfolio-stat-cluster{background:0 0;border:none;flex-wrap:wrap;align-items:baseline;gap:.15rem .2rem;padding:.1rem 0;display:inline-flex}.portfolio-stat-sep{color:var(--color-text-muted);opacity:.55;-webkit-user-select:none;user-select:none;font-size:var(--text-caption);padding:0 .1rem}.portfolio-stat{appearance:none;border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;align-items:baseline;gap:.28rem;margin:0;padding:.15rem .35rem;line-height:1.2;display:inline-flex}.portfolio-stat.is-plain{background:0 0;border-color:#0000}.portfolio-stat.is-static{cursor:default}.portfolio-stat:hover:not(.is-static){background:var(--color-hover)}.portfolio-stat:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.portfolio-stat.is-active{background:var(--color-accent-soft);color:var(--color-accent);box-shadow:inset 0 -2px 0 var(--color-accent)}.portfolio-stat.is-attention{border-color:color-mix(in srgb, var(--color-warning) 40%, transparent);background:var(--color-warning-soft);color:var(--color-warning)}.portfolio-stat.is-attention.is-active{box-shadow:inset 0 -2px 0 var(--color-warning)}.portfolio-stat-value{font-size:var(--text-body);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.portfolio-stat-label{font-size:var(--text-caption);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.portfolio-stat.is-active .portfolio-stat-label,.portfolio-stat.is-attention .portfolio-stat-label{color:inherit;opacity:.9}.portfolio-stat-meta{font-size:var(--text-caption);margin-left:0}.portfolio-stat-link{appearance:none;color:inherit;font:inherit;border-radius:var(--radius-sm);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:.1rem .15rem;text-decoration:underline}.portfolio-stat-link:hover,.portfolio-stat-link.is-active{color:var(--color-accent)}.portfolio-stat-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.portfolio-table-section{flex-direction:column;flex:1;gap:.2rem;min-height:0;display:flex}.portfolio-table-hint{font-size:var(--text-caption);margin:0}.portfolio-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);flex:1;min-height:12rem}.portfolio-table-wrap.table-wrap{box-shadow:none}.portfolio-table{font-size:var(--text-body);width:100%}.portfolio-table th{font-size:var(--text-caption);background:var(--color-surface-secondary);color:var(--color-text-muted);font-weight:var(--font-weight-medium);white-space:nowrap;padding:.32rem .45rem}.portfolio-table td{vertical-align:middle;padding:.32rem .45rem}.portfolio-table .col-owner{max-width:8.5rem}.portfolio-owner-text{text-overflow:ellipsis;white-space:nowrap;max-width:8.5rem;color:var(--color-text-secondary);display:block;overflow:hidden}.portfolio-row{cursor:pointer}.portfolio-row:hover{background:var(--color-hover)}.portfolio-row:hover .portfolio-name{color:var(--color-accent);text-underline-offset:2px;text-decoration:underline}.portfolio-name-cell{white-space:normal;min-width:10rem;max-width:18rem}.portfolio-name-btn{appearance:none;text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;border-radius:var(--radius-sm);background:0 0;border:none;min-width:0;margin:0;padding:0;display:block}.portfolio-name-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.portfolio-name{text-overflow:ellipsis;white-space:nowrap;font-weight:var(--font-weight-medium);font-size:var(--text-body);line-height:var(--line-tight);color:var(--color-text);display:block;overflow:hidden}.portfolio-code-line{align-items:center;gap:.35rem;min-width:0;margin-top:.08rem;display:flex}.portfolio-desc{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-caption);min-width:0;color:var(--color-text-muted);overflow:hidden}@media (width<=640px){.portfolio-desc{display:none}}.portfolio-code{font-size:var(--text-caption);color:var(--color-text-muted);font-family:var(--font-mono);font-weight:var(--font-weight-regular,400);background:0 0;border-radius:0;flex-shrink:0;padding:0}.num-cell{font-variant-numeric:tabular-nums;text-align:right}.portfolio-actions{white-space:nowrap;justify-content:flex-end;gap:.05rem;display:flex}.portfolio-actions .ui-icon-btn{opacity:.5;color:var(--color-text-secondary)}.portfolio-row:hover .portfolio-actions .ui-icon-btn,.portfolio-actions .ui-icon-btn:focus-visible{opacity:1}.portfolio-action-delete:hover,.portfolio-action-delete:focus-visible{color:var(--color-danger);background:var(--color-danger-soft)}.priority-chip{font-size:var(--text-caption);font-weight:var(--font-weight-bold);border-radius:var(--radius-sm);background:var(--color-hover);color:var(--color-text-secondary);padding:.08rem .3rem;display:inline-block}.priority-chip.priority-low{background:var(--color-surface-secondary);color:var(--color-text-muted)}.priority-chip.priority-medium{background:var(--color-info-soft);color:var(--color-info)}.priority-chip.priority-high{background:var(--color-warning-soft);color:var(--color-warning)}.priority-chip.priority-critical{background:var(--color-danger-soft);color:var(--color-danger)}.portfolio-empty{padding:var(--space-4)}@media (width<=1100px){.portfolio-table .col-counts{display:none}}@media (width<=900px){.portfolio-table .col-priority,.portfolio-table .col-start{display:none}.portfolio-name-cell{max-width:14rem}}@media (width<=768px){.portfolio-chrome{gap:.35rem}.portfolio-table .col-end{display:none}}@media (width<=640px){.portfolio-chrome{flex-direction:column;align-items:stretch;gap:.35rem;padding-bottom:.35rem}.portfolio-chrome-left{justify-content:space-between}.portfolio-chrome-filters{order:3;min-width:0}.portfolio-chrome-actions{order:2}.portfolio-chrome-actions .btn{width:100%}.portfolio-search.ui-search{flex:100%;max-width:none}.portfolio-status-filter{flex:auto;min-width:0}.portfolio-summary-strip{gap:.25rem .5rem}.portfolio-stat-cluster{gap:.1rem}.portfolio-stat{padding:.12rem .25rem}.portfolio-table-hint{display:none}.portfolio-table-wrap{background:0 0;border:none;border-radius:0;overflow:visible}.portfolio-table,.portfolio-table thead,.portfolio-table tbody,.portfolio-table tr,.portfolio-table th,.portfolio-table td{width:100%;display:block}.portfolio-table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portfolio-table tr.portfolio-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name actions""status status";gap:.25rem .45rem;width:auto;margin-bottom:.35rem;padding:.55rem .65rem;display:grid}.portfolio-table .col-owner,.portfolio-table .col-progress,.portfolio-table .col-priority,.portfolio-table .col-start,.portfolio-table .col-end,.portfolio-table .col-counts{display:none}.portfolio-table .portfolio-name-cell{grid-area:name;width:auto;min-width:0;max-width:none;padding:0}.portfolio-table .col-status{grid-area:status;width:auto;padding:0}.portfolio-table .portfolio-actions{grid-area:actions;align-self:start;width:auto;padding:0}.portfolio-actions .ui-icon-btn{opacity:.85}.portfolio-name{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}.calendar-modal{width:min(720px,96vw);max-width:720px}.calendar-inherit{align-items:center;gap:.45rem;margin:0 0 .65rem;font-size:.85rem;font-weight:600;display:flex}.calendar-fieldset{border:none;min-width:0;margin:0;padding:0}.calendar-fieldset:disabled{opacity:.55}.calendar-hours-field{max-width:160px;margin-bottom:.65rem}.calendar-week-table th,.calendar-week-table td{vertical-align:middle;padding:.28rem .35rem;font-size:.78rem}.calendar-time{width:6.2rem;padding:.15rem .25rem;font-size:.75rem}.calendar-lunch-cell{flex-wrap:wrap;align-items:center;gap:.2rem;min-width:11rem;display:flex}.calendar-lunch-toggle{margin-right:.15rem;display:inline-flex}.calendar-section-title{margin:.85rem 0 .35rem;font-size:.88rem;font-weight:700}.calendar-packages{flex-direction:column;gap:.35rem;margin-bottom:.35rem;font-size:.8rem;display:flex}.calendar-packages label{align-items:flex-start;gap:.4rem;display:flex}.calendar-holiday-form{margin-bottom:.4rem}.calendar-holiday-actions{flex-wrap:wrap;gap:.35rem;margin-bottom:.35rem;display:flex}.calendar-holiday-list{max-height:9rem;margin:.35rem 0 0;padding-left:1.1rem;font-size:.75rem;overflow:auto}.calendar-hol-tag{color:var(--text-muted);background:var(--color-hover);border-radius:3px;margin-left:.35rem;padding:.05rem .3rem;font-size:.65rem}.project-form-modal{flex-direction:column;width:min(640px,100%);max-height:min(92dvh,820px);padding:0;display:flex;overflow:hidden}.project-form-header{background:linear-gradient(180deg, var(--color-accent-soft) 0%, var(--color-surface) 72%);border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:.85rem;padding:1rem 1.15rem .85rem;display:flex}.project-form-kicker{letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:600;color:var(--color-accent)!important;margin:0 0 .2rem!important}.project-form-header h3{letter-spacing:-.02em;margin:0;font-size:1.15rem}.project-form-lead{flex-wrap:wrap;align-items:center;gap:.35rem;max-width:28rem;font-size:.8rem;line-height:1.35;display:flex;color:var(--text-muted)!important;margin:.35rem 0 0!important}.project-form-code-chip{background:var(--color-success-soft);color:var(--color-accent);border:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent);border-radius:4px;padding:.08rem .35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem}.project-form-preview{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.3rem;display:flex}.project-form-body{flex-direction:column;gap:.85rem;padding:.85rem 1.15rem 1rem;display:flex;overflow:auto}.project-form-section{background:var(--color-surface);border:1px solid var(--border);border-radius:8px;padding:.7rem .8rem .8rem}.project-form-section-head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.55rem;display:flex}.project-form-section-head h4{margin:0;font-size:.82rem;font-weight:700}.project-form-section-head .muted{font-size:.7rem}.project-form-grid{grid-template-columns:1fr 1fr;gap:.55rem .65rem;display:grid}.project-form-grid .full{grid-column:1/-1}.project-form-modal .field label{color:var(--color-text-secondary);font-size:.72rem;font-weight:600}.project-form-modal .field input,.project-form-modal .field select,.project-form-modal .field textarea{border-color:#d0d5dd;border-radius:6px;padding:.4rem .55rem;font-size:.85rem}.project-form-modal .field input:focus,.project-form-modal .field select:focus,.project-form-modal .field textarea:focus{border-color:#14b8a6;outline:none;box-shadow:0 0 0 3px #14b8a626}.project-form-modal .field textarea{resize:vertical;min-height:4.5rem;line-height:1.4}.project-form-choice-block{flex-direction:column;gap:.35rem;display:flex}.project-form-choice-block+.project-form-choice-block{margin-top:.65rem}.project-form-choice-label{color:var(--color-text-secondary);font-size:.72rem;font-weight:600}.project-form-chips{flex-wrap:wrap;gap:.3rem;display:flex}.project-form-chip{appearance:none;border:1px solid var(--color-border);background:var(--color-surface-secondary);color:var(--color-text-secondary);cursor:pointer;border-radius:999px;padding:.28rem .65rem;font-size:.72rem;font-weight:600;transition:background .12s,border-color .12s,color .12s}.project-form-chip:hover{border-color:var(--color-border-strong)}.project-form-chip.is-active{border-color:#0000;box-shadow:0 0 0 1px #0f172a0f}.project-form-chip.status-planning.is-active{background:var(--color-hover);color:var(--color-text-secondary)}.project-form-chip.status-active.is-active{background:var(--color-accent-soft);color:var(--color-accent)}.project-form-chip.status-at_risk.is-active{background:var(--color-warning-soft);color:var(--color-warning)}.project-form-chip.status-on_hold.is-active{background:var(--color-hover);color:var(--color-text-muted)}.project-form-chip.status-completed.is-active{color:var(--color-success);background:#d1fae5}.project-form-chip.status-cancelled.is-active{background:var(--color-danger-soft);color:#b91c1c}.project-form-chip.priority-low.is-active{background:var(--color-surface-secondary);color:var(--color-text-muted);border-color:var(--color-border-strong)}.project-form-chip.priority-medium.is-active{background:var(--color-info-soft);color:#0e7490}.project-form-chip.priority-high.is-active{background:var(--color-warning-soft);color:var(--color-warning)}.project-form-chip.priority-critical.is-active{background:var(--color-danger-soft);color:#b91c1c}.project-form-date-hint{margin:.45rem 0 0;font-size:.72rem}.project-form-error{background:var(--color-danger-soft);color:#b91c1c;border:1px solid #fecaca;border-radius:6px;margin:0;padding:.45rem .6rem;font-size:.8rem}.project-form-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;margin-top:.15rem;padding-top:.75rem;display:flex}.project-form-footer-meta{font-size:.72rem}.project-form-actions{margin:0}@media (width<=560px){.project-form-grid{grid-template-columns:1fr}.project-form-header{flex-direction:column}.project-form-preview{flex-direction:row;align-items:flex-start}.project-form-footer{flex-direction:column;align-items:stretch}}.weekly-page{flex-direction:column;gap:.65rem;min-height:calc(100dvh - 3.2rem);display:flex}.weekly-chrome{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.35rem .1rem .55rem;display:flex}.weekly-chrome-title{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.weekly-chrome-title h1{letter-spacing:-.02em;margin:0;font-size:1.1rem;font-weight:700}.weekly-chrome-title .muted{font-size:.75rem}.weekly-week-nav{background:var(--color-accent-soft);border:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.3rem .45rem;display:flex}.weekly-week-labels{grid-template-columns:auto auto;gap:.05rem .45rem;min-width:11rem;font-size:.72rem;display:grid}.weekly-week-labels strong{font-size:.72rem}.weekly-next-label{color:var(--color-accent)}.weekly-chrome-actions{flex-wrap:wrap;gap:.3rem;display:flex}.weekly-kpi-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;display:grid}.weekly-kpi{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);border-top:3px solid var(--chart-neutral);padding:.4rem .55rem}.weekly-kpi.tone-teal{border-top-color:var(--chart-1)}.weekly-kpi.tone-amber{border-top-color:var(--chart-warning)}.weekly-kpi-label{color:var(--text-muted);font-size:.65rem;font-weight:600;display:block}.weekly-kpi strong{font-variant-numeric:tabular-nums;font-size:1rem}.weekly-grid{flex-direction:column;gap:.65rem;display:flex}.weekly-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.weekly-card-head{background:var(--color-surface-secondary);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.55rem .75rem;display:flex}.weekly-card-head h2{margin:0;font-size:.95rem;font-weight:700}.weekly-card-head .muted{font-size:.7rem}.weekly-card-totals{font-variant-numeric:tabular-nums;color:var(--color-accent);flex-direction:column;align-items:flex-end;gap:.1rem;font-size:.72rem;font-weight:600;display:flex}.weekly-columns{grid-template-columns:1fr 1fr;gap:0;display:grid}.weekly-column{min-width:0;padding:.55rem .7rem .7rem}.weekly-column-next{border-left:1px solid var(--border);background:var(--color-surface)}.weekly-column-head{flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;margin-bottom:.45rem;display:flex}.weekly-column-head h3{margin:0;font-size:.82rem;font-weight:700}.weekly-column-head .muted{font-size:.68rem}.weekly-column-meta{color:var(--color-accent);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.68rem;font-weight:600}.weekly-empty{margin:.35rem 0 0;font-size:.78rem}.weekly-group{margin-top:.4rem}.weekly-group-title{text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:.35rem;margin-bottom:.25rem;font-size:.68rem;font-weight:700;display:flex}.weekly-group-title span{font-variant-numeric:tabular-nums;background:var(--color-hover);border-radius:999px;padding:.05rem .3rem;font-size:.65rem}.weekly-group.tone-done .weekly-group-title{color:var(--color-success)}.weekly-group.tone-wip .weekly-group-title{color:#0e7490}.weekly-group.tone-todo .weekly-group-title{color:var(--color-warning)}.weekly-task-list{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.weekly-task{text-align:left;border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:6px;gap:.12rem;width:100%;padding:.4rem .5rem;transition:border-color .12s,background .12s;display:grid}.weekly-task:hover{background:var(--color-accent-soft);border-color:#14b8a6}.weekly-task-name{font-size:.8rem;font-weight:600;line-height:1.25}.weekly-task-meta{font-size:.68rem}.weekly-task-stats{font-variant-numeric:tabular-nums;justify-content:space-between;gap:.5rem;margin-top:.1rem;font-size:.72rem;display:flex}.weekly-pct{color:var(--color-accent);font-weight:700}.weekly-hrs{color:var(--text-muted)}@media (width<=900px){.weekly-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-columns{grid-template-columns:1fr}.weekly-column-next{border-left:none;border-top:1px solid var(--border)}}.week-workspace{flex-direction:column;flex:1;gap:.65rem;min-height:0;display:flex}.week-workspace-chrome{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.35rem .1rem .55rem;display:flex}.week-workspace-intro{flex-direction:column;flex:1;gap:.15rem;min-width:220px;display:flex}.week-workspace-intro strong{font-size:.95rem}.week-workspace-intro .muted{max-width:36rem;font-size:.75rem;line-height:1.35}.week-workspace-nav{background:var(--color-accent-soft);border:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent);color:var(--color-text);border-radius:8px;align-items:center;gap:.35rem;padding:.25rem .4rem;display:flex}.week-workspace-dates{min-width:8rem;color:var(--color-text);justify-content:center;align-items:center;gap:.35rem;font-size:.78rem;display:flex}.week-workspace-tabs{margin:0}.week-armar-summary{background:var(--color-surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:.5rem .75rem;padding:.55rem .65rem;display:flex}.week-armar-stat{flex-direction:column;gap:.1rem;min-width:6.5rem;display:flex}.week-armar-stat .muted{font-size:.65rem;font-weight:600}.week-armar-stat strong{font-variant-numeric:tabular-nums;font-size:.95rem}.week-armar-actions{flex-wrap:wrap;gap:.3rem;margin-left:auto;display:flex}.week-armar-grid{flex:1;grid-template-columns:1fr 1fr;gap:.65rem;min-height:0;display:grid}.week-armar-panel{background:var(--color-surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;min-height:280px;max-height:calc(100dvh - 14rem);display:flex;overflow:hidden}.week-armar-panel.is-commitment{border-color:color-mix(in srgb, var(--color-accent) 40%, transparent);background:var(--color-surface)}.week-armar-panel-head{border-bottom:1px solid var(--border);padding:.55rem .7rem .4rem}.week-armar-panel-head h3{margin:0;font-size:.88rem;font-weight:700}.week-armar-panel-head .muted{font-size:.7rem}.week-armar-search{border:1px solid var(--border);border-radius:5px;margin:.45rem .65rem .25rem;padding:.35rem .5rem;font-size:.8rem}.week-task-pick-list{flex-direction:column;flex:1;gap:.3rem;margin:0;padding:.35rem .5rem .65rem;list-style:none;display:flex;overflow:auto}.week-pick-empty{padding:.75rem .35rem;font-size:.8rem}.week-pick-more{margin:0;padding:.35rem .7rem .55rem;font-size:.72rem}.week-pick-row{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.4rem .45rem;display:flex}.week-pick-info{flex-direction:column;gap:.1rem;min-width:0;display:flex}.week-pick-info strong{font-size:.8rem;line-height:1.25}.week-pick-info .muted{font-size:.68rem}.week-empty-follow{flex-direction:column;align-items:flex-start;gap:.75rem;max-width:36rem;display:flex}.week-empty-follow p{margin:0;line-height:1.45}@media (width<=900px){.week-armar-grid{grid-template-columns:1fr}.week-armar-panel{max-height:22rem}}.commit-capacity{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;flex-shrink:0;margin-top:.25rem;padding:.3rem .45rem .35rem}.commit-capacity-head{flex-wrap:wrap;align-items:center;gap:.25rem .65rem;margin-bottom:.3rem;display:flex}.commit-capacity-head strong{letter-spacing:.01em;color:var(--color-text);font-size:.72rem;font-weight:750;display:inline}.commit-capacity-sub{color:var(--color-text-muted);margin-top:0;font-size:.68rem;display:inline}.commit-capacity-kpis{color:var(--color-text-secondary);flex-wrap:wrap;gap:.45rem;margin-left:auto;font-size:.66rem;display:flex}.commit-capacity-kpis em{color:var(--color-accent);margin-right:.12rem;font-style:normal;font-weight:800}.commit-capacity-kpis .is-over em{color:var(--color-danger,#b91c1c)}.commit-capacity-track{scroll-snap-type:x proximity;gap:.3rem;padding-bottom:0;display:flex;overflow-x:auto}.commit-capacity-card{scroll-snap-align:start;border:1px solid var(--color-border);background:var(--color-surface-secondary);border-radius:5px;flex:0 0 8.6rem;min-height:0;padding:.28rem .4rem .3rem}.commit-capacity-name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.18rem;font-size:.7rem;font-weight:700;line-height:1.15;overflow:hidden}.commit-capacity-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;height:.28rem;overflow:hidden}.commit-capacity-fill{border-radius:inherit;background:var(--color-accent);height:100%;transition:width .25s;display:block}.commit-capacity-card.tone-empty .commit-capacity-fill{background:var(--color-border-strong)}.commit-capacity-card.tone-low .commit-capacity-fill{background:color-mix(in srgb, var(--color-accent) 55%, #94a3b8)}.commit-capacity-card.tone-good .commit-capacity-fill{background:var(--color-success,#0f766e)}.commit-capacity-card.tone-full .commit-capacity-fill{background:var(--color-warning)}.commit-capacity-card.tone-over{border-color:color-mix(in srgb, var(--color-danger,#b91c1c) 45%, transparent);background:color-mix(in srgb, var(--color-danger,#b91c1c) 8%, var(--color-surface))}.commit-capacity-card.tone-over .commit-capacity-fill{background:var(--color-danger,#b91c1c);width:100%!important}.commit-capacity-nums{font-variant-numeric:tabular-nums;color:var(--color-text);margin-top:.18rem;font-size:.68rem;line-height:1.2}.commit-capacity-nums strong{font-size:.72rem;font-weight:800}.commit-capacity-pct{float:right;color:var(--color-text-muted);font-size:.64rem;font-weight:700}.commit-capacity-status{clear:both;color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:.05rem;font-size:.62rem;font-weight:600;overflow:hidden}.commit-capacity-card.tone-over .commit-capacity-status{color:var(--color-danger,#b91c1c)}.commit-capacity-count{display:none}.commit-panel{flex-direction:column;flex:1;gap:.25rem;min-height:0;display:flex}.commit-toolbar{flex-wrap:wrap;align-items:center;gap:.3rem .55rem;padding:.1rem 0;display:flex}.commit-toolbar-strip{border-bottom:1px solid var(--color-border);margin-bottom:.1rem;padding-bottom:.25rem}.commit-toolbar-meta{font-size:.72rem}.commit-cycle-nav{background:var(--color-accent-soft);border:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent);color:var(--color-text);border-radius:5px;align-items:center;gap:.25rem;padding:.12rem .3rem;display:flex}.commit-cycle-label{white-space:nowrap;color:var(--color-text);font-size:.78rem;font-weight:750}.commit-stats{font-variant-numeric:tabular-nums;color:var(--color-text-secondary);font-size:.78rem}.commit-stats strong{color:var(--color-accent);font-weight:800}.commit-stat-carry{color:var(--color-warning);font-weight:700}.commit-toolbar-actions{flex-wrap:wrap;gap:.3rem;margin-left:auto;display:flex}.commit-split{flex:1;align-items:stretch;gap:0;min-height:0;display:flex}.commit-col{border:1px solid var(--border);background:var(--color-surface);border-radius:6px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.commit-col.is-right{border-color:color-mix(in srgb, var(--color-accent) 40%, transparent);background:var(--color-surface);flex:1 1 0}.commit-split-handle{background:var(--color-border);cursor:col-resize;touch-action:none;border-radius:4px;flex:0 0 8px;margin:0 2px;position:relative}.commit-split-handle:before{content:"";background:var(--color-border-strong);border-radius:1px;width:2px;height:2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.commit-split-handle:hover,body.is-resizing-commit-split .commit-split-handle{background:color-mix(in srgb, var(--color-accent) 40%, transparent)}body.is-resizing-commit-split{cursor:col-resize;-webkit-user-select:none;user-select:none}.commit-col-head{border-bottom:1px solid var(--border);color:var(--color-text);background:var(--color-surface);flex-wrap:wrap;align-items:center;gap:.3rem .4rem;padding:.3rem .45rem;font-size:.72rem;display:flex}.commit-col-head strong{color:var(--color-text);font-size:.78rem}.commit-col-head .muted{color:var(--color-text-muted)}.commit-step{width:1rem;height:1rem;color:var(--color-accent);background:var(--color-accent-soft);border:1px solid var(--color-accent);border-radius:999px;justify-content:center;align-items:center;font-size:.62rem;font-weight:800;display:inline-flex}.commit-step.is-done{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.commit-head-action,.commit-col-head .commit-view-filter{margin-left:auto}.commit-col-head .btn:not(.commit-head-action){margin-left:0}.commit-filters{border-bottom:1px solid var(--color-border);background:var(--color-surface-secondary);flex-wrap:wrap;align-items:center;gap:.3rem;padding:.3rem .4rem;display:flex}.commit-filters-align{pointer-events:none;min-height:2.05rem}.commit-filters-align-filler{width:0;height:1.45rem;display:block}.commit-scope-filters{border:1px solid var(--color-border);border-radius:5px;flex-shrink:0;gap:.3rem;padding:.3rem .4rem}.commit-scope-filters select{min-width:7rem;max-width:12rem;height:1.55rem;font-size:.72rem}.commit-filters select,.commit-search:not(.ui-search){border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);height:1.45rem;color:var(--color-text);max-width:9rem;padding:0 .3rem;font-size:.7rem}.commit-search.ui-search{flex:7rem;min-width:6.5rem;max-width:12rem;height:1.45rem;font-size:.7rem}.commit-search{flex:7rem;min-width:6rem;max-width:none}.commit-suggested-toggle{white-space:nowrap;align-items:center;gap:.2rem;font-size:.68rem;font-weight:650;display:inline-flex}.commit-selection-bar{border-bottom:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent);background:var(--color-success-soft);flex-wrap:wrap;align-items:center;gap:.25rem;padding:.25rem .35rem;display:flex}.commit-selection-count{color:var(--color-accent);font-size:.74rem;font-weight:750}.commit-bulk-resource{border:1px solid var(--border);background:var(--color-surface);border-radius:4px;max-width:10rem;height:1.7rem;font-size:.72rem}.commit-table-wrap{flex:1;min-height:12rem;max-height:calc(100dvh - 13rem);overflow:auto}.commit-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:.74rem;line-height:1.25}.commit-table th{background:var(--color-hover);text-align:left;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted);border-bottom:1px solid var(--color-border-strong);z-index:1;white-space:nowrap;padding:.2rem .3rem;font-size:.6rem;font-weight:700;position:sticky;top:0}.commit-table td{border-bottom:1px solid var(--color-border);vertical-align:middle;color:var(--color-text);padding:.2rem .3rem}.commit-table tbody tr:hover td{background:color-mix(in srgb, var(--color-hover) 70%, transparent)}.commit-empty{text-align:center;padding:1.25rem .75rem!important}.commit-check-col{text-align:center;width:2rem;vertical-align:middle!important}.commit-sug-col{text-align:center;width:1.35rem;vertical-align:middle!important;padding-left:0!important;padding-right:0!important}.commit-task-col{width:auto;min-width:0}.commit-resp-col,.commit-assignee-cell{width:7.75rem;vertical-align:top!important;padding-top:.4rem!important}.commit-meta-col{width:8.25rem;vertical-align:top!important}.commit-meta-stack{flex-direction:column;align-items:stretch;gap:.12rem;min-width:0;display:flex}.commit-table-committed .commit-meta-stack{flex-direction:row;align-items:center;gap:.3rem}.commit-meta-stack .commit-assignee-select{width:100%;max-width:none;height:1.35rem;font-size:.68rem}.commit-table-committed .commit-meta-stack .commit-assignee-select{flex:auto;min-width:0}.commit-meta-pct{font-variant-numeric:tabular-nums;color:var(--color-text-secondary);flex:none;font-size:.68rem;font-weight:650;line-height:1.2}.commit-pct-col{text-align:right;font-variant-numeric:tabular-nums;width:2rem;color:var(--color-text-secondary);font-size:.7rem;vertical-align:middle!important;padding-top:.2rem!important}.commit-dates-col{width:5.75rem;vertical-align:middle!important;padding-top:.2rem!important}.commit-action-col{text-align:center;width:1.9rem;vertical-align:middle!important;padding-top:.15rem!important;padding-left:.15rem!important;padding-right:.2rem!important}.commit-table-committed .commit-meta-col{width:8.5rem}.commit-table-committed .commit-resp-col,.commit-table-committed .commit-assignee-cell{width:8.25rem}.commit-task-block{flex-direction:column;gap:.1rem;min-width:0;display:flex}.commit-task-title-row{align-items:flex-start;gap:.2rem;min-width:0;display:flex}.commit-task-title-row .commit-task-open{flex:auto;width:auto;min-width:0}.commit-goto-plan,.goto-plan-btn{border:1px solid var(--color-border);background:var(--color-surface-secondary);width:1.35rem;height:1.35rem;color:var(--color-text-secondary);cursor:pointer;border-radius:4px;flex:none;margin:0;padding:0;font-size:.78rem;line-height:1}.commit-goto-plan:hover,.goto-plan-btn:hover{color:var(--color-accent);border-color:color-mix(in srgb, var(--color-accent) 45%, transparent);background:var(--color-accent-soft)}.goto-plan-btn:disabled{opacity:.45;cursor:default}.kanban-card-title-row{align-items:flex-start;gap:.3rem;min-width:0;display:flex}.kanban-card-title-row .kanban-card-title{flex:auto;min-width:0}.perf-goto-col{text-align:center;width:1.6rem;padding-left:.15rem!important;padding-right:.15rem!important}.commit-task-title{flex-wrap:nowrap;align-items:baseline;gap:.35rem;min-width:0;display:flex}.commit-task-name{min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;word-break:normal;flex:auto;font-size:.74rem;font-weight:650;line-height:1.25;overflow:hidden}.commit-task-crumb{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;line-height:1.2;overflow:hidden}.commit-wbs{color:var(--color-text-muted);letter-spacing:-.01em;flex:none;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.66rem;font-weight:600}.commit-dates{color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-flow:row;align-items:baseline;gap:.15rem;font-size:.68rem;line-height:1.25;display:inline-flex}.commit-meta-stack .commit-dates{background:0 0;border:none;border-radius:0;justify-content:flex-start;width:100%;padding:0;font-size:.62rem}.commit-dates-sep{opacity:.7;display:inline}.commit-assignee-cell .commit-assignee-select{width:100%;max-width:100%;height:1.55rem}.commit-sug-dot{color:var(--color-accent);font-size:.55rem;line-height:1}.commit-board-wrap{flex-direction:column;flex:1;gap:.35rem;min-height:0;display:flex}.commit-table .btn-sm{min-width:1.65rem;padding:.15rem .4rem;font-size:.72rem}.commit-table tr.is-suggested{background:var(--color-success-soft)}.commit-table tr.is-suggested:hover td{background:color-mix(in srgb, var(--color-success-soft) 80%, var(--color-hover))}@media (width<=960px){.commit-split{flex-direction:column}.commit-col{width:100%;max-height:42vh;flex:auto!important}.commit-split-handle{display:none}.commit-table-wrap{max-height:none}.commit-dates-col{width:5.5rem}}.commit-assignee-select{border:1px solid var(--border);background:var(--color-surface);width:100%;max-width:8.5rem;height:1.7rem;color:var(--color-text);border-radius:4px;padding:0 .3rem;font-size:.72rem}.commit-assignee-select.is-missing{border-color:var(--color-warning);background:var(--color-warning-soft);color:var(--color-text)}.commit-assignee-cell{min-width:0}.kanban-card-assignee{margin:.2rem 0 .15rem}.kanban-card-assignee .commit-assignee-select{width:100%;max-width:none}.kanban-card.is-missing-owner{border-color:var(--color-warning);background:var(--color-warning-soft)}.commit-bulk-bar{display:none}.commit-table tr.is-selected{background:var(--color-info-soft)}.commit-table tr.is-carried,.commit-table tr.is-carried.is-selected{background:var(--color-warning-soft)}.commit-table tr.is-carried td{box-shadow:inset 3px 0 0 var(--color-warning)}.commit-carry-badge{letter-spacing:.01em;color:var(--color-warning);background:var(--color-surface);border:1px solid color-mix(in srgb, var(--color-warning) 45%, transparent);white-space:nowrap;border-radius:3px;align-self:flex-start;margin-top:.05rem;padding:.05rem .3rem;font-size:.62rem;font-weight:750;display:inline-flex}.commit-view-filter{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:4px;max-width:11rem;margin-left:auto;padding:.15rem .35rem;font-size:.78rem}.commit-task-open{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:0;border-radius:4px;margin:0;padding:0;display:block}.commit-task-open:hover .commit-task-name{color:var(--color-accent);text-underline-offset:.12em;text-decoration:underline}.commit-task-open:focus-visible{outline:2px solid color-mix(in srgb, var(--color-accent) 55%, transparent);outline-offset:2px}.commit-detail-modal{display:none}.cdm-backdrop{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a8c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.cdm-shell{border:1px solid var(--color-border);background:var(--color-surface);width:min(40rem,100%);max-height:min(90vh,42rem);box-shadow:0 20px 48px #0f172a3d, 0 0 0 1px color-mix(in srgb, var(--color-accent) 10%, transparent);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.cdm-header{background:radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--color-accent-soft) 90%, transparent), transparent 55%), var(--color-surface);border-bottom:1px solid var(--color-border);padding:.75rem .95rem .7rem}.cdm-header-row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.cdm-badges{flex-wrap:wrap;gap:.35rem;display:flex}.cdm-badge{letter-spacing:.02em;border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.68rem;font-weight:750;display:inline-flex}.cdm-badge.is-type{color:var(--color-on-accent,#fff);background:var(--color-accent)}.cdm-badge.is-code{color:var(--color-text-secondary);background:var(--color-surface-secondary);border:1px solid var(--color-border);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.cdm-badge.is-warn{color:var(--color-warning);background:var(--color-warning-soft);border:1px solid color-mix(in srgb, var(--color-warning) 35%, transparent)}.cdm-close{border:1px solid var(--color-border);background:var(--color-surface);width:2rem;height:2rem;color:var(--color-text-secondary);cursor:pointer;border-radius:8px;flex:none;font-size:1.25rem;line-height:1}.cdm-close:hover{background:var(--color-hover);color:var(--color-text)}.cdm-title{letter-spacing:-.02em;color:var(--color-text);word-break:break-word;margin:.45rem 0 0;font-size:clamp(1.05rem,2.2vw,1.28rem);font-weight:800;line-height:1.25}.cdm-crumbs{color:var(--color-text-muted);flex-wrap:wrap;gap:.25rem 0;margin:.65rem 0 0;padding:0;font-size:.78rem;line-height:1.4;list-style:none;display:flex}.cdm-crumbs li{display:inline}.cdm-crumbs li:not(:last-child):after{content:"›";color:var(--color-border-strong);margin:0 .4rem;font-weight:700}.cdm-crumbs li:last-child{color:var(--color-text-secondary);font-weight:650}.cdm-body{flex-direction:column;gap:.65rem;min-height:0;padding:.75rem .95rem;display:flex;overflow:auto}.cdm-metrics{grid-template-columns:1.1fr repeat(3,1fr);gap:.4rem;display:grid}.cdm-metric{border:1px solid var(--color-border);background:var(--color-surface-secondary);border-radius:10px;min-width:0;padding:.5rem .55rem}.cdm-metric-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.35rem;font-size:.65rem;font-weight:750}.cdm-metric strong{font-variant-numeric:tabular-nums;color:var(--color-text);font-size:1.15rem;font-weight:800;line-height:1.15;display:block}.cdm-metric-sub{color:var(--color-text-muted);margin-top:.25rem;font-size:.72rem}.cdm-metric-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.cdm-ring{flex:none;width:2.4rem;height:2.4rem}.cdm-ring svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}.cdm-ring-bg,.cdm-ring-fg{fill:none;stroke-width:3.2px}.cdm-ring-bg{stroke:var(--color-border)}.cdm-ring-fg{stroke:var(--color-accent);stroke-linecap:round;transition:stroke-dasharray .35s}.cdm-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;padding:.85rem .9rem}.cdm-panel-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.cdm-panel-head h3{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:.78rem;font-weight:750}.cdm-count{min-width:1.5rem;height:1.5rem;color:var(--color-accent);background:var(--color-accent-soft);border-radius:999px;justify-content:center;align-items:center;padding:0 .4rem;font-size:.72rem;font-weight:800;display:inline-flex}.cdm-select,.cdm-panel .commit-assignee-select{border:1px solid var(--color-border-strong)!important;background:var(--color-surface-secondary)!important;border-radius:8px!important;width:100%!important;max-width:none!important;height:2.35rem!important;padding:0 .65rem!important;font-size:.95rem!important}.cdm-warn{color:var(--color-warning);margin:.45rem 0 0;font-size:.78rem;font-weight:650}.cdm-load{border:1px solid var(--color-border);background:var(--color-surface-secondary);border-radius:10px;margin-top:.75rem;padding:.75rem .8rem}.cdm-load.tone-good{border-color:color-mix(in srgb, var(--color-success) 40%, transparent);background:var(--color-success-soft)}.cdm-load.tone-full{border-color:color-mix(in srgb, var(--color-warning) 40%, transparent);background:var(--color-warning-soft)}.cdm-load.tone-over{border-color:color-mix(in srgb, var(--color-danger) 40%, transparent);background:var(--color-danger-soft)}.cdm-load-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.cdm-load-top strong{color:var(--color-text);font-size:.95rem}.cdm-load-cycle{color:var(--color-text-muted);margin-top:.15rem;font-size:.72rem}.cdm-load-pct{font-variant-numeric:tabular-nums;color:var(--color-accent);font-size:1.1rem;font-weight:800}.cdm-load.tone-over .cdm-load-pct{color:var(--color-danger)}.cdm-load-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;height:.55rem;margin-top:.55rem;overflow:hidden}.cdm-load-bar>span{border-radius:inherit;background:linear-gradient(90deg, var(--color-accent), color-mix(in srgb, var(--color-accent) 70%, #22c55e));height:100%;display:block}.cdm-load.tone-good .cdm-load-bar>span{background:var(--color-success)}.cdm-load.tone-full .cdm-load-bar>span{background:var(--color-warning)}.cdm-load.tone-over .cdm-load-bar>span{background:var(--color-danger);width:100%!important}.cdm-load-foot{font-variant-numeric:tabular-nums;color:var(--color-text-secondary);flex-wrap:wrap;justify-content:space-between;gap:.35rem .85rem;margin-top:.45rem;font-size:.78rem;display:flex}.cdm-empty{border:1px dashed var(--color-border-strong);background:var(--color-surface-secondary);border-radius:10px;align-items:flex-start;gap:.75rem;padding:.85rem .9rem;display:flex}.cdm-empty-icon{background:var(--color-accent-soft);border-radius:8px;flex:none;width:2rem;height:2rem;position:relative}.cdm-empty-icon:before,.cdm-empty-icon:after{content:"";background:color-mix(in srgb, var(--color-accent) 55%, transparent);border-radius:1px;height:2px;position:absolute;left:.45rem;right:.45rem}.cdm-empty-icon:before{top:.55rem}.cdm-empty-icon:after{bottom:.55rem;left:.7rem}.cdm-empty p{color:var(--color-text-secondary);margin:0;font-size:.86rem;line-height:1.45}.cdm-tree{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.cdm-tree-card{border:1px solid var(--color-border);background:var(--color-surface-secondary);border-radius:10px;padding:.7rem .75rem}.cdm-tree-card.depth-2{background:var(--color-surface);border-style:dashed;margin-left:.85rem}.cdm-tree-top{flex-wrap:wrap;align-items:center;gap:.35rem .55rem;margin-bottom:.3rem;display:flex}.cdm-tree-type{letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent);font-size:.62rem;font-weight:800}.cdm-tree-code{color:var(--color-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem}.cdm-tree-hrs{font-variant-numeric:tabular-nums;color:var(--color-text);margin-left:auto;font-size:.78rem;font-weight:750}.cdm-tree-name{color:var(--color-text);word-break:break-word;font-size:.92rem;font-weight:700;line-height:1.35}.cdm-tree-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:.25rem .75rem;margin-top:.35rem;font-size:.72rem;display:flex}.cdm-mini-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;height:.3rem;margin-top:.45rem;overflow:hidden}.cdm-mini-bar>span{background:var(--color-accent);border-radius:inherit;height:100%;display:block}.cdm-tree .cdm-tree{margin-top:.5rem}.cdm-footer{border-top:1px solid var(--color-border);background:var(--color-surface-secondary);justify-content:flex-end;gap:.5rem;padding:.85rem 1.15rem;display:flex}.board-detail-shell{width:min(36rem,100%)}.board-detail-context{color:var(--color-accent);margin:.45rem 0 0;font-size:.78rem;font-weight:600;line-height:1.35}.board-detail-who{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:.95rem!important}.board-detail-subs{gap:.35rem;max-height:14rem;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.board-detail-sub{border:1px solid var(--color-border);background:var(--color-surface-secondary);border-radius:8px;align-items:flex-start;gap:.35rem;padding:.45rem .5rem;display:flex}.board-detail-sub.is-done{opacity:.72}.board-detail-sub-main{cursor:pointer;flex:auto;align-items:flex-start;gap:.4rem;min-width:0;display:flex}.board-detail-sub-main input{flex-shrink:0;margin-top:.15rem}.board-detail-sub-body{flex-direction:column;gap:.1rem;min-width:0;display:flex}.board-detail-sub-name{color:var(--color-text);font-size:.86rem;font-weight:650;line-height:1.3}.board-detail-sub.is-done .board-detail-sub-name{color:var(--color-text-muted);text-decoration:line-through}.board-detail-sub-meta{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.7rem}.board-detail-sub-actions{flex-shrink:0;gap:.2rem;display:flex}.board-detail-sub-del{width:1.35rem;height:1.35rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;font-size:1rem;line-height:1}.board-detail-sub-del:hover{color:var(--color-danger,#b91c1c);background:color-mix(in srgb, var(--color-danger,#b91c1c) 10%, transparent)}.board-detail-add{gap:.35rem;margin-top:.55rem;display:flex}.board-detail-add input{min-width:0;height:1.7rem;font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:5px;flex:auto;padding:0 .45rem;font-size:.8rem}.board-detail-add-start{margin-top:.55rem}@media (width<=720px){.cdm-metrics{grid-template-columns:1fr 1fr}.cdm-metric.is-progress{grid-column:1/-1}}@media (width<=480px){.cdm-metrics{grid-template-columns:1fr}}.commit-modal-backdrop{z-index:80;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.commit-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;width:min(36rem,100%);max-height:min(80vh,36rem);display:flex;box-shadow:0 12px 40px #0f172a33}.commit-modal-head{border-bottom:1px solid var(--color-border);padding:.85rem 1rem .5rem}.commit-modal-head h3{margin:0 0 .35rem;font-size:1rem}.commit-modal-head p{margin:0;font-size:.8rem;line-height:1.35}.commit-modal-body{min-height:0;padding:.5rem .75rem;overflow:auto}.commit-modal-foot{border-top:1px solid var(--color-border);justify-content:flex-end;gap:.5rem;padding:.65rem 1rem;display:flex}.commit-table tr.is-suggested.is-selected{background:var(--color-accent-soft)}.kanban-card-context{color:var(--color-accent);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.74rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.kanban-no-owner{color:var(--color-warning);font-weight:600}.kanban-owner-warn{color:var(--color-warning);margin:0;font-size:.72rem;font-weight:700}.perf-page{padding-bottom:1.25rem;display:block}.perf-page>*+*{margin-top:.4rem}.perf-page.is-embedded{padding:.15rem 0 1.25rem}.perf-page.is-embedded .perf-chrome{padding-top:0}.perf-page.is-embedded h1{font-size:.98rem}.perf-chrome{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.35rem .65rem;padding:.25rem 0 .4rem;display:flex}.perf-chrome-title{flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;display:flex}.perf-chrome-title h1{letter-spacing:-.02em;color:var(--color-text);margin:0;font-size:1.05rem;font-weight:750}.perf-range-label{color:var(--color-text-muted);max-width:min(36rem,100%);font-size:.78rem;font-weight:600;line-height:1.25}.perf-back{color:var(--color-accent);font-size:.75rem;font-weight:600;text-decoration:none}.perf-back:hover{text-decoration:underline}.perf-chrome-filters{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.perf-period-chips{flex-wrap:wrap;gap:.18rem;display:flex}.perf-chip{border:1px solid var(--border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;border-radius:4px;padding:.22rem .4rem;font-size:.68rem;font-weight:650;line-height:1.15}.perf-chip:hover{border-color:color-mix(in srgb, var(--color-accent) 40%, transparent);background:var(--color-accent-soft)}.perf-chip.is-active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.perf-custom-range{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.perf-custom-range label{color:var(--color-text-muted);align-items:center;gap:.25rem;font-size:.7rem;font-weight:600;display:flex}.perf-custom-range input[type=date]{border:1px solid var(--border);border-radius:4px;height:1.55rem;padding:0 .3rem;font-size:.72rem}.perf-loading{padding:.35rem 0;font-size:.85rem}.perf-refreshing{margin:0;padding:.15rem 0;font-size:.72rem}.perf-kpi-strip{flex-wrap:wrap;align-items:stretch;gap:.45rem;display:flex}.perf-kpi-group{flex-wrap:wrap;align-items:stretch;gap:.28rem;display:flex}.perf-kpi-group+.perf-kpi-group{border-left:1px solid var(--color-border);padding-left:.55rem}#perf-task-inventory{border-color:var(--color-accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-accent) 40%, transparent);min-height:14rem;display:block}#perf-task-inventory .perf-panel-head{background:var(--color-accent-soft)}#perf-task-inventory .perf-table-wrap-inventory{min-height:10rem;max-height:20rem;display:block;overflow:auto}.perf-kpi{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-secondary);cursor:pointer;min-width:5.25rem;font:inherit;text-align:left;color:inherit;flex-direction:column;align-items:flex-start;padding:.28rem .45rem;display:flex}div.perf-kpi{cursor:default}.perf-kpi:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.perf-kpi.is-result{border-color:var(--color-success);background:var(--color-success-soft)}.perf-kpi.is-result .perf-kpi-value{color:var(--color-success)}.perf-kpi.is-commit{border-color:color-mix(in srgb, var(--color-info) 45%, transparent);background:linear-gradient(180deg, var(--color-info-soft) 0%, var(--color-surface) 100%)}.perf-kpi.is-commit .perf-kpi-value{color:var(--color-info)}.perf-kpi.is-missed{border-color:color-mix(in srgb, var(--color-warning) 45%, transparent);background:linear-gradient(180deg, var(--color-warning-soft) 0%, var(--color-surface) 100%)}.perf-kpi.is-missed .perf-kpi-value{color:var(--color-warning)}.perf-kpi.is-quality-ok{border-color:color-mix(in srgb, var(--color-success) 45%, transparent);background:var(--color-success-soft)}.perf-kpi.is-quality-ok .perf-kpi-value{color:var(--color-success)}.perf-kpi.is-quality-bad{border-color:color-mix(in srgb, var(--color-danger) 45%, transparent);background:var(--color-danger-soft)}.perf-kpi.is-quality-bad .perf-kpi-value{color:var(--color-danger)}.perf-kpi.is-quality-rework{border-color:color-mix(in srgb, var(--color-warning) 45%, transparent);background:var(--color-warning-soft)}.perf-kpi.is-quality-rework .perf-kpi-value{color:var(--color-warning)}.client-reception-board-note{color:var(--color-warning);margin:.35rem 0 0;font-size:.72rem;font-weight:600}.perf-kpi-sub{color:var(--color-warning);font-size:.72em;font-weight:700}.perf-kpi.is-active{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);background:var(--color-accent-soft)}.perf-kpi.is-result.is-active{border-color:var(--color-success);box-shadow:inset 0 0 0 1px var(--color-success);background:#d1fae5}.perf-clear-kpi{font:inherit;color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.perf-kpi-value{color:var(--color-accent);font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:750;line-height:1.1}.perf-kpi-label{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);margin-top:.05rem;font-size:.58rem;font-weight:700}.perf-kpi-hint{color:var(--color-text-muted);text-transform:none;letter-spacing:0;font-size:.58rem;font-weight:500}.perf-hint{border-left:3px solid var(--color-accent);background:var(--color-accent-soft);color:var(--color-text);border-radius:0 4px 4px 0;margin:0;padding:.3rem .45rem;font-size:.75rem;line-height:1.3}.perf-grid{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}@media (width<=960px){.perf-grid{grid-template-columns:1fr}}.perf-panel{border:1px solid var(--border);background:var(--color-surface);border-radius:4px;min-width:0;overflow:hidden}.perf-panel-hero{width:100%;overflow:visible}.perf-panel-head{border-bottom:1px solid var(--border);background:var(--color-surface-secondary);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.2rem .5rem;padding:.3rem .45rem;display:flex}.perf-panel-head h2{color:var(--color-text);margin:0;font-size:.8rem;font-weight:750}.perf-panel-head .muted{color:var(--color-text-muted);font-size:.68rem}.perf-chart-box{align-items:center;min-height:180px;padding:.5rem .65rem .65rem;display:flex}.perf-panel-hero .perf-panel-head{flex-direction:column;align-items:flex-start;gap:.15rem}.perf-panel-hero .perf-panel-head .muted{max-width:100%;font-size:.72rem}.perf-rank-list{flex-direction:column;gap:.45rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.perf-rank-row{grid-template-columns:minmax(9.5rem,42%) minmax(0,1fr) 1.75rem;align-items:center;gap:.45rem .55rem;min-height:2rem;display:grid}.perf-rank-label{color:var(--color-text);-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;font-size:.78rem;font-weight:650;line-height:1.25;display:-webkit-box;overflow:hidden}.perf-rank-track{background:var(--color-hover);border-radius:3px;min-width:0;height:1rem;overflow:hidden}.perf-rank-fill{border-radius:3px;min-width:0;height:100%}.perf-rank-value{color:var(--color-accent);font-variant-numeric:tabular-nums;text-align:right;font-size:.82rem;font-weight:750}.perf-bars{width:100%;display:block}.perf-bar-label{fill:var(--color-text);font-size:12px;font-weight:600}.perf-bar-value{fill:var(--color-accent);font-size:12px;font-weight:750}.perf-empty{margin:0;padding:1.25rem .65rem;font-size:.8rem}.perf-table-wrap{max-height:14rem;overflow:auto}.perf-table-wrap-tall{max-height:12rem}.perf-status-pill{white-space:nowrap;border-radius:3px;padding:.1rem .32rem;font-size:.62rem;font-weight:750;line-height:1.15;display:inline-block}.perf-status-pill.is-en_proceso{background:var(--color-accent-soft);color:var(--color-accent);border:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent)}.perf-status-pill.is-en_pruebas{background:var(--color-warning-soft);color:var(--color-warning);border:1px solid color-mix(in srgb, var(--color-warning) 40%, transparent)}.perf-status-pill.is-listas{background:var(--color-success-soft);color:var(--color-success);border:1px solid color-mix(in srgb, var(--color-success) 40%, transparent)}.perf-status-pill.is-por_hacer{background:var(--color-hover);color:var(--color-text-secondary);border:1px solid var(--color-border-strong)}.perf-task-name{text-overflow:ellipsis;white-space:nowrap;max-width:18rem;overflow:hidden}.perf-task-note{color:var(--color-text-muted);white-space:nowrap;font-size:.68rem}.perf-table{border-collapse:collapse;width:100%;font-size:.74rem}.perf-table th,.perf-table td{border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap;padding:.16rem .35rem}.perf-table th{background:var(--color-hover);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);z-index:1;font-size:.6rem;font-weight:750;position:sticky;top:0}.perf-table .num{text-align:right;font-variant-numeric:tabular-nums}.perf-table .is-done{color:var(--color-success);font-weight:750}.perf-table .is-ready{color:var(--color-accent);font-weight:700}.perf-table tbody tr:hover{background:var(--color-accent-soft)}.perf-table tbody tr[role=button]{cursor:pointer}.perf-table tbody tr.is-selected{background:var(--color-accent-soft)}.perf-table tbody tr.is-selected:hover{background:color-mix(in srgb, var(--color-accent) 40%, transparent)}.perf-person-filter{color:var(--color-text-secondary);align-items:center;gap:.3rem;font-size:.72rem;font-weight:650;display:flex}.perf-person-filter select{border:1px solid var(--border);background:var(--color-surface);min-width:9rem;max-width:16rem;height:1.65rem;color:var(--color-text);border-radius:4px;padding:0 .35rem;font-size:.74rem;font-weight:650}.perf-person-badge{color:var(--color-accent);background:var(--color-accent-soft);border:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent);border-radius:4px;padding:.1rem .4rem;font-size:.7rem;font-weight:750}.perf-proj-name,.perf-prod-name{text-overflow:ellipsis;max-width:12rem;overflow:hidden}.perf-table a{color:var(--color-accent);font-weight:650;text-decoration:none}.perf-table a:hover{text-decoration:underline}.perf-hist-wrap{padding:.35rem .55rem .65rem}.perf-hist-legend{color:var(--color-text);flex-wrap:wrap;gap:.3rem .45rem;margin:0 0 .55rem;padding:0;font-size:.78rem;list-style:none;display:flex}.perf-hist-legend li{border:1px solid var(--color-border);background:var(--color-surface);border-radius:4px;align-items:center;gap:.28rem;padding:.15rem .45rem;display:flex}.perf-hist-legend-name{font-weight:600}.perf-hist-legend strong{color:var(--color-accent);font-variant-numeric:tabular-nums}.perf-hist-swatch{border-radius:2px;flex-shrink:0;width:.7rem;height:.7rem}.perf-hist-swatch.is-inline{vertical-align:middle;margin-right:.2rem;display:inline-block}.perf-histo{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-secondary);box-sizing:border-box;flex-direction:column;gap:.2rem;width:100%;padding:.5rem .55rem .4rem;display:flex}.perf-histo-row{grid-template-columns:2.75rem minmax(0,1fr);align-items:stretch;gap:.4rem;display:grid}.perf-histo-corner{color:var(--color-text-muted);justify-content:flex-end;align-items:center;font-size:.68rem;font-weight:700;display:flex}.perf-histo-cells{justify-content:space-evenly;gap:.45rem;min-width:0;display:flex;overflow-x:auto}.perf-histo-cell-total,.perf-histo-x-label,.perf-histo-week{flex:1 1 0;min-width:4.75rem;max-width:9rem}.perf-histo-cell-total{text-align:center;color:var(--color-accent);font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:750;line-height:1.4}.perf-histo-body{flex-shrink:0;grid-template-columns:2.75rem minmax(0,1fr);gap:.4rem;height:300px;min-height:300px;display:grid}.perf-histo-y{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:.15rem 0;font-size:.82rem;font-weight:750;line-height:1;display:flex}.perf-histo-plot{box-sizing:border-box;border-bottom:1.5px solid #64748b;border-left:1.5px solid #64748b;min-width:0;height:100%;position:relative}.perf-histo-grid{pointer-events:none;position:absolute;inset:0}.perf-histo-grid-line{border-top:1px dashed var(--color-border);position:absolute;left:0;right:0}.perf-histo-weeks{z-index:1;box-sizing:border-box;justify-content:space-evenly;align-items:stretch;gap:.45rem;height:100%;min-height:0;padding:.2rem 0 0;display:flex;position:relative;overflow-x:auto}.perf-histo-lines{z-index:3;pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.perf-histo-week{flex-direction:column;align-items:center;height:100%;min-height:0;display:flex}.perf-histo-bars{background:#f1f5f9b3;border-radius:4px 4px 0 0;flex:auto;justify-content:center;align-items:flex-end;gap:4px;width:100%;min-height:0;padding:.2rem 4px 0;display:flex}.perf-histo-bar-wrap{flex-direction:column;flex:1 1 0;justify-content:flex-end;align-items:center;max-width:1.6rem;height:100%;display:flex}.perf-histo-bar{opacity:.72;border-radius:3px 3px 1px 1px;width:100%;min-height:0}.perf-histo-bar-val{color:var(--color-text);font-variant-numeric:tabular-nums;flex:none;margin-bottom:2px;font-size:.74rem;font-weight:750;line-height:1}.perf-histo-x-label{text-align:center;color:var(--color-text);white-space:nowrap;padding-top:.15rem;font-size:.84rem;font-weight:750;display:block}.perf-histo-caption{margin:.4rem 0 .5rem;font-size:.74rem}.perf-hist-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:11rem;margin:0}.bono-page{flex-direction:column;gap:.55rem;padding:0 0 1.25rem;display:flex}.bono-chrome,.bono-chrome-compact{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.45rem .85rem;display:flex}.bono-chrome-title h1{margin:0;font-size:1.2rem}.bono-chrome-sub{margin:.1rem 0 0;font-size:.78rem}.bono-tabs{margin:0}.bono-loading,.bono-empty{margin:.35rem 0;font-size:.88rem}.bono-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.7rem .8rem}.bono-card-compact{padding:.55rem .7rem}.bono-card+.bono-card,.bono-config>.bono-card+.bono-card{margin-top:.5rem}.bono-card h2{margin:0 0 .35rem;font-size:.95rem}.bono-card h3{margin:0 0 .25rem;font-size:.85rem}.bono-toolbar{flex-wrap:wrap;align-items:center;gap:.4rem .65rem;margin-bottom:.45rem;display:flex}.bono-month-nav{align-items:center;gap:.35rem;font-size:.9rem;display:flex}.bono-inline-field{color:var(--color-text-secondary);align-items:center;gap:.35rem;font-size:.8rem;font-weight:650;display:inline-flex}.bono-inline-field select,.bono-inline-field input{font:inherit;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);max-width:14rem;color:var(--color-text);padding:.22rem .4rem;font-weight:500}.bono-note-inline{width:100%;margin-bottom:.4rem}.bono-note-inline input{flex:1;max-width:none}.bono-meta-chip{color:var(--color-text-secondary);font-size:.78rem;font-weight:650}.bono-hint{margin:0 0 .4rem;font-size:.8rem}.bono-status-row,.bono-status-tight{flex-wrap:wrap;align-items:center;gap:.3rem .55rem;margin-bottom:.4rem;display:flex}.bono-pill{background:var(--color-hover);color:var(--color-text-secondary);border-radius:999px;align-items:center;padding:.1rem .45rem;font-size:.72rem;font-weight:700;display:inline-flex}.bono-pill.is-soft{background:var(--color-info-soft);color:#075985}.bono-pill.is-warn{background:var(--color-warning-soft);color:#9a3412}.bono-pill.is-ok{background:var(--color-success-soft);color:#166534}.bono-pill.is-danger{background:var(--color-danger-soft);color:#991b1b}.bono-error{background:var(--color-danger-soft);color:#991b1b;border-radius:5px;margin:.35rem 0;padding:.4rem .55rem;font-size:.82rem;font-weight:600}.bono-message{background:var(--color-success-soft);color:#065f46;border-radius:5px;margin:.35rem 0;padding:.4rem .55rem;font-size:.82rem;font-weight:600}.bono-message-tight{margin:.25rem 0 .4rem}.bono-risk-inline{color:#7c2d12;margin-top:.45rem;font-size:.8rem;line-height:1.35}.bono-actions{flex-wrap:wrap;gap:.35rem;display:flex}.bono-actions-inline{margin-left:auto}.bono-salary-input{font:inherit;border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);border-radius:5px;width:6.75rem;min-width:6rem;padding:.28rem .4rem;font-weight:500}.bono-table td .bono-salary-input{display:block}.bono-table-wrap{overflow-x:auto}.bono-table{border-collapse:collapse;width:100%;font-size:.84rem}.bono-table-dense{font-size:.8rem}.bono-table th,.bono-table td{text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:.28rem .4rem}.bono-table-dense th,.bono-table-dense td{padding:.22rem .35rem}.bono-table th{text-transform:uppercase;letter-spacing:.02em;color:var(--color-text-muted);font-size:.7rem}.bono-table tbody tr{cursor:pointer}.bono-table tbody tr:hover,.bono-table tbody tr.is-selected{background:var(--color-hover)}.bono-kpi-strip,.bono-kpi-dense{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:stretch;gap:.15rem 0;margin:.35rem 0 .45rem;padding:.2rem 0;display:flex}.bono-kpi{border:0;border-right:1px solid var(--color-border);background:0 0;border-radius:0;min-width:0;padding:.15rem .75rem}.bono-kpi:first-child{padding-left:0}.bono-kpi:last-child{border-right:0}.bono-kpi.is-ok{border-color:var(--color-border);background:0 0;box-shadow:inset 0 -2px #86efac}.bono-kpi.is-zero{box-shadow:inset 0 -2px #fecaca}.bono-kpi.is-total{font-weight:700}.bono-kpi-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:.65rem;font-weight:700}.bono-kpi-value{color:var(--color-text);font-variant-numeric:tabular-nums;text-overflow:ellipsis;margin-top:.05rem;font-size:.92rem;font-weight:800;overflow:hidden}.bono-kpi-hint{color:var(--color-text-muted);margin-top:.05rem;font-size:.68rem}.bono-facts{flex-wrap:wrap;gap:.25rem .85rem;margin-bottom:.25rem;font-size:.8rem;display:flex}.bono-reason{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .35rem;font-size:.78rem;line-height:1.35;display:-webkit-box;overflow:hidden}.bono-formula-banner{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-accent,#2563eb) 8%, var(--color-surface));border-radius:6px;margin:0 0 .55rem;padding:.45rem .6rem;font-size:.8rem;line-height:1.35}.bono-facts-pool{margin-bottom:.35rem}.bono-receipt{margin:.35rem 0 .55rem}.bono-receipt-formula{margin:0 0 .35rem;font-size:.78rem}.bono-receipt-table{border-collapse:collapse;width:100%;font-size:.82rem}.bono-receipt-table th,.bono-receipt-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.35rem .4rem}.bono-receipt-table th.is-num,.bono-receipt-table td.is-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bono-receipt-detail{color:var(--color-text-muted);font-size:.76rem}.bono-receipt-table tr.is-credit td.is-num{color:#15803d;font-weight:650}.bono-receipt-table tr.is-debit td.is-num{color:#b42318;font-weight:650}.bono-receipt-table tfoot td{border-bottom:none;padding-top:.5rem;font-weight:700}.bono-receipt-grand td{font-size:.92rem}.bono-goals-toggle{margin-bottom:.35rem}.bono-goals-text,.bono-goals-compact{white-space:pre-wrap;color:var(--color-text-secondary);background:var(--color-surface-secondary);border:1px dashed var(--color-border);border-radius:5px;margin:0 0 .45rem;padding:.4rem .5rem;font-family:inherit;font-size:.78rem;line-height:1.35}.bono-team-block{border-top:1px solid var(--color-border);margin-top:.35rem;padding-top:.4rem}.bono-team-head{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);margin-bottom:.25rem;font-size:.75rem;font-weight:750}.bono-config .bono-hint{margin-bottom:.35rem}.bono-rules-row{flex-wrap:wrap;align-items:end;gap:.35rem .5rem;margin-bottom:.4rem;display:flex}.bono-rules-row label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em;flex-direction:column;gap:.12rem;font-size:.7rem;font-weight:700;display:flex}.bono-rules-row input{width:5.5rem;font:inherit;border:1px solid var(--color-border-strong);color:var(--color-text);border-radius:5px;padding:.22rem .35rem;font-size:.85rem;font-weight:600}.bono-goals-inline{box-sizing:border-box;width:100%;font:inherit;border:1px solid var(--color-border-strong);resize:vertical;border-radius:5px;min-height:3.2rem;margin:0 0 .4rem;padding:.35rem .45rem;font-size:.8rem}.bono-table-auto{width:auto;max-width:100%}.bono-table-auto th,.bono-table-auto td{padding-right:.75rem}.bono-config-compact .bono-salary-input{width:5.75rem;min-width:5rem;padding:.18rem .3rem;font-size:.8rem}.board-reason-dialog h2{margin:0 0 .35rem;font-size:1.05rem}.board-reason-task{color:var(--text);margin:0 0 .35rem;font-weight:600}.board-reason-hint{margin:0 0 .75rem;font-size:.85rem}.board-reason-options{gap:.4rem;margin-bottom:.75rem;display:grid}.board-reason-btn{text-align:left;justify-content:flex-start}.board-reason-actions{justify-content:flex-end;display:flex}.client-reception-compact{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, #e2e8f0);gap:.35rem;padding:.4rem .65rem .5rem;display:grid}.client-reception-head{flex-wrap:wrap;align-items:center;gap:.4rem .65rem;font-size:.82rem;display:flex}.client-reception-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:18rem;overflow:hidden}.client-reception-pill{background:var(--color-border);color:var(--color-text-secondary);border-radius:4px;padding:.1rem .4rem;font-size:.72rem;font-weight:600}.client-reception-pill.status-accepted{background:var(--color-success-soft);color:#166534}.client-reception-pill.status-rejected{background:var(--color-danger-soft);color:#991b1b}.client-reception-pill.status-delivered{background:var(--color-info-soft);color:#075985}.client-reception-statuses,.client-reception-row{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.client-reception-field{color:var(--text-muted);align-items:center;gap:.3rem;font-size:.78rem;display:inline-flex}.client-reception-field input{font:inherit;border:1px solid var(--color-border-strong);min-width:9rem;color:var(--text);border-radius:5px;padding:.18rem .35rem;font-size:.8rem}.client-reception-files{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.client-reception-files li{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.78rem;display:flex}.client-reception-hint{margin:0;font-size:.78rem}.client-reception-stamp{font-size:.75rem}.client-reception-reason{width:min(100%,28rem)}.client-reception-reason input{flex:1;min-width:10rem}.client-reception-rework-note{color:#991b1b;margin:0;font-size:.78rem}.bono-rework-open-warn{color:#9a3412;background:var(--color-warning-soft);border-radius:5px;margin:0 0 .35rem;padding:.3rem .45rem;font-size:.78rem}.wbs-reception-chip{vertical-align:middle;white-space:nowrap;background:var(--color-hover);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:4px;margin-left:.35rem;padding:.05rem .35rem;font-size:.65rem;font-weight:600;display:inline-block}.wbs-reception-chip.status-accepted{background:var(--color-success-soft);color:var(--color-success);border-color:color-mix(in srgb, var(--color-success) 35%, transparent)}.wbs-reception-chip.status-rejected{background:var(--color-danger-soft);color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 35%, transparent)}.wbs-reception-chip.status-delivered{background:var(--color-info-soft);color:var(--color-info);border-color:color-mix(in srgb, var(--color-info) 35%, transparent)}.wbs-reception-chip.status-pending{background:var(--color-hover);color:var(--color-text);border-color:var(--color-border-strong)}[data-theme=dark] .wbs-reception-chip.status-pending{color:#f8fafc;background:#334155}.client-reception-paths{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.client-reception-paper{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-secondary);gap:.35rem;padding:.4rem .45rem;display:grid}.client-validation-dialog .ui-modal-header h3,.client-validation-dialog h2{margin:0 0 .35rem;font-size:1.05rem}.client-validation-sub{margin:0 0 .75rem;font-size:.85rem}.client-validation-meta{grid-template-columns:7.5rem 1fr;gap:.25rem .5rem;margin:0 0 .75rem;font-size:.88rem;display:grid}.client-validation-meta dt{color:var(--text-muted);margin:0}.client-validation-meta dd{margin:0}.client-validation-field{color:var(--text-muted);gap:.25rem;margin-bottom:.65rem;font-size:.85rem;display:grid}.client-validation-field input{font:inherit;border:1px solid var(--color-border-strong);color:var(--text);border-radius:5px;padding:.35rem .45rem;font-size:.9rem}.client-validation-note{margin:0 0 .75rem;font-size:.82rem}.validation-page{box-sizing:border-box;flex-direction:column;gap:.4rem;height:100%;min-height:0;padding:.4rem .55rem .55rem;display:flex}.validation-page-head{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;min-width:0;display:flex}.validation-page-head h2{letter-spacing:-.01em;align-items:baseline;gap:.4rem;min-width:0;margin:0;font-size:.92rem;font-weight:700;display:flex}.validation-count{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:600}.validation-project-chip{text-overflow:ellipsis;white-space:nowrap;max-width:42%;color:var(--color-text-secondary);background:var(--color-hover);border:1px solid var(--color-border);border-radius:4px;margin:0;padding:.15rem .4rem;font-size:.72rem;font-weight:600;overflow:hidden}.validation-mode-toggle{border:1px solid var(--color-border);background:var(--color-surface);border-radius:5px;flex-shrink:0;margin-left:auto;display:inline-flex;overflow:hidden}.validation-mode-toggle button{border:0;border-right:1px solid var(--color-border);color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;align-items:center;gap:.3rem;margin:0;padding:.2rem .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.validation-mode-toggle button:last-child{border-right:0}.validation-mode-toggle button:hover{background:var(--color-hover);color:var(--color-text)}.validation-mode-toggle button.is-active{background:var(--color-accent-soft);color:var(--color-accent)}.validation-mode-toggle .muted{font-variant-numeric:tabular-nums;color:var(--color-text-muted);font-weight:600}.validation-mode-toggle button.is-active .muted{color:var(--color-accent)}.validation-filters{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-secondary);flex-wrap:nowrap;align-items:center;gap:.35rem .5rem;min-width:0;padding:.3rem .4rem;display:flex}.validation-filter{min-width:0;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em;flex:0 9.5rem;align-items:center;gap:.3rem;font-size:.68rem;font-weight:700;display:flex}.validation-filter select{font:inherit;text-transform:none;letter-spacing:0;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-sizing:border-box;width:100%;min-width:0;padding:.22rem .35rem;font-size:.78rem;font-weight:500}.validation-filter input[type=date]{font:inherit;text-transform:none;letter-spacing:0;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-sizing:border-box;width:100%;min-width:0;padding:.18rem .3rem;font-size:.78rem;font-weight:500}.validation-filter-search{flex:12rem;max-width:none}.validation-filter-search .ui-search{width:100%;max-width:none;min-height:var(--control-sm)}.validation-filter select:disabled{background:var(--color-hover);color:var(--color-text-secondary);cursor:default}.validation-filter-empty{margin:0;padding:.5rem .55rem;font-size:.78rem}.validation-layout{grid-template-columns:minmax(12rem, var(--validation-split,50%)) .35rem minmax(12rem, 1fr);flex:1;gap:0;min-height:0;display:grid}.validation-split{z-index:2;cursor:col-resize;touch-action:none;background:0 0;border:0;align-self:stretch;width:.35rem;margin:0 -.05rem;position:relative}.validation-split:before{content:"";background:var(--color-border);border-radius:2px;transition:background .12s;position:absolute;inset:.35rem .1rem}.validation-split:hover:before,.validation-split:focus-visible:before,body.validation-split-dragging .validation-split:before{background:var(--color-accent)}.validation-split:focus-visible{outline:none}body.validation-split-dragging{cursor:col-resize;-webkit-user-select:none;user-select:none}body.validation-split-dragging iframe{pointer-events:none}.validation-list{border:1px solid var(--color-border);background:var(--color-surface);border-right:0;border-radius:6px 0 0 6px;min-width:0;min-height:0;overflow:auto}.validation-list-title{z-index:2;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);background:var(--color-surface-secondary);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:.35rem;padding:.28rem .45rem;font-size:.68rem;font-weight:700;display:flex;position:sticky;top:0}.validation-product-group{border-bottom:1px solid var(--color-border)}.validation-product-group:last-child{border-bottom:0}.validation-product-head{z-index:1;background:color-mix(in srgb, var(--color-accent-soft) 55%, var(--color-surface));border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:.35rem;padding:.35rem .45rem .25rem;display:flex;position:sticky;top:1.7rem}.validation-product-head strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:750;overflow:hidden}.validation-product-head .muted{font-variant-numeric:tabular-nums;font-size:.68rem}.validation-list ul{margin:0;padding:.15rem;list-style:none}.validation-list-item{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:0;border-radius:4px;grid-template-columns:3.6rem minmax(0,1fr) auto;align-items:start;gap:.35rem;min-height:1.65rem;padding:.35rem;display:grid}.validation-list-item:hover{background:var(--color-hover)}.validation-list-item.is-selected{background:var(--color-info-soft);box-shadow:inset 2px 0 0 var(--color-accent)}.validation-list-code{color:var(--color-text-muted);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;padding-top:.12rem;font-size:.68rem;overflow:hidden}.validation-list-main{flex-direction:column;gap:.08rem;min-width:0;display:flex}.validation-list-name{-webkit-line-clamp:2;color:var(--color-text);-webkit-box-orient:vertical;font-size:.78rem;font-weight:650;line-height:1.25;display:-webkit-box;overflow:hidden}.validation-list-type{letter-spacing:.02em;text-transform:uppercase;color:var(--color-accent);font-size:.62rem;font-weight:700}.validation-list-meta{color:var(--color-text-muted);font-size:.66rem;line-height:1.3}.validation-list-item .client-reception-pill{white-space:nowrap;margin-top:.1rem;padding:.05rem .3rem;font-size:.62rem}.validation-detail{border:1px solid var(--color-border);background:var(--color-surface);border-left:0;border-radius:0 6px 6px 0;align-content:start;gap:.4rem;min-width:0;min-height:0;padding:.4rem .5rem .55rem;display:grid;overflow:auto}.validation-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.35rem .75rem;display:flex}.validation-detail-title{flex:12rem;min-width:0}.validation-detail-code{color:var(--color-text-muted);font-size:.7rem;font-weight:600}.validation-detail-head h3{color:var(--color-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.05rem 0 0;font-size:.95rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.validation-detail-facts{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:.45rem .65rem;font-size:.75rem;display:flex}.validation-detail-facts em{color:var(--color-text-muted);font-style:normal;font-weight:600}.validation-detail-facts strong{color:var(--color-text);font-variant-numeric:tabular-nums}.validation-crumb{border:1px solid var(--color-border);background:var(--color-surface-secondary);color:var(--color-text-secondary);border-radius:4px;flex-wrap:wrap;align-items:center;gap:.25rem .35rem;min-width:0;margin:0;padding:.28rem .4rem;font-size:.74rem;font-weight:600;display:flex}.validation-crumb>span:not([aria-hidden]){text-overflow:ellipsis;white-space:nowrap;max-width:14rem;overflow:hidden}.validation-crumb>span[aria-hidden]{color:var(--color-text-muted);font-weight:500}.validation-detail-empty{margin:.5rem 0;font-size:.8rem}.validation-activities{border:1px solid var(--color-border);background:var(--color-surface-secondary);border-radius:4px;padding:.28rem .4rem}.validation-activities-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.2rem;font-size:.68rem;font-weight:700}.validation-activity-list{gap:.05rem;margin:0;padding:0;list-style:none;display:grid}.validation-activity-list li{display:block}.validation-activity-block{border-bottom:1px solid #e8eef5;padding:.05rem 0}.validation-activity-block:last-child{border-bottom:0}.validation-activity-row{grid-template-columns:1.15rem 3.2rem minmax(0,1fr) 2.2rem 1.4rem;align-items:center;gap:.25rem;font-size:.76rem;display:grid}.validation-task-list li{color:var(--color-text-secondary);grid-template-columns:3.2rem minmax(0,1fr) 2.2rem 1.4rem;align-items:center;gap:.25rem;font-size:.76rem;display:grid}.validation-task-list{gap:.05rem;margin:.08rem 0 .15rem 1.15rem;padding:0;list-style:none;display:grid}.validation-expand{border:1px solid var(--color-border-strong);background:var(--color-surface);width:1.15rem;height:1.15rem;font:inherit;cursor:pointer;color:var(--color-text);border-radius:3px;padding:0;font-size:.72rem;font-weight:700;line-height:1}.validation-expand.is-spacer{cursor:default;background:0 0;border:0}.validation-activity-code{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.7rem}.validation-activity-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.validation-activity-pct{text-align:right;font-variant-numeric:tabular-nums;color:var(--color-accent);font-size:.72rem;font-weight:700}.validation-detail .client-reception-compact{border:1px solid var(--color-border);background:var(--color-surface-secondary);border-radius:4px;padding:.35rem .45rem}.validation-detail .client-reception-head{gap:.3rem .5rem;font-size:.78rem}.validation-detail .client-reception-paths{gap:.3rem}.validation-detail .client-reception-hint,.validation-detail .client-reception-rework-note{margin:.15rem 0 0;font-size:.72rem}@media (width<=900px){.validation-filters{flex-wrap:wrap}.validation-layout{grid-template-rows:minmax(10rem,38vh) minmax(12rem,1fr);grid-template-columns:1fr}.validation-split{display:none}.validation-list{border-bottom:0;border-right:1px solid #e2e8f0;border-radius:6px 6px 0 0;max-height:none}.validation-detail{border-top:0;border-left:1px solid #e2e8f0;border-radius:0 0 6px 6px}.validation-project-chip{max-width:55%}}.client-reception-error{margin:.15rem 0 0}.plan-suggest-modal{width:min(36rem,96vw);max-height:min(88vh,40rem)}.plan-suggest-body{gap:.55rem;display:grid}.plan-suggest-api-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.plan-suggest-source{font-size:.75rem}.plan-suggest-api{border:1px solid var(--color-border);background:var(--color-surface-muted,var(--color-hover));border-radius:6px;gap:.4rem;padding:.5rem;display:grid}.plan-suggest-api label{color:var(--text-muted);gap:.15rem;font-size:.75rem;font-weight:600;display:grid}.plan-suggest-api input{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:4px;padding:.3rem .45rem;font-weight:400}.plan-suggest-summary{margin:0;font-size:.85rem}.plan-suggest-summary-block{border:1px solid var(--color-border);background:var(--color-surface-muted,var(--color-hover));border-radius:6px;gap:.25rem;padding:.45rem .5rem;display:grid}.plan-suggest-summary-block strong{text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);font-size:.75rem}.plan-suggest-location{color:var(--text-muted);margin:0;font-size:.74rem;line-height:1.35}.plan-suggest-list{gap:.35rem;max-height:18rem;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.plan-suggest-item{border:1px solid var(--color-border);cursor:pointer;background:var(--color-surface);z-index:1;border-radius:6px;align-items:flex-start;gap:.45rem;padding:.4rem .45rem;font-size:.8rem;display:flex;position:relative}.plan-suggest-item:hover{background:var(--color-hover)}.plan-suggest-kind{font-weight:500}.plan-suggest-why{color:var(--text-muted);margin-top:.15rem;font-size:.74rem;display:block}.plan-suggest-kids{color:var(--color-text-secondary);background:var(--color-surface-secondary);border:1px solid var(--color-border);white-space:pre-wrap;border-radius:4px;max-height:7.5rem;margin-top:.25rem;padding:.3rem .4rem;font-size:.72rem;line-height:1.35;display:block;overflow:auto}.diario-page{flex-direction:column;gap:.65rem;min-height:0;padding:.15rem 0 1rem;display:flex}.diario-toolbar{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.4rem .65rem;padding:.4rem .55rem;display:flex}.diario-toolbar-brand{align-items:baseline;gap:.45rem;margin-right:.25rem;display:flex}.diario-title{margin:0;font-size:1rem;font-weight:700}.diario-toolbar-meta{white-space:nowrap;font-size:.72rem}.diario-toolbar-actions{gap:.3rem;margin-left:auto;display:flex}.diario-day-nav{gap:.2rem;display:inline-flex}.diario-filter{color:var(--text-muted);flex-direction:column;gap:.1rem;font-size:.68rem;display:flex}.diario-filter.is-inline{flex-direction:row;align-items:center;gap:.3rem}.diario-filter select{min-width:8.5rem;padding:.15rem .3rem;font-size:.78rem}.diario-main-split{grid-template-columns:minmax(14rem,.9fr) minmax(0,1.7fr);align-items:stretch;gap:.65rem;display:grid}.diario-kpi-panel,.diario-heat-panel,.diario-detail{min-width:0}.diario-kpi-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;flex-direction:column;gap:.4rem;padding:.45rem .5rem .55rem;display:flex}.diario-panel-title{margin:0;font-size:.78rem;font-weight:700}.diario-kpi-grid{flex:1;grid-template-columns:1fr 1fr;gap:.3rem;display:grid}.diario-kpi.perf-kpi{gap:.05rem;min-height:0;padding:.35rem .4rem}.diario-kpi .perf-kpi-value{font-size:1.05rem;line-height:1.1}.diario-kpi .perf-kpi-label{font-size:.68rem}.diario-kpi .perf-kpi-hint{font-size:.62rem}.diario-heat-panel .diario-heatmap{box-sizing:border-box;width:100%;max-width:none;height:100%}.diario-detail{flex-direction:column;gap:.4rem;display:flex}@media (width<=960px){.diario-main-split{grid-template-columns:1fr}.diario-toolbar-actions{margin-left:0}}.diario-people{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.diario-person{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;overflow:hidden}.diario-person.is-inactive{border-color:color-mix(in srgb, #f04438 35%, var(--color-border));background:color-mix(in srgb, #f04438 6%, var(--color-surface))}.diario-person-head-row{align-items:stretch;gap:.15rem;display:flex}.diario-person-head{cursor:pointer;text-align:left;min-width:0;color:inherit;background:0 0;border:none;flex-wrap:wrap;flex:1;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.7rem .9rem;display:flex}.diario-person-print{flex-shrink:0;align-self:center;margin-right:.45rem}.diario-person-name{font-weight:650}.diario-person-counts{color:var(--text-muted);flex-wrap:wrap;gap:.55rem .85rem;font-size:.78rem;display:flex}.diario-person-counts .is-rework{color:#b42318;font-weight:600}.diario-pill{border-radius:999px;align-items:center;padding:.12rem .45rem;font-size:.72rem;font-weight:650;display:inline-flex}.diario-pill.is-warn{color:#b54708;background:#f790092e}.diario-pill.is-rework{color:#b42318;background:#f0443829;margin-left:.4rem}.diario-inactive-hint{margin:0;padding:0 .9rem .8rem;font-size:.82rem}.diario-tasks{border-collapse:collapse;width:100%;font-size:.84rem}.diario-tasks th,.diario-tasks td{border-top:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.55rem .9rem}.diario-tasks th{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-size:.72rem}.diario-task-name{font-weight:600}.diario-moves{color:var(--text-muted);margin:.35rem 0 0;padding:0;font-size:.78rem;list-style:none}.diario-move-time{font-variant-numeric:tabular-nums;min-width:3.2rem;margin-right:.35rem;display:inline-block}.diario-link{color:var(--accent);font-size:.8rem;font-weight:600;text-decoration:none}.diario-link:hover{text-decoration:underline}.diario-heatmap{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;width:100%;max-width:none;padding:.45rem .55rem .5rem}.diario-heatmap.is-compact{font-size:.72rem}.diario-heatmap-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem .75rem;margin-bottom:.35rem;display:flex}.diario-heatmap-tools-left{flex-wrap:wrap;align-items:center;gap:.35rem .45rem;min-width:0;display:flex}.diario-heatmap-title{margin:0;font-size:.78rem;font-weight:700}.diario-heatmap-period{max-width:9.5rem;padding:.12rem .3rem;font-size:.72rem}.diario-heatmap-nav{gap:.15rem;display:inline-flex}.diario-heatmap-nav-btn{border:1px solid var(--color-border);background:var(--color-surface);width:1.35rem;height:1.35rem;color:var(--color-text);cursor:pointer;border-radius:4px;padding:0;line-height:1}.diario-heatmap-nav-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.diario-heatmap-nav-btn:disabled{opacity:.4;cursor:default}.diario-heatmap-range,.diario-heatmap-moves{white-space:nowrap;font-size:.68rem}.diario-heatmap-legend{color:var(--text-muted);align-items:center;gap:.18rem;font-size:.64rem;display:flex}.diario-heat-swatch{border:1px solid var(--color-border);border-radius:2px;width:.55rem;height:.55rem}.diario-heatmap-scroll{max-width:100%;overflow-x:auto}.diario-heatmap-table{border-collapse:separate;border-spacing:2px;width:max-content;font-size:.62rem}.diario-heatmap-table th,.diario-heatmap-table td{text-align:center;color:var(--text-muted);padding:0;font-weight:500}.diario-heatmap-table thead th{vertical-align:bottom;font-size:.58rem;line-height:1.1}.diario-heatmap-corner{text-align:left!important;padding-left:.1rem!important;font-size:.58rem!important}.diario-heatmap-table tbody th{text-align:left;white-space:nowrap;color:var(--color-text);width:1.6rem;padding-right:.25rem;font-size:.62rem;font-weight:650}.diario-heatmap-day-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:3px;min-width:1.15rem;padding:.05rem .1rem;font-weight:650}.diario-heatmap-day-btn:hover{background:var(--color-hover);color:var(--accent)}.diario-heatmap-table thead th.is-selected-day,.diario-heatmap-table thead th.is-selected-day .diario-heatmap-day-btn{color:var(--accent)}.diario-heat-cell{cursor:pointer;border:1px solid #0000;border-radius:2px;width:1.15rem;height:.95rem;margin:0 auto;padding:0;display:block}.diario-heat-cell.level-0,.diario-heat-swatch.level-0{background:color-mix(in srgb, var(--color-border) 55%, var(--color-surface))}.diario-heat-cell.level-1,.diario-heat-swatch.level-1{background:color-mix(in srgb, var(--accent) 22%, var(--color-surface))}.diario-heat-cell.level-2,.diario-heat-swatch.level-2{background:color-mix(in srgb, var(--accent) 40%, var(--color-surface))}.diario-heat-cell.level-3,.diario-heat-swatch.level-3{background:color-mix(in srgb, var(--accent) 62%, var(--color-surface))}.diario-heat-cell.level-4,.diario-heat-swatch.level-4{background:var(--accent)}.diario-heat-cell.has-activity{border-color:color-mix(in srgb, var(--accent) 25%, transparent)}.diario-heat-cell.is-day{outline:1px solid color-mix(in srgb, var(--accent) 55%, transparent)}@media (width<=900px){.app-navbar{gap:.45rem;min-height:2.55rem;padding:.3rem .55rem}.app-navbar-toggle{width:2.35rem;height:2.35rem;font-size:1rem}.app-navbar-brand{font-size:.95rem}.app-main{padding:.45rem .55rem .7rem}.app-shell:not(.sidebar-collapsed) .app-sidebar{width:min(16rem,86vw);top:2.55rem}}@media (width<=768px){.resources-chrome{align-items:stretch;gap:.4rem}.resources-page-meta{width:100%;margin-left:0}.resources-page-actions{width:100%}.resources-page-actions .btn{flex:auto;min-height:2.2rem}.resources-sheet-table .col-cost-type,.resources-sheet-table .col-value,.resources-sheet-table .col-active,.resources-sheet-table .col-work,.resources-sheet-table .col-cost,.resources-sheet-table .col-progress{display:none}.resources-sheet-table .col-name{width:34%}.resources-sheet-table .col-kind{width:14%}.resources-sheet-table .col-team{width:28%}.resources-sheet-table .col-tasks{width:8%}.resources-sheet-table .col-actions{width:16%}.resources-dense-table td.sheet-actions .btn{min-height:1.9rem}.resources-sheet-new td[colspan]{display:none}.res-team-dialog{width:min(28rem,100vw - 1.25rem)}.res-team-dialog-foot{flex-direction:column;align-items:stretch}.res-team-dialog-actions{width:100%;margin-left:0}.res-team-dialog-actions .btn,.res-team-dialog-foot>.btn{flex:auto;min-height:2.45rem}.res-team-dialog-tabs button{min-height:2.6rem}}@media (width<=640px){.app-main{padding:.4rem .45rem .85rem}.app-main:has(.resources-page:not(.resources-embedded)){padding:.35rem .4rem .65rem;overflow:auto}.resources-page{overflow:auto}.resources-sheet-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.resources-dense-table{font-size:.8rem}.resources-dense-table th,.resources-dense-table td{white-space:normal;vertical-align:top;height:auto;min-height:2rem;padding:.35rem .4rem}.resources-dense-table .sheet-actions{flex-direction:column;gap:.25rem;display:flex}.resources-sheet-table .col-tasks{display:none}.resources-team-hint{font-size:.78rem}.res-team-dialog-backdrop{align-items:end;padding:.65rem}.res-team-dialog{border-radius:12px 12px 8px 8px;width:100%;max-height:min(92dvh,100%);padding:1rem 1rem .9rem;overflow:auto}.org-team-invite-form{flex-direction:column;align-items:stretch;display:flex}.org-team-invite-form .btn{width:100%;min-height:2.45rem}}.backup-local-details{border:1px solid var(--color-border);border-radius:var(--radius-md,6px);background:var(--color-surface-secondary,transparent);margin-top:.35rem;padding:.55rem .75rem .7rem}.backup-local-details summary{cursor:pointer;color:var(--color-text-secondary);font-size:.84rem;font-weight:600}.backup-slug-confirm{flex-direction:column;gap:.3rem;margin-top:.5rem;font-size:.82rem;display:flex}.backup-slug-confirm input{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:6px;padding:.45rem .55rem}.backup-status.is-error{color:var(--color-danger,#dc2626);margin-top:.5rem;font-size:.84rem;display:block}.audit-panel{flex-direction:column;gap:.75rem;display:flex}.audit-viewer-roles{border:1px solid var(--color-border);border-radius:var(--radius-md,6px);background:var(--color-surface-secondary,transparent);padding:.65rem .75rem .75rem}.audit-viewer-roles-title{font-size:.88rem;font-weight:600}.audit-role-chips{flex-wrap:wrap;gap:.4rem;display:flex}.audit-role-chip{border:1px solid var(--color-border);cursor:pointer;background:var(--color-surface);border-radius:6px;align-items:center;gap:.35rem;padding:.25rem .5rem;font-size:.78rem;display:inline-flex}.audit-role-chip.is-on{border-color:var(--color-accent,#2563eb);background:color-mix(in srgb, var(--color-accent,#2563eb) 12%, transparent)}.audit-filters{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.audit-filters input,.audit-filters select{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:6px;min-width:10rem;padding:.4rem .55rem;font-size:.85rem}.audit-table-wrap{border:1px solid var(--color-border);border-radius:6px;overflow-x:auto}.audit-table{border-collapse:collapse;width:100%;font-size:.82rem}.audit-table th,.audit-table td{text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top;padding:.45rem .55rem}.audit-table th{background:var(--color-surface-secondary,transparent);white-space:nowrap;font-weight:600}.audit-row{cursor:pointer}.audit-row:hover{background:color-mix(in srgb, var(--color-text) 4%, transparent)}.audit-actor{flex-direction:column;gap:.1rem;display:flex}.audit-detail-pre{white-space:pre-wrap;word-break:break-word;background:var(--color-surface-secondary,transparent);border-radius:4px;margin:0;padding:.5rem;font-size:.75rem;overflow-x:auto}.audit-pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.settings-page-header{margin-bottom:1rem}.settings-page-header h1{margin:0 0 .25rem;font-size:1.35rem}
