/* EvaSoft Enterprise Visual System 2.1
   Inspired by the clarity, hierarchy and blue-led interaction model of the supplied references. */
:root{
  --eva-blue:#1769ff;--eva-blue-700:#2451df;--eva-indigo:#5146e5;--eva-cyan:#24b5d8;
  --eva-ink:#17243a;--eva-copy:#536176;--eva-muted:#7e8ba0;--eva-bg:#f3f6fb;
  --eva-border:#dfe6f0;--eva-soft:#eef4ff;--eva-success:#0aa574;--eva-warning:#c78312;
  --eva-danger:#d43d59;--eva-white:#fff;--eva-shadow:0 18px 48px rgba(33,55,88,.09);
  --eva-shadow-lg:0 28px 80px rgba(24,48,82,.14);--eva-radius:18px;--eva-radius-lg:26px;
}
html{scroll-behavior:smooth}
body{font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:-.008em;background:var(--eva-bg);color:var(--eva-ink)}
*:focus-visible{outline:3px solid rgba(23,105,255,.25);outline-offset:2px}
::selection{background:#cfe0ff;color:#123c9a}

/* Corporate application shell */
.shell{grid-template-columns:272px minmax(0,1fr)}
.sidebar{width:272px;background:rgba(255,255,255,.97);color:var(--eva-copy);border-right:1px solid var(--eva-border);box-shadow:8px 0 30px rgba(27,49,80,.035);padding:24px 18px}
.brand{color:var(--eva-ink);padding:2px 10px 27px;gap:12px}
.brand-logo{width:42px;height:42px;filter:drop-shadow(0 8px 12px rgba(35,93,224,.18))}
.brand strong{font-size:20px;letter-spacing:-.7px}.brand small{color:#8390a3;font-weight:700;letter-spacing:1.25px}
.nav-label{color:#9aa6b6;font-size:9px;font-weight:850;letter-spacing:1.8px;padding:20px 14px 7px}
.sidebar nav a{position:relative;color:#58667b;padding:12px 14px;border-radius:11px;font-weight:700;font-size:13px;border:1px solid transparent}
.sidebar nav a:first-letter{color:#2672ed}
.sidebar nav a:hover{background:#f4f7fc;color:#1c3354;transform:none;border-color:#e9eef5}
.sidebar nav a.active{background:linear-gradient(90deg,#edf4ff,#f6f8ff);color:#195ed6;border-color:#dce8ff;box-shadow:0 8px 20px rgba(46,99,210,.07)}
.sidebar nav a.active:before{content:"";position:absolute;left:-19px;top:10px;bottom:10px;width:3px;border-radius:0 4px 4px 0;background:linear-gradient(#2b7cff,#4e4ee6)}
.sidebar-foot{background:#f7faff;border-color:#e3ebf7;padding:14px}.sidebar-foot strong{color:#314159}.sidebar-foot small{color:#8493a6}.shield{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#def8ee;color:#079367;font-weight:900}
.workspace{background:radial-gradient(circle at 96% 0,rgba(70,138,255,.07),transparent 25%),var(--eva-bg)}
.topbar{height:74px;background:rgba(255,255,255,.88);border-bottom:1px solid var(--eva-border);backdrop-filter:blur(16px);padding:0 34px}
.search{width:min(470px,40vw);background:#f5f8fc;border:1px solid #e5ebf3;color:#8b98aa;padding:10px 14px}
.search:focus-within{background:#fff;border-color:#91b8ff;box-shadow:0 0 0 4px rgba(23,105,255,.07)}
.icon-btn{color:#607087}.icon-btn:hover{background:#edf3fb;color:#1d5ed1}
.avatar{background:linear-gradient(145deg,var(--eva-blue),var(--eva-indigo));box-shadow:0 7px 16px rgba(36,81,223,.2)}
.user-meta strong{color:#24344c}.role-pill{background:#edf4ff;color:#2360cf;border:1px solid #dce9ff}
.main{padding:34px 38px 42px;max-width:1660px;width:100%;margin:0 auto}
.workspace>footer{background:rgba(255,255,255,.55);padding:13px 38px}
.page-head{align-items:center;margin-bottom:25px}.page-head h1{font-size:29px;letter-spacing:-1px;margin-top:6px}.page-head p{font-size:13px;color:#748196}.eyebrow{color:#3475e9;font-size:9px;letter-spacing:1.8px}
.btn{min-height:39px;border-radius:10px;font-size:12px;border-color:#dce4ef;box-shadow:none}.btn.primary,.enterprise-primary{background:linear-gradient(110deg,#397ff2,#2454dd);box-shadow:0 11px 24px rgba(37,87,221,.2)}.btn.primary:hover,.enterprise-primary:hover{box-shadow:0 14px 30px rgba(37,87,221,.28);transform:translateY(-1px)}.btn.soft{background:#fff;color:#496079}.btn.soft:hover{border-color:#aac5f3;color:#215fc8}
.metric-grid{gap:17px}.metric{min-height:142px;border:1px solid #e4eaf2;border-radius:17px;background:#fff;box-shadow:0 10px 28px rgba(34,57,88,.055);padding:22px 22px 20px;transition:transform .2s ease,box-shadow .2s ease}.metric:hover{transform:translateY(-2px);box-shadow:var(--eva-shadow)}.metric:before{content:"";display:block;width:36px;height:5px;border-radius:9px;margin-bottom:18px;background:currentColor;box-shadow:0 7px 18px currentColor;opacity:.9}.metric:after{width:120px;height:120px;right:-58px;top:-58px;opacity:.055}.metric span{font-size:9px;color:#7d899a}.metric strong{font-size:31px;margin:8px 0 3px}.metric small{font-size:10px}
.panel{border:1px solid #e3e9f1;border-radius:17px;background:#fff;box-shadow:0 10px 30px rgba(37,58,89,.055)}.panel-head{padding:19px 22px}.panel-head h2{font-size:15px}.panel-head a{color:#2869dd}
th{background:#f7f9fc;color:#718097;padding:13px 16px;font-size:9px;position:sticky;top:0;z-index:1}td{padding:15px 16px;border-color:#edf1f5}tbody tr{transition:background .15s}tbody tr:hover{background:#f8fbff}.status{letter-spacing:.25px;padding:6px 9px}.action-panel>a{padding:18px 20px}.action-panel>a:hover{background:#f7faff}
.filterbar{background:#fff;padding:13px;border:1px solid #e3e9f1;border-radius:14px;box-shadow:0 8px 24px rgba(37,58,89,.045)}.filterbar select,.search-field{background:#f8fafc;border-color:#e1e8f1}
dialog{border-radius:22px;box-shadow:0 34px 100px rgba(13,34,65,.3)}dialog form{padding:28px}.modal-head{padding-bottom:17px;border-bottom:1px solid #e8edf3}
input,select,textarea{border-color:#dbe3ed;background:#fbfcfe;min-height:43px}
input:hover,select:hover,textarea:hover{border-color:#c4d2e3}
input:focus,select:focus,textarea:focus{border-color:#5f94f6;box-shadow:0 0 0 4px rgba(23,105,255,.08);background:#fff}
.notice{border-radius:13px;background:#edf7ff;border-color:#cee9ff;color:#126f9a}.header-kpi{background:#fff;border:1px solid #e1e8f1;border-radius:14px;padding:11px 15px;box-shadow:0 8px 22px rgba(33,55,88,.045)}
.security-strip article{background:#fff;border-color:#e3e9f1;box-shadow:0 8px 24px rgba(37,58,89,.04)}
.scanner-card{background:linear-gradient(150deg,#102641,#183b68);box-shadow:0 20px 48px rgba(13,36,67,.2)}
.event-card{background:#fff;border-color:#e3e9f1;box-shadow:0 10px 30px rgba(37,58,89,.06);transition:transform .2s,box-shadow .2s}.event-card:hover{transform:translateY(-3px);box-shadow:var(--eva-shadow)}.event-banner{background:linear-gradient(135deg,#2f82f5,#3d51d9)}

/* Shared public brand */
.public-brand{display:flex;align-items:center;gap:11px;color:var(--eva-ink)}
.public-brand img{width:40px;height:40px;filter:drop-shadow(0 8px 14px rgba(33,87,218,.18))}
.public-brand strong,.public-brand small{display:block}.public-brand strong{font-size:18px;letter-spacing:-.55px}.public-brand small{font-size:8px;letter-spacing:1.25px;text-transform:uppercase;color:#8290a4;font-weight:750;margin-top:2px}
.portal-kicker{display:inline-flex;color:#2b6de3;font-size:9px;font-weight:900;letter-spacing:2px}

/* Public portal */
.portal-page{min-height:100vh;background:radial-gradient(circle at 12% 0,rgba(74,139,255,.1),transparent 28%),linear-gradient(180deg,#f5f7fb,#edf2fa);display:flex;flex-direction:column;color:var(--eva-ink)}
.portal-header{height:82px;display:flex;align-items:center;justify-content:space-between;width:min(1180px,calc(100% - 48px));margin:0 auto}
.portal-login-link{background:rgba(255,255,255,.8)!important;border-color:#dfe6f0!important;color:#41536d!important;box-shadow:0 7px 20px rgba(39,59,88,.05)!important}
.portal-login-link:hover{border-color:#9fc0fb!important;color:#1f62d2!important}
.portal-content{flex:1;width:min(1060px,calc(100% - 40px));margin:0 auto;padding:30px 0 28px}
.portal-hero{background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.98);border-radius:28px;text-align:center;padding:48px 70px 43px;box-shadow:0 24px 65px rgba(34,59,96,.085);position:relative;overflow:hidden}
.portal-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(56,132,255,.035),transparent 36%,rgba(81,70,229,.025));pointer-events:none}
.portal-symbol{width:78px;height:78px;margin:0 auto 10px}.portal-symbol img{width:100%;height:100%}
.portal-hero h1{font-size:42px;line-height:1.1;letter-spacing:-1.8px;margin:12px 0 14px;position:relative}.portal-hero h1 em,.registration-intro h1 em{font-style:normal;color:#2c68e3}
.portal-hero>p{max-width:690px;margin:0 auto;color:#5d6879;font-size:15px;line-height:1.65;position:relative}
.portal-cta{position:relative;display:grid;grid-template-columns:42px 1fr 24px;align-items:center;gap:12px;text-align:left;width:min(430px,100%);margin:28px auto 22px;padding:14px 17px;border-radius:14px;background:linear-gradient(105deg,#5048e8,#3b55df);color:#fff;box-shadow:0 15px 28px rgba(70,69,222,.24)}
.portal-cta:hover{transform:translateY(-2px);box-shadow:0 19px 34px rgba(70,69,222,.3)}.portal-cta .cta-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.16);font-size:22px}.portal-cta strong,.portal-cta small{display:block}.portal-cta strong{font-size:14px}.portal-cta small{font-size:9px;color:#d9dcff;margin-top:3px}.portal-cta b{font-size:19px}
.portal-assurance{display:inline-flex;align-items:center;gap:8px;color:#6c7583;font-size:9px;font-weight:850;letter-spacing:1px}.portal-assurance span{width:7px;height:7px;border-radius:50%;background:#10b781;box-shadow:0 0 0 5px rgba(16,183,129,.1)}
.process-section{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:44px;padding:48px 35px 20px;text-align:center}.process-line{position:absolute;top:67px;left:19%;right:19%;height:1px;background:linear-gradient(90deg,transparent,#ccd9ee 15%,#ccd9ee 85%,transparent)}
.process-section article{position:relative}.process-icon{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 13px;border-radius:13px;background:#fff;border:1px solid #dce7f8;color:#2570ed;font-size:11px;font-weight:900;box-shadow:0 9px 22px rgba(42,89,164,.09)}
.process-section h2{font-size:14px;margin:0 0 7px}.process-section p{font-size:11px;line-height:1.55;color:#67758a;margin:0 auto;max-width:240px}.portal-footer,.auth-footer{width:min(1180px,calc(100% - 48px));margin:0 auto;display:flex;justify-content:space-between;color:#8995a7;font-size:9px;padding:18px 0 24px}

/* Login */
.auth-page{min-height:100vh;background:#f3f6fa;display:flex;flex-direction:column;position:relative;overflow:hidden;color:var(--eva-ink)}
.auth-backdrop{position:absolute;inset:0;pointer-events:none}.auth-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(47,91,157,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(47,91,157,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 70%)}.auth-glow{position:absolute;border-radius:50%;filter:blur(2px)}.auth-glow-one{width:440px;height:440px;top:-260px;right:-120px;background:rgba(41,112,240,.09)}.auth-glow-two{width:380px;height:380px;left:-210px;bottom:-200px;background:rgba(75,65,224,.075)}
.auth-header{position:relative;height:80px;width:min(1180px,calc(100% - 48px));margin:0 auto;display:flex;align-items:center;justify-content:space-between}.auth-header>a:last-child{font-size:11px;color:#627189;font-weight:700}.auth-header>a:last-child:hover{color:#1769ff}
.auth-main{position:relative;flex:1;display:grid;place-items:center;padding:24px 20px 40px}.auth-card{width:min(458px,100%);background:rgba(255,255,255,.97);border:1px solid #fff;border-radius:26px;padding:34px 38px 28px;box-shadow:0 25px 65px rgba(30,54,88,.1)}.auth-card-head{text-align:center}.auth-mark{width:56px;height:56px;filter:drop-shadow(0 10px 14px rgba(37,86,221,.18));margin-bottom:12px}.auth-card-head h1{font-size:28px;letter-spacing:-1px;margin:9px 0 7px}.auth-card-head p{color:#6f7d91;font-size:12px;margin:0 0 23px}
.enterprise-form{display:grid;gap:15px}.enterprise-form>label>span,.registration-form label>span{display:block;font-size:9px;font-weight:900;letter-spacing:.65px;color:#2d3b50;margin:0 0 7px}.input-shell{display:flex;align-items:center;min-height:49px;border:1px solid #dbe3ee;border-radius:10px;background:#fbfcfe;overflow:hidden;transition:border .18s,box-shadow .18s,background .18s}.input-shell:focus-within{border-color:#4f8df8;background:#fff;box-shadow:0 0 0 4px rgba(23,105,255,.08)}.input-shell>i{font-style:normal;display:grid;place-items:center;width:42px;align-self:stretch;border-right:1px solid #e2e8f0;color:#66778e;font-size:13px}.input-shell input,.input-shell select{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0;min-width:0}.password-toggle{border:0;background:transparent;color:#8290a5;width:42px;cursor:pointer}.form-utility{display:flex;justify-content:space-between;align-items:center;color:#758196;font-size:10px}.check-line{display:flex!important;align-items:center;gap:7px}.check-line input,.consent-line input{width:15px;height:15px;min-height:0;accent-color:#2568e8}.enterprise-primary{border:0;border-radius:11px;min-height:48px;padding:0 18px;color:#fff;font-size:13px;font-weight:850;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px}.enterprise-primary span:last-child{margin-left:auto}.auth-divider{display:flex;align-items:center;gap:10px;color:#7d899a;font-size:9px;margin:20px 0 12px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#e5eaf1;flex:1}.enterprise-secondary{min-height:43px;border:1px solid #4380ed;border-radius:10px;color:#2163d5;display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:800}.enterprise-secondary:hover{background:#f2f7ff}.auth-trust{display:flex;justify-content:center;gap:13px;color:#8490a2;font-size:8px;margin-top:21px}.auth-footer{position:relative;justify-content:center}

/* Registration */
.registration-page{min-height:100vh;background:radial-gradient(circle at 7% 28%,rgba(68,133,245,.09),transparent 25%),linear-gradient(180deg,#f6f8fc,#edf2f9);display:flex;flex-direction:column;color:var(--eva-ink)}
.registration-main{width:min(1180px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:.82fr 1.38fr;gap:64px;align-items:start;padding:38px 0 50px;flex:1}
.registration-intro{padding:70px 0 0}.registration-intro h1{font-size:42px;line-height:1.08;letter-spacing:-1.8px;margin:12px 0 16px}.registration-intro>p{color:#637187;line-height:1.65;font-size:13px;max-width:440px}
.registration-benefits{display:grid;gap:12px;margin-top:30px}.registration-benefits article{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.65);border:1px solid rgba(222,230,240,.9);border-radius:13px;padding:12px 14px}.registration-benefits article>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#e3f7ef;color:#079369;font-weight:900}.registration-benefits strong,.registration-benefits small{display:block}.registration-benefits strong{font-size:11px}.registration-benefits small{font-size:9px;color:#7b8899;margin-top:3px}
.registration-card{background:rgba(255,255,255,.97);border:1px solid #fff;border-radius:25px;padding:29px 34px 32px;box-shadow:0 24px 65px rgba(30,54,88,.095)}
.registration-progress{display:flex;align-items:flex-start;justify-content:center;margin:0 0 26px}.registration-progress article{text-align:center;min-width:64px}.registration-progress article>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;margin:0 auto 5px;background:#eef2f7;color:#8793a4;font-size:10px;font-weight:900}.registration-progress article.active>span{background:#286be8;color:#fff;box-shadow:0 7px 15px rgba(40,107,232,.22)}.registration-progress small{font-size:8px;color:#8894a4}.registration-progress .active small{color:#2865d2;font-weight:800}.registration-progress>i{width:80px;height:1px;background:#dfe6ef;margin-top:14px}
.registration-card-head{padding-bottom:18px;border-bottom:1px solid #e8edf3;margin-bottom:20px}.form-step{font-size:8px;color:#3573df;font-weight:900;letter-spacing:1.3px}.registration-card-head h2{font-size:20px;margin:6px 0 5px}.registration-card-head p{margin:0;color:#748197;font-size:11px}.registration-form{gap:18px}.registration-form .form-grid{gap:14px}.registration-form .input-shell{min-height:45px}.registration-form .input-shell>i{width:38px;font-size:11px}.upload-shell{position:relative;display:flex;align-items:center;gap:12px;min-height:64px;border:1px dashed #b9cbe4;border-radius:11px;background:#f8fbff;padding:10px 13px;overflow:hidden}.upload-shell>b{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#e6efff;color:#2868dc;font-size:18px}.upload-shell strong,.upload-shell small{display:block}.upload-shell strong{font-size:10px}.upload-shell small{font-size:8px;color:#7b899d;margin-top:3px}.upload-shell input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.consent-line{display:flex!important;align-items:flex-start;gap:9px;font-size:9px!important;line-height:1.5;color:#68758a}.registration-form .enterprise-primary{width:100%}

/* Motion and theme */
.portal-hero,.auth-card,.registration-card{animation:eva-rise .45s ease both}@keyframes eva-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
[data-theme=dark] .sidebar{background:#101c2b;border-color:#243448;color:#aebdce}[data-theme=dark] .brand{color:#eef5fc}[data-theme=dark] .sidebar nav a{color:#a7b6c8}[data-theme=dark] .sidebar nav a:hover{background:#17273a;border-color:#26394f;color:#fff}[data-theme=dark] .sidebar nav a.active{background:linear-gradient(90deg,#18304d,#16283e);border-color:#28496e;color:#75b5ff}[data-theme=dark] .sidebar-foot{background:#14263a;border-color:#294057}[data-theme=dark] .sidebar-foot strong{color:#dbe7f3}[data-theme=dark] .workspace{background:#091522}[data-theme=dark] .topbar{background:rgba(14,28,44,.9);border-color:#24384e}[data-theme=dark] .panel,[data-theme=dark] .metric,[data-theme=dark] .filterbar,[data-theme=dark] .header-kpi,[data-theme=dark] .security-strip article,[data-theme=dark] .event-card{background:#102236;border-color:#243a51}[data-theme=dark] th{background:#13283e}[data-theme=dark] tbody tr:hover{background:#142a41}[data-theme=dark] .role-pill{background:#193757;border-color:#28517a;color:#80bdff}

@media(max-width:980px){.registration-main{grid-template-columns:1fr;gap:25px}.registration-intro{padding-top:25px;text-align:center}.registration-intro>p{margin-left:auto;margin-right:auto}.registration-benefits{grid-template-columns:repeat(3,1fr)}.registration-benefits article{text-align:left}.portal-hero{padding:42px 40px}.portal-hero h1{font-size:37px}}
@media(max-width:800px){.shell{display:block}.sidebar{width:272px;box-shadow:18px 0 60px rgba(8,26,49,.18)}.main{padding:24px 16px}.topbar{padding:0 15px}.portal-header,.auth-header,.registration-main{width:min(100% - 30px,1180px)}.portal-content{width:min(100% - 24px,1060px);padding-top:15px}.portal-hero{padding:36px 22px 33px;border-radius:22px}.portal-hero h1{font-size:31px}.process-section{gap:15px;padding-left:5px;padding-right:5px}.process-line{display:none}.registration-benefits{grid-template-columns:1fr}.registration-card{padding:25px 20px}.auth-header>a:last-child{font-size:0}.auth-header>a:last-child:first-letter{font-size:18px}.card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.portal-header{height:72px}.public-brand small{display:none}.portal-login-link{padding:9px 11px;font-size:10px}.portal-symbol{width:64px;height:64px}.portal-hero h1{font-size:27px}.portal-hero>p{font-size:12px}.portal-cta{grid-template-columns:38px 1fr 18px}.process-section{grid-template-columns:1fr;padding-top:30px}.process-section article{display:grid;grid-template-columns:46px 1fr;text-align:left;column-gap:10px}.process-icon{grid-row:1/3;margin:0}.process-section h2{align-self:end}.process-section p{margin:0}.portal-footer{width:calc(100% - 30px);display:grid;gap:5px;text-align:center}.auth-card{padding:30px 22px}.auth-trust{gap:7px}.registration-main{padding-top:15px}.registration-intro{padding-top:10px}.registration-intro h1{font-size:31px}.registration-progress>i{width:44px}.registration-form .form-grid{grid-template-columns:1fr}.registration-form .span-2{grid-column:auto}.metric-grid{grid-template-columns:1fr}.card-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

