/* Smartcrew – společný vzhled aplikace i adminu (navy "odletová tabule" + oranžová) */
:root{
  --bg:#eef2f8; --surface:#ffffff; --ink:#14202e; --muted:#5b6878; --line:#d6dde6; --field:#f6f8fb;
  --board:#004289; --board-fg:#ffffff; --board-mute:#c4d4ea;
  --sign:#004289; --sign-ink:#ffffff; --orange:#f28c00; --orange-ink:#2a1600; --orange-text:#b35c00;
  --ok:#1f8a4c; --ok-bg:#e3f4ea; --warn:#b26a00; --warn-bg:#fdf1dc; --bad:#c0392b; --bad-bg:#fbe5e2;
  --f-display:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;
  --f-body:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0c131c; --surface:#151f2b; --ink:#e7ecf2; --muted:#94a2b3; --line:#26323f; --field:#101923;
  --board:#06203f; --board-mute:#9fb4d0; --sign:#7fb2ff; --sign-ink:#04213f; --orange:#ff9d2e; --orange-text:#ffad55;
  --ok:#5bd08b; --ok-bg:#12301f; --warn:#f0b24a; --warn-bg:#33260d; --bad:#f07a6c; --bad-bg:#3a1a17; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0c131c; --surface:#151f2b; --ink:#e7ecf2; --muted:#94a2b3; --line:#26323f; --field:#101923;
  --board:#06203f; --board-mute:#9fb4d0; --sign:#7fb2ff; --sign-ink:#04213f; --orange:#ff9d2e; --orange-text:#ffad55;
  --ok:#5bd08b; --ok-bg:#12301f; --warn:#f0b24a; --warn-bg:#33260d; --bad:#f07a6c; --bad-bg:#3a1a17; color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.5;
  padding-bottom:env(safe-area-inset-bottom,0px)}
[hidden]{display:none!important}
img{max-width:100%}
a{color:var(--sign)}

/* hlavička */
.board{background:var(--board);color:var(--board-fg);border-bottom:3px solid var(--orange);position:sticky;top:0;z-index:10;
  padding-top:env(safe-area-inset-top,0px)}
.board .in{padding:12px max(16px,env(safe-area-inset-right,0px)) 12px max(16px,env(safe-area-inset-left,0px));
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.brand{font-family:var(--f-display);font-weight:700;font-size:28px;letter-spacing:.02em;line-height:1;color:var(--board-fg);text-decoration:none}
.brand::after{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--orange);margin-left:4px}
.brand small{font-family:var(--f-body);font-weight:600;font-size:13px;color:var(--board-mute);margin-left:10px;letter-spacing:.08em;text-transform:uppercase}
.who{font-size:13px;color:var(--board-mute);text-align:right;background:none;border:0;font-family:inherit;cursor:pointer;padding:4px 0}
.who:hover{color:var(--board-fg)}
.who.back{text-decoration:none;font-weight:600;font-size:14px;white-space:nowrap}
.demo-flag{font-family:var(--f-mono);font-size:11px;background:var(--orange);color:var(--orange-ink);border-radius:4px;padding:1px 6px;margin-left:8px;vertical-align:middle}

/* typografie */
h1{font-family:var(--f-display);font-size:34px;font-weight:700;margin:0;line-height:1.05;text-wrap:balance}
h2{font-family:var(--f-display);font-size:24px;font-weight:700;margin:0;line-height:1.1;text-wrap:balance}
h3{font-family:var(--f-display);font-size:15px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}
p{margin:0}
.muted{color:var(--muted);font-size:14px}
.mono{font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.err{color:var(--bad);font-size:14px}
.ok-line{color:var(--ok);font-size:14px}
.note{font-size:13px;color:var(--muted);border-top:1px dashed var(--line);padding-top:10px}
.foot{font-size:13px;color:var(--muted);text-align:center;padding-top:8px}

/* karty a tlačítka */
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:12px;min-width:0}
.btn{font:inherit;font-weight:700;padding:11px 16px;border-radius:8px;border:0;background:var(--sign);color:var(--sign-ink);cursor:pointer;text-decoration:none;display:inline-block;text-align:center}
.btn:disabled{opacity:.55;cursor:default}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink);font-weight:600}
.btn.or{background:var(--orange);color:var(--orange-ink)}
.btn.bad{background:transparent;border:1px solid var(--bad);color:var(--bad);font-weight:600}
.btn.small{padding:6px 12px;font-size:14px}
.btn.link{background:none;border:0;padding:0;color:var(--orange-text);font-weight:600}
.btns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:2px}

/* formuláře */
form{display:grid;gap:12px}
label{font-size:14px;font-weight:600;display:grid;gap:4px}
input[type=text],input[type=email],input[type=date],input[type=time],input[type=search],input[type=number],textarea,select{
  font:inherit;font-size:16px;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--field);color:var(--ink);width:100%}
textarea{resize:vertical;min-height:64px}
/* iOS Safari: prázdný výběr data/času jinak splaskne a hodnota se zarovná na střed */
input[type=date],input[type=time]{min-height:44px;-webkit-appearance:none;appearance:none}
input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{text-align:left}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width:420px){.grid2{grid-template-columns:1fr}}
.opts{display:grid;gap:8px;border:0;margin:0;padding:0;grid-template-columns:repeat(3,minmax(0,1fr))}
.opts legend{font-weight:700;margin-bottom:8px;font-size:14px}
.opt{display:flex;gap:8px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--field);font-weight:400;cursor:pointer}
.opt:has(input:checked){border-color:var(--ink)}
.opt input{margin:0;accent-color:var(--sign)}
.switch{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:400}
.switch span{display:grid;gap:2px}
.switch input{width:22px;height:22px;accent-color:var(--sign);flex:0 0 auto}
.code-input{font-family:var(--f-mono)!important;font-size:24px!important;letter-spacing:.3em;text-align:center}

/* štítky */
.tag{font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap;display:inline-block;justify-self:start}
.t-ok{background:var(--ok-bg);color:var(--ok)}.t-warn{background:var(--warn-bg);color:var(--warn)}.t-bad{background:var(--bad-bg);color:var(--bad)}.t-n{background:var(--bg);color:var(--muted)}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--ok-bg);color:var(--ok);justify-self:start}

/* seznamy */
.list{display:grid}
.row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;border-top:1px solid var(--line);padding:10px 0}
.row:first-child{border-top:0;padding-top:0}
.row:last-child{padding-bottom:0}
.row .info{min-width:0;overflow-wrap:anywhere}
.steps{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.steps li{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start}
.dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-mono);font-size:12px;background:var(--bg);border:1px solid var(--line)}

.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);
  padding:10px 16px;border-radius:10px;font-weight:600;z-index:50;max-width:calc(100% - 32px);box-shadow:0 6px 20px rgba(0,0,0,.2)}
.empty{color:var(--muted);font-size:14px;padding:6px 0}
.spinner{display:grid;place-items:center;padding:60px 0;color:var(--muted)}

@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
