
:root{--bg:#071017;--panel:#0d1a24;--line:#315266;--text:#e8f1f5;--muted:#9fb4c0;--accent:#5fd3ff;--warn:#ffb35f;--ok:#75e6a4}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:linear-gradient(180deg,#061018,#09141c 55%,#071017);color:var(--text);font-family:Arial,Helvetica,sans-serif;min-height:100%}body{padding:28px 16px}.shell{max-width:980px;margin:0 auto}.brand{border:1px solid var(--line);background:rgba(9,24,34,.92);box-shadow:0 0 30px rgba(49,82,102,.22);padding:24px;border-radius:14px}.kicker{letter-spacing:.22em;color:var(--accent);font-size:.78rem;text-transform:uppercase}h1{font-size:clamp(2rem,6vw,4.4rem);line-height:.95;margin:.35rem 0 1rem;text-transform:uppercase;letter-spacing:.04em}.subtitle{font-size:1.12rem;color:#cfe2eb;max-width:780px;line-height:1.6}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.panel{border:1px solid var(--line);background:rgba(13,26,36,.86);padding:18px;border-radius:12px}.panel h2{margin-top:0;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.statusrow{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid rgba(159,180,192,.13)}.statusrow:last-child{border-bottom:0}.statusrow span:first-child{color:var(--muted)}.btn{display:inline-block;border:1px solid #4b879f;background:#123347;color:white;padding:12px 18px;border-radius:8px;text-decoration:none;font-weight:700;cursor:pointer}.btn:hover{background:#174158}.btn.secondary{background:#1d252b;border-color:#56636b}.notice{margin-top:16px;padding:12px 14px;border-left:3px solid var(--warn);background:rgba(255,179,95,.08);color:#f3d9b6}.ok{border-left-color:var(--ok);background:rgba(117,230,164,.08)}.level-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.level-number{font-size:.9rem;color:var(--accent);letter-spacing:.18em;text-transform:uppercase}.level-title{font-size:2rem;margin:.35rem 0}.login{margin-top:22px;display:grid;gap:10px;max-width:520px}.login input{width:100%;padding:12px;background:#071017;color:white;border:1px solid var(--line);border-radius:8px}.login button{justify-self:start}.small{font-size:.9rem;color:var(--muted)}@media(max-width:720px){.grid{grid-template-columns:1fr}.level-head{display:block}}

/* LEVEL 1 PRINT */
.level1-print-sheet{display:none}
@media print{
  body.level1-page{background:#fff!important;color:#000!important;padding:0!important}
  body.level1-page > main{display:none!important}
  .level1-print-sheet{
    display:block!important;
    color:#000!important;
    background:#fff!important;
    font-family:Georgia,"Times New Roman",serif;
    padding:18mm;
  }
  .level1-print-sheet h1{
    font-size:22pt;
    letter-spacing:.05em;
    margin:10mm 0 5mm;
    color:#000!important;
  }
  .level1-print-sheet table{
    border-collapse:collapse;
    width:100%;
    margin-top:8mm;
    font-size:12pt;
  }
  .level1-print-sheet th,.level1-print-sheet td{
    border:1px solid #222;
    padding:4mm;
    text-align:left;
  }
  .level1-print-sheet th{width:35%}
  .print-classification{
    border:2px solid #000;
    display:inline-block;
    padding:2mm 4mm;
    font-weight:700;
    letter-spacing:.08em;
  }
  .print-foot{margin-top:12mm;font-size:9pt}
}

/* LEVEL 3 */
.protected-module{
  margin-top:10px;
  padding:14px;
  border:1px solid rgba(95,211,255,.28);
  background:rgba(7,16,23,.65);
  color:#9fb4c0;
  border-radius:8px;
}
details summary{cursor:pointer;color:#cfe2eb;font-weight:700}

/* MAINTENANCE LEVEL GRID */
.maintenance-levels{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(110px,1fr));
  gap:8px;
  margin-top:14px;
}
.maintenance-levels .btn{
  text-align:center;
  padding:9px 8px;
}

/* TIMED HINT */
.timed-hint-wrap{margin-top:14px}
.timed-hint-wrap details[data-locked="true"] summary{cursor:not-allowed;opacity:.62}
.hint-countdown{margin-top:8px;font-size:.88rem;color:var(--muted)}

/* LEVEL 15 DTMF */
.dtmf-grid{display:grid;grid-template-columns:repeat(3,minmax(58px,90px));gap:9px;margin-top:12px}.dtmf-grid .btn{font-size:1.05rem;padding:11px 8px}.dtmf-grid + form input{width:100%;padding:12px;background:#071017;color:white;border:1px solid var(--line);border-radius:8px}
