/* Shared design tokens — carried over from the original Big 5 floor book so
   the signed-in app and the admin console read as one product. */
:root{
  --paper:#EFEDE7;
  --paper-2:#E5E2DA;
  --ink:#1B2430;
  --ink-60:#5C6672;
  --ink-35:#8E96A0;
  --rule:#CBC7BC;
  --taqdir:#20476B;
  --nexa:#4A6031;
  --bms:#9B3B24;
  --amber:#B8860B;
  --amber-bg:#F5E7C4;
  --ok:#3F6B3F;
  --bad:#9B3B24;
  --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{
  background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:16px;line-height:1.45;-webkit-text-size-adjust:100%;
}
button,input,select,textarea{font-family:inherit;font-size:16px;color:inherit}
a{color:var(--taqdir)}

.mast{background:var(--ink);color:var(--paper);padding:14px 16px 12px}
.mast h1{
  margin:0;font-family:var(--mono);font-size:15px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
}
.mast .sub{
  margin-top:3px;font-size:11.5px;color:#9FAAB6;font-family:var(--mono);letter-spacing:.06em;
}
.mast a{color:#9FAAB6;text-decoration:none}
.mast a:hover{color:var(--paper)}

.btn{
  padding:10px 16px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);
  border-radius:2px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;
  text-transform:uppercase;cursor:pointer;
}
.btn:hover{opacity:.88}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.danger{background:var(--bad);border-color:var(--bad);color:#FFF}
.btn.sm{padding:6px 10px;font-size:10.5px}

label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-60);margin:14px 0 5px}
input[type=text],input[type=password],input[type=email],input[type=date],
input[type=tel],select,textarea{
  width:100%;padding:10px 12px;border:1px solid var(--rule);border-radius:2px;background:#FFF;
}
input:focus,select:focus,textarea:focus{outline:2px solid var(--ink);outline-offset:-1px}
textarea{min-height:80px;resize:vertical}

.note{padding:11px 13px;border-left:3px solid var(--ink-35);background:var(--paper-2);
  font-size:13.5px;margin:14px 0}
.note.err{border-color:var(--bad);background:#F6E3DE}
.note.ok{border-color:var(--ok);background:#E4EDE4}
.note.warn{border-color:var(--amber);background:var(--amber-bg)}

.tag{font-family:var(--mono);font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;
  padding:2px 6px;border-radius:2px;color:#FFF;display:inline-block}
.tag.t{background:var(--taqdir)}.tag.n{background:var(--nexa)}.tag.b{background:var(--bms)}
.tag.x{background:transparent;color:var(--ink-60);border:1px solid var(--rule)}
.tag.role{background:var(--ink)}
.tag.off{background:var(--ink-35)}

.toast{
  position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(120%);
  background:var(--ink);color:var(--paper);padding:11px 18px;border-radius:2px;
  font-family:var(--mono);font-size:12px;z-index:200;transition:transform .2s;
  max-width:90vw;text-align:center;
}
.toast.show{transform:translateX(-50%) translateY(0)}
.toast.err{background:var(--bad)}

.empty{color:var(--ink-35);font-size:13.5px;padding:22px 0;text-align:center}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
