/* Chip ops staff app — mockup styles. Brand: Quicksand, gold #aa8a40, cream, black. High contrast for bright light. */
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@500;600;700&display=swap');
:root { --gold:#aa8a40; --gold-text:#6b5322; --gold-soft:#efe4c8; --cream:#f7f1e3; --black:#141210; --ink:#141210; --muted:#4a443b; --line:#d9cdb0; --ok:#1d6b3a; --warn:#8a2a12; }
* { box-sizing:border-box; }
html, body { margin:0; background:var(--cream); color:var(--ink); font-family:Quicksand, system-ui, sans-serif; }
.phone { width:390px; height:844px; margin:0; background:var(--cream); display:flex; flex-direction:column; overflow:hidden; }
.top { display:flex; align-items:center; justify-content:space-between; padding:18px 20px 10px; }
.brand { font-weight:700; font-size:22px; letter-spacing:.5px; text-transform:lowercase; }
.brand b { color:var(--gold); }
.pill { font-weight:700; font-size:15px; border:2px solid var(--ink); border-radius:999px; padding:6px 12px; }
.who { margin:0 20px 8px; font-size:16px; color:var(--muted); font-weight:600; }
.who u { color:var(--ink); text-decoration-color:var(--gold); text-decoration-thickness:3px; }
.wrap { padding:6px 20px 20px; flex:1; display:flex; flex-direction:column; gap:14px; }
.card { background:#fff; border:2px solid var(--ink); border-radius:22px; padding:18px; }
.card.next { border-color:var(--gold); border-width:4px; }
.eyebrow { font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; color:var(--gold-text); }
.big { font-size:30px; font-weight:700; line-height:1.15; margin:6px 0 4px; }
.sub { font-size:18px; font-weight:600; color:var(--muted); }
.btn { display:flex; align-items:center; justify-content:center; min-height:64px; border-radius:18px; font:700 22px Quicksand, sans-serif;
       border:3px solid var(--ink); background:#fff; color:var(--ink); width:100%; text-transform:lowercase; }
.btn.primary { background:var(--ink); color:var(--cream); border-color:var(--ink); min-height:76px; font-size:26px; }
.btn.gold { background:var(--gold); color:var(--ink); border-color:var(--gold); }
.row { display:flex; gap:12px; } .row > * { flex:1; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.grid3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }
.chip { min-height:64px; border-radius:16px; border:3px solid var(--ink); background:#fff; font:700 20px Quicksand; display:flex; align-items:center; justify-content:center; text-transform:lowercase; }
.chip.on { background:var(--ink); color:var(--cream); }
.chip.shift { border-color:var(--gold); }
.small { font-size:15px; color:var(--muted); font-weight:600; }
.list .item { display:flex; justify-content:space-between; align-items:center; padding:12px 0; border-top:2px solid var(--line); font-size:19px; font-weight:600; }
.list .item:first-child { border-top:0; }
.tag { font-size:14px; font-weight:700; padding:4px 10px; border-radius:999px; background:var(--gold-soft); }
.tag.done { background:#d8ead9; color:var(--ok); }
.stepper { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.stepper .s { width:84px; height:84px; border-radius:22px; border:3px solid var(--ink); background:#fff; font:700 44px Quicksand; display:flex; align-items:center; justify-content:center; }
.stepper .v { font-size:56px; font-weight:700; text-align:center; flex:1; }
.check { width:120px; height:120px; border-radius:50%; background:var(--ok); color:#fff; font-size:72px; display:flex; align-items:center; justify-content:center; margin:20px auto 8px; }
.banner { margin:0 20px; padding:12px 16px; border-radius:14px; font-weight:700; font-size:17px; background:var(--gold-soft); border:2px solid var(--gold); }
.foot { padding:12px 20px 26px; display:flex; flex-direction:column; gap:10px; }
.q { font-size:24px; font-weight:700; margin:4px 0 2px; }
.steps { font-size:14px; font-weight:700; color:var(--gold-text); letter-spacing:1px; text-transform:uppercase; }
.cam { flex:1; border-radius:22px; background:#2a2621; display:flex; align-items:flex-end; justify-content:center; padding:24px; color:#fff; font-weight:700; }
.shutter { width:92px; height:92px; border-radius:50%; border:8px solid #fff; background:#fff; box-shadow:0 0 0 4px var(--gold); }

/* ---- app additions ---- */
body { min-height:100vh; }
#app { max-width:520px; margin:0 auto; min-height:100vh; display:flex; flex-direction:column; }
.phone { width:auto; height:auto; min-height:100vh; margin:0; }
button, label.btn, label.chip { cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button:active, label.btn:active, label.chip:active { transform:scale(.98); }
.chip { padding:0 10px; text-align:center; line-height:1.15; }
.linkbtn { background:none; border:0; font:700 17px Quicksand; color:var(--ink); text-decoration:underline; text-decoration-color:var(--gold); text-decoration-thickness:3px; padding:12px; min-height:48px; }
.err { background:#fbe3dc; border:2px solid var(--warn); color:var(--warn); border-radius:14px; padding:12px 14px; font-weight:700; }
.field { width:100%; min-height:60px; font:600 20px Quicksand; padding:12px 16px; border:3px solid var(--ink); border-radius:16px; background:#fff; }
.hidden { display:none !important; }
.done-tag { color:var(--ok); }
input[type=file] { position:absolute; left:-9999px; }
.seg { display:flex; gap:8px; } .seg .chip { flex:1; min-height:56px; }
@media (min-width: 900px) {          /* iPad crew board: two columns (full board is step d) */
  #app { max-width:1180px; }
  .home-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:20px; align-items:start; }
  .big { font-size:40px; }
}
