@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--navy:#1e1a58;--navy-700:#28237a;--navy-600:#322c92;--gold:#c8ab03;--gold-soft:#f4e9a8;--bg:#f5f6f9;--surface:#fff;--surface-2:#fbfcfe;--border:#e7e9f0;--border-strong:#d6d9e4;--text:#161927;--muted:#656c7e;--muted-2:#99a0b0;--blue:#2563eb;--blue-bg:#eaf0fe;--violet:#7c3aed;--violet-bg:#f3ecfe;--green:#15803d;--green-bg:#e6f6ec;--amber:#a16207;--amber-bg:#fdf3d7;--red:#c01933;--red-bg:#fde7ea;--slate:#475569;--slate-bg:#eef1f6;--radius:14px;--radius-sm:9px;--radius-pill:999px;--shadow-sm:0 1px 2px #1018280d, 0 1px 3px #1018280b;--shadow-md:0 6px 18px #10182814;--shadow-lg:0 18px 44px #10182829;--ring:0 0 0 3px #322c922e}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;font-size:14px;line-height:1.5}h1,h2,h3{letter-spacing:-.015em}a{color:var(--navy-600);text-decoration:none}a:hover{color:var(--navy)}code{background:var(--slate-bg);color:var(--slate);border-radius:5px;padding:1px 6px;font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:.86em}.value,.kpi .value,table.tbl td,.pageinfo{font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#c9cdda padding-box content-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#aeb3c4 padding-box content-box}.app{min-height:100vh;display:flex}.sidebar{color:#fff;background:linear-gradient(185deg,#221d63 0%,#1b1750 60%,#181445 100%);flex-direction:column;width:244px;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:1px 0 #ffffff0a}.sidebar .brand{flex-direction:column;padding:22px 20px 18px;display:flex}.sidebar .brand .name{letter-spacing:.4px;align-items:center;gap:9px;font-size:20px;font-weight:800;display:flex}.sidebar .brand .name:before{content:"";background:var(--gold);border-radius:3px;width:10px;height:10px;box-shadow:0 0 0 4px #c8ab032e}.sidebar .brand .sub{color:var(--gold);letter-spacing:2px;margin-top:4px;font-size:10.5px;font-weight:600}.sidebar nav{flex:1;padding:8px 12px;overflow-y:auto}.sidebar nav a{color:#c2c5e4;border-radius:9px;align-items:center;gap:11px;margin:1px 0;padding:9px 12px;font-size:13.5px;font-weight:500;transition:background .15s,color .15s;display:flex}.sidebar nav a svg{opacity:.85;flex:none;width:17px;height:17px}.sidebar nav a:hover{color:#fff;background:#ffffff12}.sidebar nav a.active{color:#fff;background:#ffffff21;font-weight:600}.sidebar nav a.active svg{opacity:1;color:var(--gold)}.sidebar nav .section{text-transform:uppercase;letter-spacing:1.4px;color:#7d82b4;padding:16px 12px 6px;font-size:10px;font-weight:700}.sidebar .footer{color:#7d82b4;border-top:1px solid #ffffff14;padding:14px 20px;font-size:11px}.main{flex-direction:column;flex:1;min-width:0;margin-left:244px;display:flex}.topbar{-webkit-backdrop-filter:saturate(180%)blur(8px);backdrop-filter:saturate(180%)blur(8px);border-bottom:1px solid var(--border);z-index:20;background:#ffffffd9;justify-content:space-between;align-items:center;height:62px;padding:0 30px;display:flex;position:sticky;top:0}.topbar h1{color:var(--text);margin:0;font-size:17px;font-weight:700}.topbar .user{color:var(--muted);align-items:center;gap:14px;font-size:13px;display:flex}.topbar .user strong{color:var(--navy)}.content{flex:1;padding:26px 30px;animation:.25s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.topbar-left{align-items:center;gap:12px;min-width:0;display:flex}.nav-toggle{background:var(--surface);color:var(--navy-600);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:7px 11px;font-size:16px;line-height:1;display:none}.nav-overlay{display:none}@media (width<=880px){.sidebar{z-index:60;width:260px;transition:transform .22s;transform:translate(-100%)}.app.nav-open .sidebar{transform:translate(0);box-shadow:0 10px 40px #00000059}.main{margin-left:0}.nav-toggle{justify-content:center;align-items:center;display:inline-flex}.app.nav-open .nav-overlay{z-index:50;background:#0f122173;display:block;position:fixed;inset:0}.topbar{padding:0 16px}.topbar .user span{display:none}.content{padding:18px 16px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:20px}.card h2,.card h3{color:var(--text);margin:0 0 14px;font-size:15px;font-weight:700}.grid{gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}@media (width<=1150px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}.kpi{padding:18px 20px;position:relative}.kpi .kpi-top{justify-content:space-between;align-items:flex-start;display:flex}.kpi .label{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-size:11.5px;font-weight:600}.kpi .value{color:var(--text);margin-top:8px;font-size:32px;font-weight:700;line-height:1.1}.kpi .sub{color:var(--muted);margin-top:6px;font-size:12px}.kpi .icon{background:var(--slate-bg);width:38px;height:38px;color:var(--slate);border-radius:11px;flex:none;place-items:center;display:grid}.kpi .icon svg{width:19px;height:19px}.kpi.t-blue .icon{background:var(--blue-bg);color:var(--blue)}.kpi.t-violet .icon{background:var(--violet-bg);color:var(--violet)}.kpi.t-green .icon{background:var(--green-bg);color:var(--green)}.kpi.t-amber .icon{background:var(--amber-bg);color:var(--amber)}.kpi.t-red .icon{background:var(--red-bg);color:var(--red)}.kpi.t-navy .icon{color:var(--navy-600);background:#ecebf7}.card>table.tbl{border-radius:var(--radius);overflow:hidden}table.tbl{border-collapse:collapse;width:100%;font-size:13px}table.tbl th{text-align:left;background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;font-size:11px;font-weight:600}table.tbl td{border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 16px}table.tbl tbody tr{transition:background .12s}table.tbl tbody tr:last-child td{border-bottom:none}table.tbl tbody tr:hover td{background:var(--surface-2)}table.tbl .clickable{cursor:pointer}table.tbl tbody tr.clickable:focus-visible,table.tbl td.clickable:focus-visible,.card-link:focus-visible,.brk-row:focus-visible{box-shadow:var(--ring);outline:none}table.tbl tbody tr.clickable:focus-visible td{background:var(--surface-2)}.card-link{cursor:pointer}.brk-row{cursor:pointer;border-radius:8px;margin:0 -6px;padding:4px 6px}.badge{white-space:nowrap;border-radius:var(--radius-pill);letter-spacing:.2px;align-items:center;gap:6px;padding:3px 10px;font-size:11px;font-weight:600;line-height:1.5;display:inline-flex}.clip{text-overflow:ellipsis;white-space:nowrap;max-width:560px;display:block;overflow:hidden}.badge:before{content:"";opacity:.9;background:currentColor;border-radius:50%;width:6px;height:6px}.badge.cat-INQUIRY{background:var(--blue-bg);color:#1b4dc4}.badge.cat-TENDER{background:var(--violet-bg);color:var(--violet)}.badge.cat-SALES{background:var(--green-bg);color:var(--green)}.badge.cat-FINANCE{color:#0f766e;background:#e0f4ef}.badge.cat-PURCHASE{color:#c2410c;background:#ffedd5}.badge.cat-HR{color:#be185d;background:#fde7f0}.badge.cat-SUPPORT{background:var(--red-bg);color:var(--red)}.badge.cat-OTHER{background:var(--slate-bg);color:var(--slate)}.badge.cat-UNCLASSIFIED{background:var(--amber-bg);color:var(--amber)}.badge.s-good{background:var(--green-bg);color:var(--green)}.badge.s-warn{background:var(--amber-bg);color:var(--amber)}.badge.s-bad{background:var(--red-bg);color:var(--red)}.badge.s-info{background:var(--blue-bg);color:#1b4dc4}.badge.s-default{background:var(--slate-bg);color:var(--slate)}button,.btn{font:inherit;cursor:pointer;border:1px solid var(--navy);background:var(--navy);color:#fff;border-radius:var(--radius-sm);padding:9px 15px;font-size:13px;font-weight:600;line-height:1.2;transition:background .15s,box-shadow .15s,transform 50ms,border-color .15s;box-shadow:0 1px 2px #10182814}button:hover,.btn:hover{background:var(--navy-700)}button:active,.btn:active{transform:translateY(1px)}button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--ring);outline:none}button.ghost,.btn.ghost{background:var(--surface);color:var(--navy-600);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}button.ghost:hover,.btn.ghost:hover{background:var(--surface-2);border-color:var(--muted-2);color:var(--navy)}button.sm{padding:6px 11px;font-size:12px}button:disabled{opacity:.45;cursor:default;box-shadow:none}button:disabled:active{transform:none}button.danger{background:var(--red);border-color:var(--red)}button.danger:hover{background:#a3142b}input,select,textarea{font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:9px 12px;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--muted-2)}input:focus,select:focus,textarea:focus{border-color:var(--navy-600);box-shadow:var(--ring);outline:none}select{cursor:pointer}label.field{margin-bottom:12px;display:block}label.field span{color:var(--muted);margin-bottom:5px;font-size:12px;font-weight:500;display:block}label.field input,label.field select,label.field textarea{width:100%}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.toolbar .spacer{flex:1}.muted{color:var(--muted)}.right{text-align:right}.mono{font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:12px}.pageinfo{color:var(--muted);font-size:13px}.stack{flex-direction:column;gap:8px;display:flex}.row{align-items:center;gap:10px;display:flex}.wrap-text{white-space:pre-wrap;word-break:break-word}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.page-head h2{margin:0;font-size:20px;font-weight:700}.page-head .desc{color:var(--muted);margin-top:2px;font-size:13px}.login-wrap{background:radial-gradient(1200px 600px at 70% -10%,#322c92 0%,#0000 55%),linear-gradient(160deg,#1b1750,#14112f);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--surface);border:1px solid #ffffff14;border-radius:18px;width:392px;padding:38px;box-shadow:0 30px 70px #00000073}.login-card .name{color:var(--navy);letter-spacing:.3px;font-size:26px;font-weight:800}.login-card .sub{color:var(--gold);letter-spacing:2px;margin-bottom:22px;font-size:11px;font-weight:600}.login-card hr{border:none;border-top:1px solid var(--border);margin:20px 0}.spinner{border:2.5px solid var(--border-strong);border-top-color:var(--navy-600);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.center-pad{text-align:center;color:var(--muted);padding:48px}.card-link{cursor:pointer;transition:box-shadow .16s,transform .16s,border-color .16s}.card-link:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}.brk-row{cursor:pointer;border-radius:8px;margin:0 -9px;padding:7px 9px;transition:background .12s}.brk-row:hover{background:var(--surface-2)}.skel{background:#e9ecf3;border-radius:8px;position:relative;overflow:hidden}.skel:after{content:"";background:linear-gradient(90deg,#0000,#ffffffa6,#0000);animation:1.3s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.skel-line{height:13px;margin:11px 0}.skel-kpis{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px;display:grid}@media (width<=1150px){.skel-kpis{grid-template-columns:repeat(2,1fr)}}.skel-kpi{height:104px}.detail-head{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;display:flex}.detail-head h2{flex:1;min-width:180px;margin:0;font-size:19px;font-weight:700}.detail-head .badges{align-items:center;gap:8px;display:flex}.dl{grid-template-columns:130px 1fr;gap:11px 18px;margin:0;font-size:13.5px;display:grid}.dl dt{color:var(--muted);font-weight:500}.dl dd{color:var(--text);margin:0}@media (width<=560px){.dl{grid-template-columns:1fr;gap:2px 0}.dl dd{margin-bottom:10px}}.banner{border-radius:10px;padding:11px 14px;font-size:13px}.banner.info{background:var(--blue-bg);color:#1b4dc4}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--navy-600);cursor:pointer}.avatar{color:#fff;letter-spacing:.3px;border-radius:50%;flex:none;place-items:center;font-size:10.5px;font-weight:700;display:inline-grid}.avatar-row{align-items:center;gap:8px;min-width:0;display:inline-flex}.avatar-row .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:52px 24px;display:flex}.empty .empty-ic{background:var(--slate-bg);width:54px;height:54px;color:var(--muted-2);border-radius:15px;place-items:center;display:grid}.empty .empty-title{color:var(--text);font-size:15px;font-weight:600}.empty .empty-sub{max-width:380px;font-size:13px;line-height:1.5}.empty .empty-actions{margin-top:4px}.lp{background:var(--bg);min-height:100vh;color:var(--text)}.lp-wrap{max-width:1120px;margin:0 auto;padding:0 28px}.lp-hero{color:#fff;background:radial-gradient(900px 460px at 80% -10%,#4a3fb0 0%,#0000 55%),radial-gradient(680px 420px at 8% 6%,#2b2483 0%,#0000 52%),linear-gradient(165deg,#1b1750 0%,#131030 100%);position:relative;overflow:hidden}.lp-nav{justify-content:space-between;align-items:center;padding:20px 0;display:flex}.lp-brand{letter-spacing:.6px;color:#fff;font-size:18px;font-weight:800}.lp-brand b{color:var(--gold);font-weight:800}.lp-signin{border-radius:var(--radius-pill);background:var(--gold);color:#1b1750;white-space:nowrap;padding:9px 20px;font-size:14px;font-weight:700;text-decoration:none}.lp-signin:hover{filter:brightness(1.07)}.lp-hero-body{text-align:center;z-index:1;padding:60px 0 96px;position:relative}.lp-eyebrow{color:var(--gold);letter-spacing:2.5px;font-size:12px;font-weight:700}.lp-hero-body h1{letter-spacing:-.6px;max-width:780px;margin:18px auto 16px;font-size:clamp(30px,5.2vw,52px);font-weight:800;line-height:1.08}.lp-hero-body h1 em{color:var(--gold);font-style:normal}.lp-hero-body .lp-lede{color:#c7cae0;max-width:600px;margin:0 auto 32px;font-size:18px;line-height:1.6}.lp-ctas{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.lp-btn-primary{border-radius:var(--radius-pill);background:var(--gold);color:#1b1750;padding:13px 30px;font-size:15px;font-weight:700;text-decoration:none;transition:transform .15s;box-shadow:0 10px 26px #c8ab034d}.lp-btn-primary:hover{transform:translateY(-2px)}.lp-btn-ghost{border-radius:var(--radius-pill);color:#fff;border:1px solid #ffffff4d;padding:13px 26px;font-size:15px;text-decoration:none;transition:background .15s}.lp-btn-ghost:hover{background:#ffffff14}.lp-section{max-width:1120px;margin:0 auto;padding:66px 28px}.lp-h2{text-align:center;color:var(--navy);letter-spacing:-.3px;margin:0 0 8px;font-size:clamp(22px,3vw,30px);font-weight:800}.lp-subtitle{text-align:center;color:var(--muted);max-width:560px;margin:0 auto 42px}.lp-steps{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.lp-step{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-sm);padding:24px 18px}.lp-num{color:var(--gold);letter-spacing:1.5px;font-size:11px;font-weight:800}.lp-ic{color:#fff;border-radius:13px;place-items:center;width:46px;height:46px;margin:10px auto 12px;display:grid}.lp-step h3{color:var(--navy);margin:0 0 5px;font-size:15px}.lp-step p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.lp-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;display:grid}.lp-feat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px;transition:transform .15s,box-shadow .15s}.lp-feat:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.lp-feat .lp-ic{width:44px;height:44px;margin:0 0 14px}.lp-feat h3{color:var(--navy);margin:0 0 6px;font-size:16px}.lp-feat p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.lp-cta{color:#fff;border-radius:var(--radius);text-align:center;background:linear-gradient(120deg,#1b1750,#322c92);max-width:1120px;margin:0 auto 56px;padding:52px 28px}.lp-cta h2{margin:0 0 10px;font-size:clamp(22px,3vw,28px)}.lp-cta p{color:#c7cae0;margin:0 0 24px}.lp-footer{text-align:center;color:var(--muted-2);padding:8px 28px 36px;font-size:13px}@media (width<=820px){.lp-steps{grid-template-columns:repeat(2,1fr)}}@media (width<=460px){.lp-steps{grid-template-columns:1fr}}
