*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --canvas:#f5f5f5;
  --paper:#ffffff;
  --surface-alt:#fafafa;
  --ink:#0a0a0a;
  --ink-soft:#171717;
  --mid:#737373;
  --hair:#e5e5e5;
  --ember:#e7000b;
  --r-card:24px;
  --r-nested:10px;
  --r-btn:18px;
  --r-input:18px;
  --r-badge:18px;
  --shadow-card:0 0 0 1px rgba(23,23,23,.05),0 1px 3px rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);
  /* icon colors — 8 slots */
  --ic0:#6366f1;--ic0-bg:#eef2ff;
  --ic1:#0891b2;--ic1-bg:#ecfeff;
  --ic2:#16a34a;--ic2-bg:#dcfce7;
  --ic3:#d97706;--ic3-bg:#fef3c7;
  --ic4:#db2777;--ic4-bg:#fce7f3;
  --ic5:#7c3aed;--ic5-bg:#ede9fe;
  --ic6:#059669;--ic6-bg:#d1fae5;
  --ic7:#b45309;--ic7-bg:#fef9c3;
}
body{font-family:'Inter','Noto Sans KR',ui-sans-serif,system-ui,sans-serif;background:var(--canvas);color:var(--ink);font-size:14px;line-height:1.43;min-height:100vh}
.app{margin:0 auto;padding:0 0 100px}

/* ── Header ── */
.hd{background:var(--paper);border-bottom:1px solid var(--hair);padding:16px 24px;position:sticky;top:0;z-index:100}
.hd-inner{display:flex;align-items:center;justify-content:space-between}
.hd-brand{font-size:11px;font-weight:500;letter-spacing:.08em;color:var(--mid);text-transform:uppercase;margin-bottom:1px}
.hd-title{font-size:15px;font-weight:600;color:var(--ink);letter-spacing:-.2px}
.hd-save{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding:8px 12px;background:var(--surface-alt);border:1px solid var(--hair);border-radius:var(--r-nested)}
.hd-save-note{font-size:12px;color:var(--mid);line-height:1.4}
.hd-save-sub{opacity:.7}
.hd-reset{flex-shrink:0;padding:6px 12px;border:1px solid var(--hair);border-radius:var(--r-badge);background:var(--paper);font-family:inherit;font-size:12px;color:var(--mid);cursor:pointer;transition:all .15s;white-space:nowrap}
.hd-reset:hover{border-color:var(--ember);color:var(--ember)}
@media(max-width:480px){.hd-save-sub{display:none}}
.price-wrap{position:relative}
.price-pill{display:flex;align-items:center;gap:6px;background:var(--ink);color:var(--paper);border-radius:var(--r-badge);padding:6px 14px;font-size:13px;font-weight:500;cursor:default;white-space:nowrap}
.price-pill-label{font-size:10px;font-weight:400;opacity:.6;letter-spacing:.04em}
.price-dropdown{display:none;position:absolute;right:0;top:calc(100% + 8px);background:var(--paper);border:1px solid var(--hair);border-radius:var(--r-nested);padding:12px 16px;min-width:220px;box-shadow:var(--shadow-card);z-index:300}
.price-wrap:hover .price-dropdown{display:block}
.pd-row{display:flex;justify-content:space-between;gap:16px;font-size:12px;line-height:2;color:var(--mid)}
.pd-row.base{color:var(--ink);font-weight:500;border-bottom:1px solid var(--hair);padding-bottom:6px;margin-bottom:2px}
.pd-row.total-row{color:var(--ink);font-weight:600;border-top:1px solid var(--hair);padding-top:6px;margin-top:2px}

/* ── Step nav ── */
.snav{background:var(--paper);border-bottom:1px solid var(--hair);padding:0 20px;position:sticky;top:61px;z-index:99;overflow-x:auto}
.snav-inner{display:flex;justify-content:center;min-width:max-content}
.snav-btn{display:flex;align-items:center;gap:6px;padding:13px 14px 11px;border:none;background:none;font-family:inherit;font-size:13px;font-weight:400;color:var(--mid);cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;white-space:nowrap}
.snav-btn.active{color:var(--ink);font-weight:500;border-bottom-color:var(--ink)}
.snav-num{width:20px;height:20px;border-radius:50%;background:var(--canvas);color:var(--mid);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}
.snav-btn.active .snav-num,.snav-btn.done .snav-num{background:var(--ink);color:var(--paper)}

/* ── Main ── */
.main{padding:20px 16px; max-width:660px; margin:0 auto}
.panel{display:none}.panel.active{display:block}

