:root {
  --bg:#050505;
  --ink:#fff7e8;
  --muted:#b9ab91;
  --line:rgba(255,216,143,.18);
  --gold:#d8ad55;
  --gold2:#fff0b9;
  --panel:rgba(18,18,18,.86);
  --panel2:rgba(30,29,27,.78);
  --danger:#ff6a56;
  --bad:#ff8a78;
  --warn:#ffca72;
  --ok:#52e0a4;
  --r:28px;
  --shadow:0 32px 90px rgba(0,0,0,.55);
}
* { box-sizing: border-box; }
html { min-height: 100%; background: var(--bg); }
body {
  margin: 0;
  min-height: 100%;
  font-family: -apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color: var(--ink);
  background:
    radial-gradient(circle at 20% 0%, rgba(216,173,85,.24), transparent 31%),
    radial-gradient(circle at 90% 12%, rgba(255,240,185,.10), transparent 24%),
    linear-gradient(145deg, #050505, #101010 52%, #050505);
  overflow-x: hidden;
}
body:before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}
.shell { width:100%; max-width:586px; margin:0 auto; padding:18px 13px 34px; }
.topline { min-height:44px; height:auto; display:flex; justify-content:space-between; align-items:center; gap:12px; color:#e9d6a7; font-size:13px; padding:0 10px 12px; opacity:.9; font-weight:500; letter-spacing:0; }
.portal-back-link { display:inline-flex; align-items:center; gap:8px; margin:0 0 12px 10px; color:#ffe7a1; text-decoration:none; border:1px solid rgba(216,173,85,.3); background:rgba(216,173,85,.08); border-radius:999px; padding:10px 13px; font-size:13px; font-weight:800; }
.form-card { margin:0 13px; border:1px solid var(--line); border-radius:44px; background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025)),rgba(8,8,8,.86); box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.12); overflow:hidden; backdrop-filter:blur(24px); padding:0; }
.intro { padding:28px 24px 18px; border-bottom:0; margin:0; background:radial-gradient(circle at 80% -10%,rgba(255,224,142,.22),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.05),transparent); }
.pill { display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(216,173,85,.34); border-radius:999px; padding:9px 12px; background:rgba(216,173,85,.09); color:#ffe7a1; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.pill span { width:7px; height:7px; border-radius:50%; background:var(--ok); box-shadow:0 0 16px var(--ok); }
h1 { font-size:clamp(34px,9vw,58px); line-height:.88; letter-spacing:-.075em; margin:20px 0 12px; color:var(--ink); }
p { color:var(--muted); font-size:15px; line-height:1.45; margin:0; max-width:36rem; }
.intro:after { content:""; display:block; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); margin:22px 0 0; }
.step-card { background:linear-gradient(180deg,var(--panel),rgba(12,12,12,.86)); border:1px solid var(--line); border-radius:var(--r); padding:18px; margin:14px 22px; box-shadow:0 16px 50px rgba(0,0,0,.24); }
.step-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:14px; }
h2 { font-size:17px; margin:0; letter-spacing:-.02em; color:var(--ink); }
.step-head strong { font-size:11px; color:var(--gold); text-transform:uppercase; letter-spacing:.16em; font-weight:900; }
.grid.two { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.wide { grid-column:1 / -1; }
label { display:flex; flex-direction:column; gap:7px; font-size:12px; font-weight:800; color:#ead8ae; letter-spacing:.02em; }
input, select, textarea, button { font:inherit; }
input, select, textarea { width:100%; appearance:none; border:1px solid rgba(255,216,143,.18); border-radius:18px; background:rgba(255,255,255,.065); color:#fff7e8; padding:15px 14px; font-size:16px; outline:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
input::placeholder, textarea::placeholder { color:#8f816a; opacity:1; }
input:focus, select:focus, textarea:focus { border-color:rgba(255,224,142,.7); box-shadow:0 0 0 4px rgba(216,173,85,.13); }
.notice { margin:14px 22px; padding:13px 14px; border:1px solid rgba(216,173,85,.26); border-radius:18px; background:rgba(216,173,85,.08); color:#fff0b9; font-size:13px; line-height:1.35; font-weight:800; }
.status { border-radius:18px; padding:13px 14px; margin-bottom:14px; border:1px solid rgba(255,255,255,.13); background:rgba(255,255,255,.045); color:var(--muted); font-size:13px; line-height:1.45; font-weight:800; }
.status.ok { color:var(--ok); border-color:rgba(82,224,164,.42); background:rgba(82,224,164,.08); }
.status.warning { color:var(--warn); border-color:rgba(255,202,114,.48); background:rgba(255,202,114,.08); }
.status.issue { color:var(--bad); border-color:rgba(255,127,142,.48); background:rgba(255,127,142,.09); }
.status.danger { color:#fff; border-color:rgba(255,106,86,.72); background:rgba(255,106,86,.18); box-shadow:0 0 0 2px rgba(255,106,86,.12); }
.table-wrap { overflow:visible; border:0; border-radius:0; background:transparent; }
table, thead, tbody, tr, th, td { display:block; width:100%; }
table { border-collapse:separate; border-spacing:0; }
thead { display:none; }
tbody { display:block; }
tr { margin:0 0 14px; border:1px solid rgba(255,216,143,.16); border-radius:22px; padding:16px; background:rgba(255,255,255,.035); }
th, td { border-bottom:0; padding:0; text-align:left; vertical-align:middle; }
th { color:var(--gold2); background:rgba(0,0,0,.26); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
td { display:grid; grid-template-columns:1fr; gap:7px; align-items:start; min-width:0; padding:10px 0; border-bottom:1px solid rgba(255,216,143,.08); }
td:last-child { border-bottom:0; padding-bottom:0; }
td::before { content:attr(data-label); display:block; color:var(--gold2); font-size:11px; font-weight:950; letter-spacing:.05em; text-transform:uppercase; line-height:1.2; }
td.fixed { color:var(--ink); font-weight:850; background:transparent; min-width:0; font-size:17px; }
td.fixed small { display:block; color:var(--muted); font-size:12px; line-height:1.35; margin-top:5px; }
td.money-cell { color:var(--ok); font-weight:950; white-space:normal; font-size:17px; }
td input { min-width:0; width:100%; min-height:52px; padding:13px 12px; text-align:left; }
.row-status { min-width:0; font-size:13px; font-weight:800; line-height:1.35; color:var(--muted); overflow-wrap:anywhere; }
tr.ok { background:rgba(82,224,164,.035); }
tr.warning { background:rgba(255,202,114,.06); }
tr.issue { background:rgba(255,138,120,.055); }
tr.danger { background:rgba(255,106,86,.12); outline:2px solid rgba(255,106,86,.42); }
.notes { margin-top:14px; }
.total-box { display:flex; align-items:center; justify-content:space-between; gap:14px; border:1px solid rgba(82,224,164,.26); border-radius:22px; padding:16px; margin-bottom:15px; background:rgba(82,224,164,.06); }
.total-box span { color:var(--muted); font-weight:900; text-transform:uppercase; letter-spacing:.08em; font-size:12px; }
.total-box strong { font-size:clamp(32px,7vw,46px); color:var(--ok); letter-spacing:-.04em; }
.toolbar { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:15px; }
.toolbar.stacked button { flex:1 1 190px; }
button { cursor:pointer; border:0; border-radius:22px; padding:16px 18px; font-size:15px; font-weight:950; color:#100b05; background:linear-gradient(135deg,#fff1b8,#d8ad55 48%,#a56e25); box-shadow:0 18px 42px rgba(216,173,85,.22), inset 0 1px 0 rgba(255,255,255,.55); }
button.primary { color:#100b05; background:linear-gradient(135deg,#fff1b8,#d8ad55 48%,#a56e25); }
button.danger { color:#ffe7a1; background:transparent; border:1px solid rgba(255,216,143,.25); box-shadow:none; }
.inline { display:flex; align-items:center; gap:8px; color:var(--gold2); }
.inline input { width:auto; }
.actions { margin-bottom:22px; }
@media (min-width: 900px) {
  .shell { width:min(640px, calc(100% - 42px)); }
}
@media (max-width: 520px) {
  .shell { width:100%; padding:0; }
  .portal-back-link { margin:12px 0 12px 12px; }
  .form-card { border-radius:0; border-left:0; border-right:0; min-height:100vh; }
  .grid.two { grid-template-columns:1fr; }
  .step-card { margin:12px; padding:16px; }
  .notice { margin:12px; }
  .toolbar button { width:100%; }
  td { grid-template-columns:1fr; gap:7px; }
  td input { width:100%; font-size:16px; }
  .total-box { align-items:flex-start; flex-direction:column; }
}
@media print {
  body { background:white; color:black; }
  .topline, .intro, .actions, .portal-back-link { display:none; }
  .shell { width:100%; margin:0; padding:0; }
  .form-card, .step-card { border:none; box-shadow:none; padding:0; background:white; }
  input, select, textarea { color:black; border:none; background:white; }
  th { color:black; background:#ddd; }
}


.theme-toggle{appearance:none;border:1px solid rgba(216,173,85,.36);background:rgba(216,173,85,.10);color:#ffe7a1;border-radius:999px;padding:8px 11px;font:900 12px -apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:.02em;min-height:36px;box-shadow:none;cursor:pointer}.theme-toggle:active{transform:translateY(1px)}
body.theme-light{--bg:#fbfaf7;--ink:#181716;--muted:#6f675d;--line:rgba(35,26,15,.13);--gold:#b78631;--gold2:#7a4f12;--panel:rgba(255,255,255,.92);--panel2:rgba(249,244,235,.94);--cream:#181716;--card:#fffaf0;color:var(--ink)!important;background:radial-gradient(circle at 16% -10%,rgba(201,164,92,.20),transparent 30%),linear-gradient(135deg,#fbfaf7 0%,#f4efe6 52%,#efe7da 100%)!important}body.theme-light:before,body.theme-light.noise:before{opacity:.10;mix-blend-mode:multiply}body.theme-light .statusbar,body.theme-light .topline{color:#6f675d!important}body.theme-light .app,body.theme-light .form-card{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(249,244,235,.94))!important;border-color:rgba(35,26,15,.13)!important;box-shadow:0 18px 60px rgba(17,17,17,.10),inset 0 1px 0 rgba(255,255,255,.72)!important}body.theme-light .hero,body.theme-light .intro{background:radial-gradient(circle at 80% -10%,rgba(201,164,92,.22),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.76),transparent)!important}body.theme-light .card,body.theme-light .step-card,body.theme-light .choice,body.theme-light .food-card,body.theme-light .history-card{background:rgba(255,255,255,.88)!important;border-color:rgba(35,26,15,.13)!important;color:var(--ink)!important;box-shadow:0 10px 28px rgba(17,17,17,.055)!important}body.theme-light h1,body.theme-light h2,body.theme-light h3,body.theme-light label,body.theme-light .copy h2,body.theme-light td.fixed{color:var(--ink)!important}body.theme-light p,body.theme-light .sub,body.theme-light .history-meta,body.theme-light .item-sub,body.theme-light .row-status{color:var(--muted)!important}body.theme-light input,body.theme-light select,body.theme-light textarea{background:rgba(255,255,255,.84)!important;color:var(--ink)!important;border-color:rgba(35,26,15,.14)!important}body.theme-light input::placeholder,body.theme-light textarea::placeholder{color:#9b9285!important}body.theme-light .portal-back-link,body.theme-light .theme-toggle,body.theme-light .badge,body.theme-light .pill{background:rgba(201,164,92,.12)!important;color:#7a4f12!important;border-color:rgba(201,164,92,.34)!important}body.theme-light button:not(.primary):not([type="submit"]),body.theme-light .secondary,body.theme-light .ghost{background:rgba(24,23,22,.06)!important;color:var(--ink)!important;border-color:rgba(35,26,15,.14)!important}body.theme-light button.primary,body.theme-light button[type="submit"]{background:linear-gradient(135deg,#f4dfaa,#c9a45c)!important;color:#170f05!important;border-color:#c9a45c!important}body.theme-light .notice,body.theme-light .status{background:rgba(201,164,92,.10)!important;color:#6f675d!important;border-color:rgba(201,164,92,.24)!important}body.theme-light table,body.theme-light tr{background:rgba(255,255,255,.78)!important}body.theme-light th{background:rgba(35,26,15,.06)!important;color:#7a4f12!important}body.theme-light .footer{color:#7a4f12!important}body.theme-light .icon,.theme-light .arrow{color:#7a4f12!important}


.theme-toggle{width:auto!important;max-width:max-content!important;min-width:96px!important;height:40px!important;min-height:40px!important;padding:0 13px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}

body,input,select,textarea,button{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif!important}
