:root{--navy: #1e2d45;--navy-900: #0f1b2d;--navy-700: #2a3d5c;--orange: #f97316;--orange-600: #ea580c;--orange-50: #fff7ed;--bg: #f4f6fa;--surface: #ffffff;--line: #e5e9f0;--line-2: #f0f2f6;--text: #1a2233;--muted: #64748b;--faint: #94a3b8;--red: #dc2626;--red-50: #fef2f2;--red-200: #fecaca;--green: #16a34a;--green-50: #f0fdf4;--green-200: #bbf7d0;--amber: #d97706;--amber-50: #fffbeb;--amber-200: #fde68a;--blue: #2563eb;--blue-50: #eff6ff;--blue-200: #bfdbfe;--violet: #7c3aed;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(15, 27, 45, .05), 0 4px 16px rgba(15, 27, 45, .05);--shadow-lg: 0 20px 50px rgba(15, 27, 45, .22);--sidebar: 256px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);font-size:14px;line-height:1.5}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;line-height:1.25}img{max-width:100%}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.shell{display:flex;min-height:100%}.sidebar{width:var(--sidebar);flex-shrink:0;background:var(--navy-900);color:#cbd5e1;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:60;transition:transform .22s ease}.sb-brand{display:flex;align-items:center;gap:10px;padding:18px 18px 14px;border-bottom:1px solid rgba(255,255,255,.06)}.sb-brand .mark{width:38px;height:38px;border-radius:10px;flex-shrink:0;overflow:hidden;background:var(--navy);display:grid;place-items:center}.sb-brand .mark img{width:100%;height:100%;object-fit:contain}.sb-brand .name{font-weight:800;font-size:17px;color:#fff;letter-spacing:-.2px}.sb-brand .name span{color:var(--orange)}.sb-brand .tag{font-size:10.5px;color:#7f8ea6;margin-top:1px}.sb-nav{flex:1;overflow-y:auto;padding:10px 10px 20px}.sb-section{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;color:#5f6f88;padding:14px 10px 6px}.sb-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:#cbd5e1;font-weight:500;font-size:13.5px;cursor:pointer;border:0;background:none;width:100%;text-align:left}.sb-link:hover{background:#ffffff0f;color:#fff}.sb-link.active{background:#f9731624;color:#fff}.sb-link.active .ic{background:var(--orange);color:#fff}.sb-link .ic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#ffffff0f;flex-shrink:0}.sb-link .chev{margin-left:auto;transition:transform .2s;opacity:.6}.sb-link.open .chev{transform:rotate(90deg)}.sb-sub{padding-left:14px;border-left:1px solid rgba(255,255,255,.07);margin:2px 0 4px 23px}.sb-sub .sb-link{font-size:13px;padding:7px 10px}.sb-foot{padding:12px;border-top:1px solid rgba(255,255,255,.06);font-size:11px;color:#5f6f88}.main{flex:1;margin-left:var(--sidebar);min-width:0;display:flex;flex-direction:column}.topbar{height:60px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 22px;position:sticky;top:0;z-index:40}.topbar h1{font-size:17px;font-weight:700}.topbar .crumb{font-size:12px;color:var(--muted)}.topbar .spacer{flex:1}.menu-btn{display:none}.page{padding:22px;max-width:1500px;width:100%;margin:0 auto}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1b2d80;z-index:55}.user-chip{display:flex;align-items:center;gap:10px;padding:4px 6px 4px 4px;border-radius:30px;border:1px solid var(--line);background:#fff;cursor:pointer;position:relative}.avatar{width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;overflow:hidden;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover}.user-chip .who{line-height:1.15}.user-chip .who b{font-size:13px;display:block}.user-chip .who small{font-size:11px;color:var(--muted)}.menu{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);min-width:200px;padding:6px;z-index:70}.menu button,.menu a{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border:0;background:none;border-radius:7px;color:var(--text);cursor:pointer;text-align:left;font-size:13.5px}.menu button:hover,.menu a:hover{background:var(--bg)}@media (max-width: 900px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main{margin-left:0}.menu-btn{display:inline-grid}.page{padding:16px}.topbar{padding:0 12px}.user-chip .who{display:none}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px}.card-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line-2)}.card-head h2,.card-head h3{font-size:14.5px;font-weight:700}.card-head .ic{color:var(--orange)}.card-body{padding:18px}.section-title{display:flex;align-items:center;gap:10px;margin:26px 0 12px}.section-title h2{font-size:15px;font-weight:700}.section-title .pill{margin-left:auto}.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g5{grid-template-columns:repeat(5,minmax(0,1fr))}.span2{grid-column:span 2}.span3{grid-column:span 3}.full{grid-column:1 / -1}@media (max-width: 1100px){.g5{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}.g5{grid-template-columns:repeat(2,minmax(0,1fr))}.span2,.span3{grid-column:auto}}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:12px}.muted{color:var(--muted)}.small{font-size:12.5px}.tiny{font-size:11.5px}.mt{margin-top:16px}.mt-s{margin-top:8px}.mb{margin-bottom:16px}.tabs{display:flex;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:5px;margin-bottom:18px;overflow-x:auto}.tab{flex:1;min-width:max-content;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:8px;border:0;background:none;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap}.tab:hover{color:var(--text);background:var(--bg)}.tab.active{background:var(--navy);color:#fff}.tab .count{background:var(--red);color:#fff;font-size:10.5px;padding:1px 7px;border-radius:10px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.label{font-size:12.5px;font-weight:600;color:#334155}.field .req{color:var(--red)}.field .hint{font-size:11.5px;color:var(--faint);font-weight:400}.input,.select,.textarea{width:100%;border:1.5px solid var(--line);border-radius:9px;background:#fff;padding:9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s;min-height:40px}.textarea{min-height:84px;resize:vertical}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px #f9731626}.input:disabled,.select:disabled,.input[readonly]{background:#f8fafc;color:var(--muted)}.input.sm,.select.sm{min-height:34px;padding:6px 10px;font-size:13px}.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13.5px;-webkit-user-select:none;user-select:none}.check input{width:17px;height:17px;accent-color:var(--orange)}.switch{position:relative;width:40px;height:22px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;background:#cbd5e1;border-radius:22px;cursor:pointer;transition:.2s}.switch span:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+span{background:var(--orange)}.switch input:checked+span:before{transform:translate(18px)}.switch input:focus-visible+span{box-shadow:0 0 0 3px #f973164d}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid transparent;border-radius:9px;padding:9px 16px;font-weight:600;font-size:13.5px;cursor:pointer;white-space:nowrap;min-height:40px;transition:background .15s,border-color .15s,color .15s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--orange);color:#fff}.btn-primary:hover:not(:disabled){background:var(--orange-600)}.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover:not(:disabled){background:var(--navy-700)}.btn-success{background:var(--green);color:#fff}.btn-success:hover:not(:disabled){background:#15803d}.btn-danger{background:var(--red);color:#fff}.btn-outline{background:#fff;border-color:var(--line);color:var(--text)}.btn-outline:hover:not(:disabled){border-color:#cbd5e1;background:var(--bg)}.btn-ghost{background:none;color:var(--muted)}.btn-ghost:hover:not(:disabled){background:var(--bg);color:var(--text)}.btn-sm{min-height:32px;padding:5px 11px;font-size:12.5px;border-radius:8px}.btn-icon{min-height:34px;width:34px;padding:0}.btn-block{width:100%}.btn-lg{min-height:48px;font-size:15px}.icon-btn-danger{background:var(--red-50);border:1px solid var(--red-200);color:var(--red)}.spin{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite;display:inline-block;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.loading-block{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:20px;font-size:11.5px;font-weight:700;border:1px solid transparent;white-space:nowrap}.b-open{background:var(--red-50);color:var(--red);border-color:var(--red-200)}.b-closed{background:var(--green-50);color:var(--green);border-color:var(--green-200)}.b-low{background:var(--green-50);color:var(--green)}.b-medium{background:var(--amber-50);color:var(--amber)}.b-high{background:var(--red-50);color:var(--red)}.b-critical{background:#7f1d1d;color:#fff}.b-neutral{background:#f1f5f9;color:#475569}.b-blue{background:var(--blue-50);color:var(--blue)}.b-orange{background:var(--orange-50);color:var(--orange-600)}.alert{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;font-size:13.5px;border:1px solid}.alert-error{background:var(--red-50);border-color:var(--red-200);color:#991b1b}.alert-success{background:var(--green-50);border-color:var(--green-200);color:#166534}.alert-info{background:var(--blue-50);border-color:var(--blue-200);color:#1e40af}.alert-warn{background:var(--amber-50);border-color:var(--amber-200);color:#92400e}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}table.tbl{width:100%;border-collapse:collapse;font-size:12.5px}.tbl th{background:var(--navy);color:#fff;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:10px;white-space:nowrap;text-align:left;position:sticky;top:0;z-index:1}.tbl td{padding:9px 10px;border-bottom:1px solid var(--line-2);vertical-align:middle}.tbl tbody tr:nth-child(2n) td{background:#fafbfd}.tbl tbody tr:hover td{background:#fff7ed}.tbl tr.flash td{background:#fff3e0!important;box-shadow:inset 0 0 0 1px var(--orange)}.tbl .nowrap{white-space:nowrap}.tbl .clip{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thumb{width:60px;height:44px;object-fit:cover;border-radius:6px;border:1px solid var(--line);display:block}.empty{text-align:center;padding:44px 16px;color:var(--faint)}.empty svg{opacity:.5;margin-bottom:8px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1b2d8c;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;animation:fade .15s}.modal{background:#fff;border-radius:14px;box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;animation:pop .18s ease}.modal.lg{max-width:860px}.modal-head{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line-2)}.modal-head h3{font-size:16px;font-weight:700;flex:1}.modal-body{padding:20px;overflow-y:auto}.modal-foot{display:flex;gap:8px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--line-2)}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.toasts{position:fixed;top:16px;right:16px;z-index:200;display:flex;flex-direction:column;gap:8px;max-width:min(400px,calc(100vw - 32px))}.toast{display:flex;gap:10px;align-items:flex-start;background:#fff;border-radius:10px;padding:12px 14px;box-shadow:var(--shadow-lg);border-left:4px solid var(--blue);font-size:13.5px;animation:pop .2s}.toast.success{border-color:var(--green)}.toast.error{border-color:var(--red)}.toast.warn{border-color:var(--amber)}.toast b{display:block;margin-bottom:1px}.chip-float{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:150;background:var(--navy-900);color:#fff;font-weight:600;font-size:13px;padding:10px 16px;border-radius:24px;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:8px;cursor:pointer;border:0;max-width:calc(100vw - 32px)}.auth{min-height:100%;display:grid;grid-template-columns:1.05fr 1fr}.auth-art{background:radial-gradient(circle at 20% 20%,#2a3d5c 0,transparent 50%),linear-gradient(160deg,var(--navy-900),var(--navy));color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-art:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:70px solid rgba(249,115,22,.08);right:-180px;bottom:-200px}.auth-art h2{font-size:34px;font-weight:800;letter-spacing:-.6px;line-height:1.15;max-width:440px}.auth-art h2 span{color:var(--orange)}.auth-art p{color:#a9b6ca;max-width:420px;font-size:15px}.auth-feats{display:grid;gap:12px;margin-top:28px;max-width:420px}.auth-feats div{display:flex;gap:12px;align-items:center;color:#d6deea;font-size:14px}.auth-feats .ic{width:34px;height:34px;border-radius:9px;background:#f9731626;color:var(--orange);display:grid;place-items:center;flex-shrink:0}.auth-form{display:flex;align-items:center;justify-content:center;padding:32px 20px}.auth-box{width:100%;max-width:400px}.auth-box h1{font-size:24px;font-weight:800;letter-spacing:-.3px}.auth-logo{height:54px;margin-bottom:18px;object-fit:contain}@media (max-width: 900px){.auth{grid-template-columns:1fr}.auth-art{display:none}}.otp-input{letter-spacing:10px;text-align:center;font-size:22px;font-weight:700}.kpi{padding:16px;border-radius:12px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--k, var(--orange))}.kpi .top{display:flex;align-items:center;justify-content:space-between}.kpi .ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--k) 12%,#fff);color:var(--k)}.kpi .val{font-size:28px;font-weight:800;letter-spacing:-.5px}.kpi .lbl{font-size:12.5px;color:var(--muted);font-weight:600;margin-top:4px}.kpi .trend{font-size:11.5px;margin-top:4px;min-height:17px}.up-bad,.down-good-bad{color:var(--red)}.good{color:var(--green)}.bad{color:var(--red)}.neu{color:var(--faint)}.alert-chips{display:flex;gap:8px;flex-wrap:wrap}.alert-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12.5px;font-weight:600}.insights{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.insight{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px}.mom{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.mom>div{background:var(--bg);border-radius:10px;padding:10px;text-align:center}.mom .v{font-size:20px;font-weight:800}.mom .l{font-size:11px;color:var(--muted);font-weight:600}@media (max-width: 760px){.mom{grid-template-columns:repeat(2,minmax(0,1fr))}}.score{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;padding:18px}.ring{position:relative;width:128px;height:128px}.ring svg{transform:rotate(-90deg)}.ring .num{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:30px;font-weight:800}.chart-box{position:relative;height:230px}.age{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:10px;margin-bottom:8px;border-left:4px solid}.age b{font-size:22px}.bar{background:#eef1f5;border-radius:20px;height:8px;overflow:hidden}.bar>i{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,var(--orange),var(--red))}.qbtns{display:flex;gap:6px;flex-wrap:wrap}.qbtn{border:1.5px solid var(--line);background:#fff;border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--muted)}.qbtn.active,.qbtn:hover{border-color:var(--orange);color:var(--orange-600);background:var(--orange-50)}.photo-pick{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:1.5px dashed #cbd5e1;border-radius:10px;background:#fafbfd;color:var(--muted);cursor:pointer;font-weight:600;width:100%}.photo-pick:hover{border-color:var(--orange);color:var(--orange-600)}.photo-prev{position:relative;display:inline-block;margin-top:8px}.photo-prev img{max-height:120px;border-radius:8px;border:1px solid var(--line)}.photo-prev button{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;border:0;background:var(--red);color:#fff;display:grid;place-items:center;cursor:pointer}.sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1b2d80;z-index:120}.sheet{position:fixed;left:0;right:0;bottom:0;background:#fff;border-radius:16px 16px 0 0;padding:8px 16px 24px;z-index:121;animation:up .22s ease;max-width:560px;margin:0 auto}@keyframes up{0%{transform:translateY(100%)}}.sheet .handle{width:36px;height:4px;background:var(--line);border-radius:4px;margin:8px auto 14px}.sheet button.opt{width:100%;display:flex;align-items:center;gap:12px;padding:14px 12px;border:0;background:var(--bg);border-radius:10px;margin-bottom:10px;font-weight:600;cursor:pointer;text-align:left}.sheet button.opt svg{color:var(--orange)}.qr-banner{display:flex;gap:12px;align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1.5px solid #86efac;border-radius:14px;padding:14px 16px;margin-bottom:16px}.qr-banner .ic{width:40px;height:40px;background:var(--green);border-radius:10px;display:grid;place-items:center;color:#fff;flex-shrink:0}.qr-card{text-align:center;background:#fafbfd;border:1px solid var(--line);border-radius:12px;padding:14px}.qr-card img{width:140px;height:140px;border-radius:8px;background:#fff}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width: 700px){.detail-grid{grid-template-columns:1fr}}.kv{width:100%;border-collapse:collapse;font-size:13px}.kv td{padding:7px 0;border-bottom:1px solid var(--line-2);vertical-align:top}.kv td:first-child{color:var(--muted);width:42%;font-weight:500}.sec-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);margin-bottom:6px}.prewrap{white-space:pre-wrap;word-break:break-word}.sig-pad{border:1.5px dashed #cbd5e1;border-radius:10px;background:#fff;touch-action:none;width:100%;height:180px;cursor:crosshair}.code-list{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;font-family:ui-monospace,Menlo,monospace;font-size:14px}.code-list span{background:var(--bg);padding:6px 10px;border-radius:6px;text-align:center}.list-editor{display:flex;flex-direction:column;gap:6px}.list-editor .item{display:flex;gap:6px}.nav-count{background:var(--orange);color:#fff;font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:10px;margin-left:6px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:#fff;border-radius:20px;padding:5px 12px;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer}.chip b{color:var(--text)}.chip.on{border-color:var(--orange);background:var(--orange-50);color:var(--orange-600)}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;vertical-align:0}.seg{display:inline-flex;border:1.5px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.seg.wide{display:flex;width:100%}.seg-btn{flex:1;border:0;background:none;padding:7px 12px;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer;border-right:1px solid var(--line);white-space:nowrap;min-height:34px}.seg-btn:last-child{border-right:0}.seg-btn:hover{background:var(--bg)}.seg-btn.on-yes{background:var(--green);color:#fff}.seg-btn.on-no{background:var(--red);color:#fff}.seg-btn.on-na{background:#64748b;color:#fff}.seg-btn.risk-low{background:var(--green);color:#fff}.seg-btn.risk-medium{background:var(--amber);color:#fff}.seg-btn.risk-high{background:var(--red);color:#fff}.seg-btn.risk-critical{background:#7f1d1d;color:#fff}.steps{display:flex;gap:4px;overflow-x:auto;padding-bottom:2px}.stepper{flex:1;min-width:110px;display:flex;align-items:center;gap:8px;border:0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:12px;font-weight:600;color:var(--faint);cursor:default;text-align:left}.stepper .n{width:22px;height:22px;border-radius:50%;background:var(--line-2);display:grid;place-items:center;font-size:11.5px;flex-shrink:0}.stepper.cur{border-color:var(--orange);color:var(--text)}.stepper.cur .n{background:var(--orange);color:#fff}.stepper.done{color:var(--green);cursor:pointer}.stepper.done .n{background:var(--green);color:#fff}@media (max-width: 760px){.stepper .t{display:none}.stepper{min-width:0;justify-content:center}.stepper.cur .t{display:inline}}.type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.type-card{position:relative;display:flex;flex-direction:column;gap:6px;text-align:left;border:2px solid var(--line);border-radius:12px;padding:14px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s}.type-card:hover{border-color:var(--tc)}.type-card.sel{border-color:var(--tc);box-shadow:0 0 0 3px color-mix(in srgb,var(--tc) 20%,transparent)}.type-card .ic{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--tc) 13%,#fff)}.type-card .tick{position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;background:var(--tc);color:#fff;display:grid;place-items:center}.type-badge{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}.type-badge.sm{width:30px;height:30px;border-radius:8px}.ppe-grid{display:flex;flex-wrap:wrap;gap:8px}.ppe{display:inline-flex;align-items:center;gap:5px;border:1.5px solid var(--line);background:#fff;border-radius:9px;padding:8px 12px;font-weight:600;font-size:13px;cursor:pointer;color:var(--muted)}.ppe.on{border-color:var(--orange);background:var(--orange-50);color:var(--orange-600)}.worker-row{display:grid;grid-template-columns:2fr 2fr 1.2fr 40px;gap:8px}@media (max-width: 700px){.worker-row{grid-template-columns:1fr 1fr}.worker-row input:first-child{grid-column:1 / -1}}.summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;background:var(--bg);border-radius:10px;padding:12px}.summary div{display:flex;flex-direction:column;font-size:13px}.summary span{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.form-actions{position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg) 30%);padding:14px 0 6px;z-index:5}.permit-head .flow{display:flex;margin-top:16px;gap:0;overflow-x:auto}.flow-step{flex:1;min-width:96px;position:relative;text-align:center;font-size:11px;font-weight:600;color:var(--faint);padding-top:18px}.flow-step span{position:absolute;top:4px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--line);z-index:1}.flow-step:before{content:"";position:absolute;top:9px;left:0;right:0;height:2px;background:var(--line)}.flow-step:first-child:before{left:50%}.flow-step:last-child:before{right:50%}.flow-step.done{color:var(--green)}.flow-step.done span,.flow-step.done:before{background:var(--green)}.flow-step.cur{color:var(--orange-600)}.flow-step.cur span{background:var(--orange);box-shadow:0 0 0 4px #f9731633}.kv2{display:flex;flex-direction:column;font-size:13.5px}.kv2>span{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.sig-card{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px}.sig-card img{width:92px;height:46px;object-fit:contain;background:#fff;border:1px dashed var(--line);border-radius:6px;flex-shrink:0}.timeline{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:10px;font-size:13px}.timeline li{position:relative}.timeline li:before{content:"";position:absolute;left:-20px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--orange);border:2px solid #fff}.cl-row{display:grid;grid-template-columns:1fr auto 32px 32px 32px;gap:6px;align-items:center}.switch-row{border:1px solid var(--line);border-radius:10px;padding:10px 12px;flex-wrap:nowrap}@media (max-width: 700px){.tbl th[style*="210"]{width:132px!important}.seg-btn{padding:6px 7px;font-size:11.5px}.cl-row{grid-template-columns:1fr 28px 28px 28px}.cl-row .check{grid-column:1 / -1;order:5}}.ptw-alert-row{display:block;width:100%;text-align:left;background:var(--bg, #f8fafc);border:1px solid var(--line, #e2e8f0);border-left:4px solid;border-radius:8px;padding:8px 10px;cursor:pointer;font:inherit;color:inherit}.ptw-alert-row:hover{background:#fff7ed}.perf{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding-bottom:8px;border-bottom:1px dashed var(--line, #e2e8f0)}.perf:last-child{border-bottom:0}table.heat{border-collapse:separate;border-spacing:3px;font-size:11px}table.heat th{font-weight:600;color:var(--muted, #64748b);padding:2px 4px;white-space:nowrap}table.heat td{min-width:30px;height:26px;text-align:center;border-radius:5px;font-weight:700;color:#334155}table.heat td:first-child{text-align:left;background:none;padding-right:8px;min-width:120px}.bell{position:relative;margin-right:6px}.bell-dot{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#ef4444;color:#fff;font-size:10px;font-weight:800;line-height:16px;text-align:center}.bell-menu{position:absolute;right:0;top:calc(100% + 6px);width:min(340px,calc(100vw - 24px));max-height:420px;overflow-y:auto;background:#fff;border:1px solid var(--line, #e2e8f0);border-radius:12px;box-shadow:0 12px 32px #0f172a29;z-index:60}.bell-head{padding:10px 14px;font-weight:800;font-size:13px;border-bottom:1px solid var(--line, #e2e8f0);position:sticky;top:0;background:#fff}.bell-item{display:flex;gap:10px;width:100%;text-align:left;padding:10px 14px;border:0;border-bottom:1px solid #f1f5f9;background:#fff;font:inherit;font-size:13px;color:inherit;cursor:pointer}.bell-item:hover{background:#f8fafc}.bell-item.new{background:#fff7ed}.bi-ic{flex:none;width:22px;text-align:center}@media (max-width: 640px){.pdf-btns{margin-left:0!important;width:100%}}.sb-pin{display:none;margin-left:auto;width:26px;height:26px;border-radius:7px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:#cbd5e1;cursor:pointer;place-items:center;flex-shrink:0}.sb-pin:hover{color:#fff;border-color:var(--orange)}.shell.sb-pinned .sb-pin{background:var(--orange);border-color:var(--orange);color:#fff}.sb-link .ic{position:relative}.ic-dot{display:none;position:absolute;top:-2px;right:-2px;width:9px;height:9px;border-radius:50%;background:var(--orange);border:2px solid var(--navy-900)}.sb-nav{overflow-x:hidden}@media (min-width: 901px){.sb-pin{display:inline-grid}.sidebar{transition:width .22s ease,box-shadow .22s ease}.main{transition:margin-left .22s ease}.shell.sb-collapsed .main{margin-left:72px}.shell.sb-collapsed .sidebar:not(:hover):not(:has(:focus-visible)){width:72px}.shell.sb-collapsed .sidebar:hover,.shell.sb-collapsed .sidebar:has(:focus-visible){box-shadow:8px 0 28px #0f1b2d47}.shell.sb-collapsed .sidebar:not(:hover):not(:has(:focus-visible)) .lbl,.shell.sb-collapsed .sidebar:not(:hover):not(:has(:focus-visible)) .chev,.shell.sb-collapsed .sidebar:not(:hover):not(:has(:focus-visible)) .sb-pin,.shell.sb-collapsed .sidebar:not(:hover):not(:has(:focus-visible)) .sb-sub,.shell.sb-collapsed .sidebar:not(:hover):not(:has(:focus-visible)) .sb-foot{display:none}.shell.sb-collapsed .sidebar:not(:hover):not(:has(:focus-visible)) .sb-section{font-size:0;padding:8px 0 4px;margin:6px 12px 0;border-top:1px solid rgba(255,255,255,.07)}.shell.sb-collapsed .sidebar:not(:hover):not(:has(:focus-visible)) .sb-link{justify-content:center;padding:9px 0}.shell.sb-collapsed .sidebar:not(:hover):not(:has(:focus-visible)) .sb-brand{justify-content:center;padding-left:0;padding-right:0}.shell.sb-collapsed .sidebar:not(:hover):not(:has(:focus-visible)) .ic-dot{display:block}.shell.sb-collapsed .sidebar .lbl,.shell.sb-collapsed .sidebar .sb-section{white-space:nowrap}}.sb-brand .lbl{overflow:hidden}.sb-brand .tag{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width: 901px){.menu-btn{display:inline-grid}}.span-2{grid-column:span 2}.span-full{grid-column:1 / -1}@media (max-width: 640px){.span-2{grid-column:1 / -1}}.chk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.chk-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;display:flex;flex-direction:column;gap:4px;transition:box-shadow .15s,border-color .15s}.chk-card:hover{border-color:var(--orange-200, #fed7aa);box-shadow:0 4px 14px #0f172a0f}.chk-card.muted-card{background:#fafbfc}.chk-title{display:block;font-size:14.5px;line-height:1.3;margin-top:2px}.chk-stats{display:flex;gap:12px;font-size:12px;color:var(--muted);margin-top:6px}.chk-stats b{color:var(--text, #0f172a)}.chk-stats .bad b{color:var(--red)}.chk-item-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px;border:1px solid var(--line-2, #eef2f7);border-radius:10px;background:#fff}.chk-num{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:7px;background:var(--orange-50);color:var(--orange-600);font-size:12px;font-weight:800}.crit-toggle{display:inline-flex;gap:5px;align-items:center;font-size:12px;font-weight:700;color:var(--muted);padding:4px 9px;border:1.5px solid var(--line);border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.crit-toggle.on{color:var(--red);border-color:var(--red-200);background:var(--red-50)}.crit-toggle input{accent-color:var(--red)}.chk-fill-row{padding:12px;border:1.5px solid var(--line);border-radius:12px;background:#fff}.chk-fill-row.failed{border-color:var(--red-200);background:snow}.chk-fill-row.missing{border-color:var(--amber);box-shadow:0 0 0 3px #f59e0b26}.progress{height:6px;background:var(--line-2, #eef2f7);border-radius:6px;overflow:hidden}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--orange-600),#fb923c);transition:width .25s}.kv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px 18px}.kv-grid>div{display:flex;flex-direction:column;gap:2px;font-size:13.5px}.kv-grid span{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.ans{font-weight:800;font-size:12.5px}.ans.ok{color:var(--green)}.ans.bad{color:var(--red)}.ans.na{color:var(--muted)}.sig-box{margin-top:14px;margin-left:auto;width:220px;text-align:center;border-top:1px solid var(--line);padding-top:6px}.sig-box img{max-width:180px;max-height:60px;display:block;margin:0 auto 4px}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.kpi{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff;cursor:pointer;text-align:left;font:inherit}.kpi b{display:block;font-size:22px;line-height:1.1}.kpi span{font-size:12px;color:var(--muted);font-weight:600}.kpi.on{border-color:var(--orange-600);box-shadow:0 0 0 3px #ea580c1f}.src-pill{font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;background:#f1f5f9;color:#475569;text-transform:capitalize;white-space:nowrap}.avatar-sm{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--line)}.avatar-sm.ph{display:inline-grid;place-items:center;background:var(--orange-50);color:var(--orange-600);font-weight:800;font-size:14px}.linkish{background:none;border:0;padding:0;color:var(--orange-600);font-weight:700;font-size:11.5px;cursor:pointer}.verify-wrap{min-height:100vh;display:grid;place-items:center;padding:20px 16px;background:linear-gradient(160deg,#1e2d45,#0f172a)}.verify-card{width:100%;max-width:420px;background:#fff;border-radius:18px;padding:24px 20px;text-align:center;box-shadow:0 20px 50px #00000059}.verify-status{font-weight:800;letter-spacing:.8px;font-size:13px;padding:9px 12px;border-radius:10px;margin-bottom:16px}.verify-photo{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid #f1f5f9;display:block;margin:0 auto}.verify-photo.ph{display:grid;place-items:center;font-size:46px;font-weight:800;color:#94a3b8;background:#f1f5f9}@media print{.sidebar,.topbar,.btn,.chips,select,.no-print{display:none!important}.table-wrap{max-height:none!important;overflow:visible!important}}.lib-cat{margin:18px 0 8px;font-size:11.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--muted)}.lib-card{min-height:150px}.lib-points{margin-top:6px;font-size:12.5px}.lib-points summary{cursor:pointer;color:var(--orange-600);font-weight:700}.lib-points ol{margin:6px 0 0;padding-left:18px;color:#334155}.lib-points li{margin-bottom:3px}.lib-add,.lib-done{width:100%;justify-content:center}.lib-done{cursor:default;color:var(--muted);background:var(--bg, #f1f5f9)}.lib-banner{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:space-between;padding:14px 16px;border-radius:12px;border:1px dashed var(--orange-200, #fed7aa);background:var(--orange-50);margin-bottom:12px}.lib-banner b{display:block;font-size:14.5px}.inc-rates{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#fff,#fafbfc)}.inc-rates>div{display:flex;flex-direction:column}.inc-rates b{font-size:20px;color:var(--navy, #1e2d45)}.inc-rates span{font-size:12px;color:var(--muted)}.inc-type{display:inline-block;color:#fff;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:6px;white-space:nowrap}.reg-section{margin-top:6px;padding-top:10px;border-top:1px dashed var(--line);font-size:11.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--orange-600)}.mr-wrap{max-height:70vh}.mr-table{font-size:12.5px}.mr-table th,.mr-table td{text-align:center;white-space:nowrap;padding:6px 8px}.mr-table .mr-param{text-align:left;min-width:250px;white-space:normal}.mr-table .mr-sec td{text-align:left;font-weight:800;font-size:11.5px;letter-spacing:.5px;text-transform:uppercase}.mr-table .mr-ytd{background:#e0f2fe;font-weight:700}.mr-table thead .mr-ytd{color:#0c4a6e}.mr-table tr.mr-calc td:not(:nth-child(-n+3)){color:#c2410c;background:#fff7ed}.mr-table tr.mr-score td:not(:nth-child(-n+3)){background:#fefce8;font-weight:700}.mr-table .mr-now{box-shadow:inset 0 0 0 9999px #f973160f}.mr-zero{color:#cbd5e1}.mr-good{color:var(--green)}.mr-bad{color:var(--red);font-weight:800}.print-only{display:none}@media print{.print-only{display:block}.mr-wrap{max-height:none;overflow:visible}.mr-table{font-size:9px}}@media (max-width: 700px){.mr-table .mr-param{min-width:170px}.mr-table{font-size:12px}}.pyramid{display:flex;flex-direction:column;align-items:center;gap:5px;padding:6px 0}.pyr-row{width:100%;display:flex;flex-direction:column;align-items:center}.pyr-bar{height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;min-width:44px}.pyr-row span{font-size:11px;color:var(--muted);font-weight:600;margin-top:2px}@media (max-width: 600px){.tabs.tabs-3{max-width:none!important}.tabs.tabs-3 .tab{padding-left:8px;padding-right:8px;font-size:13px;gap:5px}.tabs.tabs-3 .tab svg{width:14px;height:14px}}.hse-cats{display:flex;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:5px;margin:0 0 16px;overflow-x:auto}.hse-cat{flex:1;min-width:max-content;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 14px;border-radius:8px;border:0;background:none;font-weight:700;font-size:13.5px;cursor:pointer;white-space:nowrap;color:#475569}.hse-cat.leading{color:#2563eb}.hse-cat.lagging{color:#dc2626}.hse-cat:not(.active):hover{background:#f1f5f9}.hse-cat.leading:not(.active):hover{background:#dbeafe}.hse-cat.lagging:not(.active):hover{background:#fee2e2}.hse-cat.active{color:#fff;background:#475569}.hse-cat.leading.active{background:#2563eb}.hse-cat.lagging.active{background:#dc2626}.hse-cat.esg-env{color:#16a34a}.hse-cat.esg-social{color:#2563eb}.hse-cat.esg-gov{color:#7c3aed}.hse-cat.esg-env:not(.active):hover{background:#dcfce7}.hse-cat.esg-social:not(.active):hover{background:#dbeafe}.hse-cat.esg-gov:not(.active):hover{background:#ede9fe}.hse-cat.esg-env.active{background:#16a34a;color:#fff}.hse-cat.esg-social.active{background:#2563eb;color:#fff}.hse-cat.esg-gov.active{background:#7c3aed;color:#fff}@media (max-width: 600px){.hse-cat{font-size:12.5px;padding:8px;gap:5px}}.hse-cat.esg-s1{color:#dc2626}.hse-cat.esg-s2{color:#1d4ed8}.hse-cat.esg-s3{color:#16a34a}.hse-cat.esg-sa{color:#475569}.hse-cat.esg-s1:not(.active):hover{background:#fef2f2}.hse-cat.esg-s2:not(.active):hover{background:#eff6ff}.hse-cat.esg-s3:not(.active):hover{background:#f0fdf4}.hse-cat.esg-s1.active{background:#dc2626;color:#fff}.hse-cat.esg-s2.active{background:#1d4ed8;color:#fff}.hse-cat.esg-s3.active{background:#16a34a;color:#fff}.hse-cat.esg-sa.active{background:#475569;color:#fff}.esg-tbl tfoot td{background:#f0f9ff;color:#0369a1;font-weight:700;border-top:2px solid #bae6fd;white-space:nowrap}.esg-tbl .calc{color:#0d9488}.esg-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.esg-preview>div{background:#f0fdfa;border:1px solid #99f6e4;border-radius:10px;padding:8px 12px;display:flex;flex-direction:column}.esg-preview span{font-size:11px;font-weight:700;color:#0f766e;text-transform:uppercase;letter-spacing:.4px}.esg-preview b{font-size:18px;color:#0d9488}.reg-section.esg-sec-s1{color:#b91c1c}.reg-section.esg-sec-s2{color:#1e40af}.reg-section.esg-sec-s3{color:#166534}.kpi .kpi-sub{display:block;font-size:11px;color:#94a3b8;font-weight:500;margin-top:2px}.card-lite{border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:14px;background:#fff}.grv-qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.grv-qr{border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:10px;text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center}.grv-qr img{width:140px;height:140px;image-rendering:pixelated}.grv-ref{font-size:1.4rem;font-weight:800;letter-spacing:1px;color:#7c3aed;background:#f5f3ff;border:1px dashed #c4b5fd;border-radius:10px;padding:10px;margin:14px 0 8px}.grv-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.pwa-banner{display:flex;align-items:center;gap:12px;position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#0a0f1e;border:1px solid rgba(59,130,246,.4);border-radius:14px;padding:14px 18px;box-shadow:0 8px 32px #00000080;z-index:9999;width:calc(100% - 32px);max-width:380px;animation:pwaUp .4s ease}@keyframes pwaUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.pwa-banner-icon{width:44px;height:44px;border-radius:10px;flex-shrink:0;background:#1d4ed8;display:flex;align-items:center;justify-content:center;font-size:20px}.pwa-banner-text{flex:1;text-align:left}.pwa-banner-title{font-size:13px;font-weight:700;color:#fff;margin-bottom:2px}.pwa-banner-sub{font-size:11px;color:#ffffff80}.pwa-banner-btn{background:#1d4ed8;color:#fff;border:none;padding:7px 14px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.pwa-banner-close{background:none;border:none;color:#fff6;font-size:16px;cursor:pointer;padding:4px;flex-shrink:0}.reg-section.esg-sec-e{color:#166534}.reg-section.esg-sec-s{color:#1e40af}.reg-section.esg-sec-g{color:#4c1d95}.tgt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.tgt-card{background:#fff;border:1px solid var(--line, #e2e8f0);border-radius:12px;padding:12px 14px;box-shadow:0 1px 4px #0000000a}.tgt-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px}.tgt-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tgt-title{font-weight:700;font-size:13.5px}.tgt-badge{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap}.tgt-badge.tb-on{background:#dcfce7;color:#15803d}.tgt-badge.tb-near{background:#fef3c7;color:#92400e}.tgt-badge.tb-off{background:#fee2e2;color:#b91c1c}.tgt-badge.tb-none{background:#f1f5f9;color:#64748b}.tgt-bar{height:8px;background:#f1f5f9;border-radius:6px;overflow:hidden;margin:6px 0 3px}.tgt-fill{height:100%;background:#cbd5e1;border-radius:6px}.tgt-fill.ok{background:#16a34a}.tgt-fill.warn{background:#f59e0b}.tgt-fill.bad{background:#dc2626}.tgt-none{background:#f8fafc;border:1px dashed #e2e8f0;border-radius:8px;padding:8px;text-align:center}.tgt-edit{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;margin-top:8px}.tgt-edit .input{flex:1;min-width:0;width:auto}.sb-nav{overscroll-behavior:contain}@media (max-width: 900px){body:has(.sidebar.open){overflow:hidden}}.pc-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 900px){.pc-grid{grid-template-columns:1fr}}.pc-stage{position:relative;background:#0f172a;border-radius:12px;overflow:hidden;aspect-ratio:4 / 3;max-height:72vh;display:flex;align-items:center;justify-content:center}.pc-stage video,.pc-stage canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.pc-msg{position:relative;color:#cbd5e1;text-align:center;padding:1.5rem;font-size:.95rem}.pc-badge{position:absolute;top:10px;left:10px;z-index:3;background:#0f172acc;color:#fff;font-size:.75rem;font-weight:700;padding:.3rem .6rem;border-radius:999px}.pc-badge.live{background:#dc2626}.pc-start{flex:1}.pc-log{max-height:340px;overflow:auto}.pc-row{display:flex;gap:.6rem;align-items:center;padding:.45rem 0;border-bottom:1px solid #f1f5f9;font-size:.84rem}.pc-row img{width:64px;height:48px;object-fit:cover;border-radius:6px;background:#0f172a}.btn.btn-ai{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;box-shadow:0 4px 14px #4f46e54d}.btn.btn-ai:hover{filter:brightness(1.06)}.esg-ai-box{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #c4b5fd;border-radius:14px;padding:1.1rem 1.3rem;margin:0 0 16px;font-size:.88rem;color:#374151;line-height:1.65}.esg-ai-box p{margin:0 0 .6rem}.esg-ai-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#6d28d9;display:flex;align-items:center;gap:6px;margin-bottom:.6rem}.esg-ai-foot{margin-top:.8rem;font-size:.65rem;color:#94a3b8;border-top:1px solid #e9d5ff;padding-top:.5rem}@media print{.esg-ai-box{display:none}}.sa-page{min-height:100vh;background:#f0f2f5;font-family:Segoe UI,Inter,sans-serif}.sa-topbar{background:linear-gradient(135deg,#1a237e,#4a148c);color:#fff;padding:.9rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000004d;flex-wrap:wrap;gap:8px}.sa-topbar h5{margin:0;font-weight:700;font-size:1.1rem}.sa-badge{background:#dc3545;color:#fff;font-size:.68rem;padding:3px 8px;border-radius:10px;margin-left:8px;font-weight:700;vertical-align:middle}.sa-out{background:transparent;border:1px solid rgba(255,255,255,.7);color:#fff;border-radius:8px;padding:4px 10px;font-size:13px;display:inline-flex;gap:5px;align-items:center;cursor:pointer}.sa-out:hover{background:#ffffff1f}.sa-body{padding:1.5rem 2rem;max-width:1300px;margin:0 auto}.sa-card{background:#fff;border-radius:16px;box-shadow:0 3px 14px #0f172a0f;padding:1.5rem}.sa-title{margin:0;font-weight:700;font-size:1.1rem;display:flex;align-items:center;gap:8px}.sa-search{display:flex;align-items:center;gap:6px;border:1px solid #e2e8f0;border-radius:10px;padding:0 10px;height:32px;color:#94a3b8}.sa-search input{border:none;outline:none;font-size:13px;width:170px;background:transparent}.btn.sa-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none}.btn.sa-danger{color:#dc2626;border-color:#fecaca}.sa-co{display:grid;grid-template-columns:3fr 1.3fr 2.4fr 1.1fr auto;gap:12px;align-items:center;background:#fff;border-radius:16px;box-shadow:0 2px 10px #0f172a0d;padding:1rem 1.2rem;margin-bottom:.9rem;border:1px solid #f1f5f9;border-left:4px solid #e2e8f0;transition:all .2s}.sa-co:hover{box-shadow:0 8px 22px #0f172a17;transform:translateY(-2px)}.sa-co.active-co{border-left-color:#16a34a}.sa-co.suspended-co{border-left-color:#ea580c}.sa-co.cancelled-co{border-left-color:#dc2626}.sa-co-main{display:flex;gap:10px;align-items:center;min-width:0}.sa-logo{width:52px;height:52px;border-radius:12px;overflow:hidden;flex-shrink:0;border:none;cursor:pointer;background:linear-gradient(135deg,#0d6efd,#7c4dff);color:#fff;font-weight:800;font-size:.9rem;box-shadow:0 2px 8px #0d6efd33;display:flex;align-items:center;justify-content:center}.sa-logo img{width:100%;height:100%;object-fit:contain;background:#fff}.sa-co-name{font-weight:700;font-size:.9rem}.sa-chip{font-size:.58rem;padding:1px 6px;border-radius:8px;border:1px solid;font-weight:700}.sa-co-plan{display:flex;flex-direction:column;align-items:center;gap:4px}.sa-plan,.sa-st{padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:700}.plan-trial{background:#e3f2fd;color:#1565c0}.plan-starter{background:#e0f2f1;color:#00695c}.plan-basic{background:#e8f5e9;color:#2e7d32}.plan-pro{background:#fff3e0;color:#e65100}.plan-enterprise{background:#f3e5f5;color:#6a1b9a}.st-active{background:#e8f5e9;color:#1b5e20}.st-suspended{background:#fff3e0;color:#e65100}.st-cancelled{background:#fce4ec;color:#880e4f}.st-inactive{background:#f1f5f9;color:#475569}.sa-co-stats{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.sa-co-stats .v{font-size:1.15rem;font-weight:800;color:#0f172a}.sa-co-stats .l{font-size:.62rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px;font-weight:600}.sa-co-exp{display:flex;flex-direction:column;align-items:center;font-size:.75rem}.sa-co-act{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}@media (max-width: 1000px){.sa-co{grid-template-columns:1fr 1fr}.sa-co-main{grid-column:1 / -1}.sa-co-act{grid-column:1 / -1;justify-content:flex-start}.sa-body{padding:1rem}.sa-topbar{padding:.8rem 1rem}}.sa-h{color:#2563eb;font-weight:700;font-size:.9rem;margin:14px 0 8px}.sa-mod{display:flex;align-items:center;gap:8px;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;font-weight:600;font-size:13px;cursor:pointer}.sa-seg{display:flex;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0;margin-bottom:4px}.sa-seg button{flex:1;padding:8px;border:none;background:#fff;font-weight:600;cursor:pointer}.sa-seg button.on.demo{background:#f59e0b;color:#fff}.sa-seg button.on.permanent{background:#16a34a;color:#fff}.sa-kv th{width:40%;background:#f8fafc}.sa-logo-cur{width:100px;height:100px;border-radius:16px;overflow:hidden;border:2px solid #e2e8f0;display:flex;align-items:center;justify-content:center;background:#f8faff;margin:0 auto 12px}.sa-logo-cur img{width:100%;height:100%;object-fit:contain}.sa-drop{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px dashed #c7d9ff;border-radius:14px;padding:1.1rem;cursor:pointer;background:#f8faff}.sa-drop:hover{border-color:#0d6efd;background:#f0f5ff}.sa-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a237e,#4a148c);padding:20px}.sa-login-card{background:#fff;border-radius:18px;padding:28px;width:100%;max-width:400px;box-shadow:0 20px 50px #0000004d}.sa-login-head{text-align:center;margin-bottom:16px}.sa-login-head h1{font-size:1.25rem;margin:8px 0 4px;font-weight:800;color:#1a237e}.sa-login-head p{margin:0;color:#64748b;font-size:13px}.sa-otp{font-size:22px;letter-spacing:10px;text-align:center;font-family:Courier New,monospace}.link{background:none;border:none;color:#2563eb;cursor:pointer;padding:0;font-size:13px}