/* ── Card ── */
.card{background:var(--paper);border:1px solid var(--hair);border-radius:var(--r-card);margin-bottom:12px;box-shadow:var(--shadow-card);overflow:hidden}
.card-hd{padding:20px 20px 0}
.card-title{font-size:14px;font-weight:600;letter-spacing:-.1px;margin-bottom:2px}
.card-sub{font-size:12px;color:var(--mid)}
.card-body{padding:16px 20px 20px}
.guide-text{font-size:13px;line-height:1.8;color:var(--ink-soft)}
.edit-banner{display:flex;align-items:center;gap:9px;padding:11px 14px;margin-bottom:12px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:var(--r-nested);font-size:13px;line-height:1.5}
.edit-link-box{margin-top:10px;padding:12px 14px;background:var(--surface-alt);border:1px solid var(--hair);border-radius:var(--r-nested);text-align:left}
.edit-link-label{font-size:12px;font-weight:600;color:var(--ink);margin-bottom:8px}
.edit-link-row{display:flex;gap:6px}
.edit-link-row input{flex:1;min-width:0;border:1.5px solid var(--hair);border-radius:var(--r-input);padding:8px 12px;font-family:inherit;font-size:12px;color:var(--ink);background:var(--paper)}
.edit-link-row .btn{flex-shrink:0}
.divider{height:1px;background:var(--hair);margin:16px 0}

/* ── Form ── */
.field{margin-bottom:16px}.field:last-child{margin-bottom:0}
.lbl{display:block;font-size:13px;font-weight:500;color:var(--ink);margin-bottom:6px}
.lbl-note{font-size:12px;font-weight:400;color:var(--mid);margin-left:4px}
.req{color:var(--ember)}
input[type=text],textarea,input[type=url]{
  width:100%;background:var(--paper);border:1.5px solid var(--hair);border-radius:var(--r-input);
  padding:9px 14px;font-family:inherit;font-size:13px;color:var(--ink);outline:none;
  transition:border-color .15s,box-shadow .15s;
}
input[type=text]:focus,textarea:focus,input[type=url]:focus{border-color:var(--ink-soft);box-shadow:0 0 0 3px rgba(10,10,10,.06)}
input::placeholder,textarea::placeholder{color:var(--mid)}
textarea{resize:vertical;line-height:1.6}
.ferr{font-size:12px;color:var(--ember);margin-top:4px;display:none}
.has-err input[type=text],.has-err textarea{border-color:var(--ember)}
.has-err .ferr{display:block}

/* ── Callout (colored) ── */
.callout{display:flex;gap:9px;padding:10px 14px;border-radius:var(--r-nested);font-size:12px;line-height:1.6;margin-bottom:14px;border:1px solid transparent}
.cl-blue{background:#eff6ff;color:#1e40af;border-color:#bfdbfe}
.cl-amber{background:#fffbeb;color:#92400e;border-color:#fde68a}
.cl-green{background:#f0fdf4;color:#166534;border-color:#bbf7d0}
.cl-gray{background:var(--surface-alt);color:var(--mid);border-color:var(--hair)}
.callout-ico{flex-shrink:0;margin-top:1px}

/* ── Chips ── */
.chip-row{display:flex;flex-wrap:wrap;gap:6px}
.chi{display:none}
.chl{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;background:var(--canvas);border:1px solid transparent;border-radius:var(--r-badge);font-size:13px;color:var(--mid);cursor:pointer;transition:all .15s;user-select:none;white-space:nowrap}
.chl:hover{color:var(--ink);background:var(--paper);border-color:var(--hair)}
.chi:checked+.chl{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.chl-note{font-size:11px;opacity:.65}

/* ── Work type ── */
.wt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.wt-inp{display:none}
.wt-lbl{display:flex;flex-direction:column;padding:14px;border:1.5px solid var(--hair);border-radius:var(--r-nested);cursor:pointer;transition:all .15s;gap:4px}
.wt-lbl:hover{border-color:var(--hair);background:var(--paper)}
.wt-inp:checked+.wt-lbl{border-color:var(--ink);background:var(--paper)}
.wt-name{font-size:13px;font-weight:600;color:var(--ink)}
.wt-desc{font-size:11px;color:var(--mid);line-height:1.5}
.wt-price{display:inline-flex;padding:2px 8px;border-radius:var(--r-badge);background:var(--canvas);color:var(--mid);font-size:11px;font-weight:500;margin-top:6px;align-self:flex-start}
.wt-inp:checked+.wt-lbl .wt-price{background:var(--ink-soft);color:var(--paper)}
/* example under wt */
.wt-example{display:none;margin-top:14px;padding-top:14px;border-top:1px solid var(--hair)}
.wt-example.show{display:block}
.wt-ex-row{display:flex;gap:12px;align-items:flex-start;flex-direction:column}
.wt-ex-img{width: 100%; flex-shrink:0;background:var(--canvas);border:1px solid var(--hair);border-radius:var(--r-nested);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--mid)}
.wt-ex-desc{flex:1;font-size:12px;color:var(--mid);line-height:1.7}

/* ── Color picker ── */
.color-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.color-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--r-badge);border:1px solid var(--hair);font-size:12px;background:var(--paper)}
.color-dot{width:14px;height:14px;border-radius:4px;flex-shrink:0;border:1px solid rgba(0,0,0,.1)}
.color-rm{background:none;border:none;cursor:pointer;color:var(--mid);font-size:15px;line-height:1;padding:0 1px}.color-rm:hover{color:var(--ember)}
.add-color-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px dashed var(--hair);border-radius:var(--r-badge);font-size:12px;color:var(--mid);cursor:pointer;background:transparent;font-family:inherit;transition:all .15s}
.add-color-btn:hover{border-color:var(--ink);color:var(--ink)}
#colorInp{position:absolute;opacity:0;pointer-events:none;width:0;height:0}

