﻿@font-face{font-family:"Inter";font-style:normal;font-weight:300;font-display:swap;src:url("/assets/inter/inter-latin-300-normal-95577792.woff2") format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/inter/inter-latin-400-normal-afb18124.woff2") format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/inter/inter-latin-500-normal-27eb264f.woff2") format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/inter/inter-latin-600-normal-fb6d0cef.woff2") format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/inter/inter-latin-700-normal-b829c084.woff2") format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:800;font-display:swap;src:url("/assets/inter/inter-latin-800-normal-955c28e9.woff2") format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:900;font-display:swap;src:url("/assets/inter/inter-latin-900-normal-80e9ae5d.woff2") format("woff2")}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/ibm-plex-mono/ibm-plex-mono-latin-400-normal-e4bc38c2.woff2") format("woff2")}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/ibm-plex-mono/ibm-plex-mono-latin-500-normal-d1d9949e.woff2") format("woff2")}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/ibm-plex-mono/ibm-plex-mono-latin-600-normal-66520042.woff2") format("woff2")}*{box-sizing:border-box;margin:0;padding:0}body{font-family:"Inter",sans-serif;background:var(--bg);color:var(--text);height:100vh;overflow:hidden}.split{display:flex;height:100vh}.panel-left{width:44%;background:var(--navy);padding:48px 52px;display:flex;flex-direction:column;position:relative;overflow:hidden;color:#fff}.panel-left::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 20%, rgba(74, 158, 255, 0.08) 0%, transparent 50%),radial-gradient(circle at 80% 80%, rgba(74, 158, 255, 0.05) 0%, transparent 50%);pointer-events:none}.hex-grid{position:absolute;inset:0;opacity:.04;background-image:url("/assets/ui/auth-hex-grid-be7fa351.svg");pointer-events:none}.left-logo{display:flex;align-items:center;gap:12px;margin-bottom:auto;position:relative;z-index:2}.left-logo-icon{width:40px;height:40px;background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.15);border-radius:10px;display:flex;align-items:center;justify-content:center}.left-logo-text{font-size:18px;font-weight:700}.left-logo-sub{font-size:11px;color:hsla(0,0%,100%,.4);letter-spacing:.5px;margin-top:1px}.left-body{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;padding:40px 0;z-index:2}.left-headline{font-size:30px;font-weight:700;line-height:1.2;margin-bottom:16px}.left-desc{font-size:15px;color:hsla(0,0%,100%,.55);line-height:1.6;margin-bottom:40px;max-width:320px}.left-features{display:flex;flex-direction:column;gap:14px}.left-feature{display:flex;align-items:flex-start;gap:12px}.feature-icon{width:28px;height:28px;border-radius:7px;background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.feature-title{font-size:13.5px;font-weight:600;line-height:1.3}.feature-desc{font-size:12px;color:hsla(0,0%,100%,.45);line-height:1.4;margin-top:2px}.left-footer{position:relative;font-size:11.5px;color:hsla(0,0%,100%,.25);z-index:2}.panel-right{flex:1;background:#fff;display:flex;align-items:center;justify-content:center;padding:48px 40px;overflow-y:auto}.form-box{width:100%;max-width:380px}.form-title{font-size:24px;font-weight:700;letter-spacing:-0.4px;margin-bottom:6px}.form-subtitle{font-size:13.5px;color:var(--text-soft);margin-bottom:28px;line-height:1.5}.password-reset-page .form-subtitle{margin-bottom:24px}.field{margin-bottom:14px}.field-label{font-size:12px;font-weight:600;color:var(--text-mid);margin-bottom:6px;display:block}.field-hint{font-size:12px;color:var(--text-soft);margin:7px 0 0;line-height:1.4}.field-wrap{position:relative}.field-input{width:100%;height:40px;padding:0 12px;border:1.5px solid var(--border);border-radius:8px;font-size:13.5px;font-family:"Inter",sans-serif;color:var(--text);background:var(--bg);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.field-input:focus{border-color:var(--navy);background:#fff;box-shadow:0 0 0 3px rgba(30,58,95,.1)}.field-input.has-icon{padding-right:40px}.login-page .field-input{height:40px;padding:0 12px}.login-page .field-input.has-icon{padding:0 40px 0 12px}.login-page .field-input::placeholder{color:var(--text-soft);opacity:1}.field-eye{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:var(--text-soft);cursor:pointer;transition:color .15s;padding:4px;background:none;border:none;display:flex;align-items:center}.field-eye:hover{color:var(--text-mid)}.forgot-link{font-size:12px;color:var(--text-soft);text-decoration:none;transition:color .15s;display:block;text-align:right;margin-bottom:16px}.forgot-link:hover{color:var(--navy)}.btn-primary{width:100%;height:42px;background:var(--navy);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;font-family:"Inter",sans-serif;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px}.btn-primary:hover{background:var(--navy-light);transform:translateY(-1px);box-shadow:0 4px 14px rgba(30,58,95,.3)}.divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--text-soft);font-size:12px}.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--border)}.sso-row{display:flex;gap:8px;margin-bottom:12px}.btn-sso{flex:1;height:42px;background:#fff;color:var(--text);border:1.5px solid var(--border);border-radius:8px;font-size:12.5px;font-weight:500;font-family:"Inter",sans-serif;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;padding:0 10px}.btn-sso:hover{border-color:var(--border-mid);background:var(--bg);box-shadow:0 2px 6px rgba(0,0,0,.06)}.form-link{font-size:12.5px;color:var(--text-soft);text-align:center}.form-link a{color:var(--navy);font-weight:600;text-decoration:none;transition:opacity .15s}.form-link a:hover{opacity:.7}.devise-errors{background:var(--red-bg);border:1px solid var(--red-border);border-radius:7px;padding:12px 14px;color:var(--red);margin-bottom:20px}.devise-errors h2{font-weight:600;font-size:12px;margin:0 0 6px}.devise-errors ul{margin:0;padding-left:16px;font-size:12px}.devise-errors ul li{margin-bottom:2px}@media(max-width: 768px){body{height:auto;min-height:100vh;overflow-y:auto}.split{flex-direction:column;height:auto;min-height:100vh}.panel-left{width:100%;flex:none;padding:22px 20px 20px;min-height:0}.left-logo{margin-bottom:18px}.left-headline{max-width:320px;margin-bottom:10px;font-size:21px;line-height:1.25}.left-body{flex:none;padding:0}.left-desc{max-width:340px;margin-bottom:0;font-size:13.5px;line-height:1.45}.left-features,.left-footer{display:none}.panel-right{align-items:flex-start;padding:24px 20px 32px;overflow:visible}.form-box{max-width:440px}.form-title{font-size:22px}.form-subtitle{margin-bottom:20px}.sso-row{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px}.sso-row form{min-width:0;width:100%}.btn-sso{width:100%;min-width:0;padding:0 8px;justify-content:center}}@media(max-width: 360px){.sso-row{grid-template-columns:1fr}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:"Inter",sans-serif;background:var(--bg);color:var(--text);height:100vh;overflow:hidden}.split{display:flex;height:100vh}.panel-left{width:44%;background:var(--navy);padding:48px 52px;display:flex;flex-direction:column;position:relative;overflow:hidden;color:#fff}.panel-left::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 20%, rgba(74, 158, 255, 0.08) 0%, transparent 50%),radial-gradient(circle at 80% 80%, rgba(74, 158, 255, 0.05) 0%, transparent 50%);pointer-events:none}.hex-grid{position:absolute;inset:0;opacity:.04;background-image:url("/assets/ui/auth-hex-grid-be7fa351.svg");pointer-events:none}.left-logo{display:flex;align-items:center;gap:12px;margin-bottom:auto;position:relative;z-index:2}.left-logo-icon{width:40px;height:40px;background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.15);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}.left-logo-text{font-size:18px;font-weight:700}.left-logo-sub{font-size:11px;color:hsla(0,0%,100%,.4);letter-spacing:.5px;margin-top:1px}.left-body{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;padding:40px 0;z-index:2}.left-headline{font-size:30px;font-weight:700;line-height:1.2;margin-bottom:16px}.left-desc{font-size:15px;color:hsla(0,0%,100%,.55);line-height:1.6;margin-bottom:40px;max-width:320px}.left-features{display:flex;flex-direction:column;gap:14px}.left-feature{display:flex;align-items:flex-start;gap:12px}.feature-icon{width:28px;height:28px;border-radius:7px;background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;font-size:14px}.feature-title{font-size:13.5px;font-weight:600;line-height:1.3}.feature-desc{font-size:12px;color:hsla(0,0%,100%,.45);line-height:1.4;margin-top:2px}.left-footer{position:relative;font-size:11.5px;color:hsla(0,0%,100%,.25);z-index:2}.panel-right{flex:1;background:#fff;display:flex;align-items:center;justify-content:center;padding:48px 40px;overflow-y:auto}.form-box{width:100%;max-width:380px}.form-title{font-size:24px;font-weight:700;letter-spacing:-0.4px;margin-bottom:6px}.form-subtitle{font-size:13.5px;color:var(--text-soft);margin-bottom:28px;line-height:1.5}.field{margin-bottom:14px}.field-row{display:flex;gap:12px;margin-bottom:14px}.field-row .field{flex:1;margin-bottom:0}.field-label{font-size:12px;font-weight:600;color:var(--text-mid);margin-bottom:6px;display:block}.field-wrap{position:relative}.field-input{width:100%;height:40px;padding:0 12px;border:1.5px solid var(--border);border-radius:8px;font-size:13.5px;font-family:"Inter",sans-serif;color:var(--text);background:var(--bg);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.field-input:focus{border-color:var(--navy);background:#fff;box-shadow:0 0 0 3px rgba(30,58,95,.1)}.field-input.has-icon{padding-right:40px}.field-eye{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:var(--text-soft);cursor:pointer;transition:color .15s;padding:4px;background:none;border:none;display:flex;align-items:center}.field-eye:hover{color:var(--text-mid)}.pw-strength{margin-top:8px}.pw-bars{display:flex;gap:4px;margin-bottom:5px}.pw-bar{flex:1;height:3px;border-radius:2px;background:var(--border);transition:background .3s}.pw-bar.weak{background:var(--red)}.pw-bar.medium{background:var(--orange)}.pw-bar.strong{background:var(--green)}.pw-label{font-size:11px;color:var(--text-soft)}.pw-label.weak{color:var(--red)}.pw-label.medium{color:var(--orange)}.pw-label.strong{color:var(--green)}.btn-primary{width:100%;height:42px;background:var(--navy);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;font-family:"Inter",sans-serif;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px}.btn-primary:hover{background:var(--navy-light);transform:translateY(-1px);box-shadow:0 4px 14px rgba(30,58,95,.3)}.form-link{font-size:12.5px;color:var(--text-soft);text-align:center}.form-link a{color:var(--navy);font-weight:600;text-decoration:none;transition:opacity .15s}.form-link a:hover{opacity:.7}.legal-text{font-size:11px;color:var(--text-soft);text-align:center;line-height:1.5;margin-top:14px}.legal-text a{color:var(--navy);text-decoration:none}.devise-errors{background:var(--red-bg);border:1px solid var(--red-border);border-radius:7px;padding:12px 14px;color:var(--red)}.devise-errors h2{font-weight:600}.devise-errors ul li{margin-bottom:2px}@media(max-width: 768px){body{height:auto;min-height:100vh;overflow-y:auto}.split{flex-direction:column;height:auto;min-height:100vh}.panel-left{width:100%;flex:none;padding:22px 20px 20px;min-height:0}.left-logo{margin-bottom:18px}.left-body{flex:none;padding:0}.left-headline{max-width:320px;margin-bottom:10px;font-size:21px;line-height:1.25}.left-desc{max-width:340px;margin-bottom:0;font-size:13.5px;line-height:1.45}.left-features,.left-footer{display:none}.panel-right{align-items:flex-start;padding:24px 20px 32px;overflow:visible}.form-box{max-width:440px}.form-title{font-size:22px}.form-subtitle{margin-bottom:20px}.field-row{flex-direction:column;gap:0}.field-row .field{margin-bottom:14px}.sso-row{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px}.sso-row form{min-width:0;width:100%}.btn-sso{width:100%;min-width:0;padding:0 8px;justify-content:center}}@media(max-width: 360px){.sso-row{grid-template-columns:1fr}}html,body{height:100%}.layout{display:flex;min-height:100vh}.sidebar{position:fixed;left:0;top:0;width:var(--nav-w);height:100vh;background-color:var(--sidebar-bg);overflow-y:auto;overflow-x:hidden;z-index:100;display:flex;flex-direction:column}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.sidebar::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.2);border-radius:var(--radius-sm)}.sidebar::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.3)}.toggle-sidebar,.sidebar-backdrop{display:none}main,.main{margin-left:var(--nav-w);flex:1;display:flex;flex-direction:column;overflow-y:auto;height:100vh}.layout--auth main,.layout--auth .main{margin-left:0}.sidebar-logo{padding:24px 20px 22px;border-bottom:1px solid hsla(0,0%,100%,.08)}.sidebar-logo-area{padding:24px 20px 22px;border-bottom:1px solid hsla(0,0%,100%,.08)}.logo-mark{display:flex;align-items:center;gap:10px}.logo-icon{width:32px;height:32px;background:linear-gradient(135deg, #4A9EFF 0%, #2D7DD2 100%);border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-icon svg{width:18px;height:18px}.logo-text,.sidebar-logo-name{font-size:15px;font-weight:800;color:#fff;letter-spacing:-0.3px;line-height:1.2}.logo-sub,.sidebar-logo-sub{font-size:10px;font-weight:400;color:hsla(0,0%,100%,.4);letter-spacing:.8px;text-transform:uppercase;margin-top:1px;line-height:1.2}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:2px;list-style:none}.nav-section-label,.sidebar-section-label{font-size:10px;font-weight:600;color:hsla(0,0%,100%,.38);letter-spacing:1px;text-transform:uppercase;padding:12px 8px 6px;margin-top:8px;line-height:1.2}.nav-item,.sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:6px;font-size:13.5px;font-weight:600;color:hsla(0,0%,100%,.72);cursor:pointer;transition:all .15s ease;text-decoration:none;position:relative;border:none;background:none;line-height:1.2}.nav-item:hover,.sidebar-nav-item:hover:not(.active){background:hsla(0,0%,100%,.07);color:hsla(0,0%,100%,.9);opacity:1}.nav-item.active,.sidebar-nav-item.active{background:hsla(0,0%,100%,.12);color:#fff;border-left:none;padding-left:12px;font-weight:700}.nav-item.active::before,.sidebar-nav-item.active::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;background:#4a9eff;border-radius:0 2px 2px 0}.nav-icon{width:16px;height:16px;opacity:.9;flex-shrink:0}.nav-item.active .nav-icon,.sidebar-nav-item.active .nav-icon,.sidebar-nav-item.active svg{opacity:1}.sidebar-nav-item svg{opacity:.8;flex-shrink:0;width:16px;height:16px}.nav-badge{margin-left:auto;background:var(--red);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px;line-height:1.4;flex-shrink:0}.sidebar-footer,.sidebar-footer-area{padding:16px 12px;border-top:1px solid hsla(0,0%,100%,.08);position:relative}@media(max-width: 768px){body.sidebar-open{overflow:hidden}.layout:not(.layout--auth) main,.layout:not(.layout--auth) .main{padding-top:64px}.sidebar{position:fixed;left:-100%;width:calc(100vw - var(--space-md));max-width:320px;height:100vh;transition:left var(--transition-normal);box-shadow:var(--shadow-lg);z-index:200}.sidebar.open{left:0}.sidebar-backdrop{position:fixed;inset:0;z-index:180;display:block;padding:0;border:0;border-radius:0;background:rgba(15,23,42,.38);opacity:0;pointer-events:none;transition:opacity var(--transition-normal)}body.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}main,.main{margin-left:0}.toggle-sidebar{position:fixed;top:12px;left:12px;z-index:190;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text);box-shadow:var(--shadow-md)}.toggle-sidebar svg{width:22px;height:22px}}@media(min-width: 769px){.toggle-sidebar{display:none}}.section{margin-bottom:var(--space-2xl)}.section-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-lg);color:var(--text-primary)}.section-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-lg)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}.grid{display:grid;gap:var(--space-lg)}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2, 1fr)}.grid-cols-3{grid-template-columns:repeat(3, 1fr)}@media(max-width: 768px){.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:7px;font-family:"Inter",sans-serif;font-size:13px;font-weight:600;border:1px solid rgba(0,0,0,0);cursor:pointer;transition:all .15s ease;text-decoration:none;white-space:nowrap}.btn:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.btn-primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn-primary:hover{background:var(--navy-dark);border-color:var(--navy-dark);color:#fff;opacity:1}.btn-secondary{background:#fff;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:#f7fafc;border-color:var(--border-mid);color:var(--text);opacity:1}.btn-ghost{background:rgba(0,0,0,0);color:var(--text-soft);border-color:rgba(0,0,0,0)}.btn-ghost:hover{color:var(--text);opacity:1}.btn-ghost-danger{background:rgba(0,0,0,0);color:var(--red);border-color:rgba(0,0,0,0)}.btn-ghost-danger:hover{color:var(--red-deep);opacity:1}.btn-danger{background:var(--red-bg);color:var(--red);border-color:var(--red-border)}.btn-danger:hover{background:#fed7d7;color:var(--red);opacity:1}.btn-sm{padding:6px 12px;font-size:12.5px}.btn-icon{width:34px;height:34px;padding:0;justify-content:center;border-color:var(--border);background:#fff}.btn:disabled,.btn[aria-disabled=true]{background:#e2e8f0;color:#334155;cursor:not-allowed;transform:none;border-color:rgba(0,0,0,0);pointer-events:none}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:5px;font-size:12px;font-weight:600;border:1px solid}.badge-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.badge-critical{background:var(--red-bg);color:var(--red);border-color:var(--red-border)}.badge-high{background:var(--orange-bg);color:var(--orange);border-color:var(--orange-border)}.badge-medium{background:#fffbeb;color:#b45309;border-color:#fde68a}.badge-ok{background:var(--green-bg);color:var(--green);border-color:var(--green-border)}.badge-info{background:var(--blue-bg);color:var(--blue);border-color:var(--blue-border)}.badge-auto{background:var(--auto-bg);color:var(--auto);border-color:var(--auto-border)}.badge-extra{background:var(--extra-bg);color:var(--extra);border-color:var(--extra-border)}.badge-pending{background:var(--orange-bg);color:var(--orange);border-color:var(--orange-border);animation:blink 2s infinite}.badge-active{background:var(--green-bg);color:var(--green);border-color:var(--green-border)}.badge-active .badge-dot{background:var(--green);animation:pulse 2s infinite}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text-mid);margin-bottom:6px}.form-label .req{color:var(--red);margin-left:2px}.input{display:block;width:100%;height:36px;padding:0 12px;border:1px solid var(--border);border-radius:7px;font-family:"Inter",sans-serif;font-size:14px;color:var(--text);background:#fff;outline:none}.input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,58,95,.1)}.input:focus-visible{outline:none}.input.error{border-color:var(--red);box-shadow:0 0 0 3px rgba(229,62,62,.1)}.input:disabled{background:#f7fafc;cursor:not-allowed}textarea.input{height:auto;padding:10px 12px;resize:vertical}.select.input{appearance:none;background-image:url("/assets/ui/select-chevron-down-5d138c6f.svg");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.form-error{font-size:12px;color:var(--red);margin-top:5px}.form-hint{font-size:12px;color:var(--text-soft);margin-top:5px}.toggle-wrap{display:flex;align-items:center;gap:10px}.toggle{position:relative;width:38px;height:22px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-track{position:absolute;inset:0;border-radius:11px;background:#cbd5e0;transition:background 200ms;cursor:pointer}.toggle input:checked~.toggle-track{background:var(--green)}.toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform 200ms}.toggle input:checked~.toggle-track .toggle-thumb{transform:translateX(16px)}.toggle-label{font-size:14px;color:var(--text-mid)}.table-wrap{border-radius:10px;border:1px solid var(--border);overflow:hidden;background:#fff}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap thead tr{background:#fafbfc}.table-wrap th{padding:10px 16px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-soft);letter-spacing:.3px;border-bottom:1px solid var(--border)}.table-wrap td{padding:12px 16px;border-bottom:1px solid var(--border);font-size:14px}.table-wrap tr:last-child td{border-bottom:none}.table-wrap tbody tr:hover{background:#fafbfc}.mono{font-family:"IBM Plex Mono",monospace;font-size:13px}.text-soft{color:var(--text-soft)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:20px;box-shadow:0 1px 3px rgba(0,0,0,.08)}.card-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:16px}.comp-page-header{background:#fff;padding:28px 28px 20px;border:1px solid var(--border);border-radius:10px}.breadcrumb{font-size:12px;color:var(--text-soft);margin-bottom:6px}.comp-page-title{font-size:22px;font-weight:700;color:var(--navy)}.page-header-row{display:flex;align-items:center;justify-content:space-between}.page-header-actions{display:flex;gap:10px}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity 200ms ease,visibility 200ms ease}.modal-overlay.active{opacity:1;visibility:visible}dialog.modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.15);width:480px;max-width:95vw;overflow:hidden;border:none;padding:0;position:fixed;top:50%;left:50%;transform:translate(-50%, -50%) translateY(20px);transition:transform 200ms ease;margin:0}dialog.modal[open]{transform:translate(-50%, -50%) translateY(0)}dialog.modal::backdrop{background:rgba(0,0,0,.4)}.modal-header{padding:24px 28px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:17px;font-weight:600;color:var(--text)}.modal-close{width:28px;height:28px;border-radius:6px;border:none;background:rgba(0,0,0,0);color:var(--text-soft);cursor:pointer;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#f7fafc}.modal-body{padding:24px 28px}.modal-footer{padding:16px 28px;background:#fafbfc;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;border-radius:0 0 16px 16px}.toast-container{position:fixed;top:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{display:inline-flex;align-items:center;gap:10px;padding:14px 18px;border-radius:10px;font-size:14px;font-weight:500;pointer-events:auto;box-shadow:0 8px 24px rgba(0,0,0,.15);animation:toast-in 300ms cubic-bezier(0.34, 1.56, 0.64, 1);opacity:0;transform:translateX(60px)}.toast[data-toast-visible=true]{opacity:1;transform:translateX(0)}.toast-success{background:var(--green-dark);color:#fff;border:none}.toast-error{background:var(--red);color:#fff;border:none}.toast-icon{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff}.toast-icon img,.toast-icon svg{width:100%;height:100%}.toast-message{min-width:0}.toast-link{color:#fff;font-size:12px;font-weight:700;margin-left:4px;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.toast-link:hover{color:#fff}@keyframes toast-in{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}.empty-state{margin:auto 28px;padding:48px 24px;text-align:center;border:1px solid var(--border);border-radius:10px;background:#fff}.empty-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 14px;opacity:.4}.empty-icon img{width:48px;height:48px}.empty-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:6px}.empty-desc{font-size:14px;color:var(--text-soft);margin-bottom:18px}.gauge-wrap{width:100%}.gauge-label{display:flex;justify-content:space-between;font-size:13px;color:var(--text-mid);margin-bottom:6px}.gauge-label strong{color:var(--text);font-weight:600}.gauge-track{height:8px;border-radius:4px;background:var(--border);overflow:hidden}.gauge-progress{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.gauge-fill{height:100%;border-radius:4px;transition:width .4s ease}.gauge-navy{background:var(--navy)}.gauge-gradient{background:linear-gradient(90deg, var(--navy), #3182CE)}.gauge-tri{display:flex;height:100%}.gauge-tri .g1{background:var(--navy)}.gauge-tri .g2{background:var(--auto)}.gauge-tri .g3{background:var(--extra)}@keyframes blink{0%,100%{opacity:1}50%{opacity:.5}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes dropUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.avatar{width:32px;height:32px;border-radius:50%;background:var(--navy-light);display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:600;flex-shrink:0}.user-card{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .15s;border:none;background:none;text-align:left;width:100%}.user-card:hover{background:hsla(0,0%,100%,.07)}.user-avatar{width:32px;height:32px;background:linear-gradient(135deg, #4A9EFF, #2D7DD2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-info{flex:1;min-width:0}.user-name{font-size:12.5px;font-weight:700;color:#fff;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:10.5px;color:hsla(0,0%,100%,.4);line-height:1.3}.user-chevron{color:hsla(0,0%,100%,.3);transition:transform .2s;flex-shrink:0;width:14px;height:14px}.user-card.open .user-chevron{transform:rotate(90deg)}.user-dropdown{position:absolute;bottom:calc(100% + 8px);left:12px;right:12px;background:#fff;border-radius:10px;box-shadow:0 -4px 24px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.08);overflow:hidden;display:none;z-index:200}.user-dropdown.open{display:block;animation:dropUp .15s ease}@keyframes dropUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{padding:14px 16px 12px;border-bottom:1px solid #f0f4f8;display:flex;align-items:center;gap:10px}.user-dropdown-avatar{width:38px;height:38px;background:linear-gradient(135deg, #4A9EFF, #2D7DD2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden}.user-dropdown-avatar img{width:100%;height:100%;object-fit:cover}.user-dropdown-name{font-size:13px;font-weight:700;color:#1a202c;line-height:1.3}.user-dropdown-email{font-size:11.5px;color:#718096;line-height:1.3}.user-dropdown-role-badge{display:inline-block;margin-top:3px;font-size:10px;font-weight:700;background:#eff4fb;color:#1e3a5f;padding:2px 7px;border-radius:4px}.user-dropdown-section{padding:6px 0;border-bottom:1px solid #f0f4f8;font-size:13px}.user-dropdown-section:last-child{border-bottom:none}.user-dropdown-item{display:flex;align-items:center;gap:10px;padding:9px 16px;font-size:13px;color:#2d3748;line-height:1.3;cursor:pointer;transition:background .12s;text-decoration:none;border:none;background:none}.user-dropdown-item:hover{background:#f7fafc}.user-dropdown-item svg{flex:0 0 18px;width:18px;height:18px;color:#718096;display:block}.user-dropdown-item.danger{color:#e53e3e}.user-dropdown-item.danger svg{color:#e53e3e}.user-dropdown-item.danger:hover{background:#fff5f5}.quota-modal-content{display:flex;flex-direction:column;gap:var(--space-md)}.quota-modal-content p{margin:0;font-size:var(--font-size-sm);color:var(--text)}.alert-banner{display:none;background:var(--red);color:#fff;padding:14px 20px;display:flex;align-items:center;gap:12px;animation:slideDown .3s ease;margin-bottom:20px;border-radius:10px;box-shadow:0 4px 12px rgba(229,62,62,.2)}.alert-banner.hidden{display:none}@keyframes slideDown{from{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.alert-banner-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff}.alert-banner-icon img,.alert-banner-icon svg{width:100%;height:100%}.alert-banner-text{flex:1;font-size:14px;font-weight:500;line-height:1.4}.alert-banner-text span{opacity:.9}.alert-banner-cta{padding:6px 14px;background:hsla(0,0%,100%,.15);color:#fff;border:1px solid hsla(0,0%,100%,.3);border-radius:6px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s ease;flex-shrink:0}.alert-banner-cta:hover{background:hsla(0,0%,100%,.25)}.alert-banner-close{width:24px;height:24px;padding:0;background:rgba(0,0,0,0);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.8;transition:all .15s ease;flex-shrink:0}.alert-banner-close:hover{background:hsla(0,0%,100%,.15);opacity:1}.alert-banner-close img,.alert-banner-close svg{width:14px;height:14px}.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);margin-top:var(--space-lg)}.projects-column{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);background:var(--bg-card)}.column-title{font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--space-md);color:var(--text)}.project-list{display:flex;flex-direction:column;gap:var(--space-sm)}.project-list-item{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-md);cursor:pointer;transition:background .15s,border-color .15s;border:1px solid rgba(0,0,0,0);text-decoration:none;color:inherit;background:var(--bg)}.project-list-item:hover{background:var(--bg);border-color:var(--border)}.project-list-item:hover .project-arrow{opacity:1}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.critical{background:var(--red)}.status-dot.warning{background:var(--orange)}.status-dot.healthy{background:var(--green)}.project-content{flex:1;min-width:0}.project-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-xs)}.project-name{font-family:"IBM Plex Mono",monospace;font-size:var(--font-size-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.project-arrow{opacity:0;transition:opacity .15s;color:var(--text-soft);flex-shrink:0}.project-meta{display:flex;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--text-soft);margin-bottom:var(--space-xs)}.project-repo,.project-date{display:inline-block}.project-tags{display:flex;gap:var(--space-xs);margin-bottom:var(--space-xs)}.tag{font-size:10px;padding:2px 6px;border-radius:var(--radius-full);font-weight:500}.tag.tag-critical{background:var(--red-bg);color:var(--red)}.tag.tag-warning{background:var(--orange-bg);color:var(--orange)}.project-health-bar{height:4px;background:var(--border);border-radius:var(--radius-full)}.project-health-fill{height:100%;border-radius:var(--radius-full);background:var(--green)}.empty-column-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl) var(--space-lg);text-align:center;color:var(--text-soft)}.empty-icon{font-size:32px;margin-bottom:var(--space-md)}.empty-text{margin-bottom:var(--space-md);font-size:var(--font-size-sm)}.project-status-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--space-lg);margin-top:var(--space-lg)}.project-status-card{border-radius:var(--radius-lg);border-width:1px;border-style:solid;padding:var(--space-lg)}.project-status-card.healthy{background:var(--green-bg);border-color:var(--green-border)}.project-status-card.warning{background:var(--orange-bg);border-color:var(--orange-border)}.project-status-card.critical{background:var(--red-bg);border-color:var(--red-border)}.status-card-title{font-size:var(--font-size-sm);font-weight:600;display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.status-card-count{font-size:18px;font-weight:700}.project-list-mini{display:flex;flex-direction:column;gap:var(--space-xs);max-height:300px;overflow-y:auto}.mini-project-item{display:flex;flex-direction:column;gap:2px}.mini-project-name{font-size:var(--font-size-xs);font-weight:500;color:var(--text)}.mini-health-bar{height:3px;background:var(--border);border-radius:var(--radius-full)}.mini-health-fill{height:100%;border-radius:var(--radius-full);background:var(--green)}.empty-card-state{font-size:var(--font-size-xs);color:var(--text-soft);text-align:center;padding:var(--space-lg)}.activity-column{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);background:var(--bg-card)}.activity-list{display:flex;flex-direction:column;gap:var(--space-sm)}.activity-event{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--border)}.activity-event:last-child{border-bottom:none}.activity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.activity-dot.red{background:var(--red)}.activity-dot.orange{background:var(--orange)}.activity-dot.green{background:var(--green)}.activity-dot.blue{background:var(--blue)}.activity-content{flex:1;min-width:0}.activity-text{font-size:var(--font-size-sm);color:var(--text);margin-bottom:2px}.activity-text strong{font-weight:600}.activity-timestamp{font-size:var(--font-size-xs);color:var(--text-soft)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;padding-bottom:24px;margin-bottom:32px}.page-title-group{flex:1}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-soft);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.breadcrumb-icon{width:12px;height:12px;opacity:.6}.page-title{font-size:28px;font-weight:700;color:var(--navy);margin-bottom:12px}.stats-row{display:flex;align-items:center;gap:16px}.stat-pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-mid)}.stat-pill strong{font-weight:600}.stat-pill .stat-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.header-actions{display:flex;align-items:center;gap:10px}.home-main .page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;border-bottom:none;padding:28px 28px 0;margin-bottom:0}.home-main .page-title{font-family:"Inter",sans-serif;font-size:22px;font-weight:800;color:var(--text);letter-spacing:-0.4px;margin-bottom:0;line-height:1.2}.home-main .header-actions{display:flex;gap:10px;align-items:center}.home-main .breadcrumb{margin-bottom:4px;font-size:11.5px;gap:5px;text-transform:none;letter-spacing:0;font-weight:400;line-height:1.2}.home-main .btn-secondary{gap:7px;padding:9px 16px;font-size:13.5px;color:var(--text-mid);border-color:var(--border-mid);line-height:1.2}.home-main .btn-secondary:hover{background:var(--bg);border-color:var(--border);color:var(--text-mid);opacity:1}.breadcrumb-icon{width:12px;height:12px;flex-shrink:0;opacity:.6}.stats-row{display:flex;gap:20px;margin-top:6px;flex-wrap:wrap}.stat-pill{font-size:12px;color:var(--text-soft);display:flex;align-items:center;gap:5px;line-height:1.2}.stat-pill strong{color:var(--text-mid);font-weight:600}.stat-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.kpi-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:14px;padding:24px 28px 0;margin-bottom:24px}.kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:18px 20px;line-height:1.2}.kpi-card.kpi-critical{background:var(--red-bg);border-color:var(--red-border)}.kpi-card.kpi-critical .kpi-label{color:var(--red-deep)}.kpi-card.kpi-critical .kpi-value{color:var(--red)}.kpi-label{font-size:11px;font-weight:700;color:var(--text-soft);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;line-height:1.2}.kpi-value-row{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.kpi-value{font-size:28px;font-weight:800;color:var(--text);line-height:1}.kpi-secondary-value{font-size:13px;color:var(--text-soft);font-weight:400}.kpi-delta{font-size:11.5px;font-weight:700;padding:1px 6px;border-radius:4px;white-space:nowrap;line-height:1.2}.kpi-delta.up{color:var(--red);background:var(--red-bg)}.kpi-delta.down{color:var(--green);background:var(--green-bg)}.kpi-delta.flat{color:var(--text-soft);background:var(--bg)}.kpi-sub{font-size:11.5px;color:var(--text-soft);line-height:1.2}.dash-main-grid{display:grid;grid-template-columns:1fr 300px;gap:12px;padding:12px 28px 32px}.dash-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;overflow:hidden;min-height:430px}.dash-card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;border-bottom:1px solid var(--border)}.dash-card-title{font-size:12.5px;font-weight:700;color:var(--text);margin-bottom:0;line-height:1.2}.dash-card-link{font-size:11.5px;color:var(--navy);text-decoration:none;cursor:pointer;line-height:1.2}.dash-card-link:hover{text-decoration:underline;opacity:1}.proj-fault-item{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s;min-height:62px;text-decoration:none;color:inherit}.proj-fault-item:last-child{border-bottom:none}.proj-fault-item:hover{background:var(--bg);color:inherit;opacity:1}.proj-fault-status{width:8px;height:8px;border-radius:50%;flex-shrink:0;align-self:flex-start;margin-top:2px}.proj-fault-status.red{background:var(--red)}.proj-fault-status.orange{background:var(--orange)}.proj-fault-status.green{background:var(--green)}.proj-fault-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.proj-fault-top{display:flex;align-items:center;gap:10px}.proj-fault-name{font-size:12.5px;font-weight:700;color:var(--text);font-family:"IBM Plex Mono",monospace;line-height:1.2;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proj-fault-issue{font-size:11px;font-weight:700;flex-shrink:0;line-height:1.2}.proj-fault-issue.red{color:var(--red)}.proj-fault-issue.orange{color:var(--orange)}.proj-fault-issue.green{color:var(--green)}.proj-fault-sub{font-size:11px;color:var(--text-soft);display:flex;align-items:center;gap:8px;line-height:1.2}.proj-fault-sub-sep{color:var(--border-mid)}.proj-fault-arrow{color:var(--border-mid);flex-shrink:0;width:12px;height:12px;opacity:.6}.proj-fault-pct{font-size:11.5px;font-weight:700;font-family:"IBM Plex Mono",monospace;color:var(--text-soft);flex-shrink:0;width:34px;text-align:right;line-height:1.2}.proj-fault-pct.red{color:var(--red)}.proj-fault-pct.orange{color:var(--orange)}.proj-fault-pct.green{color:var(--green)}.proj-bar-wrap{flex:1;height:5px;background:var(--border);border-radius:3px;overflow:hidden}.proj-bar-fill{height:100%;border-radius:3px;background:var(--green);transition:width .4s ease}.proj-bar-fill.red{background:var(--red)}.proj-bar-fill.orange{background:var(--orange)}.proj-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px 20px;border-top:1px solid var(--border)}.proj-empty-icon{width:32px;height:32px;background:var(--bg);border:1.5px dashed var(--border-mid);border-radius:8px;display:flex;align-items:center;justify-content:center}.proj-empty-icon img{width:14px;height:14px;opacity:.5}.proj-empty-text{font-size:12px;color:var(--text-soft);text-align:center;line-height:1.5}.proj-empty-cta{font-size:12px;font-weight:600;color:var(--navy);background:none;border:1px solid var(--border-mid);border-radius:6px;padding:5px 14px;cursor:pointer;font-family:"Inter",sans-serif;transition:all .12s;margin-top:2px}.proj-empty-cta:hover{background:var(--bg);border-color:var(--navy)}.activity-item{display:flex;align-items:flex-start;gap:10px;padding:11px 18px;border-bottom:1px solid var(--border)}.activity-item:last-child{border-bottom:none}.activity-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:5px}.activity-dot.red{background:var(--red)}.activity-dot.orange{background:var(--orange)}.activity-dot.green{background:var(--green)}.activity-dot.blue{background:#4a9eff}.activity-body{flex:1;min-width:0}.activity-text{font-size:12px;color:var(--text-mid);line-height:1.45}.activity-text strong{color:var(--text);font-weight:700}.activity-time{font-size:10.5px;color:var(--text-soft);margin-top:2px;line-height:1.2}.alert-banner{background:var(--red);padding:10px 28px;display:none;align-items:center;gap:10px;border-radius:0;margin:0;box-shadow:none;animation:none;flex-shrink:0}.alert-banner-icon{width:18px;height:18px;background:hsla(0,0%,100%,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.alert-banner-icon img{width:10px;height:10px;filter:brightness(0) invert(1)}.alert-banner-text{font-size:13px;font-weight:600;color:#fff;flex:1}.alert-banner-text span{font-weight:400;opacity:.85;margin-left:4px}.alert-banner-cta{font-size:12px;font-weight:600;color:#fff;background:hsla(0,0%,100%,.18);border:1px solid hsla(0,0%,100%,.3);padding:4px 12px;border-radius:4px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s}.alert-banner-cta:hover{background:hsla(0,0%,100%,.28);color:#fff;opacity:1}.alert-banner-close{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:hsla(0,0%,100%,.7);padding:4px;transition:color .15s;flex-shrink:0}.alert-banner-close:hover{color:#fff}.alert-banner-close img{width:14px;height:14px;filter:brightness(0) invert(1);opacity:.7}.alert-banner-close:hover img{opacity:1}.notification-settings-header{padding:28px 28px 20px;border-bottom:1px solid var(--border);display:flex;flex-direction:column}.notification-settings-content{padding:20px 28px 48px;display:flex;flex-direction:column;gap:16px}@media(max-width: 1024px){.kpi-grid{grid-template-columns:repeat(2, 1fr)}.dash-main-grid{grid-template-columns:1fr}.dash-card{min-height:0}}@media(max-width: 768px){.kpi-grid{grid-template-columns:repeat(2, 1fr);padding:16px 16px 0}.dash-main-grid{padding:12px 16px 24px}.home-main .page-header{padding:20px 16px 0;flex-direction:column;align-items:flex-start;gap:12px}.home-main .page-header .header-actions{width:auto}.alert-banner{padding:10px 16px;flex-wrap:wrap}}.onboarding{height:100vh;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 32px;overflow-y:auto}.ob-logo{display:flex;align-items:center;gap:10px;margin-bottom:32px}.ob-logo-icon{width:34px;height:34px;background:var(--navy);border-radius:8px;display:flex;align-items:center;justify-content:center}.ob-logo-text{font-size:15px;font-weight:700;color:var(--navy);letter-spacing:-0.3px}.ob-progress{display:flex;align-items:center;gap:0;margin-bottom:32px;width:100%;max-width:640px}.ob-step{display:flex;flex-direction:column;align-items:center;gap:5px;flex:1;position:relative}.ob-step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;border:2px solid var(--border);background:#fff;color:var(--text-soft);transition:all .25s;z-index:1}.ob-step.active .ob-step-num{background:var(--navy);border-color:var(--navy);color:#fff}.ob-step.done .ob-step-num{background:var(--green);border-color:var(--green);color:#fff}.ob-step.inactive .ob-step-num{background:#fff;border-color:var(--border);color:var(--text-soft)}.ob-step.done .ob-step-check{animation:ob-step-check-pop .22s ease-out both}.ob-step.done .ob-step-check path{stroke-dasharray:12;stroke-dashoffset:12;animation:ob-step-check-draw .28s ease-out .08s forwards}@keyframes ob-step-check-pop{0%{opacity:0;transform:scale(0.7)}100%{opacity:1;transform:scale(1)}}@keyframes ob-step-check-draw{to{stroke-dashoffset:0}}.ob-step-label{font-size:9.5px;font-weight:500;color:var(--text-soft);text-align:center;white-space:nowrap}.ob-step.active .ob-step-label{color:var(--navy);font-weight:600}.ob-step.done .ob-step-label{color:var(--green)}.ob-progress-line{flex:1;height:2px;background:var(--border);margin:0 -1px;margin-bottom:20px;transition:background .3s}.ob-progress-line.done{background:var(--green)}.ob-header{text-align:center;margin-bottom:28px}.ob-title{font-size:26px;font-weight:700;color:var(--text);letter-spacing:-0.5px;margin-bottom:7px}.ob-subtitle{font-size:14px;color:var(--text-soft);line-height:1.5}.ob-substep{display:none;flex-direction:column;align-items:center;width:100%;max-width:520px}.ob-substep.active{display:flex;animation:fadeUp .3s ease both}.repo-search-wrap{position:relative;width:100%;max-width:480px;margin-bottom:12px}.repo-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-soft);pointer-events:none}.repo-search{width:100%;height:40px;padding:0 12px 0 38px;border:1.5px solid var(--border);border-radius:8px;font-size:13.5px;font-family:"Inter",sans-serif;color:var(--text);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}.repo-search:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,58,95,.1)}.repo-search::placeholder{color:var(--text-soft)}.repo-list{width:100%;max-width:480px;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;max-height:248px;overflow-y:auto;margin-bottom:14px}.repo-row{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}.repo-row:last-child{border-bottom:none}.repo-row:hover{background:var(--bg)}.repo-row.selected{background:#eff4fb}.repo-radio{width:17px;height:17px;border-radius:50%;border:2px solid var(--border-mid);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s}.repo-row.selected .repo-radio{border-color:var(--navy);background:var(--navy)}.repo-radio-dot{width:6px;height:6px;border-radius:50%;background:#fff;display:none}.repo-row.selected .repo-radio-dot{display:block}.repo-row-info{flex:1;min-width:0}.repo-row-name{font-size:13px;font-weight:600;color:var(--text);font-family:"IBM Plex Mono",monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.repo-row-meta{display:flex;align-items:center;gap:8px;margin-top:3px}.repo-row-lang{font-size:11px;color:var(--text-soft);display:flex;align-items:center;gap:4px}.lang-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.repo-visibility{font-size:10.5px;color:var(--text-soft);background:var(--bg);border:1px solid var(--border);padding:1px 6px;border-radius:4px}.repo-select-note{font-size:11.5px;color:var(--text-soft);text-align:center;margin-bottom:16px;width:100%;max-width:480px}.platform-cards{display:flex;gap:16px;margin-bottom:20px;width:100%;max-width:440px}.platform-card{flex:1;background:#fff;border:2px solid var(--border);border-radius:14px;padding:24px 20px;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all .2s ease;text-align:center;position:relative}.platform-card:hover{border-color:var(--navy);box-shadow:0 8px 24px rgba(30,58,95,.1);transform:translateY(-2px)}.platform-card.selected{border-color:var(--navy);background:#eff4fb;box-shadow:0 0 0 4px rgba(30,58,95,.08)}.platform-check{position:absolute;top:12px;right:12px;width:18px;height:18px;border-radius:50%;background:var(--navy);display:none;align-items:center;justify-content:center}.platform-card.selected .platform-check{display:flex}.platform-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.platform-icon-gh{background:#24292f}.platform-icon-gl{background:#fc6d26}.platform-name{font-size:15px;font-weight:700;color:var(--text);margin-bottom:4px}.platform-desc{font-size:12px;color:var(--text-soft);line-height:1.4}.security-note{display:flex;align-items:center;gap:7px;padding:10px 16px;background:var(--green-bg);border:1px solid var(--green-border);border-radius:8px;font-size:12.5px;color:var(--green);font-weight:500;margin-bottom:16px;width:100%;max-width:440px}.skip-link{font-size:12.5px;color:var(--text-soft);text-decoration:none;transition:color .15s;cursor:pointer;background:none;border:none;font-family:"Inter",sans-serif}.skip-link:hover{color:var(--text-mid)}.config-box{width:100%;max-width:440px;background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:16px}.config-section{padding:20px 24px}.config-section+.config-section{border-top:1px solid var(--border)}.config-section-title{font-size:12px;font-weight:700;color:var(--text-mid);text-transform:uppercase;letter-spacing:.6px;margin-bottom:14px}.gitlab-modes{display:flex;gap:10px;margin-bottom:16px}.gl-mode-btn{flex:1;padding:10px 14px;border:1.5px solid var(--border);border-radius:8px;background:var(--bg);font-size:13px;font-weight:500;color:var(--text-mid);cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:8px;font-family:"Inter",sans-serif}.gl-mode-btn:hover{border-color:var(--border-mid);background:#fff}.gl-mode-btn.active{border-color:var(--navy);background:#eff4fb;color:var(--navy);font-weight:600}.gl-url-field{display:none}.gl-url-field.visible{display:block}.gitlab-connection-list{display:flex;flex-direction:column;gap:8px}.gitlab-connection-row{width:100%;min-height:54px;padding:10px 12px;border:1.5px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.gitlab-connection-row:hover{border-color:var(--navy);background:#fff}.gitlab-connection-icon{width:32px;height:32px;border:1px solid var(--border);border-radius:7px;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gitlab-connection-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.gitlab-connection-name{font-size:13px;font-weight:700;color:var(--text)}.gitlab-connection-meta{font-size:11.5px;color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gitlab-connection-status{font-size:11px;font-weight:700;color:var(--green);background:var(--green-bg);border:1px solid var(--green-border);border-radius:999px;padding:3px 8px;flex-shrink:0}.gitlab-add-connection{width:100%;margin-top:10px;padding:9px 12px;border:1.5px dashed var(--border-mid);border-radius:8px;background:rgba(0,0,0,0);color:var(--text-mid);font-size:12.5px;font-weight:600;cursor:pointer}.gitlab-add-connection:hover{border-color:var(--navy);color:var(--navy);background:#eff4fb}.btn-oauth{width:100%;height:44px;border:none;border-radius:8px;font-size:14px;font-weight:600;font-family:"Inter",sans-serif;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:9px;color:#fff;margin-bottom:6px}.btn-oauth-gh{background:#24292f}.btn-oauth-gh:hover{background:#1a1f24;box-shadow:0 4px 12px rgba(0,0,0,.2)}.btn-oauth-gl{background:#fc6d26}.btn-oauth-gl:hover{background:#e55d1a;box-shadow:0 4px 12px rgba(252,109,38,.3)}.oauth-hint{font-size:11.5px;color:var(--text-soft);text-align:center;margin-bottom:0}.token-toggle{display:flex;align-items:center;gap:8px;padding:12px 0 0;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--text-mid);user-select:none;border:none;background:none;width:100%;font-family:"Inter",sans-serif}.token-toggle:hover{color:var(--text)}.token-toggle-icon{transition:transform .2s;color:var(--text-soft)}.token-toggle.open .token-toggle-icon{transform:rotate(90deg)}.token-body{display:none;padding-top:12px}.token-body.open{display:block;animation:fadeUp .2s ease both}.token-input-wrap{position:relative;margin-bottom:8px}.token-input{width:100%;height:40px;padding:0 12px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;font-family:"IBM Plex Mono",monospace;color:var(--text);background:var(--bg);outline:none;transition:border-color .15s,box-shadow .15s}.token-input:focus{border-color:var(--navy);background:#fff;box-shadow:0 0 0 3px rgba(30,58,95,.1)}.token-input::placeholder{font-family:"Inter",sans-serif;font-size:12.5px;color:var(--text-soft)}.token-help{font-size:11.5px;color:var(--text-soft)}.token-help a{color:var(--navy);text-decoration:none;font-weight:500}.token-help a:hover{text-decoration:underline}.loader-wrap{display:flex;flex-direction:column;align-items:center;width:100%;max-width:400px}.loader-icon-wrap{width:72px;height:72px;border-radius:18px;background:var(--navy);display:flex;align-items:center;justify-content:center;margin-bottom:28px;position:relative}@keyframes pulse-ring{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.6);opacity:0}}.loader-ring{position:absolute;inset:-8px;border-radius:24px;border:2px solid var(--navy);animation:pulse-ring 1.8s ease-out infinite}.loader-ring:nth-child(2){animation-delay:.6s}@keyframes ob-spin{to{transform:rotate(360deg)}}.loader-spinner{width:40px;height:40px;border:3px solid hsla(0,0%,100%,.2);border-top-color:#fff;border-radius:50%;animation:ob-spin .9s linear infinite}.loader-title{font-size:22px;font-weight:700;color:var(--text);letter-spacing:-0.4px;margin-bottom:8px;text-align:center}.loader-subtitle{font-size:14px;color:var(--text-soft);text-align:center;margin-bottom:28px}.loader-steps{width:100%;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}.loader-step{display:flex;align-items:center;gap:12px;padding:11px 16px;font-size:13px;color:var(--text-soft);border-bottom:1px solid var(--border);transition:all .3s}.loader-step:last-child{border-bottom:none}.loader-step.running{color:var(--text);font-weight:500}.loader-step.done{color:var(--green)}.loader-step-icon{width:16px;height:16px;flex-shrink:0}@keyframes step-spin{to{transform:rotate(360deg)}}.step-spinner{width:14px;height:14px;border:2px solid var(--border-mid);border-top-color:var(--navy);border-radius:50%;animation:step-spin .8s linear infinite;flex-shrink:0}.loader-bar-wrap{width:100%;background:var(--border);border-radius:4px;height:4px;margin-top:20px;overflow:hidden}@keyframes progress-fill{from{width:0%}to{width:100%}}.loader-bar{height:100%;background:var(--navy);border-radius:4px;animation:progress-fill 3.5s ease-in-out forwards}.loader-leave-notice{display:flex;align-items:flex-start;gap:10px;margin-top:24px;padding:13px 16px;background:var(--green-bg);border:1px solid var(--green-border);border-radius:10px;font-size:13px;color:var(--text-mid);line-height:1.5;width:100%}.loader-leave-notice svg{flex-shrink:0;margin-top:2px;color:var(--green)}.loader-leave-notice strong{color:var(--text);font-weight:600;display:block;margin-bottom:2px}.loader-dashboard-link{display:inline-block;margin-top:14px;font-size:13px;font-weight:600;color:var(--text-soft);text-decoration:none;transition:color .15s}.loader-dashboard-link:hover{color:var(--navy)}.paywall-wrap{width:100%;max-width:560px}.paywall-stats{display:flex;gap:12px;margin-bottom:20px}.paywall-stat{flex:1;background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px 16px;text-align:center}.paywall-stat-num{font-size:26px;font-weight:800;letter-spacing:-0.5px;font-family:"IBM Plex Mono",monospace}.paywall-stat-label{font-size:11px;color:var(--text-soft);margin-top:2px}.paywall-stat.danger .paywall-stat-num{color:var(--red)}.paywall-stat.warn .paywall-stat-num{color:var(--orange)}.paywall-stat.ok .paywall-stat-num{color:var(--green)}.paywall-preview{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;position:relative;margin-bottom:20px}.paywall-preview-content{padding:16px;filter:blur(4px);user-select:none;pointer-events:none}.preview-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.preview-row:last-child{border-bottom:none}.preview-lib{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--text);flex:1}.preview-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.preview-badge.red{background:var(--red-bg);color:var(--red)}.preview-badge.orange{background:var(--orange-bg);color:var(--orange)}.preview-badge.green{background:var(--green-bg);color:var(--green)}.paywall-overlay{position:absolute;inset:0;background:linear-gradient(to bottom, rgba(248, 249, 250, 0) 0%, rgba(248, 249, 250, 0.7) 30%, rgba(248, 249, 250, 0.97) 60%);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:20px}.paywall-lock{width:44px;height:44px;background:#fff;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.08);margin-bottom:10px}.paywall-lock-label{font-size:13px;font-weight:600;color:var(--text);text-align:center;margin-bottom:4px}.paywall-lock-sub{font-size:12px;color:var(--text-soft);text-align:center}.pricing-cards{display:flex;gap:10px;width:100%;margin-bottom:14px}.pricing-card{flex:1;background:#fff;border:2px solid var(--border);border-radius:12px;padding:16px 14px;cursor:pointer;transition:all .2s;text-align:center;position:relative}.pricing-card:hover{border-color:var(--navy);transform:translateY(-1px)}.pricing-card.featured{border-color:var(--navy);background:var(--navy);color:#fff;box-shadow:0 6px 20px rgba(30,58,95,.25)}.pricing-card.featured:hover{box-shadow:0 10px 28px rgba(30,58,95,.3)}.pricing-badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--orange);color:#fff;font-size:10px;font-weight:700;padding:2px 10px;border-radius:10px;letter-spacing:.3px;white-space:nowrap}.pricing-name{font-size:13px;font-weight:700;margin-bottom:6px}.pricing-price{font-size:22px;font-weight:800;font-family:"IBM Plex Mono",monospace;letter-spacing:-0.5px;margin-bottom:2px}.pricing-card.featured .pricing-price{color:#fff}.pricing-period{font-size:10.5px;color:var(--text-soft);margin-bottom:10px}.pricing-card.featured .pricing-period{color:hsla(0,0%,100%,.6)}.pricing-features{list-style:none;text-align:left;font-size:11.5px;color:var(--text-mid);display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.pricing-card.featured .pricing-features{color:hsla(0,0%,100%,.8)}.pricing-features li{display:flex;align-items:center;gap:5px}.pricing-cta{width:100%;padding:8px 0;border-radius:7px;font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s;font-family:"Inter",sans-serif;border:1.5px solid var(--navy);color:var(--navy);background:rgba(0,0,0,0)}.pricing-cta:hover{background:var(--navy);color:#fff}.pricing-card.featured .pricing-cta{background:#fff;color:var(--navy);border-color:#fff}.pricing-card.featured .pricing-cta:hover{background:hsla(0,0%,100%,.9)}.runner-wrap{width:100%;max-width:540px}.runner-intro{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;background:#eff4fb;border:1px solid #c3d4ec;border-radius:10px;margin-bottom:20px;font-size:13px;color:var(--navy);line-height:1.5}.runner-intro svg{flex-shrink:0;margin-top:1px}.target-branch-field{margin:0 0 16px}.target-branch-field__header{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:8px}.target-branch-field__label{color:var(--text-mid);font-size:13px;font-weight:700}.target-branch-field__hint{color:var(--text-soft);font-size:12px;line-height:1.4;text-align:right}.target-branch-field__select{appearance:none;width:100%;height:40px;padding:0 40px 0 12px;border:1px solid var(--border-mid);border-radius:8px;background:#fff url("/assets/ui/select-chevron-down-5d138c6f.svg") no-repeat right 12px center;color:var(--text);font-family:"Inter",sans-serif;font-size:14px;font-weight:500;line-height:40px}.target-branch-field__select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,58,95,.1)}.target-branch-field__select:disabled{background-color:var(--bg-muted);color:var(--text-soft);cursor:not-allowed}.target-branch-field .help-text{margin:6px 0 0;color:var(--text-soft);font-size:12px}@media(max-width: 620px){.target-branch-field__header{align-items:flex-start;flex-direction:column;gap:4px}.target-branch-field__hint{text-align:left}}.runner-section-title{font-size:11px;font-weight:700;color:var(--text-mid);text-transform:uppercase;letter-spacing:.7px;margin-bottom:8px}.code-block{position:relative;background:#0d1117;border-radius:10px;overflow:hidden;margin-bottom:16px}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:#161b22;border-bottom:1px solid #30363d}.code-block-lang{font-size:11px;font-weight:600;color:#8b949e;font-family:"IBM Plex Mono",monospace;letter-spacing:.3px}.code-copy-btn{display:flex;align-items:center;gap:5px;padding:3px 10px;background:#21262d;border:1px solid #30363d;border-radius:5px;font-size:11px;font-weight:500;color:#8b949e;cursor:pointer;font-family:"Inter",sans-serif;transition:all .15s}.code-copy-btn:hover{background:#30363d;color:#c9d1d9;border-color:#8b949e}.code-copy-btn.copied{color:var(--green);border-color:var(--green);background:rgba(56,161,105,.1)}.code-block-body{padding:14px 16px;overflow-x:auto}.code-block-body pre{margin:0;font-family:"IBM Plex Mono",monospace;font-size:12.5px;color:#c9d1d9;line-height:1.6;white-space:pre}.code-line-comment{color:#8b949e}.code-line-key{color:#79c0ff}.code-line-val{color:#a5d6ff}.code-line-str{color:#a8d8a8}.code-line-var{color:#ffa657}.runner-verify-badge{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--green-bg);border:1px solid var(--green-border);border-radius:8px;font-size:13px;color:var(--green);font-weight:500;margin-bottom:20px}@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.stripe-layout{display:grid;grid-template-columns:320px 1fr;gap:32px;width:100%;max-width:860px;margin:0 auto;align-items:start}.stripe-summary{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:20px}.stripe-summary-header{display:flex;align-items:center;justify-content:space-between}.stripe-brand{display:flex;align-items:center;gap:9px}.stripe-brand-name{font-weight:700;font-size:15px;color:var(--navy)}.stripe-order-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-soft)}.stripe-plan-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px 16px}.stripe-plan-card .plan-name{font-weight:700;font-size:14px;color:var(--navy);display:flex;align-items:center;gap:8px}.stripe-plan-card .plan-badge{font-size:10px;font-weight:700;background:var(--navy);color:#fff;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.4px}.stripe-plan-card .plan-price-line{margin-top:6px;font-size:22px;font-weight:700;color:var(--text)}.stripe-plan-card .plan-price-line small{font-size:13px;font-weight:400;color:var(--text-soft)}.stripe-plan-card .plan-features{margin-top:10px;list-style:none;display:flex;flex-direction:column;gap:5px}.stripe-plan-card .plan-features li{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-mid)}.stripe-order-lines{display:flex;flex-direction:column;gap:9px}.stripe-order-line{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-mid)}.stripe-order-line--tax{font-size:12px;color:var(--text-soft)}.stripe-order-divider{border-top:1px solid var(--border);padding:0;margin:2px 0}.stripe-order-total{font-weight:700;font-size:14px;color:var(--text)}.stripe-reassurance{display:flex;flex-direction:column;gap:7px;padding-top:4px}.stripe-reassurance-item{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-soft)}.stripe-powered{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--text-soft);padding-top:4px;border-top:1px solid var(--border)}.stripe-form-col{background:#fff;border:1px solid var(--border);border-radius:14px;padding:28px 28px 24px;display:flex;flex-direction:column;gap:18px}.stripe-form-title{font-size:16px;font-weight:700;color:var(--navy);padding-bottom:4px;border-bottom:1px solid var(--border);margin-bottom:2px}.stripe-field-group{display:flex;flex-direction:column;gap:6px}.stripe-label{font-size:12.5px;font-weight:600;color:var(--text-mid);display:flex;align-items:center;gap:7px}.stripe-label-optional{font-weight:400;font-size:11.5px;color:var(--text-soft);background:var(--bg);padding:1px 7px;border-radius:4px;border:1px solid var(--border)}.stripe-input-wrap{display:flex;align-items:center;gap:9px;border:1.5px solid var(--border);border-radius:8px;padding:0 12px;height:42px;background:#fff;transition:border-color .15s,box-shadow .15s;position:relative}.stripe-input-wrap:focus-within,.stripe-input-wrap.focused{border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,58,95,.08)}.stripe-input-prefilled{background:var(--bg);cursor:default}.stripe-input-text{font-size:13.5px;color:var(--text-mid);flex:1}.stripe-card-input{flex:1;border:none;outline:none;background:rgba(0,0,0,0);font-size:14px;font-family:"IBM Plex Mono",monospace;color:var(--text);letter-spacing:.5px}.stripe-card-input::placeholder{color:var(--border-mid);font-family:"Inter",sans-serif;letter-spacing:0}.stripe-card-number{padding-right:8px}.stripe-card-brands{display:flex;gap:5px;align-items:center;flex-shrink:0}.stripe-select-wrap{padding-right:28px}.stripe-select{appearance:none;cursor:pointer;font-family:"Inter",sans-serif !important;letter-spacing:0 !important}.stripe-card-block{display:flex;flex-direction:column;gap:0}.stripe-pay-btn{display:flex;align-items:center;justify-content:center;gap:9px;background:var(--navy);color:#fff;border:none;border-radius:9px;height:48px;width:100%;font-family:"Inter",sans-serif;font-size:15px;font-weight:600;cursor:pointer;margin-top:4px;transition:background .15s,transform .1s}.stripe-pay-btn:hover{background:var(--navy-dark)}.stripe-pay-btn:active{transform:scale(0.99)}.stripe-pay-btn.loading{opacity:.7;pointer-events:none}.stripe-legal{font-size:11.5px;color:var(--text-soft);line-height:1.6;text-align:center}.ob-spinner{width:16px;height:16px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:ob-spin .7s linear infinite}.payment-confirm-wrap{display:flex;flex-direction:column;align-items:center;gap:16px;max-width:460px;margin:0 auto;text-align:center;padding:16px 0 24px}.payment-confirm-icon{width:68px;height:68px;background:var(--green-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--green-border)}.payment-confirm-title{font-size:22px;font-weight:700;color:var(--text)}.payment-confirm-sub{font-size:14px;color:var(--text-mid);line-height:1.6}.payment-confirm-receipt{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-top:4px}.receipt-line{display:flex;justify-content:space-between;align-items:center;padding:11px 18px;font-size:13px;color:var(--text-mid);border-bottom:1px solid var(--border)}.receipt-line:last-child{border-bottom:none}.receipt-line span:last-child{font-weight:600;color:var(--text)}.btn-primary:focus-visible,.btn-oauth:focus-visible,.stripe-pay-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.token-input:focus-visible,.repo-search:focus-visible,.stripe-card-input:focus-visible{outline:none}.onboarding .btn-primary{width:100%;height:42px;background:var(--navy);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;font-family:"Inter",sans-serif;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px}.onboarding .btn-primary:hover{background:var(--navy-light);transform:translateY(-1px);box-shadow:0 4px 14px rgba(30,58,95,.3)}.onboarding .btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.repo-list::-webkit-scrollbar{width:5px}.repo-list::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:3px}.btn-step1-next{width:100% !important;max-width:440px !important;margin-bottom:12px !important;opacity:.4;cursor:not-allowed}.btn-step1-next:disabled{opacity:.4;cursor:not-allowed}.btn-step3-next{width:100% !important;max-width:480px !important;margin-bottom:12px !important;opacity:.4;cursor:not-allowed}.btn-step3-next:disabled{opacity:.4;cursor:not-allowed}.btn-token-validate{width:100% !important;margin-top:12px !important;height:40px !important;font-size:13.5px !important}.btn-step4-next{width:100% !important;max-width:540px !important;margin-bottom:12px !important}.btn-step2-continue{width:100% !important;height:42px !important;font-size:14px !important}.btn-step8-dashboard{width:100% !important;max-width:420px !important;margin-top:8px !important}.badge-recommended{font-size:10px;background:#eff4fb;color:var(--navy);padding:2px 7px;border-radius:4px;font-weight:600;letter-spacing:.3px;text-transform:none}.config-section-hidden{display:none}.config-section-visible{display:block}.token-selfhosted-notice{display:none;align-items:flex-start;gap:9px;padding:10px 14px;background:#fff8f0;border:1px solid #fbd38d;border-radius:8px;margin-bottom:14px;font-size:12.5px;color:#744210;line-height:1.5}.token-selfhosted-notice.visible{display:flex}.token-selfhosted-notice-icon{flex-shrink:0;margin-top:1px}.token-selfhosted-notice-text code{font-family:"IBM Plex Mono",monospace;font-size:11px;background:rgba(0,0,0,.06);padding:1px 4px;border-radius:3px}.conn-name-section{display:none;margin-top:16px;width:100%;max-width:440px}.conn-name-section.visible{display:block}.conn-name-confirm{display:flex;align-items:center;gap:8px;margin-bottom:14px}.conn-name-confirm-icon{color:var(--green)}.conn-name-confirm-text{font-size:13px;font-weight:600;color:var(--green)}.conn-name-label{font-size:12px;font-weight:600;color:var(--text-mid);display:block;margin-bottom:6px}.conn-name-input{width:100%;padding:9px 12px;border:1.5px solid var(--border-mid);border-radius:7px;font-size:13px;color:var(--text);outline:none;font-family:"Inter",sans-serif;margin-bottom:6px}.conn-name-input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,58,95,.1)}.conn-name-help{font-size:12px;color:var(--text-soft);margin-bottom:16px}.back-to-platform{margin-top:8px}.config-box-padding{padding:18px 20px}.field-label{font-size:12px;font-weight:600;color:var(--text-mid);display:block;margin-bottom:6px}.field-wrap{position:relative}.field-input{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;font-family:"Inter",sans-serif;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.field-input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,58,95,.1)}.field-input::placeholder{color:var(--text-soft)}.svg-flex-shrink{flex-shrink:0;margin-top:1px}.svg-code-indicator{font-family:"IBM Plex Mono",monospace;font-size:11px;background:var(--bg);border:1px solid var(--border);padding:1px 5px;border-radius:4px;color:var(--navy)}.code-wrapper{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:16px}.code-grid-header{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border);background:var(--bg)}.code-grid-cell{padding:8px 14px;font-size:11px;font-weight:700;color:var(--text-mid);text-transform:uppercase;letter-spacing:.5px}.code-grid-cell-border{border-left:1px solid var(--border)}.code-grid-body{display:grid;grid-template-columns:1fr 1fr}.code-grid-row{padding:11px 14px;font-size:12.5px;border-left:1px solid var(--border)}.code-grid-row:last-child{border-left:none}.code-grid-cell-key{font-family:"IBM Plex Mono",monospace;color:var(--navy);font-weight:600}.code-grid-cell-value{color:var(--text-soft);font-style:italic}.code-grid-cell-value code{font-family:"IBM Plex Mono",monospace;font-size:11px;background:var(--bg);border:1px solid var(--border);padding:1px 4px;border-radius:3px}.stripe-card-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.stripe-card-expiry-wrap{position:relative}.stripe-card-cvc-wrap{position:relative}.stripe-card-cvc-wrap svg{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;opacity:.4}.stripe-card-cvc-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;opacity:.4}.stripe-field-email-icon{flex-shrink:0;color:var(--text-soft)}.stripe-field-email-check{flex-shrink:0;margin-left:auto}.stripe-country-select-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none}.paywall-header-spacing{margin-bottom:16px}.runner-icon-wrap{flex-shrink:0;margin-top:1px}.runner-link{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:2px}.runner-link:hover{text-decoration:underline}.code-inline{font-family:"IBM Plex Mono",monospace;font-size:11px}.code-inline-standard{font-family:"IBM Plex Mono",monospace;font-size:11px}.accent-bold{font-weight:600}.accent-strong strong{font-weight:600}.d-none{display:none}.d-flex{display:flex}.d-grid{display:grid}.d-block{display:block}.d-inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-center{align-items:center;justify-content:center}.flex-center-align{align-items:center}.flex-center-justify{justify-content:center}.flex-space-between{justify-content:space-between}.flex-start-align{align-items:flex-start}.flex-icon-label{display:flex;align-items:center;gap:8px}.gap-4{gap:4px}.gap-5{gap:5px}.gap-6{gap:6px}.gap-7{gap:7px}.gap-8{gap:8px}.gap-9{gap:9px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-14{gap:14px}.gap-16{gap:16px}.gap-18{gap:18px}.gap-20{gap:20px}.gap-24{gap:24px}.gap-32{gap:32px}.p-0{padding:0}.p-2{padding:2px}.p-4{padding:4px}.p-8{padding:8px}.p-10{padding:10px}.p-12{padding:12px}.p-14{padding:14px}.p-16{padding:16px}.p-18{padding:18px}.p-20{padding:20px}.p-24{padding:24px}.p-28{padding:28px}.px-12{padding-left:12px;padding-right:12px}.px-14{padding-left:14px;padding-right:14px}.px-16{padding-left:16px;padding-right:16px}.px-18{padding-left:18px;padding-right:18px}.px-20{padding-left:20px;padding-right:20px}.py-8{padding-top:8px;padding-bottom:8px}.py-10{padding-top:10px;padding-bottom:10px}.py-11{padding-top:11px;padding-bottom:11px}.py-12{padding-top:12px;padding-bottom:12px}.py-14{padding-top:14px;padding-bottom:14px}.py-18{padding-top:18px;padding-bottom:18px}.py-24{padding-top:24px;padding-bottom:24px}.pt-1{padding-top:1px}.pt-2{padding-top:2px}.pt-4{padding-top:4px}.pt-6{padding-top:6px}.pb-4{padding-bottom:4px}.pb-12{padding-bottom:12px}.pb-14{padding-bottom:14px}.pb-16{padding-bottom:16px}.pb-20{padding-bottom:20px}.m-0{margin:0}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.mt-1{margin-top:1px}.mt-2{margin-top:2px}.mt-3{margin-top:3px}.mt-4{margin-top:4px}.mt-6{margin-top:6px}.mt-8{margin-top:8px}.mt-10{margin-top:10px}.mt-12{margin-top:12px}.mt-14{margin-top:14px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mt-28{margin-top:28px}.mb-2{margin-bottom:2px}.mb-4{margin-bottom:4px}.mb-6{margin-bottom:6px}.mb-7{margin-bottom:7px}.mb-8{margin-bottom:8px}.mb-10{margin-bottom:10px}.mb-12{margin-bottom:12px}.mb-14{margin-bottom:14px}.mb-16{margin-bottom:16px}.mb-18{margin-bottom:18px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.mb-28{margin-bottom:28px}.ml-auto{margin-left:auto}.mr-12{margin-right:12px}.w-full{width:100%}.w-fit{width:fit-content}.max-w-34{max-width:34px}.max-w-420{max-width:420px}.max-w-440{max-width:440px}.max-w-460{max-width:460px}.max-w-480{max-width:480px}.max-w-520{max-width:520px}.max-w-540{max-width:540px}.max-w-560{max-width:560px}.max-w-860{max-width:860px}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.text-center{text-align:center}.text-left{text-align:left}.z-1{z-index:1}.font-size-9{font-size:9.5px}.font-size-10{font-size:10px}.font-size-11{font-size:11px}.font-size-11-5{font-size:11.5px}.font-size-12{font-size:12px}.font-size-12-5{font-size:12.5px}.font-size-13{font-size:13px}.font-size-13-5{font-size:13.5px}.font-size-14{font-size:14px}.font-size-15{font-size:15px}.font-size-16{font-size:16px}.font-size-22{font-size:22px}.font-size-26{font-size:26px}.font-weight-400{font-weight:400}.font-weight-500{font-weight:500}.font-weight-600{font-weight:600}.font-weight-700{font-weight:700}.font-weight-800{font-weight:800}.font-mono{font-family:"IBM Plex Mono",monospace}.font-sans{font-family:"Inter",sans-serif}.line-height-1-2{line-height:1.2}.line-height-1-4{line-height:1.4}.line-height-1-5{line-height:1.5}.line-height-1-6{line-height:1.6}.letter-spacing-neg-03{letter-spacing:-0.3px}.letter-spacing-neg-04{letter-spacing:-0.4px}.letter-spacing-neg-05{letter-spacing:-0.5px}.letter-spacing-03{letter-spacing:.3px}.letter-spacing-04{letter-spacing:.4px}.letter-spacing-05{letter-spacing:.5px}.letter-spacing-06{letter-spacing:.6px}.letter-spacing-07{letter-spacing:.7px}.text-default{color:var(--text)}.text-mid{color:var(--text-mid)}.text-soft{color:var(--text-soft)}.text-green{color:var(--green)}.text-navy{color:var(--navy)}.text-white{color:#fff}.bg-white{background:#fff}.bg-card{background:var(--bg-card)}.bg-light{background:var(--bg)}.bg-navy{background:var(--navy)}.bg-orange-light{background:#fff8f0}.bg-green-light{background:var(--green-bg)}.bg-blue-light{background:#eff4fb}.border-none{border:none}.border-standard{border:1px solid var(--border)}.border-2{border:2px solid var(--border)}.border-mid{border:1px solid var(--border-mid)}.border-1-5{border:1.5px solid var(--border)}.border-1-5-mid{border:1.5px solid var(--border-mid)}.border-green{border:1px solid var(--green-border)}.border-orange{border:1px solid #fbd38d}.border-b{border-bottom:1px solid var(--border)}.border-l{border-left:1px solid var(--border)}.border-l-mid{border-left:1px solid var(--border-mid)}.border-t{border-top:1px solid var(--border)}.border-radius-3{border-radius:3px}.border-radius-4{border-radius:4px}.border-radius-5{border-radius:5px}.border-radius-6{border-radius:6px}.border-radius-7{border-radius:7px}.border-radius-8{border-radius:8px}.border-radius-9{border-radius:9px}.border-radius-10{border-radius:10px}.border-radius-12{border-radius:12px}.border-radius-14{border-radius:14px}.border-radius-18{border-radius:18px}.border-radius-24{border-radius:24px}.border-radius-50{border-radius:50%}.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.05)}.shadow-md{box-shadow:0 4px 6px rgba(0,0,0,.1)}.shadow-lg{box-shadow:0 10px 15px rgba(0,0,0,.1)}.shadow-dark-sm{box-shadow:0 4px 12px rgba(0,0,0,.08)}.shadow-dark-md{box-shadow:0 4px 12px rgba(0,0,0,.2)}.shadow-dark-lg{box-shadow:0 8px 24px rgba(30,58,95,.1)}.shadow-navy-lg{box-shadow:0 10px 28px rgba(30,58,95,.3)}.h-40{height:40px}.h-42{height:42px}.h-44{height:44px}.h-48{height:48px}.h-68{height:68px}.h-72{height:72px}.max-h-248{max-height:248px}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-auto{overflow-x:auto}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.appearance-none{appearance:none}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.user-select-none{user-select:none}.whitespace-nowrap{white-space:nowrap}.overflow-hidden{overflow:hidden}.text-overflow-ellipsis{text-overflow:ellipsis}.pointer-events-none{pointer-events:none}.transition-all{transition:all .15s}.transition-colors{transition:border-color .15s,box-shadow .15s}.transition-transform{transition:transform .2s}.scale-99{transform:scale(0.99)}.translate-y-neg-1{transform:translateY(-1px)}.translate-y-neg-2{transform:translateY(-2px)}.translate-y-50{transform:translateY(-50%)}.translate-x-neg-50{transform:translateX(-50%)}.opacity-4{opacity:.4}.opacity-6{opacity:.6}.opacity-7{opacity:.7}.grid-cols-2{grid-template-columns:1fr 1fr}.svg-icon-14{width:14px;height:14px}.svg-icon-16{width:16px;height:16px}.svg-icon-18{width:18px;height:18px}.stripe-card-input-wrap{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:8px;padding:0 12px;background:#fff;transition:border-color .15s,box-shadow .15s}.stripe-card-input-wrap:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,58,95,.08)}.stripe-field-icon{flex-shrink:0;color:var(--text-soft)}.stripe-field-text{font-size:13.5px;color:var(--text-mid);flex:1}.stripe-field-check{flex-shrink:0;margin-left:auto;color:var(--green)}.badge-orange-light{font-size:10px;background:#eff4fb;color:var(--navy);padding:2px 7px;border-radius:4px;font-weight:600;letter-spacing:.3px;text-transform:none}.warning-notice{display:flex;align-items:flex-start;gap:9px;padding:10px 14px;background:#fff8f0;border:1px solid #fbd38d;border-radius:8px;font-size:12.5px;color:#744210;line-height:1.5}.warning-notice svg{flex-shrink:0;margin-top:1px}.warning-notice-text strong{font-weight:600}.warning-notice-text code{font-family:"IBM Plex Mono",monospace;font-size:11px;background:rgba(0,0,0,.06);padding:1px 4px;border-radius:3px}.btn-disabled-state{opacity:.4;cursor:not-allowed}.btn-disabled-state:hover,.btn-disabled-state:active{opacity:.4;transform:none;box-shadow:none}.flex-icon-text{display:flex;align-items:center;gap:8px}.flex-icon-text svg{flex-shrink:0}.code-inline-tag{font-family:"IBM Plex Mono",monospace;font-size:11px;background:var(--bg);border:1px solid var(--border);padding:1px 5px;border-radius:4px;color:var(--navy)}.code-inline-standard{font-family:"IBM Plex Mono",monospace;font-size:11px;background:var(--bg);border:1px solid var(--border);padding:1px 4px;border-radius:3px}.add-project-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(30,58,95,.45);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.add-project-modal-overlay[hidden]{display:none}.add-project-modal-container,.add-project-modal-container.onboarding--modal{background:#fff;border-radius:16px;width:520px !important;max-width:95vw !important;height:auto !important;max-height:90vh;min-height:0 !important;display:flex !important;flex-direction:column;align-items:stretch !important;justify-content:flex-start !important;overflow:hidden;background-clip:padding-box;padding:0 !important;box-shadow:0 20px 60px rgba(0,0,0,.18);animation:ap-modal-in .18s ease-out}@keyframes ap-modal-in{from{opacity:0;transform:translateY(8px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}.add-project-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px 18px;background:#fff;border-bottom:1px solid var(--border);border-radius:16px 16px 0 0;flex-shrink:0}.add-project-modal-titles{min-width:0}.add-project-modal-title{font-size:16px;font-weight:700;color:var(--navy);letter-spacing:-0.2px;line-height:1.2}.add-project-modal-subtitle{font-size:12px;color:var(--text-soft);margin-top:3px}.add-project-modal-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.apm-step-dots{display:flex;align-items:center;gap:5px}.apm-step-dot{width:8px;height:8px;border-radius:50%;background:var(--border);border:1.5px solid var(--border-mid);transition:background .2s,border-color .2s,transform .2s;display:inline-block}.apm-step-dot.active{background:var(--navy);border-color:var(--navy)}.apm-step-dot.done{background:var(--green);border-color:var(--green)}.apm-step-line{display:inline-block;width:16px;height:1px;background:var(--border);transition:background .2s}.apm-step-line.done{background:var(--green)}.add-project-modal-close{width:30px;height:30px;border-radius:6px;border:none;background:rgba(0,0,0,0);color:var(--text-soft);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;transition:background .15s,color .15s}.add-project-modal-close:hover{background:#f7fafc;color:var(--text)}.add-project-modal-body{overflow-y:auto;flex:1;background:#fff}html{scrollbar-gutter:stable}body.modal-open{overflow:hidden}html[data-theme=dark] .add-project-modal-overlay{background:rgba(5,10,16,.68)}html[data-theme=dark] .add-project-modal-container,html[data-theme=dark] .add-project-modal-container.onboarding--modal,html[data-theme=dark] .add-project-modal-header,html[data-theme=dark] .add-project-modal-body,html[data-theme=dark] .onboarding--modal .ob-substep,html[data-theme=dark] .onboarding--modal .ob-card,html[data-theme=dark] .onboarding--modal .platform-card,html[data-theme=dark] .onboarding--modal .repo-card,html[data-theme=dark] .onboarding--modal .ci-card,html[data-theme=dark] .onboarding--modal .pricing-card,html[data-theme=dark] .onboarding--modal .token-box,html[data-theme=dark] .onboarding--modal .gl-mode-card{background:var(--bg-card);border-color:var(--border);color:var(--text)}html[data-theme=dark] .add-project-modal-title,html[data-theme=dark] .onboarding--modal .ob-title,html[data-theme=dark] .onboarding--modal .step-title,html[data-theme=dark] .onboarding--modal h1,html[data-theme=dark] .onboarding--modal h2,html[data-theme=dark] .onboarding--modal h3{color:var(--text)}html[data-theme=dark] .add-project-modal-subtitle,html[data-theme=dark] .onboarding--modal .ob-subtitle,html[data-theme=dark] .onboarding--modal .step-subtitle,html[data-theme=dark] .onboarding--modal .platform-desc,html[data-theme=dark] .onboarding--modal .repo-meta,html[data-theme=dark] .onboarding--modal .text-soft{color:var(--text-soft)}html[data-theme=dark] .add-project-modal-close:hover,html[data-theme=dark] .onboarding--modal .platform-card:hover,html[data-theme=dark] .onboarding--modal .repo-card:hover,html[data-theme=dark] .onboarding--modal .gl-mode-card:hover{background:var(--bg-muted)}html[data-theme=dark] .onboarding--modal .platform-card.selected,html[data-theme=dark] .onboarding--modal .repo-card.selected,html[data-theme=dark] .onboarding--modal .gl-mode-card.selected{background:var(--blue-bg);border-color:var(--blue-border)}@media(prefers-color-scheme: dark){html[data-theme=system] .add-project-modal-overlay{background:rgba(5,10,16,.68)}html[data-theme=system] .add-project-modal-container,html[data-theme=system] .add-project-modal-container.onboarding--modal,html[data-theme=system] .add-project-modal-header,html[data-theme=system] .add-project-modal-body,html[data-theme=system] .onboarding--modal .ob-substep,html[data-theme=system] .onboarding--modal .ob-card,html[data-theme=system] .onboarding--modal .platform-card,html[data-theme=system] .onboarding--modal .repo-card,html[data-theme=system] .onboarding--modal .ci-card,html[data-theme=system] .onboarding--modal .pricing-card,html[data-theme=system] .onboarding--modal .token-box,html[data-theme=system] .onboarding--modal .gl-mode-card{background:var(--bg-card);border-color:var(--border);color:var(--text)}html[data-theme=system] .add-project-modal-title,html[data-theme=system] .onboarding--modal .ob-title,html[data-theme=system] .onboarding--modal .step-title,html[data-theme=system] .onboarding--modal h1,html[data-theme=system] .onboarding--modal h2,html[data-theme=system] .onboarding--modal h3{color:var(--text)}html[data-theme=system] .add-project-modal-subtitle,html[data-theme=system] .onboarding--modal .ob-subtitle,html[data-theme=system] .onboarding--modal .step-subtitle,html[data-theme=system] .onboarding--modal .platform-desc,html[data-theme=system] .onboarding--modal .repo-meta,html[data-theme=system] .onboarding--modal .text-soft{color:var(--text-soft)}html[data-theme=system] .add-project-modal-close:hover,html[data-theme=system] .onboarding--modal .platform-card:hover,html[data-theme=system] .onboarding--modal .repo-card:hover,html[data-theme=system] .onboarding--modal .gl-mode-card:hover{background:var(--bg-muted)}html[data-theme=system] .onboarding--modal .platform-card.selected,html[data-theme=system] .onboarding--modal .repo-card.selected,html[data-theme=system] .onboarding--modal .gl-mode-card.selected{background:var(--blue-bg);border-color:var(--blue-border)}}.onboarding--modal .d-none{display:none !important}.onboarding--modal{height:auto;min-height:0;background:rgba(0,0,0,0);align-items:stretch;justify-content:flex-start;overflow:visible;padding:0}.onboarding--modal .ob-logo,.onboarding--modal .ob-progress,.onboarding--modal .skip-link,.onboarding--modal .security-note,.onboarding--modal .loader-leave-notice,.onboarding--modal .loader-dashboard-link,.onboarding--modal .loader-icon-wrap,.onboarding--modal .loader-bar-wrap{display:none !important}.onboarding--modal .ob-substep{display:none;padding:24px;max-width:100%;width:auto;margin:0;background:rgba(0,0,0,0);box-shadow:none;border:0;text-align:left}.onboarding--modal .ob-substep.active{display:flex;flex-direction:column;align-items:stretch}.onboarding--modal .ob-header{display:none !important}.onboarding--modal .ob-substep::before{display:block;font-size:12px;font-weight:700;color:var(--text-mid);text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px}.onboarding--modal .ob-substep:has(.platform-cards)::before{content:"Choisissez votre plateforme"}.onboarding--modal .ob-substep:has(.config-box)::before{content:"Connexion au dépôt"}.onboarding--modal .ob-substep:has(.repo-search-wrap)::before{content:"Sélectionnez un dépôt"}.onboarding--modal .ob-substep:has(.runner-wrap)::before{content:"Runner CI"}.onboarding--modal .ob-substep:has(.loader-wrap)::before{content:"Analyse en cours"}.onboarding--modal .platform-cards{display:flex;gap:14px;width:100%;max-width:none;align-self:stretch;margin:0 0 24px}.onboarding--modal .platform-card{flex:1;border:2px solid var(--border);border-radius:10px;padding:20px 14px;text-align:center;cursor:pointer;transition:all .15s;background:#fff;position:relative;display:flex;flex-direction:column;align-items:center;gap:0}.onboarding--modal .platform-card:hover{border-color:var(--border-mid)}.onboarding--modal .platform-card.selected{border-color:var(--navy);background:#eff4fb}.onboarding--modal .platform-check{display:none !important}.onboarding--modal .platform-icon{width:32px;height:32px;border-radius:0 !important;background:rgba(0,0,0,0) !important;margin:0 auto 8px !important;display:flex;align-items:center;justify-content:center;background-repeat:no-repeat !important;background-position:center !important;background-size:32px 32px !important}.onboarding--modal .platform-icon img{display:none !important}.onboarding--modal .platform-icon-gh{background-image:url("/assets/onboarding/github-icon-color-68ffe5c0.svg") !important}.onboarding--modal .platform-icon-gl{background-image:url("/assets/onboarding/gitlab-icon-color-fa2f66b0.svg") !important}.onboarding--modal .platform-name{font-size:13px;font-weight:600;color:var(--text);margin:0}.onboarding--modal .platform-desc{font-size:11px;color:var(--text-soft);margin-top:2px;line-height:1.4}.onboarding--modal .btn-step1-next,.onboarding--modal .btn-step3-next,.onboarding--modal .btn-step4-next,.onboarding--modal .btn-step2-continue,.onboarding--modal .btn-token-validate,.onboarding--modal .btn-step4-create-mr{height:auto !important;margin-bottom:0 !important;margin-top:0 !important;transform:none !important;box-shadow:none !important}.onboarding--modal .btn-step1-next,.onboarding--modal .btn-step3-next,.onboarding--modal .btn-step4-next,.onboarding--modal .btn-step2-continue{background:var(--navy);color:#fff;border:none;border-radius:8px;padding:10px 22px !important;font-size:13px !important;font-weight:600;cursor:pointer;width:auto !important;max-width:none !important;min-width:0;display:inline-flex !important;align-items:center;gap:7px;align-self:flex-end;transition:opacity .15s,background .15s;transform:none !important;box-shadow:none !important}.onboarding--modal .btn-step1-next:disabled,.onboarding--modal .btn-step3-next:disabled,.onboarding--modal .btn-step4-next:disabled,.onboarding--modal .btn-step2-continue:disabled{opacity:.4;cursor:not-allowed}.onboarding--modal .btn-step1-next:not(:disabled):hover,.onboarding--modal .btn-step3-next:not(:disabled):hover,.onboarding--modal .btn-step4-next:not(:disabled):hover,.onboarding--modal .btn-step2-continue:not(:disabled):hover{background:var(--navy-dark);transform:none;box-shadow:none}.onboarding--modal .btn-step1-next img,.onboarding--modal .btn-step3-next img,.onboarding--modal .btn-step4-next img,.onboarding--modal .btn-step2-continue img{width:13px;height:13px}.onboarding--modal .btn-token-validate,.onboarding--modal .btn-step4-create-mr{width:100% !important;padding:10px 14px !important;font-size:13px !important}.onboarding--modal .btn-token-validate img,.onboarding--modal .btn-step4-create-mr img{width:14px;height:14px}.onboarding--modal .config-box{background:rgba(0,0,0,0);box-shadow:none;border:0;padding:0;margin:0;width:100%;max-width:100%}.onboarding--modal .config-box-padding{padding:0}.onboarding--modal .config-section{margin-bottom:16px;padding:0;border:0}.onboarding--modal .config-section+.config-section{margin-top:16px}.onboarding--modal .config-section-title{font-size:12px;font-weight:700;color:var(--text-mid);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.onboarding--modal .gitlab-modes{display:flex;gap:8px;margin-bottom:10px}.onboarding--modal .gl-mode-btn{flex:1;padding:8px;border:1.5px solid var(--border-mid);border-radius:7px;font-size:12.5px;font-weight:500;background:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--text)}.onboarding--modal .gl-mode-btn.active{background:#eff4fb;border-color:var(--navy);color:var(--navy);font-weight:600}.onboarding--modal .gl-url-field{display:none;margin-bottom:10px}.onboarding--modal .gl-url-field.visible{display:block}.onboarding--modal .field-label{font-size:12px;font-weight:600;color:var(--text-mid);margin-bottom:6px;display:block}.onboarding--modal .field-input,.onboarding--modal .token-input,.onboarding--modal .conn-name-input,.onboarding--modal .repo-search,.onboarding--modal input[type=text].form-control,.onboarding--modal input[data-onboarding-target=renovateTokenInput]{width:100%;padding:9px 12px;border:1.5px solid var(--border-mid);border-radius:7px;font-size:13px;color:var(--text);background:#fff;outline:none;font-family:var(--font-family-sans)}.onboarding--modal .field-input:focus,.onboarding--modal .token-input:focus,.onboarding--modal .conn-name-input:focus,.onboarding--modal .repo-search:focus,.onboarding--modal input[type=text].form-control:focus,.onboarding--modal input[data-onboarding-target=renovateTokenInput]:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,58,95,.1)}.onboarding--modal .token-input{font-family:var(--font-family-mono)}.onboarding--modal .btn-oauth{width:100%;padding:11px 16px;border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;margin-bottom:10px;display:flex;align-items:center;justify-content:center;gap:9px}.onboarding--modal .btn-oauth-gh{background:#24292f}.onboarding--modal .btn-oauth-gh:hover{background:#1b1f23}.onboarding--modal .btn-oauth-gl{background:#fc6d26}.onboarding--modal .btn-oauth-gl:hover{background:#e24329}.onboarding--modal .gitlab-connection-list{display:flex;flex-direction:column;gap:8px}.onboarding--modal .gitlab-connection-row{width:100%;min-height:54px;padding:10px 12px;border:1.5px solid var(--border-mid);border-radius:8px;background:var(--bg-card);color:var(--text);display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}.onboarding--modal .gitlab-connection-row:hover{border-color:var(--navy);background:var(--bg-muted)}.onboarding--modal .gitlab-connection-icon{width:32px;height:32px;border:1px solid var(--border);border-radius:7px;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.onboarding--modal .gitlab-connection-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.onboarding--modal .gitlab-connection-name{font-size:13px;font-weight:700;color:var(--text)}.onboarding--modal .gitlab-connection-meta{font-size:11.5px;color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onboarding--modal .gitlab-connection-status{font-size:11px;font-weight:700;color:var(--green);background:var(--green-bg);border:1px solid var(--green-border);border-radius:999px;padding:3px 8px;flex-shrink:0}.onboarding--modal .gitlab-add-connection{width:100%;margin-top:10px;padding:9px 12px;border:1.5px dashed var(--border-mid);border-radius:8px;background:rgba(0,0,0,0);color:var(--text-soft);font-size:12.5px;font-weight:600;cursor:pointer}.onboarding--modal .gitlab-add-connection:hover{border-color:var(--navy);color:var(--navy);background:var(--bg-muted)}.onboarding--modal .oauth-hint{font-size:11.5px;color:var(--text-soft);text-align:center;margin:0 0 14px}.onboarding--modal .token-toggle{background:none;border:none;color:var(--text-soft);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;width:100%;padding:8px 0;position:relative;margin-bottom:12px}.onboarding--modal .token-toggle::before,.onboarding--modal .token-toggle::after{content:"";flex:1;height:1px;background:var(--border);margin:0 10px}.onboarding--modal .token-toggle .token-toggle-icon{display:none}.onboarding--modal .token-body{display:none;padding-top:0}.onboarding--modal .token-body.open{display:block}.onboarding--modal .token-input-wrap{margin-bottom:10px}.onboarding--modal .token-help{font-size:11.5px;color:var(--text-soft);margin-bottom:12px}.onboarding--modal .token-help a{color:var(--navy)}.onboarding--modal .btn-token-validate{width:100%;padding:10px;background:var(--navy);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.onboarding--modal .btn-token-validate:disabled{opacity:.4;cursor:not-allowed}.onboarding--modal .btn-token-validate:not(:disabled):hover{background:var(--navy-dark)}.onboarding--modal .warning-notice{display:flex;align-items:flex-start;gap:9px;padding:10px 14px;background:#fff8f0;border:1px solid #fbd38d;border-radius:8px;margin-bottom:12px;font-size:12.5px;color:#744210;line-height:1.5}.onboarding--modal .warning-notice img{flex-shrink:0;margin-top:1px;width:15px;height:15px}.onboarding--modal .conn-name-section{display:none;margin-top:16px;padding-top:16px;border-top:1px solid var(--border);width:100%;max-width:100%}.onboarding--modal .conn-name-confirm{display:flex;align-items:center;gap:8px;margin-bottom:10px}.onboarding--modal .conn-name-confirm .conn-name-confirm-icon{width:13px;height:13px}.onboarding--modal .conn-name-confirm .conn-name-confirm-text{font-size:12.5px;font-weight:600;color:var(--green)}.onboarding--modal .conn-name-label{font-size:12px;font-weight:600;color:var(--text-mid);display:block;margin-bottom:6px}.onboarding--modal .conn-name-help{font-size:11.5px;color:var(--text-soft);margin-bottom:14px}.onboarding--modal .btn-step2-continue{background:var(--navy);color:#fff;border:none;border-radius:8px;padding:10px 22px;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:7px;margin-left:auto}.onboarding--modal .btn-step2-continue:hover{background:var(--navy-dark)}.onboarding--modal .back-to-platform{margin-top:14px}.onboarding--modal .back-to-platform .skip-link{display:inline-block !important;background:none;border:none;color:var(--text-soft);font-size:12px;cursor:pointer;padding:0}.onboarding--modal .repo-search-wrap{position:relative;margin-bottom:10px}.onboarding--modal .repo-search-wrap .repo-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:14px;height:14px;pointer-events:none;opacity:.7}.onboarding--modal .repo-search-wrap .repo-search{padding-left:34px}.onboarding--modal .repo-list{border:1px solid var(--border);border-radius:8px;overflow:hidden;max-height:220px;overflow-y:auto;margin-bottom:6px}.onboarding--modal .repo-row{display:flex;align-items:center;gap:12px;padding:11px 14px;cursor:pointer;border-bottom:1px solid var(--border);background:#fff;transition:background .1s}.onboarding--modal .repo-row:last-child{border-bottom:0}.onboarding--modal .repo-row:hover{background:#f7fafc}.onboarding--modal .repo-row.selected{background:#eff4fb}.onboarding--modal .repo-row .repo-radio{width:14px;height:14px;border:1.5px solid var(--border-mid);border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:#fff}.onboarding--modal .repo-row.selected .repo-radio{border-color:var(--navy)}.onboarding--modal .repo-row.selected .repo-radio .repo-radio-dot{width:6px;height:6px;border-radius:50%;background:var(--navy)}.onboarding--modal .repo-row .repo-row-name{font-family:var(--font-family-mono);font-size:12px;font-weight:500;color:var(--text)}.onboarding--modal .repo-row .repo-row-meta{font-size:11px;color:var(--text-soft);display:flex;gap:10px;margin-top:2px}.onboarding--modal .repo-row .lang-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle}.onboarding--modal .repo-select-note{font-size:11.5px;color:var(--text-soft);margin:6px 0 18px}.onboarding--modal .btn-step3-next{margin-left:auto}.onboarding--modal .runner-wrap{padding:0}.onboarding--modal .runner-intro{display:flex;align-items:flex-start;gap:9px;padding:11px 14px;background:#eff4fb;border:1px solid #c3d4ec;border-radius:8px;margin-bottom:18px;font-size:12.5px;color:var(--navy);line-height:1.5}.onboarding--modal .runner-intro .runner-icon-wrap{width:14px;height:14px;flex-shrink:0;margin-top:1px}.onboarding--modal .btn-step4-create-mr{background:var(--navy);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;justify-content:center;gap:8px;margin-bottom:14px !important}.onboarding--modal .btn-step4-create-mr:hover{background:var(--navy-dark)}.onboarding--modal .mr-status-section{margin-bottom:14px}.onboarding--modal .mr-status-card{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--green-bg);border:1px solid var(--green-border);border-radius:10px;margin-bottom:14px}.onboarding--modal .mr-status-card .mr-status-link{font-size:13px;font-weight:600;color:var(--green-dark);text-decoration:none}.onboarding--modal .mr-status-card .mr-status-text{font-size:12px;color:var(--green);margin-top:2px}.onboarding--modal .renovate-token-section{margin-top:14px !important}.onboarding--modal .renovate-token-section .section-title{font-size:12px;font-weight:700;color:var(--text-mid);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.onboarding--modal .renovate-token-section .btn-secondary{background:#fff;color:var(--navy);border:1.5px solid var(--border-mid);border-radius:8px;padding:9px 14px;font-size:12.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.onboarding--modal .renovate-token-section .btn-secondary:hover{border-color:var(--navy);background:#eff4fb}.onboarding--modal .renovate-token-section .help-text{font-size:11.5px;color:var(--text-soft);margin:8px 0 0}.onboarding--modal .renovate-token-section .error-message{font-size:12px;color:var(--red);margin:8px 0 0}.onboarding--modal .mr-error{font-size:12px;color:var(--red);background:var(--red-bg);border:1px solid var(--red-border);border-radius:8px;padding:8px 12px;margin-bottom:12px}.onboarding--modal .btn-step4-next{margin-left:auto}.onboarding--modal .btn-step3-next+.skip-link,.onboarding--modal .btn-step4-next+.skip-link{display:none}.onboarding--modal .loader-wrap{width:100%;max-width:412px;margin:0 auto;padding:8px 0 0;text-align:center;align-self:center}.onboarding--modal .loader-title{font-size:14px;font-weight:600;color:var(--navy);margin:8px 0 4px}.onboarding--modal .loader-subtitle{font-size:12px;color:var(--text-soft);margin-bottom:16px}.onboarding--modal .loader-steps{display:flex;flex-direction:column;gap:10px;text-align:left;margin-bottom:14px}.onboarding--modal .loader-step{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:12.5px;color:var(--text-mid);background:#fff}.onboarding--modal .loader-step.running{border-color:var(--navy);color:var(--navy);background:#eff4fb}.onboarding--modal .loader-step.done{border-color:var(--green-border);color:var(--green-dark);background:var(--green-bg)}.onboarding--modal .loader-step .loader-step-icon{width:16px;height:16px;flex-shrink:0}.onboarding--modal .loader-step .step-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--navy);border-radius:50%;animation:apm-spin .8s linear infinite;flex-shrink:0}@keyframes apm-spin{to{transform:rotate(360deg)}}.onboarding--modal .loader-warning{text-align:left !important;margin-top:12px !important}@media(max-width: 600px){.add-project-modal-overlay{left:0;padding:0}.add-project-modal-container{width:100vw;height:100vh;max-height:100vh;border-radius:0}.onboarding--modal .ob-substep{padding:18px}}html[data-theme=dark] .add-project-modal-container,html[data-theme=dark] .add-project-modal-container.onboarding--modal,html[data-theme=dark] .add-project-modal-header,html[data-theme=dark] .add-project-modal-body,html[data-theme=dark] .onboarding--modal .ob-substep,html[data-theme=dark] .onboarding--modal .provider-card,html[data-theme=dark] .onboarding--modal .platform-card,html[data-theme=dark] .onboarding--modal .repo-card,html[data-theme=dark] .onboarding--modal .repo-list,html[data-theme=dark] .onboarding--modal .gl-mode-card,html[data-theme=dark] .onboarding--modal .token-panel,html[data-theme=dark] .onboarding--modal .loader-panel{background:var(--bg-card) !important;border-color:var(--border) !important;color:var(--text) !important}html[data-theme=dark] .add-project-modal-title,html[data-theme=dark] .onboarding--modal h1,html[data-theme=dark] .onboarding--modal h2,html[data-theme=dark] .onboarding--modal h3,html[data-theme=dark] .onboarding--modal .platform-title,html[data-theme=dark] .onboarding--modal .repo-name{color:var(--text) !important}html[data-theme=dark] .add-project-modal-subtitle,html[data-theme=dark] .onboarding--modal p,html[data-theme=dark] .onboarding--modal .platform-desc,html[data-theme=dark] .onboarding--modal .repo-meta{color:var(--text-soft) !important}@media(prefers-color-scheme: dark){html[data-theme=system] .add-project-modal-container,html[data-theme=system] .add-project-modal-container.onboarding--modal,html[data-theme=system] .add-project-modal-header,html[data-theme=system] .add-project-modal-body,html[data-theme=system] .onboarding--modal .ob-substep,html[data-theme=system] .onboarding--modal .provider-card,html[data-theme=system] .onboarding--modal .platform-card,html[data-theme=system] .onboarding--modal .repo-card,html[data-theme=system] .onboarding--modal .repo-list,html[data-theme=system] .onboarding--modal .gl-mode-card,html[data-theme=system] .onboarding--modal .token-panel,html[data-theme=system] .onboarding--modal .loader-panel{background:var(--bg-card) !important;border-color:var(--border) !important;color:var(--text) !important}html[data-theme=system] .add-project-modal-title,html[data-theme=system] .onboarding--modal h1,html[data-theme=system] .onboarding--modal h2,html[data-theme=system] .onboarding--modal h3,html[data-theme=system] .onboarding--modal .platform-title,html[data-theme=system] .onboarding--modal .repo-name{color:var(--text) !important}html[data-theme=system] .add-project-modal-subtitle,html[data-theme=system] .onboarding--modal p,html[data-theme=system] .onboarding--modal .platform-desc,html[data-theme=system] .onboarding--modal .repo-meta{color:var(--text-soft) !important}}.toolbar{display:flex;align-items:center;gap:12px;padding:20px 28px 0;flex-wrap:wrap}.toolbar form{display:contents}.filter-group{display:flex;gap:4px;background:var(--bg-card);border:1px solid var(--border);border-radius:7px;padding:3px;flex-wrap:wrap}.filter-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:5px;font-size:12px;font-weight:500;color:var(--text-mid);cursor:pointer;text-decoration:none;transition:all .15s;border:none;background:rgba(0,0,0,0);font-family:"Inter",sans-serif;white-space:nowrap}.filter-btn:hover{background:var(--bg);color:var(--text)}.filter-btn.active{background:var(--navy);color:#fff;box-shadow:none}.filter-count{font-size:10px;font-weight:700;padding:1px 5px;border-radius:9px;line-height:1.5;margin-left:3px}.filter-btn.active .filter-count{background:hsla(0,0%,100%,.2);color:#fff}.filter-btn:not(.active) .filter-count{background:var(--bg);color:var(--text-soft)}.filter-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;display:inline-block}.filter-dot-green{background:var(--green)}.filter-dot-orange{background:var(--orange)}.filter-dot-red{background:var(--red)}.rerun-analysis-action{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.btn--running{cursor:default;opacity:.85;gap:8px}.btn--running:hover{box-shadow:none;transform:none}.btn-running-spinner{display:inline-block;width:14px;height:14px;border:2px solid hsla(0,0%,100%,.4);border-top-color:#fff;border-radius:50%;animation:btnRunningSpin .75s linear infinite;flex-shrink:0}@keyframes btnRunningSpin{to{transform:rotate(360deg)}}.rerun-analysis-hint{font-size:10.5px;color:var(--text-soft);display:flex;align-items:center;gap:3px}dialog.rerun-analysis-modal{width:480px;max-width:calc(100vw - 48px);border-radius:14px;box-shadow:0 24px 64px rgba(15,25,50,.18),0 4px 16px rgba(15,25,50,.08);animation:rerunAnalysisModalIn .2s cubic-bezier(0.34, 1.56, 0.64, 1)}dialog.rerun-analysis-modal::backdrop{background:rgba(15,25,50,.45);backdrop-filter:blur(3px)}dialog.rerun-analysis-modal [hidden]{display:none !important}@keyframes rerunAnalysisModalIn{from{opacity:0;transform:translate(-50%, -50%) scale(0.93) translateY(8px)}to{opacity:1;transform:translate(-50%, -50%) scale(1) translateY(0)}}.rerun-analysis-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:22px 24px 18px;background:var(--bg-card);border-bottom:1px solid var(--border)}.rerun-analysis-modal-header-left{display:flex;align-items:center;gap:12px;min-width:0}.rerun-analysis-icon{width:40px;height:40px;border-radius:10px;background:var(--blue-bg);border:1px solid var(--blue-border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.rerun-analysis-title{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-0.2px}.rerun-analysis-subtitle{font-size:12px;color:var(--text-soft);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rerun-analysis-close{flex-shrink:0}.rerun-analysis-modal-body{padding:20px 24px;background:var(--bg-card);display:flex;flex-direction:column;gap:18px}.rerun-analysis-project-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:9px}.rerun-analysis-project-icon{width:34px;height:34px;background:var(--navy);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rerun-analysis-project-copy{flex:1;min-width:0}.rerun-analysis-project-name{font-family:var(--font-family-mono);font-size:13.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rerun-analysis-project-meta{font-size:11.5px;color:var(--text-soft);margin-top:1px}.rerun-analysis-quota-pill{display:flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--orange-border);border-radius:20px;background:var(--orange-bg);color:var(--orange);font-size:11.5px;font-weight:600;white-space:nowrap;flex-shrink:0}.rerun-analysis-description{margin:0;color:var(--text-soft);font-size:13px;line-height:1.6}.rerun-analysis-description strong{color:var(--text-mid);font-weight:700}.rerun-analysis-modal-footer{padding:16px 24px;background:var(--bg-subtle);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:10px}.rerun-analysis-form{display:inline}.rerun-analysis-cancel,.rerun-analysis-confirm{flex-shrink:0}.rerun-analysis-confirm{background:var(--navy);color:#fff;border-color:var(--navy)}.rerun-analysis-confirm:hover{background:var(--navy-light);color:#fff;box-shadow:0 4px 12px rgba(30,58,95,.3)}.rerun-analysis-progress{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 24px;text-align:center}.rerun-analysis-progress[hidden]{display:none}.rerun-analysis-spinner{width:48px;height:48px;border:3px solid var(--blue-border);border-top-color:var(--navy);border-radius:50%;animation:rerunAnalysisSpin .8s linear infinite}.rerun-analysis-spinner.completed{border-color:var(--green);background:var(--green);animation:none;position:relative}.rerun-analysis-spinner.completed::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:22px;border:solid #fff;border-width:0 3px 3px 0;transform:translate(-50%, -58%) rotate(45deg);transform-origin:center}.rerun-analysis-spinner.failed{border-color:var(--red);border-top-color:var(--red);animation:none}@keyframes rerunAnalysisSpin{to{transform:rotate(360deg)}}.rerun-analysis-progress-title{font-size:15px;font-weight:700;color:var(--text)}.rerun-analysis-progress-sub{font-size:13px;color:var(--text-soft);line-height:1.5;margin-top:4px}.rerun-analysis-progress-error{max-width:100%;margin-top:10px;padding:9px 11px;border:1px solid #fed7d7;border-radius:7px;background:#fff5f5;color:var(--red);font-size:12px;line-height:1.4;overflow-wrap:anywhere}.rerun-analysis-progress-error[hidden]{display:none}.rerun-analysis-progress-steps{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;margin-top:4px}.rerun-analysis-step{display:flex;align-items:center;gap:10px;min-height:34px;padding:8px 12px;border-radius:7px;background:var(--bg);color:var(--text-soft);font-size:12.5px;line-height:1.3}.rerun-analysis-step.done{color:var(--green);background:var(--green-bg)}.rerun-analysis-step.active{color:var(--navy);background:var(--blue-bg);font-weight:500}.rerun-analysis-step.failed{color:var(--red);background:#fff5f5;font-weight:500}.rerun-analysis-step-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--border-mid)}.rerun-analysis-step.done .rerun-analysis-step-dot{background:var(--green)}.rerun-analysis-step.active .rerun-analysis-step-dot{background:var(--navy);animation:rerunAnalysisPulse 1.5s ease-in-out infinite}.rerun-analysis-step.failed .rerun-analysis-step-dot{background:var(--red)}@keyframes rerunAnalysisPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.3)}}@media(max-width: 768px){dialog.rerun-analysis-modal{left:50%}.rerun-analysis-modal-footer{flex-direction:column-reverse}.rerun-analysis-modal-footer .btn,.rerun-analysis-form{width:100%}.rerun-analysis-form .btn{width:100%;justify-content:center}}.toolbar-right{margin-left:auto;display:flex;gap:8px}.icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border);border-radius:7px;cursor:pointer;color:var(--text-mid);transition:all .15s;padding:0;font-family:inherit}.icon-btn:hover{border-color:var(--border-mid);color:var(--text)}.sort-wrap{position:relative}.sort-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.1);min-width:210px;z-index:100;padding:6px;animation:sortMenuIn .15s ease}.sort-menu.open{display:block}@keyframes sortMenuIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sort-menu-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);padding:6px 10px 4px}.sort-menu-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 10px;border:none;background:none;border-radius:6px;font-size:13px;color:var(--text);cursor:pointer;transition:background .12s;font-family:inherit;text-align:left}.sort-menu-item:hover{background:var(--bg)}.sort-menu-item.active{background:var(--blue-bg);color:var(--navy);font-weight:600}.sort-dir{font-size:11px;color:var(--text-soft);font-weight:400}.sort-menu-item.active .sort-dir{color:var(--navy)}.projects-grid{padding:20px 28px 40px;display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:16px}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:20px;cursor:pointer;transition:all .18s ease;position:relative;overflow:hidden;text-decoration:none;display:block;color:inherit;animation:projectCardIn .3s ease both}.project-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;opacity:0;transition:opacity .18s}.project-card.status-faille::before{background:var(--red)}.project-card.status-update::before{background:var(--orange)}.project-card.status-ok::before{background:var(--green)}.project-card:hover{border-color:var(--border-mid);box-shadow:0 4px 20px rgba(0,0,0,.07);transform:translateY(-2px);opacity:1}.project-card:hover::before{opacity:1}.project-card:hover .card-action{opacity:1}.project-card:nth-child(1){animation-delay:.05s}.project-card:nth-child(2){animation-delay:.1s}.project-card:nth-child(3){animation-delay:.15s}.project-card:nth-child(4){animation-delay:.2s}.project-card:nth-child(5){animation-delay:.25s}.project-card:nth-child(6){animation-delay:.3s}@keyframes projectCardIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.card-title-group{flex:1;min-width:0}.card-name{font-family:"IBM Plex Mono",monospace;font-size:14.5px;font-weight:500;color:var(--text);letter-spacing:-0.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:5px}.card-repo{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--text-soft);min-width:0}.card-repo-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.repo-icon{width:13px;height:13px;flex-shrink:0}.card-badge{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.2px;flex-shrink:0;margin-left:10px}.card-badge .badge-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.badge-faille{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.badge-faille .badge-dot{background:var(--red);animation:badgePulse 2s ease-in-out infinite}.badge-update{background:var(--orange-bg);color:var(--orange);border:1px solid var(--orange-border)}.badge-update .badge-dot{background:var(--orange)}.badge-ok{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.badge-ok .badge-dot{background:var(--green)}.badge-info{background:var(--bg);color:var(--text-soft);border:1px solid var(--border)}.badge-info .badge-dot{background:var(--text-soft)}@keyframes badgePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.card-divider{height:1px;background:var(--border);margin:14px 0}.card-stats{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:16px}.card-stat{min-width:0}.card-stat-value{font-size:20px;font-weight:700;color:var(--text);letter-spacing:-0.5px;line-height:1.1}.card-stat-label{font-size:10.5px;color:var(--text-soft);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-footer{margin-top:14px;display:flex;align-items:center;justify-content:space-between}.card-time{font-size:11.5px;color:var(--text-soft);display:flex;align-items:center;gap:4px}.card-action{font-size:12px;font-weight:600;color:var(--navy);display:flex;align-items:center;gap:3px;opacity:0;transition:opacity .18s}.alert-icon{width:18px;height:18px;background:hsla(0,0%,100%,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.alert-cta{margin-left:4px;background:hsla(0,0%,100%,.2);color:#fff;border:1px solid hsla(0,0%,100%,.3);padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s;white-space:nowrap}.alert-cta:hover{background:hsla(0,0%,100%,.35)}.alert-close{background:none;border:none;cursor:pointer;color:#fff;opacity:.7;padding:4px;display:flex;align-items:center;margin-left:auto}.alert-close:hover{opacity:1}@media(max-width: 768px){.projects-grid{padding:16px 16px 32px;grid-template-columns:1fr}.toolbar{padding:12px 16px}}.page-header{display:block;padding:28px 28px 0;padding-bottom:20px;border-bottom:1px solid var(--border);margin-bottom:0}.page-header--list{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:12px;font-size:12px;color:var(--text-soft);text-transform:none;letter-spacing:0;font-weight:400}.breadcrumb a{color:var(--text-soft);text-decoration:none;transition:color .15s;display:flex;align-items:center;gap:5px}.breadcrumb a:hover{color:var(--navy)}.breadcrumb .breadcrumb-sep{opacity:.4}.breadcrumb .breadcrumb-current{color:var(--text-mid);font-weight:500}.header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.header-left{min-width:0}.title-row{display:flex;align-items:center;gap:12px;margin-bottom:8px;min-width:0}.page-title{font-family:"IBM Plex Mono",monospace;font-size:22px;font-weight:600;color:var(--text);letter-spacing:-0.5px;margin-bottom:0;min-width:0;overflow-wrap:anywhere}.title-badge{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:11.5px;font-weight:600;flex-shrink:0}.title-badge-dot{width:6px;height:6px;border-radius:50%}.header-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}.meta-item{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-soft);min-width:0}.meta-item .meta-provider-icon{width:14px;height:14px;flex:0 0 14px}.meta-item a{color:var(--navy);text-decoration:none;font-weight:500;transition:opacity .15s;overflow-wrap:anywhere}.meta-item a:hover{opacity:.7}.meta-item .meta-sep{color:var(--border-mid)}.header-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.header-actions .btn-primary{display:flex;align-items:center;justify-content:center;gap:7px;width:auto;height:auto;min-height:0;padding:9px 16px;margin-bottom:0;border:none;border-radius:7px;font-size:13.5px;font-weight:600;line-height:normal}.header-actions .btn-primary svg{width:14px;height:14px;flex-shrink:0}.header-actions .btn-primary:hover{background:var(--navy-light);border:none;color:#fff;opacity:1;transform:translateY(-1px);box-shadow:0 4px 12px rgba(30,58,95,.3)}.stats-band{margin:20px 28px 0;display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:12px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px 20px;display:flex;align-items:center;gap:14px;animation:fadeInUp .3s ease both}.stat-card:nth-child(1){animation-delay:.05s}.stat-card:nth-child(2){animation-delay:.1s}.stat-card:nth-child(3){animation-delay:.15s}.stat-card:nth-child(4){animation-delay:.2s}.stat-card.critical{border-color:var(--red-border);background:var(--red-bg)}@keyframes fadeInUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stat-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.gray{background:var(--bg-muted)}.stat-icon.green{background:var(--green-bg)}.stat-icon.orange{background:var(--orange-bg)}.stat-icon.red{background:var(--red-bg)}.stat-body{min-width:0}.stat-value{font-size:24px;font-weight:700;letter-spacing:-0.5px;line-height:1}.stat-label{font-size:11px;color:var(--text-soft);margin-top:3px;overflow-wrap:anywhere}.stat-card.critical .stat-label{color:var(--red);opacity:.8}.project-analysis-alert{display:flex;align-items:center;gap:12px;margin-top:20px;padding:12px 28px;background:var(--red-bg);border-block:1px solid var(--red-border);color:var(--red)}.project-analysis-alert__icon{flex-shrink:0;color:var(--red)}.project-analysis-alert__message{flex:1;min-width:0;font-size:13px;color:var(--red)}.project-analysis-alert__action{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 12px;background:rgba(0,0,0,0);border:1px solid var(--red-border);border-radius:6px;color:var(--red);cursor:pointer;font-family:var(--font-family-sans);font-size:12px;font-weight:600;line-height:1.35;text-decoration:none;white-space:nowrap;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.project-analysis-alert__action:hover{background:rgba(229,62,62,.08);color:var(--red-deep)}html[data-theme=dark] .project-analysis-alert{background:rgba(127,29,29,.28);border-color:rgba(248,113,113,.28)}html[data-theme=dark] .project-analysis-alert__action:hover{background:rgba(248,113,113,.12)}@media(prefers-color-scheme: dark){html[data-theme=system] .project-analysis-alert{background:rgba(127,29,29,.28);border-color:rgba(248,113,113,.28)}html[data-theme=system] .project-analysis-alert__action:hover{background:rgba(248,113,113,.12)}}.page-tabs{display:flex;gap:0;padding:0 28px;border-bottom:1px solid var(--border);background:var(--bg-card)}.page-tab{display:flex;align-items:center;gap:6px;padding:14px 18px;font-size:13.5px;font-weight:500;color:var(--text-soft);cursor:pointer;border:none;border-radius:0;background:none;border-bottom:2px solid rgba(0,0,0,0);margin-bottom:-1px;transition:color .15s,border-color .15s;font-family:"Inter",sans-serif}.page-tab:hover{color:var(--text-mid);transform:none}.page-tab.active{color:var(--navy);border-bottom-color:var(--navy);font-weight:600}.tab-panel{display:none}.tab-panel.active{display:block}.content{padding:20px 28px 48px;display:flex;flex-direction:column;gap:20px}.project-analytics{display:flex;flex-direction:column;gap:18px}.analytics-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.analytics-heading h2{margin:0;color:var(--text);font-size:18px;font-weight:700}.analytics-heading p{margin:4px 0 0;color:var(--text-soft);font-size:13px}.analytics-download{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;white-space:nowrap}.analytics-download svg{width:15px;height:15px}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));gap:16px}.analytics-job-card,.analytics-empty{border:1px solid var(--border);border-radius:8px;background:var(--bg-card);box-shadow:var(--shadow-sm)}.analytics-job-card{padding:18px}.analytics-job-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.analytics-job-header h3{margin:0;color:var(--text);font-size:16px;font-weight:700}.analytics-job-header p,.analytics-job-footnote{margin:4px 0 0;color:var(--text-soft);font-size:12px}.analytics-job-average{text-align:right;white-space:nowrap}.analytics-job-average strong{display:block;color:var(--navy);font-size:22px;line-height:1.1}.analytics-job-average span,.analytics-job-metrics span{color:var(--text-soft);font-size:11px;font-weight:600;text-transform:uppercase}.analytics-job-metrics{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:10px;margin-top:16px}.analytics-job-metrics div{padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-subtle)}.analytics-job-metrics strong{display:block;margin-top:3px;color:var(--text);font-size:15px}.analytics-chart{display:grid;grid-template-columns:34px minmax(0, 1fr);gap:8px;height:158px;margin-top:18px;padding:12px 12px 12px 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-subtle)}.analytics-chart-scale{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;min-width:0;padding:2px 0 4px;color:var(--text-soft);font-size:10px;font-weight:600;line-height:1;white-space:nowrap}.analytics-chart-plot{position:relative;min-width:0;min-height:0}.analytics-chart-grid{position:absolute;inset:0;border-bottom:1px solid var(--border-mid);background:linear-gradient(to bottom, var(--border-light) 1px, transparent 1px) 0 0/100% 50%,linear-gradient(to right, rgba(148, 163, 184, 0.16) 1px, transparent 1px) 0 0/52px 100%;pointer-events:none}.analytics-average-line{position:absolute;left:0;right:0;z-index:1;border-top:1px dashed var(--orange);color:var(--orange);transform:translateY(1px);pointer-events:none}.analytics-average-line span{position:absolute;right:0;bottom:4px;padding:2px 5px;border:1px solid var(--orange-border);border-radius:4px;background:var(--orange-bg);color:var(--orange);font-size:10px;font-weight:700;line-height:1.2;white-space:nowrap}.analytics-chart-bars{position:relative;z-index:2;display:flex;align-items:flex-end;gap:8px;height:100%;padding:6px 0 0}.analytics-chart-bar{position:relative;flex:1;min-width:10px;max-width:34px;border:1px solid rgba(29,78,137,.22);border-bottom:0;border-radius:5px 5px 0 0;background:#2f5f9e;box-shadow:0 4px 8px rgba(30,58,95,.1);transition:background-color var(--transition-fast),transform var(--transition-fast)}.analytics-chart-bar:hover,.analytics-chart-bar:focus-visible{background:var(--navy);transform:translateY(-2px)}.analytics-chart-bar::after{content:attr(data-duration);position:absolute;left:50%;bottom:calc(100% + 8px);z-index:2;transform:translateX(-50%);padding:3px 6px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);box-shadow:var(--shadow-sm);color:var(--text);font-size:11px;font-weight:700;line-height:1.25;opacity:0;pointer-events:none;white-space:nowrap}.analytics-chart-bar::before{content:"";position:absolute;left:50%;bottom:calc(100% + 3px);z-index:2;width:8px;height:8px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-card);opacity:0;transform:translateX(-50%) rotate(45deg);pointer-events:none}.analytics-chart-bar:hover::after,.analytics-chart-bar:hover::before,.analytics-chart-bar:focus-visible::after,.analytics-chart-bar:focus-visible::before{opacity:1}@media(max-width: 720px){.analytics-heading{flex-direction:column}.analytics-download{width:100%;justify-content:center}.analytics-job-header,.analytics-job-metrics{grid-template-columns:1fr}.analytics-job-header{display:grid}.analytics-job-average{text-align:left}.analytics-chart{grid-template-columns:30px minmax(0, 1fr)}.analytics-chart-bars{gap:5px}.analytics-average-line span{display:none}}.analytics-empty{display:flex;flex-direction:column;gap:4px;padding:22px;color:var(--text)}.analytics-empty span{color:var(--text-soft);font-size:13px}.section-title{font-size:13px;font-weight:700;color:var(--text-mid);letter-spacing:.5px;text-transform:uppercase;display:flex;align-items:center;gap:8px;margin-bottom:8px}.section-title .section-title-count{font-size:11px;font-weight:700;padding:2px 7px;border-radius:10px;background:var(--red);color:#fff}.dependencies-section-title{margin-bottom:8px}.vuln-list{display:flex;flex-direction:column;gap:10px}.vuln-card{background:var(--bg-card);border:1px solid var(--red-border);border-left:4px solid var(--red);border-radius:0 10px 10px 0;padding:18px 20px;animation:fadeInUp .3s ease both}.vuln-card:nth-child(1){animation-delay:.1s}.vuln-card:nth-child(2){animation-delay:.2s}.vuln-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.vuln-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vuln-lib{font-family:"IBM Plex Mono",monospace;font-size:14px;font-weight:600;color:var(--text)}.vuln-cve{font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:500;color:var(--red-deep);background:var(--red-bg);border:1px solid var(--red-border);padding:2px 8px;border-radius:4px}.vuln-severity{font-size:11px;font-weight:700;color:#fff;background:var(--red);padding:2px 8px;border-radius:4px;letter-spacing:.3px}.vuln-desc{font-size:13px;color:var(--text-mid);line-height:1.5;margin-bottom:12px}.vuln-fix{display:flex;align-items:center;gap:8px;padding:9px 14px;background:var(--green-bg);border:1px solid var(--green-border);border-radius:7px;font-size:12.5px}.vuln-fix-label{color:var(--text-soft)}.vuln-fix-action{font-weight:600;color:var(--green)}.vuln-fix-version{margin-left:auto;font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:600;color:var(--green);background:var(--bg-card);border:1px solid var(--green-border);padding:3px 10px;border-radius:5px}.table-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.table-toolbar{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search-wrap{position:relative;flex:1;min-width:180px;max-width:280px}.search-wrap svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-soft);pointer-events:none}.search-input{width:100%;padding:6px 10px 6px 32px;border:1px solid var(--border-mid);border-radius:6px;font-size:12.5px;font-family:"Inter",sans-serif;color:var(--text);background:var(--bg);outline:none;transition:border-color .15s,box-shadow .15s}.search-input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,58,95,.08);background:var(--bg-card)}.search-input::placeholder{color:var(--text-soft)}.lang-filter-wrap{position:relative}.lang-select{appearance:none;padding:6px 28px 6px 10px;border:1px solid var(--border-mid);border-radius:6px;font-size:12.5px;font-family:"Inter",sans-serif;color:var(--text-mid);background:var(--bg);cursor:pointer;outline:none;transition:border-color .15s}.lang-select:focus{border-color:var(--navy)}.lang-filter-wrap::after{content:"";position:absolute;right:10px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:4px solid rgba(0,0,0,0);border-right:4px solid rgba(0,0,0,0);border-top:5px solid var(--text-soft);pointer-events:none}.table-filters{display:flex;gap:4px;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:3px;margin-left:auto}.tf-btn{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;border:none;background:rgba(0,0,0,0);color:var(--text-mid);font-family:"Inter",sans-serif;white-space:nowrap}.tf-btn:hover{background:var(--bg-card)}.tf-btn.active{background:var(--bg-card);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.08)}.tf-btn .tab-count:empty{display:none}html[data-theme=dark] .icon-btn,html[data-theme=dark] .sort-menu,html[data-theme=dark] .history-dropdown{background:var(--bg-card);border-color:var(--border);color:var(--text-mid)}html[data-theme=dark] .sort-menu-item,html[data-theme=dark] .history-dropdown-item{color:var(--text)}html[data-theme=dark] .sort-menu-item:hover,html[data-theme=dark] .history-dropdown-item:hover{background:var(--bg-muted)}html[data-theme=dark] .sort-menu-item.active{background:var(--blue-bg);color:var(--navy)}@media(prefers-color-scheme: dark){html[data-theme=system] .icon-btn,html[data-theme=system] .sort-menu,html[data-theme=system] .history-dropdown{background:var(--bg-card);border-color:var(--border);color:var(--text-mid)}html[data-theme=system] .sort-menu-item,html[data-theme=system] .history-dropdown-item{color:var(--text)}html[data-theme=system] .sort-menu-item:hover,html[data-theme=system] .history-dropdown-item:hover{background:var(--bg-muted)}html[data-theme=system] .sort-menu-item.active{background:var(--blue-bg);color:var(--navy)}}.table-count-label{font-size:12.5px;color:var(--text-soft);white-space:nowrap}table{width:100%;border-collapse:collapse}thead th{padding:10px 20px;text-align:left;font-size:11px;font-weight:600;color:var(--text-soft);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-subtle);border-bottom:1px solid var(--border);white-space:nowrap;user-select:none}tbody tr{border-bottom:1px solid var(--border);transition:background .12s}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:var(--bg-subtle)}tbody tr.row-faille{background:#fff8f8}tbody tr.row-faille:hover{background:#ffefef}tbody td{padding:11px 20px;font-size:13.5px;color:var(--text-mid);vertical-align:middle}.td-lib{font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:500;color:var(--text)}.td-lang-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:4px;font-size:10.5px;font-weight:600;letter-spacing:.2px}.td-lang-badge.js{background:#fffbeb;color:#b7791f;border:1px solid #faf089}.td-lang-badge.ruby{background:#fff5f5;color:#c53030;border:1px solid #feb2b2}.td-lang-badge.python{background:#ebf8ff;color:#2b6cb0;border:1px solid #bee3f8}.td-version{font-family:"IBM Plex Mono",monospace;font-size:12.5px}.td-version.current{color:var(--text-mid)}.td-version.new{color:var(--navy);font-weight:500}.td-version.same{color:var(--text-soft)}.td-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:12px;font-size:11px;font-weight:600}.td-badge.faille{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.td-badge.update{background:var(--orange-bg);color:var(--orange);border:1px solid var(--orange-border)}.td-badge.ok{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.td-badge.unknown{background:var(--bg-muted);color:var(--text-soft);border:1px solid var(--border-mid)}.td-badge .td-badge-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.td-badge.faille .td-badge-dot{background:var(--red)}.td-badge.update .td-badge-dot{background:var(--orange)}.td-badge.ok .td-badge-dot{background:var(--green)}.td-badge.unknown .td-badge-dot{background:var(--text-soft)}.td-link{font-size:12px;font-weight:500;color:var(--navy);text-decoration:none;display:inline-flex;align-items:center;gap:4px;opacity:.7;transition:opacity .15s}.td-link:hover{opacity:1}.td-link.td-link-red{color:var(--red)}.td-link.td-link-ai{color:var(--blue);background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.td-dash{color:var(--border-mid)}.dependency-name-cell,.dependency-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.no-results-row td{text-align:center;padding:32px 20px;color:var(--text-soft);font-size:13px}.no-results-icon{margin:0 auto 8px;width:32px;height:32px;background:var(--bg);border-radius:8px;display:flex;align-items:center;justify-content:center}@media(max-width: 640px){.table-wrap[data-controller~=dependency-filter]{overflow:visible}.table-wrap[data-controller~=dependency-filter] .table-toolbar{padding:12px;align-items:stretch}.table-wrap[data-controller~=dependency-filter] .table-toolbar>div:first-child,.table-wrap[data-controller~=dependency-filter] .lang-filter-wrap,.table-wrap[data-controller~=dependency-filter] .lang-select,.table-wrap[data-controller~=dependency-filter] .table-count-label{width:100%;max-width:none}.table-wrap[data-controller~=dependency-filter] .table-filters{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));width:100%;margin-left:0;gap:6px}.table-wrap[data-controller~=dependency-filter] .tf-btn{justify-content:center;width:100%;min-width:0;white-space:normal;line-height:1.2;text-align:center}.table-wrap[data-controller~=dependency-filter] table,.table-wrap[data-controller~=dependency-filter] thead,.table-wrap[data-controller~=dependency-filter] tbody,.table-wrap[data-controller~=dependency-filter] tr,.table-wrap[data-controller~=dependency-filter] td{display:block;width:100%}.table-wrap[data-controller~=dependency-filter] table{border-collapse:separate;border-spacing:0}.table-wrap[data-controller~=dependency-filter] thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.table-wrap[data-controller~=dependency-filter] tbody{display:grid;gap:10px;padding:12px}.table-wrap[data-controller~=dependency-filter] tbody tr{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card)}.table-wrap[data-controller~=dependency-filter] tbody tr:hover{background:var(--bg-card)}.table-wrap[data-controller~=dependency-filter] tbody tr.row-faille,.table-wrap[data-controller~=dependency-filter] tbody tr.row-faille:hover{border-color:var(--red-border);background:var(--red-bg)}.table-wrap[data-controller~=dependency-filter] tbody td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;border:0;text-align:right;min-width:0}.table-wrap[data-controller~=dependency-filter] tbody td::before{content:attr(data-label);color:var(--text-soft);font-size:11px;font-weight:700;letter-spacing:.4px;text-align:left;text-transform:uppercase}.table-wrap[data-controller~=dependency-filter] tbody td:first-child,.table-wrap[data-controller~=dependency-filter] tbody td:last-child{align-items:flex-start}.table-wrap[data-controller~=dependency-filter] .dependency-name-cell,.table-wrap[data-controller~=dependency-filter] .dependency-actions{justify-content:flex-end;max-width:min(250px,62vw)}.table-wrap[data-controller~=dependency-filter] .td-lib{overflow-wrap:anywhere;text-align:right}.table-wrap[data-controller~=dependency-filter] .no-results-row{padding:0;border:0;background:rgba(0,0,0,0)}.table-wrap[data-controller~=dependency-filter] .no-results-row td{display:block;padding:28px 12px;text-align:center}.table-wrap[data-controller~=dependency-filter] .no-results-row td::before{content:none}}.table-collapse,.table-pagination{padding:14px 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fafbfc}.table-pagination[hidden]{display:none}.collapse-text,.table-pagination-info{font-size:13px;color:var(--text-soft)}.collapse-text,.table-pagination-actions{display:flex;align-items:center;gap:8px}.collapse-count{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:10px;background:var(--green-bg);color:var(--green);border:1px solid var(--green-border);font-size:11.5px;font-weight:600}.collapse-btn{font-size:12.5px;font-weight:600;color:var(--navy);background:none;border:none;cursor:pointer;font-family:"Inter",sans-serif;display:flex;align-items:center;gap:4px;transition:opacity .15s;padding:0}.collapse-btn:hover{opacity:.7}.table-pagination-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:6px 11px;border:1px solid var(--border-mid);border-radius:6px;background:var(--bg-card);color:var(--navy);font-family:"Inter",sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:opacity .15s}.table-pagination-btn:hover{border-color:var(--navy)}.table-pagination-btn:disabled{cursor:default;opacity:.45;border-color:var(--border);color:var(--text-soft)}.table-pagination-btn svg{width:12px;height:12px;flex-shrink:0}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.export-card{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden}.export-card .card-header{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.export-card .card-title{font-size:13.5px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.export-card .card-body{padding:20px}.export-options{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.export-option{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s}.export-option:hover{border-color:var(--navy);background:var(--blue-bg)}.export-option-icon{width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.export-option-icon.pdf{background:var(--red-bg);color:var(--red)}.export-option-icon.csv{background:var(--green-bg);color:var(--green)}.export-option-icon.json{background:var(--blue-bg);color:var(--blue)}.export-option-info{flex:1}.export-option-name{font-size:13px;font-weight:600;color:var(--text)}.export-option-desc{font-size:11px;color:var(--text-soft);margin-top:2px}.export-option-arrow{color:var(--text-soft);transition:transform .15s,color .15s}.export-option:hover .export-option-arrow{transform:translateX(2px);color:var(--navy)}.history-card{background:#fff;border:1px solid var(--border);border-radius:10px;grid-column:1/-1}.history-header{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px}.history-header .card-title{display:flex;align-items:center;gap:8px;margin:0;line-height:1.2}.history-header .card-title svg{width:16px;height:16px;flex-shrink:0}.retention-badge{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:11.5px;font-weight:500;color:var(--text-soft);background:var(--bg);border:1px solid var(--border)}.history-timeline{padding:0}.history-item{display:flex;align-items:flex-start;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border);transition:background .12s;position:relative}.history-item:last-child{border-bottom:none}.history-item:hover{background:#fafbfc}.history-item.current{background:var(--blue-bg);border-bottom-color:var(--blue-border)}.history-dot-col{display:flex;flex-direction:column;align-items:center;padding-top:4px;flex-shrink:0}.history-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--navy)}.history-dot.history-dot-faille{background:var(--red);box-shadow:0 0 0 3px rgba(229,62,62,.15)}.history-dot.history-dot-update{background:var(--orange)}.history-dot.history-dot-ok{background:var(--green)}.history-dot.history-dot-current{background:var(--blue);box-shadow:0 0 0 3px rgba(49,130,206,.2)}.history-dot.history-dot-navy{background:var(--navy)}.history-connector{width:1px;flex:1;min-height:24px;background:var(--border);margin-top:4px}.history-item:last-child .history-connector{display:none}.history-body{flex:1;min-width:0}.history-top{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}.history-date{font-size:12.5px;font-weight:600;color:var(--text)}.history-current-tag{padding:1px 7px;border-radius:10px;font-size:10.5px;font-weight:600;background:var(--blue-bg);color:var(--blue);border:1px solid var(--blue-border)}.history-stats{display:flex;gap:10px;flex-wrap:wrap}.history-stat{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-soft)}.history-stat .history-stat-dot{width:6px;height:6px;border-radius:50%;background:var(--text-soft)}.history-stat.history-stat-red .history-stat-dot{background:var(--red)}.history-stat.history-stat-orange .history-stat-dot{background:var(--orange)}.history-stat.history-stat-green .history-stat-dot{background:var(--green)}.history-stat strong{font-weight:600;color:var(--text-mid)}.history-note{margin-top:6px;font-size:12px;color:var(--text-soft);display:flex;align-items:center;gap:5px}.history-delta{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.delta-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:99px;font-size:11px;font-weight:600;letter-spacing:.3px}.delta-tag.delta-tag-new{background:var(--red-bg);color:var(--red)}.delta-tag.delta-tag-fixed{background:var(--green-bg);color:var(--green)}.delta-tag.delta-tag-updated{background:var(--orange-bg);color:var(--orange)}.retention-notice{margin:16px 20px 16px;padding:10px 14px;background:#fffbeb;border:1px solid #faf089;border-radius:7px;display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#744210;line-height:1.5}.retention-notice svg{flex-shrink:0;margin-top:1px}.retention-notice span{min-width:0}.history-export-wrap{position:relative;flex-shrink:0}.history-export-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--border-mid);border-radius:6px;background:#fff;font-size:11.5px;font-weight:500;color:var(--text-soft);cursor:pointer;font-family:"Inter",sans-serif;transition:all .15s;white-space:nowrap;text-decoration:none}.history-export-btn:hover{border-color:var(--navy);color:var(--navy);background:var(--bg)}.history-item-expired{opacity:.5;border-style:dashed;border-color:var(--border)}.history-expiry-badge{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:10px;font-size:10.5px;font-weight:600}.history-expiry-badge.expired{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.history-expiry-badge.expiring{background:#fffbeb;color:#b7791f;border:1px solid #faf089}.history-dropdown{display:none;position:absolute;top:calc(100% + 4px);right:0;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.1);min-width:160px;z-index:100;padding:4px;animation:sortMenuIn .15s ease}.history-dropdown.open{display:block}.history-dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;font-size:12.5px;font-weight:500;color:var(--text);text-decoration:none;transition:background .12s}.history-dropdown-item:hover{background:var(--bg)}.retention-upgrade-notice{margin:0 20px 16px;padding:10px 14px;background:#fffbeb;border:1px solid #faf089;border-radius:7px;display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#744210;line-height:1.5}.retention-upgrade-notice svg{flex-shrink:0;margin-top:1px}.project-settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.project-settings-actions .btn{display:inline-flex;align-items:center;justify-content:center;width:auto;height:38px;min-height:38px;padding:0 16px;margin-bottom:0;flex:0 0 auto;line-height:1}.projects-index .is-hidden-by-search,.projects-index [data-projects-search-target=empty][hidden]{display:none !important}.projects-index .page-header{padding:28px 28px 0;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;border-bottom:none;margin-bottom:0}.projects-index .breadcrumb{margin-bottom:4px;gap:5px;font-size:11.5px}.projects-index .page-title{font-family:"Inter",sans-serif;font-size:22px;font-weight:700;color:var(--text);letter-spacing:-0.4px;margin-bottom:0}.projects-index .header-actions .btn-primary{display:flex;align-items:center;justify-content:center;gap:7px;width:auto;height:auto;min-height:0;padding:9px 16px;margin-bottom:0;border:none;border-radius:7px;font-size:13.5px;font-weight:600;line-height:normal}.projects-index .header-actions .btn-primary svg{width:14px;height:14px;flex-shrink:0}.projects-index .header-actions .btn-primary:hover{background:var(--navy-light);border:none;color:#fff;opacity:1;transform:translateY(-1px);box-shadow:0 4px 12px rgba(30,58,95,.3)}.projects-index .stat-pill--muted{color:var(--text-soft)}.projects-index .search-wrap{position:relative;flex:1;min-width:180px;max-width:320px}.projects-index .search-wrap .search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text-soft);pointer-events:none}.projects-index .search-input{width:100%;height:36px;padding:0 12px 0 35px;border:1px solid var(--border);border-radius:7px;font-size:13.5px;font-family:"Inter",sans-serif;color:var(--text);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}.projects-index .search-input::placeholder{color:var(--text-soft)}.projects-index .search-input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,58,95,.1)}.projects-index .empty-state{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--text-soft);border:none;border-radius:0;background:rgba(0,0,0,0)}.projects-index .empty-icon{width:48px;height:48px;margin:0 auto 16px;background:var(--bg);border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;opacity:1}.projects-index .empty-title{font-size:14px;font-weight:600;color:var(--text-mid);margin-bottom:6px}.projects-index .empty-desc{font-size:13px;line-height:1.5;max-width:320px;margin:0 auto;color:var(--text-soft)}.projects-index .empty-cta{margin-top:16px;display:inline-flex}@media(max-width: 640px){.projects-index .page-header{display:block;padding:24px 16px 0}.projects-index .page-title-group,.projects-index .header-actions{width:100%;min-width:0}.projects-index .breadcrumb{margin-bottom:10px}.projects-index .page-title{font-size:24px;line-height:1.15;overflow-wrap:normal;word-break:normal}.projects-index .stats-row{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:8px;margin-top:14px}.projects-index .stat-pill{display:flex;align-items:center;min-width:0;min-height:38px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);font-size:12px;line-height:1.25}.projects-index .stat-pill--muted{grid-column:1/-1}.projects-index .header-actions{margin-top:14px}.projects-index .header-actions .btn-primary{width:100%;min-height:42px}.projects-index .toolbar{display:grid;grid-template-columns:1fr auto;gap:10px;padding:16px}.projects-index .toolbar form,.projects-index .toolbar .search-wrap,.projects-index .filter-group{grid-column:1/-1;width:100%;max-width:none}.projects-index .filter-group{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:6px;padding:4px}.projects-index .filter-btn{justify-content:center;width:100%;min-width:0;white-space:normal;line-height:1.2;text-align:center}.projects-index .toolbar-right{grid-column:2;margin-left:0;justify-self:end}.projects-index .projects-grid{padding:12px 16px 32px;gap:12px}.projects-index .project-card{padding:16px}.projects-index .card-header{display:grid;gap:10px}.projects-index .card-badge{width:max-content;margin-left:0}.projects-index .card-stats{grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px}.projects-index .card-stat-label{white-space:normal;line-height:1.25}.projects-index .card-footer{align-items:flex-start;flex-direction:column;gap:8px}.projects-index .card-action{opacity:1}}@media(max-width: 1024px){.stats-band{grid-template-columns:repeat(2, 1fr)}.report-grid{grid-template-columns:1fr}}@media(max-width: 640px){.stats-band{grid-template-columns:repeat(2, minmax(0, 1fr))}.header-top{flex-direction:column;gap:14px}.header-left,.header-actions,.rerun-analysis-action,.header-actions .btn-primary{width:100%}.title-row{align-items:flex-start;flex-wrap:wrap;gap:8px}.page-title{width:100%;font-size:20px;line-height:1.25}.header-meta{gap:8px}.meta-sep{display:none}.meta-item{width:100%}.rerun-analysis-action{align-items:stretch}.rerun-analysis-hint{justify-content:center}.page-tabs{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:6px;padding:12px 16px}.page-tab{justify-content:flex-start;min-width:0;width:100%;padding:10px 10px;border:1px solid var(--border);border-radius:8px;white-space:normal;text-align:left;line-height:1.2}.page-tab.active{border-color:var(--navy);background:var(--blue-bg)}.page-tab svg{flex-shrink:0}.content{padding:16px 16px 32px}.stats-band{margin:16px 16px 0;gap:10px}.stat-card{padding:14px;align-items:center;gap:10px}.stat-icon{width:32px;height:32px;border-radius:8px}.stat-value{font-size:21px}.stat-label{font-size:11.5px;line-height:1.3}}@media(max-width: 360px){.stats-band{grid-template-columns:1fr}}html[data-theme=dark] .report-grid .export-card,html[data-theme=dark] .history-card,html[data-theme=dark] .export-card,html[data-theme=dark] .history-dropdown,html[data-theme=dark] .history-export-btn{background:var(--bg-card);border-color:var(--border);color:var(--text)}html[data-theme=dark] .export-card .card-header,html[data-theme=dark] .history-header,html[data-theme=dark] .history-item,html[data-theme=dark] .history-export-btn,html[data-theme=dark] .history-dropdown-item{border-color:var(--border)}html[data-theme=dark] .export-card .card-title,html[data-theme=dark] .export-option-name,html[data-theme=dark] .history-date,html[data-theme=dark] .history-card .empty-title{color:var(--text)}html[data-theme=dark] .export-card .card-body,html[data-theme=dark] .export-card .card-body p,html[data-theme=dark] .export-option-desc,html[data-theme=dark] .history-stat,html[data-theme=dark] .history-note,html[data-theme=dark] .history-card .empty-desc{color:var(--text-soft) !important}html[data-theme=dark] .export-option{background:var(--bg-card);border-color:var(--border);color:var(--text)}html[data-theme=dark] .export-option:hover,html[data-theme=dark] .history-item:hover,html[data-theme=dark] .history-dropdown-item:hover{background:var(--bg-muted);border-color:var(--border-mid)}html[data-theme=dark] .history-item.current{background:rgba(96,165,250,.12);border-color:var(--blue-border)}html[data-theme=dark] .retention-notice,html[data-theme=dark] .retention-upgrade-notice,html[data-theme=dark] .history-expiry-badge.expiring{background:var(--orange-bg);border-color:var(--orange-border);color:var(--orange)}html[data-theme=dark] .table-collapse,html[data-theme=dark] .table-pagination{background:var(--bg-subtle);border-color:var(--border)}html[data-theme=dark] tbody tr.row-faille,html[data-theme=dark] tbody tr.row-faille:hover{background:rgba(248,113,113,.08)}html[data-theme=dark] tbody tr.row-update,html[data-theme=dark] tbody tr.row-update:hover{background:rgba(245,158,11,.08)}html[data-theme=dark] .dep-lang,html[data-theme=dark] .pm-badge,html[data-theme=dark] .tag,html[data-theme=dark] .project-tag{background:var(--bg-muted);border-color:var(--border);color:var(--text-mid)}html[data-theme=dark] .search-input,html[data-theme=dark] .lang-select{background:var(--bg-card);border-color:var(--border-mid);color:var(--text)}@media(prefers-color-scheme: dark){html[data-theme=system] .report-grid .export-card,html[data-theme=system] .history-card,html[data-theme=system] .export-card,html[data-theme=system] .history-dropdown,html[data-theme=system] .history-export-btn{background:var(--bg-card);border-color:var(--border);color:var(--text)}html[data-theme=system] .export-card .card-header,html[data-theme=system] .history-header,html[data-theme=system] .history-item,html[data-theme=system] .history-export-btn,html[data-theme=system] .history-dropdown-item{border-color:var(--border)}html[data-theme=system] .export-card .card-title,html[data-theme=system] .export-option-name,html[data-theme=system] .history-date,html[data-theme=system] .history-card .empty-title{color:var(--text)}html[data-theme=system] .export-card .card-body,html[data-theme=system] .export-card .card-body p,html[data-theme=system] .export-option-desc,html[data-theme=system] .history-stat,html[data-theme=system] .history-note,html[data-theme=system] .history-card .empty-desc{color:var(--text-soft) !important}html[data-theme=system] .export-option{background:var(--bg-card);border-color:var(--border);color:var(--text)}html[data-theme=system] .export-option:hover,html[data-theme=system] .history-item:hover,html[data-theme=system] .history-dropdown-item:hover{background:var(--bg-muted);border-color:var(--border-mid)}html[data-theme=system] .history-item.current{background:rgba(96,165,250,.12);border-color:var(--blue-border)}html[data-theme=system] .retention-notice,html[data-theme=system] .retention-upgrade-notice,html[data-theme=system] .history-expiry-badge.expiring{background:var(--orange-bg);border-color:var(--orange-border);color:var(--orange)}html[data-theme=system] .table-collapse{background:var(--bg-subtle);border-color:var(--border)}html[data-theme=system] tbody tr.row-faille,html[data-theme=system] tbody tr.row-faille:hover{background:rgba(248,113,113,.08)}html[data-theme=system] tbody tr.row-update,html[data-theme=system] tbody tr.row-update:hover{background:rgba(245,158,11,.08)}html[data-theme=system] .dep-lang,html[data-theme=system] .pm-badge,html[data-theme=system] .tag,html[data-theme=system] .project-tag{background:var(--bg-muted);border-color:var(--border);color:var(--text-mid)}html[data-theme=system] .search-input,html[data-theme=system] .lang-select{background:var(--bg-card);border-color:var(--border-mid);color:var(--text)}}.dep-ai-modal{width:560px;max-width:95vw;max-height:min(860px,100dvh - 48px);overflow:hidden}.dep-ai-modal[open]{display:flex;flex-direction:column}.dep-ai-modal-body{min-height:120px;overflow-y:auto;overscroll-behavior:contain}.dep-ai-modal .modal-header{flex-shrink:0}.dep-ai-actions{display:flex;justify-content:flex-end;margin-bottom:14px}.dep-ai-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px 0;color:var(--text-soft)}.dep-ai-spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--blue);border-radius:50%;animation:dep-ai-spin .7s linear infinite}@keyframes dep-ai-spin{to{transform:rotate(360deg)}}.dep-ai-loading-text{font-size:13px}.dep-ai-meta{display:flex;gap:24px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.dep-ai-meta-item{display:flex;flex-direction:column;gap:3px}.dep-ai-meta-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft)}.dep-ai-risk{font-size:13px;font-weight:600}.dep-ai-risk--low{color:var(--green)}.dep-ai-risk--medium{color:#f59e0b}.dep-ai-risk--high{color:var(--red)}.dep-ai-confidence{font-size:13px;font-weight:600;color:var(--text)}.dep-ai-summary{font-size:13px;line-height:1.6;color:var(--text);margin-bottom:16px}.dep-ai-section{margin-top:14px}.dep-ai-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft);margin-bottom:8px}.dep-ai-list{padding-left:18px;display:flex;flex-direction:column;gap:5px}.dep-ai-list li{font-size:13px;line-height:1.5;color:var(--text)}.dep-ai-error{font-size:13px;color:var(--red);padding:8px 0}.main>.team-page-header{padding:28px 28px 20px;border-bottom:1px solid var(--border);display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:0;background:var(--bg)}.main>.team-page-header .breadcrumb{font-size:12px;color:var(--text-soft);display:flex;align-items:center;gap:6px;margin-bottom:8px;text-transform:none;letter-spacing:0;font-weight:400}.main>.team-page-header .breadcrumb a{color:var(--text-soft);text-decoration:none}.main>.team-page-header .breadcrumb a:hover{color:var(--navy)}.main>.team-page-header .breadcrumb span{color:var(--text-mid);font-weight:500}.main>.team-page-header .page-title{font-family:var(--font-family-sans);font-size:22px;font-weight:700;color:var(--text);letter-spacing:-0.4px;line-height:1.2;margin:0}.main>.team-page-header .btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto;height:auto;min-height:0;padding:9px 16px;margin:0;border:none;border-radius:7px;font-size:13.5px;font-weight:600;line-height:normal}.main>.team-page-header .btn-primary:hover{background:var(--navy-light);border-color:var(--navy-light);transform:translateY(-1px);box-shadow:0 4px 12px rgba(30,58,95,.3)}.team-field-control{position:relative}.team-field-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-soft);pointer-events:none}.team-field-input.team-field-input--with-icon{padding-left:42px}.team-content{padding:24px 28px 48px;display:flex;flex-direction:column;gap:24px}.tabs-bar{padding:0 28px;border-bottom:1px solid var(--border);border-top:0;display:flex;gap:0;background:#fff}.tab-btn{padding:13px 18px 14px;font-size:13.5px;font-weight:500;color:var(--text-soft);border:none;background:none;cursor:pointer;border-bottom:2px solid rgba(0,0,0,0);margin-bottom:-1px;font-family:"Inter",sans-serif;transition:color .15s,border-color .15s;display:flex;align-items:center;gap:7px;border-radius:0}.tab-btn:hover{color:var(--text);transform:none}.tab-btn.active{color:var(--navy);border-bottom-color:var(--navy);font-weight:600}.tab-btn svg{opacity:.55}.tab-btn.active svg{opacity:1}.tab-count{font-size:11px;font-weight:700;background:var(--bg);border:1px solid var(--border);color:var(--text-soft);padding:1px 6px;border-radius:9px}.tab-btn.active .tab-count{background:#ebf4ff;border-color:#bee3f8;color:var(--navy)}.tab-plan{font-size:10px;font-weight:700;background:linear-gradient(135deg, #4A9EFF, #2D7DD2);color:#fff;padding:1px 6px;border-radius:4px;margin-left:2px}.tab-panel{display:none}.tab-panel.active{display:flex;flex-direction:column;gap:24px}@keyframes fadeInUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.seats-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:20px 24px;display:flex;align-items:center;gap:28px;animation:fadeInUp .25s ease both}.seats-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-soft);margin-bottom:3px}.seats-count{font-size:22px;font-weight:700;color:var(--text);letter-spacing:-0.5px;line-height:1}.seats-count span{font-size:14px;font-weight:400;color:var(--text-soft)}.seats-sub{font-size:12px;color:var(--text-soft);margin-top:3px}.seats-gauge-col{flex:1}.gauge-track{display:flex;gap:4px;margin-bottom:8px}.gauge-seg{flex:1;height:8px;border-radius:4px;transition:background .2s}.gauge-seg.used{background:var(--navy)}.gauge-seg.free{background:var(--border-mid)}.gauge-labels{display:flex;justify-content:space-between}.gauge-label{font-size:11px;color:var(--text-soft);display:flex;align-items:center;gap:4px}.gauge-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.gauge-dot-used{background:var(--navy)}.gauge-dot-free{background:var(--border-mid)}.seats-link{font-size:12.5px;font-weight:500;color:var(--navy);text-decoration:none;display:flex;align-items:center;gap:4px;opacity:.7;transition:opacity .15s}.seats-link:hover{opacity:1}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-title{font-size:13px;font-weight:700;color:var(--text-mid);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:8px;margin:0}.section-title-orange{color:var(--orange)}.section-count{font-size:11px;font-weight:600;color:var(--text-soft);background:var(--bg);border:1px solid var(--border);padding:2px 7px;border-radius:10px}.section-badge-orange{font-size:11px;font-weight:700;padding:2px 7px;border-radius:10px;background:var(--orange);color:#fff}.team-content .table-wrap{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;animation:fadeInUp .3s ease both}.team-content table{width:100%;border-collapse:collapse}.team-content thead th{padding:10px 20px;text-align:left;font-size:11px;font-weight:600;color:var(--text-soft);text-transform:uppercase;letter-spacing:.5px;background:#fafbfc;border-bottom:1px solid var(--border)}.team-content tbody tr{border-bottom:1px solid var(--border);transition:background .12s}.team-content tbody tr:last-child{border-bottom:none}.team-content tbody tr:hover{background:#fafbfc}.team-content tbody tr.is-self{background:#f7faff}.team-content tbody tr.is-self:hover{background:#eef5ff}.team-content .active-members-table tbody tr:first-child,.team-content .active-members-table tbody tr:first-child.is-self,.team-content .active-members-table tbody tr:first-child.is-self:hover{background:#fff}.team-content tbody td{padding:13px 20px;font-size:13.5px;color:var(--text-mid);vertical-align:middle}.member-cell{display:flex;align-items:center;gap:12px}.member-avatar,.perm-modal-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;letter-spacing:.3px;background:linear-gradient(135deg, #4A9EFF, #2D7DD2);color:#fff}.member-name{font-size:13.5px;font-weight:600;color:var(--text);line-height:1.3;display:flex;align-items:center;gap:6px}.self-tag{font-size:10px;font-weight:600;color:var(--navy);background:#ebf4ff;border:1px solid #bee3f8;padding:1px 6px;border-radius:10px;letter-spacing:.2px}.member-email,.pending-email{font-family:"IBM Plex Mono",monospace;font-size:11.5px;color:var(--text-soft);margin-top:1px}.role-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:5px;font-size:11.5px;font-weight:600}.role-admin{background:#ebf4ff;color:var(--navy);border:1px solid #bee3f8}.role-member{background:#f7fafc;color:var(--text-mid);border:1px solid var(--border)}.status-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-active .status-dot{background:var(--green)}.status-active{color:var(--green)}.project-tags{display:flex;flex-wrap:wrap;gap:4px}.project-tag,.project-tag-all{font-family:"IBM Plex Mono",monospace;font-size:10.5px;font-weight:500;padding:2px 7px;border-radius:4px}.project-tag{background:#f7fafc;color:var(--text-mid);border:1px solid var(--border)}.project-tag-all{font-family:"Inter",sans-serif;font-size:11px;font-weight:600;color:var(--navy);background:#ebf4ff;border:1px solid #bee3f8;padding:2px 8px}.action-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.team-dash{font-size:12px;color:var(--border-mid)}.action-cell form{display:contents}.btn-ghost,.btn-ghost-danger{background:none;border:none;padding:6px 10px;border-radius:6px;font-size:12.5px;font-weight:500;cursor:pointer;font-family:"Inter",sans-serif;transition:all .15s;display:flex;align-items:center;gap:5px}.btn-ghost{color:var(--text-mid)}.btn-ghost:hover{background:var(--bg);color:var(--text);transform:none}.btn-ghost-danger{color:var(--red)}.btn-ghost-danger:hover{background:var(--red-bg);transform:none}.btn-ghost-danger{padding-left:8px;padding-right:8px}.pending-section{background:var(--orange-bg);border:1px solid var(--orange-border);border-radius:10px;overflow:hidden;animation:fadeInUp .35s ease both}.pending-header{padding:14px 20px;border-bottom:1px solid var(--orange-border);background:hsla(0,0%,100%,.5);display:flex;align-items:center;justify-content:space-between;gap:16px}.pending-header>span{font-size:11.5px;color:var(--orange);font-weight:500}.pending-title{font-size:13px;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:8px}.pending-row{padding:14px 20px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--orange-border);transition:background .12s}.pending-row:last-child{border-bottom:none}.pending-row:hover{background:hsla(0,0%,100%,.5)}.pending-avatar{width:34px;height:34px;border-radius:50%;background:#fee2b3;color:var(--orange);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.pending-info{flex:1;min-width:0}.pending-name{font-size:13.5px;font-weight:600;color:var(--text);line-height:1.3}.pending-date{font-size:11.5px;color:var(--text-soft);display:flex;align-items:center;gap:4px;flex-shrink:0}.pending-expired{color:var(--red);font-weight:700}.pending-actions{display:flex;gap:4px;flex-shrink:0}.pending-actions form{display:contents}.btn-resend,.btn-revoke{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;background:#fff;cursor:pointer;font-family:"Inter",sans-serif;transition:all .15s;display:flex;align-items:center;gap:5px}.btn-resend{color:var(--orange);border:1px solid var(--orange-border)}.btn-resend:hover{background:var(--orange);color:#fff;border-color:var(--orange);transform:none}.btn-revoke{color:var(--text-soft);border:1px solid var(--border)}.btn-revoke:hover{background:var(--red-bg);color:var(--red);border-color:var(--red-border);transform:none}.empty-state{text-align:center;padding:52px 20px;color:var(--text-soft)}.empty-icon{width:48px;height:48px;margin:0 auto 14px;background:var(--bg);border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center}.empty-title{font-size:14px;font-weight:600;color:var(--text-mid);margin-bottom:6px}.empty-desc{font-size:13px;line-height:1.5}.activity-feed{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;animation:fadeInUp .25s ease both}.activity-feed .empty-state{margin:0;border:0;border-radius:0;background:rgba(0,0,0,0)}.activity-feed-header{padding:14px 20px;border-bottom:1px solid var(--border);background:#fafbfc;display:flex;align-items:center;justify-content:space-between;gap:16px}.activity-feed-title{font-size:12px;font-weight:700;color:var(--text-soft);text-transform:uppercase;letter-spacing:.5px}.activity-filter{display:flex;gap:6px;flex-wrap:wrap}.activity-filter-btn{display:inline-flex;align-items:center;font-size:12px;font-weight:500;color:var(--text-soft);background:#fff;border:1px solid var(--border);padding:4px 10px;border-radius:5px;cursor:pointer;font-family:"Inter",sans-serif;text-decoration:none}.activity-filter-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}.activity-date-label{padding:8px 20px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-soft);background:#fafbfc;border-bottom:1px solid var(--border)}.activity-item{display:flex;align-items:flex-start;gap:14px;padding:14px 20px;border-bottom:1px solid var(--border);transition:background .12s}.activity-item:hover{background:#fafbfc}.activity-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.activity-icon-invite{background:#ebf4ff;color:var(--navy)}.activity-icon-perm{background:#f0fff4;color:var(--green)}.activity-icon-remove{background:var(--red-bg);color:var(--red)}.activity-icon-role{background:#f5f3ff;color:#7c3aed}.activity-icon-login{background:#fffaf0;color:var(--orange)}.activity-icon-sso{background:#eff4fb;color:var(--navy)}.activity-body{flex:1}.activity-text{font-size:13.5px;color:var(--text);line-height:1.4}.activity-text strong{font-weight:600}.activity-meta{font-size:11.5px;color:var(--text-soft);margin-top:3px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.activity-meta-sep{width:3px;height:3px;border-radius:50%;background:var(--border-mid)}.load-more-btn{width:100%;padding:12px;font-size:13px;font-weight:500;color:var(--text-soft);background:none;border:none;border-top:1px solid var(--border);cursor:pointer;font-family:"Inter",sans-serif;transition:all .12s;display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}.load-more-btn:hover{background:#fafbfc;color:var(--text)}.sso-info-banner{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:14px 18px;display:flex;align-items:flex-start;gap:12px;animation:fadeInUp .2s ease;font-size:13px;color:#1e40af;line-height:1.5}.sso-info-banner svg{flex-shrink:0;margin-top:1px;color:#2563eb}.sso-card{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;animation:fadeInUp .35s ease both}.sso-card-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px}.sso-card-title{font-size:13px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}.sso-card-desc{font-size:12.5px;color:var(--text-soft);margin-top:2px}.sso-badge-plan{font-size:10.5px;font-weight:700;letter-spacing:.2px;background:linear-gradient(135deg, #4A9EFF, #2D7DD2);color:#fff;padding:3px 9px;border-radius:5px}.sso-body{padding:20px}.sso-providers{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.sso-provider{flex:1;min-width:160px;border:1.5px solid var(--border);border-radius:10px;padding:14px 16px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .15s;background:#fff;text-align:left;font-family:inherit}.sso-provider:hover{border-color:var(--navy);background:#f8fafd}.sso-provider.selected{border-color:var(--navy);background:#eff4fb;box-shadow:0 0 0 3px rgba(30,58,95,.07)}.sso-provider-logo{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sso-provider-logo img{display:block}.sso-provider-meta{display:flex;flex-direction:column;min-width:0}.sso-provider-name{font-size:13px;font-weight:600;color:var(--text)}.sso-provider-type{font-size:11.5px;color:var(--text-soft);margin-top:1px}.sso-config-form{display:none}.sso-config-form.visible{display:block;animation:fadeInUp .2s ease}.sso-config-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-soft);margin-bottom:12px}.sso-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sso-form-group{display:flex;flex-direction:column;gap:5px}.sso-form-group.full{grid-column:1/-1}.sso-form-label{font-size:11.5px;font-weight:600;color:var(--text-mid);text-transform:uppercase;letter-spacing:.4px}.sso-form-input{padding:8px 11px;border-radius:7px;border:1px solid var(--border);background:#fafbfc;font-size:13px;color:var(--text);font-family:"IBM Plex Mono","SFMono-Regular",Menlo,monospace;outline:none;transition:border-color .15s,box-shadow .15s}.sso-form-input:focus{border-color:#4a9eff;box-shadow:0 0 0 3px rgba(74,158,255,.12);background:#fff}.sso-form-hint{font-size:11px;color:var(--text-soft)}.sso-form-redirect{background:#f7fafc;border-radius:6px;padding:10px 12px;gap:2px}.sso-form-redirect code{font-size:12px;color:var(--navy);font-family:"IBM Plex Mono","SFMono-Regular",Menlo,monospace}.sso-form-footer{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.sso-form-actions{display:flex;gap:8px;align-items:center}.sso-status-active{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--green)}.sso-status-dot{width:7px;height:7px;border-radius:50%;background:var(--green)}.sso-upgrade{background:var(--blue-bg);border:1px solid var(--blue-border);border-radius:10px;padding:24px;text-align:center}.sso-upgrade-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin-bottom:10px;border-radius:12px;background:#ebf4ff;color:var(--navy);font-size:12px;font-weight:800;letter-spacing:.4px}.sso-upgrade-title{font-size:15px;font-weight:600;color:var(--navy);margin-bottom:6px}.sso-upgrade-desc{font-size:13px;color:var(--text-soft);margin-bottom:16px}.perm-modal,.role-modal,.team-invite-modal{position:fixed;inset:0;margin:auto;border:none;background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.15);transform:none}.perm-modal::backdrop,.role-modal::backdrop,.team-invite-modal::backdrop{background:rgba(0,0,0,.4);backdrop-filter:blur(2px)}.perm-modal,.role-modal{width:520px;max-width:calc(100vw - 32px);max-height:min(80vh,720px);overflow:hidden;padding:0}.perm-modal[open],.role-modal[open]{display:flex;flex-direction:column}.role-modal{width:420px}.team-invite-modal{width:440px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow:auto;padding:32px}.team-invite-modal[open]{display:block}.perm-modal-header{padding:24px 24px 18px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:12px}.perm-modal-avatar{width:40px;height:40px;font-size:14px}.perm-modal-title{font-size:16px;font-weight:700;color:var(--text)}.perm-modal-sub{font-size:13px;color:var(--text-soft);margin-top:2px}.perm-modal-close,.team-modal-close{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--text-soft);padding:4px;flex-shrink:0;border-radius:6px}.perm-modal-close:hover,.team-modal-close:hover{background:#f7fafc;transform:none}.perm-modal>form,.role-modal>form{display:flex;min-height:0;flex:1;flex-direction:column}.perm-modal-body{padding:16px 24px;overflow-y:auto;min-height:0;flex:1}.perm-modal-footer,.perm-modal .modal-footer,.role-modal .modal-footer{padding:14px 24px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:10px;background:#fafbfc;border-radius:0 0 16px 16px}.perm-modal-footer .btn,.perm-modal .modal-footer .btn,.role-modal .modal-footer .btn,.team-invite-actions .btn{min-width:128px;height:40px;padding:0 16px;justify-content:center;border-radius:8px;font-size:13.5px;font-weight:600;line-height:1;margin:0;transform:none}.perm-modal-footer .btn:hover,.perm-modal .modal-footer .btn:hover,.role-modal .modal-footer .btn:hover,.team-invite-actions .btn:hover{transform:none}.perm-modal-footer .btn-primary,.perm-modal .modal-footer .btn-primary,.role-modal .modal-footer .btn-primary{min-width:176px}.perm-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-soft);padding:10px 0 6px}.perm-project-row{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--border)}.perm-project-row:last-child{border-bottom:none}.perm-project-icon{width:32px;height:32px;border-radius:7px;background:#ebf4ff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.perm-project-info{flex:1;min-width:0}.perm-project-name{font-size:13.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perm-project-sub{font-size:11.5px;color:var(--text-soft);font-weight:400}.perm-select{padding:5px 10px;border-radius:6px;border:1px solid var(--border);background:#fff;font-size:12.5px;color:var(--text);font-family:"Inter",sans-serif;cursor:pointer;outline:none;transition:border-color .15s}.perm-select:focus{border-color:var(--navy)}.super-admin-note{background:var(--blue-bg);border:1px solid var(--blue-border);border-radius:8px;padding:14px 16px;color:var(--blue);font-size:13px}.super-admin-note strong{display:block;font-weight:700}.super-admin-note span{display:block;margin-top:4px;color:var(--text-mid);line-height:1.4}.role-modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:8px}.role-modal-label{font-size:12px;font-weight:600;color:var(--text-mid);margin-bottom:2px}.role-option{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1.5px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .15s;background:#fff}.role-option:hover{border-color:#cbd5e0;background:#f7fafc}.role-option.selected,.role-option:has(input:checked){border-color:#1e3a5f;border-width:2px;background:#eff4fb}.role-option input[type=radio]{margin-top:2px;accent-color:var(--navy)}.role-option strong{display:block;font-size:13px;font-weight:600;color:var(--text)}.role-option em{display:block;font-style:normal;font-size:11.5px;color:var(--text-soft);margin-top:2px}.team-modal-close{position:absolute;top:16px;right:16px}.team-invite-title{font-size:18px;font-weight:700;color:var(--text);margin-bottom:6px;letter-spacing:-0.3px}.team-invite-desc{font-size:13.5px;color:var(--text-soft);margin-bottom:24px;line-height:1.5}.team-field{margin-bottom:14px}.team-field-label{font-size:12px;font-weight:600;color:var(--text-mid);display:block;margin-bottom:6px}.team-field-input{width:100%;height:40px;padding:0 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:13.5px;font-family:"Inter",sans-serif;color:var(--text);background:var(--bg);outline:none;box-sizing:border-box;transition:border-color .15s,box-shadow .15s,background .15s}.team-field-input:focus{border-color:var(--navy);background:#fff;box-shadow:0 0 0 3px rgba(30,58,95,.1)}.role-choice-row{display:flex;gap:8px}.role-choice{flex:1;border:1.5px solid #e2e8f0;border-radius:8px;padding:10px 14px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-mid);transition:all .15s}.role-choice-selected{border:2px solid var(--navy);color:var(--navy);background:#eff4fb}.role-choice:has(input:checked){border:2px solid var(--navy);color:var(--navy);background:#eff4fb}.role-choice input{accent-color:var(--navy)}.project-access-row{display:flex;gap:16px;margin-bottom:10px}.project-access-row label,.project-access-list label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px}.project-access-list{display:none;border:1px solid var(--border);border-radius:6px;padding:10px;max-height:160px;overflow-y:auto}.project-access-list.is-visible{display:block}.project-access-list label{padding:4px 0;gap:8px}.team-muted{font-size:12px;color:var(--text-soft)}.team-invite-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;margin-top:24px}.team-invite-actions .btn{width:100%;min-width:0}@media(max-width: 900px){.seats-card,.pending-row{align-items:flex-start;flex-direction:column}.seats-gauge-col,.seats-action-col,.pending-actions{width:100%}.team-content .table-wrap{overflow-x:auto}.team-content table{min-width:760px}}html[data-theme=dark] .tabs-bar,html[data-theme=dark] .seats-card,html[data-theme=dark] .team-content .table-wrap,html[data-theme=dark] .activity-feed,html[data-theme=dark] .sso-card,html[data-theme=dark] .sso-provider-card,html[data-theme=dark] .perm-modal,html[data-theme=dark] .role-modal,html[data-theme=dark] .team-invite-modal{background:var(--bg-card);border-color:var(--border);color:var(--text)}html[data-theme=dark] .team-content thead th,html[data-theme=dark] .activity-feed-header,html[data-theme=dark] .activity-date-label,html[data-theme=dark] .perm-modal-footer,html[data-theme=dark] .perm-modal .modal-footer,html[data-theme=dark] .role-modal .modal-footer{background:var(--bg-subtle);border-color:var(--border)}html[data-theme=dark] .team-content tbody tr,html[data-theme=dark] .team-content tbody td,html[data-theme=dark] .activity-item,html[data-theme=dark] .perm-project-row{border-color:var(--border)}html[data-theme=dark] .team-content tbody tr:hover,html[data-theme=dark] .activity-item:hover,html[data-theme=dark] .load-more-btn:hover,html[data-theme=dark] .team-modal-close:hover,html[data-theme=dark] .perm-modal-close:hover{background:var(--bg-subtle)}html[data-theme=dark] .team-content tbody tr.is-self,html[data-theme=dark] .team-content tbody tr.is-self:hover{background:rgba(96,165,250,.09)}html[data-theme=dark] .team-content .active-members-table tbody tr:first-child,html[data-theme=dark] .team-content .active-members-table tbody tr:first-child.is-self,html[data-theme=dark] .team-content .active-members-table tbody tr:first-child.is-self:hover{background:var(--bg-card)}html[data-theme=dark] .tab-count,html[data-theme=dark] .role-member,html[data-theme=dark] .project-tag,html[data-theme=dark] .section-count,html[data-theme=dark] .activity-filter-btn,html[data-theme=dark] .perm-select,html[data-theme=dark] .team-field-input{background:var(--bg-muted);border-color:var(--border);color:var(--text-mid)}html[data-theme=dark] .tab-btn.active .tab-count,html[data-theme=dark] .self-tag,html[data-theme=dark] .role-admin,html[data-theme=dark] .project-tag-all,html[data-theme=dark] .perm-project-icon,html[data-theme=dark] .role-option.selected,html[data-theme=dark] .role-option:has(input:checked),html[data-theme=dark] .role-choice-selected,html[data-theme=dark] .role-choice:has(input:checked){background:var(--blue-bg);border-color:var(--blue-border);color:var(--navy)}html[data-theme=dark] .pending-section{background:rgba(245,158,11,.14);border-color:var(--orange-border)}html[data-theme=dark] .pending-header,html[data-theme=dark] .pending-row:hover{background:rgba(245,158,11,.08)}html[data-theme=dark] .btn-resend,html[data-theme=dark] .btn-revoke,html[data-theme=dark] .sso-provider-logo,html[data-theme=dark] .role-option{background:var(--bg-card);border-color:var(--border);color:var(--text-mid)}html[data-theme=dark] .role-option:hover,html[data-theme=dark] .sso-provider-card:hover{background:var(--bg-muted);border-color:var(--border-mid)}html[data-theme=dark] .team-field-input:focus{background:var(--bg-card)}@media(prefers-color-scheme: dark){html[data-theme=system] .tabs-bar,html[data-theme=system] .seats-card,html[data-theme=system] .team-content .table-wrap,html[data-theme=system] .activity-feed,html[data-theme=system] .sso-card,html[data-theme=system] .sso-provider-card,html[data-theme=system] .perm-modal,html[data-theme=system] .role-modal,html[data-theme=system] .team-invite-modal{background:var(--bg-card);border-color:var(--border);color:var(--text)}html[data-theme=system] .team-content thead th,html[data-theme=system] .activity-feed-header,html[data-theme=system] .activity-date-label,html[data-theme=system] .perm-modal-footer,html[data-theme=system] .perm-modal .modal-footer,html[data-theme=system] .role-modal .modal-footer{background:var(--bg-subtle);border-color:var(--border)}html[data-theme=system] .team-content tbody tr:hover,html[data-theme=system] .activity-item:hover,html[data-theme=system] .load-more-btn:hover,html[data-theme=system] .team-modal-close:hover,html[data-theme=system] .perm-modal-close:hover{background:var(--bg-subtle)}html[data-theme=system] .team-content tbody tr.is-self,html[data-theme=system] .team-content tbody tr.is-self:hover{background:rgba(96,165,250,.09)}html[data-theme=system] .team-content .active-members-table tbody tr:first-child,html[data-theme=system] .team-content .active-members-table tbody tr:first-child.is-self,html[data-theme=system] .team-content .active-members-table tbody tr:first-child.is-self:hover{background:var(--bg-card)}html[data-theme=system] .tab-count,html[data-theme=system] .role-member,html[data-theme=system] .project-tag,html[data-theme=system] .section-count,html[data-theme=system] .activity-filter-btn,html[data-theme=system] .perm-select,html[data-theme=system] .team-field-input{background:var(--bg-muted);border-color:var(--border);color:var(--text-mid)}html[data-theme=system] .tab-btn.active .tab-count,html[data-theme=system] .self-tag,html[data-theme=system] .role-admin,html[data-theme=system] .project-tag-all,html[data-theme=system] .perm-project-icon,html[data-theme=system] .role-option.selected,html[data-theme=system] .role-option:has(input:checked),html[data-theme=system] .role-choice-selected,html[data-theme=system] .role-choice:has(input:checked){background:var(--blue-bg);border-color:var(--blue-border);color:var(--navy)}html[data-theme=system] .pending-section{background:rgba(245,158,11,.14);border-color:var(--orange-border)}html[data-theme=system] .pending-header,html[data-theme=system] .pending-row:hover{background:rgba(245,158,11,.08)}html[data-theme=system] .btn-resend,html[data-theme=system] .btn-revoke,html[data-theme=system] .sso-provider-logo,html[data-theme=system] .role-option{background:var(--bg-card);border-color:var(--border);color:var(--text-mid)}html[data-theme=system] .role-option:hover,html[data-theme=system] .sso-provider-card:hover{background:var(--bg-muted);border-color:var(--border-mid)}html[data-theme=system] .team-field-input:focus{background:var(--bg-card)}}@media(max-width: 640px){.main>.team-page-header{padding:22px 16px 18px;align-items:flex-start;flex-direction:column}.tabs-bar{padding:0 16px;overflow-x:auto}.team-content{padding:16px 16px 32px}.activity-feed-header,.pending-header,.sso-card-header{align-items:flex-start;flex-direction:column}}@keyframes subscription-fade-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes subscription-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.subscription-page{color:var(--text)}.subscription-header{padding:28px 28px 20px;border-bottom:1px solid var(--border);display:flex;align-items:flex-end;justify-content:space-between}.subscription-breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;color:var(--text-soft)}.subscription-breadcrumb a{color:var(--text-soft);text-decoration:none;transition:color .15s}.subscription-breadcrumb a:hover{color:var(--navy)}.subscription-breadcrumb span:last-child{color:var(--text-mid);font-weight:500}.breadcrumb-separator{color:var(--text-soft);font-size:15px;line-height:1}.subscription-title{font-family:var(--font-family-sans);font-size:22px;font-weight:700;color:var(--text);letter-spacing:-0.4px;line-height:1.2;margin:0}.subscription-content{padding:24px 28px 48px;display:flex;flex-direction:column;gap:20px}.subscription-plan-card{background:var(--navy);border-radius:12px;padding:28px 32px;display:flex;align-items:center;gap:32px;position:relative;overflow:hidden;animation:subscription-fade-up .25s ease both}.subscription-plan-card::before{content:"";position:absolute;top:-40px;right:-40px;width:180px;height:180px;border-radius:50%;background:hsla(0,0%,100%,.03);pointer-events:none}.subscription-plan-card::after{content:"";position:absolute;bottom:-60px;right:120px;width:240px;height:240px;border-radius:50%;background:rgba(74,158,255,.06);pointer-events:none}.plan-main{flex:1;min-width:0;position:relative;z-index:1}.plan-label{font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:hsla(0,0%,100%,.4);margin-bottom:6px}.plan-name-row{display:flex;align-items:center;gap:12px;margin-bottom:4px}.plan-name{font-size:28px;font-weight:700;color:#fff;letter-spacing:-0.6px;line-height:1}.plan-status{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;background:rgba(56,161,105,.2);color:#68d391;border:1px solid rgba(56,161,105,.3)}.plan-status--expired{background:rgba(237,137,54,.2);color:#fbd38d;border-color:rgba(237,137,54,.35)}.plan-status--canceled{background:rgba(229,62,62,.2);color:#fc8181;border-color:rgba(229,62,62,.35)}.plan-warning{margin-top:12px;padding:8px 12px;border-radius:8px;font-size:12.5px;line-height:1.4;position:relative;z-index:1}.plan-warning--canceled{background:rgba(229,62,62,.12);color:#fed7d7;border:1px solid rgba(229,62,62,.25)}.plan-warning--past-due{background:rgba(237,137,54,.12);color:#fbd38d;border:1px solid rgba(237,137,54,.25)}.plan-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:subscription-pulse 2s ease-in-out infinite}.plan-meta{margin-top:10px;font-size:12.5px;color:hsla(0,0%,100%,.5);display:flex;align-items:center;gap:16px;flex-wrap:wrap}.plan-meta-item{display:flex;align-items:center;gap:5px}.plan-meta-separator{opacity:.3}.plan-price-col{text-align:right;width:clamp(220px,28%,320px);flex-shrink:0;position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-end}.plan-price{font-family:var(--font-family-mono);font-size:36px;font-weight:600;color:#fff;letter-spacing:-1px;line-height:1;font-variant-numeric:tabular-nums}.plan-price-amount{display:inline-block}.plan-price--text{font-family:var(--font-family-sans);font-size:28px;font-weight:700;letter-spacing:-0.4px}.plan-price--text+.btn-change-plan{margin-top:18px}.plan-price-currency{display:inline-block;margin-left:0;font-family:var(--font-family-mono);font-size:20px;font-weight:400;color:#fff;opacity:.6;letter-spacing:0;line-height:1;vertical-align:baseline}.plan-price-sub{font-size:12px;color:hsla(0,0%,100%,.4);margin-top:4px;margin-bottom:16px}.btn-change-plan,.btn-metric,.btn-metric-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:7px;font-family:var(--font-family-sans);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.btn-change-plan{width:100%;padding:8px 16px;color:#fff;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);text-align:center;white-space:normal}.btn-change-plan:hover{background:hsla(0,0%,100%,.18);border-color:hsla(0,0%,100%,.35)}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.metric-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:22px 24px;animation:subscription-fade-up .3s ease both}.metric-card:nth-child(1){animation-delay:.05s}.metric-card:nth-child(2){animation-delay:.1s}.metric-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px;gap:16px}.metric-header--tight{margin-bottom:10px}.metric-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-soft);margin-bottom:4px}.metric-count,.analyses-count-row{display:flex;align-items:baseline;gap:4px}.metric-used,.analyses-big{font-size:26px;font-weight:700;color:var(--text);letter-spacing:-0.5px;line-height:1}.metric-total{font-size:14px;color:var(--text-soft);font-weight:400}.metric-link{font-size:12px;font-weight:500;color:var(--navy);text-decoration:none;display:flex;align-items:center;gap:3px;opacity:.7;transition:opacity .15s;flex-shrink:0}.metric-link:hover{opacity:1}.gauge-segs{display:flex;gap:3px;margin-bottom:8px}.gauge-seg{flex:1;height:7px;border-radius:3px;transition:background .2s}.gauge-seg.on{background:var(--navy)}.gauge-seg.off{background:var(--border)}.gauge-labels{display:flex;justify-content:space-between;gap:12px}.gauge-labels.triple{justify-content:flex-start;gap:14px;flex-wrap:wrap}.gauge-label{font-size:11px;color:var(--text-soft);display:flex;align-items:center;gap:4px}.gauge-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.gauge-dot--navy{background:var(--navy)}.gauge-dot--empty{background:var(--border)}.gauge-dot--auto{background:var(--auto)}.gauge-dot--extra{background:var(--extra)}.analyses-sub-label{font-size:13px;color:var(--text-soft);font-weight:400}.analyses-breakdown{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.analyses-breakdown-item{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-mid)}.breakdown-plus{color:var(--border-mid);font-size:11px}.breakdown-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.breakdown-dot--plan{background:var(--navy)}.breakdown-dot--auto{background:var(--auto)}.breakdown-dot--extra{background:var(--extra)}.badge-auto{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.3px;background:var(--auto-bg);color:var(--auto);border:1px solid var(--auto-border);vertical-align:middle}.badge-auto-dot{width:5px;height:5px;border-radius:50%;background:var(--auto);animation:subscription-pulse 2.5s ease-in-out infinite}.analyses-gauge-track{height:8px;background:var(--border);border-radius:5px;overflow:hidden;display:flex;margin-bottom:10px}.analyses-gauge-seg{height:100%;transition:width .7s cubic-bezier(0.4, 0, 0.2, 1)}.analyses-gauge-seg.plan{background:linear-gradient(90deg, #1e3a5f 0%, #3b82f6 100%)}.analyses-gauge-seg.auto{background:linear-gradient(90deg, #7c3aed 0%, #a78bfa 100%);margin-left:2px}.analyses-gauge-seg.extra{background:linear-gradient(90deg, #0d9488 0%, #2dd4bf 100%);margin-left:2px}.credits-carryover{display:flex;align-items:center;gap:8px;background:var(--extra-bg);border:1px solid var(--extra-border);border-radius:8px;padding:9px 12px;margin-top:12px}.credits-carryover-icon{width:24px;height:24px;border-radius:6px;background:var(--extra);display:flex;align-items:center;justify-content:center;flex-shrink:0}.credits-carryover-text{flex:1}.credits-carryover-title{font-size:12px;font-weight:700;color:var(--extra);line-height:1.3}.credits-carryover-sub{font-size:11px;color:var(--text-soft);margin-top:1px}.credits-carryover-count{font-family:var(--font-family-mono);font-size:18px;font-weight:600;color:var(--extra);flex-shrink:0}.metric-footer{margin-top:16px;display:flex;flex-direction:column;gap:8px}.metric-info{font-size:11.5px;color:var(--text-soft);display:flex;align-items:center;gap:4px}.btn-metric{width:100%;padding:8px 14px;background:var(--bg);color:var(--navy);border:1px solid var(--border-mid)}.btn-metric:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.btn-metric-primary{width:100%;padding:9px 14px;background:var(--navy);color:#fff;border:1px solid var(--navy)}.btn-metric-primary:hover{background:var(--navy-dark);border-color:var(--navy-dark)}.billing-section{animation:subscription-fade-up .35s ease both;animation-delay:.15s}.subscription-section-title{font-size:13px;font-weight:700;color:var(--text-mid);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:8px;margin-bottom:12px}.subscription-table-wrap table{width:100%;border-collapse:collapse}.subscription-table-wrap thead th{padding:10px 20px;text-align:left;font-size:11px;font-weight:600;color:var(--text-soft);text-transform:uppercase;letter-spacing:.5px;background:#fafbfc;border-bottom:1px solid var(--border)}.subscription-table-wrap thead th:last-child,.subscription-table-wrap tbody td:last-child{text-align:right}.subscription-table-wrap tbody tr{border-bottom:1px solid var(--border);transition:background .12s}.subscription-table-wrap tbody tr:last-child{border-bottom:none}.subscription-table-wrap tbody tr:hover{background:#fafbfc}.subscription-table-wrap tbody tr.upcoming{background:#fafbfc;opacity:.7}.subscription-table-wrap tbody td{padding:13px 20px;font-size:13.5px;color:var(--text-mid);vertical-align:middle}.td-date{font-family:var(--font-family-mono);font-size:12.5px;color:var(--text-mid);white-space:nowrap}.td-desc{font-size:13.5px;color:var(--text);font-weight:500}.td-amount{font-family:var(--font-family-mono);font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap}.status-paid,.status-upcoming,.status-failed{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:12px;font-size:11.5px;font-weight:600}.status-paid{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.status-upcoming{background:#f7fafc;color:var(--text-soft);border:1px solid var(--border)}.status-failed{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.status-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.status-dot--paid{background:var(--green)}.status-dot--failed{background:var(--red)}.status-dot--upcoming{background:var(--text-soft)}.dl-link{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:500;color:var(--navy);text-decoration:none;opacity:.7;transition:opacity .15s}.dl-link:hover{opacity:1}.td-dash{color:var(--border-mid)}.subscription-empty{padding:32px 20px;text-align:center;color:var(--text-soft);font-size:13px}.subscription-icon{display:inline-block;position:relative;width:13px;height:13px;flex-shrink:0;color:currentColor}.subscription-icon--plus::before,.subscription-icon--plus::after{content:"";position:absolute;background:currentColor;border-radius:2px}.subscription-icon--plus::before{width:11px;height:1.5px;left:1px;top:5.75px}.subscription-icon--plus::after{width:1.5px;height:11px;left:5.75px;top:1px}.subscription-icon--arrow::before{content:"";position:absolute;width:9px;height:1.4px;left:1px;top:5.8px;background:currentColor;border-radius:2px}.subscription-icon--arrow::after{content:"";position:absolute;width:4.5px;height:4.5px;left:6px;top:3.55px;border-top:1.4px solid currentColor;border-right:1.4px solid currentColor;border-radius:1px;transform:rotate(45deg)}.subscription-icon--clock,.subscription-icon--clock-soft,.subscription-icon--card,.subscription-icon--invoice,.subscription-icon--download,.subscription-icon--refresh{border:1.4px solid currentColor}.subscription-icon--clock,.subscription-icon--clock-soft,.subscription-icon--refresh{border-radius:50%}.subscription-icon--clock,.subscription-icon--card{opacity:.55}.subscription-icon--clock::before,.subscription-icon--clock-soft::before{content:"";position:absolute;width:4px;height:1.4px;left:6px;top:6px;background:currentColor;transform:rotate(45deg);transform-origin:left center;border-radius:2px}.subscription-icon--clock::after,.subscription-icon--clock-soft::after{content:"";position:absolute;width:1.4px;height:4px;left:5.4px;top:3px;background:currentColor;border-radius:2px}.subscription-icon--card,.subscription-icon--invoice{border-radius:2px}.subscription-icon--card::before,.subscription-icon--invoice::before{content:"";position:absolute;left:2px;right:2px;top:5px;height:1.4px;background:currentColor}.subscription-icon--download{border:0}.subscription-icon--download::before{content:"↓";position:absolute;inset:-4px 0 0 0;font-size:15px}.subscription-icon--refresh{border-color:#fff}.subscription-icon--refresh::before{content:"";position:absolute;right:-1px;top:-1px;width:5px;height:5px;border-top:1.5px solid #fff;border-right:1.5px solid #fff}.btn-change-plan:focus-visible,.btn-metric:focus-visible,.btn-metric-primary:focus-visible,.btn-confirm-purchase:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.pack-cards{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.pack-card{border:2px solid var(--border);border-radius:12px;padding:14px 16px;cursor:pointer;transition:all .18s;display:flex;align-items:center;gap:14px;background:#fff;position:relative}.pack-card:hover{border-color:var(--navy);background:#f8fafc}.pack-card.selected{border-color:var(--navy);background:#eef3fa;box-shadow:0 0 0 3px rgba(30,58,95,.08)}.pack-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-mid);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s}.pack-card.selected .pack-radio{border-color:var(--navy);background:var(--navy)}.pack-radio-dot{width:7px;height:7px;border-radius:50%;background:#fff;opacity:0;transition:opacity .15s}.pack-card.selected .pack-radio-dot{opacity:1}.pack-info{flex:1}.pack-name{font-size:13.5px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px;margin-bottom:2px}.pack-count{font-size:13px;color:var(--text-mid);font-weight:400}.pack-unit-price{font-size:11.5px;color:var(--text-soft)}.pack-price-col{text-align:right;flex-shrink:0}.pack-price{font-family:var(--font-family-mono);font-size:20px;font-weight:600;color:var(--text);letter-spacing:-0.5px;line-height:1}.pack-card.selected .pack-price{color:var(--navy)}.badge-popular,.badge-best{display:inline-flex;padding:2px 8px;border-radius:8px;font-size:10px;font-weight:700;letter-spacing:.3px}.badge-popular{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.badge-best{background:var(--extra-bg);color:var(--extra);border:1px solid var(--extra-border)}.modal-carryover-note{display:flex;align-items:flex-start;gap:8px;background:var(--extra-bg);border:1px solid var(--extra-border);border-radius:8px;padding:10px 14px;margin-bottom:20px}.modal-carryover-note svg{flex-shrink:0;color:var(--extra);margin-top:1px}.modal-carryover-note-text{font-size:12px;color:var(--extra)}.purchase-summary{background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.purchase-summary-label{font-size:12.5px;color:var(--text-mid)}.purchase-summary-value{font-family:var(--font-family-mono);font-size:14px;font-weight:600;color:var(--text)}.btn-confirm-purchase{width:100%;padding:12px 20px;border-radius:9px;font-size:14px;font-weight:700;background:var(--navy);color:#fff;border:none;cursor:pointer;font-family:var(--font-family-sans);transition:all .15s;margin-bottom:10px}.btn-confirm-purchase:hover{background:var(--navy-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgba(30,58,95,.25)}.btn-confirm-purchase:active{transform:translateY(0)}.modal-fine-print{font-size:11px;color:var(--text-soft);text-align:center;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.fine-print-sep{opacity:.4}.subscription-modal{position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center}.subscription-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(2px)}.purchase-modal-panel,.plan-modal-panel,.seats-modal-panel{position:relative;background:#f8f9fa;border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.18);animation:fadeUp .25s ease both;z-index:1}.purchase-modal-panel{width:520px;max-width:95vw;padding:32px}.plan-modal-panel{width:720px;max-width:95vw;padding:26px 28px 24px;background:#fff;border-radius:14px}.plan-modal-panel .modal-title{font-size:17px;line-height:1.2;letter-spacing:-0.2px;margin-bottom:4px}.seats-modal-panel{width:480px;max-width:95vw;overflow:hidden}.modal-close-btn,.seats-modal-close{position:absolute;top:16px;right:16px;width:26px;height:26px;padding:0;background:none;border:none;color:#718096;cursor:pointer;font-size:22px;line-height:1}.modal-title,.seats-modal-title{font-size:20px;font-weight:700;color:#1a202c;margin:0 0 4px;letter-spacing:-0.4px}.seats-modal-title{font-size:18px;letter-spacing:-0.3px}.modal-subtitle,.seats-modal-subtitle{font-size:13px;color:#718096;margin:0 0 20px}.plan-modal-panel .modal-subtitle{font-size:12px;line-height:1.35;margin-bottom:18px}.plan-modal-panel .modal-subtitle strong{color:var(--navy)}.plan-modal-grid{display:flex;align-items:stretch;gap:12px;margin-bottom:18px}.plan-option-card{flex:1;min-width:0;background:#fff;border:1.5px solid var(--border);border-radius:9px;padding:20px 14px 14px;text-align:center;cursor:pointer;transition:all .2s;position:relative;min-height:300px;display:flex;flex-direction:column}.plan-option-card:hover,.plan-option-card.is-selected{border-color:var(--navy)}.plan-option-card.is-current{background:var(--navy);border-color:var(--navy);box-shadow:0 8px 22px rgba(30,58,95,.22)}.plan-option-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--orange);color:#fff;font-size:10px;font-weight:700;padding:2px 10px;border-radius:10px;white-space:nowrap}.plan-option-name{font-size:13px;font-weight:700;color:var(--text);margin-bottom:7px}.plan-option-card.is-current .plan-option-name,.plan-option-card.is-current .plan-option-price,.plan-option-card.is-current .plan-option-button{color:#fff}.plan-option-price{font-family:var(--font-family-mono);font-size:24px;font-weight:800;letter-spacing:-0.5px;color:var(--text);margin-bottom:1px;line-height:1.1}.plan-option-price-amount,.plan-option-price-currency{display:inline-block}.plan-option-price-currency{font-family:var(--font-family-sans);font-size:12px;font-weight:400;line-height:1;margin-left:2px;color:var(--text-mid);vertical-align:baseline;letter-spacing:0}.plan-option-card.is-current .plan-option-price-currency{color:hsla(0,0%,100%,.7)}.plan-option-custom-price{font-size:18px;letter-spacing:-0.2px}.plan-option-period{font-size:11px;color:var(--text-soft);margin-bottom:14px}.plan-option-card.is-current .plan-option-period,.plan-option-card.is-current .plan-option-features{color:hsla(0,0%,100%,.8)}.plan-option-features{list-style:none;text-align:left;font-size:11.5px;color:var(--text-mid);margin:0 0 14px;display:flex;flex-direction:column;gap:6px;flex:1}.plan-option-features li{display:flex;align-items:flex-start;gap:5px;line-height:1.25;min-height:2.5em;overflow:hidden}.plan-option-features li span:last-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.plan-option-features li.is-muted{color:#a0aec0}.plan-feature-check{color:var(--green);font-size:11px;line-height:1.25;flex-shrink:0}.plan-option-card.is-current .plan-feature-check{color:hsla(0,0%,100%,.8)}.plan-option-button{width:100%;min-height:28px;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;font-family:var(--font-family-sans);border:1.5px solid var(--navy);color:var(--navy);background:rgba(0,0,0,0);transition:all .15s;margin-top:auto}.plan-option-button:hover{background:var(--navy);color:#fff}.plan-option-card.is-current .plan-option-button{border-color:#fff;background:#fff;color:var(--navy);cursor:default}.plan-modal-note{font-size:11.5px;color:#a0aec0;text-align:center;margin:0}.plan-confirm-btn{width:100%;padding:12px 20px;border-radius:9px;font-size:14px;font-weight:700;background:var(--navy);color:#fff;border:none;cursor:pointer;font-family:var(--font-family-sans);transition:all .15s;margin:0 0 10px}.plan-confirm-btn[hidden]{display:none}.plan-confirm-btn:hover{background:var(--navy-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgba(30,58,95,.25)}.plan-confirm-btn:disabled{background:#cbd5e0;cursor:not-allowed;transform:none;box-shadow:none}.plan-change-error{background:#fee2e2;color:#991b1b;padding:12px 14px;border-radius:8px;font-size:13px;margin-bottom:16px}.plan-change-error-title{font-weight:700;margin-bottom:4px}.plan-change-error-link{display:inline-flex;align-items:center;color:#7f1d1d;font-weight:700;margin-top:10px;text-decoration:underline}.seats-stepper{display:flex;align-items:center;gap:0;padding:20px 32px 0}.seats-step-dot{width:22px;height:22px;border-radius:50%;background:var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .25s}.seats-step-dot span{font-size:11px;font-weight:700;color:var(--text-soft)}.seats-step-dot.is-active{background:var(--navy)}.seats-step-dot.is-done{background:var(--green)}.seats-step-dot.is-active span,.seats-step-dot.is-done span{color:#fff}.seats-step-line{flex:1;height:2px;background:var(--border);margin:0 8px;position:relative;overflow:hidden}.seats-step-line-fill{position:absolute;inset:0;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}.seats-step-line-fill.is-filled{transform:scaleX(1)}.seats-step-labels{display:flex;padding:4px 32px 0}.seats-step-labels div{flex:1;font-size:10px;font-weight:600;color:var(--text-soft);letter-spacing:.3px}.seats-step-labels div:nth-child(2){text-align:center}.seats-step-labels div:nth-child(3){text-align:right}.seats-step-labels div.is-active{color:var(--navy)}.seats-step-labels div.is-done{color:var(--green)}.seats-step{padding:24px 32px 32px;animation:subscription-fade-up .2s ease both}.seats-step--success{padding:40px 32px 36px;text-align:center}.seats-field{margin-bottom:12px}.seats-field-label{display:block;font-size:12px;font-weight:600;color:var(--text-mid);margin-bottom:6px}.seats-input-wrap{position:relative}.seats-input-icon{position:absolute;left:12px;top:50%;width:16px;height:16px;transform:translateY(-50%);pointer-events:none;background:no-repeat center/contain;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a0aec0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")}.seats-input{width:100%;padding:10px 12px 10px 34px;border:1.5px solid var(--border-mid);border-radius:8px;font-size:13.5px;font-family:var(--font-family-sans);color:var(--text);background:#fff;outline:none;transition:border-color .15s}.seats-input:focus{border-color:var(--navy)}.seats-email-error{display:none;font-size:11.5px;color:var(--red);margin-top:5px;align-items:center;gap:4px}.seats-email-error.is-visible{display:flex}.seats-email-error span{width:11px;height:11px;border:1.2px solid currentColor;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:700}.seats-email-tags{display:none;flex-wrap:wrap;gap:6px;margin-bottom:16px}.seats-email-tags.is-visible{display:flex}.seats-email-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 10px;background:var(--navy);color:#fff;border-radius:20px;font-size:12px;font-weight:500}.seats-email-tag button{background:none;border:none;color:hsla(0,0%,100%,.55);padding:0;line-height:1}.seats-primary-btn,.seats-secondary-btn{display:flex;align-items:center;justify-content:center;gap:7px;border-radius:9px;font-family:var(--font-family-sans);transition:all .15s}.seats-primary-btn{width:100%;padding:11px 20px;font-size:14px;font-weight:700;background:var(--navy);color:#fff;border:none}.seats-primary-btn:disabled{background:#cbd5e0;cursor:not-allowed}.seats-confirm-list{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:14px}.seats-confirm-row{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--border)}.seats-confirm-row:last-child{border-bottom:none}.seats-confirm-avatar{width:28px;height:28px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:hsla(0,0%,100%,.85);font-size:12px;font-weight:700}.seats-confirm-email{flex:1;font-size:13px;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis}.seats-confirm-badge{font-size:11px;background:var(--orange-bg);color:var(--orange);border:1px solid var(--orange-border);padding:2px 8px;border-radius:10px;font-weight:600}.seats-cost-card{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:20px}.seats-cost-row{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);gap:16px}.seats-cost-row span:first-child{font-size:12.5px;color:var(--text-mid)}.seats-cost-row span:last-child{font-size:12.5px;color:var(--text-mid);font-family:var(--font-family-mono)}.seats-cost-row--total{border-bottom:none;background:#f8fafc}.seats-cost-row--total span:first-child{font-size:13px;font-weight:700;color:var(--text)}.seats-cost-row--total span:last-child{font-size:15px;font-weight:700;color:var(--navy)}.seats-actions{display:flex;gap:10px}.seats-secondary-btn{flex:1;padding:11px;font-size:13.5px;font-weight:600;background:#fff;color:var(--text-mid);border:1.5px solid var(--border-mid)}.seats-secondary-btn:hover{border-color:var(--navy-light);color:var(--navy)}.seats-primary-btn--pay{flex:2}.seats-fine-print{margin-top:12px}.seats-purchase-error{display:none;margin-top:12px;background:#fee2e2;color:#991b1b;padding:10px 12px;border-radius:8px;font-size:12.5px}.seats-purchase-error.is-visible{display:block}.seats-success-icon{width:56px;height:56px;background:var(--green-bg);border:2px solid var(--green-border);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--green);font-size:24px;font-weight:700}.seats-success-message{margin-bottom:24px;line-height:1.5}.modal-carryover-icon-small{width:15px;height:15px;border-color:var(--extra);color:var(--extra);margin-top:1px}html[data-theme=dark] .subscription-header,html[data-theme=dark] .subscription-content{background:var(--bg)}html[data-theme=dark] .metric-card,html[data-theme=dark] .subscription-table-wrap,html[data-theme=dark] .pack-card,html[data-theme=dark] .purchase-modal-panel,html[data-theme=dark] .plan-modal-panel,html[data-theme=dark] .seats-modal-panel,html[data-theme=dark] .plan-option-card,html[data-theme=dark] .seats-summary-card,html[data-theme=dark] .seats-step-card{background:var(--bg-card);border-color:var(--border);color:var(--text)}html[data-theme=dark] .subscription-table-wrap thead th,html[data-theme=dark] .subscription-table-wrap tbody tr:hover,html[data-theme=dark] .subscription-table-wrap tbody tr.upcoming{background:var(--bg-subtle)}html[data-theme=dark] .pack-card:hover,html[data-theme=dark] .pack-card.selected,html[data-theme=dark] .plan-option-card:hover,html[data-theme=dark] .plan-option-card.is-selected{background:var(--blue-bg);border-color:var(--blue-border)}html[data-theme=dark] .status-upcoming,html[data-theme=dark] .modal-carryover-note,html[data-theme=dark] .plan-modal-note{background:var(--bg-muted);border-color:var(--border);color:var(--text-soft)}html[data-theme=dark] .modal-title,html[data-theme=dark] .seats-modal-title,html[data-theme=dark] .pack-name,html[data-theme=dark] .td-desc,html[data-theme=dark] .td-amount{color:var(--text)}html[data-theme=dark] .modal-subtitle,html[data-theme=dark] .seats-modal-subtitle,html[data-theme=dark] .modal-fine-print,html[data-theme=dark] .pack-count,html[data-theme=dark] .pack-unit-price{color:var(--text-soft)}html[data-theme=dark] .modal-close-btn,html[data-theme=dark] .seats-modal-close{color:var(--text-soft)}html[data-theme=dark] .modal-close-btn:hover,html[data-theme=dark] .seats-modal-close:hover{background:var(--bg-muted);color:var(--text)}@media(prefers-color-scheme: dark){html[data-theme=system] .subscription-header,html[data-theme=system] .subscription-content{background:var(--bg)}html[data-theme=system] .metric-card,html[data-theme=system] .subscription-table-wrap,html[data-theme=system] .pack-card,html[data-theme=system] .purchase-modal-panel,html[data-theme=system] .plan-modal-panel,html[data-theme=system] .seats-modal-panel,html[data-theme=system] .plan-option-card,html[data-theme=system] .seats-summary-card,html[data-theme=system] .seats-step-card{background:var(--bg-card);border-color:var(--border);color:var(--text)}html[data-theme=system] .subscription-table-wrap thead th,html[data-theme=system] .subscription-table-wrap tbody tr:hover,html[data-theme=system] .subscription-table-wrap tbody tr.upcoming{background:var(--bg-subtle)}html[data-theme=system] .pack-card:hover,html[data-theme=system] .pack-card.selected,html[data-theme=system] .plan-option-card:hover,html[data-theme=system] .plan-option-card.is-selected{background:var(--blue-bg);border-color:var(--blue-border)}html[data-theme=system] .status-upcoming,html[data-theme=system] .modal-carryover-note,html[data-theme=system] .plan-modal-note{background:var(--bg-muted);border-color:var(--border);color:var(--text-soft)}html[data-theme=system] .modal-title,html[data-theme=system] .seats-modal-title,html[data-theme=system] .pack-name,html[data-theme=system] .td-desc,html[data-theme=system] .td-amount{color:var(--text)}html[data-theme=system] .modal-subtitle,html[data-theme=system] .seats-modal-subtitle,html[data-theme=system] .modal-fine-print,html[data-theme=system] .pack-count,html[data-theme=system] .pack-unit-price{color:var(--text-soft)}html[data-theme=system] .modal-close-btn,html[data-theme=system] .seats-modal-close{color:var(--text-soft)}html[data-theme=system] .modal-close-btn:hover,html[data-theme=system] .seats-modal-close:hover{background:var(--bg-muted);color:var(--text)}}@media(max-width: 1100px){.metrics-grid{grid-template-columns:1fr}.subscription-plan-card{flex-direction:column;align-items:stretch}.plan-price-col{width:100%;max-width:none;align-items:flex-start;text-align:left}}.plan-modal-panel{overflow:hidden;padding:0}.plan-stepper{display:flex;align-items:center;gap:0;padding:20px 28px 0}.plan-step-dot{width:22px;height:22px;border-radius:50%;background:var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .25s}.plan-step-dot span{font-size:11px;font-weight:700;color:var(--text-soft)}.plan-step-dot.is-active{background:var(--navy)}.plan-step-dot.is-done{background:var(--green, #16a34a)}.plan-step-dot.is-active span,.plan-step-dot.is-done span{color:#fff}.plan-step-line{flex:1;height:2px;background:var(--border);margin:0 8px;position:relative;overflow:hidden}.plan-step-line-fill{position:absolute;inset:0;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}.plan-step-line-fill.is-filled{transform:scaleX(1)}.plan-step-labels{display:flex;padding:4px 28px 0}.plan-step-labels div{flex:1;font-size:10px;font-weight:600;color:var(--text-soft);letter-spacing:.3px}.plan-step-labels div:nth-child(2){text-align:center}.plan-step-labels div:nth-child(3){text-align:right}.plan-step-labels div.is-active{color:var(--navy)}.plan-step-labels div.is-done{color:var(--green, #16a34a)}.plan-step{padding:22px 24px 22px;position:relative;animation:subscription-fade-up .2s ease both}.plan-step--success{text-align:center;padding:32px 24px 28px}.plan-success-icon{width:56px;height:56px;margin:0 auto 16px;border-radius:50%;background:linear-gradient(135deg, var(--green, #16a34a), #22c55e);color:#fff;font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(22,163,74,.25)}.plan-confirm-card{border:1px solid var(--border);border-radius:10px;padding:16px 18px;background:#fafbfc;margin:16px 0 12px}.plan-confirm-rows{display:flex;flex-direction:column;gap:8px}.plan-confirm-row{display:flex;justify-content:space-between;font-size:13px;color:var(--text-mid);font-variant-numeric:tabular-nums}.plan-confirm-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:12px;border-top:1px dashed var(--border);font-size:15px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.plan-confirm-card-info,.plan-confirm-next-cycle{font-size:12px;color:var(--text-soft);margin:6px 0 0}.plan-confirm-error{margin-top:12px;padding:10px 12px;background:#fee2e2;color:#991b1b;border-radius:8px;font-size:12.5px;line-height:1.4}.plan-confirm-error[hidden]{display:none}.plan-confirm-error-title{font-weight:700;margin-bottom:4px}.plan-confirm-error-link{display:inline-flex;align-items:center;color:#7f1d1d;font-weight:700;margin-top:8px;text-decoration:underline}.plan-confirm-actions{display:flex;gap:10px;margin-top:16px}.plan-primary-btn,.plan-secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:600;border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s;border:1px solid rgba(0,0,0,0)}.plan-primary-btn{flex:1;background:var(--navy);color:#fff;border-color:var(--navy)}.plan-primary-btn:hover{background:var(--navy-dark, #0f2747);border-color:var(--navy-dark, #0f2747)}.plan-primary-btn:disabled{opacity:.55;cursor:not-allowed}.plan-secondary-btn{background:#fff;color:var(--text-mid);border-color:var(--border)}.plan-secondary-btn:hover{background:#fafbfc;border-color:var(--text-soft)}.checkout-success-card{max-width:560px;margin:24px auto 0;padding:40px 36px;background:var(--card-bg, #fff);border:1px solid var(--border);border-radius:16px;text-align:center;box-shadow:0 4px 24px rgba(15,23,42,.04);animation:subscription-fade-up .3s ease both}.checkout-success-badge{width:72px;height:72px;margin:0 auto 20px;border-radius:50%;background:linear-gradient(135deg, var(--navy), #3182CE);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(30,58,95,.25)}.checkout-success-icon{width:36px;height:36px;filter:brightness(0) invert(1)}.checkout-success-title{font-family:var(--font-family-sans);font-size:24px;font-weight:700;color:var(--text);letter-spacing:-0.4px;margin:0 0 12px}.checkout-success-message{font-size:15px;line-height:1.55;color:var(--text-mid);margin:0 0 12px}.checkout-success-message strong{color:var(--text);font-weight:600}.checkout-success-note{font-size:13px;color:var(--text-soft);margin:0 0 28px}.checkout-success-actions{display:flex;justify-content:center}.checkout-success-actions .btn{min-width:220px}@media(max-width: 640px){.subscription-header{padding:22px 18px 16px}.subscription-content{padding:18px 16px 36px}.subscription-plan-card{padding:24px 20px}.metric-card{padding:18px}.metric-header{flex-direction:column}.subscription-page .billing-section .subscription-table-wrap{overflow:visible;border:0;background:rgba(0,0,0,0)}.subscription-page .billing-section .subscription-table-wrap table,.subscription-page .billing-section .subscription-table-wrap thead,.subscription-page .billing-section .subscription-table-wrap tbody,.subscription-page .billing-section .subscription-table-wrap tr,.subscription-page .billing-section .subscription-table-wrap td{display:block;width:100%}.subscription-page .billing-section .subscription-table-wrap table{border-collapse:separate;border-spacing:0}.subscription-page .billing-section .subscription-table-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.subscription-page .billing-section .subscription-table-wrap tbody{display:grid;gap:10px}.subscription-page .billing-section .subscription-table-wrap tbody tr{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card)}.subscription-page .billing-section .subscription-table-wrap tbody tr:hover,.subscription-page .billing-section .subscription-table-wrap tbody tr.upcoming{background:var(--bg-card)}.subscription-page .billing-section .subscription-table-wrap tbody td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;border:0;text-align:right;min-width:0}.subscription-page .billing-section .subscription-table-wrap tbody td::before{content:attr(data-label);color:var(--text-soft);font-size:11px;font-weight:700;letter-spacing:.4px;text-align:left;text-transform:uppercase}.subscription-page .billing-section .subscription-table-wrap tbody td:nth-child(2){align-items:flex-start}.subscription-page .billing-section .subscription-table-wrap tbody td:last-child{text-align:right}.td-desc{max-width:min(230px,62vw);text-align:right}.dl-link{justify-content:flex-end}.plan-modal-grid{flex-direction:column}.purchase-modal-panel,.plan-modal-panel,.seats-modal-panel{width:calc(100vw - 28px)}.purchase-modal-panel,.plan-modal-panel,.seats-step{padding:24px 20px}.seats-stepper{padding-left:20px;padding-right:20px}.seats-step-labels{padding-left:20px;padding-right:20px}.checkout-success-card{padding:32px 22px;margin:12px 4px 0}.checkout-success-actions .btn{min-width:0;width:100%}}.flash-container{position:fixed;top:16px;right:28px;left:calc(var(--nav-w) + 28px);z-index:2100;display:flex;flex-direction:column;gap:8px;pointer-events:none}.flash-container .alert{pointer-events:auto}.layout--auth .flash-container{left:28px}@media(max-width: 768px){.flash-container,.layout--auth .flash-container{top:12px;right:16px;left:16px}}.alert{position:relative;padding:13px 16px;border-radius:10px;border:1px solid rgba(0,0,0,0);font-size:13.5px;font-weight:500;display:flex;align-items:center;gap:10px;box-shadow:0 1px 4px rgba(0,0,0,.06);opacity:0;transform:translateY(-6px);transition:opacity .25s cubic-bezier(0.34, 1.56, 0.64, 1),transform .25s cubic-bezier(0.34, 1.56, 0.64, 1)}.alert[data-toast-visible=true]{opacity:1;transform:translateY(0)}.alert .alert-icon{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:none;border-radius:0}.alert .alert-icon img,.alert .alert-icon svg{width:100%;height:100%}.alert .alert-message{flex:1;line-height:1.45}.alert .alert-close,.alert .btn-close{width:24px;height:24px;padding:0;background:rgba(0,0,0,0);border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .15s,background .15s;flex-shrink:0}.alert .alert-close:hover,.alert .btn-close:hover{opacity:1;background:rgba(0,0,0,.06)}.alert .alert-close img,.alert .alert-close svg,.alert .btn-close img,.alert .btn-close svg{width:14px;height:14px}.alert.alert-dismissible{padding-right:44px}.alert.alert-dismissible .alert-close,.alert.alert-dismissible .btn-close{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.alert.fade{opacity:0}.alert.fade.show{opacity:1;transform:translateY(0)}.alert-success{background:var(--green-bg);color:var(--green-dark);border-color:var(--green-border)}.alert-danger{background:var(--red-bg);color:var(--red-deep);border-color:var(--red-border)}.alert-warning{background:var(--orange-bg);color:var(--orange);border-color:var(--orange-border)}.alert-info{background:var(--blue-bg);color:var(--blue);border-color:var(--blue-border)}.page-tab{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;font-size:13.5px;font-weight:500;color:var(--text-soft);border-bottom:2px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:color .15s,border-color .15s;border:none;border-radius:0;background:none;font-family:"Inter",sans-serif;margin-bottom:-1px}.page-tab:hover{color:var(--text-mid);transform:none}.page-tab.active{color:var(--navy);border-bottom:2px solid var(--navy);font-weight:600}.alert-card{background:#fff;border:1px solid var(--border);border-left-width:4px;border-radius:0 10px 10px 0;padding:16px 20px;display:flex;align-items:flex-start;gap:14px;transition:box-shadow .15s;text-decoration:none;color:inherit}.alert-card:hover{box-shadow:0 4px 14px rgba(0,0,0,.07)}.alert-card.alert-card--critical{border-left-color:var(--red)}.alert-card.alert-card--high{border-left-color:var(--orange)}.alert-card.alert-card--medium{border-left-color:#d97706}.alert-card.alert-card--default{border-left-color:var(--border-mid)}.alert-card-body{flex:1;min-width:0}.alert-card-title-row{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.alert-card-description{font-size:12.5px;color:var(--text-soft);margin:0;line-height:1.5}.alert-card-actions{text-align:right;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.alert-card-time{font-size:11px;color:var(--text-soft)}.alerts-page__header{padding:28px 28px 20px;border-bottom:1px solid var(--border);display:flex;align-items:flex-end;justify-content:space-between}.alerts-breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;color:var(--text-soft);font-weight:400;letter-spacing:0;line-height:1.2;text-transform:none}.alerts-breadcrumb a{color:var(--text-soft);text-decoration:none}.alerts-breadcrumb a:hover{color:var(--navy)}.alerts-breadcrumb span{color:var(--text-mid);font-weight:500}.alerts-content{padding:24px 28px 48px;display:flex;flex-direction:column;gap:24px;min-height:calc(100vh - 82px)}.alerts-section-title{font-size:13px;font-weight:700;color:var(--text-mid);text-transform:uppercase;letter-spacing:.5px;line-height:1.2;display:flex;align-items:center;gap:8px;margin-bottom:12px}.section-chip{font-size:10px;font-weight:600;color:var(--text-soft);background:var(--bg-muted);padding:2px 7px;border-radius:8px;margin-left:2px;text-transform:none;letter-spacing:0}.channels-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.channel-card,.rules-card,.log-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;animation:fadeInUp .3s ease both}.channel-card{display:flex;flex-direction:column;padding:0}.channel-card:nth-child(1){animation-delay:.05s}.channel-card:nth-child(2){animation-delay:.1s}.rules-card{animation-delay:.15s}.log-card{animation-delay:.2s}.channel-header{padding:20px 22px 18px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--border);gap:12px}.channel-heading{display:flex;align-items:flex-start;gap:13px;flex:1;min-width:0}.channel-icon-wrap{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.channel-icon-wrap--email{background:var(--blue-bg);color:var(--navy)}.channel-icon-wrap--webhook{background:var(--extra-bg);color:var(--extra)}.channel-title{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-0.2px;margin:0 0 3px}.channel-desc{font-size:12.5px;color:var(--text-soft);line-height:1.45;margin:0}.channel-body{padding:18px 22px 20px;display:flex;flex-direction:column;gap:14px;flex:1}.field-label{font-size:11.5px;font-weight:600;color:var(--text-mid);margin-bottom:6px;display:flex;align-items:center;gap:5px}.field-label--split{justify-content:space-between}.field-label--split span{display:flex;align-items:center;gap:5px}.field-label--split em{font-size:10.5px;font-weight:400;font-style:normal;color:var(--text-soft)}.field-input-wrap{position:relative}.field-input-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text-soft);pointer-events:none}.field-input{width:100%;padding:9px 11px 9px 32px;border:1.5px solid var(--border-mid);border-radius:8px;font-size:13px;font-family:"Inter",sans-serif;color:var(--text);background:var(--bg);outline:none;transition:border-color .15s,background .15s}.field-input:focus{border-color:var(--navy);background:var(--bg-card)}.field-input::placeholder{color:var(--border-mid)}.field-input.mono{font-family:"IBM Plex Mono",monospace;font-size:12px;padding-left:11px}.field-hint{font-size:11px;color:var(--text-soft);margin:4px 0 0}.field-hint code{font-family:"IBM Plex Mono",monospace;font-size:10.5px;background:var(--bg-muted);padding:1px 4px;border-radius:3px}.email-tags-wrap{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:7px}.email-tags-list{display:flex;flex-wrap:wrap;gap:5px}.email-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 8px 3px 9px;background:var(--blue-bg);color:var(--navy);border:1px solid var(--blue-border);border-radius:14px;font-size:12px;font-weight:500}.email-tag__remove{width:12px;height:12px;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;color:#94a3b8;cursor:pointer;line-height:1;font-size:13px}.channel-footer{padding:12px 22px;background:var(--bg-subtle);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.status-badge.ok{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.status-badge.ok .status-dot{background:var(--green)}.status-badge.error{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.status-badge.error .status-dot{background:var(--red)}.status-badge.idle{background:var(--bg-muted);color:var(--text-soft);border:1px solid var(--border)}.status-badge.idle .status-dot{background:var(--border-mid)}.status-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.btn-test{display:inline-flex;align-items:center;gap:5px;padding:7px 13px;border-radius:7px;font-size:12.5px;font-weight:600;background:var(--bg);color:var(--navy);border:1.5px solid var(--border-mid);cursor:pointer;font-family:"Inter",sans-serif;transition:all .15s;white-space:nowrap}.btn-test:hover{border-color:var(--navy);background:var(--bg-card)}.btn-test:disabled{opacity:.55;cursor:not-allowed}.toggle{display:inline-block;position:relative;width:38px;height:22px;cursor:pointer;flex-shrink:0}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-track{position:absolute;inset:0;background:var(--border-mid);border-radius:11px;transition:background .2s}.toggle input:checked+.toggle-track,.toggle input:checked~.toggle-track{background:var(--green)}.toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--bg-card);box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}.toggle input:checked~.toggle-thumb{transform:translateX(16px)}.rules-card-header{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.rules-card-header h2{font-size:13.5px;font-weight:600;color:var(--text);margin:0}.rules-card-header p{font-size:12px;color:var(--text-soft);margin:2px 0 0}.rule-row{display:flex;align-items:center;gap:16px;padding:14px 22px;border-bottom:1px solid var(--border);transition:background .12s}.rule-row:last-child{border-bottom:none}.rule-row:hover{background:var(--bg-subtle)}.rule-severity{flex-shrink:0;width:80px}.sev-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:10px;font-size:11px;font-weight:700;letter-spacing:.2px;border:1px solid}.sev-critique{background:var(--red-bg);color:var(--red);border-color:var(--red-border)}.sev-majeure{background:var(--orange-bg);color:var(--orange);border-color:var(--orange-border)}.sev-mineure{background:var(--orange-bg);color:var(--orange);border-color:var(--orange-border)}.sev-obsolete{background:var(--auto-bg);color:var(--auto);border-color:var(--auto-border)}.sev-recap{background:var(--bg-muted);color:var(--text-soft);border-color:var(--border)}.rule-copy{flex:1;min-width:0}.rule-name{font-size:13.5px;color:var(--text);font-weight:500}.rule-name-sub{font-size:11.5px;color:var(--text-soft);font-weight:400;margin-top:1px}.rule-channels{display:flex;gap:6px;align-items:center;flex-shrink:0}.channel-chip,.rule-channel-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:10px;font-size:11px;font-weight:600;background:var(--blue-bg);color:var(--navy);border:1px solid var(--blue-border)}.channel-chip--webhook{background:var(--extra-bg);color:var(--extra);border-color:var(--extra-border)}.channel-chip--off,.channel-chip--disabled{background:var(--bg-muted);color:var(--text-soft);border-color:var(--border);text-decoration:line-through;opacity:.5}.rule-toggle{flex-shrink:0}.log-card-header{padding:16px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--text-soft)}.alert-export-btn{padding:6px 12px;font-size:12px}.log-row{display:flex;align-items:flex-start;gap:14px;padding:12px 22px;border-bottom:1px solid var(--border);font-size:12.5px}.log-row:last-child{border-bottom:none}.log-row--muted{opacity:.65}.log-time{font-family:"IBM Plex Mono",monospace;font-size:11.5px;color:var(--text-soft);white-space:nowrap;flex-shrink:0;padding-top:1px;width:76px}.log-icon{flex-shrink:0;padding-top:2px}.alert-delivery__severity-icon{width:14px;height:14px;display:block}.log-body{flex:1;min-width:0}.log-title{font-size:13px;color:var(--text);font-weight:500;line-height:1.4}.log-title strong{font-weight:700}.log-detail{font-size:11.5px;color:var(--text-soft);margin-top:2px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.log-channel-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:8px;font-size:10.5px;font-weight:600}.log-channel-email{background:var(--blue-bg);color:var(--navy)}.log-channel-webhook{background:var(--extra-bg);color:var(--extra)}.log-status{flex-shrink:0;padding-top:2px}.alert-error-popover{position:relative;display:inline-flex}.alert-error-popover__trigger{border:0;cursor:pointer}.alert-error-popover__panel{position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:min(280px,72vw);padding:10px 12px;border:1px solid var(--red-border);border-radius:8px;background:var(--bg-card);box-shadow:var(--shadow-lg);color:var(--red-deep);font-size:12px;line-height:1.4;text-align:left}.log-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px 16px;border-top:1px solid var(--border)}.log-pagination-info{font-size:12px;color:var(--text-soft);line-height:1.2}.log-pagination-actions{display:flex;align-items:center;gap:8px}.alert-pagination-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1.5px solid var(--border-mid);border-radius:8px;background:var(--bg-card);color:var(--text-mid);font-size:12px;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:border-color .15s,color .15s,background .15s,opacity .15s}.alert-pagination-btn:hover{border-color:var(--navy);color:var(--navy);background:var(--bg-card)}.alert-pagination-btn.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.empty-state--log{padding:52px 20px;border:none;border-radius:0;color:var(--text-soft)}.empty-state--log .empty-icon{width:48px;height:48px;margin:0 auto 14px;background:var(--bg);border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;opacity:1;color:var(--border-mid)}.empty-state-alerts{padding:48px 24px;text-align:center}.empty-state-alerts__icon{width:48px;height:48px;margin:0 auto 14px;opacity:.4}.empty-state-alerts__title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:6px}.empty-state-alerts__desc{font-size:14px;color:var(--text-soft)}.unsaved-bar{position:sticky;bottom:0;left:0;right:0;background:var(--navy);color:#fff;padding:12px 28px;align-items:center;justify-content:space-between;z-index:50;margin:auto -28px -48px;animation:fadeInUp .2s ease both}.unsaved-bar:not([hidden]){display:flex}.unsaved-bar[hidden]{display:none}.unsaved-bar-text{font-size:13px;display:flex;align-items:center;gap:8px}.unsaved-bar-text svg{color:hsla(0,0%,100%,.6)}.unsaved-bar-actions{display:flex;gap:10px}.unsaved-btn{padding:7px 14px;border-radius:7px;font-size:13px;font-weight:600;border:1px solid hsla(0,0%,100%,.2);cursor:pointer;font-family:"Inter",sans-serif;transition:all .15s}.unsaved-btn--secondary{background:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.7)}.unsaved-btn--secondary:hover{background:hsla(0,0%,100%,.18)}.unsaved-btn--primary{padding-left:16px;padding-right:16px;background:#fff;color:var(--navy);border-color:#fff;font-weight:700}.unsaved-btn--primary:hover{background:var(--blue-bg)}.btn-test:focus-visible,.btn-secondary:focus-visible,.unsaved-btn:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.alerts-page{font-family:var(--font-family-sans);color:var(--text)}.alerts-page .alerts-page__header{background:var(--bg);margin:0}.alerts-page .page-title{margin:0;color:var(--text);font-family:var(--font-family-sans);font-size:22px;font-weight:700;letter-spacing:-0.4px;line-height:1.2}.alerts-page .alerts-breadcrumb{margin-bottom:8px;color:var(--text-soft);font-family:var(--font-family-sans);font-size:12px;font-weight:400;letter-spacing:0;line-height:1.2;text-transform:none}.alerts-page .alerts-breadcrumb svg{flex-shrink:0}.alerts-page .alerts-section-title{margin-bottom:12px;color:var(--text-mid);font-family:var(--font-family-sans);font-size:13px;font-weight:700;letter-spacing:.5px;line-height:1.2;text-transform:uppercase}.alerts-page .channel-card,.alerts-page .rules-card,.alerts-page .log-card{box-shadow:none}.alerts-page .field-label{margin:0 0 6px;color:var(--text-mid);font-family:var(--font-family-sans);font-size:11.5px;font-weight:600;letter-spacing:0;line-height:1.2;text-transform:none}.alerts-page .field-input{min-height:0;margin:0;color:var(--text);font-family:var(--font-family-sans);font-size:13px;font-weight:400;line-height:normal}.alerts-page .field-input.mono{font-family:var(--font-family-mono);font-size:12px}.alerts-page .field-hint,.alerts-page .channel-desc,.alerts-page .rule-name-sub,.alerts-page .log-detail{font-family:var(--font-family-sans)}.alerts-page .status-badge{margin:0;font-family:var(--font-family-sans);font-size:11px;font-weight:600;line-height:normal;text-transform:none}.alerts-page .btn-test,.alerts-page .btn-secondary.alert-export-btn,.alerts-page .btn-secondary.alert-pagination-btn,.alerts-page .unsaved-btn{width:auto;height:auto;min-height:0;margin:0;font-family:var(--font-family-sans);line-height:normal;text-transform:none}.alerts-page .btn-secondary.alert-export-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1.5px solid var(--border-mid);border-radius:8px;background:var(--bg-card);color:var(--text-mid);font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;transition:all .15s}.alerts-page .btn-secondary.alert-pagination-btn{color:var(--text-mid);border-color:var(--border-mid);background:var(--bg-card)}.alerts-page .btn-secondary.alert-pagination-btn:hover{color:var(--navy);border-color:var(--navy);background:var(--bg-card);opacity:1;transform:none}.alerts-page .btn-secondary.alert-pagination-btn.is-disabled{opacity:.45}.alerts-page .btn-secondary.alert-export-btn:hover{border-color:var(--navy);color:var(--navy);background:var(--bg-card);opacity:1;transform:none}.alerts-page .empty-state--log .empty-title{margin:0 0 6px;color:var(--text-mid);font-size:14px;font-weight:600}.alerts-page .empty-state--log .empty-desc{margin:0;color:var(--text-soft);font-size:13px;line-height:1.5}html[data-theme=dark] .alerts-page .alerts-page__header,html[data-theme=dark] .alerts-page .alerts-content{background:var(--bg)}html[data-theme=dark] .alerts-page .channel-card,html[data-theme=dark] .alerts-page .rules-card,html[data-theme=dark] .alerts-page .log-card,html[data-theme=dark] .alerts-page .alert-card{background:var(--bg-card);border-color:var(--border);color:var(--text)}html[data-theme=dark] .alerts-page .channel-header,html[data-theme=dark] .alerts-page .channel-footer,html[data-theme=dark] .alerts-page .rules-card-header,html[data-theme=dark] .alerts-page .rule-row,html[data-theme=dark] .alerts-page .log-card-header,html[data-theme=dark] .alerts-page .log-row,html[data-theme=dark] .alerts-page .log-pagination{border-color:var(--border)}html[data-theme=dark] .alerts-page .channel-footer,html[data-theme=dark] .alerts-page .log-card-header,html[data-theme=dark] .alerts-page .log-pagination{background:var(--bg-subtle)}html[data-theme=dark] .alerts-page .rule-row:hover,html[data-theme=dark] .alerts-page .log-row:hover{background:var(--bg-subtle)}html[data-theme=dark] .alerts-page .channel-title,html[data-theme=dark] .alerts-page .rule-name,html[data-theme=dark] .alerts-page .log-title,html[data-theme=dark] .alerts-page .rules-card-header h2{color:var(--text)}html[data-theme=dark] .alerts-page .channel-desc,html[data-theme=dark] .alerts-page .field-hint,html[data-theme=dark] .alerts-page .rule-name-sub,html[data-theme=dark] .alerts-page .log-detail,html[data-theme=dark] .alerts-page .rules-card-header p{color:var(--text-soft)}html[data-theme=dark] .alerts-page .field-label,html[data-theme=dark] .alerts-page .alerts-section-title{color:var(--text-mid)}html[data-theme=dark] .alerts-page .field-input{background:#0e151d;border-color:var(--border-mid);color:var(--text)}html[data-theme=dark] .alerts-page .field-input:disabled{background:var(--bg-muted);color:var(--text-mid);opacity:1}html[data-theme=dark] .alerts-page .field-input::placeholder{color:var(--text-soft)}html[data-theme=dark] .alerts-page .field-input:focus{background:#0e151d;border-color:var(--navy)}html[data-theme=dark] .alerts-page .field-input-icon,html[data-theme=dark] .alerts-page .field-input-wrap>svg,html[data-theme=dark] .alerts-page .field-label svg{color:var(--text-soft)}html[data-theme=dark] .alerts-page .btn-test,html[data-theme=dark] .alerts-page .btn-secondary.alert-export-btn,html[data-theme=dark] .alerts-page .btn-secondary.alert-pagination-btn{background:var(--bg-muted);border-color:var(--border-mid);color:var(--text-mid)}html[data-theme=dark] .alerts-page .btn-test:hover,html[data-theme=dark] .alerts-page .btn-secondary.alert-export-btn:hover,html[data-theme=dark] .alerts-page .btn-secondary.alert-pagination-btn:hover{background:var(--bg-card);border-color:var(--navy);color:var(--navy)}html[data-theme=dark] .alerts-page .unsaved-bar{background:#1f4f86;border-top:1px solid hsla(0,0%,100%,.16)}html[data-theme=dark] .alerts-page .unsaved-btn--primary{background:var(--bg-card);color:var(--navy);border-color:hsla(0,0%,100%,.3)}@media(prefers-color-scheme: dark){html[data-theme=system] .alerts-page .alerts-page__header,html[data-theme=system] .alerts-page .alerts-content{background:var(--bg)}html[data-theme=system] .alerts-page .channel-card,html[data-theme=system] .alerts-page .rules-card,html[data-theme=system] .alerts-page .log-card,html[data-theme=system] .alerts-page .alert-card{background:var(--bg-card);border-color:var(--border);color:var(--text)}html[data-theme=system] .alerts-page .channel-header,html[data-theme=system] .alerts-page .channel-footer,html[data-theme=system] .alerts-page .rules-card-header,html[data-theme=system] .alerts-page .rule-row,html[data-theme=system] .alerts-page .log-card-header,html[data-theme=system] .alerts-page .log-row,html[data-theme=system] .alerts-page .log-pagination{border-color:var(--border)}html[data-theme=system] .alerts-page .channel-footer,html[data-theme=system] .alerts-page .log-card-header,html[data-theme=system] .alerts-page .log-pagination{background:var(--bg-subtle)}html[data-theme=system] .alerts-page .rule-row:hover,html[data-theme=system] .alerts-page .log-row:hover{background:var(--bg-subtle)}html[data-theme=system] .alerts-page .channel-title,html[data-theme=system] .alerts-page .rule-name,html[data-theme=system] .alerts-page .log-title,html[data-theme=system] .alerts-page .rules-card-header h2{color:var(--text)}html[data-theme=system] .alerts-page .channel-desc,html[data-theme=system] .alerts-page .field-hint,html[data-theme=system] .alerts-page .rule-name-sub,html[data-theme=system] .alerts-page .log-detail,html[data-theme=system] .alerts-page .rules-card-header p{color:var(--text-soft)}html[data-theme=system] .alerts-page .field-label,html[data-theme=system] .alerts-page .alerts-section-title{color:var(--text-mid)}html[data-theme=system] .alerts-page .field-input{background:#0e151d;border-color:var(--border-mid);color:var(--text)}html[data-theme=system] .alerts-page .field-input:disabled{background:var(--bg-muted);color:var(--text-mid);opacity:1}html[data-theme=system] .alerts-page .field-input::placeholder{color:var(--text-soft)}html[data-theme=system] .alerts-page .field-input:focus{background:#0e151d;border-color:var(--navy)}html[data-theme=system] .alerts-page .field-input-icon,html[data-theme=system] .alerts-page .field-input-wrap>svg,html[data-theme=system] .alerts-page .field-label svg{color:var(--text-soft)}html[data-theme=system] .alerts-page .btn-test,html[data-theme=system] .alerts-page .btn-secondary.alert-export-btn,html[data-theme=system] .alerts-page .btn-secondary.alert-pagination-btn{background:var(--bg-muted);border-color:var(--border-mid);color:var(--text-mid)}html[data-theme=system] .alerts-page .btn-test:hover,html[data-theme=system] .alerts-page .btn-secondary.alert-export-btn:hover,html[data-theme=system] .alerts-page .btn-secondary.alert-pagination-btn:hover{background:var(--bg-card);border-color:var(--navy);color:var(--navy)}html[data-theme=system] .alerts-page .unsaved-bar{background:#1f4f86;border-top:1px solid hsla(0,0%,100%,.16)}html[data-theme=system] .alerts-page .unsaved-btn--primary{background:var(--bg-card);color:var(--navy);border-color:hsla(0,0%,100%,.3)}}@media(max-width: 900px){.channels-grid{grid-template-columns:1fr}.rule-row{align-items:flex-start;flex-wrap:wrap}.rule-channels{margin-left:96px}}@media(max-width: 640px){.alerts-page__header{padding:22px 16px 18px}.alerts-content{padding:18px 16px 48px}.channel-header,.channel-body,.channel-footer,.rules-card-header,.rule-row,.log-card-header,.log-row{padding-left:16px;padding-right:16px}.log-pagination{padding-left:16px;padding-right:16px;align-items:flex-start;flex-direction:column}.channel-footer,.log-card-header,.unsaved-bar{align-items:flex-start;flex-direction:column}.rule-severity{width:auto}.rule-copy{flex-basis:calc(100% - 96px)}.rule-channels{width:100%;margin-left:0}.log-row{display:grid;grid-template-columns:auto 1fr}.log-time{width:auto;grid-column:1/-1}.log-status{grid-column:2}.unsaved-bar{margin-left:-16px;margin-right:-16px;margin-bottom:-48px;padding:12px 16px}}.profile-page .profile-page-header{padding:28px 36px 0;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:0}.profile-page .page-header-left h1{font-size:22px;font-weight:700;color:var(--text);letter-spacing:-0.4px;margin-bottom:0}.profile-page .page-header-left p{font-size:13.5px;color:var(--text-soft);margin-top:3px;margin-bottom:0}.profile-page .tabs-bar{padding:20px 36px 0;border-bottom:1px solid var(--border);display:flex;gap:0}.profile-page .tab-btn{padding:10px 18px 12px;font-size:13.5px;font-weight:500;color:var(--text-soft);border:none;background:none;cursor:pointer;border-bottom:2px solid rgba(0,0,0,0);margin-bottom:-1px;font-family:"Inter",sans-serif;transition:color .15s,border-color .15s;display:flex;align-items:center;gap:7px;border-radius:0}.profile-page .tab-btn:hover{color:var(--text)}.profile-page .tab-btn.active{color:var(--navy);border-bottom-color:var(--navy);font-weight:600}.profile-page .tab-btn img{opacity:.6}.profile-page .tab-btn.active img{opacity:1}.profile-page .tab-panel{display:none;padding:32px 36px 48px;animation:fadeInUp .25s ease}.profile-page .tab-panel.active{display:block}@keyframes fadeInUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.profile-page .settings-section{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:20px}.profile-page .settings-section-header{padding:18px 24px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.profile-page .settings-section-title{font-size:14px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}.profile-page .settings-section-title img{flex-shrink:0}.profile-page .settings-section-desc{font-size:12.5px;color:var(--text-soft);margin-top:2px}.profile-page .settings-section-body{padding:20px 24px}.profile-page .btn{width:auto;height:auto;min-height:0;margin:0;padding:8px 16px;justify-content:center;line-height:normal}.profile-page .profile-avatar-block{display:flex;align-items:center;gap:20px;padding:20px 24px}.profile-page .profile-avatar-large{width:64px;height:64px;padding:0;background:linear-gradient(135deg, #4A9EFF, #2D7DD2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff;flex-shrink:0;cursor:pointer;transition:opacity .15s,box-shadow .15s;overflow:hidden}.profile-page .profile-avatar-large:hover{opacity:.85;box-shadow:0 0 0 3px rgba(74,158,255,.3)}.profile-page .profile-avatar-info{flex:1}.profile-page .profile-avatar-image{width:100%;height:100%;object-fit:cover}.profile-page .profile-avatar-form{display:inline-flex}.profile-page .profile-avatar-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap}.profile-page .profile-avatar-name{font-size:17px;font-weight:700;color:var(--text)}.profile-page .profile-avatar-role{display:inline-block;margin-top:4px;font-size:11px;font-weight:700;letter-spacing:.3px;background:#eff4fb;color:#1e3a5f;padding:3px 9px;border-radius:5px}.profile-page .profile-avatar-actions{display:flex;gap:8px;margin-top:10px}.profile-page .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile-page .ai-provider-fields{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile-page .ai-provider-fields[hidden]{display:none}.profile-page .form-group{display:flex;flex-direction:column;gap:5px}.profile-page .form-group.full{grid-column:1/-1}.profile-page .form-group .form-label{font-size:12px;font-weight:600;color:var(--text-mid);text-transform:uppercase;letter-spacing:.4px;margin-bottom:0}.profile-page .form-input{width:100%;padding:9px 12px;border-radius:7px;border:1px solid var(--border);background:#fff;font-size:13.5px;color:var(--text);font-family:"Inter",sans-serif;transition:border-color .15s,box-shadow .15s;outline:none}.profile-page .form-input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,58,95,.12)}.profile-page .form-input:disabled{background:#f7fafc;color:var(--text-soft);cursor:not-allowed}.profile-page .form-hint{font-size:11.5px;color:var(--text-soft);margin-top:0}.profile-page .form-input-mono{font-family:"IBM Plex Mono",monospace;font-size:13px}.profile-page .section-footer{padding:14px 24px;border-top:1px solid var(--border);background:#fafbfc;display:flex;align-items:center;justify-content:flex-end;gap:10px}.profile-page .section-footer .profile-link{margin-right:auto;font-size:12.5px;color:var(--navy);text-decoration:underline}.profile-page .danger-zone-section{background:#fff5f5;border-color:#feb2b2}.profile-page .danger-zone-section .settings-section-header{border-bottom-color:#feb2b2}.profile-page .danger-zone-title{color:var(--red)}.profile-page .danger-zone-body{display:flex;flex-direction:column;gap:14px}.profile-page .danger-action-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid #fed7d7}.profile-page .danger-action-row:first-child{padding-top:0}.profile-page .danger-action-row:last-child{padding-bottom:0;border-bottom:none}.profile-page .danger-action-info{flex:1;min-width:0}.profile-page .danger-action-title{font-size:13.5px;font-weight:700;color:var(--text)}.profile-page .danger-action-desc{font-size:12px;color:var(--text-soft);margin-top:2px}.profile-page .account-delete-modal-body{display:flex;flex-direction:column;gap:18px}.profile-page .account-delete-warning{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid #feb2b2;border-radius:8px;background:#fff5f5;color:var(--red);font-size:13px;line-height:1.5}.profile-page .account-delete-warning img{flex-shrink:0}.profile-page .profile-page-header~.tabs-bar~.tab-panel .btn-muted{color:var(--text-soft)}@media(max-width: 720px){.profile-page .danger-action-row{align-items:stretch;flex-direction:column}.profile-page .danger-action-row .btn{justify-content:center;width:100%}}.profile-page html[data-theme=dark] .profile-page-header,.profile-page html[data-theme=dark] .tabs-bar,.profile-page html[data-theme=dark] .settings-section,.profile-page html[data-theme=dark] .form-input,.profile-page html[data-theme=dark] .section-footer,.profile-page html[data-theme=dark] .app-row,.profile-page html[data-theme=dark] .connected-app-card{background:var(--bg-card);border-color:var(--border);color:var(--text)}.profile-page html[data-theme=dark] .danger-zone-section,.profile-page html[data-theme=dark] .danger-zone-section .settings-section-header{background:var(--bg-card);border-color:var(--red-border)}.profile-page html[data-theme=dark] .danger-action-row,.profile-page html[data-theme=dark] .account-delete-warning{border-color:var(--red-border)}.profile-page html[data-theme=dark] .account-delete-warning{background:var(--red-bg)}.profile-page html[data-theme=dark] .profile-page-header{background:var(--bg)}.profile-page html[data-theme=dark] .tabs-bar,.profile-page html[data-theme=dark] .section-footer{background:var(--bg-subtle)}.profile-page html[data-theme=dark] .form-input:disabled{background:var(--bg-muted)}.profile-page html[data-theme=dark] .profile-avatar-role{background:var(--blue-bg);color:var(--navy)}@media(prefers-color-scheme: dark){.profile-page html[data-theme=system] .profile-page-header,.profile-page html[data-theme=system] .tabs-bar,.profile-page html[data-theme=system] .settings-section,.profile-page html[data-theme=system] .form-input,.profile-page html[data-theme=system] .section-footer,.profile-page html[data-theme=system] .app-row,.profile-page html[data-theme=system] .connected-app-card{background:var(--bg-card);border-color:var(--border);color:var(--text)}.profile-page html[data-theme=system] .danger-zone-section,.profile-page html[data-theme=system] .danger-zone-section .settings-section-header{background:var(--bg-card);border-color:var(--red-border)}.profile-page html[data-theme=system] .danger-action-row,.profile-page html[data-theme=system] .account-delete-warning{border-color:var(--red-border)}.profile-page html[data-theme=system] .account-delete-warning{background:var(--red-bg)}.profile-page html[data-theme=system] .profile-page-header{background:var(--bg)}.profile-page html[data-theme=system] .tabs-bar,.profile-page html[data-theme=system] .section-footer{background:var(--bg-subtle)}.profile-page html[data-theme=system] .form-input:disabled{background:var(--bg-muted)}.profile-page html[data-theme=system] .profile-avatar-role{background:var(--blue-bg);color:var(--navy)}}.profile-page .toggle-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--border)}.profile-page .toggle-row:last-child{border-bottom:none;padding-bottom:0}.profile-page .toggle-row:first-child{padding-top:0}.profile-page .toggle-info{flex:1}.profile-page .toggle-label{font-size:13.5px;font-weight:600;color:var(--text)}.profile-page .toggle-desc{font-size:12px;color:var(--text-soft);margin-top:2px}.profile-page .profile-project-notifications{margin-top:18px;padding-top:18px}.profile-page .profile-project-notifications>.toggle-label{margin-bottom:6px}.profile-page .profile-project-notifications>.toggle-desc{margin-bottom:18px;max-width:760px;line-height:1.45}.profile-page .toggle{position:relative;width:38px;height:22px;flex-shrink:0;margin-top:1px}.profile-page .toggle input{opacity:0;width:0;height:0}.profile-page .toggle-track{position:absolute;inset:0;border-radius:11px;background:var(--border-mid);cursor:pointer;transition:background .2s}.profile-page .toggle-track::after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.profile-page .toggle input:checked+.toggle-track{background:var(--navy)}.profile-page .toggle input:checked+.toggle-track::after{transform:translateX(16px)}.profile-page .app-list-body{padding-bottom:8px}.profile-page .app-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}.profile-page .app-row:last-child{border-bottom:none;padding-bottom:0}.profile-page .app-row:first-child{padding-top:0}.profile-page .app-logo{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-page .app-info{flex:1}.profile-page .app-name{font-size:13.5px;font-weight:600;color:var(--text)}.profile-page .app-desc,.profile-page .app-empty{font-size:12px;color:var(--text-soft);margin-top:1px}.profile-page .app-status{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:12px}.profile-page .app-status-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;background:var(--green)}.profile-page .status-connected{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.profile-page .tab-btn:focus-visible,.profile-page .profile-avatar-large:focus-visible{outline:2px solid var(--navy);outline-offset:2px}@media(max-width: 768px){.profile-page .profile-page-header,.profile-page .tabs-bar{padding-left:20px;padding-right:20px}.profile-page .tab-panel{padding:24px 20px 40px}.profile-page .form-grid{grid-template-columns:1fr}.profile-page .profile-avatar-block,.profile-page .app-row,.profile-page .toggle-row{align-items:flex-start}.profile-page .app-row{flex-wrap:wrap}}.ai-scans-page{max-width:1120px;margin:0 auto;padding:32px 28px 48px}.ai-scans-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.ai-scans-header h1{margin:0;color:var(--text)}.ai-scans-subtitle{max-width:760px;margin:8px 0 0;color:var(--text-soft);font-size:14px}.ai-scans-page .eyebrow{margin:0 0 6px;color:var(--blue);font-size:12px;font-weight:700;text-transform:uppercase}.ai-scan-panel{margin-top:18px;padding:22px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);box-shadow:var(--shadow-sm)}.ai-scan-panel h2{margin:0 0 16px;font-size:18px}.ai-scan-form{display:flex;align-items:flex-end;gap:14px}.ai-scan-field{display:flex;flex:1;flex-direction:column;gap:6px}.ai-scan-field label{color:var(--text-mid);font-size:12px;font-weight:700}.ai-scan-section-heading,.ai-scan-actions,.ai-scan-report-header,.ai-scan-meta{display:flex;align-items:center;justify-content:space-between;gap:14px}.ai-scan-section-heading span{color:var(--text-soft);font-size:13px}.ai-scan-list{display:flex;flex-direction:column;gap:8px}.ai-scan-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-subtle);color:var(--text)}.ai-scan-row strong,.ai-scan-row span{display:block}.ai-scan-row span{margin-top:2px;color:var(--text-soft);font-size:12px}.ai-scan-status{display:inline-flex;align-items:center;width:max-content;padding:4px 9px;border:1px solid var(--border);border-radius:999px;background:var(--bg-muted);color:var(--text-mid);font-size:12px;font-weight:700}.ai-scan-status--completed{border-color:var(--green-border);background:var(--green-bg);color:var(--green-dark)}.ai-scan-status--failed{border-color:var(--red-border);background:var(--red-bg);color:var(--red)}.ai-scan-status--running_ai{border-color:var(--blue-border);background:var(--blue-bg);color:var(--blue)}.ai-scan-meta{align-items:stretch}.ai-scan-meta>div{flex:1;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-subtle)}.ai-scan-meta span{display:block;margin-bottom:5px;color:var(--text-soft);font-size:12px}.ai-scan-actions{justify-content:flex-start}.ai-scan-actions span,.ai-scan-empty{color:var(--text-soft);font-size:13px}.ai-scan-error{margin-top:16px;padding:12px;border:1px solid var(--red-border);border-radius:8px;background:var(--red-bg);color:var(--red);font-size:13px}.ai-scan-report{margin-top:18px}.ai-scan-report-header{justify-content:flex-start;margin-bottom:14px}.ai-scan-report-header div{min-width:160px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-subtle)}.ai-scan-report-header span{display:block;color:var(--text-soft);font-size:12px}.ai-scan-report h3{margin-top:18px;font-size:15px}.ai-scan-report ul{margin:8px 0 0 18px;color:var(--text-mid)}.ai-scan-json{max-height:360px;overflow:auto}@media(max-width: 760px){.ai-scans-page{padding:24px 18px 36px}.ai-scans-header,.ai-scan-form,.ai-scan-row,.ai-scan-meta{flex-direction:column;align-items:stretch}}:root{color-scheme:light;--navy: #1E3A5F;--navy-dark: #152A47;--navy-light: #264875;--sidebar-bg: var(--navy);--red: #E53E3E;--red-bg: #FFF5F5;--red-border: #FEB2B2;--red-deep: #C53030;--orange: #DD6B20;--orange-bg: #FFFAF0;--orange-border: #FEEBC8;--green: #38A169;--green-bg: #F0FFF4;--green-border: #C6F6D5;--green-dark: #276749;--blue: #3182CE;--blue-bg: #EBF8FF;--blue-border: #BEE3F8;--auto: #7C3AED;--auto-bg: #F5F3FF;--auto-border: #DDD6FE;--extra: #0D9488;--extra-bg: #F0FDFA;--extra-border: #99F6E4;--text: #1A202C;--text-mid: #4A5568;--text-soft: #718096;--bg: #F8F9FA;--bg-card: #FFFFFF;--bg-muted: #F7FAFC;--bg-subtle: #FAFBFC;--border: #E2E8F0;--border-mid: #CBD5E0;--bg-secondary: var(--bg-card);--text-primary: var(--text);--text-secondary: var(--text-mid);--text-tertiary: var(--text-soft);--border-light: #F0F0F0;--color-primary: var(--navy);--color-success: var(--green);--color-warning: var(--orange);--color-error: var(--red);--color-info: var(--blue);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--font-family-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--font-family-mono: 'IBM Plex Mono', 'Courier New', monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 600;--font-weight-extrabold: 800;--font-weight-black: 900;--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.1);--radius-none: 0;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--nav-w: 240px;--sidebar-width: 240px;--header-height: 56px;--transition-fast: 150ms ease-in-out;--transition-normal: 250ms ease-in-out;--transition-slow: 350ms ease-in-out}html[data-theme=dark]{color-scheme:dark;--navy: #7DB5F7;--navy-dark: #A7CDFB;--navy-light: #5B95D6;--sidebar-bg: #172233;--red: #F87171;--red-bg: #3A1518;--red-border: #7F1D1D;--red-deep: #FCA5A5;--orange: #F59E0B;--orange-bg: #3A250C;--orange-border: #92400E;--green: #34D399;--green-bg: #0F2F24;--green-border: #166534;--green-dark: #10B981;--blue: #60A5FA;--blue-bg: #102A46;--blue-border: #1D4E89;--auto: #A78BFA;--auto-bg: #261A45;--auto-border: #5B45A8;--extra: #2DD4BF;--extra-bg: #0F3532;--extra-border: #14736A;--text: #F3F6FA;--text-mid: #CBD5E1;--text-soft: #94A3B8;--bg: #0B1117;--bg-card: #121A23;--bg-muted: #182331;--bg-subtle: #101821;--border: #263445;--border-mid: #3B4A5C;--border-light: #1E2937;--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.35);--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.35);--shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.4);--shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.45)}@media(prefers-color-scheme: dark){html[data-theme=system]{color-scheme:dark;--navy: #7DB5F7;--navy-dark: #A7CDFB;--navy-light: #5B95D6;--sidebar-bg: #172233;--red: #F87171;--red-bg: #3A1518;--red-border: #7F1D1D;--red-deep: #FCA5A5;--orange: #F59E0B;--orange-bg: #3A250C;--orange-border: #92400E;--green: #34D399;--green-bg: #0F2F24;--green-border: #166534;--green-dark: #10B981;--blue: #60A5FA;--blue-bg: #102A46;--blue-border: #1D4E89;--auto: #A78BFA;--auto-bg: #261A45;--auto-border: #5B45A8;--extra: #2DD4BF;--extra-bg: #0F3532;--extra-border: #14736A;--text: #F3F6FA;--text-mid: #CBD5E1;--text-soft: #94A3B8;--bg: #0B1117;--bg-card: #121A23;--bg-muted: #182331;--bg-subtle: #101821;--border: #263445;--border-mid: #3B4A5C;--border-light: #1E2937;--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.35);--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.35);--shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.4);--shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.45)}}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg)}h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-tight);margin-bottom:var(--space-md)}h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-tight);margin-bottom:var(--space-md)}h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin-bottom:var(--space-sm)}h4,h5,h6{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-sm)}p{margin-bottom:var(--space-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary)}code,pre{font-family:var(--font-family-mono);font-size:var(--font-size-sm);background-color:var(--border-light);border-radius:var(--radius-sm)}code{padding:2px 6px}pre{padding:var(--space-md);overflow-x:auto;line-height:var(--line-height-normal)}button,input,select,textarea{font-family:var(--font-family-sans);font-size:var(--font-size-base)}button{cursor:pointer;border:none;border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);transition:all var(--transition-fast)}input,select,textarea{padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--bg-secondary);color:var(--text-primary);transition:border-color var(--transition-fast)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(30,58,95,.1)}html[data-theme=dark] body,html[data-theme=dark] main,html[data-theme=dark] .main{background-color:var(--bg)}html[data-theme=dark] .card,html[data-theme=dark] .table-wrap,html[data-theme=dark] .comp-page-header,html[data-theme=dark] .empty-state,html[data-theme=dark] dialog.modal,html[data-theme=dark] .settings-section,html[data-theme=dark] .projects-column,html[data-theme=dark] .activity-column,html[data-theme=dark] .project-status-card,html[data-theme=dark] .form-input,html[data-theme=dark] .input,html[data-theme=dark] .btn-secondary,html[data-theme=dark] .btn-icon,html[data-theme=dark] .user-dropdown,html[data-theme=dark] .team-card,html[data-theme=dark] .team-modal,html[data-theme=dark] .alerts-card,html[data-theme=dark] .project-card,html[data-theme=dark] .subscription-card,html[data-theme=dark] .modal-card{background:var(--bg-card);color:var(--text);border-color:var(--border)}html[data-theme=dark] .table-wrap thead tr,html[data-theme=dark] .table-wrap tbody tr:hover,html[data-theme=dark] .modal-footer,html[data-theme=dark] .section-footer,html[data-theme=dark] .user-dropdown-item:hover,html[data-theme=dark] .modal-close:hover,html[data-theme=dark] .btn-secondary:hover,html[data-theme=dark] .form-input:disabled,html[data-theme=dark] .input:disabled,html[data-theme=dark] .project-list-item,html[data-theme=dark] .project-list-item:hover{background:var(--bg-muted)}html[data-theme=dark] .user-dropdown-header,html[data-theme=dark] .user-dropdown-section{border-color:var(--border)}html[data-theme=dark] .user-dropdown-name,html[data-theme=dark] .user-dropdown-item{color:var(--text)}html[data-theme=dark] .user-dropdown-email,html[data-theme=dark] .user-dropdown-item svg{color:var(--text-soft)}html[data-theme=dark] .user-dropdown-role-badge,html[data-theme=dark] .profile-avatar-role{background:var(--blue-bg);color:var(--blue)}html[data-theme=dark] input:focus,html[data-theme=dark] select:focus,html[data-theme=dark] textarea:focus,html[data-theme=dark] .input:focus,html[data-theme=dark] .form-input:focus{box-shadow:0 0 0 3px rgba(96,165,250,.18)}@media(prefers-color-scheme: dark){html[data-theme=system] body,html[data-theme=system] main,html[data-theme=system] .main{background-color:var(--bg)}html[data-theme=system] .card,html[data-theme=system] .table-wrap,html[data-theme=system] .comp-page-header,html[data-theme=system] .empty-state,html[data-theme=system] dialog.modal,html[data-theme=system] .settings-section,html[data-theme=system] .projects-column,html[data-theme=system] .activity-column,html[data-theme=system] .project-status-card,html[data-theme=system] .form-input,html[data-theme=system] .input,html[data-theme=system] .btn-secondary,html[data-theme=system] .btn-icon,html[data-theme=system] .user-dropdown,html[data-theme=system] .team-card,html[data-theme=system] .team-modal,html[data-theme=system] .alerts-card,html[data-theme=system] .project-card,html[data-theme=system] .subscription-card,html[data-theme=system] .modal-card{background:var(--bg-card);color:var(--text);border-color:var(--border)}html[data-theme=system] .table-wrap thead tr,html[data-theme=system] .table-wrap tbody tr:hover,html[data-theme=system] .modal-footer,html[data-theme=system] .section-footer,html[data-theme=system] .user-dropdown-item:hover,html[data-theme=system] .modal-close:hover,html[data-theme=system] .btn-secondary:hover,html[data-theme=system] .form-input:disabled,html[data-theme=system] .input:disabled,html[data-theme=system] .project-list-item,html[data-theme=system] .project-list-item:hover{background:var(--bg-muted)}html[data-theme=system] .user-dropdown-header,html[data-theme=system] .user-dropdown-section{border-color:var(--border)}html[data-theme=system] .user-dropdown-name,html[data-theme=system] .user-dropdown-item{color:var(--text)}html[data-theme=system] .user-dropdown-email,html[data-theme=system] .user-dropdown-item svg{color:var(--text-soft)}html[data-theme=system] .user-dropdown-role-badge,html[data-theme=system] .profile-avatar-role{background:var(--blue-bg);color:var(--blue)}html[data-theme=system] input:focus,html[data-theme=system] select:focus,html[data-theme=system] textarea:focus,html[data-theme=system] .input:focus,html[data-theme=system] .form-input:focus{box-shadow:0 0 0 3px rgba(96,165,250,.18)}}
