:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial;color:#eaf3ff;background:#070d16;--muted:#8b9bb0;--line:#243346;--cyan:#4de3d0;--card:#111e2e}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:inherit}.loading{padding:4rem;text-align:center;color:var(--cyan);letter-spacing:.2em;font-size:12px}.signin{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:radial-gradient(circle at 14% 30%,#123449 0%,#070d16 48%)}.hero{display:flex;flex-direction:column;justify-content:space-between;padding:48px 7vw;border-right:1px solid #1d2c3e;min-height:100vh}.brand{display:flex;align-items:center;gap:15px}.mark{width:47px;height:47px;display:grid;place-items:center;border:1px solid #45dfcb;background:#102f39;color:#7efce8;font-weight:900;letter-spacing:-.09em;font-size:18px;clip-path:polygon(14% 0,86% 0,100% 22%,100% 78%,86% 100%,14% 100%,0 78%,0 22%)}.brand strong{font-size:14px;letter-spacing:.12em;display:block}.brand small{color:#738ea2;letter-spacing:.22em;font-size:9px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.3em;color:var(--cyan);font-weight:750}.hero h1{font-size:clamp(42px,5.3vw,80px);letter-spacing:-.065em;line-height:1.04;font-weight:760;max-width:660px;margin:24px 0}.hero h1 span{color:var(--cyan)}.hero p{color:#9baec0;line-height:1.8;max-width:490px}.herofoot{display:flex;gap:22px;flex-wrap:wrap;font-size:10px;letter-spacing:.13em;color:#61798d}.herofoot i{width:7px;height:7px;display:inline-block;border-radius:50%;background:#53d5b0;margin-right:8px}.loginarea{display:flex;align-items:center;justify-content:center;padding:38px}.loginbox{width:min(430px,100%)}.loginbox .topline{font-size:11px;letter-spacing:.23em;color:var(--cyan);text-transform:uppercase}.loginbox h2{font-size:36px;letter-spacing:-.04em;margin:14px 0 8px}.loginbox .sub{color:var(--muted);margin-bottom:32px;font-size:14px;line-height:1.6}label{font-size:12px;color:#b8c9d9;display:block;margin-bottom:9px;font-weight:650}input,select{width:100%;padding:14px 15px;border:1px solid #2c4255;border-radius:9px;background:#0e1b2a;color:#fff;outline:none}input:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #2cd6ba20}.field{margin:0 0 22px}.btn{background:var(--cyan);color:#052227;border:0;padding:14px 22px;border-radius:9px;font-weight:800}.btn:hover{filter:brightness(1.08)}.btn.secondary{border:1px solid #294156;background:#14253a;color:#d6e9f7}.btn.ghost{background:transparent;color:#abbfd2;border:1px solid #2c4054}.wide{width:100%}.note{background:#13283a;border:1px solid #295169;border-radius:9px;padding:14px;color:#a7bfd0;font-size:12px;line-height:1.6;margin:22px 0}.error{background:#391c27;border:1px solid #874255;color:#ffc1cc;padding:12px;border-radius:8px;margin:12px 0;font-size:12px}.success{background:#133a2f;color:#aef7db;padding:12px;border-radius:8px;margin:12px 0;font-size:12px}.shell{display:flex;min-height:100vh}.sidebar{background:#0a1523;width:250px;flex:0 0 250px;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:27px 17px;gap:32px}.sidebar .brand{padding:0 7px}.sidebar .brand strong{font-size:11px}.sidebar nav{display:grid;gap:7px}.navbtn{background:transparent;color:#91a7bc;border:1px solid transparent;width:100%;text-align:left;padding:13px 14px;border-radius:9px;font-size:13px}.navbtn.active,.navbtn:hover{background:#132f3b;border:1px solid #1f4b54;color:#80f4dd}.sidelabel{color:#5c7a91;letter-spacing:.17em;font-size:10px;padding:0 14px;margin-bottom:8px}.sidebar .bottom{margin-top:auto;border-top:1px solid var(--line);padding:18px 12px 0;font-size:11px;color:#9eb0c3}.content{flex:1;min-width:0;padding:36px clamp(18px,4vw,68px);background:radial-gradient(circle at 90% 0,#102334 0,#08121e 35%,#08101b 90%)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:45px}.tag{border:1px solid #285061;color:#67dec9;padding:8px 11px;font-size:10px;letter-spacing:.16em;border-radius:7px}.userline{font-size:12px;color:#a0b3c4}.userline b{color:#f1f7ff}.pagehead{display:flex;gap:15px;justify-content:space-between;align-items:end;flex-wrap:wrap;margin-bottom:27px}.pagehead h1{font-size:clamp(30px,4vw,48px);letter-spacing:-.055em;margin:8px 0}.pagehead p{color:var(--muted);max-width:600px;line-height:1.7;font-size:13px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{background:linear-gradient(145deg,#132437,#0e1c2b);border:1px solid #253c50;border-radius:14px;padding:25px;min-height:194px}.card .icon{font-size:24px;margin-bottom:19px;color:var(--cyan)}.card h3{font-size:15px;letter-spacing:-.01em;margin:8px 0}.card p{color:#8ea7bd;font-size:12px;line-height:1.7}.card .cardlink{background:none;border:0;color:var(--cyan);font-size:12px;font-weight:750;padding:0;margin-top:12px}.statrow{display:flex;gap:13px;flex-wrap:wrap;margin:0 0 24px}.stat{background:#102132;padding:18px 23px;border:1px solid #254054;border-radius:12px;min-width:150px;flex:1}.stat strong{display:block;font-size:24px;margin-bottom:6px}.stat small{color:#8fa8bd;text-transform:uppercase;font-size:10px;letter-spacing:.12em}.panel{padding:24px;background:#102032;border:1px solid #284056;border-radius:14px;margin:18px 0}.panel h3{margin-top:0}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.toolbar input{max-width:330px}.docs{margin:20px 0}.docrow{padding:16px 4px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #253b4d}.docrow strong{font-size:13px;overflow-wrap:anywhere}.docrow small{display:block;color:#91a6b8;margin-top:6px}.pill{border:1px solid #3b6570;color:#7fe9da;font-size:10px;border-radius:30px;padding:5px 9px}.empty{border:1px dashed #355068;border-radius:12px;text-align:center;padding:48px 20px;color:#98aabd;font-size:13px;line-height:1.8}.hint{font-size:12px;color:#8b9eae;line-height:1.7}.foot{margin-top:50px;color:#4f687b;font-size:10px;letter-spacing:.12em}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row>*{flex:1}.modalback{position:fixed;inset:0;background:#000b;display:grid;place-items:center;padding:18px;z-index:10}.modal{background:#112335;border:1px solid #38566b;width:min(500px,100%);padding:25px;border-radius:14px}.modal h3{margin:0 0 20px}.modal img{max-width:230px;display:block;margin:12px auto;background:#fff;padding:10px;border-radius:10px}.mini{font-size:11px;color:#8da4b5}.mobileheader{display:none}@media(max-width:900px){.signin{grid-template-columns:1fr}.hero{min-height:310px;padding:30px 27px}.hero h1{font-size:42px}.herofoot{display:none}.loginarea{padding:50px 25px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{width:210px;flex-basis:210px}}@media(max-width:650px){.sidebar{display:none}.mobileheader{display:flex;gap:8px;overflow:auto;padding:12px;background:#091624;border-bottom:1px solid var(--line)}.mobileheader button{white-space:nowrap;border:1px solid #2c465b;background:#11283a;border-radius:7px;color:#bad1df;padding:10px}.mobileheader button.active{color:#60eed5;border-color:#60eed5}.shell{display:block}.content{padding:20px}.grid{grid-template-columns:1fr}.topbar{margin-bottom:26px}.card{min-height:150px}.docrow{align-items:start}.docrow .toolbar{justify-content:end}.signin .hero{min-height:280px}.signin .hero h1{font-size:36px}.loginarea{padding-top:30px}}
.qr{display:block;width:min(240px,100%);margin:24px auto;background:white;padding:12px;border-radius:12px}.btn{display:inline-block;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.hero{position:relative;overflow:hidden}.hero:after{content:"";position:absolute;pointer-events:none;inset:0;background-image:linear-gradient(#4de3d008 1px,transparent 1px),linear-gradient(90deg,#4de3d008 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(transparent,#0008);z-index:0}.hero>*{z-index:1}.docrow small{overflow-wrap:anywhere}.content .foot{line-height:1.8}@media(prefers-reduced-motion:no-preference){.loginbox{animation:arrive .5s ease-out}@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
