:root{--color-deep: #0b2a33;--color-primary: #0e4d5c;--color-accent: #3fa39b;--color-soft: #d7e7e4;--color-paper: #f4f7f5;--color-counter: #b5654a;--color-warn: #c28b2c;--on-counter: #ffffff;--gradient-hero: radial-gradient(70% 80% at 78% 18%, color-mix(in srgb, var(--color-counter) 22%, transparent) 0%, transparent 58%), radial-gradient(60% 70% at 12% 8%, color-mix(in srgb, var(--color-accent) 45%, transparent) 0%, transparent 62%), linear-gradient(180deg, var(--color-deep) 0%, var(--color-primary) 62%, var(--color-deep) 100%);--gradient-band: linear-gradient(180deg, var(--color-paper) 0%, var(--color-soft) 38%, var(--color-paper) 100%);--gradient-cta: radial-gradient(90% 140% at 0% 0%, var(--color-accent) 0%, transparent 55%), linear-gradient(135deg, var(--color-primary) 0%, var(--color-deep) 100%);--grain: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0.55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");--color-primary-hover: color-mix(in srgb, var(--color-primary) 88%, black);--color-primary-soft: var(--color-soft);--color-primary-ink: color-mix(in srgb, var(--color-primary) 70%, black);--color-accent-soft: color-mix(in srgb, var(--color-accent) 12%, white);--color-warn-soft: color-mix(in srgb, var(--color-warn) 14%, white);--on-primary: #ffffff;--ink: color-mix(in srgb, var(--color-primary) 8%, #0b0d12);--ink-soft: color-mix(in srgb, var(--color-primary) 6%, #4a5160);--ink-mute: #8a90a0;--line: color-mix(in srgb, var(--color-primary) 8%, #e6e8ee);--surface: color-mix(in srgb, var(--color-paper) 40%, white);--canvas: var(--color-paper);--font-display: "Fraunces", Georgia, serif;--font-text: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-hero: clamp(2.6rem, 6.2vw, 5.2rem);--text-h2: clamp(1.8rem, 3.4vw, 2.75rem);--text-h3: 1.2rem;--text-lead: clamp(1.05rem, 1.5vw, 1.3rem);--text-body: 1rem;--text-small: .875rem;--space-section: clamp(4rem, 9vw, 7.5rem);--container: 1180px;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgb(15 23 42 / .06), 0 1px 3px rgb(15 23 42 / .08);--shadow-md: 0 10px 30px -12px rgb(15 23 42 / .18);--shadow-lg: 0 30px 60px -20px rgb(15 23 42 / .28);--ease: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-text);font-size:var(--text-body);line-height:1.6;color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;line-height:1.08;margin:0}p{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:6px}.container{width:min(var(--container),100% - 2.5rem);margin-inline:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.35rem;border-radius:var(--radius-pill);border:1px solid transparent;font-weight:600;font-size:.95rem;cursor:pointer;white-space:nowrap;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s,color .2s}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--color-primary);color:var(--on-primary);box-shadow:0 8px 20px -8px var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{background:var(--surface);box-shadow:var(--shadow-sm)}.btn-light{background:var(--color-paper);color:var(--ink)}.btn-counter{background:var(--color-counter);color:var(--on-counter);box-shadow:0 10px 24px -10px var(--color-counter)}.btn-counter:hover{background:color-mix(in srgb,var(--color-counter) 88%,black)}.btn-glass{background:#ffffff24;color:#fff;border-color:#fff6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-lg{padding:1rem 1.7rem;font-size:1rem}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}:root{--color-deep: #132134;--color-primary: #334155;--color-accent: #3B82F6;--color-soft: #D7DFEA;--color-paper: #F4F6F8;--color-counter: #C98D36;--color-warn: #F59E0B;--ink: #12161C;--canvas: #F4F6F8;--color-primary-soft: #D7DFEA;--on-counter: #ffffff;--font-display: "IBM Plex Sans", serif;--font-text: "Inter", system-ui, sans-serif;--gradient-hero: radial-gradient(70% 80% at 78% 18%, #C98D362e 0%, transparent 58%), radial-gradient(60% 70% at 12% 8%, #3B82F666 0%, transparent 62%), linear-gradient(180deg, #132134 0%, #334155 62%, #132134 100%);--gradient-band: linear-gradient(180deg, #F4F6F8 0%, #D7DFEA 38%, #F4F6F8 100%);--gradient-cta: radial-gradient(90% 140% at 0% 0%, #3B82F6 0%, transparent 55%), linear-gradient(135deg, #334155 0%, #132134 100%);--grain: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0.55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");--shadow-soft: 0 1px 2px color-mix(in srgb, #132134 10%, transparent), 0 6px 18px -8px color-mix(in srgb, #132134 22%, transparent);--shadow-lift: 0 28px 60px -24px color-mix(in srgb, #132134 48%, transparent);--scrim: linear-gradient(180deg, color-mix(in srgb, #132134 62%, transparent) 0%, color-mix(in srgb, #132134 30%, transparent) 42%, color-mix(in srgb, #132134 78%, transparent) 100%);--duotone-dark: #132134;--duotone-light: #D7DFEA}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/assets/ibm-plex-sans-600-pMj0XD9w.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-400-8kRkwJBP.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/inter-400-8kRkwJBP.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/inter-400-8kRkwJBP.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.shell{max-width:880px;margin:0 auto;padding:2rem 1.25rem 4rem}.app-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem}.app-brand{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-weight:800;font-size:1.15rem;letter-spacing:-.02em;margin-bottom:.75rem}.shell header h1{font-size:1.9rem;margin:0 0 .35rem}.sub{color:var(--ink-soft);margin:0 0 1.5rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:1.4rem;box-shadow:var(--shadow-sm)}.card h2{font-size:1.15rem;margin-bottom:.9rem}.card form{display:flex;gap:.5rem;margin-bottom:.9rem}.card input{flex:1;padding:.7rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;background:var(--canvas)}.card input:focus{outline:2px solid var(--color-primary);outline-offset:1px;background:var(--surface)}.card button{padding:.7rem 1.2rem;border:0;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--on-primary);font-weight:600;cursor:pointer}.card ul{list-style:none;padding:0;margin:0}.card li{padding:.7rem .15rem;border-bottom:1px solid var(--line)}.card li:last-child{border-bottom:0}.session-row{display:flex;align-items:center;gap:.75rem}.user-badge{background:var(--color-primary-soft);color:var(--color-primary-ink);border-radius:var(--radius-pill);padding:.3rem .85rem;font-size:var(--text-small);font-weight:500}.auth-card{margin-bottom:1.25rem}.auth-card form{flex-direction:column}.demo-button{width:100%;padding:.8rem 1rem;border:0;border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer}.auth-divider{text-align:center;color:var(--ink-mute);font-size:var(--text-small);margin:.8rem 0}.auth-error{color:#dc2626;font-size:var(--text-small);margin:.5rem 0 0}.auth-switch{color:var(--ink-soft);font-size:var(--text-small);margin:.8rem 0 0}.linklike{background:none;border:0;color:var(--color-primary);cursor:pointer;padding:0;font-size:inherit;font-weight:500}.lp{background:var(--canvas);overflow-x:clip}.lp-nav{position:fixed;inset:0 0 auto 0;z-index:40;color:#fff;transition:background .3s,box-shadow .3s,color .3s}.lp-nav.is-solid{background:#ffffffdb;-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);color:var(--ink);box-shadow:0 1px 0 var(--line)}.lp-nav-row{display:flex;align-items:center;justify-content:space-between;height:72px}.lp-brand{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:800;font-size:1.15rem;letter-spacing:-.02em}.lp-brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--color-primary);color:var(--on-primary)}.lp-nav-links{display:flex;align-items:center;gap:1.75rem;font-size:.95rem;font-weight:500}.lp-nav-links a:not(.btn){opacity:.88}.lp-nav-links a:not(.btn):hover{opacity:1}.lp-nav.is-solid .lp-nav-cta{background:var(--color-primary);color:var(--on-primary)}.lp-nav-cta{padding:.55rem 1.1rem}.lp-hero{position:relative;isolation:isolate;min-height:min(100svh,920px);display:grid;align-items:center;color:#fff;text-align:center;background-image:var(--grain),var(--gradient-hero);background-color:var(--color-deep)}.lp-hero-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2;animation:lp-zoom 18s var(--ease) both}.lp-hero-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,rgb(8 10 16 / .55) 0%,rgb(8 10 16 / .35) 40%,rgb(8 10 16 / .72) 78%,var(--canvas) 100%)}.lp-hero:not(.has-image) .lp-hero-scrim{background:linear-gradient(180deg,transparent 60%,var(--canvas) 100%)}.lp-hero.has-collage .lp-hero-scrim{background:linear-gradient(180deg,color-mix(in srgb,var(--color-deep) 34%,transparent) 0%,color-mix(in srgb,var(--color-deep) 18%,transparent) 45%,color-mix(in srgb,var(--color-deep) 70%,transparent) 82%,var(--canvas) 100%)}.lp-hero.has-collage .lp-hero-image{filter:saturate(.9)}.lp-hero-accent{position:absolute;z-index:0;width:clamp(64px,9vw,150px);height:auto;opacity:.16;color:#fff;pointer-events:none;filter:drop-shadow(0 12px 30px rgb(0 0 0 / .25));animation:lp-float 14s ease-in-out infinite}.lp-hero-accent-1{left:6%;top:18%}.lp-hero-accent-2{right:7%;top:26%;animation-delay:-5s;animation-duration:17s}.lp-hero-accent-3{left:12%;bottom:14%;animation-delay:-9s;animation-duration:20s;opacity:.12}@keyframes lp-float{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-14px) rotate(3deg)}}@media (prefers-reduced-motion: reduce){.lp-hero-accent{animation:none}}@media (max-width: 860px){.lp-hero-accent-3{display:none}}.lp-hero-body{padding:8rem 0 9rem;display:grid;justify-items:center;gap:1.5rem}.lp-eyebrow{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem 1rem;border-radius:var(--radius-pill);background:#ffffff29;border:1px solid rgb(255 255 255 / .28);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:var(--text-small);font-weight:500;animation:lp-rise .8s var(--ease) both}.lp-hero h1{font-size:var(--text-hero);font-weight:800;line-height:1;letter-spacing:-.03em;max-width:20ch;text-wrap:balance;text-shadow:0 2px 30px rgb(0 0 0 / .35);animation:lp-rise .9s .08s var(--ease) both}.lp-lead{font-size:var(--text-lead);max-width:58ch;color:#ffffffe6;text-wrap:pretty;animation:lp-rise .9s .16s var(--ease) both}.lp-hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;animation:lp-rise .9s .24s var(--ease) both}.lp-intent{display:flex;gap:.6rem;width:min(760px,100%);padding:.6rem;border-radius:var(--radius-lg);background:#ffffff29;border:1px solid rgb(255 255 255 / .32);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);box-shadow:var(--shadow-lg);animation:lp-rise .9s .24s var(--ease) both}.lp-intent input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:#fff;font:inherit;font-size:1.02rem;padding:.6rem .9rem}.lp-intent input::placeholder{color:#ffffffb8}.lp-intent .btn{border-radius:calc(var(--radius-lg) - 8px)}.lp-hero-link{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--text-small);font-weight:500;color:#ffffffd9}.lp-hero-link:hover{color:#fff}.lp-stats{margin-top:-3.5rem;position:relative;z-index:2}.lp-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.lp-stat{background:var(--surface);padding:1.6rem 1.75rem;display:grid;gap:.2rem}.lp-stat strong{font-family:var(--font-display);font-size:2rem;letter-spacing:-.03em;color:var(--color-primary-ink)}.lp-stat span{color:var(--ink-soft);font-size:var(--text-small)}.lp-section{padding:var(--space-section) 0}.lp-section-tint{background-image:var(--gradient-band)}.lp-section-head{max-width:46rem;margin-bottom:3rem;display:grid;gap:.9rem}.lp-kicker{font-size:var(--text-small);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary)}.lp-section-head h2,.lp-final h2{font-size:var(--text-h2);font-weight:700;text-wrap:balance}.lp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.lp-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.9rem;display:grid;gap:.75rem;align-content:start;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}.lp-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--color-primary) 35%,var(--line))}.lp-card.span-2{grid-column:span 2}.lp-card.span-3{grid-column:1 / -1}.lp-card.span-2:first-child,.lp-card.span-3{background-image:linear-gradient(135deg,var(--color-primary-soft),var(--surface) 70%)}.lp-card-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--color-primary-soft);color:var(--color-primary)}.lp-card h3{font-size:var(--text-h3);font-weight:700}.lp-card p{color:var(--ink-soft)}.lp-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2.5rem;counter-reset:step}.lp-steps li{display:grid;gap:.6rem;padding-top:1.5rem;border-top:2px solid var(--ink)}.lp-step-n{font-family:var(--font-display);font-weight:700;font-size:var(--text-small);color:var(--color-primary);letter-spacing:.08em}.lp-steps h3{font-size:1.35rem;font-weight:700}.lp-steps p{color:var(--ink-soft)}.lp-proof{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.lp-proof figure{margin:0;padding:2.2rem;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);display:grid;gap:1.2rem}.lp-proof blockquote{margin:0;font-family:var(--font-display);font-size:1.3rem;line-height:1.4;letter-spacing:-.01em;text-wrap:pretty}.lp-proof figcaption{color:var(--ink-soft);font-size:var(--text-small)}.lp-final{padding-top:0}.lp-final-box{text-align:center;color:#fff;padding:clamp(3rem,7vw,5.5rem) 1.5rem;border-radius:calc(var(--radius-lg) + 8px);display:grid;justify-items:center;gap:1.1rem;background-image:var(--grain),var(--gradient-cta);background-color:var(--color-primary);box-shadow:var(--shadow-lg)}.lp-final-box p{max-width:48ch;color:#ffffffe0;font-size:var(--text-lead)}.lp-footer{border-top:1px solid var(--line);padding:2rem 0;color:var(--ink-soft);font-size:var(--text-small)}.lp-footer-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.lp-footer .lp-brand{font-size:1rem;color:var(--ink)}[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--i, 0) * 70ms)}[data-reveal].is-in{opacity:1;transform:none}@keyframes lp-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes lp-zoom{0%{transform:scale(1.08)}to{transform:scale(1)}}@media (max-width: 860px){.lp-grid{grid-template-columns:1fr}.lp-card.span-2,.lp-card.span-3{grid-column:auto}.lp-nav-links a:not(.btn){display:none}.lp-intent{flex-direction:column}.lp-hero-body{padding:7rem 0}}@media (prefers-reduced-motion: reduce){[data-reveal]{opacity:1;transform:none}}.shell-guest{min-height:100vh;display:grid;place-items:center;padding:2rem 1.25rem;background-image:var(--grain),var(--gradient-hero);background-color:var(--color-deep)}.shell-guest-card{width:min(420px,100%);background:var(--surface);border-radius:var(--radius-lg);padding:2.25rem;box-shadow:var(--shadow-lift);display:grid;gap:.5rem}.shell-guest-card .app-brand{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:800;margin-bottom:.75rem}.shell-guest-card h1{font-size:1.5rem;margin:.25rem 0 .15rem}.shell-app{display:grid;grid-template-columns:264px 1fr;min-height:100vh;background:var(--canvas)}.shell-scrim{display:none}.shell-sidebar{background:var(--color-deep);color:#fff;padding:1.5rem 1.1rem;display:flex;flex-direction:column;gap:1.75rem;position:sticky;top:0;height:100vh}.shell-brand{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:800;font-size:1.05rem;color:#fff;padding:0 .4rem}.shell-nav{display:grid;gap:.2rem}.shell-nav a{display:flex;align-items:center;gap:.8rem;padding:.7rem .85rem;border-radius:var(--radius-sm);color:#ffffffb8;font-weight:500;font-size:.95rem;transition:background .15s,color .15s}.shell-nav a:hover{background:#ffffff0f;color:#fff}.shell-nav a.is-active{background:#ffffff1f;color:#fff;box-shadow:inset 3px 0 0 var(--color-counter)}.shell-signout{margin-top:auto;display:inline-flex;align-items:center;gap:.6rem;background:none;border:0;color:#ffffffa6;font-weight:500;cursor:pointer;padding:.6rem .85rem;border-radius:var(--radius-sm)}.shell-signout:hover{background:#ffffff0f;color:#fff}.shell-main{min-width:0;display:flex;flex-direction:column}.shell-header{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.75rem;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:20}.shell-header h1{font-size:1.35rem;flex:1}.shell-nav-toggle{display:none;background:none;border:0;padding:.4rem;color:var(--ink);cursor:pointer}.shell-header-actions{display:flex;align-items:center;gap:.9rem}.shell-icon-btn{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-pill);background:var(--canvas);border:1px solid var(--line);color:var(--ink-soft);cursor:pointer}.shell-icon-btn:hover{color:var(--ink)}.shell-badge{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;border-radius:999px;background:var(--color-counter);color:var(--on-counter);font-size:.65rem;font-weight:700;display:grid;place-items:center;padding:0 4px}.shell-notif{position:relative}.shell-notif-panel{position:absolute;right:0;top:calc(100% + 10px);width:340px;max-height:420px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-lift);z-index:30}.shell-notif-head{padding:.9rem 1rem .6rem;font-weight:700;font-size:.9rem}.shell-notif-empty{padding:0 1rem 1rem;color:var(--ink-soft);font-size:.9rem}.shell-notif-panel ul{list-style:none;margin:0;padding:0 .5rem .5rem}.shell-notif-panel li{display:flex;gap:.6rem;padding:.65rem .5rem;border-radius:var(--radius-sm);cursor:pointer}.shell-notif-panel li:hover{background:var(--canvas)}.shell-notif-panel li.is-unread strong{color:var(--ink)}.shell-notif-panel li strong{display:block;font-size:.85rem;font-weight:600;color:var(--ink-soft)}.shell-notif-panel li p{margin:.1rem 0 0;font-size:.8rem;color:var(--ink-soft)}.shell-notif-dot{width:9px;height:9px;border-radius:50%;margin-top:5px;flex-shrink:0;background:var(--color-accent)}.shell-notif-dot.tone-warning{background:var(--color-warn)}.shell-notif-dot.tone-critical{background:#dc2626}.shell-notif-dot.tone-info{background:var(--color-accent)}.shell-content{padding:1.75rem;max-width:1280px;width:100%;margin:0 auto;flex:1}@media (max-width: 980px){.shell-app{grid-template-columns:1fr}.shell-sidebar{position:fixed;inset:0 auto 0 0;width:264px;z-index:60;transform:translate(-100%);transition:transform .25s var(--ease)}.shell-app.nav-open .shell-sidebar{transform:translate(0)}.shell-scrim{display:none}.shell-app.nav-open .shell-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:50;border:0}.shell-nav-toggle{display:grid;place-items:center}.shell-header{padding:1rem}.shell-content{padding:1.1rem}}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.page-head p{color:var(--ink-soft);margin-top:.3rem;max-width:60ch}.page-grid{display:grid;gap:1.25rem}.cols-2{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 900px){.cols-2,.cols-3{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:1.4rem;box-shadow:var(--shadow-soft)}.panel h2{font-size:1.05rem;margin-bottom:.9rem}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:.75rem}.panel-head h2{margin:0}.stat-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:1.25rem 1.4rem;box-shadow:var(--shadow-soft)}.stat-tile span{display:block;color:var(--ink-soft);font-size:.85rem;margin-bottom:.35rem}.stat-tile strong{font-family:var(--font-display);font-size:1.8rem;letter-spacing:-.02em}.stat-tile.counter strong{color:var(--color-counter)}.table-wrap{overflow-x:auto}table.data-table{width:100%;border-collapse:collapse;font-size:.92rem}.data-table th{text-align:left;color:var(--ink-soft);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;padding:.6rem .8rem;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:.75rem .8rem;border-bottom:1px solid var(--line);vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tr:hover td{background:var(--canvas)}.cell-muted{color:var(--ink-soft)}.row-actions{display:flex;gap:.4rem;justify-content:flex-end}.icon-action{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);width:32px;height:32px;display:grid;place-items:center;color:var(--ink-soft);cursor:pointer}.icon-action:hover{color:var(--ink);border-color:var(--color-primary)}.icon-action.danger:hover{color:#dc2626;border-color:#dc2626}.pill{display:inline-flex;align-items:center;padding:.28rem .7rem;border-radius:var(--radius-pill);font-size:.78rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.pill-good{background:color-mix(in srgb,#16a34a 16%,white);color:#15803d}.pill-warn{background:color-mix(in srgb,var(--color-warn) 20%,white);color:color-mix(in srgb,var(--color-warn) 70%,black)}.pill-bad{background:color-mix(in srgb,#dc2626 14%,white);color:#b91c1c}.pill-muted{background:var(--color-soft);color:var(--ink-soft)}.pill-ok{background:color-mix(in srgb,var(--color-accent) 14%,white);color:var(--color-primary-ink)}.btn-sm{padding:.5rem .9rem;font-size:.85rem}.btn-icon{display:inline-flex;align-items:center;gap:.4rem}.donut{position:relative;display:grid;place-items:center}.donut svg{width:100%;height:100%;transform:rotate(-90deg)}.donut-track{fill:none;stroke:var(--line);stroke-width:12}.donut-value{fill:none;stroke:var(--color-accent);stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset .6s var(--ease)}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center}.donut-center strong{font-family:var(--font-display);font-size:1.9rem}.donut-center span{display:block;font-size:.78rem;color:var(--ink-soft)}.donut-sub{text-align:center;font-size:.82rem;color:var(--ink-soft);margin-top:.5rem}.sparkline{width:100%;height:90px;display:block}.form-grid{display:grid;gap:.9rem}.form-row{display:grid;gap:.9rem;grid-template-columns:1fr 1fr}@media (max-width: 640px){.form-row{grid-template-columns:1fr}}.field{display:grid;gap:.35rem}.field label{font-size:.85rem;font-weight:600;color:var(--ink-soft)}.field input,.field select,.field textarea{padding:.7rem .85rem;border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;background:var(--canvas);color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px;background:var(--surface)}.field-error{color:#dc2626;font-size:.8rem}.form-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.4rem}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:.85rem 0;border-bottom:1px solid var(--line);gap:1rem}.toggle-row:last-child{border-bottom:0}.toggle-row p{color:var(--ink-soft);font-size:.85rem;margin-top:.15rem}.switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-soft);border-radius:999px;transition:.2s;cursor:pointer}.switch span:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:var(--shadow-sm)}.switch input:checked+span{background:var(--color-accent)}.switch input:checked+span:before{transform:translate(18px)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0e1480;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:100;padding:1.25rem}.modal-card{width:min(560px,100%);max-height:88vh;overflow:auto;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lift)}.modal-card.modal-wide{width:min(720px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem .5rem}.modal-head h2{font-size:1.2rem}.modal-body{padding:.75rem 1.5rem 1.5rem}.state-block{display:grid;justify-items:center;text-align:center;gap:.6rem;padding:3rem 1.5rem;color:var(--ink-soft)}.state-empty-icon{width:52px;height:52px;border-radius:16px;background:var(--color-soft);color:var(--color-primary);display:grid;place-items:center}.state-empty h3{color:var(--ink);font-size:1.1rem}.state-error{color:#b91c1c}.spinner{width:26px;height:26px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--color-accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.filter-bar{display:flex;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap;align-items:center}.filter-bar input[type=search]{flex:1;min-width:220px;padding:.7rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font:inherit}.filter-bar select{padding:.7rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font:inherit}.tabs{display:flex;gap:.4rem;margin-bottom:1.25rem;border-bottom:1px solid var(--line)}.tabs button{background:none;border:0;padding:.75rem .3rem;margin-right:1.25rem;font-weight:600;color:var(--ink-soft);cursor:pointer;border-bottom:2px solid transparent}.tabs button.is-active{color:var(--ink);border-color:var(--color-counter)}.avatar{width:36px;height:36px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary-ink);display:grid;place-items:center;font-weight:700;font-size:.85rem;flex-shrink:0}.name-cell{display:flex;align-items:center;gap:.65rem}.name-cell div strong{display:block}.name-cell div span{color:var(--ink-soft);font-size:.82rem}
