*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#081120;color:#e5eef9}
a{text-decoration:none;color:inherit}
.hero-shell,.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.hero-card,.auth-card{width:min(900px,100%);background:#0f172a;border:1px solid #1e293b;border-radius:24px;padding:32px;box-shadow:0 20px 60px rgba(0,0,0,.28)}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#7dd3fc;margin-bottom:12px}
h1{margin:0 0 12px;font-size:36px;line-height:1.15}
h2{margin-top:0}
p{color:#b7c6db;line-height:1.6}
.btn{display:inline-block;padding:12px 18px;border-radius:14px;border:none;cursor:pointer}
.btn-primary{background:#22c55e;color:#04110a;font-weight:700}
.btn-block{width:100%}
label{display:block;margin:14px 0 6px;color:#cbd5e1}
input,button{font:inherit}
input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid #334155;background:#020617;color:#fff}
.alert{background:#3f1d1d;color:#fecaca;border:1px solid #7f1d1d;padding:10px 12px;border-radius:12px;margin-bottom:14px}
.os-shell{display:flex;min-height:100vh}
.os-sidebar{width:260px;background:#020617;border-right:1px solid #1e293b;padding:24px;position:sticky;top:0;height:100vh;overflow:auto}
.brand{font-size:20px;font-weight:800;margin-bottom:24px}
.nav-stack{display:flex;flex-direction:column;gap:10px}
.nav-stack a{padding:12px 14px;background:#0f172a;border:1px solid #1e293b;border-radius:12px;color:#cbd5e1}
.os-main{flex:1;padding:28px}
.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}
.kpi-grid,.signal-grid,.module-grid,.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.kpi-card,.signal-card,.module-card,.panel,.check-card{background:#0f172a;border:1px solid #1e293b;border-radius:22px;padding:20px}
.module-card{display:block}
.kpi-label,.muted{color:#94a3b8}
.kpi-value{font-size:34px;font-weight:800;margin-top:8px}
.panel{margin-top:20px}
.panel-narrow{max-width:640px}
.badge{display:inline-block;margin-top:10px;padding:6px 10px;border-radius:999px;background:#052e1a;color:#86efac;font-size:12px;text-transform:uppercase}
.badge-pass{background:#052e1a;color:#86efac}
.badge-fail{background:#3f1d1d;color:#fecaca}
.badge-warn{background:#3b2f12;color:#fde68a}
.artifact-list{padding-left:18px;color:#cbd5e1}
.table-wrap{overflow:auto}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:12px;border-bottom:1px solid #1e293b;text-align:left;vertical-align:top}
.code-block{margin:0;padding:16px;border-radius:16px;background:#020617;border:1px solid #1e293b;overflow:auto;color:#dbe7f5;white-space:pre-wrap;word-break:break-word}
.check-card{display:flex;align-items:flex-start;gap:10px}
.check-card input{width:auto;margin-top:3px}

#ethosia-command-palette-root[hidden]{display:none!important}

.command-palette{
    position:fixed;
    inset:0;
    background:rgba(2,6,23,.78);
    display:none;
    align-items:flex-start;
    justify-content:center;
    padding-top:8vh;
    z-index:9999;
}
.command-palette.open{display:flex}
.command-box{
    width:min(760px,92vw);
    background:#0f172a;
    border:1px solid #334155;
    border-radius:24px;
    box-shadow:0 20px 80px rgba(0,0,0,.45);
    overflow:hidden;
}
.command-box input{
    width:100%;
    border:none;
    border-radius:0;
    padding:18px 20px;
    background:#020617;
    color:#fff;
}
.command-list{
    max-height:55vh;
    overflow:auto;
    display:flex;
    flex-direction:column;
}
.command-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:14px 18px;
    border-top:1px solid #1e293b;
    color:#dbe7f5;
}
.command-item:hover{background:#111c32}
.command-kbd{
    color:#7dd3fc;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

@media (max-width:900px){
    .os-shell{flex-direction:column}
    .os-sidebar{width:100%;height:auto;position:relative}
    .os-main{padding:18px}
    h1{font-size:28px}
}
