/* Sign-in gate, account bar and subscriber admin. Uses the designer's colour tokens. */
body.gated{overflow:hidden}
body.gated .wrap{visibility:hidden}

.gate{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--paper);overflow:auto}
.gate[hidden]{display:none}
.gate-card{width:100%;max-width:420px;background:var(--sheet);border:2px solid var(--ink)}
.gate-head{padding:14px 18px;border-bottom:1px solid var(--line)}
.gate-head h1{margin:0;font:700 28px/1.05 "Barlow Condensed",sans-serif}
.gate-head p{margin:2px 0 0;color:var(--muted);font-size:13px}
.gate-body{display:flex;flex-direction:column;gap:10px;padding:16px 18px 18px}
.gate-body[hidden]{display:none}
.gate-body h2{margin:0;font:600 21px "Barlow Condensed",sans-serif}
.gate-body p{margin:0}
.gate-status{color:var(--muted)}
.gate-wide{width:100%;padding:9px 14px}
.gate-msg{min-height:1.2em;font-size:13.5px;color:var(--fail);white-space:pre-line}
.gate-msg.ok{color:var(--pass)}
.gate-link{align-self:flex-start;border:none;background:none;padding:0;color:var(--steel);font:500 13.5px "Barlow",sans-serif;cursor:pointer;text-decoration:underline}
.gate-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}
.gate-or::before,.gate-or::after{content:"";flex:1;border-top:1px solid var(--line)}
.gate-note{font-size:13px;color:var(--muted)}
.gate-note a{color:var(--steel)}
.btn:disabled{opacity:.55;cursor:not-allowed}

.acct-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-bottom:12px;padding:8px 12px;background:var(--sheet);border:1px solid var(--line);border-radius:6px;font-size:14px}
.acct-bar[hidden]{display:none}
.acct-badge{font:600 12.5px "Barlow",sans-serif;padding:2px 10px;border-radius:999px;background:var(--pass-bg);color:var(--pass)}
.acct-badge.guest{background:var(--warn-bg);color:var(--warn)}
.acct-who{color:var(--muted);min-width:0;overflow-wrap:anywhere}
.acct-save{color:var(--muted);font-size:13px}
.acct-proj{font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.acct-proj[hidden]{display:none}
.proj-new{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.proj-new .f{flex:1 1 260px;margin:0}
.proj-hint{margin:8px 0 0;color:var(--muted);font-size:13px}
.admin td .pill{margin-left:6px}
.acct-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}

/* Guest view: everything is visible, nothing can be changed */
body.guest .wrap input:disabled,body.guest .wrap select:disabled{cursor:not-allowed}
body.guest .layout form{position:relative}
body.guest .seg button:disabled{cursor:not-allowed}

.admin{width:min(900px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:2px solid var(--ink);border-radius:6px;background:var(--sheet);color:var(--ink)}
.admin::backdrop{background:rgba(10,20,30,.55)}
.admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--sheet);z-index:1}
.admin h2{margin:0;font:600 22px "Barlow Condensed",sans-serif}
.admin h3{margin:0 0 8px;font:600 17px "Barlow Condensed",sans-serif}
.admin-new,.admin-list{padding:14px 16px}
.admin-new{border-bottom:1px solid var(--line)}
.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin-bottom:6px}
.box-btn{border:none;border-left:1px solid var(--line);background:transparent;color:var(--steel);font:600 13px "Barlow",sans-serif;padding:7px 10px;cursor:pointer}
.admin-count{color:var(--muted);font:500 14px "Barlow",sans-serif}
.admin-tablewrap{overflow-x:auto}
.admin table{width:100%;border-collapse:collapse;font-size:14px}
.admin th,.admin td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
.admin th{font-weight:600;color:var(--muted);font-size:13px}
.admin td small{display:block;color:var(--muted);overflow-wrap:anywhere}
.admin td input[type=date]{border:1px solid var(--line);background:var(--field);color:var(--ink);font:500 14px "Barlow",sans-serif;padding:4px 6px;border-radius:4px}
.admin .row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.admin .row-actions .btn{padding:4px 10px;font-size:13px}
.pill{display:inline-block;font-size:12.5px;font-weight:600;padding:1px 9px;border-radius:999px}
.pill.on{background:var(--pass-bg);color:var(--pass)}
.pill.off{background:var(--fail-bg);color:var(--fail)}
.pill.exp{background:var(--warn-bg);color:var(--warn)}

@media (max-width:600px){
  .admin-grid{grid-template-columns:minmax(0,1fr)}
  .acct-actions{margin-left:0;width:100%}
  .acct-actions .btn{flex:1}
}

@media print{
  .gate,.acct-bar,.admin{display:none!important}
  body.guest .wrap{display:none!important}
  body.guest::after{content:"Printing reports is available to subscribers only.";display:block;padding:20mm;font:600 14pt "Barlow",sans-serif}
}
