/* Isolated styles: loaded only for the hidden private admin surface. */
.vulnex-admin[hidden], .admin-login-view[hidden], .admin-dashboard-view[hidden] { display:none !important; }
body.admin-mode { overflow:hidden; }
body.admin-mode > *:not(#vulnexAdminRoot) { display:none !important; }
.vulnex-admin { position:fixed; inset:0; z-index:99999; overflow:auto; background:#06101d; color:#edf5ff; font-family:Manrope,Arial,sans-serif; isolation:isolate; }
.vulnex-admin::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.28; background:radial-gradient(circle at 12% 18%,rgba(28,155,222,.18),transparent 32%),radial-gradient(circle at 85% 70%,rgba(30,102,190,.15),transparent 34%),linear-gradient(rgba(70,170,220,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(70,170,220,.035) 1px,transparent 1px); background-size:auto,auto,42px 42px,42px 42px; }
.admin-shell { min-height:100%; position:relative; display:flex; flex-direction:column; }
.admin-topbar { height:82px; padding:0 max(4vw,24px); border-bottom:1px solid rgba(141,197,235,.14); display:flex; justify-content:space-between; align-items:center; background:rgba(5,15,27,.82); backdrop-filter:blur(18px); position:sticky; top:0; z-index:2; }
.admin-brand { display:flex; align-items:center; gap:12px; font-size:14px; font-weight:800; letter-spacing:.12em; color:#edf7ff; }
.admin-brand-mark { width:34px; height:34px; display:grid; place-items:center; border:1px solid #38bdf8; color:#55c8ff; font-size:19px; clip-path:polygon(50% 0,100% 100%,0 100%); padding-top:5px; }
.admin-brand small { display:block; color:#80a7c2; font:8px 'DM Mono',monospace; letter-spacing:.2em; margin-top:3px; }
.admin-top-actions { display:flex; gap:22px; align-items:center; }
.admin-secure-indicator,.admin-eyebrow { color:#7bb3d4; font:9px 'DM Mono',monospace; letter-spacing:.14em; }
.admin-secure-indicator i { display:inline-block; width:6px; height:6px; border-radius:50%; background:#51d6a2; box-shadow:0 0 12px #51d6a2; margin-right:8px; }
.admin-quiet-button,.admin-bottom-note button { background:none; border:0; color:#9bc5df; font:10px 'DM Mono',monospace; cursor:pointer; }
.admin-main { width:min(1120px,calc(100% - 48px)); margin:0 auto; padding:65px 0 80px; flex:1; }
.admin-login-view { min-height:calc(100vh - 220px); display:grid; place-items:center; }
.admin-login-card { width:min(440px,100%); padding:46px; background:linear-gradient(145deg,rgba(14,35,55,.96),rgba(8,22,37,.98)); border:1px solid rgba(91,182,233,.24); box-shadow:0 35px 100px rgba(0,0,0,.35),0 0 60px rgba(31,143,205,.09); position:relative; overflow:hidden; }
.admin-login-card::after { content:""; position:absolute; width:220px; height:220px; border:1px solid rgba(75,189,243,.12); border-radius:50%; right:-135px; top:-135px; box-shadow:0 0 0 25px rgba(75,189,243,.025),0 0 0 55px rgba(75,189,243,.02); }
.admin-lock-icon { width:56px; height:56px; display:grid; place-items:center; margin:30px 0 17px; border:1px solid rgba(76,195,247,.36); background:rgba(35,156,216,.08); color:#55caff; font-size:33px; }
.admin-login-card h1,.admin-page-heading h1 { font-size:clamp(34px,5vw,52px); line-height:1.05; letter-spacing:-.055em; margin:0; color:#f3f8ff; }
.admin-login-card>p,.admin-page-heading p { color:#8da9bf; font-size:13px; line-height:1.8; margin:14px 0 28px; }
.admin-login-card form label { display:block; color:#c2d8e8; font-size:11px; font-weight:700; margin:0 0 9px; }
.admin-password-wrap { display:flex; border:1px solid rgba(131,183,220,.23); background:#071523; }
.admin-password-wrap:focus-within { border-color:#42bdf5; box-shadow:0 0 0 3px rgba(55,175,235,.1); }
.admin-password-wrap input { width:100%; min-width:0; background:transparent; border:0; outline:0; padding:15px 14px; color:#f2f8ff; font:13px Manrope,Arial,sans-serif; }
.admin-password-wrap button { border:0; background:transparent; color:#70b8dc; padding:0 13px; font:9px 'DM Mono',monospace; cursor:pointer; }
.admin-primary-button { min-height:48px; border:1px solid #39b9f2; background:linear-gradient(110deg,#128bc5,#1766a7); color:white; padding:0 17px; display:flex; align-items:center; justify-content:space-between; gap:28px; cursor:pointer; font:700 11px Manrope,Arial,sans-serif; box-shadow:0 10px 30px rgba(17,137,196,.15); transition:transform .2s,box-shadow .2s,filter .2s; }
.admin-primary-button:hover { transform:translateY(-2px); box-shadow:0 14px 35px rgba(17,137,196,.25); filter:brightness(1.1); }
.admin-primary-button:disabled { opacity:.55; cursor:wait; transform:none; }
.admin-primary-button b { font-size:17px; font-weight:400; }
.admin-login-card .admin-primary-button { width:100%; margin-top:17px; }
.admin-feedback { min-height:20px; margin:12px 0 0; color:#f8a0a0; font-size:11px; }
.admin-feedback[data-state="success"] { color:#72dfba; }
.admin-login-foot { display:flex; justify-content:space-between; border-top:1px solid rgba(141,197,235,.13); margin-top:27px; padding-top:15px; color:#668aa4; font:8px 'DM Mono',monospace; letter-spacing:.14em; }
.admin-page-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:34px; }
.admin-page-heading h1 span { color:#3dbdf4; }
.admin-page-heading p { margin-bottom:0; }
.admin-refresh-button { flex:0 0 auto; }
.admin-stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:28px 0 56px; }
.admin-stat-card { border:1px solid rgba(112,176,216,.17); background:linear-gradient(145deg,rgba(15,39,60,.85),rgba(8,24,40,.78)); padding:22px 24px; min-height:142px; }
.admin-stat-card>span { display:block; color:#82a9c5; font:9px 'DM Mono',monospace; letter-spacing:.14em; }
.admin-stat-card strong { display:block; color:#f3f9ff; font-size:36px; letter-spacing:-.05em; line-height:1.2; margin:12px 0 5px; }
.admin-stat-card .admin-latest-value { font-size:18px; padding-top:8px; }
.admin-stat-card small { color:#7692a8; font-size:10px; }
.admin-list-heading { display:flex; justify-content:space-between; gap:25px; align-items:end; border-bottom:1px solid rgba(128,183,220,.19); padding-bottom:17px; margin-bottom:16px; }
.admin-list-heading h2 { margin:0; font-size:22px; letter-spacing:-.04em; }
.admin-list-heading p { margin:5px 0 0; color:#7895ad; font-size:11px; }
.admin-filters { display:flex; gap:5px; padding:4px; border:1px solid rgba(112,176,216,.16); background:rgba(5,17,29,.55); }
.admin-filters button { border:0; color:#8fa9be; background:transparent; padding:8px 12px; font:9px 'DM Mono',monospace; cursor:pointer; }
.admin-filters button.active { background:#123d5b; color:#c9edff; }
.admin-message-list { display:grid; gap:12px; }
.admin-message-card { border:1px solid rgba(112,176,216,.16); background:rgba(10,27,43,.9); padding:21px 23px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; animation:admin-rise .4s both; }
.admin-message-card.is-unread { border-left:3px solid #33baf1; }
.admin-message-meta { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:8px; }
.admin-message-name { font-weight:800; font-size:15px; color:#eef7ff; }
.admin-message-state { font:8px 'DM Mono',monospace; color:#65c9f5; background:rgba(37,163,220,.1); border:1px solid rgba(37,163,220,.2); padding:4px 6px; }
.admin-message-card.is-read .admin-message-state { color:#91a7b9; background:rgba(145,167,185,.08); border-color:rgba(145,167,185,.15); }
.admin-message-email { color:#70c8f2; font-size:11px; text-decoration:none; }
.admin-message-date { color:#718da4; font:9px 'DM Mono',monospace; }
.admin-message-body { white-space:pre-wrap; overflow-wrap:anywhere; color:#c5d5e2; font-size:12px; line-height:1.85; margin:12px 0 0; }
.admin-message-actions { display:flex; flex-direction:column; gap:7px; align-items:stretch; min-width:105px; }
.admin-message-actions button { background:transparent; color:#a6c1d3; border:1px solid rgba(130,181,214,.2); padding:8px 10px; font:9px 'DM Mono',monospace; cursor:pointer; }
.admin-message-actions button:hover { border-color:#48bff1; color:#dff6ff; }
.admin-message-actions button.danger:hover { border-color:#df7979; color:#ffaaaa; }
.admin-empty-state { padding:50px 20px; text-align:center; color:#7d9ab0; border:1px dashed rgba(112,176,216,.22); font-size:12px; }
.admin-bottom-note { display:flex; justify-content:space-between; align-items:center; border-top:1px solid rgba(128,183,220,.14); padding-top:20px; margin-top:26px; color:#718ca2; font-size:10px; }
.admin-footer { display:flex; justify-content:space-between; padding:20px max(4vw,24px); border-top:1px solid rgba(141,197,235,.14); color:#63839a; font:8px 'DM Mono',monospace; letter-spacing:.12em; }
@keyframes admin-rise { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:700px) { .admin-topbar { height:70px; padding:0 18px; } .admin-secure-indicator { display:none; } .admin-quiet-button { font-size:8px; } .admin-main { width:calc(100% - 34px); padding:40px 0 55px; } .admin-login-card { padding:30px 22px; } .admin-page-heading { align-items:start; flex-direction:column; } .admin-refresh-button { width:100%; } .admin-stat-grid { grid-template-columns:1fr 1fr; gap:8px; margin-bottom:35px; } .admin-stat-card { min-height:115px; padding:16px; } .admin-stat-card:last-child { grid-column:span 2; } .admin-stat-card strong { font-size:29px; } .admin-list-heading { align-items:start; flex-direction:column; } .admin-message-card { grid-template-columns:1fr; padding:17px; } .admin-message-actions { flex-direction:row; flex-wrap:wrap; } .admin-message-actions button { flex:1; } .admin-bottom-note { align-items:start; flex-direction:column; gap:10px; } .admin-footer { flex-wrap:wrap; gap:10px; font-size:7px; } }
