@font-face{font-family:'Baloo 2';font-weight:600;font-display:swap;
  src:url('/fonts/baloo-2-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Baloo 2';font-weight:700;font-display:swap;
  src:url('/fonts/baloo-2-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-weight:400;font-display:swap;
  src:url('/fonts/inter-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-weight:500;font-display:swap;
  src:url('/fonts/inter-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-weight:600;font-display:swap;
  src:url('/fonts/inter-latin-600-normal.woff2') format('woff2')}

:root{
  --teal:#1F7A8C; --teal-deep:#155C6A; --teal-soft:#E9F3F5;
  --yellow:#F6C445; --green:#3B9A61; --red:#B4433C; --red-soft:#FAEDEC;
  --amber:#B07C0C; --amber-soft:#FBF3DF;
  --ink:#17282D; --muted:#5D767D; --faint:#8AA0A6;
  --ground:#F6FAFA; --surface:#FFFFFF; --line:#DDE8EA;
  --head:'Baloo 2','Trebuchet MS',sans-serif;
  --body:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;padding:0}
body{
  background:var(--ground);color:var(--ink);font-family:var(--body);font-size:16px;
  line-height:1.5;-webkit-font-smoothing:antialiased;
  padding-bottom:env(safe-area-inset-bottom);
}
button,input,select,textarea{font:inherit;color:inherit}

/* ---- chrome ---- */
.bar{
  position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;
  background:var(--teal);color:#fff;padding:calc(12px + env(safe-area-inset-top)) 14px 12px;
}
.bar .title{font-family:var(--head);font-weight:700;font-size:20px;flex:1;text-align:center}
.icon{
  background:rgba(255,255,255,.16);border:0;color:#fff;width:38px;height:38px;
  border-radius:12px;font-size:20px;line-height:1;cursor:pointer;
}
.icon:active{background:rgba(255,255,255,.3)}

.screen{padding:18px 16px 40px;max-width:560px;margin:0 auto}
.screen.center{min-height:100dvh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center}

.mark{display:block;width:104px;height:auto}
.sub{color:var(--muted);margin:6px 0 22px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;
  padding:20px;width:100%;max-width:340px;text-align:left}

/* ---- forms ---- */
.lbl{display:block;font-size:13px;font-weight:600;letter-spacing:.4px;
  text-transform:uppercase;color:var(--faint);margin:20px 0 7px}
.lbl .opt{text-transform:none;letter-spacing:0;font-weight:400}
label{display:block;font-size:13px;font-weight:600;color:var(--faint);margin-bottom:6px}
input[type=text],input[type=password],input[type=datetime-local],input:not([type]),
select,textarea{
  width:100%;background:var(--surface);border:1.5px solid var(--line);
  border-radius:13px;padding:13px 14px;outline:none;
}
textarea{resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{border-color:var(--teal);
  box-shadow:0 0 0 3px var(--teal-soft)}
input[type=file]{width:100%;padding:10px 0}

button.primary{
  width:100%;margin-top:22px;background:var(--teal);color:#fff;border:0;
  border-radius:999px;padding:16px;font-size:17px;font-weight:600;cursor:pointer;
}
button.primary:active{background:var(--teal-deep)}
button.primary:disabled{background:#A9C6CC;cursor:default}
button.ghost{
  width:100%;margin-top:10px;background:transparent;color:var(--teal);
  border:1.5px solid var(--line);border-radius:999px;padding:14px;
  font-size:16px;font-weight:600;cursor:pointer;
}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  background:var(--surface);border:1.5px solid var(--line);border-radius:999px;
  padding:10px 16px;font-size:15px;font-weight:500;cursor:pointer;color:var(--muted);
}
.chip.on{background:var(--teal);border-color:var(--teal);color:#fff}

.check{display:flex;align-items:center;gap:9px;margin:10px 0;font-size:15px;
  font-weight:400;color:var(--ink);text-transform:none;letter-spacing:0}
.check input{width:20px;height:20px;accent-color:var(--teal)}

#photoBox img{width:100%;border-radius:14px;margin-bottom:10px;display:block}

.row{display:flex;gap:10px;align-items:center;margin-top:22px}
.row input{flex:1}
.row button{margin-top:0;width:auto;padding:14px 20px;white-space:nowrap}

/* ---- pick ---- */
.lead{font-family:var(--head);font-weight:600;font-size:22px;margin:4px 0 14px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pickopt{position:relative;border:2.5px solid var(--line);border-radius:16px;
  overflow:hidden;background:var(--surface);cursor:pointer;padding:0;display:block}
.pickopt img{width:100%;display:block;aspect-ratio:1;object-fit:cover}
.pickopt.sel{border-color:var(--teal)}
.pickopt .zname{display:block;padding:16px 14px;text-align:left;
  font-family:var(--head);font-weight:600;font-size:17px;color:var(--ink)}
.pickopt .ztag{display:block;padding:0 14px 16px;text-align:left;font-size:12.5px;
  color:var(--muted);letter-spacing:.3px}
.note{background:var(--amber-soft);color:var(--amber);border-radius:12px;
  padding:12px 14px;font-size:14px;margin-top:14px}

/* ---- review ---- */
.tabs{display:flex;gap:6px;background:var(--surface);border:1px solid var(--line);
  border-radius:999px;padding:5px;margin-bottom:16px}
.tab{flex:1;border:0;background:transparent;border-radius:999px;padding:10px 6px;
  font-size:14.5px;font-weight:600;color:var(--muted);cursor:pointer}
.tab.on{background:var(--teal);color:#fff}
.preview{border-radius:16px;overflow:hidden;border:1px solid var(--line);
  background:var(--surface)}
.preview img{width:100%;display:block}

.check-item{display:flex;gap:9px;align-items:flex-start;padding:11px 13px;
  border-radius:11px;margin-top:10px;font-size:14.5px;line-height:1.45}
.check-item.err{background:var(--red-soft);color:var(--red)}
.check-item.warn{background:var(--amber-soft);color:var(--amber)}
.check-item.ok{background:var(--teal-soft);color:var(--teal);font-weight:500}

/* ---- history ---- */
.hist{list-style:none;margin:0;padding:0}
.hist li{background:var(--surface);border:1px solid var(--line);border-radius:15px;
  padding:15px 17px;margin-bottom:11px}
.hist .when{font-size:12.5px;color:var(--faint);letter-spacing:.3px}
.hist .txt{margin:5px 0 10px;font-size:15px;line-height:1.45}
.pill{display:inline-block;font-size:12px;font-weight:600;padding:4px 11px;
  border-radius:999px;margin-right:6px}
.pill.posted{background:var(--teal-soft);color:var(--teal)}
.pill.scheduled{background:var(--amber-soft);color:var(--amber)}
.pill.failed{background:var(--red-soft);color:var(--red)}
.empty{text-align:center;color:var(--faint);margin-top:60px}

.err{background:var(--red-soft);color:var(--red);border-radius:12px;
  padding:12px 14px;font-size:14.5px;margin-top:14px}

/* ---- busy ---- */
.busy{position:fixed;inset:0;background:rgba(246,250,250,.94);z-index:20;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.busy p{color:var(--muted);margin:0}
.spinner{width:44px;height:44px;border-radius:50%;
  border:4px solid var(--teal-soft);border-top-color:var(--teal);
  animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}
