/* Copied verbatim from docs/design/IndoAI_AI_Advisor_Web_Prototype_v1.html (its <style>),
   then extended below the marker for what the prototype only mocked. */
:root{
  --blue:#144DD1;--blue-ink:#0E3AA3;--blue-soft:#E8EEFB;--gold:#D5B657;--gold-soft:#FBF5E3;--gold-ink:#7A5B0C;
  --ink:#0F1625;--ink-soft:#3A4256;--muted:#6B7280;--line:#E3E6EE;--ground:#F4F6FB;--white:#fff;
  --ok:#16A34A;--ok-soft:#E7F6EC;--ok-ink:#15803D;--warn:#B45309;--bad:#B91C1C;--bad-soft:#FCE8E8;--wa:#25D366;
  --disp:'Bricolage Grotesque',sans-serif;--body:'Hanken Grotesk',sans-serif;--mono:'IBM Plex Mono',monospace;
  --max:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--white);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;min-width:0}
img{display:block;max-width:100%}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
button:focus-visible,[tabindex]:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue-soft);outline-offset:2px;border-color:var(--blue)}
.mono{font-family:var(--mono)}
.link{color:var(--blue);font-weight:500;text-decoration:none}
.link:hover{text-decoration:underline}

/* ---------- header ---------- */
.site{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site .in{max-width:var(--max);margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:20px}
.site img{height:30px}
.site nav{margin-left:auto;display:flex;align-items:center;gap:10px}
.site nav a{text-decoration:none;color:var(--ink-soft);font-size:15px;padding:8px 12px;border-radius:8px}
.site nav a:hover{background:var(--ground)}
.site .cta{display:flex;gap:8px;margin-left:8px}
.b{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:11px;font-weight:600;font-size:15px;white-space:nowrap;transition:transform .08s}
.b:active{transform:translateY(1px)}
.b.pri{background:var(--blue);color:#fff}
.b.pri:hover{background:var(--blue-ink)}
.b.out{border:1.5px solid var(--line);color:var(--ink);background:#fff}
.b.wa{background:var(--wa);color:#fff}
.b.gold{background:var(--gold);color:var(--ink)}
.b.lg{height:56px;font-size:17px;padding:0 26px;border-radius:14px}
.b.full{width:100%}
.b.dis{background:#C7CCD8;color:#fff;cursor:not-allowed}
@media (max-width:760px){.site nav a{display:none}.site .cta .out{display:none}}

/* ---------- app shell ---------- */
.app{max-width:var(--max);margin:0 auto;padding:36px 24px 100px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:start}
.stage{min-width:0;max-width:720px}
.rail{position:sticky;top:88px;min-width:0}
@media (max-width:1000px){.app{grid-template-columns:1fr;gap:28px}.rail{position:static}}

/* screens */
.screen{display:none;animation:in .28s ease-out}
.screen.on{display:block}
@keyframes in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.screen{animation:none}}

/* progress */
.prog{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.prog .bar{flex:1;height:4px;background:var(--line);border-radius:2px;overflow:hidden}
.prog .bar i{display:block;height:100%;background:var(--blue);width:0;transition:width .3s}
.prog .n{font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap}

.adv{display:flex;gap:12px;align-items:flex-start;margin-bottom:22px}
.adv .av{width:34px;height:34px;border-radius:10px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:700;font-size:15px;flex:none}
.adv .bub{background:var(--ground);border-radius:4px 16px 16px 16px;padding:14px 18px;font-size:16px;line-height:1.5;max-width:60ch}
.adv .bub.small{font-size:15px}
h1.q{font-family:var(--disp);font-size:clamp(28px,3.6vw,40px);line-height:1.1;font-weight:600;letter-spacing:-.02em;margin:0 0 12px;max-width:22ch}
h2.q{font-family:var(--disp);font-size:clamp(22px,2.6vw,28px);line-height:1.15;font-weight:600;letter-spacing:-.015em;margin:22px 0 10px;max-width:26ch}
.sub{color:var(--ink-soft);font-size:17px;margin-bottom:22px;max-width:60ch}
.ta{width:100%;border:1.5px solid var(--line);border-radius:14px;padding:16px 18px;min-height:130px;font:inherit;font-size:17px;color:var(--ink);line-height:1.5;resize:vertical;background:#fff}
.ta::placeholder{color:var(--muted)}
.ta:focus{border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-soft);outline:0}
.field{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:12px;padding:0 16px;height:54px;font-size:17px;background:#fff;max-width:420px}
.field:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}
.field input{border:0;outline:0;flex:1;font:inherit;font-size:17px;min-width:0;background:transparent}
.field .pre{font-family:var(--mono);color:var(--muted)}
.field.sel{cursor:pointer;color:var(--muted)}
.otp{display:flex;gap:10px;margin:18px 0 8px;max-width:420px}
.otp input{flex:1;height:58px;min-width:0;border:1.5px solid var(--line);border-radius:12px;text-align:center;font-family:var(--mono);font-size:22px;font-weight:500}
.otp input:focus{border-color:var(--blue);background:var(--blue-soft);outline:0}
.actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:28px}
.fine{font-size:13.5px;color:var(--muted);line-height:1.45}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 16px}
.chip{border:1.5px solid var(--line);border-radius:999px;padding:12px 18px;font-size:16px;background:#fff;line-height:1.2;text-align:left;transition:border-color .12s,background .12s}
.chip:hover{border-color:#B9C2D6}
.chip.on{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-ink);font-weight:600}
.chip.ns{border-style:dashed}
.chip small{display:block;font-size:12.5px;color:var(--muted);font-weight:400;margin-top:2px}
.chips.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.chips.grid .chip{border-radius:12px;padding:14px;text-align:center}
.chips.col{flex-direction:column;max-width:520px}
.chips.col .chip{border-radius:12px;padding:14px 16px}
.typed{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:12px;padding:0 6px 0 16px;height:50px;max-width:520px;margin-top:8px}
.typed input{border:0;outline:0;flex:1;font:inherit;font-size:15.5px;min-width:0}
.typed button{color:var(--blue);font-weight:600;padding:8px 12px}
.back{display:inline-block;margin-top:22px;color:var(--muted);font-size:15px}
.up{display:flex;gap:14px;align-items:center;border:1.5px dashed var(--blue);background:var(--blue-soft);border-radius:14px;padding:16px 18px;margin-bottom:10px;max-width:520px;width:100%;text-align:left}
.up .ic{width:44px;height:44px;border-radius:11px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;flex:none}
.up b{display:block;font-weight:600;font-size:16px}
.up span{display:block;font-size:14px;color:var(--ink-soft)}
.photo{height:150px;border-radius:14px;background:linear-gradient(135deg,#dfe4ee,#c9d0dd);position:relative;padding:12px;display:flex;align-items:flex-end;font-family:var(--mono);font-size:12px;color:var(--ink-soft);margin-bottom:12px;max-width:520px}
.photo .tag{position:absolute;top:12px;right:12px;background:var(--ok);color:#fff;font-size:12px;padding:4px 10px;border-radius:7px;font-family:var(--body);font-weight:600}
.pl{border-top:1px solid var(--line);max-width:640px}
.pl button{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:16.5px;line-height:1.45;text-align:left}
.pl button:hover{background:var(--ground);margin:0 -10px;padding:14px 10px;width:calc(100% + 20px)}
.pl em{font-style:normal;color:var(--muted);font-family:var(--mono);font-size:14px;padding-top:3px;flex:none}
.tag{display:inline-block;background:var(--gold-soft);color:var(--gold-ink);font-family:var(--mono);font-size:11.5px;padding:2px 7px;border-radius:5px;margin-left:8px;vertical-align:middle}
.steps{margin:18px 0 6px;max-width:520px}
.steps div{display:flex;gap:14px;align-items:center;padding:12px 0;font-size:17px}
.steps .d{width:24px;height:24px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:12px}
.steps .done .d{background:var(--ok);color:#fff}
.steps .now .d{border:3px solid var(--blue);border-top-color:transparent;animation:spin 1s linear infinite}
.steps .todo{color:var(--muted)}.steps .todo .d{border:1.5px solid var(--line)}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.steps .now .d{animation:none;border-top-color:var(--blue)}}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--ink-soft);margin-top:12px;max-width:520px}
.chk input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--blue)}

/* ---------- rail (right column) ---------- */
.card{border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff}
.card h4{font-family:var(--disp);font-size:15px;font-weight:600;color:var(--muted);margin-bottom:12px}
.rail .so{list-style:none}
.rail .so li{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.4;color:var(--muted)}
.rail .so li:last-child{border:0}
.rail .so li.f{color:var(--ink)}
.rail .so li i{font-style:normal;width:18px;flex:none;color:var(--line)}
.rail .so li.f i{color:var(--ok)}
.rail .tip{margin-top:14px;font-size:13.5px;color:var(--muted);line-height:1.45}
.rail .wa{margin-top:14px;display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-soft)}
.rail .wa .dot{width:10px;height:10px;border-radius:50%;background:var(--wa)}

/* ---------- plan page ---------- */
.plan{max-width:var(--max);margin:0 auto;padding:36px 24px 120px;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:56px;align-items:start}
.plan .body{min-width:0;max-width:720px}
.plan .side{position:sticky;top:88px;min-width:0}
@media (max-width:1000px){.plan{grid-template-columns:1fr;gap:28px}.plan .side{display:contents}.plan .sum{order:-1}.plan .ask{order:99}}
.pt{font-family:var(--disp);font-size:14px;color:var(--muted);font-weight:500}
.plan h1{font-family:var(--disp);font-size:clamp(30px,4vw,44px);line-height:1.08;font-weight:600;letter-spacing:-.02em;margin:4px 0 10px}
.band{display:inline-flex;align-items:center;gap:10px;background:var(--gold-soft);color:var(--gold-ink);border-radius:10px;padding:8px 14px;font-size:14.5px;margin:6px 0 30px}
.band a{color:inherit;font-weight:600}
.sec{padding:30px 0;border-top:1px solid var(--line)}
.sec h2{font-family:var(--disp);font-size:24px;font-weight:600;letter-spacing:-.015em;margin-bottom:14px}
.sec p{font-size:17px;line-height:1.6;max-width:62ch}
.sys{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:640px){.sys{grid-template-columns:1fr}}
.sc{border:1px solid var(--line);border-radius:14px;padding:16px}
.sc .t{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.sc .t b{font-family:var(--disp);font-size:17px;font-weight:600}
.sc .t span{font-family:var(--mono);font-size:12.5px;color:var(--muted);white-space:nowrap}
.sc p{font-size:15px;color:var(--ink-soft);margin:6px 0 10px;line-height:1.45}
.sc .m{display:flex;flex-wrap:wrap;gap:6px}
.sc .m i{font-style:normal;font-size:12.5px;padding:4px 9px;border-radius:7px;background:var(--ground);color:var(--ink-soft)}
.sc .m i.ok{background:var(--ok-soft);color:var(--ok-ink)}
.sc .m i.al{background:var(--blue-soft);color:var(--blue-ink)}
.sc .m button{font-size:12.5px;color:var(--blue);font-weight:600;padding:4px 6px}
.sc.edge{border-color:var(--blue);background:linear-gradient(180deg,#fff,var(--blue-soft));grid-column:1/-1}
.pr{border:1px solid var(--line);border-radius:14px;overflow:hidden;max-width:640px}
.pr .r{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);font-size:16px}
.pr .r .ex{font-size:13px;color:var(--muted);margin-left:8px}
.pr .r .v{font-family:var(--mono);font-size:16px;text-align:right}
.pr .r .v small{display:block;font-size:12.5px;color:var(--muted)}
.pr .r.tot{background:var(--ground);font-weight:600}
.pr .r.tot .v{color:var(--blue);font-size:19px}
.pr .r:last-child{border:0}
.pr .r.tog{cursor:pointer}
.pr .r.tog .ex::after{content:' ▾'}
.pr .r.tog.open .ex::after{content:' ▴'}
.pr .subl{display:none;padding:6px 16px 12px 32px;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}
.pr .subl.open{display:block}
.pr .subl span{display:flex;justify-content:space-between;padding:4px 0}
.pr .subl em{font-style:normal;font-family:var(--mono);font-size:13px}
.note{font-size:14px;color:var(--muted);margin-top:12px;line-height:1.5;max-width:62ch}
.asm{border-left:3px solid var(--gold);padding:2px 0 2px 16px;margin-bottom:14px;max-width:62ch}
.asm b{display:block;font-size:16px;font-weight:600}
.asm span{display:block;font-size:15px;color:var(--ink-soft);line-height:1.5}
.asm em{font-style:normal;font-family:var(--mono);color:var(--warn)}
.inst{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:640px}
@media (max-width:640px){.inst{grid-template-columns:1fr 1fr}}
.inst div{background:var(--ground);border-radius:12px;padding:14px}
.inst b{display:block;font-family:var(--mono);font-size:22px;color:var(--blue)}
.inst span{font-size:13.5px;color:var(--ink-soft)}
/* side card */
.sum{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff;box-shadow:0 10px 30px rgba(15,22,37,.06)}
.sum .l1{font-family:var(--disp);font-size:14px;color:var(--muted)}
.sum .l2{font-family:var(--disp);font-size:20px;font-weight:600;margin:2px 0 14px}
.sum .lines div{display:flex;justify-content:space-between;font-size:15px;padding:7px 0;border-bottom:1px solid var(--line)}
.sum .lines div span:last-child{font-family:var(--mono)}
.sum .lines div.t{font-weight:600;border:0;padding-top:12px}
.sum .lines div.t span:last-child{color:var(--blue);font-size:22px}
.sum .under{font-size:13px;color:var(--ink-soft);margin:12px 0 0;line-height:1.45}
.sum .links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-size:14px}
.ask{margin-top:14px;border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--ground)}
.ask h4{font-family:var(--disp);font-size:15px;font-weight:600;margin-bottom:8px}
.ask .qa{margin-bottom:10px}
.ask .qa .q{font-size:13px;color:var(--muted)}
.ask .qa .a{background:#fff;border-radius:10px;padding:10px 12px;font-size:14px;line-height:1.45;margin-top:4px}
.ask .box{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:0 6px 0 14px;height:46px}
.ask .box input{border:0;outline:0;flex:1;font:inherit;font-size:14.5px;min-width:0}
.ask .box button{color:var(--blue);font-weight:700;padding:8px 10px}
.ask .sug{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ask .sug button{font-size:12.5px;border:1px solid var(--line);border-radius:999px;padding:5px 10px;background:#fff;color:var(--ink-soft)}
/* mobile order bar */
.mbar{display:none;position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom));z-index:25}
@media (max-width:1000px){.mbar{display:flex;gap:10px}.mbar .b{flex:1;padding:0 12px;font-size:15px}.sum .b.lg{display:none}}

/* ---------- cart ---------- */
.cart .ln{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
.cart .ln small{display:block;color:var(--muted);font-size:13.5px}
.cart .ln .rt{display:flex;align-items:center;gap:10px;flex:none}
.pil{font-family:var(--mono);font-size:12px;padding:3px 8px;border-radius:6px}
.pil.firm{background:var(--ok-soft);color:var(--ok-ink)}.pil.sub{background:var(--blue-soft);color:var(--blue-ink)}
.qty{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.qty button{width:32px;height:32px;font-size:16px}
.qty span{min-width:36px;padding:0 6px;white-space:nowrap;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:14px;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.blocked{display:none;background:var(--bad-soft);border:1px solid #F3C4C4;border-radius:14px;padding:16px 18px;font-size:15px;margin:0 0 18px;max-width:640px}
.blocked.on{display:block}
.blocked b{display:block;color:var(--bad);font-weight:600;margin-bottom:4px;font-size:16px}
.lbl{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--muted);margin:22px 0 8px}
.custom{border:1px solid var(--gold);background:var(--gold-soft);border-radius:14px;padding:16px 18px;max-width:640px;margin:18px 0}
.custom b{font-family:var(--disp);font-size:17px}
.custom p{font-size:15px;margin-top:6px}
.toast{background:var(--ok-soft);color:var(--ok-ink);border-radius:12px;padding:12px 16px;font-size:15px;font-weight:500;margin:0 0 16px;max-width:520px}

/* demo nav */
.demo{position:fixed;right:16px;bottom:16px;z-index:40;background:var(--ink);color:#fff;border-radius:999px;padding:8px 8px 8px 16px;display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;box-shadow:0 10px 30px rgba(15,22,37,.3)}
.demo button{background:#fff;color:var(--ink);border-radius:999px;width:30px;height:30px;font-weight:700}
@media (max-width:1000px){.demo{bottom:84px}}

/* ---- Additions for the wired screens (not in the prototype) ---- */
[hidden]{display:none !important}
.demo-banner{background:#fff3cd;color:#664d03;text-align:center;font-size:13.5px;font-weight:600;padding:6px 12px}
.demo-note{background:#fff3cd;color:#664d03;border-radius:8px;padding:10px 12px;font-size:14px;margin:12px 0}
.demo-note b{font-family:"IBM Plex Mono",monospace;font-size:20px;letter-spacing:3px}
.err{color:var(--bad);font-size:14px;min-height:1em;margin:8px 0 0}
.consent{display:flex;gap:8px;align-items:flex-start;margin-top:10px}
.consent input{margin-top:3px}
.numrow{display:flex;gap:10px;max-width:420px;min-width:0;margin-top:10px}
.numrow .field:first-child{flex:1;min-width:0}
.numrow .sel{width:96px;flex:none}
.summary .big{font-family:var(--disp);font-size:32px;font-weight:700;margin:8px 0}
.summary h1{font-family:var(--disp);font-size:22px;margin:6px 0}
.up .result{display:block;font-style:normal;color:var(--ok-ink);font-weight:600;margin-top:4px}
/* The playback edit row sits inside .pl, whose full-width button rule must not reach Save. */
.pl .typed{margin:8px 0}
.pl .typed button{width:auto;flex:none;padding:8px 12px;border-bottom:0;margin:0}
.pl .typed button:hover{background:none;margin:0;padding:8px 12px;width:auto}

/* ---------- plan page, cart and order: what the prototype only mocked ---------- */
[hidden]{display:none !important}
.notfinal{background:var(--gold-soft);color:var(--gold-ink);border-radius:10px;padding:10px 14px;margin:0 0 10px;max-width:62ch}
.pl .row{padding:14px 0;border-bottom:1px solid var(--line);font-size:16.5px;line-height:1.45}
.sc .finding{font-size:13.5px;color:var(--warn);margin:0 0 10px}
.sc .why{font-size:14px;color:var(--ink-soft);margin:10px 0 0;padding-top:10px;border-top:1px dashed var(--line)}
.sc .m i{max-width:100%}
.pr .subl .grp{cursor:pointer}
.pr .subl .grp::before{content:'▸ ';color:var(--muted)}
.pr .subl .grp.open::before{content:'▾ '}
.pr .subl .items{padding:2px 0 8px 14px}
.pr .subl .items .item{font-size:13px;color:var(--ink-soft);gap:12px}
.pr .subl .items .item em{flex:none}
ul.checks{margin:6px 0 0 20px;font-size:14.5px;color:var(--ink-soft);max-width:62ch}
ul.checks li{padding:3px 0}
svg.floor{width:100%;max-width:640px;height:auto;border:1px solid var(--line);border-radius:14px;background:var(--ground);padding:8px}
svg.floor .zone{fill:#fff;stroke:var(--ink-soft)}
svg.floor .zone.private{fill:#F3C4C4;fill-opacity:.35;stroke-dasharray:.4 .3}
svg.floor .opening{stroke:var(--gold)}
svg.floor .wedge{fill:var(--muted);fill-opacity:.16;stroke:none}
svg.floor .wedge.entrance{fill:var(--blue);fill-opacity:.2}
svg.floor .cam{fill:var(--ink-soft)}
svg.floor .cam.entrance{fill:var(--blue)}
svg.floor .zname{fill:var(--muted);font-family:var(--body)}
svg.floor .cname{fill:var(--ink);font-family:var(--mono)}
.ask .a b{display:block;margin-bottom:4px}
.ask .a .apply{display:block;margin-top:8px;color:var(--blue);font-weight:600;font-size:13.5px;text-align:left}
.sum .field{margin-top:8px}
.sum .b.out{margin-top:8px}
.cart .ln.changed{background:var(--gold-soft);margin:0 -10px;padding:14px 10px}
.cart .lbl{margin:18px 0 0}
.blocked p{margin-top:6px}
.rail .so li.bad,.rail .so li.bad i{color:var(--bad)}
.rail .so li.wait{color:var(--ink)}
.rail .so li.wait i{color:var(--warn)}
.chk{display:flex;gap:10px;align-items:flex-start;margin:16px 0;font-size:15px}
.pr .subl span{justify-content:flex-start;gap:6px}
.pr .subl span em{margin-left:auto;padding-left:12px}
svg.floor .measure{stroke:var(--blue)}
#layout-confirm{margin:16px 0}

#uploaded li{margin:4px 0}#uploaded li .link{margin-left:10px;font-size:13.5px}

.site-photo { display: flex; gap: 12px; align-items: flex-start; margin: 10px 0; }
.site-photo img { width: 120px; height: auto; border-radius: 6px; border: 1px solid var(--line, #ddd); }
.site-photo input[type=text], .site-photo select { display: block; width: 100%; max-width: 360px; margin-bottom: 6px; }
.site-photo > div { flex: 1; min-width: 0; }