/* ── File upload ── */
.upload{border:1.5px dashed var(--hair);border-radius:var(--r-nested);padding:18px;text-align:center;cursor:pointer;transition:all .15s;background:var(--surface-alt);position:relative}
.upload:hover{border-color:var(--ink-soft);background:var(--canvas)}
.upload input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.upload-ico{font-size:18px;margin-bottom:5px}
.upload-txt{font-size:13px;color:var(--mid)}
.upload-hint{font-size:11px;color:var(--mid);opacity:.7;margin-top:2px}
.flist{display:flex;flex-direction:column;gap:4px;margin-top:8px}
.fitem{display:flex;align-items:center;gap:8px;padding:7px 12px;background:var(--canvas);border-radius:var(--r-nested);font-size:12px;color:var(--mid)}
.fitem-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.frm{background:none;border:none;cursor:pointer;color:var(--mid);font-size:16px;line-height:1;flex-shrink:0}.frm:hover{color:var(--ember)}

/* ── Badge ── */
.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-badge);font-size:11px;font-weight:500}
.badge-dark{background:var(--ink-soft);color:var(--paper)}
.badge-soft{background:var(--canvas);color:var(--mid)}
.badge-blue{background:#eff6ff;color:#1d4ed8}
.badge-green{background:#f0fdf4;color:#15803d}

/* ── Icon dot (colored circle) ── */
.ic-dot{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:600;flex-shrink:0}

/* ── Icon slots ── */
.icon-list{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.icon-slot{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--canvas);border-radius:var(--r-nested)}
.icon-slot-inp{flex:1;border:1.5px solid var(--hair);background:var(--paper);border-radius:var(--r-input);padding:7px 12px;font-size:13px;font-family:inherit;color:var(--ink);outline:none;transition:border-color .15s}
.icon-slot-inp:focus{border-color:var(--ink-soft)}
.icon-slot-inp::placeholder{color:var(--mid)}
.icon-slot-rm{background:none;border:none;cursor:pointer;color:var(--mid);font-size:17px;line-height:1;flex-shrink:0}.icon-slot-rm:hover{color:var(--ember)}
.add-icon-btn,.add-balloon-btn{width:100%;padding:9px;border:1.5px dashed var(--hair);border-radius:var(--r-nested);background:transparent;font-family:inherit;font-size:13px;color:var(--mid);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px}
.add-icon-btn:hover,.add-balloon-btn:hover{border-color:var(--ink-soft);color:var(--ink)}

/* ── Placement grid ── */
.preset-row{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.preset-btn{padding:6px 12px;border:1px solid var(--hair);border-radius:var(--r-badge);font-size:12px;font-weight:500;color:var(--mid);background:var(--canvas);cursor:pointer;font-family:inherit;transition:all .15s}
.preset-btn:hover{border-color:var(--ink);color:var(--ink)}
.pl-row{margin-bottom:10px}
.pl-row-label{font-size:11px;color:var(--mid);letter-spacing:.04em;margin-bottom:6px}
.pl-squares{display:flex;gap:6px;flex-wrap:wrap}
.pl-sq{display:flex;flex-direction:column;align-items:center;gap:4px}
.pl-sq-box{width:52px;height:52px;border:1.5px solid var(--hair);border-radius:var(--r-nested);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transition:border-color .15s;background:var(--paper);overflow:hidden;cursor:pointer}
.pl-sq-box.has-val{border-color:var(--ink-soft)}
.pl-sq-ic-dot{width:20px;height:20px;border-radius:50%;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;margin-bottom:3px}
.pl-sq-txt{font-size:9px;color:var(--ink);text-align:center;padding:0 3px;line-height:1.3;max-width:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-sq-empty{font-size:18px;color:var(--hair)}
.pl-sq select{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.pl-sq-label{font-size:10px;color:var(--mid);text-align:center}
.pl-title{font-size:13px;font-weight:500;margin-bottom:10px;display:flex;align-items:center;gap:8px}

/* ── Balloon ── */
.balloon-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.balloon-item{background:var(--canvas);border-radius:var(--r-nested);padding:12px;position:relative}
.balloon-item-hd{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.balloon-item-num{width:20px;height:20px;border-radius:50%;background:var(--ink-soft);color:var(--paper);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.balloon-rm{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--mid);font-size:15px;line-height:1}.balloon-rm:hover{color:var(--ember)}
/* compact type grid */
.btype-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:8px}
.bti{display:none;}
.btl{display:flex;align-items:center;gap:4px;padding:9px 6px;background:var(--paper);border:1.5px solid var(--hair);border-radius:var(--r-nested);cursor:pointer;transition:all .15s;text-align:center}
.btl:hover{border-color:var(--ink-soft)}
.bti:checked+.btl{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.bti:checked+.btl .bt-price{color:rgba(255,255,255,.65)}
.bt-ico{font-size:16px}
.bt-name{font-size:11px;font-weight:500}
.bt-price{font-size:10px;color:var(--mid)}
.bt-img{width:100%;border-radius:var(--r-nested);margin-top:6px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
/* type guide (섹션 상단 타입별 설명) */
.btype-guide{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.btg-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface-alt);border:1px solid var(--hair);border-radius:var(--r-nested);font-size:12px}
.btg-ico{font-size:15px;flex-shrink:0}
.btg-name{font-weight:600;color:var(--ink);flex-shrink:0;min-width:52px}
.btg-price{color:var(--mid);font-size:11px;flex-shrink:0;min-width:66px}
.btg-desc{color:var(--mid);line-height:1.5}
/* direction */
.dir-row{display:flex;gap:6px;margin-bottom:8px}
.dir-inp{display:none}
.dir-lbl{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:1px solid var(--hair);border-radius:var(--r-badge);font-size:12px;color:var(--mid);cursor:pointer;background:var(--paper);transition:all .15s}
.dir-lbl:hover{border-color:var(--ink);color:var(--ink)}
.dir-inp:checked+.dir-lbl{border-color:var(--ink);background:var(--ink);color:var(--paper)}
/* counter */
.counter-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--paper);border-radius:var(--r-nested);margin-bottom:8px}
.counter-label{font-size:13px;color:var(--ink)}
.counter-ctrl{display:flex;align-items:center;gap:10px}
.counter-btn{width:26px;height:26px;border-radius:50%;border:1px solid var(--hair);background:var(--canvas);cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;font-family:inherit;transition:all .15s}
.counter-btn:hover:not(:disabled){border-color:var(--ink);background:var(--paper)}
.counter-btn:disabled{opacity:.3;cursor:not-allowed}
.counter-val{font-size:15px;font-weight:600;min-width:18px;text-align:center}

/* ── Summary ── */
.sum-row{display:flex;gap:12px;padding:10px 16px;border-bottom:1px solid var(--hair);font-size:13px}
.sum-row:last-child{border-bottom:none}
.sum-key{color:var(--mid);flex-shrink:0;min-width:90px;font-size:12px}
.sum-val{color:var(--ink);line-height:1.5;flex:1}
.sum-breakdown{padding:8px 16px;border-bottom:1px solid var(--hair);background:var(--surface-alt)}
.sum-bd-row{display:flex;justify-content:space-between;font-size:12px;color:var(--mid);line-height:1.9}
.sum-bd-row.bd-base{color:var(--ink);font-weight:500}
.sum-total{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--canvas)}
.sum-total-label{font-size:13px;font-weight:600}
.sum-total-val{font-size:16px;font-weight:600;letter-spacing:-.3px}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border-radius:var(--r-btn);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .15s;line-height:1}
.btn-ghost{background:var(--canvas);color:var(--ink)}.btn-ghost:hover{background:var(--hair)}
.btn-primary{background:var(--ink);color:var(--paper);flex:1}.btn-primary:hover{background:var(--ink-soft)}
.btn-submit{background:var(--ink);color:var(--paper);width:100%;padding:13px;font-size:14px;border-radius:var(--r-btn)}.btn-submit:hover{background:var(--ink-soft)}
.step-nav{display:flex;gap:8px;margin-top:16px}

/* ── Success ── */
.success-body{padding:32px 20px;text-align:center}
.success-ico{font-size:40px;margin-bottom:14px}
.success-title{font-size:18px;font-weight:600;letter-spacing:-.3px;margin-bottom:6px}
.success-desc{font-size:13px;color:var(--mid);line-height:1.7;margin-bottom:20px}
.receipt{background:var(--paper);border:1px solid var(--hair);border-radius:var(--r-card);text-align:left;overflow:hidden;margin-bottom:10px}
.receipt-hd{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--hair)}
.receipt-id{font-size:12px;color:var(--mid)}
.history-row{display:flex;gap:12px;padding:9px 18px;border-bottom:1px solid var(--hair);font-size:12px}
.history-row:last-child{border-bottom:none}
.h-ts{color:var(--mid);min-width:120px;flex-shrink:0}
.lock-note{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--hair);border-radius:var(--r-nested);font-size:12px;color:var(--mid);margin-top:10px;text-align:left}

