:root{
  --p-bg:#090a0d;--p-panel:rgba(20,21,25,.76);--p-panel-strong:#121318;--p-card:#17181d;
  --p-text:#f5f2ee;--p-muted:#a8a5a1;--p-line:rgba(255,255,255,.11);--p-red:#a52228;--p-red2:#d43a42;
  --p-gold:#d6b783;--p-green:#6fd5aa;--p-radius:24px;--p-shadow:0 28px 90px rgba(0,0,0,.36);
}
.portal-body{min-height:100vh;background:radial-gradient(circle at 12% 18%,#241317 0,transparent 26%),radial-gradient(circle at 82% 24%,#111e2a 0,transparent 28%),linear-gradient(180deg,#08090b,#101115 58%,#090a0d);color:var(--p-text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;overflow-x:hidden}
.portal-body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(circle at 50% 20%,black,transparent 75%)}
#portal-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.42}
.portal-aurora{position:fixed;width:42vw;height:42vw;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:0;opacity:.14;animation:auroraFloat 14s ease-in-out infinite alternate}.portal-aurora-a{background:#b4242d;top:-18vw;right:-10vw}.portal-aurora-b{background:#1c74a8;bottom:-24vw;left:-14vw;animation-delay:-6s}@keyframes auroraFloat{to{transform:translate3d(6vw,4vw,0) scale(1.12)}}
.portal-spotlight{position:fixed;width:520px;height:520px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(255,255,255,.055),transparent 66%);transform:translate(-50%,-50%);left:var(--px,50vw);top:var(--py,30vh);transition:left .08s linear,top .08s linear}
.portal-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:26px;min-height:86px;padding:13px max(22px,calc((100vw - 1280px)/2));background:rgba(7,8,10,.68);backdrop-filter:blur(22px) saturate(145%);border-bottom:1px solid rgba(255,255,255,.09)}
.portal-brand{display:block;flex:0 0 auto}.portal-brand img{height:56px;width:auto;display:block}.portal-nav{margin-left:auto;display:flex;align-items:center;gap:4px}.portal-nav a{padding:10px 11px;border-radius:12px;color:#d6d3cf;font-size:13px;font-weight:700;transition:.2s}.portal-nav a:hover,.portal-nav a.active{color:#fff;background:rgba(255,255,255,.075)}.portal-nav a.active{box-shadow:inset 0 -2px var(--p-red2)}
.portal-user-actions{display:flex;align-items:center;gap:10px}.portal-chip,.portal-logout{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;border:1px solid var(--p-line);font-size:12px;font-weight:800;background:rgba(255,255,255,.055);color:#fff;transition:.2s}.portal-chip:hover,.portal-logout:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.09)}.portal-user-name{font-size:12px;color:#c9c4be;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-menu-toggle{display:none;border:1px solid var(--p-line);background:rgba(255,255,255,.06);color:#fff;width:42px;height:42px;border-radius:12px}
.portal-shell{position:relative;z-index:2;width:min(1280px,calc(100% - 40px));margin:0 auto;padding:72px 0 100px}.portal-shell.compact{width:min(1080px,calc(100% - 40px))}
.portal-page-heading{max-width:880px;margin-bottom:38px}.portal-kicker{display:inline-flex;align-items:center;gap:10px;color:#d8b0b2;font-size:11px;letter-spacing:.19em;text-transform:uppercase;font-weight:900}.portal-kicker::before{content:"";width:36px;height:1px;background:var(--p-red2)}.portal-page-heading h1{font-size:clamp(44px,6vw,82px);line-height:.96;letter-spacing:-.055em;margin:16px 0 18px}.portal-page-heading p{max-width:720px;font-size:17px;line-height:1.7;color:var(--p-muted);margin:0}
.portal-hero{min-height:calc(100vh - 86px);display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}.portal-hero-copy{position:relative}.portal-hero-copy h1{font-size:clamp(56px,7.6vw,108px);line-height:.9;letter-spacing:-.065em;margin:20px 0 26px;max-width:850px}.portal-hero-copy h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.58)}.portal-hero-copy p{max-width:660px;color:#c8c4bf;font-size:18px;line-height:1.7}.portal-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.portal-button{appearance:none;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border-radius:999px;font-weight:850;font-size:13px;transition:.25s cubic-bezier(.2,.8,.2,1);text-decoration:none}.portal-button:hover{transform:translateY(-2px)}.portal-button.primary{color:#fff;background:linear-gradient(135deg,var(--p-red),#c92d35);box-shadow:0 16px 45px rgba(165,34,40,.3)}.portal-button.secondary{color:#fff;border:1px solid var(--p-line);background:rgba(255,255,255,.055)}.portal-button.danger{color:#fff;background:#7f1d24}.portal-button.small{padding:10px 14px;font-size:12px}.portal-button:disabled{opacity:.5;cursor:not-allowed;transform:none}
.portal-auth-card,.portal-panel{position:relative;background:linear-gradient(145deg,rgba(26,27,32,.82),rgba(15,16,19,.82));border:1px solid rgba(255,255,255,.115);border-radius:30px;box-shadow:var(--p-shadow);backdrop-filter:blur(22px);overflow:hidden}.portal-auth-card{padding:34px}.portal-auth-card::before,.portal-panel::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 0 36%,rgba(255,255,255,.045) 48%,transparent 61%);transform:translateX(-130%);animation:glassSweep 8s ease-in-out infinite}@keyframes glassSweep{40%,100%{transform:translateX(130%)}}
.portal-auth-card h2,.portal-panel h2{font-size:28px;letter-spacing:-.035em;margin:0 0 8px}.portal-auth-card>p,.portal-panel>p{color:var(--p-muted);line-height:1.6}.portal-form{position:relative;z-index:1}.portal-field{display:grid;gap:7px;margin-top:16px}.portal-field label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:850;color:#bdb8b1}.portal-input,.portal-select,.portal-textarea{width:100%;border:1px solid rgba(255,255,255,.12);background:rgba(4,5,7,.52);color:#fff;border-radius:14px;padding:14px 15px;outline:none;transition:.2s}.portal-input:focus,.portal-select:focus,.portal-textarea:focus{border-color:rgba(212,58,66,.8);box-shadow:0 0 0 4px rgba(212,58,66,.11)}.portal-textarea{min-height:130px;resize:vertical}.portal-select option{background:#17181c}.portal-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.portal-check{display:flex;gap:10px;align-items:flex-start;color:#bdb8b1;font-size:13px;line-height:1.45;margin-top:16px}.portal-check input{margin-top:3px;accent-color:var(--p-red2)}.portal-form-note{font-size:12px;color:#8f8c87;line-height:1.55;margin-top:16px}.portal-link{color:#f1b8bc;text-decoration:underline;text-decoration-color:rgba(241,184,188,.3);text-underline-offset:3px}
.portal-visual{position:relative;min-height:570px;display:grid;place-items:center}.portal-orbit{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%;animation:orbitSpin 20s linear infinite}.portal-orbit:nth-child(1){width:430px;height:430px}.portal-orbit:nth-child(2){width:320px;height:320px;animation-direction:reverse;animation-duration:13s}.portal-orbit:nth-child(3){width:210px;height:210px;animation-duration:9s}.portal-orbit::after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--p-red2);top:50%;left:-5px;box-shadow:0 0 24px var(--p-red2)}@keyframes orbitSpin{to{transform:rotate(360deg)}}.portal-orbit-core{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#cb343c,#691319 72%);box-shadow:0 0 80px rgba(165,34,40,.38);z-index:2}.portal-orbit-core img{width:94px;height:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.22))}
.portal-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.portal-panel{padding:26px;grid-column:span 12}.portal-panel.half{grid-column:span 6}.portal-panel.third{grid-column:span 4}.portal-panel.two-thirds{grid-column:span 8}.portal-panel.no-pad{padding:0}.portal-panel-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.portal-panel-header h2{margin:0}.portal-panel-header p{margin:5px 0 0;color:var(--p-muted);font-size:13px}
.portal-stat{min-height:175px;display:flex;flex-direction:column;justify-content:space-between}.portal-stat small{color:#aaa59f;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:850}.portal-stat strong{font-size:54px;letter-spacing:-.06em}.portal-stat i{height:2px;width:54px;background:linear-gradient(90deg,var(--p-red2),transparent)}
.portal-doc-list{display:grid;gap:14px}.portal-doc{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:20px;border:1px solid rgba(255,255,255,.09);border-radius:20px;background:rgba(255,255,255,.035);transition:.25s}.portal-doc:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.055)}.portal-doc-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#2b171a,#15161a);color:#f3bec1;font-size:12px;font-weight:900;border:1px solid rgba(212,58,66,.2)}.portal-doc h3{margin:0 0 7px;font-size:18px}.portal-doc p{margin:0;color:var(--p-muted);font-size:13px;line-height:1.55;max-width:760px}.portal-doc-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.portal-badge{display:inline-flex;align-items:center;border:1px solid var(--p-line);border-radius:999px;padding:6px 9px;font-size:10px;letter-spacing:.05em;color:#bcb7b1}.portal-badge.green{border-color:rgba(111,213,170,.32);color:#a7e7cb}.portal-badge.red{border-color:rgba(212,58,66,.34);color:#f3aeb3}.portal-badge.gold{border-color:rgba(214,183,131,.34);color:#e6ca9c}
.portal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}.portal-search{display:flex;gap:10px;flex:1;min-width:min(100%,360px)}.portal-search .portal-input{max-width:420px}.portal-table-wrap{overflow:auto;border:1px solid var(--p-line);border-radius:18px}.portal-table{width:100%;border-collapse:collapse;min-width:760px}.portal-table th,.portal-table td{padding:15px 16px;text-align:left;border-bottom:1px solid rgba(255,255,255,.075);vertical-align:middle}.portal-table th{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#9f9b96;background:rgba(255,255,255,.035)}.portal-table td{font-size:13px;color:#ddd9d4}.portal-table tr:last-child td{border-bottom:0}.portal-actions{display:flex;gap:7px;flex-wrap:wrap}
.portal-alert{padding:14px 16px;border-radius:14px;margin:0 0 20px;border:1px solid var(--p-line);font-size:13px;line-height:1.5}.portal-alert p{margin:0}.portal-alert p+p{margin-top:6px}.portal-alert.error{border-color:rgba(212,58,66,.42);background:rgba(165,34,40,.12);color:#ffd4d6}.portal-alert.success{border-color:rgba(111,213,170,.35);background:rgba(29,120,83,.14);color:#c8f4df}.portal-alert.info{background:rgba(255,255,255,.055);color:#ddd8d2}
.portal-flash{position:fixed;top:104px;left:50%;transform:translateX(-50%);z-index:200;width:min(620px,calc(100% - 32px));padding:14px 18px;border:1px solid var(--p-line);border-radius:16px;background:rgba(18,19,23,.94);box-shadow:var(--p-shadow);backdrop-filter:blur(18px);animation:flashIn .35s ease both;color:#fff}.portal-flash.success{border-color:rgba(111,213,170,.38)}.portal-flash.error{border-color:rgba(212,58,66,.45)}@keyframes flashIn{from{opacity:0;transform:translate(-50%,-15px)}}
.portal-empty{padding:44px 24px;text-align:center;border:1px dashed rgba(255,255,255,.15);border-radius:22px;color:#aaa59f}.portal-empty strong{display:block;color:#eee;font-size:20px;margin-bottom:7px}.portal-empty-icon{font-size:38px;margin-bottom:13px;opacity:.7}
.portal-admin-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px}.portal-admin-top .portal-page-heading{margin:0}.portal-admin-links{display:flex;gap:8px;flex-wrap:wrap}.portal-admin-links a{padding:10px 13px;border:1px solid var(--p-line);border-radius:999px;font-size:12px;font-weight:800;background:rgba(255,255,255,.04)}
.portal-footer{position:relative;z-index:2;min-height:110px;border-top:1px solid var(--p-line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px max(22px,calc((100vw - 1280px)/2));color:#8f8c87;background:#08090b}.portal-footer>div{display:flex;align-items:center;gap:16px}.portal-footer img{height:42px;width:auto}.portal-footer span,.portal-footer small{font-size:11px;letter-spacing:.06em}
.reveal-portal{opacity:0;transform:translateY(18px);transition:.7s cubic-bezier(.2,.8,.2,1)}.reveal-portal.visible{opacity:1;transform:none}.tilt-portal{transform-style:preserve-3d;transition:transform .18s ease}.magnetic{will-change:transform}
.portal-status-screen{min-height:calc(100vh - 200px);display:grid;place-items:center;padding:80px 20px}.portal-status-card{width:min(660px,100%);padding:42px;text-align:center;background:rgba(20,21,25,.78);border:1px solid var(--p-line);border-radius:30px;box-shadow:var(--p-shadow);backdrop-filter:blur(22px)}.portal-status-icon{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;background:rgba(165,34,40,.18);border:1px solid rgba(212,58,66,.3);font-size:32px}.portal-status-card h1{font-size:38px;letter-spacing:-.04em;margin:0 0 14px}.portal-status-card p{color:var(--p-muted);line-height:1.65}
@media(max-width:1050px){.portal-nav{display:none;position:absolute;top:86px;left:16px;right:16px;padding:12px;background:#111216;border:1px solid var(--p-line);border-radius:18px;flex-direction:column;align-items:stretch}.portal-nav.open{display:flex}.portal-menu-toggle{display:block}.portal-hero{grid-template-columns:1fr;gap:18px}.portal-visual{min-height:380px}.portal-panel.third{grid-column:span 6}.portal-panel.two-thirds{grid-column:span 12}}
@media(max-width:720px){.portal-header{min-height:74px;padding:10px 14px}.portal-brand img{height:48px}.portal-user-name{display:none}.portal-nav{top:74px}.portal-shell,.portal-shell.compact{width:min(100% - 26px,1280px);padding:48px 0 72px}.portal-hero{min-height:auto;padding:26px 0 60px}.portal-hero-copy h1{font-size:56px}.portal-visual{min-height:300px}.portal-orbit:nth-child(1){width:280px;height:280px}.portal-orbit:nth-child(2){width:210px;height:210px}.portal-orbit:nth-child(3){width:145px;height:145px}.portal-orbit-core{width:96px;height:96px}.portal-orbit-core img{width:70px}.portal-form-row{grid-template-columns:1fr}.portal-panel.half,.portal-panel.third,.portal-panel.two-thirds{grid-column:span 12}.portal-doc{grid-template-columns:auto 1fr}.portal-doc>.portal-button{grid-column:1/-1}.portal-admin-top{align-items:flex-start;flex-direction:column}.portal-footer{flex-direction:column;align-items:flex-start}.portal-page-heading h1{font-size:48px}}
@media(prefers-reduced-motion:reduce){.portal-aurora,.portal-orbit,.portal-auth-card::before,.portal-panel::before{animation:none}.reveal-portal{opacity:1;transform:none;transition:none}}
