:root{--bg: #fafaf9;--fg: #1c1917;--muted: #57534e;--accent: #15803d;--accent-soft: #f0fdf4;--card: #ffffff;--line: #e7e5e4;--danger-btn: #b91c1c;--ok: #15803d;--ok-bg: #dcfce7;--warn: #854d0e;--warn-bg: #fef9c3;--danger: #9a3412;--danger-bg: #ffedd5;--loss: #b91c1c;--loss-bg: #fee2e2}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif}.container{max-width:760px;margin:0 auto;padding:24px 16px}h1{font-size:1.6rem;margin:0 0 4px}h2{font-size:1.2rem;margin:0 0 8px}h3{font-size:1.02rem;margin:20px 0 6px}.lead{color:var(--muted);margin:0 0 8px}.small{font-size:.875rem;color:var(--muted)}label{display:block;font-weight:600;margin:10px 0 4px;font-size:.95rem}input,select,button{font:inherit;width:100%;min-height:44px;padding:8px 12px;border:1px solid #d6d3d1;border-radius:8px;background:var(--card);color:var(--fg)}input[aria-invalid=true]{border-color:var(--loss)}button{background:var(--accent);color:#fff;border:1px solid var(--accent);cursor:pointer;margin-top:12px;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-secondary{background:var(--card);color:var(--accent)}.btn-danger{background:var(--card);color:var(--danger-btn);border-color:#fca5a5}.btn-link{width:auto;min-height:44px;margin:0;padding:0 8px;background:none;border:none;color:var(--danger-btn);text-decoration:underline}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin-top:16px}.card.empty{color:var(--muted)}.preset-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.preset-grid button{margin-top:0}.tabs{display:flex;gap:6px;overflow-x:auto;margin-top:16px;padding-bottom:4px}.tab{width:auto;flex:0 0 auto;margin:0;background:var(--card);color:var(--fg);border-color:var(--line);white-space:nowrap;max-width:14em;overflow:hidden;text-overflow:ellipsis}.tab[aria-selected=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.field-grid{display:grid;grid-template-columns:1fr;gap:0 12px}.with-suffix{position:relative}.with-suffix input{padding-right:2.6em}.suffix{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.field .small{margin:2px 0 0}.field .field-err{color:var(--loss);font-weight:600;overflow-wrap:anywhere}.field-err[hidden]{display:none}.food-sum .input-warn{margin-bottom:6px;padding:6px 8px;color:var(--loss);background:var(--loss-bg);border-radius:6px;font-weight:600}.items{display:grid;gap:10px}.item-row{border:1px solid var(--line);border-radius:10px;padding:4px 12px 8px;background:#fcfcfb}.item-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.item-grid .field:first-child{grid-column:1 / -1}.item-foot{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:6px}.item-out{margin:0;flex:1 1 14em;font-size:.92rem}.known{color:var(--accent);font-size:.85rem;font-weight:600}.food-sum{margin:16px 0 4px;padding:12px;background:var(--accent-soft);border-radius:8px}.food-sum p{margin:2px 0}.seg{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.seg-btn{margin:0;background:var(--card);color:var(--fg);border-color:#d6d3d1}.seg-btn[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.shock-custom{max-width:14em}.channel-cards{display:grid;gap:12px;margin-top:16px}.ch-card{border:1px solid var(--line);border-left-width:5px;border-radius:10px;padding:12px}.st-ok-edge{border-left-color:var(--ok)}.st-warn-edge{border-left-color:#ca8a04}.st-danger-edge{border-left-color:#ea580c}.st-loss-edge{border-left-color:var(--loss)}.ch-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.ch-head h3{margin:0}.weak{font-size:.8rem;font-weight:700;border:1px solid var(--fg);border-radius:999px;padding:0 8px}.ch-dl{display:grid;grid-template-columns:1fr auto;gap:2px 12px;margin:10px 0}.ch-dl dt{color:var(--muted)}.ch-dl dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.ch-dl dd.strong{font-weight:700;color:var(--fg)}.rev{margin:4px 0;padding-left:10px;border-left:3px solid var(--line);font-size:.95rem}.badge{display:inline-block;font-size:.8rem;font-weight:700;border-radius:999px;padding:0 8px;white-space:nowrap}.st-ok{color:var(--ok);background:var(--ok-bg)}.st-warn{color:var(--warn);background:var(--warn-bg)}.st-danger{color:var(--danger);background:var(--danger-bg)}.st-loss{color:var(--loss);background:var(--loss-bg)}.table-wrap{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:.92rem;font-variant-numeric:tabular-nums}.tbl caption{text-align:left}.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:6px;text-align:left;white-space:nowrap}.tbl tr.current{background:var(--accent-soft)}details summary{cursor:pointer;display:flex;align-items:baseline;gap:6px;min-height:44px;list-style:none}details summary::-webkit-details-marker{display:none}details summary h2{margin:0;display:inline}details summary:before{content:"▸";color:var(--accent)}details[open] summary:before{content:"▾"}.btn-row{display:grid;gap:8px}.btn-row button{margin-top:0}footer p{margin:4px 0}#clear-all{max-width:14em}.print-only{display:none}.offers{margin-top:1.5rem;padding:1rem;border:1px solid #ddd;border-radius:8px}.offers h2{font-size:1rem;margin:0 0 .5rem}.offers ul{margin:0;padding-left:1.2rem}@media(min-width:600px){.preset-grid{grid-template-columns:repeat(3,1fr)}.field-grid{grid-template-columns:1fr 1fr}.item-grid{grid-template-columns:2fr 1fr 1fr 1.2fr 1fr 1fr}.item-grid .field:first-child{grid-column:auto}.channel-cards,.btn-row{grid-template-columns:repeat(3,1fr)}}@media print{@page{size:A4;margin:12mm}body{background:#fff;color:#000;font-size:11pt}.screen-only,.offers,.vf-contact,#offers{display:none!important}.print-only{display:block!important}.container{max-width:none;padding:0}#print-sheet h1{font-size:15pt}.print-menu{break-inside:avoid;page-break-inside:avoid;border-top:1px solid #000;padding-top:6pt;margin-top:8pt}.print-menu h2{font-size:12.5pt;margin:0 0 2pt}.print-menu h3{font-size:10.5pt;margin:4pt 0 2pt}.tbl{font-size:9.5pt}.tbl th,.tbl td{border:1px solid #555;padding:2pt 5pt}.check{margin:4pt 0 0;font-weight:700}footer{font-size:8.5pt;padding:8pt 0 0}footer .small,.small{color:#000}}
