:root{--navy-900: #082642;--navy-800: #092947;--navy-700: #113d73;--ink: #11294a;--ink-strong: #102d4c;--muted: #5f7085;--sky: #65c5ef;--blue-600: #1264e8;--blue-700: #0d53c6;--blue-50: #edf5ff;--blue-100: #e8f1ff;--line: #e0e7f0;--line-strong: #8aa0bb;--surface: #fff;--page: #f4f7fb;--success: #12804f;--warning: #a86a00;--danger: #b42318;--danger-50: #fdecea;--focus: #f5b301;--radius: 11px;--target: 44px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--page);font-synthesis:none;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;background:var(--page)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h1:focus{outline:none}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell{min-height:100vh}.top{background:linear-gradient(105deg,var(--navy-900),var(--navy-700));color:#fff;padding:19px max(28px,calc((100vw - 1120px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:0 3px 18px #0a2c4d18}.brand{display:flex;gap:12px;align-items:center}.brand-icon{width:46px;height:46px;border:1px solid #ffffff45;border-radius:13px;display:grid;place-items:center;background:#ffffff16}.brand strong{font-size:23px;letter-spacing:.2px}.brand em{font-style:normal;color:var(--sky)}.brand small{display:block;font-size:12px;color:#d7e8f7;margin-top:3px}.clock-group{display:flex;align-items:center;gap:16px}.clock{display:block;text-align:right}.clock span{display:block;font-size:13px;color:#d4e3f0}.clock span:first-letter{text-transform:uppercase}.clock strong{font-size:25px;font-variant-numeric:tabular-nums}.main{max-width:620px;margin:50px auto;padding:0 18px}.demo-banner{background:#fff4d6;color:#6b4a00;border:1px solid #f0d58a;border-radius:var(--radius);padding:10px 14px;font-size:13px;font-weight:700;text-align:center;margin:0 0 24px}.intro{text-align:center;margin-bottom:27px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:#2a6aa6}.intro h1{font-size:clamp(26px,4vw,37px);margin:9px 0;color:var(--navy-800)}.intro p{font-size:15px;color:var(--muted);line-height:1.6;margin:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:19px;padding:clamp(24px,5vw,42px);box-shadow:0 18px 45px #113d7310;min-height:355px}.panel-heading{display:flex;align-items:center;gap:14px;margin-bottom:26px}.round{width:48px;height:48px;border-radius:13px;background:var(--blue-100);color:#1764cf;display:grid;place-items:center}.panel h2{font-size:22px;margin:0 0 4px}.panel-heading p,.muted{color:var(--muted);font-size:14px;line-height:1.6;margin:0}.panel label{display:block;font-size:14px;font-weight:700;margin:17px 0 8px}.field{border:1px solid var(--line-strong);border-radius:var(--radius);display:flex;align-items:center;gap:10px;padding:0 14px;color:#5a7697;min-height:54px;background:var(--surface)}.field:focus-within{border-color:#246de0;box-shadow:0 0 0 3px #246de033}.field input{width:100%;min-height:var(--target);border:0;outline:0;font-size:17px;color:var(--ink-strong);background:transparent}.field input:disabled{color:var(--muted)}.primary,.secondary{border:0;border-radius:var(--radius);min-height:56px;padding:13px 22px;font-size:17px;font-weight:750;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:24px;touch-action:manipulation}.primary{background:var(--blue-600);color:#fff}.primary:hover:not(:disabled){background:var(--blue-700)}.primary:disabled,.secondary:disabled{opacity:.65;cursor:wait}.secondary{background:#eaf1fa;color:#184b88}.text-button{min-height:var(--target);padding:8px 14px;background:none;border:0;border-radius:var(--radius);color:#3f5c80;cursor:pointer;margin-top:14px;font-size:15px;text-decoration:underline;text-underline-offset:3px}.text-button:disabled{opacity:.6;cursor:wait}.hint{display:flex;justify-content:center;align-items:center;gap:7px;color:var(--muted);font-size:13px;margin:17px 0 0}.notice{display:flex;align-items:center;text-align:left;gap:13px;background:var(--blue-50);color:#2f5781;border-radius:12px;padding:16px;margin:26px 0 0;font-size:14px;line-height:1.5}.notice.compact{margin:0 0 8px;padding:12px 14px}.notice svg{flex-shrink:0}.advisory{margin:16px 0 0;font-size:14px;color:var(--ink)}.advisory span{color:var(--muted)}.error{display:flex;align-items:center;gap:8px;color:var(--danger);font-size:14px;margin:16px 0 0}.error-text{background:var(--danger-50);color:var(--danger);border-radius:12px;padding:14px 16px;font-size:15px;margin:18px 0}.center{text-align:center}.center h2{margin:9px 0}.avatar{width:72px;height:72px;border-radius:50%;background:#e9f2ff;color:#2471db;display:grid;place-items:center;margin:0 auto 18px}.avatar-photo{width:128px;height:128px;display:block;object-fit:cover;border:3px solid #e9f2ff}.spinner{width:65px;height:65px;border-radius:50%;border:5px solid #e5effd;border-top-color:#1166e9;animation:spin 1s linear infinite;margin:30px auto}@keyframes spin{to{transform:rotate(360deg)}}.success-icon{color:var(--success)}.warning-icon{color:var(--warning)}.danger-icon{color:var(--danger)}.result{border:1px solid #e2eaf4;border-radius:13px;margin:25px 0;padding:9px 20px;text-align:left}.result>div{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #eef2f7}.result>div:last-child{border:0}.result dt{color:var(--muted);font-size:14px}.result dd{margin:0;font-size:15px;font-weight:700}.config-title{font-size:24px}footer{text-align:center;color:#6f7f92;font-size:12px;margin:30px 0}.shell-login{--login-hero-image: url(/assets/images/login/hero.webp);--login-navy: #062448;--login-navy-deep: #041a35;--login-action: #0868f7;--login-action-hover: #0656cf;--login-accent: #4ea3ff;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--login-navy-deep)}.shell-login .top{background:var(--login-navy);border-bottom:1px solid #ffffff1f;padding:18px clamp(20px,4.5vw,72px);box-shadow:none}.shell-login .clock-icon{color:var(--login-accent);flex-shrink:0}.shell-login .clock strong{font-size:30px}.login-hero{flex:1;display:flex;background:linear-gradient(90deg,#041a35d9,#041a3599 38%,#041a3514 62%,#041a3500),var(--login-hero-image) center / cover no-repeat,radial-gradient(ellipse 55% 30% at 62% 78%,#d9772b59,#d9772b00 70%),radial-gradient(ellipse 90% 60% at 80% 10%,#1b4f8f80,#1b4f8f00 70%),linear-gradient(180deg,#0c3463,#072849 55%,#041a35);color:#fff}.login-hero-inner{width:100%;max-width:1680px;margin:0 auto;padding:clamp(32px,7vh,80px) clamp(20px,4.5vw,72px);display:grid;grid-template-columns:minmax(0,1.13fr) minmax(380px,1fr);gap:clamp(32px,5vw,96px);align-items:center}.login-welcome{max-width:600px}.login-eyebrow{display:flex;align-items:center;gap:14px;color:var(--login-accent);font-size:15px;font-weight:800;letter-spacing:4px;text-transform:uppercase}.login-eyebrow:before{content:"";width:34px;height:2px;background:currentColor}.login-welcome h1{font-size:clamp(34px,3.6vw,56px);line-height:1.12;font-weight:800;margin:18px 0 22px;color:#fff;text-wrap:balance}.login-welcome h1 span{color:var(--login-accent)}.login-welcome p{font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:#e3edf8;margin:0;max-width:34em}.login-side{width:100%;max-width:660px;justify-self:end}.login-side .demo-banner{margin-bottom:16px}.login-card{color:var(--ink);border:0;border-radius:18px;padding:clamp(24px,3vw,48px);box-shadow:0 24px 60px #00000059;min-height:0}.login-card .panel-heading{gap:20px;margin-bottom:30px}.login-card .round{width:64px;height:64px;border-radius:14px;flex-shrink:0}.login-card .round svg{width:32px;height:32px}.login-card h2{font-size:clamp(24px,2vw,30px);color:var(--login-navy)}.login-card .panel-heading p{font-size:16px}.login-card label{font-size:16px;color:var(--login-navy);margin-top:22px}.login-card .field{min-height:62px;padding:0 18px;gap:14px;border-color:#7489a3}.login-card .field:focus-within{border-color:var(--login-action);box-shadow:0 0 0 3px #0868f733}.login-card .field:has(input[aria-invalid=true]){border-color:var(--danger)}.login-card .field:has(input:disabled){background:#f3f6fa}.login-card .primary{background:var(--login-action);min-height:62px;font-size:18px;margin-top:28px;transition:background-color .15s ease}.login-card .primary:hover:not(:disabled){background:var(--login-action-hover)}.login-card .hint{font-size:14px;margin-top:22px}.login-card .error{background:var(--danger-50);border-radius:10px;padding:12px 14px}.benefits{background:var(--login-navy-deep);border-top:1px solid #ffffff1f;color:#fff;text-align:left;font-size:inherit;margin:0;padding:18px clamp(20px,4.5vw,72px)}.benefits ul{list-style:none;margin:0 auto;padding:0;max-width:1680px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.benefits li{display:flex;align-items:center;gap:16px;padding:4px clamp(12px,3vw,48px)}.benefits li:first-child{padding-left:0}.benefits li+li{border-left:1px solid #ffffff33}.benefit-icon{width:52px;height:52px;border-radius:50%;border:2px solid var(--login-accent);color:var(--login-accent);display:grid;place-items:center;flex-shrink:0}.benefits strong{display:block;font-size:15px;font-weight:650}.benefits small{display:block;font-size:13px;color:#c3d3e6;margin-top:3px}@media(max-width:1023px){.login-hero{background:linear-gradient(180deg,#041a35b3,#041a35cc),var(--login-hero-image) 30% center / cover no-repeat,linear-gradient(180deg,#0c3463,#072849 55%,#041a35)}.login-hero-inner{grid-template-columns:minmax(0,1fr);justify-items:center;align-content:start}.login-side{order:-1;max-width:600px;justify-self:center}.login-welcome{text-align:center}.login-eyebrow{justify-content:center}.login-welcome h1{font-size:clamp(26px,4.5vw,36px)}.login-welcome p{margin:0 auto}}@media(max-width:767px){.shell-login .top{padding:14px 16px}.shell-login .clock-icon{display:none}.shell-login .clock strong{font-size:21px}.login-hero-inner{padding:20px 16px 32px;gap:28px}.login-card .panel-heading{gap:14px;margin-bottom:18px}.login-card .round{width:52px;height:52px}.benefits{padding:16px}.benefits ul{grid-template-columns:minmax(0,1fr);gap:12px}.benefits li,.benefits li:first-child{padding:0}.benefits li+li{border-left:0}.benefit-icon{width:40px;height:40px}}@media(max-width:540px){.top{padding:15px 18px}.clock span{display:none}.brand strong{font-size:18px}.clock strong{font-size:19px}.main{margin:30px auto}.panel{padding:24px}.result>div{flex-direction:column;gap:3px}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:3s}.login-card .primary{transition:none}}