@media(max-width:480px){
  .wt-grid{grid-template-columns:1fr 1fr;gap:6px}
  .main{padding:14px 12px}
  .card-hd{padding:16px 16px 0}
  .card-body{padding:14px 16px 16px}
}

/* ══ Admin (관리 페이지) ══ */
.adm-gate{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}
.adm-gate-box{background:var(--paper);border:1px solid var(--hair);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:28px 24px;width:100%;max-width:340px;text-align:center}
.adm-gate-title{font-size:18px;font-weight:600;margin-bottom:4px}
.adm-gate-desc{font-size:13px;color:var(--mid);margin-bottom:16px}
.adm-gate-box input{width:100%;border:1.5px solid var(--hair);border-radius:var(--r-input);padding:10px 14px;font-family:inherit;font-size:14px;outline:none}
.adm-gate-box input:focus{border-color:var(--ink-soft)}
.adm-gate-err{color:var(--ember);font-size:12px;margin-top:10px;min-height:14px}

.adm-main{max-width:820px;margin:0 auto;padding:20px 16px 80px}
.adm-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.adm-toolbar #search{flex:1;min-width:200px;border:1.5px solid var(--hair);border-radius:var(--r-input);padding:9px 14px;font-family:inherit;font-size:13px;outline:none;background:var(--paper)}
.adm-toolbar #search:focus{border-color:var(--ink-soft)}
.adm-tools-right{display:flex;align-items:center;gap:10px}
.adm-count{font-size:12px;color:var(--mid);white-space:nowrap}
.adm-status{font-size:13px;color:var(--mid);padding:8px 2px}
.adm-empty{text-align:center;color:var(--mid);font-size:13px;padding:40px 0}

