:root{--blue:#0b3fb3;--navy:#0a1f5c;--bright:#1a5cff;--red:#e11d2e;--bg:#f3f6fc;--green:#16a34a;--amber:#f59e0b;--ink:#0f1b3d;--muted:#55607a;--line:#dce3f0;--soft:#e8eefb}*{box-sizing:border-box}html,body{height:100%}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:Be Vietnam Pro,system-ui,sans-serif}h1,h2,h3,h4,p{margin:0}a{color:var(--bright);text-decoration:none}a:hover{color:var(--blue);text-decoration:underline}button{font-family:inherit}.row{align-items:center;display:flex}.col{flex-direction:column;display:flex}.muted{color:var(--muted)}.card{background:#fff;border-radius:12px;box-shadow:0 1px 2px #0a1f5c0f,0 6px 20px #0a1f5c0f}.btn{cursor:pointer;white-space:nowrap;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 20px;font-family:inherit;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}.btn-p{background:var(--blue);color:#fff}.btn-p:hover{background:var(--navy);color:#fff}.btn-r{background:var(--red);color:#fff}.btn-r:hover{color:#fff;background:#b8121f}.btn-o{color:var(--blue);background:#fff;border:1px solid #b9c8ea}.btn-g{background:var(--soft);color:var(--blue)}.btn-sm{height:36px;padding:0 14px;font-size:14px}.btn-block{width:100%}.btn[disabled]{color:#fff;cursor:not-allowed;background:#c9d1e3}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;height:26px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.b-blue{color:#0b3fb3;background:#e3ecff}.b-green{color:#166534;background:#dcfce7}.b-amber{color:#92400e;background:#fef3c7}.b-red{color:#b91c1c;background:#fee2e2}.b-gray{color:#48526b;background:#edf0f6}.b-solid-red{background:var(--red);color:#fff}.lbl{color:var(--ink);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.inp{width:100%;height:48px;color:var(--ink);background:#fff;border:1px solid #c5d0e6;border-radius:8px;padding:0 14px;font-family:inherit;font-size:15px}.inp:focus{outline:2px solid var(--bright);outline-offset:1px;border-color:var(--bright)}.inp:disabled{color:var(--muted);background:#eef1f7}textarea.inp{resize:vertical;height:auto;padding:12px 14px;line-height:1.55}select.inp{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#55607a 50%),linear-gradient(135deg,#55607a 50%,#0000 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-repeat:no-repeat;background-size:5px 5px;padding-right:36px}.inp-wrap{position:relative}.inp-wrap .eye{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex;position:absolute;top:2px;right:4px}.check{cursor:pointer;align-items:center;gap:10px;font-size:15px;display:flex}.check input{width:20px;height:20px;accent-color:var(--blue);margin:0}.ic{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.ic-s{width:16px;height:16px}.ic-l{width:24px;height:24px}.logo-pill{background:#fff;border-radius:8px;align-items:center;padding:6px 10px;display:inline-flex}.logo-pill img{height:26px;display:block}.bar{background:#e1e8f5;border-radius:999px;height:8px;overflow:hidden}.bar>i{background:var(--bright);border-radius:999px;height:100%;display:block}.bar.g>i{background:var(--green)}.bar.a>i{background:var(--amber)}.bar.r>i{background:var(--red)}.alert-ok{color:#14532d;background:#ecfdf3;border:1px solid #86efac;border-radius:12px;gap:12px;padding:16px;display:flex}.alert-red{background:var(--red);color:#fff;border-radius:8px;align-items:center;gap:10px;padding:12px 16px;font-weight:600;display:flex}.divider{background:var(--line);height:1px}.sbn{color:#fff;background-color:#0b3fb3;background-image:radial-gradient(circle at 85% 20%,#1a5cffe6,#0000 55%),linear-gradient(135deg,#0a1f5c,#0b3fb3);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;flex-direction:column;justify-content:flex-end;padding:16px;display:flex;position:relative;overflow:hidden}.sbn .tag{background:var(--red);color:#fff;letter-spacing:.02em;border-radius:4px;padding:4px 10px;font-size:13px;font-weight:700;position:absolute;top:14px;left:16px}.sbn .t{text-transform:uppercase;letter-spacing:.01em;font-weight:800;line-height:1.25}.sbn .mk{background:#fff;border-radius:6px;padding:3px 6px;position:absolute;top:10px;right:12px}.sbn .mk img{height:14px;display:block}.avatar{width:40px;height:40px;color:var(--blue);cursor:pointer;background:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.m-sec{font-size:17px;font-weight:700}.tbl{border-collapse:collapse;width:100%;font-size:14px}.tbl th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:#f7f9fd;padding:12px 16px;font-size:13px;font-weight:600}.tbl td{vertical-align:middle;border-bottom:1px solid #edf1f8;padding:14px 16px}.tbl tr:last-child td{border-bottom:0}.chip{height:36px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #c5d0e6;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex}.chip.on{background:var(--blue);border-color:var(--blue);color:#fff}.chip .n{background:#0b3fb31a;border-radius:999px;padding:1px 8px;font-size:12px}.chip.on .n{background:#fff3}.toggle{cursor:pointer;background:#c5d0e6;border:0;border-radius:999px;flex:none;width:44px;height:26px;position:relative}.toggle:after{content:"";background:#fff;border-radius:999px;width:20px;height:20px;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.toggle.on{background:var(--blue)}.toggle.on:after{left:21px}.toggle-wrap{flex:none;width:44px;height:26px;display:inline-block;position:relative}.toggle-wrap input{opacity:0;cursor:pointer;z-index:1;width:44px;height:26px;margin:0;position:absolute;inset:0}.toggle-visual{pointer-events:none;background:#c5d0e6;border-radius:999px;transition:background .15s;position:absolute;inset:0}.toggle-visual:after{content:"";background:#fff;border-radius:999px;width:20px;height:20px;transition:left .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.toggle-wrap input:checked~.toggle-visual{background:var(--blue)}.toggle-wrap input:checked~.toggle-visual:after{left:21px}.drop{color:var(--muted);text-align:center;background:#f7f9ff;border:1.5px dashed #afc0e4;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:14px;display:flex}.iconbtn{border:1px solid var(--line);width:36px;height:36px;color:var(--muted);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.kbd-num{font-variant-numeric:tabular-nums}.stat{flex-direction:column;gap:8px;padding:20px;display:flex}.stat .k{color:var(--muted);font-size:14px;font-weight:500}.stat .v{letter-spacing:-.01em;font-size:30px;font-weight:700}.stat .s{color:var(--muted);font-size:13px}.h-title{font-size:24px;font-weight:700}.scrim{z-index:40;background:#0a1f5c8c;position:fixed;inset:0}.modal-center{z-index:41;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-sheet{z-index:41;background:#fff;border-radius:16px 16px 0 0;flex-direction:column;gap:18px;max-height:88vh;padding:12px 16px 28px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:auto}.hv-shell{flex-direction:column;min-height:100vh;display:flex}.m-hdr{z-index:20;background:var(--blue);color:#fff;justify-content:space-between;align-items:center;height:64px;padding:0 16px;display:flex;position:sticky;top:0}.hv-main{box-sizing:border-box;flex-direction:column;flex:1;gap:16px;width:100%;max-width:1200px;margin:0 auto;padding:16px 16px 96px;display:flex}@media (min-width:900px){.hv-main{gap:28px;padding:32px 0}}.tabbar{z-index:20;border-top:1px solid var(--line);background:#fff;grid-template-columns:repeat(3,minmax(0,1fr));height:72px;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:#6b7590;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:13px;font-weight:600;text-decoration:none;display:flex}.tabbar a.on{color:var(--blue)}.tabbar a.on .ic{stroke-width:2.2px}.topnav{gap:32px;display:flex}.topnav a{color:#dce6ff;border-bottom:3px solid #0000;align-items:center;height:72px;padding:0 4px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.topnav a.on{color:#fff;border-bottom-color:#fff}.desktop-hdr{z-index:20;background:var(--blue);justify-content:space-between;align-items:center;height:72px;padding:0 40px;display:flex;position:sticky;top:0}.gv-shell{min-height:100vh;display:flex}.side{background:var(--navy);color:#c9d5f2;flex-direction:column;flex:none;align-self:flex-start;gap:4px;width:260px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0;overflow:auto}.side .nav{color:#c9d5f2;border-radius:8px;align-items:center;gap:12px;height:44px;padding:0 14px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.side .nav:hover{color:#fff;background:#ffffff0f;text-decoration:none}.side .nav.on{background:var(--blue);color:#fff;font-weight:600}.side .grp{letter-spacing:.08em;text-transform:uppercase;color:#8fa3d6;padding:18px 14px 6px;font-size:12px;font-weight:700}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{z-index:10;border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:16px 32px;display:flex;position:sticky;top:0}.content{flex-direction:column;gap:24px;padding:28px 32px;display:flex}.st{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:12px 14px;display:flex}.st:hover{background:#f7f9fd}.st.on{box-shadow:inset 3px 0 0 var(--blue);background:#e8eefb}.av{color:#0a1f5c;background:#e1e8f5;border-radius:999px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:flex}summary{list-style:none}summary::-webkit-details-marker{display:none}details[open]>summary{border-bottom:1px solid var(--line)}@media (max-width:899.98px){.only-desktop{display:none!important}}@media (min-width:900px){.only-mobile{display:none!important}}
