:root{--ink:#1A2229;--navy:#203140;--slate:#485864;--aqua:#5AB9CA;--paper:#F3F5F5;--white:#fff;--muted:#73808a;--line:#dbe1e4;--danger:#a33b3b;--ok:#2e6f58;--shadow:0 10px 28px rgba(26,34,41,.08)}
*{box-sizing:border-box} body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#eef2f3;color:var(--ink)} button,input,select,textarea{font:inherit}
.topbar{height:68px;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.brand{display:flex;gap:10px;align-items:center;background:none;border:0;color:white;font-weight:800;letter-spacing:.06em}.brand-mark{background:var(--aqua);color:var(--ink);padding:8px 9px;border-radius:7px}.topbar nav{display:flex;gap:6px}.topbar nav button{border:0;background:transparent;color:#dce4e7;padding:10px 12px;border-radius:8px;cursor:pointer}.topbar nav button:hover{background:#2a3944}
.shell{max-width:1180px;margin:0 auto;padding:34px 22px 70px}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--slate);font-weight:800}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.hero h1{font-size:2.15rem;margin:6px 0}.hero p{margin:0;color:var(--muted)}
.card{background:white;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow)}.grid{display:grid;gap:16px}.metrics{grid-template-columns:repeat(4,1fr);margin:20px 0}.metric .value{font-size:1.9rem;font-weight:800;margin-top:8px}.metric .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.two-col{grid-template-columns:1.05fr .95fr}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-title h2{margin:0;font-size:1.15rem}.pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:800;background:#e8f5f7;color:#235c67}.pill.warn{background:#f7eded;color:#843737}.window{display:grid;grid-template-columns:110px 1fr 55px;gap:12px;align-items:center;margin:13px 0}.bar{height:9px;background:#edf0f1;border-radius:20px;overflow:hidden}.bar span{display:block;height:100%;background:var(--aqua);border-radius:20px}.small{font-size:.83rem;color:var(--muted)}
.btn{border:0;border-radius:10px;padding:11px 15px;font-weight:800;cursor:pointer}.btn.primary{background:var(--aqua);color:var(--ink)}.btn.dark{background:var(--ink);color:white}.btn.ghost{background:#eef2f3;color:var(--ink)}.btn.danger{background:#f8e9e9;color:var(--danger)}.btn:disabled{opacity:.45;cursor:not-allowed}.actions{display:flex;gap:9px;flex-wrap:wrap}
.list{display:flex;flex-direction:column;gap:9px}.row{border:1px solid var(--line);border-radius:12px;padding:13px 14px;display:flex;justify-content:space-between;gap:16px;align-items:center}.row strong{display:block}.row .meta{font-size:.82rem;color:var(--muted);margin-top:3px}.money{text-align:right;font-weight:800}.empty{text-align:center;padding:30px;color:var(--muted)}
.form-card{max-width:760px;margin:0 auto}.form-card h2{margin:4px 0 20px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:.79rem;font-weight:800;color:var(--slate);text-transform:uppercase;letter-spacing:.05em}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd4d8;border-radius:9px;padding:11px 12px;background:white;color:var(--ink)}.field input:focus,.field select:focus{outline:2px solid rgba(90,185,202,.28);border-color:var(--aqua)}.divider{height:1px;background:var(--line);margin:22px 0}.athlete-card{border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0;background:#fafcfc}.athlete-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.price-box{background:var(--paper);padding:14px;border-radius:10px;display:flex;justify-content:space-between;align-items:center}.summary-line{display:flex;justify-content:space-between;gap:20px;margin:8px 0}.summary-line.total{font-size:1.2rem;font-weight:800;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.notice{border-left:4px solid var(--aqua);background:#edf8fa;padding:12px 14px;border-radius:8px;margin:14px 0;font-size:.9rem}.success{max-width:640px;margin:45px auto;text-align:center}.success .check{font-size:3rem}.confirmation{font-size:1.45rem;font-weight:900;letter-spacing:.06em;margin:15px}
.setup-grid{grid-template-columns:1fr 1fr}.product{border:1px solid var(--line);border-radius:12px;padding:16px}.product h3{margin:0 0 4px}.product .price{font-size:1.5rem;font-weight:900}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#eef2f3;padding:2px 6px;border-radius:5px}.toast{position:fixed;right:22px;bottom:22px;background:var(--ink);color:white;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow);z-index:20}
@media(max-width:780px){.topbar{padding:0 14px}.topbar nav button{font-size:.78rem;padding:8px}.brand span:last-child{display:none}.shell{padding:24px 14px 60px}.metrics{grid-template-columns:1fr 1fr}.two-col,.setup-grid,.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.hero{align-items:flex-start;flex-direction:column}.hero h1{font-size:1.75rem}.window{grid-template-columns:92px 1fr 48px}}
.clickable{cursor:pointer;transition:.15s ease}.clickable:hover{transform:translateY(-1px);border-color:#5AB9CA;background:#f8fcfd}.detail-athlete{padding:14px 0;border-bottom:1px solid #e4e9ec}.detail-athlete:last-child{border-bottom:0}.big{padding:14px 18px;font-size:15px}.queue-row{display:grid;grid-template-columns:150px 1fr auto;gap:18px;align-items:center;padding:16px 8px;border-bottom:1px solid #e4e9ec}.queue-id{font-weight:800;font-size:18px;letter-spacing:.04em}.queue-row:last-child{border-bottom:0}@media(max-width:700px){.queue-row{grid-template-columns:1fr}.queue-id{font-size:16px}}

.payment-state{border-radius:12px;padding:16px;margin:10px 0 12px;border:2px solid transparent}.payment-state.paid{background:#eaf6ef;border-color:#9bcbb4}.payment-state.due{background:#fff4e8;border-color:#e6bd8c}.payment-kicker{font-size:.76rem;font-weight:900;letter-spacing:.1em}.payment-state.paid .payment-kicker{color:#256447}.payment-state.due .payment-kicker{color:#8a5724}.payment-amount{font-size:1.75rem;font-weight:900;margin:3px 0}.status-paid{background:#eaf6ef;color:#256447}.status-due{background:#fff4e8;color:#8a5724}
/* Milestone 3: iPad Mini digital slate */
.slate-shell{min-height:calc(100vh - 54px);background:#111a21;color:#f3f5f5;padding:18px 24px 30px}.slate-top{max-width:980px;margin:0 auto 16px;display:flex;align-items:center;justify-content:space-between;font-weight:800;letter-spacing:.04em}.slate-brand{background:#5ab9ca;color:#10202a;border-radius:7px;padding:6px 9px;margin-right:8px}.digital-slate{max-width:980px;margin:0 auto;text-align:center;border:2px solid #485864;border-radius:24px;padding:34px;background:#1a2229;box-shadow:0 18px 45px rgba(0,0,0,.28)}.slate-status{display:inline-block;background:#dff4f6;color:#17323a;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:900;letter-spacing:.12em}.slate-id{font-size:clamp(28px,5vw,54px);font-weight:900;letter-spacing:.04em;margin-top:22px}.digital-slate h1{font-size:clamp(42px,8vw,86px);line-height:1;margin:18px 0 12px;text-transform:uppercase}.slate-meta{font-size:clamp(20px,3vw,32px);font-weight:800;color:#5ab9ca}.slate-athlete-meta{font-size:clamp(18px,2.5vw,28px);margin-top:10px;font-weight:700}.slate-qr{width:320px;height:320px;background:white;border-radius:14px;margin:28px auto 22px;padding:10px;display:grid;place-items:center}.slate-qr img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.qr-fallback{display:none;color:#111;font-size:15px;font-weight:900}.slate-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.slate-button{font-size:18px;padding:14px 22px}.slate-next{margin-top:24px;color:#9eabb3;font-size:14px;font-weight:700;letter-spacing:.05em}.slate-empty{text-align:center;max-width:700px;margin:20vh auto}.slate-empty h1{font-size:56px;margin:14px 0}@media(max-width:700px){.slate-shell{padding:10px}.digital-slate{padding:22px 12px}.slate-qr{width:min(280px,72vw);height:min(280px,72vw)}.slate-top{margin-bottom:10px}}

/* v0.3.1 Holding Queue */
.hold-card{margin-top:18px;border:1px solid #e8c88f}.hold-pill{background:#fff1d8;color:#805719}.hold-row{background:#fffaf1}.btn.hold{background:#f2d49b;color:#4c3713;border:1px solid #d7ad61}.btn.hold:hover{background:#eac47d}.hold-return{background:#f2d49b;color:#4c3713;border:1px solid #d7ad61;font-weight:800}.hold-return:hover{background:#eac47d}
.completed-card{margin-top:16px;padding:0;overflow:hidden}
.completed-summary{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;cursor:pointer;list-style:none}
.completed-summary::-webkit-details-marker{display:none}
.completed-summary:after{content:'▾';margin-left:12px;color:#667781}
details[open] .completed-summary:after{content:'▴'}
.completed-list{border-top:1px solid #dbe3e7;padding:0 16px 8px}
.completed-row{opacity:.88}
.reshoot-btn{background:#eef2f4;border:1px solid #d5dfe3;color:#17232b;font-weight:700}

/* v0.4.0 Data Reliability */
.recovery-card{grid-column:1/-1}.recovery-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 16px}.recovery-stats>div{background:#f3f5f5;border-radius:10px;padding:12px}.recovery-stats span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#73808a;font-weight:800;margin-bottom:5px}.recovery-stats strong{font-size:1.05rem}@media(max-width:700px){.recovery-stats{grid-template-columns:1fr 1fr}}

/* v0.4.1 Admin/Edit UX */
.save-indicator{align-self:center;font-size:.75rem;font-weight:800;color:#bfe8d3;background:#243b36;border-radius:999px;padding:7px 10px;white-space:nowrap}.recovery-card{border:2px solid #cfe5ea}.recovery-card .actions{margin-top:14px}@media(max-width:780px){.save-indicator{display:none}}

.connection-indicator{align-self:center;font-size:.75rem;font-weight:800;color:#c8eef4;background:#233a46;border-radius:999px;padding:7px 10px;white-space:nowrap}.connection-indicator.offline{color:#4c3713;background:#f2d49b}@media(max-width:780px){.connection-indicator{font-size:.68rem;padding:6px 8px}}
/* v0.5.0 Cloud Foundation */
.connection-indicator.pending{color:#4c3713;background:#f2d49b}.connection-indicator.synced{color:#bfe8d3;background:#243b36}#auth-button{background:#314754}.form-card #signin-error{color:#9a3d3d;font-weight:700}