.adm-list{display:flex;flex-direction:column;gap:10px}
.adm-card{background:var(--paper);border:1px solid var(--hair);border-radius:var(--r-card);box-shadow:var(--shadow-card);overflow:hidden}
.adm-card-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;cursor:pointer;transition:background .12s}
.adm-card-hd:hover{background:var(--surface-alt)}
.adm-hd-main{display:flex;align-items:baseline;gap:9px;min-width:0;flex-wrap:wrap}
.adm-id{font-size:12px;font-weight:600;color:var(--mid);flex-shrink:0}
.adm-name{font-size:14px;font-weight:600;color:var(--ink)}
.adm-theme{font-size:13px;color:var(--mid);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adm-hd-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}
.adm-price{font-size:13px;font-weight:600}
.adm-ts{font-size:11px;color:var(--mid);white-space:nowrap}
.adm-caret{font-size:11px;color:var(--mid);transition:transform .15s}
.adm-card.open .adm-caret{transform:rotate(180deg)}
.adm-card-body{display:none;padding:4px 18px 18px;border-top:1px solid var(--hair)}
.adm-card.open .adm-card-body{display:block}
.adm-detail{display:flex;flex-direction:column;margin-top:8px}
.adm-row{display:flex;gap:12px;padding:7px 0;border-bottom:1px solid var(--hair);font-size:13px}
.adm-row:last-child{border-bottom:none}
.adm-key{color:var(--mid);flex-shrink:0;min-width:84px;font-size:12px}
.adm-val{color:var(--ink);line-height:1.5;flex:1;white-space:pre-wrap;word-break:break-word}
.adm-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--hair)}
.adm-folder{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;background:var(--canvas);border-radius:var(--r-badge);font-size:12px;color:var(--ink);text-decoration:none}
.adm-folder:hover{background:var(--hair)}
.adm-nofile{font-size:12px;color:var(--mid)}
.adm-hist{font-size:11px;color:var(--mid)}
