:root{
  --bg:#090d0b;--bg2:#0d1310;--panel:#111815;--panel2:#151e19;--panel3:#1b2720;--line:#26352d;--text:#edf7f0;--muted:#8fa49a;
  --green:#35e58b;--green2:#8cf7a9;--deep:#0b6f47;--yellow:#e4b84a;--orange:#e8873f;--red:#ef5b59;--blue:#5a8ef5;--radius:14px;--shadow:0 28px 80px rgba(0,0,0,.38)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 15% -10%,rgba(53,229,139,.08),transparent 34%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}.muted{color:var(--muted)}.center{text-align:center}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.17em;color:var(--green);text-transform:uppercase}.brand{display:flex;align-items:center;gap:9px;font-size:23px;font-weight:730}.brand img{width:39px;height:39px;object-fit:contain}.brand.small{font-size:18px}.brand.small img{width:30px;height:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:9px;padding:10px 15px;font-weight:700;transition:.2s;background:none;color:var(--text)}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,#0f9c60,#0b7549);border-color:#22bf74;box-shadow:inset 0 1px rgba(255,255,255,.12),0 8px 30px rgba(27,192,111,.16)}.btn.glass,.btn.ghost{background:rgba(255,255,255,.025);border-color:var(--line)}.btn.danger{border-color:#713a3a;background:#321c1c;color:#ffb6b6}.btn.big{padding:13px 19px}.btn.small{padding:7px 10px;font-size:12px}.btn.full{width:100%}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.landing-nav{height:72px;position:sticky;z-index:50;top:0;padding:0 max(22px,calc((100vw - 1240px)/2));display:flex;align-items:center;gap:34px;background:rgba(9,13,11,.82);backdrop-filter:blur(22px);border-bottom:1px solid rgba(255,255,255,.06)}.landing-links{display:flex;gap:28px;color:#b9c8c0}.landing-links a:hover{color:#fff}.nav-actions{margin-left:auto;display:flex;gap:9px}.hero{min-height:720px;max-width:1320px;margin:auto;padding:100px 38px 70px;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:65px}.hero-copy h1{font-size:clamp(44px,5.6vw,76px);line-height:.98;letter-spacing:-.055em;margin:18px 0 24px}.hero-copy h1 em{font-style:normal;color:var(--green2)}.hero-copy>p{font-size:18px;line-height:1.72;color:#aabbb2;max-width:650px}.hero-actions{display:flex;gap:11px;margin-top:32px}.hero-trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:25px;font-size:12px;color:#8ea197}.hero-product{perspective:1200px}.mock-window{border:1px solid #2a3931;border-radius:16px;background:#0d1411;box-shadow:var(--shadow);overflow:hidden;transform:rotateY(-5deg) rotateX(2deg);position:relative}.mock-window:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(72,255,157,.06),transparent 35%)}.mock-head{height:42px;display:flex;align-items:center;gap:7px;padding:0 13px;background:#121a16;border-bottom:1px solid #26352d}.mock-head>span{width:8px;height:8px;border-radius:50%;background:#334239}.mock-head strong{font-size:11px;color:#869b90;margin-left:8px}.mock-body{display:grid;grid-template-columns:52px 1fr;height:410px}.mock-body aside{background:#0a100d;border-right:1px solid #233128;display:flex;flex-direction:column;align-items:center;padding-top:14px;gap:20px}.mock-body aside img{width:27px}.mock-body aside i{width:20px;height:4px;border-radius:4px;background:#26372e}.mock-body section{padding:16px}.mock-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mock-metrics b{background:#131e18;border:1px solid #25352c;border-radius:8px;padding:11px;color:#dcf7e5}.mock-metrics small{display:block;color:#6f897b;font-weight:500;margin-top:4px}.mock-map{height:245px;margin-top:12px;position:relative;background-image:linear-gradient(rgba(84,123,100,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(84,123,100,.08) 1px,transparent 1px);background-size:20px 20px;border:1px solid #25372d;border-radius:9px;overflow:hidden}.room{position:absolute;border:1px solid #374a3f;color:#6e8277;font-size:9px;padding:8px}.r1{left:7%;top:10%;width:41%;height:42%}.r2{right:6%;top:10%;width:40%;height:42%}.r3{left:7%;bottom:8%;width:86%;height:32%}.node{position:absolute;border-radius:5px;background:#0b2619;padding:4px;color:#65eca3;border:1px solid #23895b}.r1 .node{right:15%;top:32%}.r2 .node{left:20%;bottom:25%}.r3 .node{right:25%;top:35%}.node.warn{color:#f5c365;border-color:#9d742a;background:#261e0e}.mock-table{display:grid;gap:5px;margin-top:10px}.mock-table i{height:6px;border-radius:5px;background:linear-gradient(90deg,#23332a 20%,#19251f 20%)}.section{max-width:1240px;margin:auto;padding:95px 30px}.section-title{text-align:center;max-width:760px;margin:0 auto 45px}.section-title h2,.split-section h2,.cta h2,.page-hero h1{font-size:clamp(32px,4vw,52px);letter-spacing:-.04em;margin:13px 0 12px}.section-title p,.split-section>div>p,.page-hero p{color:var(--muted);font-size:17px;line-height:1.65}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.feature-card{padding:24px;border:1px solid #243229;border-radius:14px;background:linear-gradient(145deg,#111914,#0e1411);min-height:185px}.feature-card h3{font-size:18px;margin:18px 0 9px}.feature-card p{color:var(--muted);line-height:1.55;margin:0}.feature-orb{display:block;width:25px;height:25px;border-radius:8px;background:radial-gradient(circle at 35% 30%,#99ffb1,#17a866 50%,#073e29);box-shadow:0 0 24px rgba(53,229,139,.18)}.split-section{max-width:1160px;margin:45px auto 80px;padding:60px;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;border:1px solid #24362c;border-radius:22px;background:linear-gradient(145deg,#101a14,#0b100e)}.check-list{padding:0;list-style:none;display:grid;gap:9px;color:#b4c5bb}.check-list li:before{content:"✓";color:var(--green);font-weight:800;margin-right:9px}.terminal-card{overflow:hidden;border-radius:13px;border:1px solid #2e4236;background:#050806;box-shadow:0 25px 80px rgba(0,0,0,.35)}.terminal-top{padding:10px 14px;border-bottom:1px solid #253128;color:#82998b;font-size:12px}.terminal-card pre{margin:0;padding:22px;color:#8df7ad;font-size:12px;line-height:1.7;overflow:auto}.pricing-grid,.billing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:15px;max-width:950px;margin:auto}.price-card{padding:27px;border:1px solid #2a3a31;border-radius:16px;background:#121a16}.price-card>span{font-weight:750}.price-card h3{font-size:31px;margin:18px 0 7px}.price-card h3 small{font-size:12px;color:var(--muted);font-weight:500}.price-card p{color:var(--muted);line-height:1.5}.price-card .btn{margin-top:8px}.cta{max-width:1180px;margin:30px auto 90px;padding:45px;display:flex;align-items:center;gap:25px;border-radius:22px;background:linear-gradient(135deg,#113a27,#0d1d16);border:1px solid #235f42}.cta img{width:75px}.cta h2{font-size:34px;margin:6px 0}.cta .btn{margin-left:auto}.landing-footer{border-top:1px solid #202b25;max-width:1240px;margin:auto;padding:35px 25px 50px;display:flex;justify-content:space-between;color:var(--muted)}.landing-footer>div:last-child{display:flex;gap:20px}.page-hero{max-width:950px;margin:auto;text-align:center;padding:120px 25px 50px}.auth-page{min-height:calc(100vh - 72px);display:flex;align-items:center;justify-content:center;padding:50px 20px}.auth-card{width:min(430px,100%);padding:32px;border:1px solid #28372f;border-radius:17px;background:#111815;box-shadow:var(--shadow)}.auth-card.wide{width:min(620px,100%)}.auth-card>img{width:58px;margin-bottom:12px}.auth-card h1{font-size:31px;letter-spacing:-.035em;margin:7px 0 24px}.auth-card label,.form-card label,.modal label{display:grid;gap:6px;margin-bottom:14px;color:#b9c9c0;font-size:12px;font-weight:700}.auth-card input,.form-card input,.form-card select,.form-card textarea,.filterbar input,.filterbar select,.modal input,.modal select,.modal textarea{width:100%;border:1px solid #314138;border-radius:8px;background:#0b110e;color:#eaf5ee;padding:11px 12px;outline:none}.auth-card input:focus,.form-card input:focus,.form-card select:focus,.form-card textarea:focus,.filterbar input:focus,.filterbar select:focus,.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:#299565;box-shadow:0 0 0 3px rgba(53,229,139,.08)}textarea{min-height:90px;resize:vertical}.auth-links{display:flex;justify-content:space-between;margin-top:18px;color:#8fb8a1;font-size:12px}.alert{border:1px solid #314138;border-radius:9px;padding:11px 13px;margin:0 0 15px}.alert.success{background:#10291d;border-color:#1e6b48}.alert.danger{background:#301919;border-color:#713838;color:#ffc4c4}.alert.warning{background:#2a230f;border-color:#715d25;color:#f3dda2}.alert.info{background:#10231a;border-color:#285741;color:#bce7cf}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}.span2{grid-column:1/-1}
/* app */
.app-shell{display:flex;min-height:100vh;background:#0a0e0c}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:#0d1310;border-right:1px solid #202c25;padding:17px 13px;display:flex;flex-direction:column;z-index:80}.app-brand{padding:3px 8px 15px;border-bottom:1px solid #1f2c24}.app-brand img{width:35px;height:35px}.company-switcher{position:relative;padding:14px 4px 10px}.company-switcher>small{display:block;color:#6e8579;font-size:9px;text-transform:uppercase;letter-spacing:.12em;margin:0 6px 5px}.company-button{width:100%;display:flex;justify-content:space-between;padding:9px 10px;background:#131c17;color:#d8e8de;border:1px solid #26352d;border-radius:8px;text-align:left}.company-menu{position:absolute;z-index:90;left:4px;right:4px;top:73px;background:#151e19;border:1px solid #304037;border-radius:9px;padding:5px;box-shadow:var(--shadow)}.company-menu a{display:block;padding:9px;border-radius:6px}.company-menu a:hover{background:#1d2b23}.company-menu strong,.company-menu small{display:block}.company-menu small{color:var(--muted);font-size:9px}.side-nav{display:grid;gap:3px;margin-top:4px;overflow-y:auto}.side-nav a,.sidebar-bottom a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;color:#aabbb1;font-size:13px}.side-nav a:hover,.sidebar-bottom a:hover{background:#152019;color:#fff}.side-nav span{width:17px;text-align:center;color:#5ec98c}.sidebar-bottom{margin-top:auto;border-top:1px solid #1f2c24;padding-top:9px;display:grid}.app-main{margin-left:232px;width:calc(100% - 232px);min-height:100vh}.topbar{height:62px;display:flex;align-items:center;padding:0 22px;border-bottom:1px solid #202c25;background:rgba(12,17,14,.86);backdrop-filter:blur(20px);position:sticky;top:0;z-index:60}.topbar>div:first-of-type{display:grid}.topbar small{font-size:9px;color:#71917f;letter-spacing:.12em}.topbar strong{font-size:14px}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:8px;color:#8aa096;font-size:11px}.server-dot{width:7px;height:7px;background:#45dc85;border-radius:50%;box-shadow:0 0 12px #45dc85}.icon-btn,.mobile-menu{border:0;background:none;color:#a8b9af;font-size:17px}.mobile-menu{display:none;margin-right:12px}.content{padding:24px;max-width:1600px;margin:auto}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.page-header h1{font-size:29px;letter-spacing:-.035em;margin:4px 0}.page-header p{margin:0;color:var(--muted)}.header-actions{display:flex;gap:8px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:13px}.metric-grid article{padding:17px 18px;background:#111815;border:1px solid #25332b;border-radius:12px}.metric-grid small,.metric-grid span{display:block;color:#748d80;font-size:10px}.metric-grid strong{display:block;font-size:29px;margin:5px 0}.dashboard-grid{display:grid;grid-template-columns:1.7fr .8fr;gap:12px;margin-bottom:12px}.panel{background:#111815;border:1px solid #25332b;border-radius:12px;padding:17px}.panel.flush{padding:0;overflow:hidden}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.panel-title h2,.panel h2{font-size:15px;margin:0}.panel-title a{font-size:11px;color:#66d895}.health-bars{display:grid;gap:9px}.health-bars>div{display:grid;grid-template-columns:115px 1fr 28px;align-items:center;gap:9px;font-size:10px;color:#91a59a}.bar{height:7px;border-radius:8px;background:#202d26;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#158e58,#61e99a)}.subscription-card h3{font-size:22px;margin:14px 0 5px}.subscription-card p{color:var(--muted);font-size:12px}.status-pill{display:inline-flex;align-items:center;border:1px solid #3b4c42;border-radius:99px;padding:3px 8px;font-size:9px;font-weight:800;letter-spacing:.04em;background:#18221c;color:#b8cabe}.status-pill.healthy,.health-dot.healthy{color:#70ef9f;background:#102c1e;border-color:#1d6c45}.status-pill.warning,.health-dot.warning{color:#f5c766;background:#2c2411;border-color:#806525}.status-pill.failed,.status-pill.critical,.health-dot.failed{color:#ff8d8a;background:#321817;border-color:#7d302e}.status-pill.degraded,.status-pill.high,.health-dot.degraded{color:#ffad6d;background:#312016;border-color:#79452a}.status-pill.active,.status-pill.trialing{color:#70ef9f;border-color:#2b7250}.health-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;background:#67756d}.data-table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#768b80;text-align:left;padding:11px 13px;background:#0e1511;border-bottom:1px solid #26342d;white-space:nowrap}.data-table td{padding:11px 13px;border-bottom:1px solid #202c25;color:#aebfb5;font-size:11px}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:#151f19}.data-table .empty{text-align:center;padding:35px;color:#74887d}.filterbar{display:flex;gap:8px;margin-bottom:12px}.filterbar input{flex:1}.filterbar select{width:210px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.company-card,.agent-card{padding:19px;background:#111815;border:1px solid #27372e;border-radius:12px}.company-card h2{margin:14px 0 5px}.company-card p{color:var(--muted)}.form-card{max-width:900px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.line{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #202b25;color:#8fa399;font-size:11px}.line strong{color:#dcebe2}.asset-hero{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.asset-hero h1{font-size:31px;margin:3px 0}.asset-hero p{margin:0;color:var(--muted)}.asset-status{text-align:right;display:grid;gap:5px}.tabs{display:flex;gap:3px;overflow:auto;border-bottom:1px solid #26342d;margin-bottom:13px}.tabs button{border:0;background:none;color:#83988c;padding:10px 12px;border-bottom:2px solid transparent;white-space:nowrap}.tabs button.active{color:#dff5e7;border-color:var(--green)}.tab-panel{display:none}.tab-panel.active{display:block}.markdown-view,.secret-box{white-space:pre-wrap;background:#090d0b;border:1px solid #26372d;border-radius:8px;padding:14px;color:#b9d7c6;line-height:1.6}.topology-panel{height:calc(100vh - 145px);min-height:560px;padding:0;overflow:hidden}.topology-panel #cy{width:100%;height:100%;background-image:radial-gradient(#26382e 1px,transparent 1px);background-size:22px 22px}.floor-canvas{padding:12px;overflow:auto}.floor-canvas svg{min-width:820px;width:100%;height:auto;background:#0a100d;border-radius:8px}.floor-outline,.wall{fill:none;stroke:#43554b;stroke-width:3}.wall{stroke-width:2}.floor-asset text{fill:#b9d2c3;font-size:13px}.asset-dot{fill:#66786e;stroke:#b3c7bc;stroke-width:2}.asset-dot.healthy{fill:#2edc82}.asset-dot.warning{fill:#e7b344}.asset-dot.failed{fill:#e95b59}.canvas-hint{padding:10px;color:#6f8579;font-size:10px}.viewer3d{height:calc(100vh - 145px);min-height:570px;padding:0;overflow:hidden}.viewer3d canvas{width:100%;height:100%;display:block;outline:none}.rack-layout{display:grid;grid-template-columns:330px 1fr;gap:14px}.rack-frame{border:1px solid #39483f;background:#080c0a;border-radius:10px;padding:10px}.rack-frame header{text-align:center;padding:9px;background:#172019;border-radius:6px;margin-bottom:5px}.rack-u{height:15px;border-bottom:1px solid #27342c;position:relative}.rack-u span{position:absolute;left:4px;top:1px;font-size:8px;color:#52675a}.rack-device{display:grid;padding:10px;border:1px solid #2e3d34;border-radius:7px;margin:7px 0}.rack-device span{color:var(--muted);font-size:10px}.modal{width:min(560px,calc(100% - 24px));border:1px solid #314239;border-radius:13px;background:#111815;color:var(--text);padding:0;box-shadow:var(--shadow)}.modal::backdrop{background:rgba(2,5,3,.72);backdrop-filter:blur(4px)}.modal form{padding:18px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-head h2{margin:0}.modal-head button{border:0;background:none;color:#a8b9af;font-size:22px}.vault-list{display:grid;gap:8px}.vault-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px;border:1px solid #293a30;border-radius:8px}.vault-item small{display:block;color:var(--muted)}.vault-actions{display:flex;gap:6px}.agent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.agent-card>div:first-child{display:grid;grid-template-columns:auto 1fr;align-items:center}.agent-card>div:first-child small{grid-column:2;color:var(--muted)}.agent-card dl{display:grid;grid-template-columns:110px 1fr;gap:6px;margin:18px 0}.agent-card dt{color:#72867b}.agent-card dd{margin:0;color:#b5c8bd}.subscription-current{margin-bottom:14px}.subscription-current h2{font-size:28px;margin:12px 0}.billing-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.success-page{text-align:center;padding:100px 20px}.success-orb{width:65px;height:65px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#153f29;border:1px solid #278c58;color:#74f5a6;font-size:27px}
@media(max-width:980px){.hero{grid-template-columns:1fr;padding-top:70px}.hero-product{max-width:760px}.feature-grid{grid-template-columns:1fr 1fr}.split-section{grid-template-columns:1fr;margin:30px 18px;padding:35px}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.app-main{margin-left:0;width:100%}.mobile-menu{display:block}.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.rack-layout{grid-template-columns:1fr}.desktop-only{display:none}}
@media(max-width:650px){.landing-links{display:none}.landing-nav{padding:0 14px}.nav-actions .ghost{display:none}.hero{padding:60px 20px 40px}.hero-copy h1{font-size:45px}.hero-actions{flex-direction:column}.feature-grid{grid-template-columns:1fr}.section{padding:65px 18px}.split-section{padding:24px}.cta{margin:20px 16px 60px;padding:28px;display:grid}.cta .btn{margin:0}.landing-footer{flex-direction:column;gap:22px}.content{padding:16px}.page-header{align-items:flex-start;flex-direction:column}.metric-grid{grid-template-columns:1fr 1fr}.detail-grid,.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.filterbar{flex-direction:column}.filterbar select{width:100%}.topology-panel,.viewer3d{height:68vh}.mock-window{transform:none}.mock-body{height:330px}.mock-map{height:175px}}
.structure-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:760px){.structure-grid{grid-template-columns:1fr}}
.inline-add{margin-top:14px;border-top:1px solid #243229;padding-top:10px}.inline-add summary{cursor:pointer;color:#66d895;font-size:11px;font-weight:700;margin-bottom:10px}.inline-add form{padding-top:8px}.check-row{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:8px!important}.check-row input{width:auto!important}.markdown-editor{width:100%;min-height:420px;background:#080c0a;color:#bfe6ce;border:1px solid #2b3b31;border-radius:8px;padding:14px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.6;margin:12px 0}
/* Loki 5.2.0 SaaS additions */
.row-actions{display:flex;gap:6px;align-items:center}.row-actions form{margin:0}.data-table td small{display:block;color:var(--muted);margin-top:3px}.checkbox,.check-row{display:flex!important;align-items:center;gap:8px}.checkbox input,.check-row input{width:auto!important}.floor-background{opacity:.72}.floor-asset{touch-action:none}.floor-asset:hover text{fill:#fff}.rack-visual{border:1px solid #39483f;background:#080c0a;border-radius:10px;padding:8px;margin-top:14px}.rack-visual .rack-u{height:24px;display:grid;grid-template-columns:42px 1fr;align-items:center;border-bottom:1px solid #27342c;position:relative}.rack-visual .rack-u>b{font-size:9px;color:#536a5d;text-align:center}.rack-visual .rack-u>i{height:10px;border-top:1px dashed #1f2b24}.rack-visual .rack-device{margin:0;padding:4px 8px;display:block;background:#173123;border:1px solid #2f8c59;color:#9cf1bc;border-radius:4px;font-size:9px}.diag-output{max-width:760px;max-height:420px;overflow:auto;white-space:pre-wrap;background:#070a08;border:1px solid #27372e;border-radius:8px;padding:12px;color:#b7d8c5;font:11px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.diag-output.error{color:#ffaaa7}.chip-row{display:flex;gap:6px;flex-wrap:wrap}.chip{display:inline-flex;padding:7px 10px;border:1px solid #304137;border-radius:99px;background:#101713;color:#91a79a;font-size:10px}.chip.active,.chip:hover{border-color:#3e9d67;color:#a9f1c3;background:#153021}.danger{border-color:#67312f!important;color:#ff9b97!important}.filterbar>span{align-self:center;color:var(--muted);font-size:10px}.form-grid input[type=file]{padding:8px}.data-table details summary{cursor:pointer;color:#68d994}.panel hr{border:0;border-top:1px solid #25342c;margin:18px 0}
.span-2{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:650px){.span-2{grid-column:auto}}
.qr-card{padding:20px;text-align:center}.qr-card #asset-qr-code{width:240px;min-height:240px;background:#fff;padding:10px;margin:15px auto;border-radius:12px;display:grid;place-items:center}.qr-card #asset-qr-code img,.qr-card #asset-qr-code canvas{max-width:220px}

/* ========================================================================== 
   Loki SaaS 5.2.0 · Modern Infrastructure OS
   ========================================================================== */
:root{--bg:#070b09;--bg2:#0a100d;--panel:rgba(16,24,20,.88);--panel2:#111b16;--panel3:#17231c;--line:rgba(130,173,148,.16);--line-strong:rgba(121,203,153,.28);--text:#f1faf5;--muted:#8da398;--green:#38ec91;--green2:#9affba;--cyan:#55d9d0;--violet:#9c8cff;--shadow:0 24px 70px rgba(0,0,0,.38);--shadow-soft:0 12px 35px rgba(0,0,0,.22);--radius:16px}
body.app-shell.v51{background:radial-gradient(circle at 82% -10%,rgba(75,239,150,.08),transparent 25%),radial-gradient(circle at 20% 110%,rgba(91,117,255,.06),transparent 30%),#070b09;overflow-x:hidden}.ambient{position:fixed;pointer-events:none;filter:blur(90px);border-radius:50%;opacity:.15;z-index:0}.ambient-a{width:350px;height:350px;background:#36ec8f;right:-180px;top:-180px}.ambient-b{width:260px;height:260px;background:#3478ff;left:25%;bottom:-180px}.v51 .sidebar{width:258px;padding:14px 12px;background:linear-gradient(180deg,rgba(11,17,14,.98),rgba(7,11,9,.98));border-right:1px solid rgba(120,168,139,.12);box-shadow:16px 0 60px rgba(0,0,0,.15);backdrop-filter:blur(22px);transition:width .22s ease,transform .22s ease}.v51 .app-main{margin-left:258px;width:calc(100% - 258px);position:relative;z-index:1;transition:margin-left .22s ease,width .22s ease}.sidebar-brand-row{height:52px;display:flex;align-items:center;gap:8px;padding:0 4px 10px}.v51 .app-brand{flex:1;border:0;padding:0;gap:10px}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(64,239,143,.14),rgba(71,113,255,.06));border:1px solid rgba(83,221,137,.22);box-shadow:inset 0 1px rgba(255,255,255,.08)}.v51 .app-brand img{width:30px;height:30px}.v51 .app-brand>span:last-child{display:grid;line-height:1.05}.v51 .app-brand b{font-size:17px;letter-spacing:-.02em}.v51 .app-brand small{font-size:8px;color:#688076;text-transform:uppercase;letter-spacing:.12em;margin-top:4px}.sidebar-collapse{width:27px;height:27px;border-radius:8px;border:1px solid var(--line);background:#0d1511;color:#769087}.company-switcher{padding:7px 1px 13px}.v51 .company-switcher>small{font-size:8px;letter-spacing:.15em;margin:0 8px 7px;color:#587066}.v51 .company-button{padding:8px;background:linear-gradient(145deg,rgba(26,38,31,.9),rgba(17,27,22,.9));border-color:rgba(126,187,149,.15);border-radius:12px;align-items:center;gap:9px}.company-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(145deg,#173c29,#0e2b1d);border:1px solid #276745;color:#76f6a8;font-size:9px;font-weight:900;letter-spacing:.06em}.company-avatar.small{width:28px;height:28px;border-radius:8px}.company-copy{display:grid;min-width:0;flex:1}.company-copy b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-copy em{font-size:8px;font-style:normal;color:#637c70;margin-top:2px}.chevron{color:#6f897e}.v51 .company-menu{top:63px;left:0;right:auto;width:280px;padding:8px;background:rgba(16,24,20,.98);border:1px solid var(--line-strong);border-radius:14px;backdrop-filter:blur(25px)}.v51 .company-menu a{display:flex;align-items:center;gap:9px;padding:9px 8px}.v51 .company-menu a span:not(.company-avatar){display:grid}.v51 .company-menu strong{font-size:11px}.v51 .company-menu small{font-size:8px;color:var(--muted)}.menu-caption{padding:5px 8px 7px;color:#627b70;font-size:8px;text-transform:uppercase;letter-spacing:.12em}.menu-separator{height:1px;background:var(--line);margin:5px}
.v51 .side-nav{gap:2px;padding:2px 0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#263b30 transparent}.nav-section{padding:13px 10px 5px;color:#496158;font-size:8px;font-weight:800;letter-spacing:.14em}.v51 .side-nav a,.v51 .sidebar-bottom a{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:6px;padding:8px 9px;border:1px solid transparent;border-radius:10px;color:#82988e;font-size:10px;transition:.16s}.v51 .side-nav a span,.v51 .sidebar-bottom a span{font-size:14px;color:#657d71;text-align:center}.v51 .side-nav a b,.v51 .sidebar-bottom a b{font-weight:650}.v51 .side-nav a:hover,.v51 .sidebar-bottom a:hover{background:rgba(255,255,255,.025);color:#d9e8df}.v51 .side-nav a.active,.v51 .sidebar-bottom a.active{background:linear-gradient(90deg,rgba(50,226,133,.12),rgba(43,103,70,.04));border-color:rgba(60,219,132,.18);color:#e8fff0;box-shadow:inset 3px 0 #35e58b}.v51 .side-nav a.active span{color:#52ec96}.nav-badge{font-style:normal;font-size:6px;letter-spacing:.08em;color:#61e99a;background:#122b1d;border:1px solid #23543a;padding:2px 4px;border-radius:5px}.v51 .sidebar-bottom{padding:8px 0 0;border-top:1px solid rgba(130,173,148,.1)}
.v51 .topbar{height:70px;display:flex;align-items:center;gap:18px;padding:0 24px;position:sticky;top:0;z-index:60;background:rgba(7,11,9,.72);border-bottom:1px solid rgba(130,173,148,.1);backdrop-filter:blur(24px)}.topbar-left{display:flex;align-items:center;gap:12px}.page-context{display:grid;line-height:1.15}.page-context small{font-size:8px;color:#647d71;letter-spacing:.12em}.page-context strong{font-size:13px;margin-top:3px}.command-trigger{margin:auto;min-width:min(390px,36vw);height:36px;display:flex;align-items:center;gap:8px;padding:0 9px;border:1px solid rgba(130,173,148,.14);border-radius:10px;background:rgba(18,27,22,.65);color:#667e73;text-align:left}.command-trigger>span:nth-child(2){flex:1}.command-trigger kbd,.command-search kbd{padding:3px 6px;border-radius:5px;background:#18231d;border:1px solid #2a3b31;color:#81968b;font:8px ui-monospace,monospace}.online-pill{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid rgba(57,213,127,.17);border-radius:99px;background:rgba(26,98,58,.08);font-size:8px;color:#78b892}.online-pill i{width:6px;height:6px;border-radius:50%;background:#40e78c;box-shadow:0 0 12px #40e78c}.profile-chip{background:linear-gradient(145deg,#1b3728,#0e2419)!important;color:#75f4a5!important;border-color:#2b6346!important;font-weight:900}.v51 .content{padding:22px 24px 40px;max-width:1700px;margin:0 auto}.v51 .page-header{margin-bottom:18px}.v51 .page-header h1{font-size:31px;letter-spacing:-.045em;margin:5px 0 5px}.v51 .page-header p{max-width:820px;font-size:11px;color:#789085}.visual-header{padding:22px;border:1px solid rgba(118,195,149,.12);border-radius:18px;background:linear-gradient(120deg,rgba(37,82,57,.12),rgba(16,24,20,.32) 50%,rgba(72,78,144,.05));position:relative;overflow:hidden}.visual-header:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(52,231,138,.12),transparent 65%);right:-60px;top:-120px;pointer-events:none}
.v51 .panel{background:linear-gradient(145deg,rgba(17,26,21,.88),rgba(11,17,14,.92));border:1px solid rgba(132,176,149,.13);border-radius:15px;box-shadow:0 12px 40px rgba(0,0,0,.13);backdrop-filter:blur(10px)}.v51 .panel-title h2{font-size:15px;letter-spacing:-.02em}.v51 .metric-grid{gap:10px}.v51 .metric-grid article{min-height:98px;background:linear-gradient(145deg,rgba(18,29,23,.9),rgba(12,18,15,.85));border:1px solid rgba(126,185,148,.13);border-radius:14px;padding:15px}.v51 .metric-grid article strong{font-size:23px;letter-spacing:-.04em}.v51 .metric-grid article>span{display:block;margin-top:3px;color:#617b6f;font-size:8px}.v51 .btn{border-radius:10px;padding:9px 13px;font-size:10px}.v51 .btn.primary{background:linear-gradient(135deg,#16a963,#087448);border-color:#2fd681;box-shadow:0 8px 24px rgba(23,177,101,.14),inset 0 1px rgba(255,255,255,.12)}.v51 .btn.glass,.v51 .btn.ghost{background:rgba(255,255,255,.025);border-color:rgba(131,176,148,.16)}.ghost-btn{margin-top:8px;background:transparent!important}.v51 input,.v51 select,.v51 textarea{border-color:rgba(132,176,149,.16);background:#0a100d}.v51 input:focus,.v51 select:focus,.v51 textarea:focus{border-color:rgba(51,230,137,.5);box-shadow:0 0 0 3px rgba(53,229,139,.07)}.v51 .data-table th{background:rgba(8,13,10,.72);color:#60786d}.v51 .data-table tbody tr:hover{background:rgba(56,236,145,.03)}
.sidebar-mini .sidebar{width:76px}.sidebar-mini .app-main{margin-left:76px;width:calc(100% - 76px)}.sidebar-mini .app-brand>span:last-child,.sidebar-mini .sidebar-collapse,.sidebar-mini .company-switcher>small,.sidebar-mini .company-copy,.sidebar-mini .chevron,.sidebar-mini .nav-section,.sidebar-mini .side-nav a b,.sidebar-mini .sidebar-bottom a b,.sidebar-mini .nav-badge{display:none}.sidebar-mini .company-button{justify-content:center}.sidebar-mini .side-nav a,.sidebar-mini .sidebar-bottom a{grid-template-columns:1fr;padding:9px}.sidebar-mini .side-nav a span,.sidebar-mini .sidebar-bottom a span{font-size:17px}.sidebar-mini .company-menu{left:56px;top:0}.sidebar-mini .sidebar-brand-row{justify-content:center}.sidebar-mini .app-brand{justify-content:center}
.command-palette{width:min(640px,calc(100% - 30px));padding:0;border-radius:16px;border:1px solid rgba(123,195,151,.22);background:rgba(13,20,16,.98);color:var(--text);box-shadow:0 35px 120px rgba(0,0,0,.58);backdrop-filter:blur(30px)}.command-palette::backdrop{background:rgba(1,5,3,.62);backdrop-filter:blur(8px)}.command-search{height:56px;display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--line)}.command-search input{flex:1;border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important;color:#edf8f1;font-size:13px}.command-results{padding:8px;max-height:430px;overflow:auto}.command-results a{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:8px;padding:10px;border-radius:10px}.command-results a:hover{background:rgba(57,230,137,.07)}.command-results a>span{width:30px;height:30px;border:1px solid #263a2f;border-radius:8px;display:grid;place-items:center;color:#4de895}.command-results a div{display:grid}.command-results b{font-size:11px}.command-results small{font-size:8px;color:#6c8579;margin-top:2px}.toast-host{position:fixed;right:20px;bottom:20px;z-index:9999;display:grid;gap:8px}.toast{opacity:0;transform:translateY(8px);padding:10px 13px;border:1px solid #285b40;border-radius:10px;background:#11251a;color:#b7f2cd;font-size:10px;box-shadow:var(--shadow-soft);transition:.2s}.toast.error{border-color:#713b3a;background:#2a1717;color:#ffc1bf}.toast.show{opacity:1;transform:none}
/* Global visual library */
.library-panel{margin-top:14px}.library-search{width:min(330px,40vw);padding:9px 11px;border-radius:10px;border:1px solid var(--line);background:#0b110e;color:var(--text)}.model-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:11px}.model-card{border:1px solid rgba(129,178,147,.13);border-radius:14px;overflow:hidden;background:rgba(10,16,13,.72);transition:.18s}.model-card:hover{transform:translateY(-2px);border-color:rgba(74,226,139,.3);box-shadow:0 18px 40px rgba(0,0,0,.2)}.model-preview{height:148px;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 50% 120%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 58%),linear-gradient(145deg,#0b120e,#101a14);border-bottom:1px solid var(--line)}.model-preview img{width:100%;height:100%;object-fit:cover}.model-placeholder{display:grid;place-items:center;gap:5px;color:var(--accent)}.model-placeholder span{font-size:36px;text-shadow:0 0 35px var(--accent)}.model-placeholder small{font-size:8px;letter-spacing:.15em}.model-default,.model-disabled{position:absolute;left:8px;top:8px;font-size:7px;letter-spacing:.08em;font-weight:900;padding:4px 6px;border-radius:6px;background:rgba(16,48,31,.9);border:1px solid #28784e;color:#73ef9e}.model-disabled{left:auto;right:8px;background:#351a1a;border-color:#743c3b;color:#ff9e9b}.model-card-body{padding:12px}.model-type{display:flex;align-items:center;gap:6px;color:#8ca197;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.model-type i{width:6px;height:6px;border-radius:50%}.model-type small{margin-left:auto;color:#52675d}.model-card h3{font-size:14px;margin:8px 0 3px}.model-card p{font-size:9px;color:#71877c;margin:0}.model-meta{display:flex;justify-content:space-between;margin-top:10px;padding-top:8px;border-top:1px solid var(--line);font-size:8px;color:#5d7469}.model-edit{margin-top:9px}.model-edit>summary{cursor:pointer;color:#72d99c;font-size:9px}.compact-grid{margin-top:10px}.compact-grid label{font-size:9px!important;margin-bottom:7px!important}.compact-grid input,.compact-grid select{padding:7px 8px!important;font-size:9px!important}.type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:9px}.type-card{border:1px solid var(--line);border-radius:12px;background:#0b120e;padding:0 11px}.type-card>summary{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:11px 0;cursor:pointer;list-style:none}.type-card>summary::-webkit-details-marker{display:none}.type-card summary>div{display:grid}.type-card strong{font-size:10px}.type-card small{font-size:8px;color:#60776c;margin-top:2px}.type-card summary>b{font-size:9px;color:var(--accent);padding:4px 7px;border-radius:99px;background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent)}.type-symbol{width:28px;height:28px;display:block;background:color-mix(in srgb,var(--accent) 18%,#0a110d);border:2px solid var(--accent);border-radius:7px;box-shadow:0 0 20px color-mix(in srgb,var(--accent) 18%,transparent)}.type-symbol.circle{border-radius:50%}.type-symbol.diamond{transform:rotate(45deg);width:20px;height:20px;margin-left:4px}.type-symbol.hex{clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%);border:0;background:var(--accent)}.upload-zone{padding:12px;border:1px dashed #345042;border-radius:11px;background:rgba(44,100,68,.04)}.upload-zone small{color:#6b8277;font-size:8px}.modal-wide{width:min(820px,calc(100% - 24px))}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.empty-state{grid-column:1/-1;padding:55px;text-align:center;color:#62786e}.empty-state>span{font-size:42px;color:#3de38b}.empty-state h3{color:#d7e8de}
/* Digital twin workspace */
.twin-page{margin:-22px -24px -40px;height:calc(100vh - 70px);min-height:620px;display:grid;grid-template-columns:270px 1fr 290px;overflow:hidden;background:#060a08}.twin-side,.twin-inspector{background:rgba(9,14,11,.96);border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;z-index:4}.twin-inspector{border-right:0;border-left:1px solid var(--line)}.twin-toolbar{height:49px;display:flex;align-items:center;gap:7px;padding:0 10px;border-bottom:1px solid var(--line);background:rgba(13,20,16,.92)}.twin-toolbar select{height:31px;min-width:180px;padding:5px 8px;font-size:9px}.twin-toolbar .btn{height:31px;padding:6px 9px}.twin-canvas-wrap{position:relative;min-width:0;overflow:hidden;background:radial-gradient(circle at 50% 45%,#0d1712,#060a08 68%)}.twin-canvas-wrap canvas{width:100%;height:100%;display:block;outline:none}.twin-panel-head{padding:13px;border-bottom:1px solid var(--line)}.twin-panel-head span{display:block;font-size:8px;color:#4fe590;letter-spacing:.12em;font-weight:800}.twin-panel-head h2{font-size:13px;margin:3px 0}.twin-panel-head p{font-size:8px;color:#647b70;margin:3px 0 0;line-height:1.45}.twin-search{margin:10px 10px 4px;padding:8px!important;font-size:9px!important}.twin-library{padding:7px 9px 20px;overflow:auto;display:grid;gap:5px}.twin-model-item{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:8px;padding:7px;border:1px solid transparent;border-radius:10px;background:rgba(255,255,255,.015);cursor:pointer;color:#a9bbb2}.twin-model-item:hover,.twin-model-item.active{background:rgba(55,226,135,.06);border-color:rgba(56,229,137,.18);color:#e7f8ee}.twin-model-thumb{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;overflow:hidden;background:#111c16;border:1px solid #263b30;color:var(--accent)}.twin-model-thumb img{width:100%;height:100%;object-fit:cover}.twin-model-item>div:nth-child(2){display:grid;min-width:0}.twin-model-item b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.twin-model-item small{font-size:7px;color:#62776d;margin-top:2px}.twin-model-item>span:last-child{font-size:12px;color:#4dde90}.twin-group-title{font-size:7px;color:#4e655a;letter-spacing:.12em;padding:10px 5px 4px;text-transform:uppercase}.twin-overlay{position:absolute;left:12px;bottom:12px;display:flex;gap:6px;z-index:3}.twin-hud{position:absolute;right:12px;top:12px;display:grid;gap:6px;z-index:3}.hud-pill{padding:6px 8px;border:1px solid rgba(119,171,140,.16);border-radius:8px;background:rgba(7,12,9,.72);backdrop-filter:blur(12px);font-size:8px;color:#769087}.inspector-empty{margin:auto;padding:24px;text-align:center;color:#60756a}.inspector-empty span{font-size:32px;color:#2c704d}.inspector-body{padding:11px;overflow:auto}.inspector-hero{padding:11px;border:1px solid var(--line);border-radius:11px;background:linear-gradient(145deg,#101b15,#0b120e);margin-bottom:9px}.inspector-hero small{color:#5c7468;font-size:8px}.inspector-hero h3{font-size:13px;margin:4px 0}.inspector-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.inspector-grid label{font-size:7px;color:#60766b;display:grid;gap:4px}.inspector-grid input{padding:6px 7px;font-size:8px}.workspace-status{position:absolute;left:50%;top:12px;transform:translateX(-50%);padding:6px 10px;border-radius:99px;border:1px solid rgba(61,228,139,.18);background:rgba(6,14,9,.75);font-size:8px;color:#7fdc9e;backdrop-filter:blur(12px);z-index:3}.workspace-status.busy:before{content:"";display:inline-block;width:6px;height:6px;border:1px solid #42e88e;border-top-color:transparent;border-radius:50%;margin-right:6px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
/* CAD import */
.cad-layout{display:grid;grid-template-columns:minmax(350px,.75fr) minmax(480px,1.25fr);gap:12px}.cad-step{padding:16px}.cad-step-number{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#143221;border:1px solid #286548;color:#64eda0;font-size:9px;font-weight:900}.cad-step-head{display:flex;align-items:center;gap:9px;margin-bottom:13px}.cad-step-head h2{font-size:14px;margin:0}.cad-drop{border:1px dashed #345142;border-radius:12px;padding:16px;background:rgba(38,88,59,.04);margin-bottom:9px}.cad-drop strong{display:block;font-size:10px}.cad-drop small{display:block;color:#60766b;font-size:8px;margin:4px 0 8px}.cad-preview{position:relative;min-height:520px;padding:0;overflow:hidden;background:#050806}.cad-preview canvas{width:100%;height:100%;min-height:520px;display:block}.cad-preview-toolbar{position:absolute;left:10px;right:10px;top:10px;display:flex;justify-content:space-between;gap:8px;z-index:2}.cad-badge{padding:6px 8px;border-radius:8px;background:rgba(7,13,9,.8);border:1px solid var(--line);backdrop-filter:blur(12px);font-size:8px;color:#749084}.layer-mapping{display:grid;gap:5px;max-height:330px;overflow:auto}.layer-row{display:grid;grid-template-columns:1fr 150px 70px;gap:7px;align-items:center;padding:7px;border:1px solid var(--line);border-radius:8px;background:#0b120e}.layer-row strong{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-row small{font-size:7px;color:#5d7368}.layer-row select{padding:6px;font-size:8px}.cad-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.cad-summary div{padding:8px;border:1px solid var(--line);border-radius:8px;background:#0b120e}.cad-summary b{display:block;font-size:14px}.cad-summary small{font-size:7px;color:#5e756a}.dwg-note{padding:11px;border:1px solid #625029;border-radius:10px;background:#231e0f;color:#d7c58f;font-size:9px;line-height:1.55}.dwg-note b{color:#ffe49d}.import-history{display:grid;gap:7px}.import-row{display:grid;grid-template-columns:1fr auto;align-items:center;padding:9px;border:1px solid var(--line);border-radius:9px}.import-row strong{font-size:9px}.import-row small{display:block;font-size:7px;color:#647a70;margin-top:2px}
@media(max-width:1150px){.twin-page{grid-template-columns:230px 1fr}.twin-inspector{position:absolute;right:0;top:0;bottom:0;width:290px;transform:translateX(100%);transition:.2s}.twin-inspector.open{transform:none}.cad-layout{grid-template-columns:1fr}.cad-preview{min-height:450px}}
@media(max-width:980px){.v51 .sidebar{width:258px;transform:translateX(-100%)}.v51 .sidebar.open{transform:none}.v51 .app-main,.sidebar-mini .app-main{margin-left:0;width:100%}.command-trigger{min-width:180px}.twin-page{margin:-16px;height:calc(100vh - 70px);grid-template-columns:1fr}.twin-side{position:absolute;left:0;top:0;bottom:0;width:260px;transform:translateX(-100%);transition:.2s}.twin-side.open{transform:none}.model-library-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}
@media(max-width:650px){.v51 .topbar{padding:0 12px}.command-trigger{width:40px;min-width:40px;justify-content:center}.command-trigger kbd{display:none}.v51 .content{padding:14px}.twin-page{margin:-14px}.visual-header{padding:16px}.library-search{width:100%}.panel-title{align-items:flex-start;flex-direction:column}.cad-summary{grid-template-columns:1fr 1fr}.layer-row{grid-template-columns:1fr 120px}.layer-row small{display:none}}
.floor-svg-host{position:absolute;inset:49px 0 0;overflow:hidden}.floor-svg-host svg{width:100%;height:100%;display:block;touch-action:none;background:#050906}.floor-asset-v51{cursor:grab;filter:drop-shadow(0 2px 5px rgba(0,0,0,.35))}.floor-asset-v51:active{cursor:grabbing}.floor-symbol{fill:color-mix(in srgb,var(--asset-color) 22%,#0b120e);stroke:var(--asset-color);stroke-width:.035;vector-effect:non-scaling-stroke}.floor-asset-v51.selected .floor-symbol{stroke:#fff;stroke-width:.055;filter:drop-shadow(0 0 6px var(--asset-color))}.floor-label{fill:#c9ded2;font-size:.16px;font-weight:700;paint-order:stroke;stroke:#07100b;stroke-width:.035px;vector-effect:non-scaling-stroke;pointer-events:none}.floor-stage{background:#050906}.toolbar-spacer{flex:1}
/* Loki 5.2.0 · Model Library preview */
.model-card-actions{display:flex;gap:.5rem;margin:.85rem 0 .3rem}.btn.small{min-height:34px;padding:.45rem .7rem;font-size:.78rem}.model-preview-modal{width:min(900px,94vw);padding:0;overflow:hidden}.model-preview-stage{height:min(62vh,620px);position:relative;background:radial-gradient(circle at 50% 35%,rgba(56,126,84,.16),transparent 55%),#050806;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}#model-preview-canvas{display:block;width:100%;height:100%;outline:0}.model-preview-hud{position:absolute;left:1rem;bottom:1rem;padding:.45rem .7rem;border:1px solid rgba(255,255,255,.08);background:rgba(5,8,6,.72);backdrop-filter:blur(14px);border-radius:999px;color:var(--muted);font-size:.72rem}

/* Loki SaaS 5.2.0 · DXF multirregión / multiplanta */
.cad-layout-v514{align-items:start}.cad-multi-switch{margin-top:10px;padding:11px;border:1px solid rgba(73,233,145,.16);border-radius:10px;background:rgba(35,111,67,.06)}.cad-multi-switch span{display:grid;gap:2px}.cad-multi-switch b{font-size:9px;color:#c9f7da}.cad-multi-switch small{font-size:7px;color:#667f73}.cad-region-toolbar{display:grid;grid-template-columns:minmax(110px,140px) auto auto;gap:7px;align-items:end;margin:10px 0 7px}.cad-region-toolbar label{margin:0}.cad-region-toolbar input{height:34px}.cad-regions-list{display:grid;gap:7px;margin-top:10px}.empty-state.compact{padding:18px;font-size:8px}.cad-region-card{display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:10px;background:#0b120e;transition:.16s}.cad-region-card.active{border-color:rgba(65,235,145,.38);box-shadow:inset 3px 0 #39e88d;background:rgba(42,112,70,.08)}.cad-region-index{width:28px;height:28px;border-radius:8px;border:1px solid #305442;background:#12251a;color:#75efa5;font-size:9px;font-weight:900;cursor:pointer}.cad-region-fields{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(180px,1.2fr);gap:6px;align-items:center;min-width:0}.cad-region-fields input,.cad-region-fields select{padding:6px 7px;font-size:8px;min-width:0}.cad-region-fields small{grid-column:1/-1;font-size:7px;color:#60766b}.cad-region-actions{display:flex;gap:5px}.btn.tiny{padding:6px 8px!important;min-height:28px;font-size:8px!important}.cad-preview-v514{position:sticky;top:82px}.cad-preview-v514 canvas.drawing-region{cursor:crosshair;touch-action:none}.cad-region-hint{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:3;padding:8px 12px;border:1px solid rgba(240,208,107,.35);border-radius:99px;background:rgba(35,29,12,.9);color:#f2d06b;font-size:8px;pointer-events:none;backdrop-filter:blur(10px)}
@media(max-width:750px){.cad-region-toolbar{grid-template-columns:1fr 1fr}.cad-region-toolbar label{grid-column:1/-1}.cad-region-card{grid-template-columns:30px 1fr}.cad-region-actions{grid-column:2}.cad-region-fields{grid-template-columns:1fr}.cad-region-fields small{grid-column:auto}.cad-preview-v514{position:relative;top:auto}}

/* ============================================================
   Loki SaaS 5.2 · UX, 2D/3D, soporte y administración segura
   ============================================================ */
:root{color-scheme:dark}
.v51 input,.v51 select,.v51 textarea,.v51 option,.v51 optgroup,.v51 button,.v51 dialog,.v51 summary,.v51 td,.v51 th{color:var(--text)!important}
.v51 input::placeholder,.v51 textarea::placeholder{color:#789084!important;opacity:1}
.v51 select,.v51 option,.v51 optgroup{background:#0b110e!important;color:#edf7f0!important}
.v51 input:-webkit-autofill,.v51 input:-webkit-autofill:hover,.v51 input:-webkit-autofill:focus{-webkit-text-fill-color:#edf7f0!important;box-shadow:0 0 0 1000px #0b110e inset!important}
.nav-alert-link{border-color:rgba(239,91,89,.25)!important;background:rgba(239,91,89,.07)!important}.nav-alert-count{margin-left:auto;min-width:19px;height:19px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;background:#c93d3b;color:#fff!important;font-size:9px;font-style:normal;font-weight:900;box-shadow:0 0 18px rgba(239,91,89,.25)}

/* 3D: el canvas ya no cubre la barra superior al recibir foco */
.twin-canvas-v52{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;min-width:0;min-height:0;overflow:hidden!important;position:relative}
.twin-toolbar-v52,.floor-stage>.twin-toolbar{position:relative!important;z-index:50!important;isolation:isolate;background:rgba(9,16,12,.96)!important;backdrop-filter:blur(16px)}
.twin-canvas-stage{position:relative!important;min-height:0!important;overflow:hidden!important;isolation:isolate}
.twin-canvas-stage #renderCanvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:1!important;outline:none!important;touch-action:none}
.twin-canvas-stage .twin-overlay,.twin-canvas-stage .twin-hud{z-index:8!important;pointer-events:none}
.twin-toolbar select,.twin-toolbar button,.twin-toolbar a,.twin-toolbar .hud-pill,.twin-toolbar .workspace-status{position:relative;z-index:55}
.toolbar-status{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}

/* catálogo persistente + origen + soporte */
.asset-list-item.source-agent,.unplaced-item.source-agent{border-color:rgba(65,145,255,.48)!important;background:linear-gradient(90deg,rgba(65,145,255,.13),rgba(11,18,14,.9))!important;box-shadow:inset 3px 0 #4b91ff}
.asset-list-item.source-scene{border-color:rgba(178,102,255,.42)!important;background:linear-gradient(90deg,rgba(178,102,255,.11),rgba(11,18,14,.9))!important;box-shadow:inset 3px 0 #aa69ff}
.twin-model-item.has-support{border-color:rgba(239,91,89,.68)!important;box-shadow:inset 3px 0 #ef5b59,0 0 18px rgba(239,91,89,.09)!important}
.twin-model-item.search-match{outline:2px solid #e6c25c!important;outline-offset:-2px;background:rgba(230,194,92,.10)!important}
.twin-model-item.selected{outline:2px solid var(--green)!important;outline-offset:-2px}
.twin-model-thumb{font-size:8px;font-weight:900;letter-spacing:.02em}
.support-alert-icon{filter:drop-shadow(0 0 5px rgba(239,91,89,.75))}

/* Inspector 5.2 */
.inspector-body .inspector-form-v52{display:grid;gap:8px}.inspector-form-v52 label{display:grid;gap:4px;color:#a9bdb2;font-size:9px}.inspector-form-v52 input{width:100%;background:#09100c;border:1px solid #2b3d33;color:#f2faf5;padding:8px;border-radius:7px}.transform-grid-v52{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.transform-help-v52{font-size:8px;line-height:1.5;color:#879c91;padding:8px;border:1px solid #25362d;border-radius:8px;background:#0a120e}.inspector-actions-v52{display:flex;gap:6px;flex-wrap:wrap}.danger-zone-v52{margin-top:12px;padding-top:10px;border-top:1px solid rgba(239,91,89,.25)}

/* Plano 2D */
.floor-svg-host{min-height:0;position:relative;overflow:hidden}.floor-svg-host svg{width:100%;height:100%;display:block}.floor-asset.source-agent .asset-shape{stroke:#5a9cff!important;stroke-width:.12!important}.floor-asset.source-scene .asset-shape{stroke:#b676ff!important}.floor-asset.has-support .asset-shape{stroke:#ef5b59!important;stroke-width:.16!important;filter:drop-shadow(0 0 2px #ef5b59)}.floor-asset.search-match .asset-shape{stroke:#f1cf5b!important;stroke-width:.18!important;filter:drop-shadow(0 0 3px #f1cf5b)}

/* Soporte */
.support-grid-v52{display:grid;gap:12px}.support-ticket.support-open{border-color:rgba(239,91,89,.34);box-shadow:inset 3px 0 rgba(239,91,89,.8)}.support-ticket p{white-space:normal;line-height:1.55}.support-ticket details{margin-top:10px}.support-ticket details summary{cursor:pointer;color:#bfe6cf}.support-ticket textarea{min-height:70px}

/* Estructura */
.structure-grid-v52{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start}.structure-panel{min-width:0}.structure-row{border:1px solid #26382f;border-radius:10px;background:#0b120e;margin:7px 0;overflow:hidden}.structure-row.archived{opacity:.67}.structure-row>summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px;cursor:pointer;list-style:none}.structure-row>summary::-webkit-details-marker{display:none}.structure-row>summary>span:first-child{display:grid;gap:2px;min-width:0}.structure-row>summary small{color:var(--muted);font-size:9px}.structure-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.structure-editor{padding:12px;border-top:1px solid #26382f;background:#0d1511}.danger-zone-inline{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid rgba(239,91,89,.16)}.danger-zone-inline form:last-child{margin-left:auto;display:flex;align-items:end;gap:7px;flex-wrap:wrap}.danger-zone-inline label{font-size:8px;color:#c8a1a1}.danger-zone-inline input{display:block;margin-top:4px;min-width:190px;background:#120b0b;border:1px solid #5d3030;color:#fff;padding:7px;border-radius:7px}

/* Topología */
.topology-workspace-v52{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:12px;min-height:620px}.topology-workspace-v52 .topology-panel{min-height:620px}.topology-workspace-v52 #cy{height:100%;min-height:580px}.topology-inspector{min-width:0}.topology-inspector label{display:grid;gap:4px;margin:8px 0;font-size:9px;color:#a9bdb2}.topology-inspector input,.topology-inspector select,.topology-inspector textarea{width:100%;background:#09100c;border:1px solid #2c4035;color:#fff;padding:8px;border-radius:7px}.topology-inspector textarea{min-height:70px}

/* Vault */
.vault-state-v52{display:flex;gap:12px;align-items:center;justify-content:space-between}.vault-actions-v52{display:flex;gap:7px;flex-wrap:wrap}.vault-secret-actions{display:flex;gap:5px;flex-wrap:wrap}.vault-copy{font-size:8px}.vault-locked{filter:blur(4px);user-select:none}.vault-secret-value{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;word-break:break-all}

/* Referencias */
.reference-state{font-size:8px;font-weight:900;border-radius:99px;padding:4px 7px}.reference-state.in-use{background:#123321;color:#89f4ae}.reference-state.history{background:#2c260f;color:#efd477}.reference-state.unused{background:#272c29;color:#adb9b2}.duplicate-badge{font-size:8px;color:#e8bf61}

@media(max-width:1050px){.structure-grid-v52,.topology-workspace-v52{grid-template-columns:1fr!important}.topology-inspector{min-height:240px}.toolbar-status{max-width:240px}}

/* ============================================================
   Loki SaaS 5.2.0 · Digital Twin / Topology / Rack UX
   ============================================================ */
/* Contraste: no dejar texto negro sobre superficies oscuras. */
.v51,.v51 *{--loki-readable:#edf7f0}.v51 label,.v51 p,.v51 span,.v51 div,.v51 summary,.v51 small,.v51 strong,.v51 b,.v51 h1,.v51 h2,.v51 h3,.v51 h4,.v51 h5,.v51 li{color:inherit}.v51 input,.v51 textarea,.v51 select,.v51 button{color:#edf7f0}.v51 input[type="checkbox"],.v51 input[type="radio"]{accent-color:#39e88d}.v51 .btn.primary{color:#fff!important}.v51 .btn.danger{color:#fff!important}

/* 2D */
.floor-v52{grid-template-columns:300px minmax(0,1fr) 330px}.floor-svg-host{background:radial-gradient(circle at 50% 40%,rgba(38,76,54,.12),transparent 45%),#050a07;cursor:default}.floor-svg-host svg{user-select:none;touch-action:none}.floor-mode-pill{position:absolute;top:12px;left:12px;z-index:5;padding:6px 10px;border:1px solid #294336;border-radius:999px;background:rgba(5,10,7,.88);color:#a9c9b6;font-size:8px;pointer-events:none}.wall-line{stroke:#71847a;stroke-linecap:square}.opening-line{stroke:#5cb7d4;stroke-width:.08;stroke-dasharray:.2 .1}.space-polygon{fill:hsla(var(--space-hue,140),55%,45%,.08);stroke:hsla(var(--space-hue,140),60%,65%,.65);stroke-width:.06;vector-effect:non-scaling-stroke;cursor:pointer}.space-polygon.selected-floor{fill:rgba(56,232,141,.14);stroke:#39e88d;stroke-width:.1}.space-edit-polygon{fill:rgba(57,232,141,.09);stroke:#39e88d;stroke-width:.08;stroke-dasharray:.22 .1;vector-effect:non-scaling-stroke}.space-drawing-line{fill:none;stroke:#f1cf5b;stroke-width:.09;stroke-dasharray:.18 .1;vector-effect:non-scaling-stroke}.space-vertex{fill:#39e88d;stroke:#07110b;stroke-width:.04;vector-effect:non-scaling-stroke;cursor:move}.space-midpoint{fill:#f1cf5b;stroke:#07110b;stroke-width:.03;cursor:copy}.floor-asset{cursor:move}.floor-asset .asset-shape{stroke:#b5c7bd;stroke-width:.06;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px rgba(0,0,0,.7))}.floor-asset.selected-floor .asset-shape{stroke:#f5dc70!important;stroke-width:.13!important}.floor-asset .asset-code{fill:#eaf7ef;font-size:.28px;text-anchor:middle;paint-order:stroke;stroke:#07110b;stroke-width:.05;pointer-events:none}.floor-cable{fill:none;stroke:#39e88d;stroke-width:.09;vector-effect:non-scaling-stroke;cursor:pointer}.floor-cable.selected-floor{stroke:#f1cf5b;stroke-width:.16}.floor-connection{stroke:#9878e5;stroke-width:.06;stroke-dasharray:.18 .12;vector-effect:non-scaling-stroke;cursor:pointer;animation:floorDash 1s linear infinite}.floor-connection.wifi{stroke:#55a7ff}.cable-label{fill:#a7c6b5;font-size:.25px;paint-order:stroke;stroke:#07110b;stroke-width:.04;pointer-events:none}.cable-edit-line{fill:none;stroke:#f1cf5b;stroke-width:.11;stroke-dasharray:.25 .08;vector-effect:non-scaling-stroke}.cable-route-point{fill:#39e88d;stroke:#07110b;stroke-width:.04;cursor:move}.cable-midpoint{fill:#f1cf5b;stroke:#07110b;stroke-width:.03;cursor:copy}.wifi-range-ring{fill:none;stroke:#4aa2ff;stroke-width:.06;vector-effect:non-scaling-stroke;opacity:.42;transform-box:fill-box;transform-origin:center;animation:wifiPulse 1.95s ease-out infinite;pointer-events:none}.floor-asset.search-match .asset-shape{stroke:#f1cf5b!important;stroke-width:.16!important}.connection-summary{padding:9px 10px;border:1px solid #284034;border-radius:9px;background:#09110d;display:grid;gap:2px}.connection-summary small{color:#7e998a;font-size:8px}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:7px!important}.check input{width:auto!important}.inspector-kv{padding:8px;border:1px solid #263a30;border-radius:8px;background:#09100c;display:grid;gap:2px}.inspector-kv span,.inspector-kv small{font-size:8px;color:#819a8d}.inspector-kv b{font-size:10px;color:#eef8f1}
@keyframes wifiPulse{0%{opacity:.55;transform:scale(.72)}70%{opacity:.12}100%{opacity:0;transform:scale(1.04)}}@keyframes floorDash{to{stroke-dashoffset:-.6}}

/* Topología tipo editor de nodos */
.topology-helpbar{display:flex;gap:13px;align-items:center;flex-wrap:wrap;margin:-5px 0 10px;padding:8px 11px;border:1px solid #23372d;border-radius:9px;background:#08100c;color:#91a99c;font-size:8px}.topology-helpbar span:last-child{margin-left:auto;color:#d8ebdf}.topology-dot{display:inline-block;width:9px;height:9px;margin-right:4px;border-radius:99px}.topology-dot.physical{background:#39e88d}.topology-dot.wifi{background:#55a7ff}.topology-dot.logical{background:#9878e5}.topology-v52 .topology-panel{position:relative;padding:0;overflow:hidden;background:#050a07}.topology-v52 #cy{background-image:radial-gradient(#173025 1px,transparent 1px);background-size:20px 20px}.topology-canvas-hud{position:absolute;left:10px;bottom:10px;right:10px;display:flex;justify-content:space-between;gap:10px;pointer-events:none}.topology-canvas-hud span{padding:5px 8px;border:1px solid #253a30;background:rgba(5,10,7,.9);border-radius:99px;color:#769083;font-size:7px}.topology-inspector .inspector-kv{margin-bottom:8px}

/* Rack designer */
.rack-workspace-v52{display:grid;grid-template-columns:280px minmax(360px,1fr) 330px;gap:12px;align-items:start}.rack-palette,.rack-inspector{position:sticky;top:76px;max-height:calc(100vh - 94px);overflow:auto}.rack-palette select,.rack-palette input{width:100%;margin:7px 0}.rack-asset-list{display:grid;gap:6px;margin-top:8px}.rack-palette-item{display:grid;text-align:left;gap:2px;padding:9px;border:1px solid #293c32;border-radius:8px;background:#0a120e;cursor:grab}.rack-palette-item:hover,.rack-palette-item.selected{border-color:#39e88d;background:#102219}.rack-palette-item b{color:#eef8f1;font-size:9px}.rack-palette-item small{color:#759084;font-size:7px}.rack-chassis{padding:12px}.rack-chassis-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.rack-body{display:flex;flex-direction:column;border:2px solid #394b42;background:#030604;box-shadow:inset 0 0 0 5px #0a0f0c;border-radius:6px;padding:7px}.rack-u{height:24px;display:grid;grid-template-columns:45px 1fr;align-items:stretch;border-bottom:1px solid #1a2a22;position:relative}.rack-u:hover,.rack-u.drop-target{background:rgba(57,232,141,.09)}.rack-u-number{display:flex;align-items:center;justify-content:center;border-right:1px solid #24372d;color:#6e887a;font-size:7px}.rack-u-slot{position:relative;min-width:0}.rack-mounted{position:absolute;left:3px;right:3px;bottom:1px;height:calc(var(--height-u,1) * 24px - 2px);z-index:3;border:1px solid #3c7657;border-radius:4px;background:linear-gradient(180deg,#183123,#0a1610);box-shadow:0 2px 8px rgba(0,0,0,.4);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px;cursor:grab;overflow:hidden}.rack-mounted b{color:#e8f5ed;font-size:8px}.rack-mounted small{color:#78a58c;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rack-hint{margin-top:8px;text-align:center;color:#70877a;font-size:7px}.switch-port-grid{display:grid;grid-template-columns:repeat(8,minmax(24px,1fr));gap:4px}.switch-port{display:flex;align-items:center;justify-content:center;aspect-ratio:1.25;border:1px solid #34473d;border-radius:3px;background:#080e0b;color:#687c71;font-size:7px}.switch-port.connected{border-color:#39e88d;background:#102a1b;color:#aaf5c5;box-shadow:inset 0 0 7px rgba(57,232,141,.16)}.rack-cable-list{display:grid;gap:3px;margin-top:7px}.rack-cable-list small{color:#86a393;font-size:7px}

/* Cableado */
.inline-editor{min-width:650px;margin:10px 0}.inline-editor textarea{min-height:60px}

@media(max-width:1200px){.floor-v52{grid-template-columns:250px minmax(0,1fr) 290px}.rack-workspace-v52{grid-template-columns:230px minmax(340px,1fr) 290px}}
@media(max-width:900px){.floor-v52,.rack-workspace-v52{grid-template-columns:1fr}.rack-palette,.rack-inspector{position:static;max-height:none}.floor-v52 .twin-side,.floor-v52 .twin-inspector{max-height:320px}.topology-helpbar span:last-child{margin-left:0}}
.floor-cable{stroke-dasharray:.34 .08;animation:floorDash .72s linear infinite}

/* Loki 5.2.0 · distinción de origen e inspectores */
.asset-list-item.source-manual{border-color:rgba(95,214,142,.28)!important;box-shadow:inset 3px 0 rgba(95,214,142,.65)}
.floor-asset.source-manual .asset-shape{stroke:#8fb7a0!important}
.inspector-form-v52 textarea{width:100%;min-height:72px;background:#09100c;border:1px solid #2b3d33;color:#f2faf5;padding:8px;border-radius:7px;resize:vertical}

/* Loki 5.2.2 · capas CAD semánticas */
.cad-layer-panel{margin:8px 0 10px;padding:7px;border:1px solid #25382e;border-radius:9px;background:#08100c}.cad-layer-panel .twin-group-title{margin:0 0 5px;padding:3px 2px}.cad-layer-actions{display:flex;gap:5px;margin-bottom:6px}.cad-layer-controls{display:grid;gap:4px;max-height:245px;overflow:auto;padding-right:2px}.cad-layer-control{display:grid;grid-template-columns:minmax(0,1fr) 68px 34px;gap:6px;align-items:center;padding:6px;border:1px solid #21352a;border-radius:7px;background:#0a120e}.cad-layer-check{display:flex;align-items:center;gap:6px;min-width:0}.cad-layer-check input{width:auto!important;margin:0}.cad-layer-check span{min-width:0;display:grid}.cad-layer-check b{font-size:8px;color:#e7f5ec;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cad-layer-check small{font-size:6px;color:#6f8b7c;text-transform:uppercase;letter-spacing:.04em}.cad-layer-opacity{width:68px!important;margin:0!important;padding:0!important;accent-color:#47dc88}.cad-layer-control output{font-size:7px;color:#83a493;text-align:right}.floor-cad{pointer-events:none}.cad-entity{fill:none;stroke-width:.045;vector-effect:non-scaling-stroke}.cad-dashed{stroke-dasharray:.12 .08}.cad-glass{stroke-width:.07}.cad-column{stroke-width:.075}.cad-dimension{stroke-width:.035}.cad-reference{stroke-width:.028}.cad-door{stroke-width:.055}.cad-text{paint-order:stroke;stroke:#07100b;stroke-width:.018;pointer-events:none}.layer-row .layer-suggest{color:#6e8f7c;line-height:1.35}.layer-row select{min-width:210px}.cad-summary{grid-template-columns:repeat(4,1fr)!important}.form-grid label small{display:block;color:#6f897b;font-size:8px;line-height:1.35;margin-top:3px}

/* ============================================================
   Loki SaaS 5.7.0 · Wide-screen / twin / topology refinements
   ============================================================ */
html{color-scheme:dark}body,input,select,textarea,button{color:var(--text)}input,select,textarea{background:#0c120f;color:#e7f2eb;border-color:#2b3a32}input::placeholder,textarea::placeholder{color:#65796e}.content{width:100%;max-width:none;margin:0;padding:24px;box-sizing:border-box}.app-main,.content{min-width:0}.rack-page{width:min(1560px,100%);margin-inline:auto}.rack-workspace-v52{width:100%}
.twin-page{margin:-24px;width:calc(100% + 48px);height:calc(100dvh - 62px);min-height:620px;max-height:none;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.twin-toolbar{position:relative;z-index:35;min-height:54px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;background:rgba(10,16,13,.96);border-bottom:1px solid #24342b}.twin-toolbar .toolbar-status{margin-left:auto;display:flex;align-items:center;gap:8px;min-width:0;max-width:48%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.twin-toolbar .toolbar-status strong{overflow:hidden;text-overflow:ellipsis}.twin-workspace,.twin-canvas-wrap,.twin-canvas-stage,.floor-stage,.floor-svg-host,.viewer3d-stage{min-width:0;min-height:0;height:100%;overflow:hidden}.floor-svg-host svg,.viewer3d-stage canvas,.twin-canvas-stage canvas{width:100%;height:100%;display:block}.floor-svg-host{position:relative;background:#07100b}.zoom-speed-control{display:flex!important;align-items:center;gap:5px;white-space:nowrap;color:#89a598!important;font-size:10px!important}.zoom-speed-control input{width:90px}.zoom-speed-control output{min-width:28px;text-align:right;color:#d9eee2}.twin-sidebar{min-height:0;overflow:auto}.twin-inspector{min-height:0;overflow:auto}
.connection-hit-area{fill:none!important;stroke:rgba(255,255,255,.001)!important;stroke-width:.75!important;pointer-events:stroke!important;cursor:pointer}.connection-label{fill:#e7f4ec!important;font-size:.24px!important;font-weight:700;paint-order:stroke fill;stroke:#07100b;stroke-width:.10px;stroke-linejoin:round;pointer-events:all;cursor:pointer;user-select:none}.connection-label:hover{fill:#ffe17d!important}.cable-point-hit{fill:rgba(255,255,255,.001);stroke:rgba(255,255,255,.001);stroke-width:.22;pointer-events:all;cursor:move}.cable-route-point{cursor:move}.cable-route-point.transition{fill:#ffd75f;stroke:#7d5f00}.floor-transition-marker{fill:#ffd75f;font-size:.38px;font-weight:900;paint-order:stroke;stroke:#08100b;stroke-width:.08}.cable-midpoint-hit{fill:rgba(255,255,255,.001);stroke:rgba(255,255,255,.001);stroke-width:.3;pointer-events:all;cursor:copy}
.topology-workspace-v52{grid-template-columns:minmax(0,1fr) 350px;min-height:calc(100dvh - 205px)}.topology-panel{height:auto;min-height:620px}.topology-helpbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.topology-filterbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-left:auto}.topology-filterbar label{display:flex;gap:5px;align-items:center;font-size:10px;color:#9bb2a5}.topology-filterbar select{min-width:130px;padding:5px 7px}.topology-inspector{min-width:0}.topology-port-grid{margin-bottom:9px}.topology-edge-hint{padding:7px 9px;border:1px solid #3e533f;background:#111c15;border-radius:7px;color:#a9c0b3;font-size:10px}.topology-group-chip{display:inline-flex;padding:2px 7px;border:1px solid #31443a;border-radius:99px;font-size:9px;color:#a8beaf}
.model-admin-workspace{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:14px;align-items:start}.model-admin-list{max-height:calc(100dvh - 190px);overflow:auto;position:sticky;top:78px}.model-admin-list-items{display:grid;gap:7px}.model-admin-item{width:100%;display:grid;grid-template-columns:48px minmax(0,1fr);gap:9px;text-align:left;align-items:center;padding:8px;border:1px solid #26382e;background:#0d1511;border-radius:9px;color:#d8e9df}.model-admin-item.active{border-color:#49d887;background:#10231a}.model-admin-thumb{width:48px;height:48px;border-radius:7px;object-fit:cover;background:#08100c;display:grid;place-items:center}.model-admin-item small{display:block;color:#748a7d}.model-admin-editor{display:grid;grid-template-columns:minmax(460px,1.2fr) minmax(520px,1fr);gap:14px;min-width:0}.model-admin-preview-panel{position:sticky;top:78px;min-width:0}.model-admin-preview-canvas{height:min(70vh,760px);min-height:520px;width:100%;border:1px solid #2a3d31;border-radius:10px;background:#06100a;display:block}.model-preview-toolbar{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.model-origin-readout{font-size:10px;color:#8da99a}.model-edit-pane{min-width:0}.model-edit-pane .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.model-edit-form[hidden]{display:none}.model-preview-axis-help{font-size:10px;color:#829d8e;margin-top:8px}.model-inline-empty{height:520px;display:grid;place-items:center;color:#668075;border:1px dashed #2a3a31;border-radius:10px}
.rack-mounted{width:var(--rack-width,100%);max-width:100%;justify-self:start}.rack-width-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.rack-width-row output{min-width:46px;text-align:right}.rack-u-slot{display:flex;align-items:stretch;min-width:0}
@media(min-width:1900px){.content{padding:26px 32px}.twin-page{margin:-26px -32px;width:calc(100% + 64px);height:calc(100dvh - 62px)}.twin-workspace{grid-template-columns:310px minmax(0,1fr) 380px}.topology-workspace-v52{grid-template-columns:minmax(0,1fr) 410px}.model-admin-workspace{grid-template-columns:390px minmax(0,1fr)}.model-admin-editor{grid-template-columns:minmax(620px,1.35fr) minmax(620px,1fr)}.model-admin-preview-canvas{height:min(76vh,900px)}.data-table{font-size:12px}}
@media(max-width:1300px){.model-admin-editor{grid-template-columns:1fr}.model-admin-preview-panel{position:relative;top:auto}.model-admin-preview-canvas{height:480px;min-height:380px}.topology-workspace-v52{grid-template-columns:minmax(0,1fr) 315px}.twin-toolbar .toolbar-status{max-width:100%;margin-left:0;order:20;width:100%}}
@media(max-width:900px){.content{padding:16px}.twin-page{margin:-16px;width:calc(100% + 32px);height:calc(100dvh - 62px)}.model-admin-workspace{grid-template-columns:1fr}.model-admin-list{position:relative;top:auto;max-height:300px}.model-admin-editor{grid-template-columns:1fr}.model-edit-pane .form-grid{grid-template-columns:1fr}.topology-workspace-v52{grid-template-columns:1fr}.topology-inspector{max-height:44vh}.topology-panel{min-height:55vh}}

/* ============================================================
   Loki SaaS 5.7.0 · viewport, CAD types, Blender navigation
   ============================================================ */
.twin-page.twin-v54{margin:-24px;width:calc(100% + 48px);height:calc(100dvh - 62px);min-height:620px;display:grid!important;grid-template-columns:290px minmax(0,1fr) 340px!important;grid-template-rows:minmax(0,1fr)!important;align-items:stretch;overflow:hidden;background:#060a08}
.twin-v54>.twin-side,.twin-v54>.twin-inspector,.twin-v54>.twin-canvas-wrap{height:100%!important;min-height:0!important;max-height:none!important;align-self:stretch}
.twin-canvas-v54{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;min-width:0;min-height:0;height:100%!important;overflow:hidden!important;position:relative}
.twin-toolbar-v54{position:relative!important;z-index:60!important;isolation:isolate;background:rgba(9,16,12,.98)!important;backdrop-filter:blur(16px);min-height:56px;height:auto;max-height:150px;overflow:auto}
.twin-canvas-v54>.twin-canvas-stage{position:relative;min-width:0;min-height:0;height:100%;overflow:hidden}
.twin-canvas-v54>.twin-canvas-stage>canvas{position:absolute;inset:0;width:100%!important;height:100%!important;z-index:1}
.twin-canvas-v54 .twin-overlay{z-index:10;pointer-events:none}
.view-preset-group{display:flex;gap:4px;align-items:center}.floor-align-control{display:flex!important;align-items:center;gap:4px;font-size:9px!important;color:#789487!important;white-space:nowrap}.floor-align-control input{width:74px!important;padding:5px!important}.network-list-item .twin-model-thumb{color:#59e797}
.wall-solid{stroke:#7d9386!important}.wall-drywall{stroke:#a384d8!important;stroke-dasharray:.09 .04}.cad-type-control{border-color:#31483a;background:#0c1711}
.floor-workspace{height:calc(100dvh - 62px)!important;grid-template-rows:minmax(0,1fr)!important}.floor-stage{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;height:100%!important;min-height:0!important}.floor-stage>.floor-svg-host{min-height:0;height:100%!important;overflow:hidden}.floor-stage>.twin-overlay{position:absolute;z-index:12;pointer-events:none}
.health-bars .bar.health-healthy i{background:linear-gradient(90deg,#2fdc7b,#66f4a7)}.health-bars .bar.health-notice i{background:linear-gradient(90deg,#54b8f3,#7cd7ff)}.health-bars .bar.health-warning i,.health-bars .bar.health-degraded i{background:linear-gradient(90deg,#e69724,#ffd45e)}.health-bars .bar.health-failed i,.health-bars .bar.health-out_of_service i{background:linear-gradient(90deg,#d73d42,#ff7377)}.health-bars .bar.health-unknown i{background:linear-gradient(90deg,#607268,#8da096)}
.dashboard-support-alert{border-color:rgba(245,84,84,.38);box-shadow:inset 4px 0 rgba(245,84,84,.72)}.support-alert-list{display:grid;gap:6px}.support-alert-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 10px;border:1px solid #2b3d33;border-radius:8px;background:#0b130f;color:#dcece3;text-decoration:none}.support-alert-row:hover{border-color:#526c5c}.support-alert-row small{color:#8ca195}.support-alert-row.priority-critical{border-color:rgba(246,67,67,.6)}.support-alert-row.priority-high{border-color:rgba(245,159,43,.55)}
.support-grid-v52{align-items:start}.support-ticket details form{display:grid;gap:10px}.support-ticket .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.support-ticket .form-grid label,.modal label{display:grid;gap:5px;align-content:start}.support-ticket textarea,#new-support textarea{min-height:96px;width:100%;resize:vertical}.support-ticket .span2,#new-support .span2{grid-column:1/-1}#new-support form{display:grid;gap:10px;min-width:min(680px,88vw)}
.asset-list-item.has-support{border-color:rgba(255,77,77,.6)!important;box-shadow:inset 4px 0 #f44,0 0 18px rgba(255,50,50,.08)}.floor-asset.has-support .asset-shape{stroke:#ff4e4e!important;stroke-width:.08!important}
@media(min-width:1900px){.twin-page.twin-v54{margin:-26px -32px;width:calc(100% + 64px);grid-template-columns:340px minmax(0,1fr) 410px!important}.twin-toolbar-v54{max-height:128px}.cad-layer-controls{max-height:330px}}
@media(max-width:1300px){.twin-page.twin-v54{grid-template-columns:250px minmax(0,1fr) 315px!important}.twin-toolbar-v54{max-height:180px}}
@media(max-width:900px){.twin-page.twin-v54{margin:-16px;width:calc(100% + 32px);grid-template-columns:1fr!important}.twin-v54>.twin-side{position:absolute;z-index:90}.twin-v54>.twin-inspector{position:absolute;z-index:90}.support-ticket .form-grid{grid-template-columns:1fr}}
.inventory-ticket-pending{background:linear-gradient(90deg,rgba(255,72,72,.08),transparent 32%)}.inventory-ticket-pending td:first-child{box-shadow:inset 3px 0 #ff5656}

/* Loki 5.6.0 · viewport fixes */
.twin-page.twin-v54{grid-template-columns:minmax(270px,320px) minmax(0,1fr) minmax(320px,370px)!important;grid-template-rows:minmax(0,1fr)!important;height:calc(100dvh - 62px)!important;min-height:0!important}
.twin-page.twin-v54>.twin-side,.twin-page.twin-v54>.twin-canvas-wrap,.twin-page.twin-v54>.twin-inspector{grid-row:1!important;min-height:0!important;height:100%!important}
.twin-page.twin-v54>.twin-side{grid-column:1!important}.twin-page.twin-v54>.twin-canvas-wrap{grid-column:2!important}.twin-page.twin-v54>.twin-inspector{grid-column:3!important}
.twin-toolbar .workspace-status.toolbar-status{position:static!important;left:auto!important;top:auto!important;transform:none!important;z-index:auto!important}
.twin-canvas-v54{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;height:100%!important;min-height:0!important}
.twin-canvas-v54>.twin-toolbar-v54{grid-row:1!important;align-self:start!important}
.twin-canvas-v54>.twin-canvas-stage{grid-row:2!important;min-height:0!important;height:100%!important}
.floor-workspace{grid-template-columns:minmax(270px,320px) minmax(0,1fr) minmax(320px,370px)!important;grid-template-rows:minmax(0,1fr)!important;min-height:0!important}
.floor-workspace>.twin-side,.floor-workspace>.floor-stage,.floor-workspace>.twin-inspector{grid-row:1!important;height:100%!important;min-height:0!important}
.floor-workspace>.twin-side{grid-column:1!important}.floor-workspace>.floor-stage{grid-column:2!important}.floor-workspace>.twin-inspector{grid-column:3!important}
@media(min-width:1900px){.twin-page.twin-v54,.floor-workspace{grid-template-columns:360px minmax(0,1fr) 430px!important}}
@media(max-width:1300px){.twin-page.twin-v54,.floor-workspace{grid-template-columns:250px minmax(0,1fr) 315px!important}}

/* ============================================================
   Loki 5.6.0 · workspaces realmente a pantalla completa
   ============================================================ */
.twin-page.twin-v54,.floor-workspace{
  position:fixed!important;
  top:70px!important;
  left:258px!important;
  right:0!important;
  bottom:0!important;
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  margin:0!important;
  min-height:0!important;
  z-index:35!important;
  box-sizing:border-box!important;
}
.sidebar-mini .twin-page.twin-v54,.sidebar-mini .floor-workspace{left:76px!important}
.twin-page.twin-v54{grid-template-columns:minmax(270px,320px) minmax(0,1fr) minmax(320px,380px)!important}
.floor-workspace{grid-template-columns:minmax(270px,320px) minmax(0,1fr) minmax(320px,380px)!important}
.twin-page.twin-v54>.twin-canvas-wrap,.floor-workspace>.floor-stage{width:100%!important;max-width:none!important;min-width:0!important}
.twin-page.twin-v54 canvas,.floor-workspace svg{max-width:none!important}
@media(min-width:1900px){.twin-page.twin-v54,.floor-workspace{grid-template-columns:340px minmax(0,1fr) 400px!important}}
@media(max-width:980px){.twin-page.twin-v54,.floor-workspace{left:0!important;grid-template-columns:1fr!important}.twin-page.twin-v54>.twin-side,.twin-page.twin-v54>.twin-inspector,.floor-workspace>.twin-side,.floor-workspace>.twin-inspector{position:absolute!important;z-index:90!important}}

/* Loki 5.6.0 · soporte como sistema de tickets */
.support-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.support-summary-grid article{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#101815}.support-summary-grid small,.support-summary-grid span{display:block;color:var(--muted);font-size:9px}.support-summary-grid strong{display:block;font-size:25px;margin:4px 0}.support-ticket-list{display:grid;gap:14px}.support-ticket-v542{border:1px solid #283a30;border-radius:14px;background:linear-gradient(145deg,#111a15,#0d1411);padding:16px;box-shadow:0 10px 34px rgba(0,0,0,.14)}.support-ticket-v542.status-open,.support-ticket-v542.status-in_progress,.support-ticket-v542.status-waiting{border-left:4px solid #e5a43f}.support-ticket-v542.priority-critical{border-left-color:#f14d52}.support-ticket-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.support-ticket-head h2{font-size:18px;margin:4px 0}.support-ticket-head p{margin:0;color:var(--muted);font-size:10px}.support-ticket-status{display:flex;gap:6px;flex-wrap:wrap}.support-timing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0}.support-timing-grid>div{padding:9px 10px;border:1px solid #25352c;border-radius:9px;background:#0b120e}.support-timing-grid small{display:block;color:#6e877a;font-size:8px;letter-spacing:.08em}.support-timing-grid b{display:block;margin-top:3px;font-size:11px}.support-ticket-description{padding:11px 12px;border-radius:9px;background:#0b130f;color:#bdd0c5;font-size:11px}.support-thread{margin-top:14px;border-top:1px solid #26362e;padding-top:13px}.support-thread-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.support-thread-title small{color:var(--muted)}.support-thread-events{display:grid;gap:7px;max-height:430px;overflow:auto;padding-right:4px}.support-message{max-width:min(78%,760px);padding:10px 12px;border-radius:11px;border:1px solid #2c3e34;background:#0b130f}.support-message.from-admin{margin-left:auto;background:#10231a;border-color:#27593d}.support-message.from-agent{margin-right:auto;background:#101719}.support-message-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:9px}.support-message-meta span,.support-message-meta small{color:#71897c}.support-message p{margin:7px 0 0;white-space:normal;font-size:11px;line-height:1.45}.support-reply-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end;margin-top:10px}.support-reply-form label{display:grid;gap:5px}.support-reply-form textarea{min-height:70px;resize:vertical}.support-admin-editor{margin-top:12px;border-top:1px dashed #2b3b33;padding-top:10px}.support-admin-editor summary{cursor:pointer;color:#86a092;font-size:10px}.support-admin-editor form{margin-top:10px}.support-admin-editor textarea{min-height:80px}.modal-wide .form-grid label{align-content:start}.modal-wide textarea{min-height:95px;resize:vertical}@media(max-width:900px){.support-summary-grid,.support-timing-grid{grid-template-columns:1fr 1fr}.support-reply-form{grid-template-columns:1fr}.support-message{max-width:94%}}@media(max-width:600px){.support-summary-grid,.support-timing-grid{grid-template-columns:1fr}.support-ticket-head{flex-direction:column}}

/* Loki 5.6.0 · Estructura jerárquica */
.structure-tree{max-width:none}.structure-node{border:1px solid #293a31;border-radius:11px;background:#0d1511;margin:8px 0;overflow:hidden}.structure-node>summary{display:flex;align-items:center;gap:9px;padding:10px 12px;cursor:pointer;list-style:none}.structure-node>summary::-webkit-details-marker{display:none}.structure-node>summary:before{content:'›';font-size:18px;color:#668074;transition:.16s}.structure-node[open]>summary:before{transform:rotate(90deg)}.structure-node-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#14251c;color:#55df91}.structure-node-title{display:grid;min-width:0;flex:1}.structure-node-title strong{color:#dcebe3}.structure-node-title small{color:#71897c;font-size:9px;margin-top:2px}.structure-node-actions{display:flex;align-items:center;gap:7px}.structure-node-body{padding:0 10px 10px 36px}.structure-children{position:relative;margin-top:7px;padding-left:14px}.structure-children:before{content:'';position:absolute;left:1px;top:0;bottom:8px;width:1px;background:#2a4034}.structure-building{background:#0e1713}.structure-floor{background:#101814}.structure-space{background:#111916}.structure-editor-toggle{margin:6px 0;border:1px dashed #293a31;border-radius:8px;padding:7px 9px}.structure-editor-toggle>summary{cursor:pointer;color:#80988c;font-size:9px}.structure-editor{padding:10px 0 2px}.structure-editor textarea{min-height:70px}.structure-empty-child{width:100%;padding:10px;border:1px dashed #2d4538;border-radius:8px;background:#0a120e;color:#72c996;text-align:left}.structure-node.archived{opacity:.58}.structure-node-actions .tiny{font-size:9px;padding:5px 7px}.danger-zone-inline{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;margin-top:8px}.danger-zone-inline form{display:flex;gap:6px;align-items:flex-end}.danger-zone-inline label{font-size:9px;color:#b89090}.danger-zone-inline input{padding:6px 8px}@media(max-width:760px){.structure-node-actions .status-pill{display:none}.structure-node-actions .tiny{font-size:0}.structure-node-actions .tiny:after{content:'＋';font-size:14px}.structure-node-body{padding-left:18px}.structure-children{padding-left:7px}.structure-node>summary{align-items:flex-start}}

/* ============================================================
   Loki SaaS 5.7.0 · formularios, inventario y soporte
   ============================================================ */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px!important;align-items:start}.form-grid.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid>label{display:grid!important;grid-template-rows:auto minmax(40px,auto);gap:6px!important;margin:0!important;min-width:0;align-self:start}.form-grid .check-row{display:flex!important;min-height:40px;align-items:center;gap:8px}.form-grid input:not([type=checkbox]):not([type=radio]),.form-grid select,.form-grid textarea{width:100%!important;min-width:0!important;max-width:none!important}.form-grid textarea{min-height:92px}.span2,.span-all{grid-column:1/-1!important}.modal form>.form-grid{margin-bottom:14px}
.asset-hero-v55{align-items:end}.asset-location{display:flex;gap:7px;align-items:center;color:#9db1a5;margin-top:8px}.asset-location span{color:var(--green)}.asset-tabs-v55{overflow-x:auto;white-space:nowrap}.asset-summary-layout-v55{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.85fr);gap:14px;align-items:start}.asset-visual-side-v55{position:sticky;top:76px}.asset-model-stage-wide-v55{height:390px!important;min-height:390px}.asset-model-stage-wide-v55 canvas{width:100%!important;height:100%!important}.location-card-v55{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#0c1410;margin-top:10px}.location-card-v55>span{font-size:9px;color:var(--muted);letter-spacing:.1em}.detail-grid-v55{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detail-grid-v55 .span-wide{grid-column:1/-1}.inventory-cards-v55,.network-interface-grid-v55,.resource-grid-v55,.software-grid-v55{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.inventory-detail-card,.network-interface-card,.resource-card-v55,.software-card-v55{border:1px solid #293c32;border-radius:11px;background:#0c1410;padding:13px;min-width:0}.inventory-detail-card>div:first-child,.network-interface-card header{display:flex;justify-content:space-between;gap:10px}.inventory-detail-card span,.resource-card-v55>span{color:var(--green);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.inventory-detail-card strong,.resource-card-v55 strong{display:block;margin-top:4px}.inventory-detail-card dl,.network-interface-card dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 10px;margin:12px 0 0}.inventory-detail-card dt,.network-interface-card dt{color:#789086;font-size:10px}.inventory-detail-card dd,.network-interface-card dd{margin:0;text-align:right;word-break:break-word;color:#dceae2}.partition-list{margin-top:10px;display:grid;gap:5px}.partition-list>div{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #23332b;padding-top:6px;font-size:11px}.partition-list i{font-style:normal}.network-interface-card header span{font-size:10px;color:#91a69a}.resource-card-v55{display:grid;gap:4px}.resource-card-v55 small{word-break:break-all;color:#a2b6ab}.resource-card-v55 em{font-style:normal;font-size:9px;color:#788c81}.software-card-v55{padding:0;overflow:hidden}.software-card-v55>summary{display:flex;justify-content:space-between;gap:12px;padding:13px;cursor:pointer}.software-card-v55>summary div{display:grid;gap:3px}.software-card-v55>summary small{color:var(--muted)}.software-card-v55>.kv-grid{padding:0 13px 13px}.kv-grid.compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kv-grid.compact>div{display:grid;gap:3px;padding:8px;border:1px solid #24352c;border-radius:8px}.kv-grid.compact span{font-size:9px;color:var(--muted);text-transform:uppercase}.kv-grid.compact b,.kv-grid.compact code{word-break:break-word;font-size:11px}.vault-inline-state{padding:9px;border:1px solid #31483c;border-radius:8px;color:#9fb3a8;background:#0d1712;font-size:11px;margin:8px 0 12px}.ticket-asset-list-v55{display:grid;gap:8px}.ticket-asset-v55{border:1px solid #293c32;border-left:4px solid #d49a3b;border-radius:10px;background:#0c1410}.ticket-asset-v55>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;cursor:pointer}.ticket-asset-v55>summary div{display:grid;gap:3px}.ticket-asset-v55>summary small{color:var(--muted)}.ticket-asset-v55.status-resolved,.ticket-asset-v55.status-closed{border-left-color:#38c67a}.ticket-asset-thread{display:grid;gap:7px;padding:12px;border-top:1px solid #24352c}.thread-message{padding:9px;border:1px solid #2a3e33;border-radius:9px}.thread-message b,.thread-message time{font-size:10px}.thread-message time{float:right;color:var(--muted)}.thread-message p{margin:7px 0 0}.license-assignment-row,.maintenance-row-v55{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid #24352c}.license-assignment-row>div,.maintenance-row-v55>div{display:grid;gap:3px}.license-assignment-row small,.maintenance-row-v55 small{color:var(--muted)}.maintenance-policy-v55{display:grid;gap:7px;padding:13px;border:1px solid #31503e;border-radius:10px;background:#0c1912;margin:10px 0}.maintenance-policy-v55 strong{font-size:28px;color:var(--green)}.config-md-v55{min-height:520px}.markdown-preview-v55{min-height:420px;line-height:1.65;padding:18px;border:1px solid #263a30;border-radius:10px;background:#09110d}.markdown-preview-v55 h1,.markdown-preview-v55 h2,.markdown-preview-v55 h3{margin-top:1.2em}.markdown-preview-v55 code{background:#15221b;padding:2px 5px;border-radius:5px}.config-md-v55 .markdown-editor{min-height:520px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.segmented{display:flex;gap:4px}.segmented .active{border-color:var(--green);color:var(--green)}
.license-grid-v55{display:grid;grid-template-columns:repeat(auto-fit,minmax(390px,1fr));gap:14px}.license-card-v55{display:grid;gap:12px}.license-seat{text-align:right}.license-seat strong{font-size:24px;color:var(--green)}.license-seat span{color:var(--muted)}.license-assets summary{cursor:pointer;color:#b9ccc1}.stack-list{margin-top:8px}
.support-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.support-kpi{padding:14px;border:1px solid #293c32;border-radius:12px;background:#0d1511}.support-kpi span,.support-kpi strong,.support-kpi small{display:block}.support-kpi span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}.support-kpi strong{font-size:24px;margin:6px 0}.support-analytics-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.4fr);gap:14px;margin-bottom:14px}.support-chart-canvas{width:100%;height:260px;display:block}.support-heatmap{display:grid;grid-template-columns:repeat(18,12px);gap:4px;align-content:start;padding:10px}.support-heatmap i{width:12px;height:12px;border-radius:2px;background:#17231d}.support-heatmap i.level-1{background:#174c31}.support-heatmap i.level-2{background:#1d7a49}.support-heatmap i.level-3{background:#28b66b}.support-heatmap i.level-4{background:#57eb94}.support-status-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.support-status-filters button.active{border-color:var(--green);color:var(--green)}.support-ticket-accordion{border:1px solid #293c32;border-radius:11px;background:#0d1511;margin-bottom:8px}.support-ticket-accordion>summary{cursor:pointer;padding:12px;display:flex;justify-content:space-between;gap:12px;align-items:center}.support-ticket-accordion>.support-ticket-body{padding:12px;border-top:1px solid #25372e}
#renderCanvas.is-orbiting{cursor:grabbing!important}
@media(max-width:1200px){.form-grid.form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-summary-layout-v55{grid-template-columns:1fr}.asset-visual-side-v55{position:static}.support-analytics-grid{grid-template-columns:1fr}.support-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.form-grid,.form-grid.form-grid-2,.form-grid.form-grid-3,.form-grid.form-grid-4,.detail-grid-v55{grid-template-columns:1fr!important}.asset-model-stage-wide-v55{height:300px!important;min-height:300px}.support-kpis{grid-template-columns:1fr}.license-grid-v55{grid-template-columns:1fr}.license-assignment-row,.maintenance-row-v55{align-items:flex-start;flex-direction:column}}
.support-kpis .metric-card{display:grid;gap:4px;padding:14px;border:1px solid #293c32;border-radius:12px;background:#0d1511}.support-kpis .metric-card small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}.support-kpis .metric-card strong{font-size:25px}.support-kpis .metric-card>span{color:#8fa49a;font-size:11px}.support-kpis .metric-card.danger{border-color:#6a3636;background:#211313}.support-donut-wrap{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,.7fr);gap:14px;align-items:center}.support-donut-wrap canvas{width:100%;height:280px}.support-donut-legend{display:grid;gap:7px}.support-donut-legend span{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:7px;font-size:10px}.support-donut-legend i{width:9px;height:9px;border-radius:50%}.heatmap-scale{display:flex;gap:4px;align-items:center;justify-content:flex-end;color:var(--muted);font-size:9px}.heatmap-scale i{width:11px;height:11px;border-radius:2px;background:#17231d}.heatmap-scale i.level-1{background:#174c31}.heatmap-scale i.level-2{background:#1d7a49}.heatmap-scale i.level-3{background:#28b66b}.heatmap-scale i.level-4{background:#57eb94}.support-trend-panel{grid-column:1/-1}.support-ticket-title{min-width:0}.support-ticket-title h3{margin:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.support-ticket-title small{color:var(--muted)}.support-ticket-stats{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.support-ticket-stats span{display:grid;gap:2px;min-width:92px;padding:6px 8px;border:1px solid #293c32;border-radius:8px;font-size:9px;color:var(--muted)}.support-ticket-stats b{color:#dbe9e1}.support-ticket-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(330px,.7fr);gap:14px}.support-thread{display:grid;gap:8px;max-height:520px;overflow:auto}.support-message{padding:9px 10px;border:1px solid #293c32;border-radius:9px;background:#0a120e}.support-message.from-admin{margin-left:8%;background:#102219}.support-message header{display:flex;justify-content:space-between;gap:10px;font-size:10px}.support-message time{color:var(--muted)}.support-message p{margin:7px 0;line-height:1.5}.support-message>small{color:#73877c}.support-reply-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-top:10px}.support-reply-form textarea{min-height:72px}.support-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.support-edit-form label{display:grid;gap:5px}.support-edit-form input,.support-edit-form select,.support-edit-form textarea{width:100%;min-width:0}.support-create-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}@media(max-width:900px){.support-ticket-grid,.support-donut-wrap{grid-template-columns:1fr}.support-ticket-stats{justify-content:flex-start}.support-reply-form{grid-template-columns:1fr}.support-edit-form{grid-template-columns:1fr}.support-edit-form .span-2{grid-column:1}.support-create-grid{grid-template-columns:1fr!important}}

/* ============================================================
   Loki SaaS 5.7.0 · CAD inspector, zoom, scale calibration
   ============================================================ */
.cad-layout-v55{grid-template-columns:minmax(500px,.92fr) minmax(650px,1.45fr);align-items:start;max-width:none!important;width:100%!important}
.cad-architecture-config{display:grid;gap:10px;margin-bottom:10px}.cad-control-card{border:1px solid #293d33;border-radius:12px;background:#0a130e;padding:13px;min-width:0}.cad-control-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.cad-control-title h3{margin:2px 0 0;font-size:13px}.cad-declared-unit{display:grid;justify-items:end;gap:2px;padding:7px 9px;border:1px solid #31503d;border-radius:9px;background:#0d1a12}.cad-declared-unit small{font-size:8px;color:#70877a;text-transform:uppercase;letter-spacing:.08em}.cad-declared-unit b{font-size:11px;color:#77eca9}.cad-scale-actions{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0}.cad-scale-diagnostic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px}.cad-scale-diagnostic>div{display:grid;gap:4px;padding:9px;border:1px solid #263a30;border-radius:9px;background:#08100c;min-width:0}.cad-scale-diagnostic span{font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#71877b}.cad-scale-diagnostic b{font-size:10px;word-break:break-word;color:#d8e8df}.cad-scale-diagnostic b.warn{color:#ffd06b}.cad-scale-calibration{display:grid;grid-template-columns:minmax(0,1fr) 145px auto;gap:9px;align-items:end;margin-top:10px;padding-top:10px;border-top:1px solid #22342b}.cad-scale-calibration>div{display:grid;gap:3px}.cad-scale-calibration b{font-size:10px}.cad-scale-calibration small{font-size:8px;color:#70877b;line-height:1.45}.cad-scale-calibration label{margin:0!important}.cad-wall-diagnostic{margin-top:10px;padding:10px;border:1px solid #263b30;border-radius:9px;background:#08100c;color:#82978c;font-size:9px}.cad-wall-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.cad-wall-kpis>div{display:grid;gap:3px;padding:7px;border:1px solid #23362c;border-radius:7px}.cad-wall-kpis span{font-size:7px;color:#6f8579;text-transform:uppercase}.cad-wall-kpis b{font-size:12px;color:#dceae2}.cad-wall-diagnostic p{margin:8px 0 0}.cad-wall-diagnostic p.good{color:#65e79a}.cad-wall-diagnostic p.notice{color:#85c9f1}.cad-wall-diagnostic p.warn{color:#ffc85a}.cad-height-preview{display:block;width:100%;height:220px;margin-top:10px;border:1px solid #263a30;border-radius:9px;background:#07100b}.cad-preview-v55{position:sticky;top:72px;height:calc(100dvh - 88px);min-height:650px;padding:0;overflow:hidden;background:#050806}.cad-preview-v55 canvas#cad-preview-canvas{display:block;width:100%;height:100%;min-height:0;touch-action:none;cursor:crosshair}.cad-preview-v55 canvas#cad-preview-canvas.panning{cursor:grabbing!important}.cad-preview-v55 canvas#cad-preview-canvas.measuring-scale{cursor:crosshair!important}.cad-preview-toolbar-v55{align-items:flex-start;pointer-events:none}.cad-preview-badges{display:flex;gap:6px;flex-wrap:wrap;max-width:70%}.cad-preview-controls{display:flex;align-items:center;gap:4px;pointer-events:auto;padding:4px;border:1px solid #26392f;border-radius:9px;background:rgba(6,13,9,.9);backdrop-filter:blur(12px)}.cad-zoom-output{min-width:52px;text-align:center;font-size:9px;color:#a7c0b2}.cad-preview-nav-hint{position:absolute;left:12px;bottom:12px;z-index:4;padding:7px 10px;border:1px solid #294236;border-radius:9px;background:rgba(6,13,9,.88);color:#81998d;font-size:8px;pointer-events:none;backdrop-filter:blur(10px)}.cad-measure-hint{position:absolute;left:50%;bottom:48px;transform:translateX(-50%);z-index:5;padding:8px 12px;border:1px solid rgba(255,212,94,.48);border-radius:99px;background:rgba(42,34,10,.94);color:#ffd45e;font-size:9px;pointer-events:none}.layer-mapping{max-height:480px}.layer-row{grid-template-columns:minmax(0,1fr) minmax(175px,210px) 120px auto}.layer-row.focused{border-color:#52df8f;box-shadow:inset 3px 0 #52df8f;background:#0d1b13}.layer-info{display:grid;gap:3px;min-width:0}.layer-detection{display:block!important;color:#759084!important;white-space:normal!important;line-height:1.35}.layer-detection.good{color:#59dd91!important}.layer-detection.warn{color:#ffc75c!important}.layer-focus{white-space:nowrap}.cad-summary{grid-template-columns:repeat(4,1fr)}
@media(min-width:1900px){.cad-layout-v55{grid-template-columns:minmax(620px,.88fr) minmax(900px,1.55fr)}.cad-preview-v55{min-height:780px}.cad-height-preview{height:250px}}
@media(max-width:1400px){.cad-layout-v55{grid-template-columns:minmax(440px,.9fr) minmax(560px,1.2fr)}.cad-scale-diagnostic{grid-template-columns:repeat(2,minmax(0,1fr))}.layer-row{grid-template-columns:minmax(0,1fr) 175px auto}.layer-suggest{display:none}}
@media(max-width:1100px){.cad-layout-v55{grid-template-columns:1fr}.cad-preview-v55{position:relative;top:auto;height:70dvh;min-height:540px}.cad-scale-calibration{grid-template-columns:1fr 150px auto}}
@media(max-width:760px){.cad-scale-diagnostic,.cad-wall-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cad-scale-calibration{grid-template-columns:1fr}.cad-scale-calibration label{width:100%}.layer-row{grid-template-columns:1fr}.cad-preview-badges{max-width:100%}.cad-preview-toolbar-v55{display:grid;gap:6px}.cad-preview-controls{justify-self:end}}

/* ============================================================
   Loki SaaS 5.7.0 · navegación, gizmos 2D, CAD persistente, Vault
   ============================================================ */
.asset-move-gizmo{pointer-events:none}.asset-move-gizmo .gizmo-axis{stroke-width:.055;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px rgba(0,0,0,.7))}.asset-move-gizmo .gizmo-x{stroke:#ff626c}.asset-move-gizmo .gizmo-y{stroke:#63d8ff}.asset-move-gizmo .gizmo-center,.asset-move-gizmo .gizmo-handle{pointer-events:all;cursor:grab;stroke:#07100b;stroke-width:.035;vector-effect:non-scaling-stroke}.asset-move-gizmo .gizmo-center{fill:#f2f8f4}.asset-move-gizmo .gizmo-x-handle{fill:#ff626c}.asset-move-gizmo .gizmo-y-handle{fill:#63d8ff}.asset-move-gizmo .gizmo-center:active,.asset-move-gizmo .gizmo-handle:active{cursor:grabbing}
.twin-toolbar .zoom-speed-control input[data-3d-move-speed],.twin-toolbar .zoom-speed-control input[data-floor-move-speed]{width:86px}.twin-canvas-stage.is-panning,.twin-canvas-stage canvas.is-panning,#renderCanvas.is-panning{cursor:grabbing!important}
.cad-file-config-status{font-size:10px;color:#7f968a;display:inline-flex;align-items:center;padding:4px 7px;border:1px solid #263b31;border-radius:999px}.cad-file-config-status.saved{color:#6cf0a5;border-color:rgba(68,220,132,.35)}.cad-file-config-status.warn{color:#ffd06b;border-color:rgba(255,208,107,.35)}
.vault-url{display:block;margin-top:4px;max-width:680px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#77d9ff;text-decoration:none}.vault-url:hover{text-decoration:underline}

/* ============================================================
   Loki SaaS 5.7.0 · enlaces persistentes y flujos visuales
   ============================================================ */
.floor-link-base{fill:none!important;vector-effect:non-scaling-stroke;opacity:.92;filter:drop-shadow(0 0 2px rgba(89,255,160,.46));animation:none!important}
.floor-cable.floor-link-base{stroke:#32f08b!important;stroke-width:.12!important;stroke-dasharray:none!important}
.floor-connection.floor-link-base{stroke:#ae86ff!important;stroke-width:.105!important;stroke-dasharray:none!important}
.floor-connection.floor-link-base.wifi{stroke:#59b5ff!important;filter:drop-shadow(0 0 2px rgba(89,181,255,.58))}
.floor-link-flow{fill:none;vector-effect:non-scaling-stroke;pointer-events:none;stroke-linecap:round;stroke-width:.075;stroke-dasharray:.16 .25;opacity:var(--flow-strength,.9);animation:floorInformationFlow var(--flow-duration,.75s) linear infinite;animation-direction:var(--flow-direction,normal)}
.floor-link-flow.cable-flow{stroke:#e9fff2;filter:drop-shadow(0 0 2px rgba(98,255,164,.9))}
.floor-link-flow.connection-flow{stroke:#f2eaff;filter:drop-shadow(0 0 2px rgba(182,137,255,.9))}
.floor-link-flow.connection-flow.wifi{stroke:#e7f6ff;filter:drop-shadow(0 0 2px rgba(91,190,255,.95))}
.floor-link-flow.reverse-flow{opacity:.58;stroke-dasharray:.08 .31;animation-delay:-.19s}
.floor-cable.selected-floor,.floor-connection.selected-floor{stroke:#ffe27b!important;stroke-width:.17!important;filter:drop-shadow(0 0 4px rgba(255,226,123,.9))}
.connection-label,.cable-label{font-weight:800!important;filter:drop-shadow(0 0 2px rgba(0,0,0,.9))}
@keyframes floorInformationFlow{to{stroke-dashoffset:-1.6}}
.network-route-list-v562{display:grid;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid #294035}.network-route-list-v562>span{font-size:9px;letter-spacing:.09em;color:#7fa08f}.network-route-list-v562>small{color:#748d80}.network-route-point-v562{display:grid;gap:2px;text-align:left;padding:8px 9px;border:1px solid #2d4739;border-radius:8px;background:#0a1510;color:#eafff0;cursor:pointer}.network-route-point-v562:hover{border-color:#4ef19a;background:#0f2017}.network-route-point-v562 small{color:#8fa79a}

/* ============================================================
   Loki SaaS 5.7.0 · señalización visual, snapping y navegación FPS
   ============================================================ */
#renderCanvas.fps-navigation{cursor:crosshair!important}#renderCanvas.fps-locked{cursor:none!important}[data-fps-toggle].active{border-color:#5df1a0!important;color:#83f7b5!important;box-shadow:0 0 0 1px rgba(78,241,154,.18),0 0 18px rgba(78,241,154,.12)}
.floor-assets{isolation:isolate}.floor-asset{filter:drop-shadow(0 0 4px rgba(65,255,152,.28));transition:filter .16s ease}.floor-asset:hover,.floor-asset.selected-floor{filter:drop-shadow(0 0 8px rgba(92,255,169,.8))}.floor-asset .asset-halo{fill:rgba(17,255,128,.075);stroke:#6dffad;stroke-width:.085;vector-effect:non-scaling-stroke;pointer-events:none}.floor-asset .asset-pulse{fill:none;stroke:#9effc8;stroke-width:.065;vector-effect:non-scaling-stroke;pointer-events:none;transform-box:fill-box;transform-origin:center;animation:assetSignalPulse 1.8s ease-out infinite}.floor-asset .asset-shape{stroke-width:.11!important;filter:drop-shadow(0 0 3px rgba(185,255,215,.75))}.floor-asset .asset-beacon-dot{stroke:#effff5;stroke-width:.035;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px rgba(106,255,168,.9));pointer-events:none;animation:assetBeaconBlink 1.15s ease-in-out infinite}.floor-asset .asset-code{font-weight:900!important;font-size:.31px!important;stroke-width:.065!important}.floor-asset.is-wireless .asset-halo{stroke:#58baff;fill:rgba(60,164,255,.085)}.floor-asset.has-support .asset-halo{stroke:#ff786f;fill:rgba(255,72,72,.1)}
.floor-link-base{opacity:1!important}.floor-cable.floor-link-base{stroke-width:.155!important;filter:drop-shadow(0 0 4px rgba(48,255,139,.88))}.floor-connection.floor-link-base{stroke-width:.14!important;filter:drop-shadow(0 0 4px rgba(174,134,255,.85))}.floor-connection.floor-link-base.wifi{stroke-width:.15!important;filter:drop-shadow(0 0 5px rgba(72,181,255,.95))}.floor-link-flow{stroke-width:.095!important;filter:drop-shadow(0 0 3px currentColor)}.connection-hit-area{stroke-width:.6!important;opacity:.001;pointer-events:stroke}.connection-label,.cable-label{font-size:.29px!important;fill:#f4fff8!important;stroke:#06110b!important;stroke-width:.06!important;paint-order:stroke;pointer-events:auto!important;cursor:pointer}
.wifi-range-ring{stroke:#63c7ff!important;stroke-width:.085!important;filter:drop-shadow(0 0 4px rgba(80,189,255,.86));animation:wifiPulseV563 2.4s cubic-bezier(.2,.7,.2,1) infinite!important}.wifi-emitter-core{fill:#7ad6ff;stroke:#e9f9ff;stroke-width:.04;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 6px rgba(86,202,255,.95));animation:wifiCorePulse 1.1s ease-in-out infinite}
.floor-snap{pointer-events:none}.snap-target-ring{fill:rgba(255,220,90,.12);stroke:#ffe56b;stroke-width:.09;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px rgba(255,226,92,.9))}.snap-target-cross{stroke:#ffe56b;stroke-width:.07;vector-effect:non-scaling-stroke;stroke-dasharray:.08 .05}
@keyframes assetSignalPulse{0%{opacity:.9;transform:scale(.72)}72%{opacity:.2}100%{opacity:0;transform:scale(1.45)}}@keyframes assetBeaconBlink{0%,100%{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}@keyframes wifiPulseV563{0%{opacity:.7;transform:scale(.05)}72%{opacity:.18}100%{opacity:0;transform:scale(1)}}@keyframes wifiCorePulse{0%,100%{opacity:.65}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.floor-asset .asset-pulse,.floor-asset .asset-beacon-dot,.wifi-range-ring,.wifi-emitter-core,.floor-link-flow{animation-duration:6s!important}}
.network-legend{display:inline-flex!important;align-items:center;gap:5px}.network-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:4px;box-shadow:0 0 6px currentColor}.network-legend .legend-asset{background:#64ffad;color:#64ffad}.network-legend .legend-cable{background:#32f08b;color:#32f08b}.network-legend .legend-logical{background:#ae86ff;color:#ae86ff}.network-legend .legend-wifi{background:#59b5ff;color:#59b5ff}

/* ============================================================
   Loki SaaS 5.7.0 · Agent inventory audit
   ============================================================ */
.agent-detail-head{align-items:flex-end}.agent-audit-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.agent-audit-kpis article{display:grid;gap:4px;padding:13px;border:1px solid #294036;border-radius:11px;background:#0c1511;min-width:0}.agent-audit-kpis span{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#789084}.agent-audit-kpis strong{font-size:14px;overflow:hidden;text-overflow:ellipsis}.agent-audit-kpis small{font-size:9px;color:#789084;overflow-wrap:anywhere}.agent-detail-tabs{margin-bottom:12px;flex-wrap:wrap}.agent-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.agent-admin-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));padding:9px}.agent-admin-grid>div{min-width:0;padding:9px;border:1px solid #273b31;border-radius:8px;background:#09110d}.agent-admin-grid span,.agent-admin-grid strong{display:block}.agent-admin-grid span{font-size:8px;color:#72887c;text-transform:uppercase;letter-spacing:.075em}.agent-admin-grid strong{margin-top:4px;font-size:11px;overflow-wrap:anywhere;white-space:pre-wrap}.agent-admin-grid details{margin-top:6px}.agent-admin-grid details summary{font-size:8px;color:#5fd591;cursor:pointer}.agent-admin-grid pre{max-height:220px;overflow:auto;padding:8px;border-radius:6px;background:#050a07;color:#abc2b5;font:9px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap}.agent-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.agent-record{border:1px solid #293f34;border-radius:9px;background:#0a120e;overflow:hidden}.agent-record>summary{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px;cursor:pointer;list-style:none}.agent-record>summary::-webkit-details-marker{display:none}.agent-record>summary>div{min-width:0}.agent-record>summary strong,.agent-record>summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-record>summary small{margin-top:3px;color:#7b9185;font-size:8px}.agent-record>summary>span{font-size:8px;color:#60d794;white-space:nowrap}.agent-record[open]>summary{background:#102018;border-bottom:1px solid #293f34}.agent-data-section{display:grid;gap:7px;margin-top:14px}.agent-data-section:first-child{margin-top:0}.agent-data-section>span{font-size:9px;font-weight:800;letter-spacing:.09em;color:#64db99;text-transform:uppercase}.agent-pipeline-table{display:grid;gap:1px;margin-top:10px;background:#24362d;border:1px solid #2c4137;border-radius:8px;overflow:hidden}.agent-pipeline-table>div{display:grid;grid-template-columns:1fr 110px 110px;gap:1px}.agent-pipeline-table span,.agent-pipeline-table b{padding:8px;background:#09110d;font-size:9px}.agent-pipeline-table>div:first-child b{background:#122018;color:#6dda9b}.agent-raw-json{max-height:72vh;overflow:auto;padding:14px;border:1px solid #293e34;border-radius:10px;background:#050a07;color:#b5cdc0;font:10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.agent-more{display:block;margin:10px auto}.agent-card-actions{display:flex;gap:7px;margin:10px 0}.agent-snapshot-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.agent-snapshot-summary>div{display:grid;gap:3px;padding:10px;border:1px solid #2a4035;border-radius:9px;background:#09110d;min-width:0}.agent-snapshot-summary span{font-size:8px;color:#738a7e;text-transform:uppercase}.agent-snapshot-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-snapshot-summary small{color:#7f9589}.admin-filter{width:100%;box-sizing:border-box;margin-bottom:10px}
@media(max-width:1100px){.agent-audit-kpis,.agent-snapshot-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-record-grid{grid-template-columns:1fr}}@media(max-width:700px){.agent-audit-kpis,.agent-snapshot-summary,.agent-admin-grid,.agent-admin-grid.compact{grid-template-columns:1fr}.agent-pipeline-table>div{grid-template-columns:1fr 70px 70px}}

/* Loki SaaS 5.7.0 · metadatos completos normalizados */
.agent-properties-detail{margin-top:9px;border-top:1px solid #263a30;padding-top:7px}.agent-properties-detail summary{cursor:pointer;color:#75dda2;font-size:10px;font-weight:700}.agent-properties-detail pre{max-height:360px;overflow:auto;margin:8px 0 0;padding:10px;border:1px solid #24372e;border-radius:8px;background:#07100b;color:#b8cec2;font:10px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;word-break:break-word}

/* ============================================================
   Loki SaaS 5.7.0 · prevención, TPM y alineación 3D XYZ
   ============================================================ */
.floor-align-live{display:flex;align-items:end;gap:5px;flex-wrap:wrap;padding:4px 6px;border:1px solid #294036;border-radius:10px;background:#09120d}.floor-align-live label{display:grid;gap:2px;margin:0!important;font-size:8px;color:#7f988a}.floor-align-live select{max-width:145px}.floor-align-live input{width:72px}.floor-align-live small{align-self:center;max-width:120px;color:#6f8c7c;font-size:8px;line-height:1.2}
.preventive-summary-v566{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.preventive-kpi{position:relative;display:grid;gap:4px;padding:13px;border:1px solid #2a4035;border-radius:12px;background:#09130e;overflow:hidden}.preventive-kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#6f8f7e}.preventive-kpi span{font-size:8px;letter-spacing:.09em;color:#738d7e}.preventive-kpi strong{font-size:12px}.preventive-kpi b{font-size:18px}.preventive-kpi small{color:#7f9589}.preventive-kpi.overdue:before,.planning-bucket.overdue:before{background:#ff666f}.preventive-kpi.urgent:before,.planning-bucket.urgent:before{background:#ff9c5a}.preventive-kpi.this_month:before,.planning-bucket.this_month:before{background:#ffd45f}.preventive-kpi.three_months:before{background:#8ed7ff}.preventive-kpi.six_months:before,.preventive-kpi.one_year:before,.preventive-kpi.multi_year:before{background:#77e8a7}.life-progress{height:5px;border-radius:99px;background:#17261e;overflow:hidden}.life-progress i{display:block;height:100%;background:linear-gradient(90deg,#5fe79a,#e6cd5f,#ff766e);border-radius:inherit}
.license-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.license-kpi-grid>div{display:grid;gap:3px;padding:10px;border:1px solid #273d32;border-radius:9px;background:#08110c}.license-kpi-grid span{font-size:8px;color:#769083;text-transform:uppercase}.license-kpi-grid b{font-size:18px}.license-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}.license-detail-card{position:relative;border:1px solid #2b4236;border-radius:12px;background:#09130e;padding:12px;overflow:hidden}.license-detail-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#70d99b}.license-detail-card.overdue:before{background:#ff5d69}.license-detail-card.urgent:before{background:#ff9554}.license-detail-card.this_month:before{background:#ffd45e}.license-detail-card header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}.license-detail-card header span{font-size:8px;color:#799285}.license-detail-card h3{margin:2px 0;font-size:13px}.license-detail-card dl{display:grid;grid-template-columns:115px minmax(0,1fr);gap:4px 8px;margin:0 0 10px}.license-detail-card dt{font-size:8px;color:#71897d;text-transform:uppercase}.license-detail-card dd{margin:0;font-size:9px;overflow-wrap:anywhere}.countdown-badge{display:inline-flex;padding:5px 8px;border-radius:99px;border:1px solid #345342;background:#102118;color:#8ef0b2;font-size:9px;white-space:nowrap}.countdown-badge.overdue{border-color:#7c3038;background:#2a1115;color:#ff858d}.countdown-badge.urgent{border-color:#77502d;background:#25180e;color:#ffb676}.countdown-badge.this_month{border-color:#665b2a;color:#ffe77e}
.maintenance-alert-v566{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:10px;padding:13px 15px;border:1px solid #2f4b3c;border-radius:12px;background:#0a1510}.maintenance-alert-v566>div{display:grid;gap:3px}.maintenance-alert-v566 span{font-size:8px;color:#769083;letter-spacing:.09em}.maintenance-alert-v566 strong{font-size:18px}.maintenance-alert-v566.overdue{border-color:#77333a;background:#211013}.maintenance-alert-v566.urgent{border-color:#72502e;background:#1c140d}.preventive-empty-alert{padding:12px;border:1px dashed #79503a;border-radius:9px;background:#1d130e;color:#f3ba80}
.tpm-overview-v566{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}.tpm-overview-v566 article{display:grid;gap:4px;padding:12px;border:1px solid #294036;border-radius:11px;background:#09130e}.tpm-overview-v566 span{font-size:8px;color:#738d7e;text-transform:uppercase}.tpm-overview-v566 strong{font-size:20px}.tpm-overview-v566 small{color:#7f9689}.lifecycle-timeline-v566{display:grid;gap:7px}.lifecycle-event{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;border:1px solid #293f34;border-radius:9px;background:#09120d}.lifecycle-event time{font-size:9px;color:#83a090}.lifecycle-event>div{display:grid;gap:2px}.lifecycle-event span{font-size:8px;color:#758f81}.lifecycle-event small{color:#81988c}.lifecycle-event>b{font-size:8px;padding:4px 7px;border-radius:99px;border:1px solid #345342}.lifecycle-event.planned{border-left:3px solid #7ed9ff}.lifecycle-event.open{border-left:3px solid #ffd45e}.lifecycle-event.completed{border-left:3px solid #6ce8a0}
.preventive-dashboard-v566{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,2fr);gap:10px;margin:12px 0}.preventive-next-v566{position:relative;display:grid;gap:4px;padding:14px;border:1px solid #2d4639;border-radius:13px;background:#09140e;overflow:hidden}.preventive-next-v566:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#69e49c}.preventive-next-v566.overdue:before{background:#ff626d}.preventive-next-v566.urgent:before{background:#ff9d58}.preventive-next-v566 span{font-size:8px;color:#789183;letter-spacing:.1em}.preventive-next-v566 strong{font-size:13px}.preventive-next-v566 h2{font-size:24px;margin:2px 0}.preventive-next-v566 a{font-size:9px;color:#9ad7b4}.preventive-horizons-v566{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:7px}.planning-bucket{position:relative;display:grid;gap:4px;padding:11px;border:1px solid #293f34;border-radius:10px;background:#09130e;text-decoration:none;color:inherit;overflow:hidden}.planning-bucket:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#6ee29b}.planning-bucket span{font-size:8px;color:#789184}.planning-bucket strong{font-size:20px}.preventive-roadmap-v566{margin-top:10px}.planning-columns-v566{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:8px;overflow-x:auto;padding-bottom:6px}.planning-column{min-width:180px;border:1px solid #273d32;border-radius:10px;background:#07100b;overflow:hidden}.planning-column>header{display:flex;justify-content:space-between;gap:8px;padding:9px;background:#0c1811;border-bottom:1px solid #263c31}.planning-column>header span{font-size:8px;color:#86a294}.planning-column>header b{font-size:13px}.planning-event{display:block;padding:9px;border-bottom:1px solid #1e3027;text-decoration:none;color:inherit}.planning-event:hover{background:#0d1b13}.planning-event>div{display:flex;justify-content:space-between;gap:6px}.planning-event strong{font-size:9px}.planning-event span{font-size:7px;color:#78a98b}.planning-event p{margin:4px 0;font-size:9px}.planning-event small{color:#768f82}.planning-empty{padding:12px;color:#597064;font-size:9px}
@media(max-width:1500px){.preventive-summary-v566,.tpm-overview-v566{grid-template-columns:repeat(2,minmax(0,1fr))}.preventive-horizons-v566{grid-template-columns:repeat(4,minmax(90px,1fr))}}
@media(max-width:900px){.preventive-summary-v566,.tpm-overview-v566,.preventive-dashboard-v566{grid-template-columns:1fr}.preventive-horizons-v566{grid-template-columns:repeat(2,minmax(0,1fr))}.license-detail-grid{grid-template-columns:1fr}.lifecycle-event{grid-template-columns:1fr}.floor-align-live{width:100%}}
.lifecycle-event-actions{display:grid;gap:5px;justify-items:end}.lifecycle-event-actions>b{font-size:8px;padding:4px 7px;border-radius:99px;border:1px solid #345342}

/* ============================================================
   Loki SaaS 5.7.0 · Vault empresarial compartido
   ============================================================ */
.vault57-head{align-items:flex-end}.vault57-status-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:10px}.vault57-status-grid article{display:grid;gap:3px;padding:12px;border:1px solid #294036;border-radius:11px;background:#09130e;min-width:0}.vault57-status-grid span{font-size:8px;color:#789084;letter-spacing:.08em}.vault57-status-grid strong{font-size:16px;overflow:hidden;text-overflow:ellipsis}.vault57-status-grid small{color:#71887c;font-size:8px}.vault57-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}.vault57-toolbar input[type=search]{min-width:260px;flex:1}.vault57-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:10px}.vault57-card{display:grid;gap:10px;padding:12px;border:1px solid #2b4036;border-radius:12px;background:#09120d}.vault57-card header{display:flex;justify-content:space-between;gap:10px}.vault57-card header span,.vault57-card header small{display:block;color:#7a9185;font-size:8px}.vault57-card h3{margin:3px 0;font-size:13px}.vault57-card header>b{font-size:10px;color:#69dd98}.vault57-card-links,.vault57-card-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.vault57-card-links span{font-size:8px;padding:4px 6px;border:1px solid #294036;border-radius:99px;color:#7f988a}.vault57-card-actions{justify-content:flex-end}.vault57-card.trashed{opacity:.72;border-style:dashed}.vault57-modal{max-width:min(1120px,94vw)}.vault57-modal.wide{width:min(1120px,94vw)}.vault57-form-actions{display:flex;justify-content:flex-end;margin-top:10px}.password-field-v57{position:relative}.password-field-v57>.btn{margin-top:5px;justify-self:start}.generator-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0}.generator-checks label{display:flex;gap:6px;align-items:center}.generator-result{display:flex;gap:7px;align-items:center}.generator-result input{flex:1;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.password-generator-inline{margin-top:6px}.vault57-secret-table{display:grid;gap:6px}.vault57-secret-row{display:grid;grid-template-columns:150px minmax(0,1fr) auto auto;gap:7px;align-items:center;padding:8px;border:1px solid #283d32;border-radius:8px;background:#08100c}.vault57-secret-row>span{font-size:8px;color:#779083;text-transform:uppercase}.vault57-secret-row code{white-space:pre-wrap;overflow-wrap:anywhere;color:#dcebe3}.vault57-detail-actions{display:flex;gap:8px;margin:12px 0}.vault57-links,.vault57-versions,.vault57-members{display:grid;gap:6px}.vault57-link-row,.vault57-version,.vault57-members>div{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px;border:1px solid #2a4035;border-radius:8px;background:#09120d}.vault57-link-row span,.vault57-members span span{display:grid;gap:2px}.vault57-link-row small,.vault57-members small small{color:#7b9185}.vault57-version{display:grid;grid-template-columns:180px minmax(0,1fr) auto}.vault57-target-search{display:grid;gap:7px;margin-top:8px}.vault57-target-search [data-target-results]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.vault57-target{display:grid;gap:2px;text-align:left;padding:8px;border:1px solid #2b4437;border-radius:8px;background:#0b1610;color:#dcebe3;cursor:pointer}.vault57-target b{font-size:8px;color:#71dda0}.vault57-target span{font-size:9px}.vault-asset-grid-v57{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}.vault-asset-card-v57{position:relative;display:grid;gap:4px;padding:11px;border:1px solid #2a4135;border-radius:10px;background:#09130e;text-decoration:none;color:inherit}.vault-asset-card-v57:hover{border-color:#4a8d68;background:#0d1a13}.vault-asset-card-v57 span,.vault-asset-card-v57 small{font-size:8px;color:#789184}.vault-asset-card-v57>b{position:absolute;top:9px;right:9px;color:#68dd99;font-size:9px}.vault57-lock-banner{margin-bottom:8px}
@media(max-width:1100px){.vault57-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vault57-secret-row{grid-template-columns:120px minmax(0,1fr) auto}.vault57-secret-row>[data-reveal-key]{grid-column:3}.vault57-version{grid-template-columns:1fr}.vault57-target-search [data-target-results]{grid-template-columns:1fr}}
@media(max-width:700px){.vault57-status-grid{grid-template-columns:1fr 1fr}.generator-checks{grid-template-columns:1fr}.vault57-secret-row{grid-template-columns:1fr}.vault57-secret-row>.btn{justify-self:start}.vault57-members>div,.vault57-link-row{align-items:flex-start;flex-direction:column}}
.vault57-custom-wrap{padding:10px;border:1px solid #293f34;border-radius:10px;background:#08110c}.vault57-custom-fields{display:grid;gap:7px}.vault57-custom-row{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(180px,1.5fr) auto;gap:7px;align-items:center}.vault57-custom-row input{min-width:0}
@media(max-width:700px){.vault57-custom-row{grid-template-columns:1fr}.vault57-custom-row button{justify-self:start}}

/* ============================================================
   Loki SaaS 6.1.0 · Identidad organizativa, Alias y atención
   ============================================================ */
.asset-hero-alias{display:flex;align-items:center;gap:8px;margin:8px 0;color:var(--muted)}
.asset-hero-alias span{font-size:9px;letter-spacing:.12em}.asset-hero-alias strong,.asset-alias{color:#f0d58d}
.asset-organization-identity{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:7px 0}
.department-chip,.person-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid #31493d;border-radius:999px;padding:4px 8px;font-size:9px;line-height:1.2;background:#111b16;color:#c9d9d0}
.department-chip{border-color:#315374;background:#101b26;color:#b9d9f4}.person-chip{border-color:#3c513f;background:#121b14;color:#cfe1c9}
.asset-action-menu{position:absolute;right:0;top:100%;min-width:260px;z-index:80;background:#0d1511;border:1px solid #314238;border-radius:12px;padding:8px;box-shadow:0 18px 50px rgba(0,0,0,.4)}
.asset-action-menu[hidden]{display:none!important}.action-cell{position:relative}.asset-action-menu a,.asset-action-menu button{display:flex;width:100%;text-align:left;align-items:center;gap:7px;padding:8px 9px;border-radius:8px;color:inherit;background:transparent;border:0;text-decoration:none}.asset-action-menu a:hover,.asset-action-menu button:hover{background:#17241d}
.related-filter-bar,.support-live-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px}.related-filter-bar input,.support-live-filters input,.support-live-filters select{min-width:240px;flex:1}
.cable-endpoints-v571{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);gap:9px;align-items:center}.cable-endpoints-v571 a{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:inherit}.cable-endpoints-v571 small{color:var(--muted)}
.support-attention-tabs{display:flex;gap:8px;margin-bottom:12px}.support-attention-tabs button.active{border-color:#5f89a9;background:#152532}.support-ticket-v542.attention-active{box-shadow:0 0 0 1px rgba(229,164,63,.13),0 10px 34px rgba(0,0,0,.14)}.support-ticket-v542.status-in_progress{border-left-color:#4c9bd3}.support-ticket-v542.status-waiting{border-left-color:#e5a43f}
.status-pill.open,.status-pill.waiting,.status-pill.pending{border-color:#9f6d25;color:#f0bd68;background:#261d10}.status-pill.in_progress,.status-pill.running,.status-pill.online{border-color:#376a91;color:#8fc8f1;background:#10202d}.status-pill.resolved,.status-pill.completed,.status-pill.healthy{border-color:#34734f;color:#90d6aa;background:#10251a}.status-pill.closed,.status-pill.inactive,.status-pill.unknown{border-color:#4b5550;color:#a8b2ad;background:#171b19}.status-pill.critical,.status-pill.overdue,.status-pill.failed{border-color:#8c3d40;color:#f09498;background:#2a1214}
.organization-layout-v571{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.4fr);gap:14px}.organization-list-v571{display:grid;gap:8px}.organization-card-v571{padding:12px;border:1px solid var(--line);border-radius:11px;background:#0f1713}
@media(max-width:900px){.organization-layout-v571{grid-template-columns:1fr}.cable-endpoints-v571{grid-template-columns:1fr}.cable-endpoints-v571>span{display:none}.asset-action-menu{position:fixed;left:12px;right:12px;top:auto;bottom:12px}}

/* ============================================================
   Loki SaaS 6.1.2 · UX de Aseguramiento
   ============================================================ */
.assurance-page-head{align-items:flex-end}.assurance-page-head h1,.assurance-audit-head h1{max-width:880px}.assurance-how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}.assurance-how article{display:flex;gap:11px;align-items:flex-start;padding:13px 14px;border:1px solid #263a30;border-radius:12px;background:linear-gradient(145deg,#0e1712,#0a110d)}.assurance-how article>span{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:9px;background:#113222;border:1px solid #266848;color:#8cf7a9;font-size:11px;font-weight:900}.assurance-how article div{display:grid;gap:3px}.assurance-how strong{font-size:11px}.assurance-how small{font-size:9px;line-height:1.45;color:#82998d}.assurance-how.compact{margin-top:12px}.assurance-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}.assurance-summary-card{position:relative;display:grid;gap:3px;padding:14px 15px;border:1px solid #32483b;border-radius:13px;background:#0d1711;text-decoration:none;transition:.18s}.assurance-summary-card:hover{transform:translateY(-1px);border-color:#537461;background:#101d16}.assurance-summary-card small{font-size:8px;letter-spacing:.11em;color:#82978c}.assurance-summary-card strong{font-size:27px;line-height:1.1}.assurance-summary-card span{font-size:9px;color:#82978c}.assurance-summary-card.critical{border-color:#713b3d;background:#211114}.assurance-summary-card.critical strong{color:#f09498}.assurance-summary-card.healthy{border-color:#2b6546;background:#0d2117}.assurance-summary-card.healthy strong{color:#8fdfad}.assurance-search{display:flex;gap:8px;align-items:flex-end;margin-bottom:12px;padding:12px}.assurance-search label{display:grid;gap:6px;flex:1;font-size:9px;font-weight:800;color:#9bb1a5}.assurance-search input{width:100%;border:1px solid #314138;border-radius:9px;background:#0a110e;color:#ecf5ef;padding:11px 12px;outline:none}.assurance-search input:focus{border-color:#299565;box-shadow:0 0 0 3px rgba(53,229,139,.08)}.assurance-tabs{position:sticky;top:62px;z-index:24;padding:7px;background:rgba(10,14,12,.9);backdrop-filter:blur(16px);border:1px solid #233128;border-radius:11px;margin-bottom:12px}.assurance-tabs .tab-count{display:inline-grid;place-items:center;min-width:20px;height:18px;padding:0 5px;border-radius:99px;background:#1c2a22;color:#a9beb2;font-size:8px}.assurance-tabs button.active .tab-count{background:#183a29;color:#90eab1}.assurance-section-head{margin-bottom:10px}.assurance-section-head .panel-title{margin-bottom:0}.assurance-section-head p{max-width:800px}.assurance-work-list{display:grid;gap:8px}.assurance-work-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) minmax(120px,.7fr) auto;gap:12px;align-items:center;padding:12px 13px;border:1px solid #34473d;border-left:3px solid #d29a3f;border-radius:11px;background:#0e1712}.assurance-work-row:hover{background:#122019;border-color:#4d6859}.assurance-work-row.critical{border-left-color:#ef5b59;background:#1a1112}.assurance-work-entity,.assurance-work-protocol,.assurance-work-state{display:grid;gap:3px;min-width:0}.assurance-work-entity strong,.assurance-work-protocol span{overflow:hidden;text-overflow:ellipsis}.assurance-work-row small{font-size:8px;color:#81968b}.assurance-work-state{justify-items:start}.assurance-row-action{font-size:9px;font-weight:800;color:#8fe1ae}.assurance-empty-state{display:flex;align-items:center;justify-content:center;gap:13px;min-height:125px;padding:22px;border:1px dashed #34483d;border-radius:12px;background:#0b120e;color:#9bb1a5}.assurance-empty-state>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#10251a;color:#82dfa6;font-weight:900}.assurance-empty-state h3{margin:0 0 4px;color:#dce9e2;font-size:13px}.assurance-empty-state p{margin:0;max-width:640px;font-size:10px;line-height:1.55}.assurance-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:10px}.assurance-entity-card{display:grid;gap:10px;padding:13px;border:1px solid #2d4036;border-radius:12px;background:#0d1511;min-width:0}.assurance-entity-card.attention{border-left:3px solid #dc9d3f;background:#12160f}.assurance-entity-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.assurance-entity-card h3{margin:3px 0 2px;font-size:18px}.assurance-entity-card p{margin:0;color:#8da096;font-size:10px}.assurance-identity-line{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.alias-chip,.auto-note{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 8px;font-size:8px}.alias-chip{border:1px solid #6e5a2e;background:#211b0f;color:#f0d58d}.auto-note{border:1px solid #2b6546;background:#0d2117;color:#8fdfad}.assurance-card-actions{display:flex;gap:7px;margin-top:auto}.assurance-card-actions .btn.primary{flex:1}.assurance-subject-meta{display:grid;gap:5px}.assurance-subject-meta>span{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid #1f2d26;color:#80958a;font-size:9px}.assurance-subject-meta>span:last-child{border-bottom:0}.assurance-subject-meta strong{color:#d2e1d8}.assurance-table .table-sub{display:block;margin-top:3px;color:#768b80;font-size:8px}.assurance-table tr.row-attention td:first-child{border-left:3px solid #dc9d3f}.assurance-entity-hero{margin-bottom:12px}.assurance-mini-summary{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.assurance-mini-summary span{padding:5px 7px;border:1px solid #2b4035;border-radius:8px;background:#0c1510;color:#83998d;font-size:8px}.assurance-mini-summary b{color:#e1eee7}.assurance-protocol-list{display:grid;gap:8px}.assurance-protocol-row{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(130px,.65fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #2d4036;border-radius:11px;background:#0c1510}.assurance-protocol-row.state-active,.assurance-protocol-row.state-due,.assurance-protocol-row.state-findings{border-left:3px solid #db9c3f}.assurance-protocol-row.state-active{border-left-color:#5a8ef5}.assurance-protocol-row.state-findings{border-left-color:#ef5b59}.assurance-protocol-copy{display:grid;gap:3px}.assurance-protocol-copy h3{margin:0;font-size:12px}.assurance-protocol-copy small,.assurance-protocol-copy p{margin:0;font-size:8px;color:#7d9287}.assurance-protocol-state{display:grid;gap:4px;justify-items:start}.assurance-protocol-state small{font-size:8px;color:#7d9287}.assurance-protocol-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.assurance-history-list{display:grid;gap:6px}.assurance-history-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;border:1px solid #26392f;border-radius:9px;background:#0b130f}.assurance-history-row:hover{border-color:#456253;background:#101b15}.assurance-history-row>span:first-child{display:grid;gap:3px}.assurance-history-row small{color:#7d9287;font-size:8px}.assurance-data-panel .auto-field-note{display:block;color:#77c996;font-weight:500}.assurance-form-actions{display:flex;justify-content:flex-end}.assurance-progress-panel{margin-bottom:12px;padding:13px}.assurance-progress-copy{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.assurance-progress-copy span{font-size:9px;color:#8ca096}.assurance-progress-copy strong{font-size:18px}.assurance-progress-track{height:7px;border-radius:99px;background:#17231d;overflow:hidden;border:1px solid #28392f}.assurance-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#188754,#35e58b)}.assurance-progress-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;color:#81978b;font-size:8px}.assurance-progress-meta b{color:#dceae2}.assurance-audit-toolbar{position:sticky;top:62px;z-index:23;display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px;padding:8px;border:1px solid #25372e;border-radius:11px;background:rgba(10,15,12,.92);backdrop-filter:blur(16px)}.assurance-filter-buttons{display:flex;gap:5px;flex-wrap:wrap}.assurance-filter-buttons button{border:1px solid #2d4036;border-radius:8px;background:#0f1713;color:#9bb0a5;padding:7px 9px;font-size:9px;font-weight:750}.assurance-filter-buttons button span{opacity:.7}.assurance-filter-buttons button.active{border-color:#378760;background:#123121;color:#a5efbf}.assurance-audit-toolbar input{min-width:220px;border:1px solid #314138;border-radius:8px;background:#0a110e;color:#e9f4ed;padding:8px 10px}.assurance-controls-list{display:grid;gap:9px}.assurance-control-v611{padding:0;overflow:hidden}.assurance-control-v611.needs-attention{border-left:3px solid #d59a3f}.assurance-control-main{display:grid;grid-template-columns:92px minmax(0,1fr) minmax(120px,auto);gap:12px;align-items:start;padding:13px}.assurance-control-id{display:grid;gap:6px;justify-items:start}.control-criticality{display:inline-flex;padding:4px 7px;border-radius:99px;border:1px solid #46514b;background:#161d19;color:#aab6af;font-size:8px;font-weight:800}.criticality-critical{border-color:#873b3e;background:#291214;color:#f2969a}.criticality-high{border-color:#8b642a;background:#251b0d;color:#efbd68}.criticality-low{border-color:#365747;background:#102018;color:#9bc8ad}.assurance-control-copy{min-width:0}.assurance-control-copy>small{color:#729084;font-size:8px}.assurance-control-copy h2{margin:2px 0 4px;font-size:13px}.assurance-control-copy>p{margin:0;color:#95a89e;font-size:10px;line-height:1.5}.assurance-current-result{margin-top:9px;padding:8px 9px;border:1px solid #263a30;border-radius:8px;background:#09120d}.assurance-current-result span{display:block;margin-bottom:3px;color:#71897c;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.assurance-current-result strong{font-size:9px;line-height:1.5}.assurance-control-status{display:grid;gap:5px;justify-items:end}.assurance-control-status small{color:#71887c;font-size:8px}.assurance-control-context{border-top:1px solid #213028}.assurance-control-context>summary,.assurance-action-box>summary{padding:9px 13px;color:#8ca095;font-size:9px;font-weight:750;cursor:pointer;list-style:none}.assurance-control-context>summary:before,.assurance-action-box>summary:before{content:'›';display:inline-block;margin-right:7px;transition:.15s}.assurance-control-context[open]>summary:before,.assurance-action-box[open]>summary:before{transform:rotate(90deg)}.assurance-context-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 13px 13px}.assurance-context-grid>div{padding:8px;border:1px solid #25372e;border-radius:8px;background:#0b130f}.assurance-context-grid small{display:block;color:#748b7f;font-size:8px;margin-bottom:3px}.assurance-context-grid strong,.assurance-context-grid p{margin:0;font-size:9px;line-height:1.5}.norm-chip{display:inline-flex;margin:2px 4px 2px 0;padding:3px 6px;border:1px solid #344a3e;border-radius:99px;color:#a8c2b3}.assurance-evidence-strip{display:grid;gap:5px;padding:0 13px 11px}.assurance-evidence-item{display:grid;grid-template-columns:minmax(150px,.6fr) minmax(220px,1fr) auto;gap:8px;align-items:center;padding:7px 8px;border:1px solid #25382f;border-radius:8px;background:#0a120e}.assurance-evidence-item span{font-size:8px;font-weight:800}.assurance-evidence-item small{font-size:8px;color:#7b9185}.assurance-evidence-item a{font-size:8px;color:#8ce3ad}.assurance-control-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #213028}.assurance-action-box+ .assurance-action-box{border-left:1px solid #213028}.assurance-action-box>form{padding:0 13px 13px}.assurance-remediation-fields[hidden]{display:none!important}.assurance-validation-note{max-width:180px;color:#82978c;font-size:8px;line-height:1.45}.assurance-no-results{padding:24px;text-align:center;color:#80968a;border:1px dashed #35493e;border-radius:10px}.assurance-audit-actions{align-items:center}.admin-assurance-guide{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:12px}.admin-assurance-flow{display:grid;gap:8px}.admin-assurance-step{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid #2b4035;border-radius:10px;background:#0c1510}.admin-assurance-step>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#123322;color:#8be7aa;font-weight:900}.admin-assurance-step h3{margin:0 0 2px;font-size:11px}.admin-assurance-step p{margin:0;color:#7d9287;font-size:9px}.admin-catalog-search{display:flex;gap:8px;align-items:center;margin:0 0 9px}.admin-catalog-search input{flex:1;border:1px solid #314138;border-radius:8px;background:#0b110e;color:#eaf5ee;padding:9px 10px}.admin-table-empty{padding:15px;text-align:center;color:#7c9186;font-size:9px}
@media(max-width:1000px){.assurance-how,.assurance-summary-grid{grid-template-columns:1fr}.assurance-work-row{grid-template-columns:1fr auto}.assurance-work-protocol,.assurance-work-state{grid-column:1}.assurance-row-action{grid-column:2;grid-row:1}.assurance-protocol-row{grid-template-columns:1fr}.assurance-protocol-actions{justify-content:flex-start}.assurance-audit-toolbar{position:static;align-items:stretch;flex-direction:column}.assurance-audit-toolbar input{width:100%}.assurance-control-main{grid-template-columns:1fr}.assurance-control-id{display:flex}.assurance-control-status{justify-items:start}.assurance-control-actions{grid-template-columns:1fr}.assurance-action-box+.assurance-action-box{border-left:0;border-top:1px solid #213028}.admin-assurance-guide{grid-template-columns:1fr}}
@media(max-width:700px){.assurance-search{align-items:stretch;flex-direction:column}.assurance-tabs{position:static;overflow:auto;flex-wrap:nowrap}.assurance-tabs button{white-space:nowrap}.assurance-work-row{grid-template-columns:1fr}.assurance-row-action{grid-column:1;grid-row:auto}.assurance-card-grid{grid-template-columns:1fr}.assurance-context-grid{grid-template-columns:1fr}.assurance-evidence-item{grid-template-columns:1fr}.assurance-filter-buttons{display:grid;grid-template-columns:1fr 1fr;width:100%}.assurance-filter-buttons button:last-child{grid-column:1/-1}.assurance-protocol-actions,.assurance-card-actions{flex-direction:column;align-items:stretch}.assurance-card-actions .btn,.assurance-protocol-actions .btn{width:100%}}

/* ============================================================
   Loki SaaS 6.1.2 · semántica operacional y UX a escala
   Verde = activo / en proceso
   Azul = terminado / saludable / sin acción
   Naranja = pendiente / atención
   Rojo = crítico / fallo / vencido
   Gris = histórico / inactivo / desconocido
   ============================================================ */
.status-pill.active,.status-pill.in_progress,.status-pill.running,.status-pill.online,.status-pill.trialing,.status-pill.processing{color:#8ff2b2!important;background:#102b1e!important;border-color:#2e8258!important}
.status-pill.done,.status-pill.resolved,.status-pill.completed,.status-pill.closed,.status-pill.healthy,.status-pill.conforming{color:#a8c4ff!important;background:#111f3a!important;border-color:#4267ad!important}
.status-pill.pending,.status-pill.warning,.status-pill.waiting,.status-pill.open,.status-pill.due,.status-pill.observation{color:#f5c978!important;background:#2b2110!important;border-color:#846323!important}
.status-pill.failed,.status-pill.critical,.status-pill.overdue,.status-pill.expired,.status-pill.non_conforming{color:#ffaaa7!important;background:#311817!important;border-color:#873735!important}
.status-pill.unknown,.status-pill.inactive,.status-pill.cancelled,.status-pill.revoked,.status-pill.neutral{color:#aab7b0!important;background:#171d19!important;border-color:#46524b!important}
.health-dot.healthy{background:#5a8ef5!important;border-color:#5a8ef5!important;color:#5a8ef5!important}.health-dot.warning,.health-dot.degraded{background:#e4b84a!important;border-color:#e4b84a!important;color:#e4b84a!important}.health-dot.failed{background:#ef5b59!important;border-color:#ef5b59!important;color:#ef5b59!important}.asset-dot.healthy{fill:#5a8ef5!important}.asset-dot.warning{fill:#e4b84a!important}.asset-dot.failed{fill:#ef5b59!important}
.health-healthy i{background:linear-gradient(90deg,#416fc8,#77a4ff)!important}.health-warning i,.health-degraded i{background:linear-gradient(90deg,#a5741b,#e4b84a)!important}.health-failed i,.health-out_of_service i{background:linear-gradient(90deg,#9c3432,#ef5b59)!important}.health-unknown i{background:#64716a!important}
.assurance-protocol-row.state-active{border-left-color:#35e58b!important}.assurance-protocol-row.state-current{border-left-color:#5a8ef5!important}.assurance-progress-track i{background:linear-gradient(90deg,#178b55,#35e58b)!important}

/* Navegación: pendiente naranja, crítico rojo */
.nav-alert-link{border-color:rgba(232,135,63,.28)!important;background:rgba(232,135,63,.06)!important}.nav-alert-count{background:#b9732d!important;box-shadow:0 0 18px rgba(232,135,63,.2)!important}.nav-alert-link.critical,.side-nav a.critical{border-color:rgba(239,91,89,.28)!important;background:rgba(239,91,89,.07)!important}.nav-alert-link.critical .nav-alert-count,.side-nav a.critical .nav-alert-count{background:#c93d3b!important}

/* Centro operativo / tarjetas de estado */
.ops-strip{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:9px;margin-bottom:13px}.compact-ops-strip{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.ops-status-card{display:grid;gap:3px;min-height:92px;padding:13px 14px;border:1px solid #2b3932;border-radius:12px;background:#101713;transition:.16s;position:relative;overflow:hidden}.ops-status-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#59665f}.ops-status-card:hover{transform:translateY(-1px);border-color:#4b5f54}.ops-status-card>span{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#83988d;font-weight:800}.ops-status-card>strong{font-size:27px;line-height:1}.ops-status-card>small{font-size:9px;color:#7f9188}.ops-status-card.active:before{background:#35e58b}.ops-status-card.active{background:linear-gradient(145deg,rgba(53,229,139,.08),#101713)}.ops-status-card.done:before{background:#5a8ef5}.ops-status-card.done{background:linear-gradient(145deg,rgba(90,142,245,.09),#101713)}.ops-status-card.pending:before{background:#e8873f}.ops-status-card.pending{background:linear-gradient(145deg,rgba(232,135,63,.10),#101713)}.ops-status-card.critical:before{background:#ef5b59}.ops-status-card.critical{background:linear-gradient(145deg,rgba(239,91,89,.11),#101713)}.ops-status-card.neutral:before{background:#69766f}
.command-center-head{align-items:center}.command-center-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:12px;margin:12px 0}.ops-priority-panel{padding:0;overflow:hidden}.ops-priority-panel>.panel-title{padding:16px 17px 10px}.ops-priority-panel .panel-title p{margin:4px 0 0;color:#7f9288;font-size:10px}.ops-action-list{display:grid}.ops-action-row{display:grid;grid-template-columns:95px minmax(0,1fr) minmax(180px,.5fr);gap:12px;align-items:center;padding:11px 16px;border-top:1px solid #202e27;position:relative}.ops-action-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#e8873f}.ops-action-row:hover{background:#151f19}.ops-action-row.critical:before{background:#ef5b59}.ops-action-row.high:before,.ops-action-row.warning:before,.ops-action-row.pending:before{background:#e8873f}.ops-action-row.active:before{background:#35e58b}.ops-action-row.done:before{background:#5a8ef5}.ops-action-module{font-size:8px;font-weight:900;letter-spacing:.1em;color:#899d92;text-transform:uppercase}.ops-action-row strong{display:block;font-size:11px}.ops-action-row small{display:block;margin-top:2px;color:#7e9287;font-size:9px}.ops-action-meta{display:grid;gap:3px;text-align:right}.ops-action-meta span{font-size:9px;color:#81958a}.ops-action-meta b{font-size:9px;color:#c9d9d0}.ops-empty-done{display:flex;gap:12px;align-items:center;padding:22px 17px;border-top:1px solid #202e27;background:rgba(90,142,245,.04)}.ops-empty-done>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #4267ad;border-radius:50%;color:#a8c4ff}.ops-empty-done strong,.ops-empty-done small{display:block}.ops-empty-done small{color:#7d9186;margin-top:3px}
.ring-chart{--value:0;width:126px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#5a8ef5 calc(var(--value)*1%),#1b2922 0);position:relative;flex:0 0 auto}.ring-chart:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#111815;border:1px solid #26352d}.ring-chart>span{position:relative;z-index:1;text-align:center;display:grid}.ring-chart strong{font-size:24px}.ring-chart small{font-size:8px;color:#85988e}.assurance-dashboard-visual{display:flex;align-items:center;gap:22px}.assurance-dashboard-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px;flex:1}.assurance-dashboard-stats>div{padding:8px 9px;border:1px solid #27382f;border-radius:8px;background:#0c1410}.assurance-dashboard-stats span{display:block;color:#778c80;font-size:8px}.assurance-dashboard-stats strong{font-size:15px}.text-critical{color:#ff8f8c!important}

/* Identidad humana universal */
.asset-human-identity{display:grid;gap:3px;min-width:0}.asset-human-identity>strong{font-size:13px;color:#edf7f0;line-height:1.2;overflow-wrap:anywhere}.asset-human-identity>span{font-size:9px;color:#a9bbb1;line-height:1.35}.asset-human-identity>small,.identity-subline{display:block;color:#72867b!important;font-size:8px!important;line-height:1.35}.identity-first-table td:first-child{min-width:245px}.department-chip,.location-chip{display:inline-flex;align-items:center;border:1px solid #31463a;border-radius:999px;padding:4px 8px;font-size:8px;font-weight:750;background:#101b15;color:#b5ccbe}.location-chip{border-color:#344354;color:#aebfd3;background:#101722}.asset-hero-v612{align-items:flex-start;padding:16px 18px;border:1px solid #293a31;border-radius:14px;background:linear-gradient(145deg,#111a15,#0c1210);gap:16px}.asset-hero-v612 .asset-hero-primary{display:grid;gap:7px;min-width:0}.asset-hero-v612 h1{font-size:34px;margin:0;line-height:1;letter-spacing:-.035em}.asset-hero-context{display:flex;gap:6px;flex-wrap:wrap}.asset-tech-identity{display:flex;gap:7px;flex-wrap:wrap;color:#72887b;font-size:9px}.asset-tech-identity span+span:before{content:"·";margin-right:7px;color:#52655a}.asset-organization-identity{display:flex;gap:5px;flex-wrap:wrap}.person-chip{display:inline-flex;align-items:center;border:1px solid #2d4739;border-radius:999px;padding:3px 7px;background:#0e1a14;color:#9fc9af;font-size:8px}

/* Atención transversal */
.inventory-critical td:first-child,.row-critical td:first-child{box-shadow:inset 3px 0 #ef5b59}.inventory-attention td:first-child,.row-attention td:first-child{box-shadow:inset 3px 0 #e8873f}.row-active td:first-child{box-shadow:inset 3px 0 #35e58b}.attention-cell{min-width:205px}.attention-cell .status-pill{margin:2px 3px 2px 0}.inventory-panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.inventory-live-filter,.related-filter-bar{display:flex;align-items:center;gap:9px}.inventory-live-filter input,.related-filter-bar input{min-width:260px;flex:1;border:1px solid #314138;border-radius:8px;background:#0b110e;color:#eaf5ee;padding:9px 10px}.inventory-search-state,.related-filter-bar>span{color:#71877b;font-size:9px}.action-cell{position:relative}.asset-action-menu{position:absolute;right:12px;z-index:35;min-width:210px;padding:5px;border:1px solid #33463b;border-radius:10px;background:#101813;box-shadow:0 16px 44px rgba(0,0,0,.45)}.asset-action-menu[hidden]{display:none!important}.asset-action-menu a,.asset-action-menu button{width:100%;display:flex;align-items:center;gap:7px;text-align:left;padding:7px 8px;border:0;border-radius:6px;background:none;color:#b6c8be;font-size:9px}.asset-action-menu a:hover,.asset-action-menu button:hover{background:#18251e;color:#fff}

/* Assurance 6.1.2 */
.assurance-command-grid{display:grid;grid-template-columns:minmax(220px,1fr) repeat(3,minmax(160px,.72fr));gap:10px;margin-bottom:12px}.assurance-graph-card,.assurance-posture-card{min-height:148px}.assurance-graph-card h2,.assurance-posture-card h2{font-size:13px;margin:4px 0}.assurance-posture-card{grid-column:span 2}.posture-bars{display:grid;gap:7px;margin-top:10px}.posture-bars>div{display:grid;grid-template-columns:125px 1fr 28px;gap:7px;align-items:center;font-size:8px;color:#82978c}.posture-bars .bar{height:6px}.posture-bars .conforming i{background:#5a8ef5}.posture-bars .observation i,.posture-bars .non_conforming i{background:#e8873f}.posture-bars .critical_non_conforming i{background:#ef5b59}.assurance-audit-identity{margin-top:7px}.cable-assurance-route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center;margin-top:10px}.cable-assurance-route>b{color:#64766b}.assurance-work-row.state-active,.assurance-entity-card.attention{border-color:#336b4d}.assurance-work-row.row-attention{border-left-color:#e8873f}.assurance-empty-state{padding:25px;text-align:center;color:#82968b}

/* Agents y etiqueta QR */
.agent-toolbar{margin-bottom:12px}.agent-human-header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.agent-technical-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:12px 0}.agent-technical-details>span{padding:6px 7px;border:1px solid #25362d;border-radius:7px;color:#81958a;font-size:8px}.agent-card.agent-stale{border-color:#70403c;box-shadow:inset 3px 0 #ef5b59}.agent-card-actions{display:flex;gap:6px;flex-wrap:wrap}.agent-qr-modal{text-align:center}.agent-qr-label{display:grid;place-items:center;gap:13px;padding:26px;background:#fff;color:#000;border-radius:10px}.agent-qr-label strong{font-size:24px;letter-spacing:.08em}.agent-qr-label canvas,.agent-qr-label img{max-width:280px!important;height:auto!important}.agent-people-line{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}
@media print{body.printing-agent-label{background:#fff!important}body.printing-agent-label *{visibility:hidden!important}body.printing-agent-label #agent-qr-print,body.printing-agent-label #agent-qr-print *{visibility:visible!important}body.printing-agent-label #agent-qr-print{display:grid!important;place-items:center!important;position:fixed!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;box-shadow:none!important}body.printing-agent-label #agent-qr-print .modal-head,body.printing-agent-label #agent-qr-print .no-print{display:none!important}body.printing-agent-label .agent-qr-label{visibility:visible!important;box-shadow:none!important;border:0!important}body.printing-agent-label .agent-qr-label>*{visibility:visible!important}}

/* Organización, Licencias y cableado */
.organization-toolbar{margin-bottom:10px}.organization-section{margin-top:12px}.license-card.critical,.license-attention-card.critical{border-color:#703a38;box-shadow:inset 3px 0 #ef5b59}.license-card.pending,.license-attention-card.pending{border-color:#6d5529;box-shadow:inset 3px 0 #e8873f}.license-card.done,.license-attention-card.done{border-color:#344f7b;box-shadow:inset 3px 0 #5a8ef5}.cable-endpoint-human{display:grid;gap:2px}.cable-endpoint-human strong{font-size:10px}.cable-endpoint-human span{font-size:8px;color:#9aae9f}.cable-endpoint-human small{font-size:8px;color:#71857a}

/* Ficha del activo */
.asset-ops-strip{margin-top:10px}.asset-summary-layout-v55>.ops-strip{grid-column:1/-1}.asset-hero-v612 .asset-status{min-width:150px}.asset-hero-v612 .asset-status .status-pill{justify-content:center}

/* Racks / gemelo: identidad humana primero */
.rack-palette-item b,.rack-mounted b,.asset-list-item b,.unplaced-item b{font-weight:800}.topology-inspector .asset-human-identity,.twin-inspector .asset-human-identity{margin-bottom:8px}

@media(max-width:1250px){.ops-strip{grid-template-columns:repeat(3,1fr)}.assurance-command-grid{grid-template-columns:repeat(2,1fr)}.assurance-posture-card{grid-column:auto}.command-center-grid{grid-template-columns:1fr}}
@media(max-width:800px){.ops-strip{grid-template-columns:repeat(2,1fr)}.ops-action-row{grid-template-columns:75px 1fr}.ops-action-meta{grid-column:2;text-align:left}.assurance-command-grid{grid-template-columns:1fr}.assurance-dashboard-visual{align-items:flex-start;flex-direction:column}.cable-assurance-route{grid-template-columns:1fr}.cable-assurance-route>b{transform:rotate(90deg);justify-self:start}.asset-hero-v612{flex-direction:column}.asset-hero-v612 .asset-status{width:100%;text-align:left}.inventory-live-filter,.related-filter-bar{align-items:stretch;flex-direction:column}.inventory-live-filter input,.related-filter-bar input{min-width:0;width:100%}}
@media(max-width:520px){.ops-strip{grid-template-columns:1fr 1fr}.ops-status-card{min-height:82px}.assurance-dashboard-stats{grid-template-columns:1fr}.ops-action-row{grid-template-columns:1fr}.ops-action-meta{grid-column:1}.asset-hero-v612 h1{font-size:28px}}
.nav-alert-count.critical{background:#c93d3b!important;box-shadow:0 0 18px rgba(239,91,89,.28)!important}.alert.success{background:#111f3a!important;border-color:#4267ad!important;color:#c6d8ff!important}

/* 6.1.2 · cierre de semántica global de estado */
.assurance-summary-card.healthy{border-color:#4267ad!important;background:#111f3a!important}.assurance-summary-card.healthy strong{color:#a8c4ff!important}
.ticket-asset-v55.status-resolved,.ticket-asset-v55.status-closed{border-left-color:#5a8ef5!important}
.support-ticket-v542.status-in_progress{border-left-color:#35e58b!important}.support-ticket-v542.status-open,.support-ticket-v542.status-waiting{border-left-color:#e8873f!important}.support-ticket-v542.status-resolved,.support-ticket-v542.status-closed{border-left:4px solid #5a8ef5!important}
.lifecycle-event.planned,.lifecycle-event.open{border-left-color:#e8873f!important}.lifecycle-event.completed{border-left-color:#5a8ef5!important}
.success-orb{background:#111f3a!important;border-color:#4267ad!important;color:#a8c4ff!important}

/* Loki 6.1.6 · Assurance Studio / diseñador maestro */
.assurance-master-header{align-items:flex-end}.assurance-master-flow,.protocol-map{display:flex;align-items:stretch;gap:10px;margin:0 0 18px}.assurance-master-flow>article,.protocol-map>article{flex:1;display:flex;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.assurance-master-flow>i,.protocol-map>i{display:grid;place-items:center;color:var(--muted);font-style:normal}.flow-num,.protocol-map article>small{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:800}.assurance-master-flow article div,.protocol-map article{min-width:0}.assurance-master-flow article strong,.protocol-map article strong{display:block}.assurance-master-flow article small,.protocol-map article span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.protocol-map article.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}
.assurance-master-metrics article span{display:block;color:var(--muted);font-size:11px;margin-top:5px}.assurance-health-panel{margin-bottom:18px}.assurance-health-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.health-tile{appearance:none;border:1px solid var(--line);background:var(--panel2);color:inherit;border-radius:14px;padding:14px;text-align:left;cursor:pointer}.health-tile strong{display:block;font-size:26px;line-height:1}.health-tile span{display:block;margin-top:8px;font-size:12px;color:var(--muted)}.health-tile.warning{border-color:rgba(240,169,49,.55)}.health-tile.danger{border-color:rgba(236,76,76,.65)}
.assurance-protocol-grid,.assurance-object-grid,.assurance-standard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.assurance-protocol-card,.assurance-object-card,.assurance-standard-card{border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:17px;display:flex;flex-direction:column;gap:10px;min-width:0}.assurance-protocol-card h3,.assurance-object-card h3,.assurance-standard-card h3{margin:0}.assurance-protocol-card p,.assurance-object-card p,.assurance-standard-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.card-topline{display:flex;justify-content:space-between;gap:8px}.catalog-code{display:block;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.relation-stack{display:grid;gap:8px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.relation-stack>div{display:flex;justify-content:space-between;gap:14px;font-size:12px}.relation-stack span{color:var(--muted);text-align:right}.relation-counts{display:flex;gap:8px;flex-wrap:wrap}.relation-counts>span{font-size:11px;padding:5px 8px;border-radius:999px;background:var(--panel2);border:1px solid var(--line)}.btn.full{width:100%;justify-content:center;margin-top:auto}.is-archived{opacity:.52}.section-heading{margin:16px 0 12px}.table-primary{display:block;margin:3px 0}.master-control-table td{vertical-align:top}.master-control-table td small{display:block;color:var(--muted);margin-top:4px}.compact-panel{margin-top:14px}.chip-cloud{display:flex;flex-wrap:wrap;gap:8px}.catalog-chip{padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.catalog-chip b,.catalog-chip small{display:block}.catalog-chip small{color:var(--muted);margin-top:3px}.master-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.catalog-editor{border:1px solid var(--line);border-radius:12px;padding:0 12px;margin:8px 0;background:var(--panel2)}.catalog-editor>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0}.catalog-editor>summary span:first-child{min-width:0}.catalog-editor>summary strong,.catalog-editor>summary small{display:block}.catalog-editor>summary small{color:var(--muted);margin-top:2px}.catalog-editor form{margin:8px 0 12px}.catalog-row{padding:10px 0;border-bottom:1px solid var(--line)}.catalog-row strong,.catalog-row small{display:block}.catalog-row small{color:var(--muted);margin-top:3px}
.assurance-studio-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.protocol-step-list{display:grid;gap:12px}.protocol-step{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;border:1px solid var(--line);background:var(--panel2);border-radius:16px;padding:15px}.step-index{display:flex;flex-direction:column;gap:7px;align-items:flex-start}.step-index>strong{font-size:26px}.step-main h3{margin:2px 0 4px}.step-actions{display:flex;gap:4px;align-items:flex-start}.step-explain-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:13px 0}.step-explain-grid>div{border:1px solid var(--line);border-radius:12px;padding:10px}.step-explain-grid b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.step-explain-grid p{margin:5px 0 0;font-size:13px;line-height:1.45}.norm-bar{font-size:12px;border-left:3px solid var(--info,#4898ff);padding:7px 10px;background:rgba(72,152,255,.08);border-radius:0 8px 8px 0}.sticky-save{position:sticky;bottom:10px;margin-top:14px;padding:10px 12px;border:1px solid var(--line);background:rgba(10,15,19,.94);backdrop-filter:blur(12px);border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:3}.check-list{display:grid;gap:7px}.check-list>label,.norm-select-grid>label{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);border-radius:11px;padding:9px;background:var(--panel2)}.check-list span,.norm-select-grid span{min-width:0}.check-list b,.check-list small,.norm-select-grid b,.norm-select-grid small{display:block}.check-list small,.norm-select-grid small{color:var(--muted);margin-top:2px}.norm-select-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:420px;overflow:auto;margin-bottom:12px}.rule-line,.relation-link{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:9px 0}.relation-link{color:inherit;text-decoration:none}.relation-link:hover{color:var(--accent)}.rule-line b,.rule-line small,.relation-link b,.relation-link small{display:block}.rule-line small,.relation-link small{color:var(--muted);margin-top:2px}.relation-card{display:flex;justify-content:space-between;padding:10px;border:1px solid var(--line);border-radius:10px;margin-bottom:10px}.info-callout,.empty-state{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.empty-state p{margin:5px 0 0}.danger-zone{margin-top:12px;padding-top:12px;border-top:1px solid rgba(236,76,76,.35)}.add-relation-form{margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}.inline-form{display:flex;gap:9px;align-items:end;flex-wrap:wrap;margin-top:10px}.inline-form input[type=number]{width:90px}
@media(max-width:1200px){.assurance-health-grid{grid-template-columns:repeat(3,1fr)}.assurance-protocol-grid,.assurance-object-grid,.assurance-standard-grid{grid-template-columns:repeat(2,1fr)}.norm-select-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.assurance-master-flow,.protocol-map{overflow-x:auto}.assurance-master-flow>article,.protocol-map>article{min-width:190px}.assurance-master-flow>i,.protocol-map>i{display:none}.assurance-health-grid,.assurance-protocol-grid,.assurance-object-grid,.assurance-standard-grid,.master-catalog-grid,.assurance-studio-grid,.norm-select-grid,.step-explain-grid{grid-template-columns:1fr}.protocol-step{grid-template-columns:48px 1fr}.step-actions{grid-column:2}.sticky-save{position:static;align-items:flex-start;flex-direction:column}}
.catalog-option-row{display:flex;align-items:flex-end;gap:6px;border-bottom:1px solid var(--line);padding:4px 0}.catalog-option-row .inline-form{flex:1}.catalog-accordion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.danger-soft{border-color:rgba(236,76,76,.45)!important;color:#ff8b8b!important;background:rgba(236,76,76,.08)!important}@media(max-width:800px){.catalog-accordion-grid{grid-template-columns:1fr}}

/* Loki 6.1.4 · explicación operativa del catálogo publicado */
.assurance-publish-explainer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}.assurance-publish-explainer article{display:flex;gap:12px;align-items:flex-start;padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.assurance-publish-explainer article>div{min-width:0}.assurance-publish-explainer strong{display:block;margin-bottom:4px}.assurance-publish-explainer small{display:block;color:var(--muted);line-height:1.45}@media(max-width:900px){.assurance-publish-explainer{grid-template-columns:1fr}}

.catalog-create-note{padding:10px 12px;border:1px dashed var(--line);border-radius:12px;background:var(--panel2)}.catalog-create-note strong,.catalog-create-note small{display:block}.catalog-create-note small{color:var(--muted);margin-top:3px;line-height:1.35}

/* ============================================================
   Loki SaaS 6.1.6 · Assurance Studio / CRUD maestro
   ============================================================ */
.assurance-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.assurance-control-card{display:flex;flex-direction:column;gap:11px;padding:16px;border:1px solid var(--line);border-radius:17px;background:var(--panel);min-width:0}.assurance-control-card h3{margin:0}.control-question{padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.control-question b{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.control-question p{margin:5px 0 0;line-height:1.45}.control-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.control-meta-grid>div{display:grid;gap:2px;padding:8px;border:1px solid var(--line);border-radius:9px}.control-meta-grid b{font-size:9px;color:var(--muted);text-transform:uppercase}.control-meta-grid span{font-size:11px}.protocol-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin:0 0 14px}.protocol-summary-grid article{padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.protocol-summary-grid small,.protocol-summary-grid strong{display:block}.protocol-summary-grid small{font-size:9px;color:var(--muted);text-transform:uppercase}.protocol-summary-grid strong{margin-top:4px;font-size:12px}.protocol-purpose{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:14px;padding:0}.protocol-purpose>div{padding:14px}.protocol-purpose>div+div{border-left:1px solid var(--line)}.protocol-purpose p{margin:5px 0 0;line-height:1.45}.protocol-map-614>article{min-width:0}.step-explain-grid-614{grid-template-columns:repeat(2,minmax(0,1fr))}.normative-story-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:13px}.normative-story-grid .panel{margin:0}.normative-story-grid h2{font-size:15px;margin:6px 0}.normative-story-grid p{margin:0;color:var(--muted);line-height:1.5}.normative-meta-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:14px}.normative-meta-strip span{display:grid;gap:3px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);font-size:11px}.normative-meta-strip b{font-size:8px;color:var(--muted);text-transform:uppercase}.normative-control-list{display:grid;gap:10px}.normative-control-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}.normative-control-card h3{margin:5px 0}.normative-control-card>p{color:var(--muted);line-height:1.5}.norm-path{display:block;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;margin-bottom:5px}.implementation-note,.copyright-note{padding:10px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 9px 9px 0;margin:9px 0}.implementation-note p,.copyright-note p{margin:4px 0 0}.resource-list{display:grid;gap:7px}.resource-list>a,.resource-row{display:flex;justify-content:space-between;gap:8px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:inherit;text-decoration:none}.resource-row>a{min-width:0;color:inherit;text-decoration:none}.resource-list strong,.resource-list small{display:block}.resource-list small{color:var(--muted);overflow-wrap:anywhere;margin-top:2px}.assurance-crud-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}.assurance-crud-nav{position:sticky;top:78px;display:grid;gap:6px;padding:12px}.assurance-crud-nav-item{display:grid;gap:3px;padding:10px;border:1px solid transparent;border-radius:10px;color:inherit;text-decoration:none}.assurance-crud-nav-item small{color:var(--muted);line-height:1.35}.assurance-crud-nav-item:hover,.assurance-crud-nav-item.active{background:var(--panel2);border-color:var(--line)}.assurance-crud-nav-item.active{box-shadow:inset 3px 0 0 var(--accent)}.assurance-crud-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.assurance-crud-toolbar .admin-catalog-search{flex:1}.assurance-crud-count{display:flex;gap:6px;align-items:baseline}.assurance-crud-count strong{font-size:22px}.assurance-crud-count span{color:var(--muted);font-size:11px}.assurance-crud-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.assurance-crud-card{margin:0;display:flex;flex-direction:column;gap:8px}.assurance-crud-card h3,.assurance-crud-card p{margin:0}.assurance-crud-card p{color:var(--muted);line-height:1.45}.crud-usage{display:flex;align-items:center;gap:6px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:9px}.crud-usage>strong{font-size:10px;color:var(--muted);text-transform:uppercase}.relation-chip{font-size:10px;padding:4px 7px;border:1px solid var(--line);border-radius:999px}.card-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:auto}.card-actions form{margin:0}.assurance-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:14px}.assurance-crud-callout{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:14px}.assurance-crud-callout h2{margin:4px 0}.assurance-crud-callout p{margin:0;color:var(--muted);max-width:900px}.assurance-lifecycle-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-top:12px}.assurance-lifecycle-strip article{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.assurance-lifecycle-strip strong{font-size:22px}.assurance-lifecycle-strip span{font-size:10px;color:var(--muted)}
@media(max-width:1400px){.assurance-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.protocol-summary-grid,.normative-meta-strip,.assurance-lifecycle-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.normative-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.assurance-crud-layout{grid-template-columns:1fr}.assurance-crud-nav{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.assurance-crud-cards,.assurance-control-grid,.normative-story-grid,.protocol-purpose{grid-template-columns:1fr}.protocol-purpose>div+div{border-left:0;border-top:1px solid var(--line)}.protocol-summary-grid,.normative-meta-strip,.assurance-lifecycle-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.assurance-crud-callout{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.assurance-crud-nav,.protocol-summary-grid,.normative-meta-strip,.assurance-lifecycle-strip,.control-meta-grid,.step-explain-grid-614{grid-template-columns:1fr}.assurance-crud-toolbar{align-items:stretch;flex-direction:column}.assurance-standard-header .header-actions{width:100%}.assurance-standard-header .header-actions .btn{flex:1}}
.superadmin-launch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.superadmin-launch-grid>a{display:block;color:inherit;text-decoration:none;margin:0}.superadmin-launch-grid h2{margin:5px 0}.superadmin-launch-grid p{color:var(--muted);line-height:1.5}.superadmin-launch-grid strong{color:var(--accent)}@media(max-width:900px){.superadmin-launch-grid{grid-template-columns:1fr}}

/* ============================================================
   Loki SaaS 6.1.8 · Assurance UX / CRUD navegable
   ============================================================ */
.catalog-mini-stats{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.catalog-mini-stats span{display:flex;align-items:baseline;gap:4px;padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);font-size:10px;color:var(--muted)}.catalog-mini-stats b{font-size:13px;color:inherit}.assurance-explorer{margin-bottom:14px}.assurance-explorer-head{align-items:flex-start}.assurance-explorer-grid{display:grid;grid-template-columns:260px 310px minmax(0,1fr);min-height:430px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--panel2)}.assurance-explorer-grid>nav,.assurance-explorer-grid>section{padding:12px;min-width:0}.assurance-explorer-grid>section{border-left:1px solid var(--line)}.assurance-explorer-grid>nav>strong,.assurance-explorer-grid>section>strong{display:block;margin-bottom:9px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.assurance-explorer-targets{display:flex;flex-direction:column;gap:5px;max-height:560px;overflow:auto}.explorer-target,.explorer-protocol{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid transparent;border-radius:10px;background:transparent;color:inherit;padding:9px;text-align:left;cursor:pointer}.explorer-target:hover,.explorer-target.active,.explorer-protocol:hover,.explorer-protocol.active{border-color:var(--line);background:var(--panel)}.explorer-target.active,.explorer-protocol.active{box-shadow:inset 3px 0 0 var(--accent)}.explorer-target span,.explorer-protocol span{min-width:0}.explorer-target b,.explorer-target small,.explorer-protocol b,.explorer-protocol small{display:block}.explorer-target small,.explorer-protocol small{color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.explorer-target em,.explorer-protocol em{font-style:normal;font-size:10px;color:var(--muted);white-space:nowrap}.explorer-context{padding:9px;margin-bottom:7px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.explorer-context span,.explorer-context small,.explorer-context a{display:block}.explorer-context small{color:var(--muted);margin-top:3px}.explorer-context a{font-size:10px;margin-top:6px}.assurance-explorer-protocols{max-height:560px;overflow:auto}.explorer-protocol-list{display:grid;gap:5px}.assurance-explorer-detail{max-height:560px;overflow:auto}.explorer-empty{display:grid;place-items:center;min-height:300px;color:var(--muted)}.explorer-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.explorer-detail-head h3,.explorer-detail-head p{margin:3px 0}.explorer-detail-head p{color:var(--muted)}.explorer-step-list{display:grid;gap:8px;margin-top:10px}.explorer-step{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.explorer-step-num{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:800}.explorer-step b,.explorer-step small{display:block}.explorer-step small{color:var(--muted);margin-top:2px}.explorer-step p{margin:6px 0;line-height:1.4}.explorer-evidence,.explorer-norm{display:grid;grid-template-columns:72px minmax(0,1fr);gap:7px;margin-top:5px;font-size:10px}.explorer-evidence strong,.explorer-norm strong{color:var(--muted);text-transform:uppercase}.explorer-evidence span,.explorer-norm span{overflow-wrap:anywhere}
.assurance-health-positive{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.health-progress{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:13px;padding:10px;background:var(--panel2);color:inherit;text-align:left;cursor:pointer}.health-progress:hover{background:var(--panel)}.health-progress>span:last-child{min-width:0}.health-progress strong,.health-progress small{display:block}.health-progress small{color:var(--muted);margin-top:2px}.health-ring{width:46px;height:46px;flex:0 0 46px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) calc(var(--pct)*3.6deg),var(--line) 0);position:relative}.health-ring:after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--panel2)}.health-ring b{position:relative;z-index:1;font-size:10px}
.inline-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.unified-editor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.unified-editor-toolbar strong{display:block;margin-top:3px}.unified-master-editor,.standard-unified-editor{margin-bottom:14px}.unified-master-editor .panel-title{align-items:flex-start}.crud-inline-editor{margin-top:2px}.compact-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
[data-inline-editor] [data-editable]:disabled{opacity:1;color:inherit;-webkit-text-fill-color:currentColor;background:transparent;border-color:transparent;box-shadow:none;cursor:default;padding-left:0;padding-right:0}[data-inline-editor] textarea[data-editable]:disabled{resize:none;overflow:hidden}[data-inline-editor] select[data-editable]:disabled{appearance:none;background-image:none}[data-inline-editor] input[type=checkbox][data-editable]:disabled{opacity:.7}[data-inline-editor].is-editing{outline:1px solid var(--accent);outline-offset:5px;border-radius:10px}[data-inline-editor].is-editing [data-editable]{background:var(--panel2)}
.editor-story-card{display:grid;gap:7px}.editor-story-card textarea{width:100%;min-height:112px}.editor-meta-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.editor-meta-strip label{display:grid;gap:2px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.editor-meta-strip label b{font-size:8px;color:var(--muted);text-transform:uppercase}.editor-meta-strip input,.editor-meta-strip select{width:100%}.editor-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px}.editor-source-grid label{display:grid;gap:5px}.editor-source-grid label span{font-size:9px;color:var(--muted);text-transform:uppercase}.span-3{grid-column:span 3}.normative-inline-editor{display:grid;gap:10px}.normative-inline-editor+.card-actions{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.editor-summary-grid label{display:grid;gap:4px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.editor-summary-grid label small{font-size:8px;color:var(--muted);text-transform:uppercase}.editor-summary-grid input,.editor-summary-grid select{width:100%}.editor-purpose-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:10px 0 0}.editor-purpose-grid label{display:grid;gap:6px;padding:12px}.editor-purpose-grid label+label{border-left:1px solid var(--line)}.editor-purpose-grid textarea{width:100%;min-height:96px}.protocol-step-editor{display:grid;gap:9px}.step-editor-head{display:grid;grid-template-columns:minmax(120px,.6fr) minmax(220px,1.6fr) auto;gap:8px;align-items:end}.step-editor-head label{display:grid;gap:3px;font-size:9px;color:var(--muted);text-transform:uppercase}.step-title-field input{font-size:16px;font-weight:700}.protocol-step-editor .step-explain-grid label{display:grid;gap:5px}.protocol-step-editor .step-explain-grid textarea,.protocol-step-editor .step-explain-grid select{width:100%}.protocol-step-editor .step-explain-grid small{display:block;color:var(--muted);margin-top:5px}.subject-field-editor{min-width:0}.subject-field-card>.step-actions form{margin:0}
.assurance-crud-card .crud-inline-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.assurance-crud-card .crud-inline-editor label{min-width:0}.assurance-crud-card .crud-inline-editor textarea{min-height:62px}
@media(max-width:1300px){.assurance-explorer-grid{grid-template-columns:220px 270px minmax(0,1fr)}.assurance-health-positive{grid-template-columns:repeat(3,minmax(0,1fr))}.editor-purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-purpose-grid label+label{border-left:0}.editor-purpose-grid label:nth-child(even){border-left:1px solid var(--line)}}
@media(max-width:900px){.assurance-explorer-grid{grid-template-columns:1fr}.assurance-explorer-grid>section{border-left:0;border-top:1px solid var(--line)}.assurance-explorer-targets,.assurance-explorer-protocols,.assurance-explorer-detail{max-height:none}.assurance-health-positive{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-mini-stats{justify-content:flex-start}.editor-meta-strip,.editor-source-grid,.editor-purpose-grid,.compact-editor-grid,.assurance-crud-card .crud-inline-editor{grid-template-columns:1fr}.span-3{grid-column:span 1}.editor-purpose-grid label:nth-child(even){border-left:0}.step-editor-head{grid-template-columns:1fr}.inline-editor-actions{justify-content:flex-start}}
@media(max-width:560px){.assurance-health-positive{grid-template-columns:1fr}.explorer-detail-head{flex-direction:column}.explorer-step{grid-template-columns:26px minmax(0,1fr)}.explorer-step>.icon-btn{grid-column:2}.catalog-mini-stats{display:grid;grid-template-columns:1fr 1fr;width:100%}.catalog-mini-stats span{justify-content:center}}
.value-catalog-panel .catalog-editor{margin-top:8px}.value-catalog-panel .catalog-editor>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer}.value-catalog-panel .catalog-editor>summary span:first-child{display:grid;gap:2px}.value-catalog-panel .catalog-editor>summary small{color:var(--muted)}.value-option-list{display:grid;gap:7px;margin:10px 0}.value-option-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:start;padding:9px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.value-option-card.is-archived{opacity:.62}.value-option-card .step-index{display:grid;gap:4px;text-align:center}.value-option-editor{display:grid;grid-template-columns:minmax(100px,.6fr) minmax(160px,1fr) minmax(180px,1.4fr);gap:7px;align-items:end}.value-option-editor label{display:grid;gap:4px}.value-option-editor .inline-editor-actions{grid-column:1/-1}.inline-reorder-actions{display:flex;gap:4px;align-items:center}.inline-reorder-actions form{margin:0}.value-option-create{margin-top:8px}.value-option-create input{min-width:0}@media(max-width:900px){.value-option-card{grid-template-columns:30px minmax(0,1fr)}.inline-reorder-actions{grid-column:2}.value-option-editor{grid-template-columns:1fr}}

/* Loki 6.1.8 · selects buscables */
body .ts-wrapper
{
    width: 100%;
}
body .ts-control,
body .ts-dropdown
{
    background: var(--panel, #111827);
    border-color: var(--line, rgba(255,255,255,.12));
    color: inherit;
}
body .ts-control
{
    min-height: 42px;
    border-radius: 10px;
    padding: 9px 11px;
    box-shadow: none;
}
body .ts-wrapper.disabled .ts-control
{
    opacity: .72;
    cursor: default;
}
body .ts-control > input
{
    color: inherit;
}
body .ts-dropdown
{
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(0,0,0,.35);
}
body .ts-dropdown .option,
body .ts-dropdown .create,
body .ts-dropdown .no-results
{
    padding: 9px 11px;
    color: inherit;
}
body .ts-dropdown .active
{
    background: rgba(99,102,241,.16);
    color: inherit;
}
body .ts-wrapper.multi .ts-control > div
{
    border-radius: 7px;
    background: rgba(99,102,241,.18);
    color: inherit;
    border: 1px solid rgba(129,140,248,.22);
}
body .ts-wrapper.multi .ts-control > div.active
{
    background: rgba(99,102,241,.3);
    color: inherit;
}
body .ts-wrapper .remove
{
    border-left-color: rgba(255,255,255,.15) !important;
}

/* Loki 6.1.8 · cabeceras editables sin duplicar información */
.editor-page-header
{
    align-items: flex-start;
}
.editor-header-actions
{
    align-items: center;
}
.page-title-editor
{
    width: min(760px, 92vw);
    font: inherit;
    font-size: clamp(1.8rem, 3vw, 3rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -.035em;
    margin: .15rem 0 .35rem;
    padding: .2rem .35rem;
    border-radius: 10px;
}
.editor-header-actions .inline-editor-actions
{
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-width: 166px;
    justify-content: flex-start;
}
.editor-header-actions [data-editor-toggle]
{
    min-width: 158px;
}

/* Loki 6.1.8 · navegación lateral de Assurance */
.side-subnav
{
    display: grid;
    gap: 2px;
    margin: -2px 0 8px 36px;
    padding-left: 10px;
    border-left: 1px solid rgba(148,163,184,.18);
}
.side-subnav a
{
    display: block;
    padding: 5px 8px;
    border-radius: 7px;
    font-size: .74rem;
    color: var(--muted, #94a3b8);
    text-decoration: none;
}
.side-subnav a:hover,
.side-subnav a.active
{
    color: var(--text, #f8fafc);
    background: rgba(99,102,241,.12);
}
.sidebar-mini .side-subnav
{
    display: none;
}

.assurance-section-tabs
{
    position: sticky;
    top: 62px;
    z-index: 15;
    backdrop-filter: blur(16px);
    margin-bottom: 18px;
}
.cis-summary-links a
{
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}
.cis-summary-links a:hover
{
    transform: translateY(-1px);
    border-color: rgba(129,140,248,.35);
}
.cis-summary-links small
{
    display: block;
    margin-top: 5px;
    color: var(--muted, #94a3b8);
}
.metric-drilldown
{
    position: relative;
}
.metric-drilldown > summary
{
    list-style: none;
    cursor: pointer;
    display: inline-grid;
    place-items: center;
    min-width: 34px;
    height: 30px;
    border-radius: 8px;
    background: rgba(99,102,241,.13);
    border: 1px solid rgba(129,140,248,.2);
    font-weight: 800;
}
.metric-drilldown > summary::-webkit-details-marker
{
    display: none;
}
.metric-drilldown-menu
{
    position: absolute;
    z-index: 30;
    top: 36px;
    left: 0;
    width: min(430px, 70vw);
    max-height: 360px;
    overflow: auto;
    padding: 8px;
    border-radius: 12px;
    background: var(--panel, #111827);
    border: 1px solid var(--line, rgba(255,255,255,.12));
    box-shadow: 0 18px 50px rgba(0,0,0,.42);
}
.metric-drilldown-menu a
{
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 9px;
    align-items: center;
    padding: 8px;
    border-radius: 8px;
    color: inherit;
    text-decoration: none;
}
.metric-drilldown-menu a:hover
{
    background: rgba(99,102,241,.12);
}
.metric-drilldown-menu a b
{
    white-space: nowrap;
}
.metric-drilldown-menu a span
{
    min-width: 0;
}
.metric-drilldown-menu a em
{
    font-style: normal;
    font-size: .68rem;
    color: var(--muted, #94a3b8);
    white-space: nowrap;
}

.relation-multiselect-form
{
    display: grid;
    gap: 12px;
}
.relation-multiselect-form > label
{
    display: grid;
    gap: 7px;
}

.crud-card-head-actions,
.norm-card-head-actions,
.inline-editor-head
{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}
.inline-editor-head
{
    margin-bottom: 8px;
}
.step-editor-head .inline-editor-actions
{
    align-self: end;
}

/* 6.1.8 · acciones contextuales del Explorador */
.explorer-step-actions{display:flex;flex-direction:column;gap:.4rem;align-items:flex-end;justify-content:center;min-width:106px}.explorer-step-actions .btn{white-space:nowrap}.protocol-step:target{outline:2px solid rgba(91,214,139,.55);outline-offset:3px;box-shadow:0 0 0 5px rgba(91,214,139,.08)}
@media(max-width:860px){.explorer-step-actions{grid-column:2;flex-direction:row;justify-content:flex-start;align-items:center;min-width:0}}


/* =============================================================
   Loki 6.1.9 · navegación compacta, Explorer útil y CRUD jerárquico
   ============================================================= */
.sidebar-collapse
{
    position:absolute;
    right:-13px;
    top:25px;
    z-index:95;
    display:grid !important;
    place-items:center;
    flex:0 0 27px;
    box-shadow:0 6px 20px rgba(0,0,0,.28);
}
.sidebar-mini .sidebar-collapse
{
    display:grid !important;
}
.sidebar-mini .sidebar-brand-row
{
    justify-content:center;
}
.side-nav-group
{
    position:relative;
    min-width:0;
}
.side-subnav > strong
{
    display:none;
}
.sidebar-mini .assurance-nav-group > .side-subnav
{
    display:none;
}
.sidebar-mini .assurance-nav-group:hover > .side-subnav,
.sidebar-mini .assurance-nav-group:focus-within > .side-subnav
{
    display:grid !important;
    position:absolute;
    left:58px;
    bottom:0;
    z-index:140;
    width:230px;
    margin:0;
    padding:9px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#101713;
    box-shadow:0 22px 60px rgba(0,0,0,.45);
}
.sidebar-mini .assurance-nav-group > .side-subnav > strong
{
    display:block;
    padding:5px 8px 7px;
    color:var(--text);
    font-size:.75rem;
    border-bottom:1px solid var(--line);
    margin-bottom:3px;
}
.sidebar-mini .assurance-nav-group > .side-subnav a
{
    display:block;
    padding:7px 9px;
}

/* Los botones de bloqueo no cambian de ancho entre estados. */
.inline-editor-actions [data-editor-toggle],
.editor-header-actions [data-editor-toggle]
{
    width:132px;
    min-width:132px;
    max-width:132px;
    justify-content:center;
    padding-left:8px;
    padding-right:8px;
}

/* Tom Select: lectura limpia, edición completa. */
[data-inline-editor]:not(.is-editing) .ts-wrapper.disabled .ts-control
{
    opacity:1;
    background:transparent;
    border-color:transparent;
    color:var(--text);
    box-shadow:none;
    padding-left:0;
    cursor:default;
}
[data-inline-editor]:not(.is-editing) .ts-wrapper.disabled .ts-control > .item,
[data-inline-editor]:not(.is-editing) .ts-wrapper.disabled .ts-control > div
{
    background:transparent !important;
    border:0 !important;
    color:var(--text) !important;
    padding-left:0 !important;
    padding-right:0 !important;
}
[data-inline-editor]:not(.is-editing) .ts-wrapper.disabled .ts-control > input
{
    display:none !important;
}

/* Explorer: primero destino, después protocolos; el detalle sólo existe al elegir protocolo. */
.assurance-explorer-grid
{
    grid-template-columns:minmax(240px,320px) minmax(0,1fr) !important;
    min-height:0 !important;
}
.assurance-explorer-grid > section
{
    min-height:230px;
}
.explorer-protocol-placeholder
{
    display:grid;
    place-items:center;
    align-content:center;
    min-height:180px;
    text-align:center;
    color:var(--muted);
}
.explorer-protocol-placeholder strong
{
    color:var(--text);
    font-size:1rem;
}
.explorer-context-actions
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.explorer-context-actions > div:last-child
{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.assurance-explorer > .assurance-explorer-detail
{
    margin-top:12px;
    max-height:none;
    overflow:visible;
    padding:14px;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--panel2);
}
.empty-state.compact
{
    min-height:120px;
}

/* Ficha normativa: identidad editable exactamente donde se visualiza. */
.standard-identity
{
    min-width:0;
    flex:1;
}
.standard-code-kicker
{
    display:flex;
    align-items:center;
    gap:6px;
    color:var(--muted);
    font-size:.72rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    min-height:30px;
}
.standard-code-kicker b
{
    color:var(--accent);
}
.standard-code-kicker input
{
    width:min(220px,50vw);
    min-height:30px;
    padding:4px 8px;
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
    text-transform:uppercase;
}
.standard-identity-meta
{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:8px;
}
.standard-identity-meta label
{
    display:grid;
    gap:2px;
    min-width:125px;
    padding:7px 9px;
    border:1px solid var(--line);
    border-radius:9px;
    background:var(--panel2);
}
.standard-identity-meta small
{
    color:var(--muted);
    font-size:.62rem;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.standard-identity-meta span
{
    color:var(--text);
    font-size:.82rem;
    font-weight:700;
}
.standard-identity-meta input,
.standard-identity-meta select,
.standard-identity-meta .ts-control
{
    min-height:34px;
    padding:5px 7px;
}
.standard-date-strip
{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-bottom:14px;
}
.standard-date-strip label
{
    display:grid;
    gap:4px;
    padding:9px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--panel2);
}
.standard-date-strip b
{
    color:var(--muted);
    font-size:.67rem;
    text-transform:uppercase;
}

/* Árbol CRUD reusable. */
.hierarchy-tree,
.hierarchy-tree-list
{
    min-width:0;
}
.hierarchy-tree-list
{
    list-style:none;
    margin:0;
    padding:0;
}
.hierarchy-tree-children
{
    margin-left:33px;
    padding-left:14px;
    border-left:1px dashed rgba(148,163,184,.22);
    min-height:6px;
}
.hierarchy-tree-item
{
    margin:6px 0;
}
.normative-tree-editor
{
    border:1px solid var(--line);
    border-radius:11px;
    background:var(--panel2);
    overflow:visible;
}
.normative-tree-item.is-archived > .normative-tree-editor
{
    opacity:.62;
}
.normative-tree-row
{
    display:grid;
    grid-template-columns:28px 28px minmax(76px,110px) minmax(180px,1fr) auto auto;
    gap:7px;
    align-items:center;
    min-height:48px;
    padding:7px 9px;
}
.hierarchy-tree-handle,
.hierarchy-tree-toggle
{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:7px;
    background:transparent;
    color:var(--muted);
}
.hierarchy-tree-handle
{
    cursor:grab;
    letter-spacing:-2px;
}
.hierarchy-tree-handle:active
{
    cursor:grabbing;
}
.hierarchy-tree-toggle:hover,
.hierarchy-tree-handle:hover
{
    background:rgba(99,102,241,.12);
    color:var(--text);
}
.normative-tree-code
{
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
    color:var(--accent);
    font-size:.76rem;
    font-weight:800;
}
.normative-tree-name
{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.86rem;
}
.normative-tree-code-input,
.normative-tree-name-input
{
    min-height:34px;
    padding:5px 7px;
}
.normative-tree-relations
{
    display:flex;
    gap:5px;
    color:var(--muted);
    font-size:.68rem;
    white-space:nowrap;
}
.normative-tree-relations span
{
    padding:4px 6px;
    border:1px solid var(--line);
    border-radius:7px;
}
.normative-tree-row .inline-editor-actions
{
    flex-wrap:nowrap;
}
.normative-tree-body
{
    padding:11px 14px 14px 77px;
    border-top:1px solid var(--line);
}
.normative-tree-actions
{
    margin-top:9px;
}
.hierarchy-tree-ghost
{
    opacity:.35;
}
.hierarchy-tree-chosen > .normative-tree-editor
{
    border-color:rgba(99,102,241,.55);
    box-shadow:0 10px 30px rgba(0,0,0,.2);
}
.hierarchy-tree.is-saving
{
    cursor:progress;
}

@media(max-width:980px)
{
    .normative-tree-row
    {
        grid-template-columns:26px 26px minmax(68px,90px) minmax(150px,1fr) auto;
    }
    .normative-tree-relations
    {
        display:none;
    }
    .normative-tree-row .inline-editor-actions
    {
        grid-column:3/-1;
        justify-content:flex-start;
    }
    .normative-tree-body
    {
        padding-left:14px;
    }
}
@media(max-width:700px)
{
    .assurance-explorer-grid
    {
        grid-template-columns:1fr !important;
    }
    .standard-date-strip
    {
        grid-template-columns:1fr;
    }
    .normative-tree-heading .header-actions
    {
        width:100%;
        flex-wrap:wrap;
    }
    .hierarchy-tree-children
    {
        margin-left:17px;
        padding-left:8px;
    }
}

/* 6.1.9 · el control Bloquear/Desbloquear conserva coordenadas y ancho. */
.inline-editor-actions
{
    flex-wrap:nowrap;
    min-width:216px;
}
.inline-editor-actions [data-editor-cancel]
{
    min-width:78px;
    justify-content:center;
}
.inline-editor-actions [data-editor-cancel][hidden]
{
    display:inline-flex !important;
    visibility:hidden;
    pointer-events:none;
}


/* ============================================================
   Loki SaaS 6.1.11 · Assurance accionable / búsquedas dinámicas
   ============================================================ */
[hidden]{display:none!important}

/* Tom Select: colores explícitos en modo edición. */
[data-inline-editor].is-editing .ts-wrapper:not(.disabled) .ts-control,
[data-inline-editor].is-editing .ts-wrapper:not(.disabled) .ts-dropdown,
.relation-multiselect-form .ts-control,
.relation-multiselect-form .ts-dropdown,
.modal .ts-control,
.modal .ts-dropdown
{
    background:var(--panel3)!important;
    border-color:var(--line)!important;
    color:var(--text)!important;
    -webkit-text-fill-color:var(--text)!important;
}
[data-inline-editor].is-editing .ts-control > input,
.relation-multiselect-form .ts-control > input,
.modal .ts-control > input
{
    background:transparent!important;
    color:var(--text)!important;
    -webkit-text-fill-color:var(--text)!important;
}
body .ts-dropdown .option,
body .ts-dropdown .create,
body .ts-dropdown .no-results,
body .ts-dropdown .optgroup-header
{
    background:var(--panel3);
    color:var(--text)!important;
    -webkit-text-fill-color:var(--text)!important;
}
body .ts-dropdown .option.active,
body .ts-dropdown .option:hover
{
    background:var(--panel2)!important;
    color:var(--text)!important;
}
body .ts-wrapper.multi .ts-control > div
{
    background:rgba(56,236,145,.11)!important;
    border-color:rgba(56,236,145,.24)!important;
    color:var(--text)!important;
    -webkit-text-fill-color:var(--text)!important;
}

/* Explorer compacto: el destino sólo vive en la columna izquierda. */
.explorer-column-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;min-height:32px}.explorer-column-heading>strong{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.explorer-protocol-list{display:grid;gap:5px}.explorer-protocol b{display:block;font-size:13px;color:var(--text);line-height:1.25}.explorer-protocol small{display:block;margin-top:3px;color:var(--muted);font:10px ui-monospace,SFMono-Regular,Consolas,monospace}.assurance-explorer-protocols{min-height:230px}.explorer-protocol-placeholder:empty{display:none!important}

/* Salud: más información sin volverla decorativa. */
.health-overall{display:grid;justify-items:center;gap:5px}.health-ring.large{width:82px;height:82px}.health-ring.large:before{inset:8px}.health-ring.large b{font-size:18px}.health-stat-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 12px}.health-stat-strip article{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.health-stat-strip strong,.health-stat-strip span{display:block}.health-stat-strip strong{font-size:19px}.health-stat-strip span{margin-top:2px;color:var(--muted);font-size:10px}.health-filter-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--muted);font-size:11px}.catalog-filter-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.catalog-filter-row>.admin-catalog-search{flex:1}.health-progress{cursor:pointer}.health-progress:hover{border-color:var(--line-strong);transform:translateY(-1px)}

/* Fundamento navegable. */
.normative-link-list{display:flex;flex-wrap:wrap;gap:5px}.normative-link-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);color:var(--text);text-decoration:none;font-size:10px}.normative-link-chip:hover{border-color:var(--accent);color:var(--green2)}

/* Cobertura normativa general. */
.normative-coverage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.normative-coverage-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.normative-coverage-card h3{margin:2px 0 3px}.normative-coverage-card p{margin:0;color:var(--muted);font-size:11px}.coverage-card-body{min-width:0}.coverage-card-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.coverage-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.metric-drilldown summary{cursor:pointer}.metric-drilldown-list{display:grid;gap:5px;margin-top:7px;padding:7px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.metric-drilldown-list a,.metric-drilldown-list span{display:flex;justify-content:space-between;gap:8px;padding:6px 7px;border-radius:7px;color:inherit;text-decoration:none}.metric-drilldown-list a:hover{background:var(--panel3)}

/* Catálogos base accionables. */
.base-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.base-catalog-card{display:grid;gap:7px;color:inherit;text-decoration:none;transition:.15s ease}.base-catalog-card:hover{border-color:var(--line-strong);transform:translateY(-1px)}.base-catalog-card>div{display:flex;align-items:baseline;gap:6px}.base-catalog-card>div strong{font-size:22px}.base-catalog-card h3,.base-catalog-card p{margin:0}.base-catalog-card p{color:var(--muted);font-size:11px;line-height:1.4}.base-catalog-card>span{color:var(--green2);font-size:11px;font-weight:700}

/* Mapa del protocolo: cada etapa es navegación real. */
.protocol-map-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-bottom:14px}.protocol-map-nav a{display:grid;grid-template-columns:auto 1fr;gap:3px 8px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:inherit;text-decoration:none}.protocol-map-nav a:hover{border-color:var(--accent);background:var(--panel2)}.protocol-map-nav a>small{grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--panel3);color:var(--green2);font-weight:800}.protocol-map-nav a strong{font-size:11px}.protocol-map-nav a span{font-size:9px;color:var(--muted);line-height:1.3}

/* CRUD: resultados reemplazables vía AJAX sin saltar de página. */
[data-crud-results].is-loading{opacity:.56;pointer-events:none}.crud-search-status{min-width:110px;text-align:right;color:var(--muted);font-size:10px}.assurance-pagination [data-crud-page]{text-decoration:none}

@media(max-width:1100px){.health-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.normative-coverage-grid,.base-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.protocol-map-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.health-stat-strip,.normative-coverage-grid,.base-catalog-grid,.protocol-map-nav{grid-template-columns:1fr}.catalog-filter-row{align-items:stretch;flex-direction:column}.health-filter-banner{width:100%}}
.related-foundation-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.related-foundation-grid>.panel{margin:0}@media(max-width:850px){.related-foundation-grid{grid-template-columns:1fr}}

/* ============================================================
   Loki SaaS 6.1.11 · Cobertura normativa simple y operable
   ============================================================ */
.normative-coverage-toolbar
{
    display:grid;
    grid-template-columns:minmax(280px,1.4fr) minmax(220px,1fr) minmax(130px,.45fr);
    gap:10px;
    align-items:end;
    margin-bottom:14px;
}
.normative-coverage-toolbar label
{
    display:grid;
    gap:5px;
    min-width:0;
}
.normative-coverage-toolbar label > span
{
    font-size:9px;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--muted);
}
.coverage-selected-head
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:12px 0;
    border-top:1px solid var(--line);
}
.coverage-selected-head h3
{
    margin:3px 0 2px;
    font-size:20px;
}
.coverage-summary-strip
{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin-bottom:12px;
}
.coverage-summary-strip article
{
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:11px;
    background:var(--panel2);
}
.coverage-summary-strip strong,
.coverage-summary-strip span
{
    display:block;
}
.coverage-summary-strip strong
{
    font-size:18px;
}
.coverage-summary-strip span
{
    margin-top:2px;
    color:var(--muted);
    font-size:10px;
}
.normative-coverage-table td:nth-child(1)
{
    white-space:nowrap;
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
}
.normative-coverage-table td:nth-child(3),
.normative-coverage-table td:nth-child(4),
.normative-coverage-table td:nth-child(5),
.normative-coverage-table td:nth-child(6)
{
    white-space:nowrap;
}
@media(max-width:900px)
{
    .normative-coverage-toolbar,
    .coverage-summary-strip
    {
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:620px)
{
    .normative-coverage-toolbar,
    .coverage-summary-strip
    {
        grid-template-columns:1fr;
    }
    .coverage-selected-head
    {
        align-items:flex-start;
    }
}


/* ============================================================
   Loki SaaS 6.3.0 · selects uniformes en todo el SaaS
   ============================================================ */
html:not(.loki-native-select-workspace) .app-shell select
{
    background:#0b110e;
    color:#edf7f0;
    -webkit-text-fill-color:#edf7f0;
    border-color:#314138;
}
html:not(.loki-native-select-workspace) .app-shell select option,
html:not(.loki-native-select-workspace) .app-shell select optgroup
{
    background:#111b16;
    color:#edf7f0;
}
html:not(.loki-native-select-workspace) .app-shell .ts-wrapper
{
    color:#edf7f0;
}
html:not(.loki-native-select-workspace) .app-shell .ts-control,
html:not(.loki-native-select-workspace) .app-shell .ts-dropdown
{
    background:#17231c !important;
    color:#edf7f0 !important;
    -webkit-text-fill-color:#edf7f0 !important;
    border-color:#314138 !important;
}
html:not(.loki-native-select-workspace) .app-shell .ts-control > input,
html:not(.loki-native-select-workspace) .app-shell .ts-control > input::placeholder
{
    background:transparent !important;
    color:#edf7f0 !important;
    -webkit-text-fill-color:#edf7f0 !important;
}
html:not(.loki-native-select-workspace) .app-shell .ts-control > input::placeholder
{
    color:#8fa49a !important;
    -webkit-text-fill-color:#8fa49a !important;
}
html:not(.loki-native-select-workspace) .app-shell .ts-control .item,
html:not(.loki-native-select-workspace) .app-shell .ts-control > div,
html:not(.loki-native-select-workspace) .app-shell .ts-dropdown .option,
html:not(.loki-native-select-workspace) .app-shell .ts-dropdown .create,
html:not(.loki-native-select-workspace) .app-shell .ts-dropdown .no-results,
html:not(.loki-native-select-workspace) .app-shell .ts-dropdown .optgroup-header
{
    color:#edf7f0 !important;
    -webkit-text-fill-color:#edf7f0 !important;
}
html:not(.loki-native-select-workspace) .app-shell .ts-dropdown .option,
html:not(.loki-native-select-workspace) .app-shell .ts-dropdown .create,
html:not(.loki-native-select-workspace) .app-shell .ts-dropdown .no-results,
html:not(.loki-native-select-workspace) .app-shell .ts-dropdown .optgroup-header
{
    background:#17231c !important;
}
html:not(.loki-native-select-workspace) .app-shell .ts-dropdown .option.active,
html:not(.loki-native-select-workspace) .app-shell .ts-dropdown .option:hover
{
    background:#22352a !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
}
html:not(.loki-native-select-workspace) .app-shell .ts-wrapper.focus .ts-control,
html:not(.loki-native-select-workspace) .app-shell .ts-wrapper.input-active .ts-control
{
    border-color:#35e58b !important;
    box-shadow:0 0 0 3px rgba(53,229,139,.08) !important;
}
html:not(.loki-native-select-workspace) .app-shell .ts-wrapper.disabled .ts-control
{
    background:transparent !important;
    border-color:transparent !important;
    color:#edf7f0 !important;
    -webkit-text-fill-color:#edf7f0 !important;
    opacity:1 !important;
    padding-left:0;
}
html:not(.loki-native-select-workspace) .app-shell .ts-wrapper.disabled .ts-control .item,
html:not(.loki-native-select-workspace) .app-shell .ts-wrapper.disabled .ts-control > div
{
    background:transparent !important;
    border-color:transparent !important;
    color:#edf7f0 !important;
    -webkit-text-fill-color:#edf7f0 !important;
}
html:not(.loki-native-select-workspace) .app-shell .ts-wrapper.multi:not(.disabled) .ts-control > div
{
    background:rgba(53,229,139,.12) !important;
    border:1px solid rgba(53,229,139,.28) !important;
    color:#edf7f0 !important;
    -webkit-text-fill-color:#edf7f0 !important;
}
/* Las reglas de Assurance nunca heredan el gris del label. */
#rules .ts-wrapper:not(.disabled) .ts-control,
#rules .ts-wrapper:not(.disabled) .ts-dropdown,
.normative-coverage-toolbar .ts-wrapper:not(.disabled) .ts-control,
.normative-coverage-toolbar .ts-wrapper:not(.disabled) .ts-dropdown
{
    background:#17231c !important;
    color:#edf7f0 !important;
    -webkit-text-fill-color:#edf7f0 !important;
}

/* ============================================================
   Loki SaaS 6.3.0 · UX operacional del administrador de empresa
   ============================================================ */
.command-empty
{
    display:grid;
    gap:4px;
    padding:18px 20px;
    color:var(--muted);
}
.command-empty strong
{
    color:var(--text);
}
.command-live-result small
{
    white-space:normal;
}
.user-inline-editor:not(.is-editing) [data-editable]
{
    cursor:default;
}
.user-inline-editor:not(.is-editing) input[data-editable]:disabled,
.user-inline-editor:not(.is-editing) textarea[data-editable]:disabled
{
    background:transparent;
    border-color:transparent;
    box-shadow:none;
    color:var(--text);
    -webkit-text-fill-color:var(--text);
    opacity:1;
    padding-left:0;
}
.user-inline-editor:not(.is-editing) textarea[data-editable]:disabled
{
    resize:none;
}
.user-inline-editor.is-editing
{
    border-color:rgba(53,229,139,.24);
    box-shadow:0 0 0 1px rgba(53,229,139,.05);
}
.support-workspace
{
    display:grid;
    grid-template-columns:minmax(290px,360px) minmax(0,1fr);
    gap:14px;
    align-items:start;
    margin-top:14px;
}
.support-master
{
    position:sticky;
    top:76px;
    max-height:calc(100vh - 94px);
    overflow:hidden;
    display:flex;
    flex-direction:column;
}
.support-master-head
{
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:end;
    margin-bottom:10px;
}
.support-master-head h2
{
    margin:2px 0 0;
}
.support-ticket-list
{
    display:grid;
    gap:7px;
    overflow:auto;
    padding-right:3px;
}
.support-ticket-row
{
    appearance:none;
    width:100%;
    border:1px solid var(--line);
    border-radius:12px;
    background:var(--panel2);
    color:var(--text);
    text-align:left;
    padding:11px 12px;
    cursor:pointer;
    display:grid;
    gap:5px;
}
.support-ticket-row:hover,
.support-ticket-row.active
{
    border-color:rgba(53,229,139,.52);
    background:rgba(53,229,139,.065);
}
.support-ticket-row.active
{
    box-shadow:inset 3px 0 0 var(--accent);
}
.support-row-top,
.support-row-meta
{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
}
.support-row-top b
{
    font-size:10px;
    color:var(--muted);
    letter-spacing:.04em;
}
.support-ticket-row > strong
{
    font-size:13px;
    line-height:1.28;
}
.support-ticket-row > small,
.support-row-meta
{
    color:var(--muted);
    font-size:9px;
}
.support-row-meta
{
    justify-content:flex-start;
}
.priority-dot
{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--muted);
    display:inline-block;
}
.priority-dot.high{background:#ffba4a}.priority-dot.critical{background:#ff5f68}.priority-dot.low{background:#65a8ff}.priority-dot.normal{background:#44df91}
.support-detail-column
{
    min-width:0;
}
.support-ticket-detail[hidden]
{
    display:none !important;
}
.support-detail-head
{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:flex-start;
    margin-bottom:12px;
}
.support-detail-head h2
{
    margin:3px 0 7px;
}
.support-ticket-stats
{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.support-ticket-stats span
{
    display:grid;
    gap:2px;
    min-width:88px;
    padding:8px 10px;
    border:1px solid var(--line);
    border-radius:10px;
    color:var(--muted);
    font-size:9px;
}
.support-ticket-stats b
{
    color:var(--text);
    font-size:11px;
}
.support-assurance-origin
{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    padding:10px 12px;
    margin-bottom:12px;
    border:1px solid rgba(84,167,255,.25);
    border-radius:11px;
    background:rgba(84,167,255,.055);
    color:inherit;
    text-decoration:none;
}
.support-assurance-origin > span
{
    color:#65a8ff;
    font-size:18px;
}
.support-assurance-origin div
{
    display:grid;
    gap:2px;
}
.support-assurance-origin small
{
    color:var(--muted);
}
.support-assurance-origin > strong
{
    font-size:10px;
    color:#8bbfff;
}
.support-ticket-grid
{
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);
    gap:14px;
}
.support-chat-panel,
.support-meta-panel
{
    min-width:0;
    border:1px solid var(--line);
    border-radius:12px;
    background:var(--panel2);
    padding:12px;
}
.support-chat-head
{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:end;
    margin-bottom:10px;
}
.support-chat-head h3
{
    margin:2px 0 0;
}
.support-chat-head > small
{
    color:var(--muted);
    font-size:9px;
}
.support-thread
{
    display:flex;
    flex-direction:column;
    gap:8px;
    max-height:54vh;
    min-height:220px;
    overflow:auto;
    padding:4px 2px 10px;
}
.support-message
{
    max-width:min(82%,700px);
    padding:9px 11px;
    border-radius:12px;
    border:1px solid var(--line);
    background:var(--panel3);
}
.support-message.from-admin
{
    align-self:flex-end;
    background:rgba(53,229,139,.075);
    border-color:rgba(53,229,139,.22);
}
.support-message.from-agent
{
    align-self:flex-start;
    background:rgba(84,167,255,.075);
    border-color:rgba(84,167,255,.2);
}
.support-message header
{
    display:flex;
    justify-content:space-between;
    gap:14px;
    font-size:9px;
}
.support-message header time,
.support-message > small
{
    color:var(--muted);
}
.support-message p
{
    margin:6px 0;
    font-size:12px;
    line-height:1.45;
}
.support-reply-form
{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    align-items:end;
    border-top:1px solid var(--line);
    padding-top:10px;
}
.support-reply-form textarea
{
    min-height:58px;
    max-height:160px;
    resize:vertical;
}
.support-edit-form
{
    display:grid;
    gap:9px;
}
.assurance-support-linkage
{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:10px;
}
.assurance-support-linkage .support-ticket-pill
{
    text-decoration:none;
}
.quick-capture-strip
{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:8px;
}
@media(max-width:1050px)
{
    .support-workspace,
    .support-ticket-grid
    {
        grid-template-columns:1fr;
    }
    .support-master
    {
        position:static;
        max-height:none;
    }
    .support-ticket-list
    {
        max-height:320px;
    }
}
@media(max-width:650px)
{
    .support-detail-head,
    .support-chat-head
    {
        align-items:flex-start;
        flex-direction:column;
    }
    .support-ticket-stats
    {
        justify-content:flex-start;
    }
    .support-reply-form
    {
        grid-template-columns:1fr;
    }
}

.organization-card-section
{
    margin-top:18px;
}
.organization-card-grid
{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.organization-inline-card
{
    margin:0;
}
.organization-inline-card .panel-title h3
{
    margin:3px 0 1px;
}
.organization-usage
{
    align-self:end;
    display:grid;
    gap:2px;
    padding:8px 0;
}
.organization-usage span
{
    color:var(--muted);
    font-size:9px;
}
.organization-usage strong
{
    font-size:11px;
}
.organization-contact-actions
{
    display:flex;
    gap:6px;
    align-items:end;
    flex-wrap:wrap;
    padding-bottom:4px;
}
.danger-inline-action
{
    display:flex;
    justify-content:flex-end;
    margin-top:8px;
    padding-top:8px;
    border-top:1px solid var(--line);
}
@media(max-width:900px)
{
    .organization-card-grid
    {
        grid-template-columns:1fr;
    }
}

.license-grid-editable
{
    align-items:start;
}
.license-card-actions
{
    display:flex;
    gap:10px;
    align-items:flex-start;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.license-inline-title
{
    min-width:0;
    flex:1;
}
.inline-title-control,
.inline-subtitle-control
{
    width:100%;
}
.inline-title-control
{
    font-size:18px;
    font-weight:800;
}
.inline-subtitle-control
{
    margin-top:3px;
    font-size:11px;
}
.user-inline-editor:not(.is-editing) .inline-title-control:disabled,
.user-inline-editor:not(.is-editing) .inline-subtitle-control:disabled
{
    padding:0;
    min-height:0;
}
.user-inline-editor:not(.is-editing) .inline-subtitle-control:disabled
{
    color:var(--muted);
    -webkit-text-fill-color:var(--muted);
}
.license-edit-grid
{
    margin-top:8px;
}

.quick-capture-grid
{
    margin-bottom:10px;
}
.quick-advanced-capture
{
    margin-top:12px;
    border:1px solid var(--line);
    border-radius:12px;
    background:var(--panel2);
}
.quick-advanced-capture > summary
{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:center;
    cursor:pointer;
    padding:12px 14px;
    list-style:none;
}
.quick-advanced-capture > summary::-webkit-details-marker
{
    display:none;
}
.quick-advanced-capture > summary span
{
    display:grid;
    gap:2px;
}
.quick-advanced-capture > summary small,
.quick-advanced-capture > summary em
{
    color:var(--muted);
    font-size:9px;
    font-style:normal;
}
.quick-advanced-capture[open] > summary
{
    border-bottom:1px solid var(--line);
}
.quick-advanced-body
{
    padding:13px;
}

/* 6.3.0 · edición inline de estructura física */
.structure-inline-editor
{
    display: grid;
    gap: .75rem;
    margin: .65rem 0 1rem;
    padding: .85rem;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: rgba(255,255,255,.018);
}
.structure-edit-head
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}
.structure-edit-head > span
{
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--muted);
}
[data-agent-metrics] .ops-status-card
{
    cursor: pointer;
    text-align: left;
}
[data-agent-metrics] .ops-status-card.is-selected
{
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

/* 6.3.0 · miembros y accesos */
.member-card-grid
{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:14px 0;
}
.member-access-card
{
    display:grid;
    gap:12px;
}
.member-access-card.is-disabled
{
    opacity:.72;
}
.member-access-head
{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
}
.member-access-head h2
{
    margin:3px 0;
}
.member-access-head a
{
    color:var(--muted);
    font-size:.82rem;
}
.member-access-foot
{
    padding-top:8px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:.76rem;
}
.invitation-grid
{
    display:grid;
    gap:8px;
}
.invitation-card
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:11px;
    background:var(--panel2);
}
.invitation-card strong,
.invitation-card small
{
    display:block;
}
.invitation-card small
{
    margin-top:3px;
    color:var(--muted);
}
[data-member-metrics] .ops-status-card
{
    cursor:pointer;
    text-align:left;
}
[data-member-metrics] .ops-status-card.is-selected
{
    outline:2px solid var(--accent);
    outline-offset:2px;
}
@media(max-width:1100px)
{
    .member-card-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:700px)
{
    .member-card-grid
    {
        grid-template-columns:1fr;
    }
}

/* 6.3.0 · indicadores accionables del administrador de empresa */
.health-bars .health-row-link{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(120px,3fr) 42px;gap:10px;align-items:center;color:inherit;text-decoration:none;border-radius:10px;padding:5px 7px;margin:0 -7px}
.health-bars .health-row-link:hover,.health-bars .health-row-link:focus-visible{background:var(--panel-strong,#18241f);outline:none}
.ops-status-card.is-selected{outline:2px solid var(--accent,#51e39a);outline-offset:2px;box-shadow:0 0 0 4px rgba(81,227,154,.08)}

.support-deep-filter{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid rgba(53,229,139,.22);border-radius:10px;background:rgba(53,229,139,.06);color:var(--text);font-size:11px}.support-deep-filter[hidden]{display:none!important}

/* ============================================================
   Bifrost 6.4 · uploader transversal y puente de cámara móvil
   ============================================================ */
.bifrost-uploader{min-width:0}.bifrost-dropzone{display:flex;align-items:center;gap:14px;min-height:96px;padding:16px;border:1px dashed rgba(116,255,180,.3);border-radius:16px;background:linear-gradient(135deg,rgba(76,255,154,.055),rgba(92,214,255,.025));cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.bifrost-dropzone:hover,.bifrost-dropzone:focus-visible,.bifrost-dropzone.is-dragging{outline:0;border-color:rgba(116,255,180,.72);background:linear-gradient(135deg,rgba(76,255,154,.11),rgba(92,214,255,.055));transform:translateY(-1px)}.bifrost-dropzone-mark{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:15px;border:1px solid rgba(116,255,180,.25);background:rgba(116,255,180,.07);color:#7cffb0;font-size:27px;box-shadow:0 0 28px rgba(116,255,180,.06)}.bifrost-dropzone-copy{display:grid;gap:4px;min-width:180px;flex:1}.bifrost-dropzone-copy strong{font-size:15px}.bifrost-dropzone-copy span{font-size:12px;color:var(--muted,#8fa39a);line-height:1.35}.bifrost-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.bifrost-direct-capture{display:none!important}.bifrost-queue{display:grid;gap:7px;margin-top:8px}.bifrost-queue-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.018)}.bifrost-queue-icon{color:#7cffb0}.bifrost-queue-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--muted,#9bac9f)}.bifrost-queue-state{font-size:11px;white-space:nowrap}.bifrost-queue-state.working{color:#70d8ff}.bifrost-queue-state.done,.bifrost-queue-state.done a{color:#7cffb0}.bifrost-queue-state.error{color:#ff7d8c}.bifrost-notice{padding:8px 10px;border-radius:10px;border:1px solid rgba(112,216,255,.2);background:rgba(112,216,255,.06);font-size:11px}.bifrost-notice.error{color:#ff98a4;border-color:rgba(255,125,140,.2);background:rgba(255,125,140,.06)}.bifrost-new-evidence{animation:bifrostEvidenceIn .45s ease both}@keyframes bifrostEvidenceIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
html.bifrost-modal-open{overflow:hidden}.bifrost-modal-backdrop{position:fixed;z-index:10050;inset:0;display:grid;place-items:center;padding:20px;background:rgba(2,7,5,.82);backdrop-filter:blur(14px)}.bifrost-modal-backdrop[hidden]{display:none!important}.bifrost-modal{position:relative;width:min(94vw,440px);padding:24px;border:1px solid rgba(124,255,176,.18);border-radius:24px;background:radial-gradient(circle at 50% 0,rgba(59,152,103,.16),transparent 35%),#0a1510;box-shadow:0 36px 100px rgba(0,0,0,.52);text-align:center}.bifrost-modal-x{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:10px;background:rgba(255,255,255,.05);color:#9fb2a8;font-size:22px;cursor:pointer}.bifrost-modal-brand{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:8px}.bifrost-modal-brand>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;border:1px solid rgba(124,255,176,.24);background:rgba(124,255,176,.07);color:#7cffb0;font-size:26px}.bifrost-modal-brand div{display:grid;text-align:left}.bifrost-modal-brand small{font-size:9px;letter-spacing:.2em;color:#80958a}.bifrost-modal-brand strong{font-size:20px}.bifrost-modal-target{margin:4px 30px 16px;color:#a8bbb1;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bifrost-qr-wrap{display:grid;justify-items:center;gap:10px}.bifrost-qr{display:grid;place-items:center;width:270px;min-height:270px;padding:12px;border-radius:19px;background:#fff;box-shadow:0 15px 50px rgba(0,0,0,.25)}.bifrost-qr img,.bifrost-qr canvas{max-width:100%;height:auto!important}.bifrost-qr-time{display:flex;align-items:center;gap:8px;color:#8fa399;font-size:11px}.bifrost-qr-time strong{display:inline-grid;place-items:center;min-width:38px;padding:5px 7px;border-radius:999px;background:rgba(124,255,176,.08);color:#7cffb0;font-variant-numeric:tabular-nums}.bifrost-connected{display:grid;justify-items:center;padding:20px 8px}.bifrost-connected[hidden]{display:none!important}.bifrost-connected-icon{display:grid;place-items:center;width:74px;height:74px;margin-bottom:12px;border-radius:24px;border:1px solid rgba(124,255,176,.25);background:rgba(124,255,176,.075);color:#7cffb0;font-size:34px}.bifrost-connected strong{font-size:19px}.bifrost-connected p{max-width:320px;color:#93a79c;font-size:12px;line-height:1.45}.bifrost-live-count{display:flex;align-items:baseline;gap:7px;margin-top:8px}.bifrost-live-count strong{font-size:28px;color:#7cffb0}.bifrost-live-count span{font-size:11px;color:#93a79c}.bifrost-modal-message{min-height:18px;margin-top:10px;font-size:11px;color:#8fa399}.bifrost-modal-message.error{color:#ff8997}.bifrost-modal-message.success{color:#7cffb0}.bifrost-modal-actions{display:flex;justify-content:center;margin-top:14px}
@media (max-width:760px),(pointer:coarse){.bifrost-dropzone{align-items:flex-start;flex-wrap:wrap}.bifrost-dropzone-copy{min-width:calc(100% - 68px)}.bifrost-actions{width:100%;justify-content:flex-start}.bifrost-direct-capture{display:inline-flex!important}.bifrost-modal{padding:20px 15px}.bifrost-qr{width:min(270px,76vw);min-height:min(270px,76vw)}}

.bifrost-remote-button{width:42px;height:36px;padding:0;display:inline-grid;place-items:center;font-size:18px}

/* Loki 6.5.0 · Assurance media gallery */
.assurance-evidence-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:9px;padding:0 13px 12px}.assurance-evidence-gallery[hidden]{display:none!important}.assurance-evidence-card{display:grid;grid-template-rows:112px auto auto;gap:7px;min-width:0;padding:0 0 9px;overflow:hidden;text-align:left;border:1px solid #293c32;border-radius:12px;background:#0a120e;color:#dce9e2;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.assurance-evidence-card:hover,.assurance-evidence-card:focus-visible{outline:0;transform:translateY(-2px);border-color:#4d7c63;box-shadow:0 12px 28px rgba(0,0,0,.2)}.assurance-evidence-preview{position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 20%,#183427,#09110d 70%);color:#89e7ad}.assurance-evidence-preview img,.assurance-evidence-preview video{grid-area:1/1;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.assurance-evidence-preview video{background:#020604}.assurance-evidence-card:hover .assurance-evidence-preview img{transform:scale(1.025)}.assurance-evidence-video-mark,.assurance-evidence-file-mark{grid-area:1/1;position:relative;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:1px solid #3b624c;border-radius:50%;background:rgba(9,18,13,.76);font-size:18px}.assurance-evidence-file-mark{border-radius:13px;font-size:24px}.assurance-evidence-preview>small{position:absolute;right:8px;bottom:7px;padding:3px 6px;border-radius:6px;background:rgba(0,0,0,.68);color:#dbeae1;font-size:7px;letter-spacing:.1em}.assurance-evidence-card-copy{display:grid;gap:3px;padding:0 9px;min-width:0}.assurance-evidence-card-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.assurance-evidence-card-copy small{display:-webkit-box;overflow:hidden;color:#81978b;font-size:8px;line-height:1.4;-webkit-line-clamp:2;-webkit-box-orient:vertical}.assurance-evidence-card-meta{padding:0 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5f796b;font-size:7px}.assurance-evidence-item{display:none}.assurance-lightbox-open{overflow:hidden}.assurance-media-lightbox{position:fixed;z-index:12000;inset:0;display:grid;place-items:center;padding:22px}.assurance-media-lightbox[hidden]{display:none!important}.assurance-media-lightbox-backdrop{position:absolute;inset:0;background:rgba(1,5,3,.9);backdrop-filter:blur(14px)}.assurance-media-lightbox-dialog{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(1180px,96vw);height:min(850px,92dvh);overflow:hidden;border:1px solid rgba(132,231,170,.2);border-radius:20px;background:#08110d;box-shadow:0 32px 100px rgba(0,0,0,.62)}.assurance-media-lightbox-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #203329}.assurance-media-lightbox-dialog>header>div{display:grid}.assurance-media-lightbox-dialog>header small{color:#658172;font-size:7px;letter-spacing:.15em}.assurance-media-lightbox-dialog>header strong{font-size:12px}.assurance-media-lightbox-dialog>header button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #2f463a;border-radius:9px;background:#0d1812;color:#a7b9af;font-size:22px;cursor:pointer}.assurance-media-lightbox-stage{display:grid;place-items:center;min-height:0;padding:14px;background:#030806}.assurance-media-lightbox-stage img,.assurance-media-lightbox-stage video{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:10px}.assurance-media-file-open{display:grid;place-items:center;gap:10px;color:#8be9ae;text-decoration:none}.assurance-media-file-open span{display:grid;place-items:center;width:80px;height:80px;border:1px solid #365943;border-radius:22px;background:#0d1d14;font-size:36px}.assurance-media-lightbox-dialog>footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 14px;border-top:1px solid #203329}.assurance-media-lightbox-dialog>footer>div:first-child{display:grid;gap:2px;min-width:0}.assurance-media-lightbox-dialog>footer strong{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assurance-media-lightbox-dialog>footer span,.assurance-media-lightbox-dialog>footer small{color:#7f9489;font-size:8px}.assurance-media-lightbox-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.assurance-media-lightbox-actions button,.assurance-media-lightbox-actions a{display:grid;place-items:center;min-width:34px;height:34px;padding:0 10px;border:1px solid #31483c;border-radius:9px;background:#0c1711;color:#9ed8b3;text-decoration:none;font-size:9px;cursor:pointer}.assurance-media-lightbox-actions button{font-size:20px}.assurance-media-lightbox-actions button:disabled{opacity:.35}.bifrost-new-evidence{animation:bifrostEvidenceIn .45s ease both}@media(max-width:700px){.assurance-evidence-gallery{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 10px 10px}.assurance-evidence-card{grid-template-rows:96px auto auto}.assurance-media-lightbox{padding:0}.assurance-media-lightbox-dialog{width:100vw;height:100dvh;border:0;border-radius:0}.assurance-media-lightbox-dialog>footer{align-items:flex-start;flex-direction:column}.assurance-media-lightbox-actions{width:100%;justify-content:space-between}.assurance-media-lightbox-actions a{flex:1}}
.assurance-media-text{width:min(760px,92%);max-height:72dvh;overflow:auto;padding:22px;border:1px solid #2d4437;border-radius:14px;background:#0b1510;color:#dce9e2;white-space:pre-wrap;font-size:12px;line-height:1.65}

/* Loki 6.5.0 · Bifrost transversal: galerías de Soporte e Inventario */
.bifrost-context-form{margin-top:10px}.bifrost-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px;margin:10px 0}.bifrost-media-card{display:grid;grid-template-rows:92px auto;min-width:0;overflow:hidden;border:1px solid #293c32;border-radius:12px;background:#0a120e;color:inherit;text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.bifrost-media-card:hover,.bifrost-media-card:focus-visible{outline:0;transform:translateY(-2px);border-color:#4d7c63;box-shadow:0 12px 28px rgba(0,0,0,.2)}.bifrost-media-preview{position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 20%,#183427,#09110d 70%);color:#89e7ad}.bifrost-media-preview img,.bifrost-media-preview video{grid-area:1/1;width:100%;height:100%;object-fit:cover;background:#020604}.bifrost-media-preview i{grid-area:1/1;position:relative;z-index:2;display:grid;place-items:center;min-width:44px;height:44px;padding:0 8px;border:1px solid #3b624c;border-radius:14px;background:rgba(9,18,13,.78);color:#b8f1cd;font-size:14px;font-style:normal;font-weight:800}.bifrost-media-card.kind-video .bifrost-media-preview i{width:44px;padding:0;border-radius:50%;font-size:17px}.bifrost-media-copy{display:grid;gap:3px;min-width:0;padding:9px}.bifrost-media-copy strong,.bifrost-media-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bifrost-media-copy strong{font-size:10px}.bifrost-media-copy small{color:#81978b;font-size:8px}.bifrost-media-empty{grid-column:1/-1;padding:14px;border:1px dashed #2d4035;border-radius:11px;color:var(--muted);font-size:10px;text-align:center}.support-attachments-block{display:grid;gap:9px;margin-top:12px;padding-top:12px;border-top:1px solid #26372e}.support-attachments-head{display:flex;align-items:end;justify-content:space-between;gap:10px}.support-attachments-head h4{margin:2px 0 0}.support-media-grid{grid-template-columns:repeat(auto-fill,minmax(135px,1fr));margin:0}.support-bifrost-form{display:grid;gap:8px}.support-attachment-title{display:grid;gap:5px;font-size:9px;color:var(--muted)}.support-attachment-title input{width:100%}.support-bifrost-form .bifrost-dropzone{min-height:82px;padding:12px}.support-bifrost-form .bifrost-dropzone-mark{width:40px;height:40px;flex-basis:40px;font-size:23px}.support-bifrost-form .bifrost-dropzone-copy strong{font-size:13px}.support-bifrost-form .bifrost-dropzone-copy span{font-size:10px}@media(max-width:700px){.bifrost-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bifrost-media-card{grid-template-rows:82px auto}.support-attachments-head{align-items:flex-start}.support-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Loki 6.5.0 · visor transversal de medios Bifrost */
.media-lightbox
{
    width:min(1100px,96vw);
    max-width:none;
    height:min(820px,94vh);
    padding:0;
    border:1px solid rgba(255,255,255,.14);
    border-radius:20px;
    background:#07100b;
    color:inherit;
    box-shadow:0 30px 90px rgba(0,0,0,.6);
}
.media-lightbox::backdrop
{
    background:rgba(0,0,0,.78);
    backdrop-filter:blur(5px);
}
.media-lightbox-shell
{
    height:100%;
    min-height:0;
    display:grid;
    grid-template-rows:auto 1fr;
}
.media-lightbox-head
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 16px;
    border-bottom:1px solid rgba(255,255,255,.1);
}
.media-lightbox-head>div:first-child
{
    min-width:0;
    display:grid;
    gap:3px;
}
.media-lightbox-head strong
{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.media-lightbox-actions
{
    display:flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
}
.media-lightbox-body
{
    min-height:0;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:#020504;
}
.media-lightbox-body img,
.media-lightbox-body video
{
    display:block;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
}
.media-lightbox-body iframe
{
    width:100%;
    height:100%;
    border:0;
    background:#fff;
}
@media (max-width:700px)
{
    .media-lightbox
    {
        width:100vw;
        height:100dvh;
        max-height:none;
        border:0;
        border-radius:0;
    }
    .media-lightbox-head
    {
        padding:10px 12px;
    }
    .media-lightbox-actions .btn
    {
        display:none;
    }
}

/* Loki 6.5.0 · Referencias + Bifrost */
.reference-media-panel
{
    margin-bottom:16px;
}
.reference-technical-upload
{
    display:grid;
    grid-template-columns:1fr minmax(220px,340px);
    align-items:center;
    gap:14px;
    padding:14px;
    border:1px dashed rgba(255,255,255,.16);
    border-radius:14px;
    background:rgba(255,255,255,.025);
}
.reference-technical-upload>div
{
    display:grid;
    gap:4px;
}
.reference-technical-upload input[type="file"]
{
    width:100%;
}
@media (max-width:700px)
{
    .reference-technical-upload
    {
        grid-template-columns:1fr;
    }
}

/* Loki 6.6.0 · Soporte 2.0 */
.support-entry-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0;padding:8px;border:1px solid #2a3b32;border-radius:12px;background:#09110d}.support-entry-choice{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon title" "icon copy";column-gap:8px;align-items:center;padding:9px 10px;border:1px solid #2c4035;border-radius:9px;background:#0d1712;color:#b8c9c0;text-align:left;cursor:pointer}.support-entry-choice>span{grid-area:icon;font-size:18px}.support-entry-choice>b{grid-area:title;font-size:10px}.support-entry-choice>small{grid-area:copy;color:#748a7e;font-size:8px}.support-entry-choice.active{border-color:#39a96d;background:#10251a;box-shadow:inset 0 0 0 1px rgba(57,169,109,.18)}.support-entry-mode.is-internal{border-color:#655127;background:#171208}.support-entry-mode.is-internal .support-entry-choice.active{border-color:#c99a3c;background:#261d0b;box-shadow:inset 0 0 0 1px rgba(201,154,60,.18)}.support-entry-mode>p{grid-column:1/-1;margin:0;padding:2px 4px;color:#80958a;font-size:9px}.support-entry-mode.is-internal>p{color:#c9a75e}.support-message.is-internal{max-width:100%;margin:0;border:1px dashed #8b6a2e;background:linear-gradient(135deg,#1d170a,#15120b);box-shadow:inset 3px 0 0 #c99a3c}.support-message.is-internal header b,.support-message.is-internal>small{color:#dfbd70}.bifrost-media-card.is-internal{border-style:dashed;border-color:#8b6a2e;background:#171208}.support-internal-badge{position:absolute;right:6px;top:6px;z-index:3;padding:3px 6px;border:1px solid #a47b31;border-radius:999px;background:rgba(28,21,8,.9);color:#e4c06e;font-size:7px;font-style:normal;font-weight:800;letter-spacing:.04em}.support-waiting-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px;border:1px solid #6c5424;border-radius:10px;background:#171208}.support-waiting-fields[hidden]{display:none!important}.support-waiting-fields label{margin:0}.support-meta-panel label>small{font-size:8px}.support-meta-panel label>small a{color:#74c998;text-decoration:none}.support-meta-panel label>small a:hover{text-decoration:underline}@media(max-width:700px){.support-entry-mode,.support-waiting-fields{grid-template-columns:1fr}.support-entry-mode>p{grid-column:1}.support-waiting-fields .span-2{grid-column:1}}

/* Loki 6.6.0 · visibilidad técnica de Soporte */
.support-entry-mode.is-shared-only
{
    display: block;
    padding: .75rem 1rem;
}
.support-entry-mode.is-shared-only p
{
    margin: 0;
}

/* ============================================================
   Loki SaaS 6.6.1 · Support Analytics
   ============================================================ */
.support-kpis-v661{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.support-executive-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:0;margin-bottom:14px;overflow:hidden}.support-executive-strip article{display:grid;gap:4px;padding:14px 15px;min-width:0}.support-executive-strip article+article{border-left:1px solid var(--line)}.support-executive-strip small,.support-period-summary small{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.support-executive-strip strong{font-size:18px;color:#dcebe3;white-space:nowrap}.support-executive-strip span{font-size:9px;color:#81968a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.support-period-summary{display:grid;grid-template-columns:minmax(260px,1.3fr) repeat(2,minmax(180px,.7fr));gap:0;align-items:stretch;padding:0;margin-bottom:14px;overflow:hidden}.support-period-summary>div,.support-period-summary>article{padding:15px 18px}.support-period-summary>article{display:grid;gap:4px;border-left:1px solid var(--line)}.support-period-summary h2{margin:4px 0 0}.support-period-summary strong{font-size:25px}.support-period-summary span{font-size:9px;color:var(--muted)}.support-delta.is-up,.support-delta.is-warn{color:#f0b64e}.support-delta.is-down,.support-delta.is-good{color:#55df91}.support-analytics-grid-v661{grid-template-columns:minmax(300px,.8fr) minmax(300px,.8fr);gap:14px}.support-calendar-panel,.support-trend-panel{grid-column:1/-1}.support-chart-help{margin:-2px 0 10px;color:var(--muted);font-size:10px}.support-chart-key{display:flex;gap:12px;align-items:center;font-size:9px;color:var(--muted)}.support-chart-key span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.support-chart-key .opened:before{background:#f0b64e}.support-chart-key .resolved:before{background:#55a7ff}.support-chart-key .response:before{background:#55a7ff}.support-chart-key .solution:before{background:#44df91}.support-trend-panel canvas{display:block;width:100%;height:185px}.support-aging-list{display:grid;gap:10px;margin-top:12px}.support-aging-list>div{display:grid;grid-template-columns:minmax(110px,1fr) auto;gap:5px 10px;align-items:center}.support-aging-list span{font-size:10px;color:#a8bbb0}.support-aging-list b{font-size:12px}.support-aging-list i{grid-column:1/-1;display:block;height:6px;border-radius:999px;background:#17231d;overflow:hidden;position:relative}.support-aging-list i:after{content:'';display:block;height:100%;width:calc((var(--value) / var(--max)) * 100%);min-width:0;background:linear-gradient(90deg,#1d7a49,#57eb94);border-radius:inherit}.support-calendar-heatmap{display:grid;grid-template-columns:34px repeat(13,minmax(18px,1fr));grid-template-rows:20px repeat(7,18px);gap:4px;align-items:center;overflow-x:auto;padding:4px 0 8px}.support-calendar-heatmap .heat-month{font-size:8px;color:#7f9589;text-transform:uppercase;white-space:nowrap;align-self:end}.support-calendar-heatmap .heat-weekday{font-size:8px;color:#71877b;text-align:right;padding-right:4px}.support-calendar-heatmap button{appearance:none;border:0;width:100%;height:18px;min-width:18px;border-radius:3px;background:#17231d;cursor:pointer;padding:0;position:relative}.support-calendar-heatmap button.level-1,.heatmap-scale i.level-1{background:#174c31}.support-calendar-heatmap button.level-2,.heatmap-scale i.level-2{background:#1d7a49}.support-calendar-heatmap button.level-3,.heatmap-scale i.level-3{background:#28b66b}.support-calendar-heatmap button.level-4,.heatmap-scale i.level-4{background:#57eb94}.support-calendar-heatmap button.is-today{outline:2px solid #e8f3ed;outline-offset:1px}.support-calendar-heatmap button.is-selected{box-shadow:0 0 0 2px #55a7ff inset}.support-calendar-heatmap button:hover{transform:scale(1.12);z-index:2}.support-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}.support-ranking-list{display:grid;gap:9px;margin-top:8px}.support-ranking-list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(70px,.8fr) 30px;gap:8px;align-items:center}.support-ranking-list span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.support-ranking-list i{height:6px;background:#17231d;border-radius:999px;overflow:hidden}.support-ranking-list i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1d7a49,#57eb94)}.support-ranking-list strong{text-align:right;font-size:11px}.support-analytics-filter-date{display:inline-flex;align-items:center;gap:7px;padding:5px 8px;border-radius:999px;background:#14231c;color:#83d9a8;font-size:9px}.support-analytics-filter-date button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:11px;padding:0}.support-master-head .support-analytics-filter-date{margin-left:auto}
@media(max-width:1350px){.support-kpis-v661{grid-template-columns:repeat(3,minmax(0,1fr))}.support-executive-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.support-executive-strip article:nth-child(4){border-left:0;border-top:1px solid var(--line)}.support-executive-strip article:nth-child(n+4){border-top:1px solid var(--line)}.support-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.support-period-summary{grid-template-columns:1fr}.support-period-summary>article{border-left:0;border-top:1px solid var(--line)}.support-insight-grid{grid-template-columns:1fr}.support-analytics-grid-v661{grid-template-columns:1fr}.support-status-panel,.support-aging-panel,.support-calendar-panel,.support-trend-panel{grid-column:1}.support-calendar-heatmap{grid-template-columns:30px repeat(13,20px);justify-content:start}}
@media(max-width:640px){.support-kpis-v661,.support-executive-strip{grid-template-columns:1fr 1fr}.support-executive-strip article+article{border-left:0}.support-executive-strip article:nth-child(even){border-left:1px solid var(--line)}.support-executive-strip article:nth-child(n+3){border-top:1px solid var(--line)}.support-chart-key{display:grid;gap:4px}.support-calendar-panel{overflow:hidden}}

/* Loki Agent 6.7 · página de descarga */
.agent-download-page
{
    display: grid;
    gap: 22px;
}
.agent-download-hero
{
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    gap: 28px;
    align-items: center;
    padding: clamp(28px, 5vw, 58px);
    border: 1px solid var(--line);
    border-radius: 30px;
    background: radial-gradient(circle at 80% 20%, rgba(64, 219, 144, .14), transparent 32%), linear-gradient(145deg, rgba(18, 29, 25, .98), rgba(9, 16, 14, .98));
    overflow: hidden;
}
.agent-download-copy h1
{
    margin: 8px 0 14px;
    font-size: clamp(34px, 5vw, 64px);
    line-height: 1;
    letter-spacing: -.045em;
}
.agent-download-copy > p
{
    max-width: 780px;
}
.agent-download-meta
{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 24px 0;
}
.agent-download-meta span
{
    display: grid;
    gap: 2px;
    min-width: 150px;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: rgba(255,255,255,.025);
}
.agent-download-meta b
{
    font-size: 11px;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .08em;
}
.agent-download-button
{
    min-height: 54px;
    padding-inline: 28px;
    font-size: 16px;
}
.agent-download-visual
{
    min-height: 340px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 18px;
    border: 1px solid rgba(98, 255, 175, .18);
    border-radius: 26px;
    background: rgba(0,0,0,.18);
}
.agent-download-visual img
{
    width: min(210px, 62%);
    filter: drop-shadow(0 18px 40px rgba(0,0,0,.4));
}
.agent-download-status
{
    display: flex;
    align-items: center;
    gap: 9px;
    font-weight: 800;
}
.agent-download-status i
{
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #49e497;
    box-shadow: 0 0 18px #49e497;
}
.agent-download-flow
{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    padding: 0 18px;
}
.agent-download-flow span
{
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.05);
    color: var(--muted);
    font-size: 12px;
}
.agent-download-hash
{
    display: grid;
    gap: 7px;
    margin-top: 18px;
}
.agent-download-hash code
{
    overflow-wrap: anywhere;
    padding: 12px;
    border-radius: 12px;
    background: rgba(0,0,0,.22);
}
.agent-download-steps
{
    display: grid;
    gap: 12px;
    padding-left: 22px;
}
@media (max-width: 900px)
{
    .agent-download-hero
    {
        grid-template-columns: 1fr;
    }
    .agent-download-visual
    {
        min-height: 250px;
    }
}

/* ============================================================
   Loki SaaS 6.8.4 · Ticket Workspace
   ============================================================ */
.support-case-tree{display:grid;gap:8px;margin:0 0 12px;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.018)}
.support-case-tree-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.support-case-tree-head strong{font-size:11px}.support-case-tree-head small{color:var(--muted);font-size:9px}
.support-case-tree-list{display:grid;gap:4px}
.support-case-node{appearance:none;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px 7px calc(9px + (var(--case-depth,0) * 16px));border:1px solid transparent;border-radius:9px;background:transparent;color:inherit;text-align:left;cursor:pointer}
.support-case-node:hover,.support-case-node:focus-visible{outline:0;border-color:var(--line);background:rgba(255,255,255,.028)}
.support-case-node.is-current{border-color:rgba(53,229,139,.28);background:rgba(53,229,139,.065)}
.support-case-branch{width:14px;color:#70857a;font-size:10px;text-align:center}.support-case-node.is-current .support-case-branch{color:var(--accent)}
.support-case-copy{display:grid;gap:2px;min-width:0}.support-case-copy b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.support-case-copy small{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.support-case-node>span:last-child{font-size:8px;color:#8aa095;white-space:nowrap}
.ticket-protocol-panel{display:grid;gap:11px;margin-bottom:12px;padding:12px;border:1px solid rgba(84,167,255,.22);border-radius:13px;background:linear-gradient(145deg,rgba(84,167,255,.055),rgba(53,229,139,.025))}
.ticket-protocol-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.ticket-protocol-head h3{margin:2px 0 0}.ticket-protocol-state{padding:4px 8px;border:1px solid var(--line);border-radius:999px;font-size:8px;color:#a7bbb0;background:rgba(255,255,255,.025)}
.ticket-protocol-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.ticket-protocol-picker label{display:grid;gap:5px}.ticket-protocol-picker select{width:100%}
.ticket-protocol-preview{display:grid;gap:7px;padding:10px;border:1px dashed rgba(255,255,255,.13);border-radius:10px;background:rgba(0,0,0,.12);font-size:10px}.ticket-protocol-preview:empty{display:none}.ticket-protocol-preview ul{margin:2px 0 0;padding-left:18px}.ticket-protocol-preview small{color:var(--muted)}
.ticket-protocol-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ticket-protocol-summary span{display:grid;gap:3px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:rgba(0,0,0,.12)}.ticket-protocol-summary small{color:var(--muted);font-size:8px}.ticket-protocol-summary b{font-size:10px;overflow:hidden;text-overflow:ellipsis}
.ticket-protocol-pending,.ticket-protocol-actions,.ticket-protocol-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.12)}.ticket-protocol-pending p,.ticket-protocol-actions small,.ticket-protocol-result span{margin:0;color:var(--muted);font-size:9px}
.ticket-protocol-steps{display:grid;gap:6px}.ticket-protocol-step{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(260px,.8fr);gap:10px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.10);transition:border-color .15s ease,background .15s ease}.ticket-protocol-step.is-fail{border-color:rgba(255,91,104,.38);background:rgba(255,91,104,.045)}.ticket-protocol-step.is-critical{border-color:rgba(255,165,72,.38);background:rgba(255,165,72,.045)}.ticket-protocol-step.is-fair{border-color:rgba(240,190,77,.3);background:rgba(240,190,77,.035)}.ticket-protocol-step.is-success{border-color:rgba(53,229,139,.26);background:rgba(53,229,139,.035)}
.ticket-protocol-step-copy{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:start}.ticket-protocol-step-copy>span{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--line);border-radius:7px;color:#8ba095;font-size:9px}.ticket-protocol-step-copy div{display:grid;gap:3px}.ticket-protocol-step-copy b{font-size:10px}.ticket-protocol-step-copy small{color:var(--muted);font-size:9px;line-height:1.35}
.ticket-protocol-step-eval{display:grid;grid-template-columns:minmax(130px,.75fr) minmax(150px,1fr);gap:6px;align-items:center}.ticket-protocol-step-eval select,.ticket-protocol-step-eval input{width:100%;min-width:0}.ticket-protocol-step-eval [data-step-omit]{grid-column:1/-1}.ticket-protocol-step-eval [data-step-omit][hidden]{display:none!important}.ticket-step-save{grid-column:1/-1;min-height:12px;color:var(--muted);font-size:8px;text-align:right}.ticket-step-save.is-saving{color:#70d8ff}.ticket-step-save.is-saved{color:#67e89c}.ticket-step-save.is-error{color:#ff8997}
.ticket-protocol-result.result-completed{border-color:rgba(53,229,139,.25);background:rgba(53,229,139,.045)}.ticket-protocol-result.result-blocked,.ticket-protocol-result.result-failed{border-color:rgba(255,126,105,.25);background:rgba(255,126,105,.04)}
.ticket-work-control{display:grid;gap:8px;margin-bottom:11px;padding:10px;border:1px solid rgba(53,229,139,.19);border-radius:10px;background:rgba(53,229,139,.035)}.ticket-work-control>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.ticket-work-control small{color:var(--muted);font-size:8px}.ticket-work-control strong{font-size:11px}.ticket-work-control .work-active{color:#74efaa}
.ticket-block-source{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;padding:9px;border:1px solid rgba(255,178,67,.2);border-radius:9px;background:rgba(255,178,67,.04)}.ticket-block-source input{margin-top:2px}.ticket-block-source div{display:grid;gap:3px}.ticket-block-source small{color:var(--muted);font-size:8px}
#derived-ticket .modal-card{width:min(760px,94vw)}#derived-ticket form{display:grid;gap:10px}#derived-ticket .derived-ticket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}#derived-ticket label{display:grid;gap:5px}#derived-ticket .span-2{grid-column:1/-1}
@media(max-width:900px){.ticket-protocol-step{grid-template-columns:1fr}.ticket-protocol-summary{grid-template-columns:1fr}.ticket-protocol-pending,.ticket-protocol-actions,.ticket-protocol-result{align-items:flex-start;flex-direction:column}.ticket-protocol-picker{grid-template-columns:1fr}}
@media(max-width:650px){.ticket-protocol-step-eval{grid-template-columns:1fr}.ticket-protocol-step-eval [data-step-omit],.ticket-step-save{grid-column:1}.support-case-node{padding-left:calc(7px + (var(--case-depth,0) * 11px))}#derived-ticket .derived-ticket-grid{grid-template-columns:1fr}#derived-ticket .span-2{grid-column:1}}
.ticket-dependencies{display:grid;gap:6px;margin:0 0 12px;padding:10px;border:1px solid rgba(255,178,67,.2);border-radius:12px;background:rgba(255,178,67,.025)}
.ticket-dependencies-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ticket-dependencies-head b{font-size:9px;color:#efb459}.ticket-dependencies-head small{font-size:8px;color:var(--muted)}
.ticket-dependency{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:rgba(0,0,0,.10)}.ticket-dependency>span{font-size:8px;color:#e0aa56;text-transform:uppercase;letter-spacing:.05em}.ticket-dependency>button{min-width:0;padding:0;border:0;background:transparent;color:var(--text);font-size:9px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.ticket-dependency>button:hover{text-decoration:underline}.ticket-dependency>small{font-size:8px;color:var(--muted);white-space:nowrap}.ticket-dependency.is-blocking{border-color:rgba(255,126,105,.28);background:rgba(255,126,105,.035)}.ticket-dependency.is-resolved{opacity:.68}.ticket-dependency.is-dependent>span{color:#76c6ff}
@media(max-width:650px){.ticket-dependency{grid-template-columns:1fr}.ticket-dependency>small{white-space:normal}}
.support-log-filter{display:flex;gap:5px;margin:-3px 0 9px}.support-log-filter button{appearance:none;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:8px;cursor:pointer}.support-log-filter button.active{border-color:rgba(53,229,139,.3);background:rgba(53,229,139,.07);color:#8ff0b6}.support-thread[data-log-view="SHARED"] .support-message[data-event-visibility="INTERNAL"]{display:none}.support-thread[data-log-view="INTERNAL"] .support-message:not([data-event-visibility="INTERNAL"]){display:none}
.ticket-protocol-preview-head,.ticket-protocol-preview-prep,.ticket-protocol-preview-evidence{display:grid;gap:3px}.ticket-protocol-preview-head small,.ticket-protocol-preview-prep span,.ticket-protocol-preview-evidence span{color:var(--muted);font-size:9px;line-height:1.4}.ticket-protocol-preview-prep,.ticket-protocol-preview-evidence{padding-top:6px;border-top:1px solid var(--line)}

/* Loki 6.8.5 · Assurance derivado de Tickets */
.assurance-lifecycle-panel{margin-bottom:12px}.assurance-clock-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px}.assurance-clock-card{display:grid;gap:6px;padding:12px 13px;border:1px solid #2d4036;border-left:3px solid #456253;border-radius:11px;background:#0c1510}.assurance-clock-card.state-healthy{border-left-color:#35e58b}.assurance-clock-card.state-due{border-left-color:#e0a447;background:#17150d}.assurance-clock-card.state-risk{border-left-color:#ef5b59;background:#1a1112}.assurance-clock-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.assurance-clock-card h3{margin:2px 0 0;font-size:12px}.assurance-clock-card>strong{font-size:16px}.assurance-clock-card>small{color:#7f9589;font-size:8px;line-height:1.45}.assurance-protocol-row.state-healthy{border-left:3px solid #35e58b}.assurance-protocol-row.state-due{border-left:3px solid #e0a447}.assurance-protocol-row.state-risk{border-left:3px solid #ef5b59;background:#171112}.assurance-protocol-row.state-unknown{border-left:3px solid #667c70}.assurance-work-row.active{border-left-color:#5a8ef5}.assurance-work-row.critical{border-left-color:#ef5b59}.status-pill.in_progress{color:#9cc2ff;background:#14223b;border-color:#345b9e}.status-pill.unknown{color:#b4c1ba;background:#171d1a;border-color:#46554d}
@media(max-width:700px){.assurance-clock-grid{grid-template-columns:1fr}}

/* Loki 6.8.6 · Bifrost 2.0 */
.bifrost-quality-control{display:grid;gap:5px;padding:8px 10px;border:1px solid #263a30;border-radius:10px;background:rgba(0,0,0,.12)}
.bifrost-quality-control>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.bifrost-quality-control span{font-size:9px;color:#a9bbb2}.bifrost-quality-control strong{font-size:9px;color:#7ee4aa}.bifrost-quality-control input[type="range"]{width:100%;accent-color:#35e58b}.bifrost-quality-control small{color:#72877c;font-size:8px}
.bifrost-remote-button{width:auto;min-width:92px;height:36px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:10px}.bifrost-remote-button>span:first-child{font-size:16px}.bifrost-remote-button.is-waiting{border-color:#d6a245;background:#2a210d;color:#f1c96f}.bifrost-remote-button.is-active{border-color:#b94f58;background:#321317;color:#ff9ca5;box-shadow:0 0 0 1px rgba(255,96,110,.13) inset}.bifrost-remote-button.is-active:hover{border-color:#df6570;background:#40171d}
.support-attachment-meta{display:grid;grid-template-columns:minmax(140px,.38fr) minmax(220px,1fr);gap:8px}.support-attachment-meta label{display:grid;gap:5px;color:var(--muted);font-size:9px}.support-attachment-meta input{width:100%}
.support-evidence-card{grid-template-rows:112px auto}.support-evidence-card .bifrost-media-preview-link{display:block;min-width:0;overflow:hidden;color:inherit;text-decoration:none}.support-evidence-card .bifrost-media-preview{height:112px}.support-evidence-card .bifrost-media-copy{align-content:start;gap:5px}.support-evidence-card .bifrost-media-copy strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.35}.support-evidence-tag{justify-self:start;max-width:100%;padding:3px 6px;border:1px solid rgba(53,229,139,.22);border-radius:999px;background:rgba(53,229,139,.055);color:#78e6a5;font-size:8px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.support-evidence-tag.is-empty{border-style:dashed;border-color:#34473d;background:transparent;color:#6d8277;font-weight:500}.support-evidence-metrics{color:#6f8a7c!important;font-variant-numeric:tabular-nums}.support-evidence-actions{display:flex;gap:5px;margin-top:2px}.support-evidence-actions[hidden]{display:none!important}.support-evidence-actions .btn{flex:1;min-width:0}.btn.danger{border-color:rgba(239,91,89,.28);color:#ff8f92;background:rgba(239,91,89,.045)}.btn.danger:hover{border-color:rgba(239,91,89,.48);background:rgba(239,91,89,.09)}
.support-evidence-edit{display:grid;gap:7px;margin-top:3px;padding-top:7px;border-top:1px solid #26372e}.support-evidence-edit[hidden]{display:none!important}.support-evidence-edit label{display:grid;gap:4px;color:#84998e;font-size:8px}.support-evidence-edit input,.support-evidence-edit textarea{width:100%;min-width:0}.support-evidence-edit textarea{resize:vertical}.support-evidence-edit-actions{display:flex;gap:5px}.support-evidence-edit-actions .btn{flex:1}
@media(max-width:700px){.support-attachment-meta{grid-template-columns:1fr}.support-evidence-card{grid-template-rows:96px auto}.support-evidence-card .bifrost-media-preview{height:96px}.bifrost-remote-button{min-width:86px}}

/* Loki 6.8.7 · Orquestación operacional */
.ticket-orchestration{display:grid;gap:10px;margin:0 0 12px;padding:12px;border:1px solid rgba(95,211,159,.22);border-radius:13px;background:linear-gradient(145deg,rgba(95,211,159,.055),rgba(84,167,255,.025))}.ticket-orchestration-head,.ticket-orchestration-origin,.ticket-case-gate,.ticket-followup{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ticket-orchestration-head h3{margin:2px 0 0}.ticket-orchestration-head small,.ticket-orchestration-origin small,.ticket-followup small,.ticket-case-gate small{color:var(--muted)}.ticket-orchestration-ready{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#52df91}.ticket-orchestration-origin{padding:10px;border:1px dashed rgba(84,167,255,.25);border-radius:10px}.ticket-orchestration-origin>div{display:grid;gap:3px}.ticket-followups{display:grid;gap:7px}.ticket-followup{padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(0,0,0,.1)}.ticket-followup.requirement-required,.ticket-followup.requirement-required_planned{border-color:rgba(240,182,78,.25)}.ticket-followup.status-satisfied{opacity:.72;border-color:rgba(82,223,145,.22)}.ticket-followup.status-dismissed{opacity:.55}.ticket-followup-copy{display:grid;gap:4px;min-width:0}.ticket-followup-copy>div{display:flex;flex-wrap:wrap;gap:5px}.ticket-followup-copy p{margin:2px 0 0;font-size:10px;line-height:1.45;color:var(--text-soft)}.ticket-followup-requirement,.ticket-followup-priority,.ticket-followup-inferred{display:inline-flex;padding:2px 6px;border-radius:999px;font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:rgba(255,255,255,.07)}.ticket-followup-priority{color:#efb459}.ticket-followup-inferred{color:#55a7ff}.ticket-followup-action{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;min-width:180px}.ticket-followup-action input[type=datetime-local]{max-width:190px;padding:6px 8px;font-size:9px}.ticket-case-gate{padding:10px;border-radius:10px}.ticket-case-gate.is-ready{border:1px solid rgba(82,223,145,.28);background:rgba(82,223,145,.05)}.ticket-case-gate.is-pending{border:1px solid rgba(240,182,78,.2);background:rgba(240,182,78,.035)}.ticket-case-gate>div{display:grid;gap:4px}.ticket-case-gate ul{margin:2px 0 0;padding-left:17px;color:var(--muted);font-size:9px;line-height:1.5}@media(max-width:850px){.ticket-orchestration-head,.ticket-orchestration-origin,.ticket-case-gate,.ticket-followup{flex-direction:column}.ticket-followup-action{width:100%;justify-content:flex-start;min-width:0}}
.ticket-orchestration-gap{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 10px;border:1px solid rgba(240,182,78,.26);border-radius:10px;background:rgba(240,182,78,.045)}.ticket-orchestration-gap>div{display:grid;gap:2px;flex:1 1 320px}.ticket-orchestration-gap small{color:var(--muted)}

/* Loki 6.8.8 · Assurance Studio 3.0 */
.assurance-goal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.assurance-goal-card,.goal-criterion-card{border:1px solid var(--line);background:var(--panel2);border-radius:16px;padding:16px;color:inherit;text-decoration:none}.assurance-goal-card h3{margin:7px 0}.assurance-goal-card p{color:var(--muted);min-height:42px}.goal-criteria-list{display:grid;gap:10px}.goal-criterion-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start}.goal-criterion-card strong,.goal-criterion-card small,.goal-criterion-card em{display:block}.goal-criterion-card p{margin:5px 0;color:var(--muted)}.goal-criterion-card em{font-style:normal;font-size:12px;color:var(--muted)}.protocol-requirement-list,.protocol-response-list{display:grid;gap:10px}.protocol-requirement,.protocol-response-rule{border:1px solid var(--line);border-radius:14px;background:var(--panel2);padding:12px}.protocol-requirement form,.protocol-response-rule form{margin:0}.response-flow{display:grid;grid-template-columns:minmax(110px,.7fr) auto minmax(180px,1.4fr);gap:10px;align-items:center}.response-arrow{font-size:22px;color:var(--muted)}.studio-chain{display:flex;gap:8px;align-items:stretch;overflow:auto;padding-bottom:4px}.studio-chain>a,.studio-chain>span{min-width:155px;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--panel2);color:inherit;text-decoration:none}.studio-chain small,.studio-chain strong{display:block}.studio-chain i{align-self:center;color:var(--muted);font-style:normal}.coverage-gap-list{display:grid;gap:8px}.coverage-gap{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--panel2)}
@media(max-width:800px){.response-flow{grid-template-columns:1fr}.response-arrow{transform:rotate(90deg);justify-self:center}.assurance-goal-grid{grid-template-columns:1fr}}

/* ============================================================
   Loki SaaS 6.8.10 · Intelligence / Reporting / Work Map
   ============================================================ */
.reports-head{align-items:flex-start}.report-filter-bar{display:grid;grid-template-columns:160px 160px minmax(230px,1fr) auto minmax(320px,auto);gap:10px;align-items:end;margin-bottom:10px}.report-filter-bar label{display:grid;gap:5px;color:#a9bdb1;font-size:11px;font-weight:700}.report-filter-bar input,.report-filter-bar select{width:100%;border:1px solid var(--line);border-radius:8px;background:#0b110e;color:var(--text);padding:9px 10px}.report-export-links{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.report-export-links a{padding:7px 9px;border:1px solid var(--line);border-radius:8px;color:#a9c6b5;font-size:10px;background:#0d1511}.report-context-line{display:flex;gap:14px;flex-wrap:wrap;color:#7e9387;font-size:11px;margin:0 2px 14px}.report-context-line span+span:before{content:"·";margin-right:14px;color:#3b5145}.report-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.report-kpi-grid .metric-card{min-height:118px}.report-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 14px;padding:6px;border:1px solid var(--line);border-radius:11px;background:#0c120f;position:sticky;top:68px;z-index:25}.report-tabs button{border:1px solid transparent;background:transparent;color:#91a79a;padding:9px 12px;border-radius:8px;font-weight:750}.report-tabs button.active{background:#13241a;border-color:#28543b;color:#dff7e7}.report-section{display:none}.report-section.active{display:block}.report-narrative p{margin:8px 0;padding:10px 12px;border-left:2px solid #2d6b49;background:#0d1511;border-radius:0 8px 8px 0;color:#bfd0c6;line-height:1.55}.report-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.report-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}.report-grid-3 .panel h2{font-size:28px;margin:9px 0}.report-stat-list,.report-mini-list{display:grid;gap:7px}.report-stat-list>div,.report-mini-list>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:9px 10px;border:1px solid #213128;border-radius:8px;background:#0b120e}.report-stat-list span,.report-mini-list span{color:#b3c7bb}.report-mini-list span{display:grid;gap:2px}.report-mini-list small{color:#70867a;font-size:9px}.report-stat-list strong,.report-mini-list b{color:#edf7f0}.protocol-outcome-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:12px}.protocol-outcome-grid>div{padding:12px;border:1px solid var(--line);border-radius:9px;background:#0b120e}.protocol-outcome-grid span{display:block;font-size:9px;font-weight:800;letter-spacing:.09em;color:#82978b}.protocol-outcome-grid strong{display:block;font-size:24px;margin-top:5px}.protocol-outcome-grid .success{border-color:#255f40}.protocol-outcome-grid .fair{border-color:#6b5a26}.protocol-outcome-grid .critical,.protocol-outcome-grid .fail{border-color:#6b3434}.protocol-outcome-grid.large>div{padding:20px}.report-case-list{display:grid;gap:7px}.report-case-list>a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px;border:1px solid #24372d;border-radius:9px;background:#0c1410}.report-case-list>a:hover{border-color:#3b7353;background:#101c16}.report-case-list small{display:block;color:#7c9286;margin-top:3px}.report-case-list>a>div:last-child{display:flex;gap:11px;align-items:center;color:#8ca497;font-size:10px}.report-case-list>a>div:last-child b{color:#8ef2b2}.report-activity-panel{overflow:hidden}.report-day-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(38px,1fr));gap:4px;align-items:end;min-height:180px}.report-day{display:grid;grid-template-rows:auto 1fr auto;gap:5px;height:155px;text-align:center;min-width:0}.report-day>span{font-size:8px;color:#6f8478;white-space:nowrap}.report-day>i{align-self:end;height:calc((var(--value) / var(--max)) * 100%);min-height:2px;max-height:112px;background:linear-gradient(180deg,#52e995,#1d8d5a);border-radius:4px 4px 1px 1px;opacity:.9}.report-day>small{font-size:7px;color:#5f7469;white-space:nowrap;overflow:hidden}.assurance-state-report{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.assurance-state-report>a{padding:18px;border:1px solid #26382e;border-radius:10px;background:#0d1511}.assurance-state-report span{font-size:9px;color:#82998d;font-weight:800}.assurance-state-report strong{display:block;font-size:30px;margin-top:7px}.report-tag-cloud{display:flex;gap:8px;flex-wrap:wrap}.report-tag-cloud>span{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #2a3c31;border-radius:999px;background:#0d1511;color:#a6c6b3}.report-tag-cloud b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:#18281f;color:#dff9e7;font-size:10px}.work-map-intro{margin-bottom:10px}.work-map-grid{display:grid;grid-template-columns:repeat(7,minmax(240px,1fr));gap:9px;overflow-x:auto;padding-bottom:8px}.work-map-column{min-height:360px;border:1px solid #24362c;border-radius:11px;background:#0b120e;padding:8px}.work-map-column>header{display:flex;align-items:center;justify-content:space-between;padding:7px 8px 10px;color:#95ab9f}.work-map-column>header span{font-size:10px;letter-spacing:.08em;font-weight:800}.work-map-column>header b{display:grid;place-items:center;min-width:24px;height:24px;border-radius:99px;background:#17261e;color:#d8eee1}.work-map-card{display:block;padding:10px;margin-bottom:7px;border:1px solid #293b31;border-radius:9px;background:#101814}.work-map-card:hover{border-color:#4b7e5f;transform:translateY(-1px)}.work-map-card>div{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.work-map-card>div span{font-size:9px;color:#74c796;font-weight:800}.work-map-card>div em{font-style:normal;font-size:8px;color:#71897c}.work-map-card>strong{display:block;font-size:12px;line-height:1.35}.work-map-card>small{display:block;color:#72897c;font-size:9px;margin-top:4px}.work-map-card>p{margin:7px 0;color:#9cb0a5;font-size:9px;line-height:1.4}.work-map-card>time{font-size:8px;color:#62786c}.work-map-card.priority-critical{border-left:3px solid var(--red)}.work-map-card.priority-high{border-left:3px solid var(--orange)}.work-map-card.priority-medium,.work-map-card.priority-normal{border-left:3px solid var(--yellow)}.work-map-card.priority-low{border-left:3px solid #3a7054}.work-map-empty{padding:24px 8px;text-align:center;color:#566c60;font-size:10px}.work-map-column.now>header{color:#8ff3b2}.work-map-column.blocked>header,.work-map-column.overdue>header{color:#ff9898}.work-map-column.waiting>header,.work-map-column.scheduled>header{color:#e7ca74}.case-report-cover{display:grid;grid-template-columns:190px 1fr;gap:18px;align-items:stretch}.case-report-id{display:grid;align-content:center;gap:5px;padding:20px;border:1px solid #2b4a38;border-radius:10px;background:#0c1711}.case-report-id span{font-size:10px;color:#6f8d7d}.case-report-id strong{font-size:28px}.case-report-id em{font-style:normal;color:#8defaf}.case-report-cover-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.case-report-cover-grid>div{padding:13px;border:1px solid #24362c;border-radius:9px;background:#0c1310}.case-report-cover-grid small{display:block;color:#6f877a;font-size:9px;margin-bottom:6px}.case-tree-report{display:grid;gap:5px}.case-tree-report>a{margin-left:calc(var(--depth) * 28px);display:grid;grid-template-columns:110px minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:9px 10px;border:1px solid #25372d;border-radius:8px;background:#0d1511}.case-tree-report>a>span{color:#7fe2a3;font-size:9px;font-weight:800}.case-tree-report>a>em{font-style:normal;color:#789084;font-size:9px}.case-tree-report>a>small{font-size:8px;color:#617568}.case-protocol-block{border:1px solid #26392e;border-radius:10px;background:#0c1410;margin-bottom:10px;overflow:hidden}.case-protocol-block>header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border-bottom:1px solid #213128}.case-protocol-block>header small{display:block;color:#71877a;margin-top:3px}.case-step-list{display:grid}.case-step-list>div{display:grid;grid-template-columns:90px minmax(0,1fr) 100px;gap:8px;padding:9px 12px;border-bottom:1px solid #1b2922}.case-step-list>div:last-child{border-bottom:0}.case-step-list span{font-size:8px;color:#6d8879}.case-step-list em{font-style:normal;text-align:right;color:#a7c3b2}.case-step-list small{grid-column:2/-1;color:#788e82}.case-evidence-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.case-evidence-grid article{padding:11px;border:1px solid #26382e;border-radius:9px;background:#0c1410}.case-evidence-grid article.discarded{opacity:.55}.case-evidence-grid article>div{display:flex;justify-content:space-between;gap:8px}.case-evidence-grid article>div span,.case-evidence-grid article>div b{font-size:8px;color:#78a38c}.case-evidence-grid article>strong,.case-evidence-grid article>small{display:block;margin-top:6px}.case-evidence-grid article>small{color:#6e8377;font-size:8px}.case-evidence-grid article>a{display:inline-block;margin-top:8px;color:#83e8aa;font-size:9px}.case-evidence-grid article>em{display:block;margin-top:8px;color:#d68d8d;font-size:8px;font-style:normal}.case-timeline-list{display:grid;gap:7px}.case-timeline-list article{display:grid;grid-template-columns:170px 1fr;gap:13px;padding:9px 0;border-bottom:1px solid #1c2a22}.case-timeline-list time{font-size:9px;color:#6f8679}.case-timeline-list span{display:block;font-size:8px;color:#6c9c7e}.case-timeline-list strong{display:block;margin-top:3px;font-weight:600}.case-timeline-list small{display:block;color:#73887c;margin-top:4px}
@media(max-width:1300px){.report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-actor,.report-export-links{grid-column:1/-1}.report-export-links{justify-content:flex-start}.work-map-grid{grid-template-columns:repeat(7,260px)}}
@media(max-width:800px){.report-grid-2,.report-grid-3{grid-template-columns:1fr}.report-kpi-grid{grid-template-columns:1fr}.report-filter-bar{grid-template-columns:1fr}.report-tabs{position:static}.protocol-outcome-grid,.assurance-state-report{grid-template-columns:repeat(2,1fr)}.case-report-cover{grid-template-columns:1fr}.case-report-cover-grid{grid-template-columns:1fr 1fr}.case-tree-report>a{grid-template-columns:80px 1fr;margin-left:calc(var(--depth) * 14px)}.case-tree-report>a>em,.case-tree-report>a>small{grid-column:2}.case-timeline-list{grid-template-columns:1fr}.case-timeline-list article{grid-template-columns:1fr}.case-step-list>div{grid-template-columns:70px 1fr}.case-step-list em{grid-column:2;text-align:left}}
@media print{.sidebar,.topbar,.no-print,.ambient{display:none!important}.app-main{margin:0!important;width:100%!important}.content{padding:0!important}.panel{break-inside:avoid;background:#fff!important;color:#111!important;border-color:#ddd!important;box-shadow:none!important}.page-header{margin-bottom:14px}.report-section{display:block!important}.report-section[data-report-section="work-map"]{display:none!important}.report-kpi-grid{grid-template-columns:repeat(4,1fr)}body{background:#fff!important;color:#111!important;font-size:10pt}.eyebrow,.muted,.panel p,.panel small{color:#555!important}.report-narrative p,.report-stat-list>div,.report-mini-list>div,.case-protocol-block,.case-evidence-grid article,.case-report-cover-grid>div,.case-tree-report>a{background:#fff!important;color:#111!important;border-color:#ddd!important}.protocol-outcome-grid>div{background:#fff!important;color:#111!important}.case-timeline-list strong{color:#111!important}.case-report-head .header-actions{display:none!important}a{text-decoration:none!important;color:#111!important}}

/* Loki SaaS 6.8.10 · Activos y agenda operativa */
.report-asset-list,.asset-report-ticket-list,.asset-protocol-history{display:grid;gap:7px}.report-asset-list>a,.asset-report-ticket-list>a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px;border:1px solid #24372d;border-radius:9px;background:#0c1410}.report-asset-list>a:hover,.asset-report-ticket-list>a:hover{border-color:#3b7353;background:#101c16}.report-asset-list small,.asset-report-ticket-list small{display:block;color:#7c9286;margin-top:3px}.report-asset-list>a>div:last-child,.asset-report-ticket-list>a>div:last-child{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end;color:#8ca497;font-size:10px}.report-asset-list>a>div:last-child b,.asset-report-ticket-list>a>div:last-child b{color:#8ef2b2}.asset-report-cover{display:grid;grid-template-columns:190px minmax(0,1fr);gap:14px}.asset-report-identity{display:grid;align-content:center;gap:6px;padding:20px;border:1px solid #2b4a38;border-radius:10px;background:#0c1711}.asset-report-identity span{font-size:9px;color:#6f8d7d;text-transform:uppercase;letter-spacing:.08em}.asset-report-identity strong{font-size:24px;overflow-wrap:anywhere}.asset-report-identity em{font-style:normal;color:#8defaf;font-size:10px}.asset-report-facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.asset-report-facts>div{padding:11px;border:1px solid #24362c;border-radius:9px;background:#0c1310}.asset-report-facts small{display:block;color:#6f877a;font-size:8px;margin-bottom:5px}.assurance-state-report.compact>a{padding:12px}.assurance-state-report.compact strong{font-size:22px}.asset-protocol-history article{display:grid;grid-template-columns:minmax(0,1fr) auto 170px;gap:12px;align-items:center;padding:11px;border:1px solid #26392e;border-radius:9px;background:#0c1410}.asset-protocol-history small{display:block;color:#71877a;margin-top:3px}.asset-protocol-history time{text-align:right;color:#6f8679;font-size:9px}.operational-calendar{margin-top:12px}.operational-calendar-groups{display:grid;gap:12px}.operational-calendar-groups>section{border:1px solid #24362c;border-radius:10px;background:#0b120e;overflow:hidden}.operational-calendar-groups>section>header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #213128;background:#0d1712}.operational-calendar-groups>section>header strong{color:#dff6e6}.operational-calendar-groups>section>header span{color:#72897c;font-size:9px}.operational-calendar-groups>section>div{display:grid}.operational-calendar-groups a{display:grid;grid-template-columns:105px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid #1b2922}.operational-calendar-groups a:last-child{border-bottom:0}.operational-calendar-groups a:hover{background:#101a15}.operational-calendar-groups a>div{display:grid;gap:3px}.operational-calendar-groups a>div small{color:#72897c}.operational-calendar-groups a>em{font-style:normal;color:#92aa9c;font-size:8px}.calendar-kind{display:inline-flex;justify-content:center;padding:5px 7px;border:1px solid #30463a;border-radius:999px;color:#96b4a2;font-size:8px;font-weight:850;letter-spacing:.06em}.calendar-kind.kind-ticket{border-color:#315a86;color:#8fc5ff}.calendar-kind.kind-assurance{border-color:#725f2c;color:#e8ca78}.calendar-kind.kind-maintenance{border-color:#36684b;color:#8de7ad}.calendar-kind.kind-warranty,.calendar-kind.kind-retirement{border-color:#744444;color:#ef9d9d}.calendar-kind.kind-lifecycle{border-color:#654e7c;color:#c1a2e8}
@media(max-width:900px){.asset-report-cover{grid-template-columns:1fr}.asset-report-facts{grid-template-columns:1fr 1fr}.asset-protocol-history article{grid-template-columns:1fr auto}.asset-protocol-history time{grid-column:1/-1;text-align:left}.operational-calendar-groups a{grid-template-columns:90px 1fr}.operational-calendar-groups a>em{grid-column:2}.report-asset-list>a,.asset-report-ticket-list>a{align-items:flex-start;flex-direction:column}.report-asset-list>a>div:last-child,.asset-report-ticket-list>a>div:last-child{justify-content:flex-start}}
@media(max-width:560px){.asset-report-facts{grid-template-columns:1fr}.operational-calendar-groups a{grid-template-columns:1fr}.operational-calendar-groups a>em{grid-column:1}}
@media print{.asset-report-head .header-actions{display:none!important}.asset-report-cover,.asset-report-identity,.asset-report-facts>div,.asset-protocol-history article,.report-asset-list>a,.asset-report-ticket-list>a,.operational-calendar-groups>section{background:#fff!important;color:#111!important;border-color:#ddd!important}.asset-report-cover{grid-template-columns:170px 1fr}.asset-report-facts{grid-template-columns:repeat(4,1fr)}.operational-calendar{display:block!important}}
.case-protocol-normative{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 12px;border-top:1px solid #1b2922;color:#72897c;font-size:8px}.case-protocol-normative b{padding:3px 6px;border:1px solid #30463a;border-radius:999px;color:#9fc3ad;font-size:8px}.asset-protocol-normative{color:#8caa99!important}.calendar-kind.kind-life{border-color:#744444;color:#ef9d9d}.report-export-links .report-export-xlsx{border-color:#326b48;color:#94e8b2;background:#102018;font-weight:800}
/* Loki SaaS 6.8.14 · one-minute Agent pulse + deduplicated state */
.agent-update-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(420px,1fr);gap:18px;align-items:center;margin-bottom:12px;border-color:#315443;background:linear-gradient(135deg,#0d1712,#0f1d16)}.agent-update-hero-copy h2{margin:5px 0 8px;font-size:24px}.agent-update-hero-copy p{margin:0;color:#8ea298;line-height:1.6;max-width:850px}.agent-update-hero-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.agent-update-hero-kpis article{padding:11px;border:1px solid #2a4035;border-radius:9px;background:#09120d}.agent-update-hero-kpis article.critical{border-color:#744444;background:#1b1111}.agent-update-hero-kpis span,.agent-update-hero-kpis strong,.agent-update-hero-kpis small{display:block}.agent-update-hero-kpis span{font-size:8px;color:#71887b;text-transform:uppercase;letter-spacing:.08em}.agent-update-hero-kpis strong{font-size:22px;margin:4px 0;color:#dff4e7}.agent-update-hero-kpis small{font-size:8px;color:#6f8378}.agent-update-state{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:10px;padding:10px;border:1px solid #2b3d34;border-radius:9px;background:#0b120f}.agent-update-state span,.agent-update-state strong,.agent-update-state small{display:block}.agent-update-state span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#72887d}.agent-update-state strong{margin:3px 0;font-size:11px}.agent-update-state small{font-size:8px;color:#7d9286}.agent-update-state time{font-size:8px;color:#687d71;white-space:nowrap}.agent-update-state.done{border-color:#28583d;background:#0c1a12}.agent-update-state.active{border-color:#315a86;background:#0d1722}.agent-update-state.warning{border-color:#725f2c;background:#1c180d}.agent-update-state.critical{border-color:#744444;background:#1b1111}.agent-update-confirmed{margin:8px 0 0;font-size:.78rem;opacity:.84}.agent-update-history{margin-top:14px;padding:0;overflow:hidden}.agent-update-history>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;list-style:none}.agent-update-history>summary::-webkit-details-marker{display:none}.agent-update-history>summary span>strong{display:block;margin-top:3px}.agent-update-history>summary small{color:#71877a}.agent-update-table td strong,.agent-update-table td small{display:block}.agent-card.agent-update-failed{box-shadow:inset 3px 0 #e95b59}@media(max-width:1100px){.agent-update-hero{grid-template-columns:1fr}.agent-update-hero-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.agent-update-hero-kpis{grid-template-columns:1fr 1fr}.agent-update-state{display:grid}}
/* Loki 6.8.15 · Device identity + configurable inventory prefix */
/* Loki 6.8.17 · Secure targeted identification */
.inventory-naming-preview-v6815{margin-bottom:14px;border-color:#355a45;background:linear-gradient(135deg,#0d1712,#0f1b15)}.inventory-naming-preview-v6815 .panel-title>strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.2rem;letter-spacing:.04em;color:#d8f6e4}.inventory-naming-preview-v6815>p{margin:12px 0 0;color:#8ca095;line-height:1.55}.naming-formula-v6815{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}.naming-formula-v6815 span{display:grid;gap:2px;padding:8px 12px;border:1px solid #2b4236;border-radius:9px;background:#09120d;min-width:120px}.naming-formula-v6815 b{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.naming-formula-v6815 small{font-size:.65rem;color:#708378}.naming-formula-v6815 i{font-style:normal;color:#587064}
.device-identity-v6815{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,2fr);gap:14px;margin-bottom:14px}.device-identity-primary-v6815{padding:14px;border:1px solid #315443;border-radius:10px;background:#0a1510}.device-identity-primary-v6815 span,.device-identity-primary-v6815 strong,.device-identity-primary-v6815 small{display:block}.device-identity-primary-v6815 strong{margin:6px 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9rem;word-break:break-all}.device-identity-primary-v6815 small{color:#71877a}.device-identity-fields-v6815{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.device-identity-fields-v6815 div{padding:9px 10px;border:1px solid #263930;border-radius:8px;background:#0a100d}.device-identity-fields-v6815 span,.device-identity-fields-v6815 strong{display:block}.device-identity-fields-v6815 span{font-size:.65rem;color:#71877a;text-transform:uppercase;letter-spacing:.05em}.device-identity-fields-v6815 strong{margin-top:3px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.76rem;word-break:break-all}@media(max-width:850px){.device-identity-v6815{grid-template-columns:1fr}.device-identity-fields-v6815{grid-template-columns:1fr}}

.agent-update-stalled{margin:8px 0 0;font-size:.78rem}

/* Loki 6.8.18 · Company settings navigation */
.company-card-actions-v6818{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.company-card-actions-v6818 .btn{justify-content:center;text-align:center}@media(max-width:640px){.company-card-actions-v6818{grid-template-columns:1fr}}

/* ============================================================
   Loki SaaS 6.8.19 · Ticket Workspace Clean UX
   Inspirado en el prototipo integrado, conservando Ticket Core,
   Protocol Engine, Orchestration y Bifrost reales.
   ============================================================ */
.support-view-switch-v6819
{
    display:flex;
    align-items:center;
    gap:6px;
    margin:0 0 14px;
    padding:4px;
    width:max-content;
    max-width:100%;
    border:1px solid #22372d;
    border-radius:11px;
    background:#0a120e;
}
.support-view-switch-v6819 button
{
    appearance:none;
    border:0;
    border-radius:8px;
    padding:8px 13px;
    background:transparent;
    color:#789083;
    font-size:10px;
    font-weight:800;
    cursor:pointer;
}
.support-view-switch-v6819 button.active
{
    color:#e9fff2;
    background:linear-gradient(180deg,rgba(53,229,139,.14),rgba(53,229,139,.055));
    box-shadow:inset 0 0 0 1px rgba(53,229,139,.18);
}
.support-view-panel-v6819[hidden]
{
    display:none!important;
}
.ticket-clean-detail
{
    min-width:0;
}
.ticket-clean-header
{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(250px,390px) auto;
    gap:18px;
    align-items:center;
    padding:14px 16px;
    border:1px solid #214334;
    border-radius:16px;
    background:radial-gradient(circle at 10% 0%,rgba(53,229,139,.065),transparent 30%),linear-gradient(180deg,#0d1914,#0a1410);
    box-shadow:0 18px 48px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.02);
}
.ticket-clean-identity
{
    min-width:0;
    display:flex;
    align-items:center;
    gap:13px;
}
.ticket-clean-icon
{
    width:54px;
    height:54px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border:1px solid #1d6847;
    border-radius:50%;
    color:var(--accent);
    background:linear-gradient(180deg,#123b29,#0e2c20);
    box-shadow:0 0 30px rgba(53,229,139,.075),inset 0 0 18px rgba(53,229,139,.055);
    font-size:24px;
}
.ticket-clean-title
{
    min-width:0;
}
.ticket-clean-kicker-row,
.ticket-clean-meta
{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px 10px;
}
.ticket-clean-status,
.ticket-clean-type,
.ticket-clean-priority
{
    display:inline-flex;
    align-items:center;
    min-height:20px;
    padding:3px 7px;
    border:1px solid #33483e;
    border-radius:999px;
    color:#a6bbb0;
    background:#101a15;
    font-size:8px;
    font-weight:850;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.ticket-clean-status.status-in_progress,
.ticket-clean-status.status-open
{
    color:#f3d36b;
    border-color:#78651f;
    background:#29240d;
}
.ticket-clean-status.status-resolved,
.ticket-clean-status.status-closed
{
    color:#7ff0ad;
    border-color:#286a48;
    background:#0d2418;
}
.ticket-clean-status.status-waiting
{
    color:#8fc5ff;
    border-color:#315a86;
    background:#0d1722;
}
.ticket-clean-priority.priority-critical
{
    color:#ff9a9f;
    border-color:#743a3e;
}
.ticket-clean-priority.priority-high
{
    color:#ffd079;
    border-color:#725f2c;
}
.ticket-clean-title h2
{
    margin:6px 0 5px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:19px;
    line-height:1.2;
    letter-spacing:-.02em;
}
.ticket-clean-meta
{
    color:#80968a;
    font-size:9px;
}
.ticket-clean-meta span:not(:last-child)::after
{
    content:"·";
    margin-left:10px;
    color:#4f6559;
}
.ticket-clean-progress
{
    min-width:0;
}
.ticket-clean-progress-top,
.ticket-clean-progress-bottom
{
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:center;
}
.ticket-clean-progress-top
{
    margin-bottom:6px;
    color:#879d91;
    font-size:9px;
}
.ticket-clean-progress-top strong
{
    color:#d8e8df;
    font-size:10px;
}
.ticket-clean-progress-track
{
    height:8px;
    overflow:hidden;
    border:1px solid #1f3028;
    border-radius:999px;
    background:#18271f;
}
.ticket-clean-progress-track i
{
    position:relative;
    display:block;
    height:100%;
    overflow:hidden;
    border-radius:999px;
    background:linear-gradient(90deg,#e85d55 0%,#e4b848 48%,#40db8c 100%);
    transition:width .32s ease;
}
.ticket-clean-progress-track i::after
{
    content:"";
    position:absolute;
    inset:0;
    transform:translateX(-125%);
    background:linear-gradient(110deg,transparent 0 36%,rgba(255,255,255,.42) 49%,transparent 61% 100%);
    animation:ticketProgressSweep 1.9s linear infinite;
}
@keyframes ticketProgressSweep
{
    to{transform:translateX(125%)}
}
.ticket-clean-progress-bottom
{
    margin-top:6px;
    color:#6f8579;
    font-size:8px;
}
.ticket-clean-progress-bottom b
{
    color:#8ea89a;
}
.ticket-clean-header-stats
{
    display:grid;
    gap:5px;
}
.ticket-clean-header-stats span
{
    display:grid;
    grid-template-columns:64px auto;
    align-items:center;
    gap:8px;
    min-width:150px;
    padding:4px 0;
    border-bottom:1px solid rgba(255,255,255,.045);
}
.ticket-clean-header-stats span:last-child
{
    border-bottom:0;
}
.ticket-clean-header-stats small
{
    color:#6f8378;
    font-size:8px;
}
.ticket-clean-header-stats b
{
    color:#dce8e1;
    font-size:9px;
    text-align:right;
}
.ticket-clean-workspace
{
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(330px,405px);
    gap:14px;
    margin-top:14px;
    align-items:start;
}
.ticket-clean-main
{
    min-width:0;
    display:grid;
    gap:12px;
}
.ticket-clean-process,
.ticket-clean-next,
.ticket-clean-evidence
{
    min-width:0;
    border:1px solid #1f3a2d;
    border-radius:16px;
    background:radial-gradient(circle at 7% 0%,rgba(53,229,139,.035),transparent 28%),linear-gradient(180deg,#0d1814,#09130f);
    box-shadow:0 18px 48px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.015);
    overflow:hidden;
}
.ticket-clean-section-head
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:13px 15px;
    border-bottom:1px solid #20362c;
}
.ticket-clean-section-head.compact
{
    padding:11px 14px;
}
.ticket-clean-section-head h3
{
    margin:2px 0 0;
    font-size:14px;
}
.ticket-clean-section-head p
{
    margin:2px 0 0;
    color:#71867b;
    font-size:9px;
}
.ticket-clean-protocol
{
    min-width:0;
}
.ticket-clean-process-layout
{
    display:grid;
    grid-template-columns:minmax(250px,315px) minmax(0,1fr);
    gap:18px;
    padding:15px;
    align-items:start;
}
.ticket-clean-timeline
{
    position:relative;
    display:grid;
    gap:0;
    padding:0 0 0 15px;
}
.ticket-clean-timeline::before
{
    content:"";
    position:absolute;
    left:28px;
    top:12px;
    bottom:14px;
    width:2px;
    border-radius:8px;
    background:linear-gradient(180deg,#37cfbd 0%,#5b9eea 34%,#e5bd49 68%,#3e4e46 100%);
    opacity:.8;
}
.ticket-clean-step
{
    appearance:none;
    position:relative;
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    gap:9px;
    align-items:start;
    width:100%;
    padding:8px 7px 11px 0;
    border:0;
    border-radius:9px;
    background:transparent;
    color:inherit;
    text-align:left;
    cursor:pointer;
}
.ticket-clean-step:hover
{
    background:rgba(255,255,255,.018);
}
.ticket-clean-step.is-active
{
    margin-left:-5px;
    padding-left:5px;
    background:linear-gradient(90deg,rgba(229,189,73,.13),rgba(229,189,73,.01));
}
.ticket-clean-step-dot,
.ticket-clean-close-step .ticket-clean-step-dot
{
    position:relative;
    z-index:2;
    width:24px;
    height:24px;
    display:block;
    border:3px solid #526258;
    border-radius:50%;
    background:#09130f;
    box-shadow:0 0 0 4px #09130f;
}
.ticket-clean-step-dot::after,
.ticket-clean-close-step .ticket-clean-step-dot::after
{
    content:"";
    position:absolute;
    inset:5px;
    border-radius:50%;
    background:#526258;
}
.ticket-clean-step.is-done .ticket-clean-step-dot
{
    border-color:#35df8b;
}
.ticket-clean-step.is-done .ticket-clean-step-dot::after
{
    background:#35df8b;
}
.ticket-clean-step.is-success .ticket-clean-step-dot
{
    border-color:#35df8b;
}
.ticket-clean-step.is-fair .ticket-clean-step-dot
{
    border-color:#e6bd45;
}
.ticket-clean-step.is-fail .ticket-clean-step-dot
{
    border-color:#ff6666;
}
.ticket-clean-step.is-critical .ticket-clean-step-dot
{
    border-color:#ff9b48;
}
.ticket-clean-step.is-active .ticket-clean-step-dot
{
    border-color:#e6bd45;
    animation:ticketStepPulse 1.6s ease-in-out infinite;
}
.ticket-clean-step.is-active .ticket-clean-step-dot::after
{
    background:#e6bd45;
}
@keyframes ticketStepPulse
{
    0%,100%{box-shadow:0 0 0 4px rgba(230,189,69,.08)}
    50%{box-shadow:0 0 0 10px rgba(230,189,69,.015)}
}
.ticket-clean-step-copy
{
    min-width:0;
    display:grid;
    gap:3px;
}
.ticket-clean-step-copy b
{
    min-width:0;
    color:#e8f1ec;
    font-size:10px;
    line-height:1.35;
}
.ticket-clean-step-copy em
{
    margin-right:4px;
    color:#789084;
    font-style:normal;
    font-size:8px;
}
.ticket-clean-step-copy small
{
    color:#6f8479;
    font-size:8px;
    line-height:1.35;
}
.ticket-clean-close-step
{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    gap:9px;
    align-items:start;
    padding:8px 7px 4px 0;
}
.ticket-clean-close-step b,
.ticket-clean-close-step small
{
    display:block;
}
.ticket-clean-close-step b
{
    font-size:10px;
    color:#aab9b1;
}
.ticket-clean-close-step small
{
    margin-top:3px;
    color:#657a6f;
    font-size:8px;
}
.ticket-clean-close-step.is-done .ticket-clean-step-dot
{
    border-color:#35df8b;
}
.ticket-clean-close-step.is-done .ticket-clean-step-dot::after
{
    background:#35df8b;
}
.ticket-clean-focus-stack
{
    min-width:0;
    display:grid;
    gap:10px;
}
.ticket-clean-focus,
.ticket-clean-empty-focus
{
    min-width:0;
    padding:16px;
    border:1px solid #256743;
    border-radius:13px;
    background:radial-gradient(circle at 18% 0%,rgba(53,229,139,.07),transparent 34%),linear-gradient(180deg,#0d1914,#09130f);
    box-shadow:0 0 34px rgba(53,229,139,.018),inset 0 1px 0 rgba(255,255,255,.018);
}
.ticket-clean-focus[hidden]
{
    display:none!important;
}
.ticket-clean-focus-top
{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
}
.ticket-clean-focus-kicker
{
    color:#edc955;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}
.ticket-clean-focus h3,
.ticket-clean-empty-focus h3
{
    margin:8px 0 6px;
    font-size:21px;
    line-height:1.18;
    letter-spacing:-.025em;
}
.ticket-clean-focus p,
.ticket-clean-empty-focus>p
{
    margin:0;
    color:#8ca196;
    font-size:9px;
    line-height:1.55;
}
.ticket-clean-time-pill
{
    width:62px;
    min-height:62px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    align-content:center;
    border:1px solid #685821;
    border-radius:31px;
    color:#f0cf55;
    background:rgba(230,189,69,.05);
    font-size:11px;
    font-weight:850;
}
.ticket-clean-time-pill small
{
    display:block;
    margin-top:1px;
    color:#94865a;
    font-size:7px;
    font-weight:500;
}
.ticket-clean-criteria
{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:13px;
    padding-top:11px;
    border-top:1px solid #22382e;
}
.ticket-clean-criteria span
{
    color:#9bada4;
    font-size:8px;
    line-height:1.45;
}
.ticket-clean-criteria small
{
    display:block;
    margin-bottom:3px;
    color:#657d71;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.ticket-clean-result-choices
{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
    margin-top:14px;
}
.ticket-result-choice
{
    appearance:none;
    min-width:0;
    min-height:82px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:3px;
    padding:9px 7px;
    border:1px solid #2a4036;
    border-radius:10px;
    color:#dce8e1;
    background:#0a1410;
    cursor:pointer;
    transition:.16s ease;
}
.ticket-result-choice:hover:not(:disabled)
{
    transform:translateY(-1px);
    background:#0d1813;
}
.ticket-result-choice:disabled
{
    cursor:default;
    opacity:.58;
}
.ticket-result-choice b
{
    font-size:21px;
    line-height:1;
}
.ticket-result-choice span
{
    font-size:8px;
    font-weight:900;
}
.ticket-result-choice small
{
    color:#70857a;
    font-size:7px;
}
.ticket-result-choice.success b{color:#35df8b}.ticket-result-choice.success.active{border-color:#2c7951;background:rgba(53,223,139,.07)}
.ticket-result-choice.fair b{color:#e6bd45}.ticket-result-choice.fair.active{border-color:#796a2d;background:rgba(230,189,69,.06)}
.ticket-result-choice.fail b{color:#ff6666}.ticket-result-choice.fail.active{border-color:#7b4040;background:rgba(255,102,102,.06)}
.ticket-result-choice.critical b{color:#ff9b48}.ticket-result-choice.critical.active{border-color:#7f552e;background:rgba(255,155,72,.06)}
.ticket-clean-step-fields
{
    margin-top:11px;
    padding-top:11px;
    border-top:1px solid #22382e;
}
.ticket-clean-step-fields label
{
    display:grid;
    gap:4px;
    color:#71877b;
    font-size:8px;
}
.ticket-clean-step-fields .span-2
{
    grid-column:1/-1;
}
.ticket-clean-protocol-footer
{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:10px 0 0;
    border-top:1px solid #20362c;
}
.ticket-clean-protocol-footer>div
{
    display:grid;
    gap:2px;
}
.ticket-clean-protocol-footer b
{
    font-size:9px;
}
.ticket-clean-protocol-footer small
{
    color:#71867a;
    font-size:8px;
}
.ticket-clean-protocol-footer.is-complete b
{
    color:#72e9a3;
}
.ticket-clean-picker
{
    margin-top:14px;
}
.ticket-clean-case-timeline .ticket-clean-step
{
    padding-left:calc(var(--case-depth,0) * 12px);
}
.ticket-clean-case-focus
{
    border-color:#315f47;
}
.ticket-clean-gate-list
{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px 12px;
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid #22382e;
}
.ticket-clean-gate-list>div
{
    display:grid;
    grid-template-columns:9px minmax(0,1fr);
    gap:7px;
    align-items:center;
    color:#879b90;
    font-size:8px;
}
.ticket-clean-gate-list span
{
    width:8px;
    height:8px;
    border:2px solid #5e7066;
    border-radius:50%;
}
.ticket-clean-gate-list .ok span
{
    border-color:#35df8b;
    background:#35df8b;
}
.ticket-clean-gate-list .ok b
{
    color:#cfe7d9;
}
.ticket-clean-focus-actions
{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
}
.ticket-clean-followups
{
    padding:12px 14px 14px;
}
.ticket-clean-next>.ticket-orchestration-gap
{
    margin:12px 14px 14px;
}
.ticket-clean-media-grid
{
    padding:12px 14px 4px;
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.ticket-clean-uploader
{
    margin:8px 14px 14px;
    padding-top:10px;
    border-top:1px solid #20362c;
}
.ticket-clean-details
{
    border:1px solid #21362d;
    border-radius:13px;
    background:#0b1410;
    overflow:hidden;
}
.ticket-clean-details>summary
{
    list-style:none;
    display:grid;
    grid-template-columns:28px minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    padding:11px 13px;
    cursor:pointer;
}
.ticket-clean-details>summary::-webkit-details-marker
{
    display:none;
}
.ticket-clean-details>summary>span
{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:8px;
    color:#6edfa1;
    background:rgba(53,229,139,.06);
}
.ticket-clean-details>summary div
{
    display:grid;
    gap:2px;
}
.ticket-clean-details>summary b
{
    font-size:10px;
}
.ticket-clean-details>summary small
{
    color:#6f8378;
    font-size:8px;
}
.ticket-clean-details>summary em
{
    color:#789185;
    font-style:normal;
    font-size:8px;
}
.ticket-clean-details[open]>summary
{
    border-bottom:1px solid #20362c;
}
.ticket-clean-details-body
{
    padding:12px 13px 13px;
}
.ticket-clean-origin-line,
.ticket-clean-assurance-link
{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:9px;
    align-items:center;
    padding:8px 0;
    color:inherit;
    text-decoration:none;
}
.ticket-clean-origin-line>span,
.ticket-clean-assurance-link>span
{
    color:#65a8ff;
}
.ticket-clean-origin-line div,
.ticket-clean-assurance-link div
{
    display:grid;
    gap:2px;
}
.ticket-clean-origin-line small,
.ticket-clean-assurance-link small
{
    color:#71877b;
    font-size:8px;
}
.ticket-clean-assurance-link strong
{
    color:#8bbfff;
    font-size:8px;
}
.ticket-clean-work-control
{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    margin-bottom:12px;
    border:0;
    border-bottom:1px solid #20362c;
    border-radius:0;
    background:transparent;
    padding:0 0 12px;
}
.ticket-clean-edit-form
{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.ticket-clean-chat
{
    position:sticky;
    top:76px;
    min-width:0;
    height:calc(100vh - 92px);
    min-height:650px;
    display:flex;
    flex-direction:column;
    padding:0;
    overflow:hidden;
    border:1px solid #1f3a2d;
    border-radius:16px;
    background:linear-gradient(180deg,#0d1814,#09130f);
    box-shadow:0 18px 48px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.015);
}
.ticket-clean-chat-head
{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    padding:12px 13px;
    border-bottom:1px solid #20362c;
}
.ticket-clean-chat-head h3
{
    margin:2px 0 0;
    font-size:13px;
}
.ticket-clean-chat-head small
{
    color:#70857a;
    font-size:8px;
}
.ticket-clean-chat-progress
{
    display:grid;
    gap:4px;
    min-width:76px;
    text-align:right;
}
.ticket-clean-chat-progress b
{
    font-size:9px;
}
.ticket-clean-chat-progress i
{
    display:block;
    width:76px;
    height:5px;
    overflow:hidden;
    border-radius:999px;
    background:#1a2922;
}
.ticket-clean-chat-progress span
{
    display:block;
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,#e4b848,#40db8c);
}
.ticket-clean-log-filter
{
    margin:8px 10px 0;
}
.ticket-clean-entry-mode
{
    margin:7px 10px 0;
}
.ticket-clean-entry-mode .support-entry-choice
{
    padding:6px 8px;
}
.ticket-clean-entry-mode .support-entry-choice small
{
    display:none;
}
.ticket-clean-entry-mode>p
{
    margin:5px 0 0;
    font-size:7px;
}
.ticket-clean-thread
{
    flex:1;
    min-height:0;
    max-height:none;
    display:flex;
    flex-direction:column;
    gap:10px;
    overflow:auto;
    padding:12px 10px 14px;
    scroll-behavior:smooth;
}
.ticket-clean-thread .support-message
{
    display:flex;
    align-items:flex-end;
    gap:7px;
    width:100%;
    max-width:none;
    padding:0;
    border:0;
    background:transparent;
}
.ticket-clean-thread .support-message.from-admin,
.ticket-clean-thread .support-message.role-outgoing
{
    flex-direction:row-reverse;
    align-self:stretch;
    background:transparent;
    border:0;
}
.ticket-clean-thread .support-message.is-internal
{
    align-self:stretch;
}
.support-message-avatar
{
    width:27px;
    height:27px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.09);
    border-radius:50%;
    color:#fff;
    background:linear-gradient(135deg,#7555ad,#4d2d80);
    font-size:8px;
    font-weight:850;
}
.ticket-clean-thread .from-admin .support-message-avatar,
.ticket-clean-thread .role-outgoing .support-message-avatar
{
    color:#dffff0;
    background:linear-gradient(135deg,#247a57,#12593d);
}
.ticket-clean-thread .is-system .support-message-avatar,
.ticket-clean-thread .role-system .support-message-avatar
{
    color:var(--accent);
    border-color:#23714b;
    background:#103622;
    box-shadow:0 0 16px rgba(53,229,139,.06);
}
.ticket-clean-thread .is-internal .support-message-avatar
{
    color:#e5cbff;
    border-color:#624780;
    background:#2c203a;
}
.support-message-body
{
    max-width:78%;
    min-width:0;
    padding:8px 9px;
    border:1px solid #2a4137;
    border-radius:10px 10px 10px 3px;
    background:#14211c;
}
.ticket-clean-thread .from-admin .support-message-body,
.ticket-clean-thread .role-outgoing .support-message-body
{
    border-color:#315a47;
    border-radius:10px 10px 3px 10px;
    background:#173027;
}
.ticket-clean-thread .is-system .support-message-body,
.ticket-clean-thread .role-system .support-message-body
{
    border-color:#1d6844;
    background:#0c281b;
}
.ticket-clean-thread .is-internal .support-message-body
{
    max-width:88%;
    border-color:#514064;
    border-style:dashed;
    background:#17121d;
}
.ticket-clean-thread .support-message header
{
    display:flex;
    justify-content:space-between;
    gap:8px;
    color:#83988d;
    font-size:7px;
}
.ticket-clean-thread .support-message header b
{
    font-weight:700;
}
.ticket-clean-thread .support-message p
{
    margin:5px 0 0;
    color:#dbe7e0;
    font-size:9px;
    line-height:1.45;
}
.ticket-clean-thread .support-message small
{
    display:block;
    margin-top:4px;
    color:#5f7469;
    font-size:6px;
}
.ticket-clean-composer
{
    display:grid;
    grid-template-columns:minmax(0,1fr) 38px;
    gap:7px;
    align-items:end;
    margin:0;
    padding:9px 10px;
    border-top:1px solid #20362c;
    background:#0a130f;
}
.ticket-clean-composer textarea
{
    min-height:42px;
    max-height:120px;
    resize:vertical;
    padding:9px 10px;
    border-radius:9px;
}
.ticket-clean-composer .btn
{
    width:38px;
    height:38px;
    padding:0;
}
.ticket-clean-closed
{
    margin:10px;
}
@media(max-width:1320px)
{
    .ticket-clean-workspace
    {
        grid-template-columns:1fr;
    }
    .ticket-clean-chat
    {
        position:static;
        height:680px;
        min-height:0;
    }
}
@media(max-width:1180px)
{
    .ticket-clean-header
    {
        grid-template-columns:1fr;
    }
    .ticket-clean-header-stats
    {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .ticket-clean-header-stats span
    {
        grid-template-columns:1fr;
        min-width:0;
    }
    .ticket-clean-header-stats b
    {
        text-align:left;
    }
    .ticket-clean-process-layout
    {
        grid-template-columns:1fr;
    }
    .ticket-clean-timeline
    {
        padding-bottom:10px;
        border-bottom:1px solid #20362c;
    }
}
@media(max-width:760px)
{
    .ticket-clean-header
    {
        padding:12px;
    }
    .ticket-clean-icon
    {
        width:44px;
        height:44px;
        font-size:20px;
    }
    .ticket-clean-title h2
    {
        white-space:normal;
        font-size:16px;
    }
    .ticket-clean-header-stats,
    .ticket-clean-result-choices,
    .ticket-clean-gate-list,
    .ticket-clean-criteria,
    .ticket-clean-media-grid,
    .ticket-clean-edit-form
    {
        grid-template-columns:1fr;
    }
    .ticket-clean-process-layout
    {
        padding:11px;
    }
    .ticket-clean-focus h3,
    .ticket-clean-empty-focus h3
    {
        font-size:18px;
    }
    .ticket-clean-chat
    {
        height:620px;
    }
    .support-message-body
    {
        max-width:86%;
    }
}

/* 6.8.19 · Ticket desk hierarchy */
.support-ticket-desk-v6819
{
    margin:0 0 8px;
}
.support-ticket-desk-title
{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:16px;
}
.support-ticket-desk-title h2,
.support-reports-heading-v6819 h2
{
    margin:2px 0 3px;
    font-size:18px;
    letter-spacing:-.02em;
}
.support-ticket-desk-title p,
.support-reports-heading-v6819 p
{
    margin:0;
    color:var(--muted);
    font-size:10px;
}
.support-reports-heading-v6819
{
    margin:34px 0 12px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.055);
}
.support-operational-panel
{
    margin-top:10px;
}
.support-workspace
{
    grid-template-columns:minmax(250px,310px) minmax(0,1fr);
    gap:12px;
    margin-top:12px;
}
.support-master.panel
{
    padding:0;
    border-color:#20362c;
    border-radius:14px;
    background:linear-gradient(180deg,#0c1712,#09130f);
    box-shadow:0 14px 38px rgba(0,0,0,.11);
}
.support-master-head
{
    margin:0;
    padding:11px 12px 9px;
    border-bottom:1px solid #20362c;
}
.support-master-head h2
{
    font-size:14px;
}
.support-ticket-list
{
    gap:0;
    padding:3px 0;
}
.support-ticket-row
{
    position:relative;
    border:0;
    border-bottom:1px solid rgba(255,255,255,.045);
    border-radius:0;
    background:transparent;
    padding:10px 12px 10px 14px;
}
.support-ticket-row:last-child
{
    border-bottom:0;
}
.support-ticket-row:hover
{
    border-color:rgba(255,255,255,.045);
    background:rgba(255,255,255,.018);
}
.support-ticket-row.active
{
    border-color:rgba(255,255,255,.045);
    background:linear-gradient(90deg,rgba(53,229,139,.11),rgba(53,229,139,.018));
    box-shadow:none;
}
.support-ticket-row.active::before
{
    content:"";
    position:absolute;
    left:0;
    top:8px;
    bottom:8px;
    width:3px;
    border-radius:0 4px 4px 0;
    background:var(--accent);
}
.support-detail-column
{
    min-width:0;
}
@media(max-width:1100px)
{
    .support-workspace
    {
        grid-template-columns:1fr;
    }
    .support-master
    {
        position:static;
        max-height:none;
    }
    .support-ticket-list
    {
        max-height:320px;
    }
}

/* 6.17.2 · Biblioteca COMPANY */
.assurance-library-summary-v6172{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin:0 0 13px}.assurance-library-summary-v6172 article{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.assurance-library-summary-v6172 small,.assurance-library-summary-v6172 strong,.assurance-library-summary-v6172 span{display:block}.assurance-library-summary-v6172 small{font-size:9px;color:var(--muted);text-transform:uppercase}.assurance-library-summary-v6172 strong{font-size:22px;margin:3px 0}.assurance-library-summary-v6172 span{font-size:10px;color:var(--muted)}.assurance-library-toolbar-v6172{display:grid;grid-template-columns:minmax(280px,1fr) 190px 190px;gap:9px;margin-bottom:10px}.assurance-library-toolbar-v6172 label{display:grid;gap:5px}.assurance-library-toolbar-v6172 label>span{font-size:9px;color:var(--muted);text-transform:uppercase}.assurance-library-explain-v6172{display:flex;gap:8px;align-items:baseline;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);margin-bottom:12px}.assurance-library-explain-v6172 strong{font-size:11px}.assurance-library-explain-v6172 span{font-size:10px;color:var(--muted)}.assurance-library-result-count-v6172{display:grid;text-align:right}.assurance-library-result-count-v6172 strong{font-size:24px}.assurance-library-result-count-v6172 span{font-size:9px;color:var(--muted);text-transform:uppercase}.assurance-library-grid-v6172{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:11px}.assurance-library-card-v6172{display:flex;flex-direction:column;gap:9px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);min-width:0}.assurance-library-card-v6172 h3,.assurance-library-card-v6172 p{margin:0}.assurance-library-card-v6172 p{color:var(--muted);line-height:1.45;min-height:34px}.assurance-library-card-v6172.is-archived{opacity:.62}.assurance-library-score-v6172{margin-left:auto;font-size:11px;font-weight:800;color:var(--green)}.assurance-library-facts-v6172{display:flex;gap:6px;flex-wrap:wrap}.assurance-library-facts-v6172 span{font-size:10px;padding:4px 7px;border:1px solid var(--line);border-radius:999px}.assurance-library-relations-v6172{display:flex;flex-wrap:wrap;gap:5px;min-height:26px}.assurance-library-relations-v6172 span,.assurance-library-relations-v6172 em{font-size:9px;padding:4px 6px;border-radius:7px;background:var(--panel);border:1px solid var(--line);font-style:normal}.assurance-library-why-v6172{font-size:10px;color:var(--muted);padding:7px 8px;border-left:2px solid var(--green);background:var(--panel)}.assurance-library-actions-v6172{margin-top:auto}.assurance-library-actions-v6172 form{margin:0}
@media(max-width:980px){.assurance-library-summary-v6172{grid-template-columns:repeat(3,minmax(0,1fr))}.assurance-library-toolbar-v6172{grid-template-columns:1fr 1fr}.assurance-library-search-v6172{grid-column:1/-1}}@media(max-width:620px){.assurance-library-summary-v6172,.assurance-library-toolbar-v6172{grid-template-columns:1fr}.assurance-library-search-v6172{grid-column:auto}.assurance-library-explain-v6172{display:grid}}

/* 6.17.3 · Intercambio JSON portable Assurance */
.assurance-import-preview-v6173
{
    margin-top: 16px;
    padding: 16px;
    border: 1px solid var(--border, rgba(255,255,255,.12));
    border-radius: 14px;
    background: rgba(255,255,255,.025);
}
.assurance-import-summary-v6173
{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}
.assurance-import-summary-v6173 span
{
    display: grid;
    gap: 2px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(255,255,255,.04);
}
.assurance-import-summary-v6173 strong
{
    font-size: 1.25rem;
}
.assurance-import-summary-v6173 small
{
    opacity: .72;
}
.assurance-import-detail-v6173,
.assurance-import-warnings-v6173 ul,
.assurance-import-missing-v6173 ul
{
    margin: 10px 0 0;
    padding-left: 20px;
}
.assurance-import-detail-v6173 li
{
    display: grid;
    grid-template-columns: 92px minmax(150px, 1fr) 110px;
    gap: 8px 12px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
}
.assurance-import-detail-v6173 li small
{
    grid-column: 2 / -1;
    opacity: .75;
}
.assurance-import-detail-v6173 em
{
    font-style: normal;
    font-weight: 700;
}
.assurance-import-warnings-v6173,
.assurance-import-missing-v6173
{
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(255,190,80,.08);
}
@media(max-width: 760px)
{
    .assurance-import-summary-v6173
    {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .assurance-import-detail-v6173 li
    {
        grid-template-columns: 1fr;
    }
    .assurance-import-detail-v6173 li small
    {
        grid-column: auto;
    }
}

/* 6.18.0 · Catálogo operativo real */
.assurance-library-summary-v6172{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}
.assurance-library-success-v6180{font-weight:700}
.assurance-library-reuse-v6180{margin-left:auto}
.assurance-library-score-v6172:not([hidden])+.assurance-library-reuse-v6180{margin-left:0}
.assurance-reuse-suggestions-v6180{display:grid;gap:7px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}
.assurance-reuse-suggestions-v6180[hidden]{display:none}
.assurance-reuse-suggestions-v6180>strong{font-size:11px}
.assurance-reuse-suggestions-v6180>small{color:var(--muted);font-size:10px}
.assurance-reuse-suggestions-v6180 article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:7px 0;border-top:1px solid var(--line)}
.assurance-reuse-suggestions-v6180 article>b{font-size:12px}
.assurance-reuse-suggestions-v6180 article>span{display:grid;min-width:0}
.assurance-reuse-suggestions-v6180 article>span>strong,.assurance-reuse-suggestions-v6180 article>span>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.assurance-reuse-suggestions-v6180 article>span>small{color:var(--muted);font-size:9px}
@media(max-width:620px){.assurance-reuse-suggestions-v6180 article{grid-template-columns:auto minmax(0,1fr)}.assurance-reuse-suggestions-v6180 article>a{grid-column:1/-1}}


/* 6.19.0 · Aprendizaje y reutilización explicable */
.assurance-learning-fact-v6190
{
    border-style: dashed;
}

.assurance-learning-explain-v6190,
.assurance-duplicate-hint-v6190
{
    display: grid;
    gap: .35rem;
    margin-top: .8rem;
    padding: .75rem .85rem;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface-soft);
}

.assurance-learning-explain-v6190 strong,
.assurance-duplicate-hint-v6190 strong
{
    font-size: .78rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.assurance-learning-explain-v6190 span,
.assurance-duplicate-hint-v6190 span,
.assurance-duplicate-hint-v6190 a
{
    font-size: .82rem;
}

.assurance-duplicate-hint-v6190 a
{
    width: fit-content;
}


/* 6.21.0 · contexto móvil por QR de activo */
.field-asset-shell{max-width:860px;margin:0 auto;display:grid;gap:16px;padding-bottom:42px}.field-asset-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.field-asset-hero h1{margin:.15rem 0;font-size:clamp(1.8rem,7vw,3rem)}.field-asset-hero p{margin:0;color:var(--muted,#9aa5a0)}.field-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.field-status-grid article{padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035);display:grid;gap:5px}.field-status-grid span,.field-list-row small,.field-asset-footer small{color:var(--muted,#9aa5a0);font-size:.78rem}.field-status-grid strong{font-size:.96rem;overflow-wrap:anywhere}.field-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.field-action-grid .btn{justify-content:center;text-align:center}.field-list{display:grid;gap:8px}.field-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;text-decoration:none;color:inherit;background:rgba(255,255,255,.025)}.field-list-row>div{min-width:0;display:grid;gap:3px}.field-list-row strong,.field-list-row small{overflow-wrap:anywhere}.field-timeline{display:grid;gap:12px}.field-timeline article{display:grid;grid-template-columns:minmax(105px,150px) 1fr;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}.field-timeline time{font-size:.78rem;color:var(--muted,#9aa5a0)}.field-timeline article>div{display:grid;gap:3px}.field-timeline p{margin:.25rem 0 0}.field-drift{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.field-drift p{margin:.45rem 0}.field-asset-footer{text-align:center;overflow-wrap:anywhere}@media(max-width:760px){.field-asset-shell{gap:12px}.field-asset-hero{align-items:stretch;flex-direction:column}.field-asset-hero .btn{width:100%;justify-content:center}.field-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-list-row{align-items:flex-start}.field-timeline article{grid-template-columns:1fr;gap:4px}.field-location-card h2{font-size:1.15rem}}

/* 6.21.1 · Bifrost inverso */
.field-asset-hero-actions
{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:8px;
}
.field-ticket-handoff-row
{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    align-items:stretch;
}
.field-ticket-handoff-row .field-list-row
{
    min-width:0;
}
.field-ticket-handoff-button
{
    align-self:stretch;
    white-space:nowrap;
}
[data-bifrost-station-open][data-bifrost-station-state="active"]
{
    box-shadow:0 0 0 1px rgba(124,255,176,.28) inset;
    color:#7cffb0;
}
[data-bifrost-station-open][data-bifrost-station-state="error"]
{
    color:#ff8997;
}
@media(max-width:760px)
{
    .field-asset-hero-actions,
    .field-asset-hero-actions .btn
    {
        width:100%;
    }
    .field-asset-hero-actions .btn
    {
        justify-content:center;
    }
    .field-ticket-handoff-row
    {
        grid-template-columns:1fr;
    }
    .field-ticket-handoff-button
    {
        width:100%;
        justify-content:center;
    }
}

/* Command Center 6.25.1 */
.command-center-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:16px}.command-center-metric{display:grid;gap:4px;padding:14px;border:1px solid #293c32;border-radius:12px;background:#0d1511;text-decoration:none;color:inherit;min-width:0}.command-center-metric span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.command-center-metric strong{font-size:28px;line-height:1}.command-center-metric small{color:#819489;line-height:1.35}.command-center-metric.critical{border-color:#6a3636;background:#211313}.command-center-metric.warning{border-color:#6b5425;background:#211b0e}.command-center-metric.active{border-color:#245b43;background:#0d1d15}.command-center-metric.done{border-color:#2a4636}.command-center-overview{margin-bottom:16px}.command-center-domain-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.command-center-domain-grid>a{display:grid;gap:3px;padding:11px;border:1px solid #263a30;border-radius:10px;background:#09110d;color:inherit;text-decoration:none}.command-center-domain-grid span,.command-center-domain-grid small{font-size:9px;color:var(--muted)}.command-center-domain-grid b{font-size:22px}.command-center-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.command-center-quick{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #293d33;border-radius:11px;background:#0a130e;color:inherit;text-decoration:none;text-align:left;cursor:pointer}.command-center-quick>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #31503e;border-radius:9px;font-size:16px}.command-center-quick div{display:grid;gap:2px}.command-center-quick small{color:var(--muted)}.command-center-quick.primary{border-color:#2b8651;background:#10251a}.command-center-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.command-center-question{min-width:0}.command-center-question>.panel-title>b{font-size:28px}.command-center-list{display:grid;gap:7px}.command-center-item{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid #263a30;border-radius:10px;background:#09110d;color:inherit;text-decoration:none}.command-center-item:hover{border-color:#456b55;background:#0d1812}.command-center-item.critical{border-left:3px solid #cc5d5d}.command-center-item.warning{border-left:3px solid #d7a84c}.command-center-item.active{border-left:3px solid #56c483}.command-center-item.success{border-left:3px solid #55bd7d}.command-center-item.info{border-left:3px solid #5f9fca}.command-center-item.pending{border-left:3px solid #aa9463}.command-center-module{font-size:8px;color:#7f9489;text-transform:uppercase;letter-spacing:.08em}.command-center-item>div{display:grid;gap:2px;min-width:0}.command-center-item strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-center-item small,.command-center-item em{font-size:9px;color:var(--muted);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-center-item>b{font-size:9px;color:#73d99d;white-space:nowrap}.command-center-empty{display:grid;gap:3px;padding:18px;border:1px dashed #2a3f34;border-radius:10px;color:#8ca095}.command-center-empty small{color:var(--muted)}@media(max-width:1180px){.command-center-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.command-center-domain-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:900px){.command-center-question-grid{grid-template-columns:1fr}.command-center-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.command-center-domain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.command-center-summary,.command-center-quick-actions{grid-template-columns:1fr}.command-center-item{grid-template-columns:1fr}.command-center-item>b{justify-self:start}}

/* Loki 6.27.14 · Agent inventory telemetry */
.agent-json-pre { white-space: pre-wrap; overflow: auto; max-height: 34rem; font-size: 12px; line-height: 1.45; word-break: break-word; }
