/* Nashville Smile Bar portal brand layer — presentation only. */
:root{
  --ink:#101010;
  --cream:#f3efe6;
  --coral:#ff5d47;
  --yellow:#ffd938;
  --blue:#3e68ff;
  --pink:#ffb8d1;
  --line:rgba(16,16,16,.18);
  --line-strong:rgba(16,16,16,.38);
  --paper:#fffdf8;
  --bg:var(--cream);
  --panel:var(--paper);
  --text:var(--ink);
  --muted:#68645d;
  --border:var(--line);
  --border2:var(--line-strong);
  --shadow:0 14px 34px rgba(16,16,16,.09);
  --radius:0px;
  --radius2:0px;
  --ok:rgba(255,217,56,.48);
  --danger:rgba(255,93,71,.18);
  --warn:rgba(255,184,209,.5);
}
html{background:var(--cream);}
body{
  background:var(--cream) !important;
  color:var(--ink) !important;
  font-family:'DM Sans',sans-serif !important;
}
h1,h2,h3,.eventName,.phoneTitle,.panelHead,.header,.btn,button,select,.badge,.k,.eyebrow{
  font-family:'Space Grotesk',sans-serif;
}
h1,h2,h3{letter-spacing:-.035em;}
a{color:inherit;}
.wrap{max-width:1320px; padding-top:28px;}
.topbar{border-bottom:1px solid var(--ink);padding-bottom:18px;margin-bottom:18px;}
.brand{gap:14px;}
.logo{height:54px;max-width:190px;object-fit:contain;}
.titleWrap h1,.titleWrap h2{margin:0;font-weight:700;}
.muted{color:var(--muted) !important;}
.panel{
  background:var(--paper) !important;
  border:1px solid var(--ink) !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.panelHead{
  background:var(--yellow) !important;
  border-bottom:1px solid var(--ink) !important;
  color:var(--ink) !important;
  font-weight:700;
}
.controls{background:var(--paper);}
input,input[type="text"],input[type="password"],select{
  background:var(--cream) !important;
  color:var(--ink) !important;
  border:1px solid var(--ink) !important;
  border-radius:0 !important;
  font-family:'DM Sans',sans-serif !important;
  min-height:44px;
}
input::placeholder{color:#777168 !important;}
input:focus,select:focus{outline:3px solid var(--pink) !important;outline-offset:1px;}
.btn,button:not(.link):not(.previewNavBtn):not(.fullscreenBtn){
  background:var(--cream) !important;
  color:var(--ink) !important;
  border:1px solid var(--ink) !important;
  border-radius:999px !important;
  font-weight:700 !important;
  box-shadow:none !important;
  transition:transform .12s ease,background .12s ease;
}
.btn:hover,button:not(.link):not(.previewNavBtn):not(.fullscreenBtn):hover{background:var(--pink) !important;transform:translateY(-1px);}
.btn.primary{background:var(--blue) !important;color:#fff !important;}
.btn.primary:hover{background:var(--ink) !important;}
.btn.ok{background:var(--yellow) !important;}
.btn.danger{background:var(--coral) !important;color:var(--ink) !important;}
.tinyBtn{background:var(--cream) !important;color:var(--ink) !important;border:1px solid var(--ink) !important;border-radius:999px !important;}
.event{
  background:var(--paper) !important;
  color:var(--ink) !important;
  border:1px solid var(--ink) !important;
  border-radius:0 !important;
  padding:12px !important;
  box-shadow:none;
}
.event:hover{background:var(--pink) !important;transform:translateY(-3px) !important;box-shadow:5px 5px 0 var(--ink);}
.eventName{color:var(--ink) !important;font-weight:700 !important;font-size:15px;}
.eventThumb{border:1px solid var(--ink) !important;border-radius:0 !important;background:var(--cream) !important;}
.card{
  background:var(--paper) !important;
  color:var(--ink) !important;
  border:1px solid var(--ink) !important;
  border-radius:0 !important;
}
.card:hover{background:#fff !important;box-shadow:4px 4px 0 var(--yellow);}
.card img{border:1px solid var(--ink) !important;border-radius:0 !important;background:var(--cream) !important;}
.card.selected{outline:3px solid var(--blue) !important;background:rgba(62,104,255,.08) !important;}
.card .check{background:var(--cream) !important;color:var(--ink) !important;border:1px solid var(--ink) !important;border-radius:0 !important;}
.fileName,.mono{color:var(--ink) !important;}
.kvRow{background:var(--cream) !important;border:1px solid var(--ink) !important;border-radius:0 !important;}
.kvRow .k,.kvRow .v{color:var(--ink) !important;}
.pill,.selectBar{background:var(--cream) !important;border:1px solid var(--ink) !important;border-radius:0 !important;color:var(--ink) !important;}
.badge{background:var(--cream) !important;border:1px solid var(--ink) !important;color:var(--ink) !important;border-radius:999px !important;}
.badge.ok{background:var(--yellow) !important;}.badge.warn{background:var(--pink) !important;}.badge.danger{background:var(--coral) !important;}
.note{color:var(--muted) !important;}
pre{background:var(--ink) !important;color:var(--cream) !important;border-color:var(--ink) !important;}
.crumbs .back{background:var(--yellow) !important;color:var(--ink) !important;border:1px solid var(--ink) !important;border-radius:999px !important;}
.crumbs .back:hover{background:var(--pink) !important;}
/* Shared gallery password gate */
#pwGate{background:rgba(16,16,16,.72) !important;}
#pwGate>div{background:var(--cream) !important;color:var(--ink) !important;border:1px solid var(--ink);border-radius:0 !important;box-shadow:8px 8px 0 var(--coral);}
#pwError{color:#b3261e !important;}
/* Login */
body>.card{background:var(--cream) !important;border:1px solid var(--ink) !important;box-shadow:10px 10px 0 var(--blue) !important;padding:30px !important;max-width:520px;}
body>.card h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(30px,6vw,48px);line-height:.95;}
body>.card #loginBtn{background:var(--coral) !important;}
.link{color:var(--ink) !important;font-family:'DM Sans',sans-serif !important;}
/* Live station */
.header{background:var(--yellow) !important;color:var(--ink) !important;border-bottom:1px solid var(--ink) !important;}
.headerLogo{filter:none;}
.mainLayout{background:var(--cream) !important;}
.previewPanel,.phoneCard{background:var(--paper) !important;border:1px solid var(--ink) !important;border-radius:0 !important;color:var(--ink) !important;}
.emptyPreview,.subtitle{color:var(--muted) !important;}
.actionBar{background:var(--cream) !important;border-top:1px solid var(--ink) !important;}
.phoneDisplay{background:var(--cream) !important;color:var(--ink) !important;border:1px solid var(--ink) !important;border-radius:0 !important;}
.keypad button{background:var(--paper) !important;color:var(--ink) !important;border:1px solid var(--ink) !important;border-radius:0 !important;}
.keypad button:hover{background:var(--pink) !important;}
.phoneActions button{background:var(--blue) !important;color:#fff !important;}
.phoneModal{background:rgba(16,16,16,.72) !important;}
.previewNavBtn,.fullscreenBtn{background:var(--ink) !important;color:var(--cream) !important;border:1px solid var(--cream) !important;}
/* Inline non-image file placeholders on event/share pages */
.card div[style*="background"]{background:var(--cream) !important;color:var(--muted) !important;border-color:var(--ink) !important;}
@media(max-width:620px){
  .wrap{padding:16px 12px 30px;}
  .logo{height:44px;max-width:150px;}
  .topbar{padding-bottom:14px;}
  .panelHead,.controls{padding:12px;}
  .list{grid-template-columns:1fr 1fr;gap:9px;padding:9px;}
  .event{padding:8px !important;}
}
@media(max-width:420px){.list{grid-template-columns:1fr;}}
