*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Arial,Helvetica,sans-serif}:root{--jde-bar:#3a5ba2;--jde-bar-dark:#2d4a8a;--jde-navy:#2b4a6f;--sky-1:#bfe6f7;--sky-2:#e3f5fc;--panel:#ffffffe0;--border:#b9cfe0;--ok:#2e7d32;--err:#c62828}.app{color:#1f2d3d;background:linear-gradient(115deg, var(--sky-1) 0%, var(--sky-2) 45%, #fff 100%);min-height:100vh;position:relative;overflow-x:hidden}.topbar{background:var(--jde-bar);border-top:3px solid var(--jde-bar-dark);z-index:2;align-items:center;height:54px;padding:0 18px;display:flex;position:relative}.hamburger{gap:4px;width:22px;display:grid}.hamburger span{background:#fff;border-radius:1px;height:3px;display:block}.swoosh{z-index:0;pointer-events:none;width:100%;height:calc(100% - 54px);position:fixed;top:54px;left:0}main{z-index:1;padding:48px 16px 64px;position:relative}h1{text-align:center;color:var(--jde-navy);margin:0 0 40px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:4px;max-width:460px;margin:0 auto;padding:28px 32px 32px;box-shadow:0 6px 24px #2b4a6f1f}.panel h2{color:var(--jde-navy);margin:0 0 22px;font-size:1.15rem}.field{margin-bottom:20px}.field label{margin-bottom:6px;font-size:.95rem;font-weight:700;display:block}select{width:100%;height:38px;font:inherit;color:#1f2d3d;background:#fff;border:1px solid #9fb6cc;border-radius:3px;padding:0 10px;font-size:.95rem}select:focus-visible,button:focus-visible{outline-offset:1px;outline:3px solid #7fb3e6}.actions{gap:10px;margin-top:28px;display:flex}button{height:38px;font:inherit;cursor:pointer;border-radius:3px;padding:0 20px;font-size:.95rem}.btn-primary{background:var(--jde-bar);color:#fff;border:1px solid var(--jde-bar-dark)}.btn-primary:hover{background:var(--jde-bar-dark)}.btn-primary:disabled{opacity:.6;cursor:wait}.btn-secondary{color:var(--jde-navy);background:#fff;border:1px solid #9fb6cc}.btn-secondary:hover{background:#eef5fb}.msg{min-height:1.2em;margin-top:18px;font-size:.9rem}.msg.ok{color:var(--ok)}.msg.err{color:var(--err)}.msg:empty,.meta:empty{display:none}.meta{color:#5b6b7b;margin-top:6px;font-size:.8rem}@media (width<=520px){.panel{padding:22px 18px 24px}.actions{flex-direction:column}button{width:100%}}
