.lp{position:relative;width:100%;min-height:100vh;background:var(--bg-base);overflow-x:hidden;font-family:var(--font-ui)}.lp-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-image:linear-gradient(rgba(0,255,180,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,180,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,transparent 0,#000 6%,#000 92%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 6%,#000 92%,transparent 100%);animation:lp-grid-drift 40s linear infinite}@keyframes lp-grid-drift{0%{background-position:0 0,0 0}to{background-position:48px 96px,48px 96px}}.lp-glow{position:fixed;top:-10%;left:50%;transform:translate(-50%);width:900px;height:700px;z-index:0;background:radial-gradient(circle,rgba(0,255,180,.08) 0%,transparent 70%);pointer-events:none}.lp-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 5%;background:#020b14bf;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.lp-brand{display:flex;align-items:center;gap:10px}.lp-brand img{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(0,255,180,.6))}.lp-brand span{font-family:var(--font-mono);font-weight:700;letter-spacing:1px;color:var(--text-primary);font-size:15px}.lp-brand .dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:lp-pulse 1.6s infinite}.lp-nav-links{display:flex;gap:28px}.lp-nav-links a{color:var(--text-secondary);font-size:13px;text-decoration:none;letter-spacing:.3px;transition:color .2s;cursor:pointer}.lp-nav-links a:hover{color:var(--green)}.lp-nav-cta{padding:8px 18px;border-radius:8px;border:1px solid var(--border-bright);background:transparent;color:var(--green);font-size:13px;cursor:pointer;font-family:var(--font-ui);transition:all .2s;white-space:nowrap}.lp-nav-cta:hover{background:var(--green-dim)}.lp-hero{position:relative;z-index:5;padding:90px 5% 70px;max-width:1320px;margin:0 auto}.lp-hero-grid{display:grid;grid-template-columns:minmax(0,560px) minmax(0,460px);align-items:start;justify-content:space-between;gap:60px}.lp-hero-left{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding-top:34px}.lp-hero-left .lp-actions{align-items:flex-start}.lp-hero-left .lp-sub{text-align:left}.lp-hero-right{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px;margin-top:-18px}.lp-hero-right .lp-actions{margin-top:0}.lp-hero-glow-orb{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:420px;height:420px;z-index:-1;background:radial-gradient(circle,rgba(0,255,180,.14) 0%,transparent 70%);pointer-events:none}.lp-mock-window{width:100%;max-width:420px;background:linear-gradient(165deg,var(--bg-card-hover),var(--bg-panel) 60%);border:1px solid var(--border-bright);border-radius:16px;overflow:hidden;box-shadow:0 30px 70px #0000008c,0 0 0 1px #00ffb414;animation:lp-float 5s ease-in-out infinite}.lp-mock-window-lg{max-width:520px}@keyframes lp-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.lp-mock-titlebar{display:flex;align-items:center;gap:7px;padding:12px 14px;border-bottom:1px solid var(--border);background:#00000026}.lp-mock-dot{width:9px;height:9px;border-radius:50%}.lp-mock-dot-red{background:#ff5f56}.lp-mock-dot-amber{background:#ffbd2e}.lp-mock-dot-green{background:#27c93f}.lp-mock-titletext{margin-left:8px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:.3px}.lp-mock-body{padding:18px;display:flex;flex-direction:column;gap:10px}.lp-mock-toprow{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.lp-mock-chip{font-family:var(--font-mono);font-size:10px;color:var(--text-secondary)}.lp-mock-live{display:flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;color:var(--green);letter-spacing:.5px}.lp-mock-livedot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green);animation:lp-pulse 1.6s infinite}.lp-mock-zone{background:#ffffff08;border:1px solid var(--border);border-radius:10px;padding:10px 12px}.lp-mock-zone-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}.lp-mock-zone-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.lp-mock-zone-dot-green{background:var(--green);box-shadow:0 0 6px var(--green)}.lp-mock-zone-dot-amber{background:var(--amber, #ffaa00);box-shadow:0 0 6px #fa0}.lp-mock-zone-dot-red{background:var(--red, #ff3a3a);box-shadow:0 0 6px #ff3a3a}.lp-mock-zone-name{font-family:var(--font-mono);font-size:11.5px;color:var(--text-primary);flex:1}.lp-mock-zone-status{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.5px}.lp-mock-zone-status-green{color:var(--green)}.lp-mock-zone-status-amber{color:#fa0}.lp-mock-zone-status-red{color:#ff3a3a}.lp-mock-zone-track{height:4px;border-radius:3px;background:#ffffff0f;overflow:hidden}.lp-mock-zone-fill{height:100%;border-radius:3px}.lp-mock-zone-fill-green{background:var(--green);box-shadow:0 0 6px var(--green)}.lp-mock-zone-fill-amber{background:#fa0;box-shadow:0 0 6px #fa0}.lp-mock-zone-fill-red{background:#ff3a3a;box-shadow:0 0 6px #ff3a3a}.lp-mock-footer{display:flex;gap:8px;margin-top:4px;font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.lp-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border:1px solid var(--border-bright);border-radius:30px;background:var(--green-dim);color:var(--green);font-family:var(--font-mono);font-size:11px;letter-spacing:.3px;margin-bottom:28px}.lp-invite{margin-bottom:20px;padding:8px 20px;border-radius:30px;background:#00ffb41a;border:1px solid var(--border-bright);color:var(--green);font-family:var(--font-mono);font-size:11px;letter-spacing:1px}.lp-title{font-size:clamp(40px,7vw,72px);font-weight:800;line-height:1.06;letter-spacing:-2px;color:var(--text-primary);margin:0}.lp-title .accent{color:var(--green);text-shadow:0 0 30px rgba(0,255,180,.45)}.lp-sub{color:var(--text-secondary);font-size:17px;line-height:1.6;max-width:620px;margin:22px 0 0}.lp-actions{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:40px;width:100%;max-width:320px}.lp-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;font-family:var(--font-ui)}.lp-btn-primary{background:#ffffff0f;border:1px solid var(--border-bright);color:#fff;box-shadow:0 0 24px #00ffb40f}.lp-btn-primary:hover:not(:disabled){background:var(--green-dim);box-shadow:0 0 36px #00ffb42e}.lp-btn-primary:disabled{cursor:wait;opacity:.7}.lp-btn-demo{background:transparent;border:1px dashed var(--border-bright);color:var(--green);font-family:var(--font-mono);letter-spacing:.3px}.lp-btn-demo:hover:not(:disabled){background:var(--green-dim)}.lp-btn-demo:disabled{cursor:wait;opacity:.8}.lp-divider{display:flex;align-items:center;gap:12px;width:100%}.lp-divider .line{flex:1;height:1px;background:var(--border)}.lp-divider span{color:var(--text-muted);font-size:10px;font-family:var(--font-mono);letter-spacing:1px}.lp-hint{color:var(--text-muted);font-size:11px;margin-top:2px;text-align:center;font-family:var(--font-mono);letter-spacing:.3px}.lp-error{color:var(--red);font-size:13px;margin-top:8px;text-align:center;max-width:340px}.lp-footnote{color:var(--text-muted);font-size:11px;margin-top:22px;font-family:var(--font-mono);letter-spacing:.5px}.lp-spinner{width:16px;height:16px;border:2px solid rgba(0,255,180,.25);border-top:2px solid var(--green);border-radius:50%;animation:lp-spin .7s linear infinite}.lp-stats{position:relative;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;max-width:900px;margin:10px auto 0;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden}.lp-stat{background:var(--bg-panel);padding:22px 12px;text-align:center;border:1px solid transparent;transition:transform .15s ease,border-color .2s,box-shadow .2s;cursor:default}.lp-stat:hover{border-color:var(--border-bright);box-shadow:0 16px 34px #00000059}.lp-stat-val{color:var(--green);font-size:22px;font-weight:700;font-family:var(--font-mono)}.lp-stat-label{color:var(--text-muted);font-size:11px;margin-top:6px;letter-spacing:.3px}.lp-preview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}.lp-preview-visual{display:flex;justify-content:center;transition:transform .15s ease}.lp-preview-text{display:flex;flex-direction:column;align-items:flex-start}.lp-preview-text .lp-eyebrow{margin-bottom:4px}.lp-preview-list{list-style:none;margin-top:20px;display:flex;flex-direction:column;gap:12px;padding:0}.lp-preview-list li{color:var(--text-secondary);font-size:13.5px;line-height:1.5;display:flex;gap:10px;align-items:flex-start}.lp-mock-body-split{flex-direction:row;align-items:center;gap:26px}.lp-health-ring-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.lp-health-label{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);letter-spacing:.6px;text-align:center}.lp-health-bars{flex:1;display:flex;flex-direction:column;gap:14px}.lp-health-bar-row{display:flex;flex-direction:column;gap:6px}.lp-health-bar-top{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10.5px;color:var(--text-secondary)}.lp-health-bar-track{height:5px;border-radius:3px;background:#ffffff0f;overflow:hidden}.lp-health-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#00c896,var(--green));box-shadow:0 0 8px #00ffb466}@media(max-width:900px){.lp-preview-grid{grid-template-columns:1fr}.lp-mock-body-split{flex-direction:column}}.lp-section{position:relative;z-index:5;max-width:1160px;margin:0 auto;padding:90px 5%}.lp-section-head{text-align:center;max-width:640px;margin:0 auto 48px}.lp-eyebrow{color:var(--green);font-family:var(--font-mono);font-size:11px;letter-spacing:.4px;text-transform:uppercase}.lp-section-title{color:var(--text-primary);font-size:clamp(26px,4vw,36px);font-weight:700;margin:10px 0 12px;letter-spacing:-.5px}.lp-section-desc{color:var(--text-secondary);font-size:15px;line-height:1.6}.lp-problem-quote{border-left:3px solid var(--red);background:#ff3a3a0d;padding:18px 24px;border-radius:0 10px 10px 0;margin:24px auto 0;max-width:620px;color:var(--text-secondary);font-style:italic;font-size:15px;text-align:left}.lp-flow{display:flex;flex-wrap:wrap;justify-content:center;gap:0}.lp-flow-step{flex:1 1 200px;max-width:240px;text-align:center;padding:24px 16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-panel);margin:8px;transition:transform .2s,border-color .2s}.lp-flow-step:hover{transform:translateY(-4px);border-color:var(--border-bright)}.lp-flow-num{width:30px;height:30px;border-radius:50%;background:var(--green-dim);border:1px solid var(--border-bright);color:var(--green);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:13px;margin:0 auto 14px}.lp-flow-step h4{color:var(--text-primary);font-size:14px;margin:0 0 8px}.lp-flow-step p{color:var(--text-secondary);font-size:12.5px;line-height:1.5;margin:0}.lp-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.lp-feature{border:1px solid var(--border);background:var(--bg-panel);border-radius:12px;padding:22px;transition:all .2s;cursor:default}.lp-feature:hover{border-color:var(--border-bright);background:var(--bg-card-hover);transform:translateY(-3px)}.lp-feature-icon-box{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;margin-bottom:14px;background:var(--green-dim);border:1px solid var(--border-bright)}.lp-feature-icon{font-size:19px;display:block}.lp-feature h4{color:var(--text-primary);font-size:14.5px;margin:0 0 8px}.lp-feature p{color:var(--text-secondary);font-size:12.5px;line-height:1.55;margin:0}.lp-compliance{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.lp-chip{padding:8px 18px;border:1px solid var(--border);border-radius:30px;color:var(--text-secondary);font-family:var(--font-mono);font-size:11.5px;letter-spacing:1px;background:var(--bg-panel);display:inline-block;transition:transform .15s ease,border-color .2s,color .2s;cursor:default}.lp-chip:hover{border-color:var(--green);color:var(--green)}.lp-cta-section{text-align:center;padding-bottom:120px}.lp-cta-section .lp-actions{margin:32px auto 0}.lp-denied{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-base)}.lp-denied-card{text-align:center;padding:40px;border:1px solid rgba(255,58,58,.3);border-radius:16px;background:#ff14140d;max-width:440px}@keyframes lp-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.4)}}@keyframes lp-spin{to{transform:rotate(360deg)}}.lp-reveal{opacity:0;transform:perspective(1200px) translateY(28px) rotateX(6deg);transition:opacity .7s ease,transform .7s ease;transform-origin:top center}.lp-reveal.in-view{opacity:1;transform:perspective(1200px) translateY(0) rotateX(0)}.lp-auth-toggle{display:flex;gap:16px;margin-top:14px;flex-wrap:wrap;justify-content:center}.lp-auth-toggle button{background:none;border:none;font-family:var(--font-mono);font-size:11px;letter-spacing:.3px;cursor:pointer;text-decoration:underline;color:var(--text-muted);transition:color .2s}.lp-auth-toggle button.active{color:var(--green)}.lp-auth-card{margin-top:18px;padding:22px;border-radius:14px;background:var(--bg-panel);border:1px solid var(--border-bright);width:100%;max-width:320px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-soft, 0 12px 30px rgba(0,0,0,.35))}.lp-input{padding:11px 13px;border-radius:8px;background:#ffffff0a;border:1px solid var(--border);color:var(--text-primary);font-family:var(--font-ui);font-size:13px;outline:none;transition:border-color .2s}.lp-input:focus{border-color:var(--border-bright)}.lp-input::placeholder{color:var(--text-muted)}.lp-auth-submit{padding:11px 0;border-radius:8px;background:var(--green-dim);border:1px solid var(--border-bright);color:var(--green);font-family:var(--font-mono);font-size:12px;letter-spacing:.4px;cursor:pointer;transition:all .2s}.lp-auth-submit:hover:not(:disabled){background:#00ffb433}.lp-auth-note{color:var(--text-muted);font-size:10.5px;font-family:var(--font-mono);margin:0;line-height:1.5}.lp-features,.lp-flow{perspective:1200px}.lp-feature,.lp-flow-step{transform-style:preserve-3d;transition:transform .15s ease-out,border-color .2s,background .2s,box-shadow .2s;will-change:transform}.lp-feature:hover,.lp-flow-step:hover{box-shadow:0 20px 45px #0006}.lp-footer{position:relative;z-index:5;text-align:center;padding:36px 20px 48px;border-top:1px solid var(--border);color:var(--text-muted);font-size:11.5px}.lp-footer strong{color:var(--text-secondary)}@media(max-width:900px){.lp-hero-grid{grid-template-columns:1fr}.lp-hero-left{align-items:center;text-align:center;padding-top:0}.lp-hero-left .lp-sub{text-align:center}.lp-hero-right{margin-top:32px}}@media(max-width:720px){.lp-nav-links{display:none}.lp-stats{grid-template-columns:repeat(2,1fr)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base: #020b14;--bg-panel: #061a29;--bg-card: #12293b;--bg-card-hover: #1c3a4e;--border: rgba(0, 255, 180, .14);--border-bright: rgba(0, 255, 180, .35);--green: #00ffb4;--green-dim: rgba(0, 255, 180, .14);--red: #ff4d4d;--amber: #ffb020;--blue: #4dd8c0;--text-primary: #f2fafb;--text-secondary: rgba(242, 250, 251, .58);--text-muted: rgba(242, 250, 251, .32);--font-ui: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "Space Grotesk", "Inter", system-ui, sans-serif;--sidebar-w: 220px;--radius-lg: 16px;--shadow-soft: 0 10px 30px rgba(0, 0, 0, .35);--shadow-glow: 0 0 0 1px var(--border-bright), 0 10px 30px rgba(0, 0, 0, .35)}body{font-family:var(--font-ui);background:var(--bg-base);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.app-shell{background:radial-gradient(1200px 600px at 15% -10%,rgba(0,255,180,.07),transparent 60%),radial-gradient(900px 500px at 100% 110%,rgba(0,255,180,.05),transparent 60%),var(--bg-base);position:relative}.app-shell{display:flex;height:100vh;overflow:hidden}.main-content{position:relative}.main-content:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(0,255,180,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,180,.05) 1px,transparent 1px);background-size:42px 42px;background-position:0 0;-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 45%,transparent 100%);mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 45%,transparent 100%);animation:grid-drift 30s linear infinite}@keyframes grid-drift{0%{background-position:0 0}to{background-position:84px 84px}}.topbar,.content-body{position:relative;z-index:1}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--bg-panel);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:0;position:relative}.sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--green),transparent)}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:22px 20px;border-bottom:1px solid var(--border)}.logo-dot-lg{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green);animation:pulse-dot 1.8s ease-in-out infinite;flex-shrink:0}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 10px var(--green)}50%{opacity:.5;box-shadow:0 0 4px var(--green)}}.logo-text{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--green);letter-spacing:.4px}.logo-sub{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);letter-spacing:.5px;margin-top:1px}.sidebar-nav{flex:1;padding:16px 10px;display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .18s ease;text-align:left;width:100%;font-family:var(--font-ui)}.nav-item:hover{background:var(--green-dim);color:var(--text-primary);transform:translate(2px)}.nav-active{background:var(--green-dim)!important;color:var(--green)!important;border:1px solid var(--border-bright)!important;box-shadow:0 4px 14px #00ffb41f}.nav-icon{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;opacity:.85}.nav-item:hover .nav-icon,.nav-active .nav-icon{opacity:1}.sidebar-footer{padding:14px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}.user-chip{display:flex;align-items:center;gap:10px;min-width:0}.user-avatar{width:38px;height:38px;border-radius:50%;flex-shrink:0;background:var(--green-dim);border:1.5px solid var(--border-bright);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--green);font-family:var(--font-mono);box-shadow:0 0 12px #00ffb426}.user-name{font-size:14px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.2px}.user-role{font-size:10.5px;font-weight:700;font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;margin-top:2px}.logout-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 8px;border-radius:6px;cursor:pointer;font-size:14px;flex-shrink:0;transition:all .15s}.logout-btn:hover{border-color:var(--red);color:var(--red)}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0}.page-title-row{display:flex;align-items:center;gap:10px}.page-title{font-size:16px;font-weight:600;color:var(--text-primary)}.topbar-role-badge{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:1px;padding:3px 10px;border-radius:20px;background:var(--green-dim);border:1px solid var(--border-bright)}.breadcrumb{font-size:11px;color:var(--text-muted);margin-top:2px;font-family:var(--font-mono);letter-spacing:.5px}.topbar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.critical-badge{display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;background:#ff3a3a1f;border:1px solid rgba(255,58,58,.3);color:var(--red);font-size:11px;font-weight:700;font-family:var(--font-mono);letter-spacing:1px;animation:pulse-border 1.5s ease-in-out infinite}@keyframes pulse-border{0%,to{box-shadow:0 0 #ff3a3a4d}50%{box-shadow:0 0 0 4px #ff3a3a0d}}.crit-dot{width:6px;height:6px;border-radius:50%;background:var(--red);animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.permit-conflict-chip{display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;background:#ffaa001a;border:1px solid rgba(255,170,0,.3);color:var(--amber);font-size:11px;font-weight:700;font-family:var(--font-mono);letter-spacing:1px;cursor:pointer;transition:all .15s}.permit-conflict-chip:hover{background:#ffaa002e}.clock{font-family:var(--font-mono);font-size:14px;color:var(--text-secondary);letter-spacing:.4px}.live-chip{font-family:var(--font-mono);font-size:11px;color:var(--green);letter-spacing:.4px}.content-body{flex:1;overflow-y:auto;padding:24px 28px;display:flex;flex-direction:column;gap:20px}.content-body::-webkit-scrollbar{width:4px}.content-body::-webkit-scrollbar-track{background:transparent}.content-body::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:2px}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;perspective:1000px}.kpi-card{background:linear-gradient(155deg,var(--bg-card-hover),var(--bg-card) 60%);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .25s,box-shadow .35s;position:relative;overflow:hidden;box-shadow:0 4px 16px #00000040;transform-style:preserve-3d}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--green-dim),transparent)}.kpi-card:hover{border-color:var(--border-bright);transform:perspective(1000px) rotateX(3deg) translateY(-4px) scale(1.015);box-shadow:var(--shadow-soft)}.kpi-label{font-size:10px;font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.4px;text-transform:uppercase;margin-bottom:8px}.kpi-value{font-size:28px;font-weight:700;font-family:var(--font-mono);line-height:1;transition:color .4s}.kpi-sub{font-size:10px;color:var(--text-muted);margin-top:6px}.section-title{font-size:11px;font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.5px;text-transform:uppercase;display:flex;align-items:center;gap:10px}.section-badge{background:#00ffb41a;border:1px solid var(--border-bright);color:var(--green);padding:2px 8px;border-radius:20px;font-size:9px;animation:blink 2s step-end infinite}.section-hint{font-size:10px;color:var(--text-muted);letter-spacing:1px;font-weight:400}.zones-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;perspective:1200px}.zone-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .25s,background .25s;cursor:pointer;transform-style:preserve-3d;box-shadow:0 3px 12px #0003}.zone-card:hover{border-color:var(--border-bright);background:var(--bg-card-hover);transform:perspective(1200px) rotateX(4deg) rotateY(-2deg) translateY(-5px) scale(1.015);box-shadow:0 18px 40px #0006,0 0 0 1px var(--border-bright)}.zone-critical{border-color:#ff3a3a59!important;background:#ff3a3a0a!important;animation:card-pulse 2s ease-in-out infinite}@keyframes card-pulse{0%,to{box-shadow:0 0 #ff3a3a1a}50%{box-shadow:0 0 20px #ff3a3a26}}.critical-pulse{position:absolute;top:12px;right:12px;width:8px;height:8px;border-radius:50%;background:var(--red);animation:blink .8s step-end infinite}.zone-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:8px}.zone-name{font-size:12px;font-weight:600;color:var(--text-primary);font-family:var(--font-mono)}.zone-status{font-size:10px;font-family:var(--font-mono);letter-spacing:.4px;margin-top:3px}.zone-sensors{display:flex;gap:8px;margin-bottom:10px}.sensor-item{flex:1;background:#ffffff0a;border-radius:8px;padding:7px;border:1px solid var(--border)}.sensor-label{display:block;font-size:9px;font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.4px;margin-bottom:3px}.sensor-value{font-size:14px;font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.sensor-unit{font-size:10px;color:var(--text-secondary);font-weight:400}.risk-track{height:3px;background:#ffffff0f;border-radius:2px;overflow:hidden;margin-bottom:10px}.risk-fill{height:100%;border-radius:2px;transition:width .6s ease,background .4s}.zone-spark-row{display:flex;gap:10px;margin-bottom:10px}.spark-item{flex:1;background:#ffffff08;border-radius:6px;padding:6px 8px;border:1px solid var(--border)}.spark-label{display:block;font-size:8px;font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.3px;margin-bottom:4px}.sparkline-svg{display:block}.sparkline-empty{font-size:11px;color:var(--text-muted);padding:4px 0}.zone-badges{display:flex;flex-direction:column;gap:5px}.zone-alert-badge{padding:5px 10px;border-radius:6px;background:#ff3a3a1a;border:1px solid rgba(255,58,58,.2);color:var(--red);font-size:10px;font-family:var(--font-mono);letter-spacing:1px;text-align:center}.ttc-pill{padding:4px 10px;border-radius:6px;font-size:10px;font-family:var(--font-mono);letter-spacing:1px;text-align:center}.ttc-now{background:#ff3a3a26;border:1px solid rgba(255,58,58,.3);color:var(--red)}.ttc-urgent{background:#ff3a3a1a;border:1px solid rgba(255,58,58,.25);color:var(--red);animation:blink 1s step-end infinite}.ttc-warn{background:#ffaa001a;border:1px solid rgba(255,170,0,.25);color:var(--amber)}.permit-conflict-badge{padding:4px 10px;border-radius:6px;font-size:10px;font-family:var(--font-mono);letter-spacing:1px;text-align:center}.perm-critical{background:#ff3a3a1a;border:1px solid rgba(255,58,58,.25);color:var(--red)}.perm-high{background:#ffaa001a;border:1px solid rgba(255,170,0,.25);color:var(--amber)}.active-permit-badge{padding:4px 10px;border-radius:6px;background:#4dd8c014;border:1px solid rgba(77,216,192,.22);color:var(--blue);font-size:10px;font-family:var(--font-mono);letter-spacing:1px;text-align:center}.alert-card-full{background:var(--bg-card);border:1px solid rgba(255,58,58,.2);border-left:3px solid var(--red);border-radius:var(--radius-lg);padding:20px;margin-bottom:12px;position:relative;overflow:hidden;box-shadow:0 4px 18px #ff3a3a0f;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}.alert-card-full:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--red),transparent)}.alert-card-full:hover{transform:translateY(-3px) scale(1.005);box-shadow:0 14px 32px #ff3a3a1f}.alert-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.alert-zone-tag{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--red)}.alert-dot{width:7px;height:7px;border-radius:50%;background:var(--red);animation:blink .8s step-end infinite}.alert-time{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.alert-message{font-size:13px;color:var(--text-secondary);line-height:1.6;margin-bottom:12px}.alert-rec{background:#00ffb40a;border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:10px}.rec-label{font-family:var(--font-mono);font-size:9px;color:var(--green);letter-spacing:.5px;margin-bottom:8px}.rec-text{font-size:13px;color:var(--text-primary);line-height:1.7}.matched-row{display:flex;flex-wrap:wrap;gap:6px}.inc-tag{font-family:var(--font-mono);font-size:10px;padding:3px 10px;border-radius:20px;background:#ffaa0014;border:1px solid rgba(255,170,0,.2);color:var(--amber)}.alert-permits-section{margin-bottom:10px}.conflict-card{border-radius:8px;padding:10px 12px;margin-bottom:6px}.conflict-card.conf-inline{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.conf-critical{background:#ff3a3a12;border:1px solid rgba(255,58,58,.25)}.conf-high{background:#ffaa0012;border:1px solid rgba(255,170,0,.25)}.conflict-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.conf-permit{font-family:var(--font-mono);font-size:11px;color:var(--text-primary);font-weight:600}.conf-sev{font-family:var(--font-mono);font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px}.sev-CRITICAL{color:var(--red);background:#ff3a3a26}.sev-HIGH{color:var(--amber);background:#ffaa0026}.conflict-reason{font-size:12px;color:var(--text-secondary);line-height:1.5}.handover-panel{max-width:600px;display:flex;flex-direction:column;gap:16px}.handover-info{display:flex;gap:12px;padding:14px;background:var(--green-dim);border:1px solid var(--border-bright);border-radius:10px;font-size:13px;color:var(--text-secondary);line-height:1.6}.info-icon{font-size:18px;flex-shrink:0}.handover-zone-preview{background:var(--bg-card);border:1px solid;border-radius:10px;padding:12px 14px}.hzp-label{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);letter-spacing:.5px;margin-bottom:8px}.hzp-row{display:flex;flex-wrap:wrap;gap:12px;font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);align-items:center}.hzp-permits{margin-top:8px;font-size:11px;color:var(--blue);font-family:var(--font-mono)}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:.5px}.form-select{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);padding:10px 14px;border-radius:8px;font-size:13px;font-family:var(--font-ui);cursor:pointer;transition:border-color .15s}.form-select:focus{outline:none;border-color:var(--border-bright)}.form-input{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);padding:10px 14px;border-radius:8px;font-size:13px;font-family:var(--font-ui);transition:border-color .15s}.form-input:focus{outline:none;border-color:var(--border-bright)}.form-input::placeholder{color:var(--text-muted)}.form-textarea{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);padding:12px 14px;border-radius:8px;font-size:13px;font-family:var(--font-ui);resize:vertical;transition:border-color .15s;line-height:1.6}.form-textarea:focus{outline:none;border-color:var(--border-bright)}.form-textarea::placeholder{color:var(--text-muted)}.char-count{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);text-align:right}.voice-attach-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}.mic-btn{display:flex;align-items:center;gap:8px;background:#00ffb40f;border:1px solid var(--border-bright, rgba(0,255,180,.3));color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;letter-spacing:.3px;padding:7px 12px;border-radius:8px;cursor:pointer;transition:all .2s}.mic-btn:hover{background:#00ffb41f;color:var(--text-primary)}.mic-btn .mic-dot{width:6px;height:6px;border-radius:50%;background:#00ffb4;box-shadow:0 0 6px #00ffb4}.mic-btn.mic-listening{background:#ff3a3a1a;border-color:#ff3a3a66;color:#ff8080}.mic-btn.mic-listening .mic-dot{background:#ff3a3a;box-shadow:0 0 8px #ff3a3a;animation:lp-pulse 1s infinite}.attach-picker{display:flex;flex-direction:column;gap:8px;flex:1;min-width:200px}.attach-btn{align-self:flex-start;background:transparent;border:1px dashed var(--border, rgba(255,255,255,.2));color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;padding:7px 12px;border-radius:8px;cursor:pointer;transition:all .2s}.attach-btn:hover{border-color:#00ffb4;color:#00ffb4}.attach-err{font-family:var(--font-mono);font-size:10px;color:#ff3a3a}.attach-list{display:flex;flex-wrap:wrap;gap:8px}.attach-chip{display:flex;align-items:center;gap:6px;background:#ffffff0a;border:1px solid var(--border, rgba(255,255,255,.12));border-radius:8px;padding:4px 8px 4px 4px;max-width:180px;text-decoration:none;color:var(--text-secondary);font-size:11px;font-family:var(--font-mono)}.attach-list-readonly .attach-chip:hover{border-color:#00ffb4;color:#00ffb4}.attach-chip img{width:24px;height:24px;object-fit:cover;border-radius:5px;flex-shrink:0}.attach-chip .attach-file-icon{font-size:10px;opacity:.7}.attach-chip .attach-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-chip .attach-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:11px;padding:0 2px;line-height:1}.attach-chip .attach-remove:hover{color:#ff3a3a}.submit-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:10px;border:none;background:linear-gradient(135deg,#00c896,#00ffb4);color:#020b14;font-size:13px;font-weight:700;font-family:var(--font-mono);cursor:pointer;letter-spacing:.5px;transition:all .25s cubic-bezier(.2,.8,.2,1);box-shadow:0 4px 20px #00ffb438}.submit-btn:hover:not(:disabled){box-shadow:0 8px 30px #00ffb459;transform:translateY(-2px) scale(1.01)}.submit-btn:active:not(:disabled){transform:translateY(0) scale(.99)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.submitting{background:linear-gradient(135deg,#005545,#008060)!important}.spin-icon{animation:spin 1s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.sample-notes{display:flex;flex-direction:column;gap:8px}.sample-label{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:.4px}.sample-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);padding:9px 14px;border-radius:8px;font-size:12px;cursor:pointer;text-align:left;transition:all .15s;font-family:var(--font-ui);line-height:1.5}.sample-btn:hover{border-color:var(--border-bright);color:var(--text-primary)}.permits-tab{display:flex;flex-direction:column;gap:16px}.permit-conflict-banner{display:flex;gap:14px;padding:14px 18px;background:#ffaa0012;border:1px solid rgba(255,170,0,.3);border-left:3px solid var(--amber);border-radius:10px}.pcb-icon{font-size:20px;flex-shrink:0;margin-top:2px}.pcb-detail{font-size:11px;color:var(--text-muted);margin-top:4px;font-family:var(--font-mono);line-height:1.6}.permits-layout{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}.permits-list-panel,.issue-permit-panel{background:linear-gradient(155deg,var(--bg-card-hover),var(--bg-card) 65%);border:1px solid var(--border);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;box-shadow:0 4px 16px #0003}.permits-list-panel:before,.issue-permit-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--green-dim),transparent)}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.panel-title{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:.5px}.panel-count{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--green);background:var(--green-dim);border:1px solid var(--border-bright);padding:2px 8px;border-radius:20px}.permits-empty{font-size:12px;color:var(--text-muted);padding:20px 0;text-align:center;font-family:var(--font-mono)}.permit-card{background:var(--bg-card-hover);border:1px solid var(--border);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;transition:border-color .2s,transform .25s,box-shadow .25s}.permit-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0000004d;border-color:var(--border-bright)}.permit-card.permit-conflicted{border-color:#ffaa0059;background:#ffaa0008}.permit-card.permit-closed{opacity:.5}.permit-card-header{display:flex;align-items:center;gap:8px}.permit-type-tag{font-family:var(--font-mono);font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;letter-spacing:.5px}.pt-HOT_WORK{background:#ff3a3a1f;color:var(--red);border:1px solid rgba(255,58,58,.25)}.pt-CONFINED_SPACE{background:#ffaa001f;color:var(--amber);border:1px solid rgba(255,170,0,.25)}.pt-ELECTRICAL{background:#4dd8c01f;color:var(--blue);border:1px solid rgba(77,216,192,.25)}.pt-HEIGHT_WORK{background:#9664ff1a;color:#a8f;border:1px solid rgba(150,100,255,.2)}.pt-EXCAVATION{background:#64b4641a;color:#80e080;border:1px solid rgba(100,180,100,.2)}.permit-id-tag{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.closed-tag{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);padding:2px 8px;border-radius:4px;border:1px solid var(--border)}.permit-zone-row{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-primary);font-family:var(--font-mono)}.perm-zone-dot{width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 4px var(--green)}.permit-desc-text{font-size:12px;color:var(--text-secondary);line-height:1.5}.permit-meta{font-size:10px;color:var(--text-muted);font-family:var(--font-mono)}.permit-conflict-inline{font-size:11px;color:var(--amber);background:#ffaa000f;border:1px solid rgba(255,170,0,.2);border-radius:6px;padding:6px 10px;line-height:1.5}.close-permit-btn{background:#ff3a3a0f;border:1px solid rgba(255,58,58,.2);color:var(--red);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:11px;font-family:var(--font-mono);transition:all .15s;align-self:flex-start}.close-permit-btn:hover{background:#ff3a3a1f}.close-permit-btn:disabled{opacity:.5;cursor:not-allowed}.issue-form{display:flex;flex-direction:column;gap:12px}.ptw-note{font-size:11px;color:var(--text-muted);line-height:1.6;padding:10px;background:var(--green-dim);border-radius:6px;border:1px solid var(--border)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#020b14d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px}.modal-panel{background:linear-gradient(165deg,var(--bg-card-hover),var(--bg-panel) 55%);border:1px solid var(--border-bright);border-radius:20px;width:100%;max-width:640px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 70px #000000a6,0 0 0 1px #00ffb41a;animation:modal-pop .25s cubic-bezier(.2,.8,.2,1)}@keyframes modal-pop{0%{opacity:0;transform:perspective(1000px) rotateX(6deg) translateY(16px) scale(.97)}to{opacity:1;transform:none}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-zone-name{font-family:var(--font-mono);font-size:15px;font-weight:700;color:var(--text-primary)}.modal-zone-status{font-family:var(--font-mono);font-size:11px;letter-spacing:.4px;margin-top:3px}.modal-close{background:#ffffff0d;border:1px solid var(--border);color:var(--text-secondary);width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.modal-close:hover{border-color:var(--red);color:var(--red)}.modal-body{overflow-y:auto;padding:20px 22px;display:flex;flex-direction:column;gap:18px}.modal-body::-webkit-scrollbar{width:3px}.modal-body::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:2px}.modal-section-label{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase}.modal-sensor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.modal-sensor-cell{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:10px 12px;transition:border-color .2s}.modal-sensor-cell.modal-sensor-warn{border-color:#ffaa004d}.modal-sensor-lbl{font-size:10px;font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.4px;margin-bottom:4px}.modal-sensor-val{font-size:20px;font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.prediction-box{display:flex;align-items:flex-start;gap:10px;background:#ffaa000f;border:1px solid;border-radius:8px;padding:12px 14px;font-size:13px;color:var(--text-primary);line-height:1.6}.pred-icon{font-size:18px;flex-shrink:0}.modal-charts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.modal-chart-block{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:10px}.chart-label{font-size:9px;font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.4px;margin-bottom:8px}.minichart-svg{display:block}.minichart-empty{font-size:11px;color:var(--text-muted);padding:10px 0}.modal-permits{display:flex;flex-direction:column;gap:6px}.modal-permit-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:8px 12px}.permit-id{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.permit-desc{color:var(--text-secondary)}.modal-prediction{display:flex;flex-direction:column;gap:8px}.modal-handover-note{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:14px}.hov-quote{font-size:13px;color:var(--text-primary);line-height:1.6;font-style:italic;margin-bottom:8px}.hov-meta{font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;gap:8px;color:var(--text-secondary)}.empty-icon{font-size:40px;color:var(--green);margin-bottom:8px;opacity:.5}.empty-sub{font-size:12px;color:var(--text-muted);font-family:var(--font-mono)}.plant-map-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:20px}.plant-map-wrapper h2{font-size:11px;font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;margin-bottom:14px}.plant-map{width:100%;height:400px;border-radius:10px;display:block;cursor:pointer}.zone-box{transition:transform .25s cubic-bezier(.2,.8,.2,1),filter .25s ease;transform-box:fill-box;transform-origin:center}.zone-box:hover,.zone-box-hovered{transform:scale(1.04) translateY(-.6px);filter:brightness(1.12)}.map-legend{display:flex;gap:20px;margin-top:12px;flex-wrap:wrap;align-items:center;justify-content:space-between}.map-legend-left{display:flex;gap:20px}.map-legend span{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:6px;font-family:var(--font-mono)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%}.map-hint{font-size:10px;color:var(--text-muted);font-family:var(--font-mono)}
