/* ===== TOMMY ALLEN ACOUSTICS — retro skin for SFTPGo ===== */
@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap');

:root{
  --t-cyan:#06b6d4;
  --t-purple:#8b5cf6;
  --t-magenta:#d946ef;
  --t-bg:#0a0020;
}

/* --- page background: starfield, like the main site --- */
body, .app-blank, .app-default, .app-page{
  background-color:var(--t-bg) !important;
  background-image:
    radial-gradient(1px 1px at 20px 30px,#fff,transparent),
    radial-gradient(1px 1px at 40px 70px,#fff,transparent),
    radial-gradient(1px 1px at 90px 40px,#aaf,transparent),
    radial-gradient(1px 1px at 160px 120px,#ffa,transparent),
    radial-gradient(1px 1px at 200px 50px,#fff,transparent),
    radial-gradient(1px 1px at 80px 190px,#aff,transparent) !important;
  background-size:220px 200px !important;
  color:#ddd !important;
  font-family:'VT323',monospace !important;
  font-size:18px !important;
}

/* --- CRT scanlines over everything --- */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;
  background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,0.12) 2px,rgba(0,0,0,0.12) 4px);
}

/* --- panels / cards --- */
.card,.modal-content,.dropdown-menu{
  background:#12082e !important;
  border:2px solid var(--t-purple) !important;
  border-radius:0 !important;
  box-shadow:0 0 20px rgba(139,92,246,0.15) !important;
}
.card-header{border-bottom:2px dashed var(--t-purple) !important;background:transparent !important;}

/* --- headings --- */
h1,h2,h3,h4,.card-title,.page-heading{
  font-family:'Press Start 2P',monospace !important;
  color:var(--t-cyan) !important;
  text-shadow:0 0 8px rgba(6,182,212,0.45) !important;
  letter-spacing:1px !important;
  line-height:1.7 !important;
}
h1{font-size:18px !important}h2{font-size:15px !important}
h3{font-size:12px !important}h4,.card-title{font-size:11px !important}

/* --- buttons --- */
.btn{
  font-family:'Press Start 2P',monospace !important;
  font-size:10px !important;letter-spacing:1px !important;
  border-radius:0 !important;
}
.btn-primary,.btn-active-primary{
  background:linear-gradient(180deg,#8b5cf6,#6d28d9) !important;
  border:2px outset #a78bfa !important;color:#fff !important;
}
.btn-primary:hover{filter:brightness(1.3) !important;}
.btn-primary:active{border-style:inset !important;}
.btn-secondary,.btn-light{
  background:#1a0a2e !important;border:2px outset #444 !important;color:var(--t-cyan) !important;
}

/* --- inputs --- */
.form-control,.form-select,input[type=text],input[type=password]{
  background:#000 !important;
  border:2px inset #666 !important;
  border-radius:0 !important;
  color:#0f0 !important;
  font-family:'VT323',monospace !important;font-size:18px !important;
}
.form-control:focus,.form-select:focus{
  border-color:var(--t-cyan) !important;
  box-shadow:0 0 8px rgba(6,182,212,0.4) !important;
}
.form-label{color:#a78bfa !important;font-size:16px !important;}

/* --- links --- */
a{color:var(--t-cyan) !important;}
a:hover{color:#ff0 !important;}

/* --- file listing table --- */
table,.table{color:#ddd !important;font-family:'VT323',monospace !important;font-size:18px !important;}
.table thead th{
  font-family:'Press Start 2P',monospace !important;font-size:8px !important;
  color:#ffcc00 !important;letter-spacing:1px !important;
  border-bottom:2px solid var(--t-purple) !important;
}
.table tbody tr{border-bottom:1px dashed #2a1050 !important;}
.table tbody tr:hover{background:rgba(6,182,212,0.08) !important;}

/* --- chrome: header / sidebar / footer --- */
.app-header,.app-sidebar,.app-footer,.header,.footer{
  background:#0f0520 !important;
  border-color:var(--t-cyan) !important;
}
.app-sidebar{border-right:2px solid var(--t-purple) !important;}
.app-header{border-bottom:2px solid var(--t-cyan) !important;}

/* --- misc --- */
.text-muted{color:#8b5cf6 !important;}
.badge{border-radius:0 !important;font-family:'Press Start 2P',monospace !important;font-size:7px !important;}
.alert{border-radius:0 !important;border-width:2px !important;}
