/* Aether Advanced Systems Corp — Foundry Portal Styles */
:root {
    --bg: #0a0c0f;
    --surface: #0e1117;
    --surface2: #141820;
    --border: #1e2530;
    --amber: #d4a017;
    --text: #b8bec8;
    --text-bright: #dde3ed;
    --text-dim: #5a6478;
    --green: #27ae60;
    --red: #c0392b;
}
.auth-page { min-height:100vh; background:var(--bg); display:flex; align-items:center; justify-content:center; padding:2rem; }
.auth-container { background:var(--surface); border:1px solid var(--border); border-radius:4px; padding:2.5rem; width:100%; max-width:420px; }
.auth-logo { font-family:'Orbitron',monospace; font-size:0.85rem; color:var(--amber); letter-spacing:4px; text-align:center; margin-bottom:0.5rem; }
.auth-title { font-family:'Orbitron',monospace; font-size:0.9rem; color:var(--text-bright); letter-spacing:2px; text-align:center; margin-bottom:1.5rem; font-weight:400; }
.auth-description { font-size:0.8rem; color:var(--text-dim); text-align:center; margin-bottom:1.5rem; line-height:1.5; }
.auth-warning { background:rgba(192,57,43,0.1); border:1px solid var(--red); border-radius:3px; padding:0.75rem; font-family:'Share Tech Mono',monospace; font-size:10px; color:var(--red); margin-bottom:1.5rem; line-height:1.6; letter-spacing:0.5px; }
.auth-warning i { margin-right:0.25rem; }
.auth-form .form-group { margin-bottom:1rem; }
.auth-input { background:var(--bg)!important; border:1px solid var(--border)!important; color:var(--text-bright)!important; border-radius:3px!important; padding:0.6rem 0.75rem!important; font-size:0.9rem!important; }
.auth-input:focus { border-color:var(--amber)!important; box-shadow:0 0 0 2px rgba(212,160,23,0.15)!important; }
.auth-input::placeholder { color:var(--text-dim)!important; }
.auth-check-label { color:var(--text-dim)!important; font-size:0.85rem; }
.auth-btn { background:var(--amber)!important; color:#000!important; border:none!important; font-family:'Orbitron',monospace; font-size:0.8rem; letter-spacing:2px; padding:0.7rem!important; margin-top:0.5rem; font-weight:700; }
.auth-btn:hover { background:#e6b422!important; }
.auth-footer { text-align:center; margin-top:1.5rem; }
.auth-link { color:var(--text-dim); font-size:0.8rem; text-decoration:none; }
.auth-link:hover { color:var(--amber); }
.auth-code-divider { text-align:center; margin:1rem 0; position:relative; }
.auth-code-divider::before, .auth-code-divider::after { content:''; position:absolute; top:50%; width:30%; height:1px; background:var(--border); }
.auth-code-divider::before { left:0; }
.auth-code-divider::after { right:0; }
.auth-code-divider span { font-family:'Orbitron',monospace; font-size:0.65rem; color:var(--amber); letter-spacing:3px; background:var(--surface); padding:0 0.75rem; }
.auth-form .help-block { color:var(--red)!important; font-size:0.75rem; font-family:'Share Tech Mono',monospace; margin-top:0.25rem; }
.auth-form .has-error .auth-input { border-color:var(--red)!important; }
.portal-body { margin:0; padding:0; background:var(--bg); color:var(--text); font-family:'Share Tech Mono',monospace; min-height:100vh; }
.portal-wrapper { display:flex; min-height:100vh; }
.portal-sidebar { width:240px; min-width:240px; background:var(--surface); border-right:1px solid var(--border); display:flex; flex-direction:column; position:fixed; top:0; left:0; bottom:0; z-index:100; overflow-y:auto; }
.sidebar-header { padding:1.25rem; border-bottom:1px solid var(--border); }
.sidebar-logo { font-family:'Orbitron',monospace; font-size:0.75rem; color:var(--amber); letter-spacing:3px; font-weight:700; }
.sidebar-subtitle { font-size:0.6rem; color:var(--text-dim); letter-spacing:2px; margin-top:0.25rem; }
.sidebar-clearance { padding:0.75rem 1.25rem; border-bottom:1px solid var(--border); }
.clearance-badge { font-family:'Orbitron',monospace; font-size:0.6rem; letter-spacing:1px; border:1px solid; padding:0.25rem 0.5rem; border-radius:2px; display:inline-block; }
.clearance-badge-lg { font-family:'Orbitron',monospace; font-size:0.7rem; letter-spacing:1px; border:1px solid; padding:0.35rem 0.75rem; border-radius:2px; display:inline-block; }
.sidebar-nav { flex:1; padding:0.75rem 0; }
.sidebar-section-label { font-size:0.6rem; color:var(--text-dim); letter-spacing:2px; padding:0.75rem 1.25rem 0.25rem; }
.sidebar-link { display:flex; align-items:center; gap:0.75rem; padding:0.5rem 1.25rem; color:var(--text); text-decoration:none; font-size:0.8rem; transition:all 0.15s; }
.sidebar-link:hover { color:var(--text-bright); background:var(--surface2); }
.sidebar-link.active { color:var(--amber); border-left:2px solid var(--amber); background:rgba(212,160,23,0.05); }
.sidebar-link-sub { padding-left:2rem; font-size:0.75rem; }
.sidebar-footer { padding:1rem 1.25rem; border-top:1px solid var(--border); }
.session-indicator { font-size:0.65rem; color:var(--green); letter-spacing:1px; display:flex; align-items:center; gap:0.5rem; }
.session-dot { width:6px; height:6px; background:var(--green); border-radius:50%; display:inline-block; animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1;} 50%{opacity:0.4;} }
.session-time { font-size:0.65rem; color:var(--text-dim); margin:0.35rem 0; font-family:'Share Tech Mono',monospace; }
.sidebar-logout { font-size:0.7rem; color:var(--text-dim); text-decoration:none; letter-spacing:1px; display:block; margin-top:0.5rem; }
.sidebar-logout:hover { color:var(--red); }
.portal-main { flex:1; margin-left:240px; display:flex; flex-direction:column; }
.portal-topbar { display:flex; justify-content:space-between; align-items:center; padding:0.75rem 1.5rem; border-bottom:1px solid var(--amber); background:var(--surface); min-height:48px; }
.topbar-crumb { font-size:0.75rem; color:var(--text-dim); }
.topbar-crumb + .topbar-crumb::before { content:' / '; margin:0 0.5rem; }
.topbar-crumb-link { color:var(--amber); text-decoration:none; }
.topbar-crumb-link:hover { color:#e6b422; }
.topbar-user { font-size:0.75rem; color:var(--text-dim); }
.portal-content { padding:1.5rem; flex:1; }
.portal-alert { background:var(--surface2); border-color:var(--amber); color:var(--text-bright); font-size:0.85rem; }
.dashboard-header { padding:1.5rem; background:var(--surface); border:1px solid var(--border); border-radius:4px; margin-bottom:1.5rem; }
.portal-heading { font-family:'Orbitron',monospace; font-size:1.1rem; color:var(--text-bright); letter-spacing:3px; margin-bottom:0.5rem; font-weight:700; }
.portal-welcome { color:var(--text-dim); font-size:0.85rem; margin-bottom:0.75rem; }
.section-heading { font-family:'Orbitron',monospace; font-size:0.75rem; color:var(--amber); letter-spacing:3px; margin-bottom:1rem; font-weight:400; }
.dashboard-status { padding:1.25rem 1.5rem; background:var(--surface); border:1px solid var(--border); border-radius:4px; margin-bottom:1.5rem; }
.status-grid { display:flex; gap:2rem; flex-wrap:wrap; }
.status-item { display:flex; align-items:center; gap:0.5rem; font-size:0.8rem; color:var(--text); }
.status-dot { width:8px; height:8px; border-radius:50%; display:inline-block; }
.status-dot-green { background:var(--green); }
.dashboard-section { padding:1.25rem 1.5rem; background:var(--surface); border:1px solid var(--border); border-radius:4px; margin-bottom:1.5rem; }
.doc-card { display:block; background:var(--surface2); border:1px solid var(--border); border-radius:4px; padding:1rem; text-decoration:none; color:var(--text); transition:all 0.15s; height:100%; }
.doc-card:hover { border-color:var(--amber); color:var(--text-bright); }
.doc-card-ref { font-family:'Share Tech Mono',monospace; font-size:0.7rem; color:var(--amber); letter-spacing:1px; margin-bottom:0.5rem; }
.doc-card-title { font-size:0.85rem; color:var(--text-bright); margin-bottom:0.5rem; line-height:1.3; }
.doc-card-meta { font-size:0.7rem; color:var(--text-dim); margin-bottom:0.5rem; }
.doc-card-classification { font-family:'Orbitron',monospace; font-size:0.55rem; letter-spacing:1px; }
.doc-card-classification.cls-top-secret { color:#c0392b; }
.doc-card-classification.cls-secret { color:#e67e22; }
.doc-card-classification.cls-confidential { color:var(--amber); }
.category-card { display:block; background:var(--surface2); border:1px solid var(--border); border-radius:4px; padding:1.25rem; text-decoration:none; color:var(--text); text-align:center; transition:all 0.15s; }
.category-card:hover { border-color:var(--amber); color:var(--text-bright); }
.category-icon { font-size:1.5rem; color:var(--amber); margin-bottom:0.5rem; display:block; }
.category-name { font-size:0.8rem; color:var(--text-bright); margin-bottom:0.25rem; }
.category-count { font-size:0.7rem; color:var(--text-dim); }
.doc-sidebar { background:var(--surface); border:1px solid var(--border); border-radius:4px; overflow:hidden; }
.doc-sidebar-title { font-family:'Orbitron',monospace; font-size:0.65rem; color:var(--amber); letter-spacing:2px; padding:0.75rem 1rem; border-bottom:1px solid var(--border); }
.doc-sidebar-item { display:flex; align-items:flex-start; gap:0.75rem; padding:0.75rem 1rem; text-decoration:none; color:var(--text); border-bottom:1px solid var(--border); font-size:0.8rem; transition:all 0.15s; }
.doc-sidebar-item:last-child { border-bottom:none; }
.doc-sidebar-item:hover { background:var(--surface2); color:var(--text-bright); }
.doc-sidebar-item.active { background:rgba(212,160,23,0.05); border-left:2px solid var(--amber); }
.doc-sidebar-item i { color:var(--amber); margin-top:0.15rem; }
.doc-sidebar-name { color:var(--text-bright); font-size:0.8rem; }
.doc-sidebar-desc { font-size:0.7rem; color:var(--text-dim); margin-top:0.15rem; }
.doc-sidebar-count { font-size:0.65rem; color:var(--text-dim); margin-top:0.15rem; }
.doc-list-header { margin-bottom:1rem; }
.doc-list-item { display:flex; align-items:flex-start; gap:1rem; padding:1rem; background:var(--surface); border:1px solid var(--border); border-radius:4px; margin-bottom:0.5rem; text-decoration:none; color:var(--text); transition:all 0.15s; }
.doc-list-item:hover { border-color:var(--amber); color:var(--text-bright); }
.doc-list-ref { font-family:'Share Tech Mono',monospace; font-size:0.7rem; color:var(--amber); letter-spacing:1px; white-space:nowrap; min-width:140px; }
.doc-list-body { flex:1; }
.doc-list-title { color:var(--text-bright); font-size:0.85rem; margin-bottom:0.25rem; }
.doc-list-meta { font-size:0.7rem; color:var(--text-dim); }
.doc-list-badges { display:flex; flex-direction:column; align-items:flex-end; gap:0.35rem; min-width:100px; }
.classification-badge { font-family:'Orbitron',monospace; font-size:0.5rem; padding:0.15rem 0.4rem; border-radius:2px; letter-spacing:0.5px; white-space:nowrap; border:1px solid; }
.classification-badge.cls-top-secret { color:#c0392b; border-color:#c0392b; }
.classification-badge.cls-secret { color:#e67e22; border-color:#e67e22; }
.classification-badge.cls-confidential { color:var(--amber); border-color:var(--amber); }
.doc-list-views { font-size:0.65rem; color:var(--text-dim); }
.doc-list-locked { color:var(--amber); font-size:0.75rem; }
.doc-empty { text-align:center; padding:3rem; color:var(--text-dim); }
.doc-empty i { font-size:2rem; display:block; margin-bottom:0.75rem; }
.classified-document { background:var(--surface); border:1px solid var(--border); border-radius:4px; overflow:hidden; }
.doc-header { padding:1.5rem; border-bottom:1px solid var(--border); text-align:center; }
.doc-classification-stamp { font-family:'Orbitron',monospace; font-size:0.85rem; letter-spacing:3px; margin-bottom:1rem; padding:0.5rem 1rem; border:2px solid; display:inline-block; font-weight:700; }
.doc-classification-stamp.cls-top-secret { color:#c0392b; border-color:#c0392b; }
.doc-classification-stamp.cls-secret { color:#e67e22; border-color:#e67e22; }
.doc-classification-stamp.cls-confidential { color:var(--amber); border-color:var(--amber); }
.doc-org { font-size:0.75rem; color:var(--text-dim); letter-spacing:1px; margin-bottom:0.5rem; }
.doc-ref-display { font-family:'Share Tech Mono',monospace; font-size:0.8rem; color:var(--amber); letter-spacing:2px; }
.doc-metadata { padding:1.25rem 1.5rem; border-bottom:1px solid var(--border); background:var(--surface2); }
.doc-meta-table { width:100%; }
.doc-meta-table td { padding:0.3rem 0; font-size:0.8rem; vertical-align:top; }
.doc-meta-label { color:var(--text-dim); width:140px; letter-spacing:1px; font-size:0.7rem; }
.doc-content { padding:2rem 1.5rem; font-family:'Courier Prime','Share Tech Mono',monospace; font-size:0.9rem; line-height:1.8; color:var(--text-bright); }
.doc-content p { margin-bottom:1rem; }
.doc-footer { padding:1.25rem 1.5rem; border-top:1px solid var(--border); background:var(--surface2); }
.doc-xrefs { margin-bottom:1rem; }
.doc-xrefs-title { font-family:'Orbitron',monospace; font-size:0.65rem; color:var(--amber); letter-spacing:2px; margin-bottom:0.5rem; }
.doc-xref { display:block; font-size:0.8rem; color:var(--text); text-decoration:none; padding:0.35rem 0.5rem; border:1px solid var(--border); border-radius:3px; margin-bottom:0.35rem; transition:all 0.15s; }
.doc-xref:hover { border-color:var(--amber); color:var(--amber); }
.doc-view-count { font-size:0.7rem; color:var(--text-dim); }
.redaction-notice { background:rgba(192,57,43,0.1); border:1px solid var(--red); border-radius:4px; padding:1rem 1.25rem; font-size:0.8rem; color:var(--red); margin-bottom:1rem; line-height:1.5; }
.redaction-notice i { margin-right:0.5rem; }
.redacted-block { display:inline-block; background:#1a1a1a; color:#333; font-family:monospace; letter-spacing:1px; padding:0 4px; border-radius:2px; user-select:none; -webkit-user-select:none; cursor:not-allowed; border:1px solid #2a2a2a; }
.redacted-block:hover::after { content:' [CLEARANCE REQUIRED: LEVEL ' attr(data-required-level) ']'; color:var(--red); font-size:10px; letter-spacing:2px; }
.profile-card { background:var(--surface); border:1px solid var(--border); border-radius:4px; overflow:hidden; }
.profile-header { display:flex; align-items:center; gap:1.5rem; padding:1.5rem; border-bottom:1px solid var(--border); background:var(--surface2); }
.profile-avatar { width:64px; height:64px; background:var(--border); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.5rem; color:var(--text-dim); }
.profile-username { font-family:'Orbitron',monospace; font-size:1rem; color:var(--text-bright); letter-spacing:2px; margin-bottom:0.5rem; }
.profile-details { padding:1.5rem; }
.profile-table { width:100%; }
.profile-table td { padding:0.5rem 0; font-size:0.8rem; border-bottom:1px solid var(--border); vertical-align:top; }
.profile-table tr:last-child td { border-bottom:none; }
.profile-label { color:var(--text-dim); width:200px; font-size:0.7rem; letter-spacing:1px; }
