:root{--bg:#f4f1ec;--surface:#fff;--surface-2:#faf8f5;--text:#1f1a15;--muted:#6b6157;--border:#e4ded5;--border-strong:#cdc4b8;--accent:#7a4a1e;--accent-hover:#633b15;--accent-soft:#f4ebe1;--accent-text:#fff;--ok:#1f7a4d;--ok-soft:#e5f3eb;--warn-bg:#fff3d9;--warn-text:#7a5200;--error-bg:#fdeaea;--error-text:#a31c1c;--danger:#c62828;--shadow:0 1px 2px #1f1a150d, 0 4px 14px #1f1a150a;--radius:16px;--tabbar-h:68px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#161310;--surface:#211d19;--surface-2:#1b1815;--text:#f1ebe4;--muted:#a99d90;--border:#35302a;--border-strong:#4a423a;--accent:#e0a46a;--accent-hover:#eab585;--accent-soft:#3a2a1b;--accent-text:#1a120a;--ok:#6fcf9c;--ok-soft:#1d3327;--warn-bg:#3a2e16;--warn-text:#f0c674;--error-bg:#3d1f1f;--error-text:#f5a3a3;--danger:#ff7a70;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:17px}body{background:var(--bg);color:var(--text);letter-spacing:-.01em;-webkit-tap-highlight-color:transparent;margin:0;font-family:Pretendard Variable,Pretendard,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;font-size:1rem;line-height:1.6;overflow-x:clip}main{min-width:0;max-width:1080px;margin:0 auto;padding:24px 16px 48px}h1{letter-spacing:-.02em;margin:4px 0 6px;font-size:1.65rem;font-weight:800}h2{margin:0 0 10px;font-size:1.15rem;font-weight:700}.sub{color:var(--muted);margin:0 0 20px}a{color:var(--accent);overflow-wrap:anywhere}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;margin-bottom:16px;padding:18px}.notice,.callout{background:var(--accent-soft);color:var(--text);border-radius:12px;margin-top:12px;padding:12px 16px}.callout{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 0 20px;display:flex}.warn{background:var(--warn-bg);color:var(--warn-text);white-space:normal;border-radius:8px;margin-top:6px;padding:4px 10px;font-size:.85rem}.raw{color:var(--muted);white-space:normal;font-size:.88rem}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1.5px solid var(--border-strong);border-radius:10px;max-width:100%;min-height:46px;padding:10px 12px;transition:border-color .15s,box-shadow .15s}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:0;accent-color:var(--accent)}input[type=file]{border:none;min-height:0;padding:0}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input::placeholder,textarea::placeholder{color:#a0968b}input[type=number]{text-align:right;font-variant-numeric:tabular-nums;width:110px}textarea{resize:vertical;border-radius:12px;width:100%;min-height:150px;padding:14px;line-height:1.7}button,.button{font:inherit;border:1.5px solid var(--accent);background:var(--accent);min-height:46px;color:var(--accent-text);white-space:nowrap;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s,transform 50ms;display:inline-flex}button:hover,.button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button:active,.button:active{transform:scale(.98)}button.ghost,.button.ghost-link{background:var(--surface);color:var(--text);border-color:var(--border-strong)}button.ghost:hover,.button.ghost-link:hover{background:var(--accent-soft);border-color:var(--accent)}button:disabled{opacity:.4;cursor:default;transform:none}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button.link{min-height:0;color:var(--accent);text-underline-offset:3px;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}button.link:hover{background:0 0}button.kakao{color:#000000d9;background:#fee500;border-color:#fee500;min-height:52px}button.kakao:hover{background:#f5dc00;border-color:#f5dc00}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:10px;display:flex}.two-col{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}@media (max-width:720px){.two-col{grid-template-columns:1fr}}.filters{grid-template-columns:2fr 1fr 2fr auto;align-items:center;gap:8px;display:grid}@media (max-width:720px){.filters{grid-template-columns:1fr}}.check{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;white-space:nowrap;padding:12px 10px}th{color:var(--muted);font-size:.85rem;font-weight:600}tbody tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}@media (max-width:760px){table.cards thead{display:none}table.cards,table.cards tbody,table.cards tr,table.cards td{width:100%;display:block}table.cards tr{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;margin-bottom:12px;padding:12px 14px}table.cards td{white-space:normal;text-align:left;border:none;padding:6px 0}table.cards td[data-label]{justify-content:space-between;align-items:center;gap:12px;display:flex}table.cards td[data-label=""]{display:block}table.cards td[data-label]:before{content:attr(data-label);color:var(--muted);flex:none;font-size:.88rem}table.cards td.num{text-align:right}table.cards td:first-child{font-weight:600}table.cards td:empty{display:none}}.badge{vertical-align:middle;white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-block}.badge.ok{background:var(--bg);color:var(--muted)}.badge.review{background:var(--error-bg);color:var(--error-text)}.badge.partner{background:var(--accent-soft);color:var(--accent);margin-right:4px}.badge.verified{background:var(--ok-soft);color:var(--ok)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--accent);color:var(--accent-text);border-radius:999px;align-items:center;gap:4px;padding:3px 6px 3px 10px;font-size:.9rem;display:inline-flex}.chip.guess{color:var(--accent);border:1px dashed var(--accent);background:0 0}.chip .rank{opacity:.75;font-size:.7rem}button.chip-btn{min-height:0;color:inherit;background:0 0;border:none;padding:0 6px;font-size:.85rem}button.preset{background:var(--surface);min-height:36px;color:var(--muted);border:1.5px solid var(--border-strong);border-radius:999px;padding:4px 12px;font-size:.88rem;font-weight:600}button.preset.on{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.steps{margin:0 0 12px;padding-left:20px}.pager{justify-content:center;margin-top:16px}.totals{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:12px;grid-template-columns:auto auto;justify-content:end;gap:6px 28px;margin-top:14px;padding:14px 18px;display:grid}.totals>span:nth-child(odd){color:var(--muted)}.totals>span:nth-child(2n){text-align:right}.totals .grand{font-size:1.3rem;font-weight:800;color:var(--text)!important}.totals span.grand:nth-child(2n){color:var(--accent)!important}@media (max-width:520px){.totals{justify-content:stretch}}.stat-row{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.card.stat{flex-direction:column;gap:2px;margin-bottom:16px;display:flex}.card.stat strong,.stat-grid .stat strong{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.stat-grid .stat{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;padding:14px}.stat-grid .stat strong{display:block}.appbar{z-index:20;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.appbar-inner{align-items:center;gap:12px;max-width:1080px;height:60px;margin:0 auto;padding:0 12px 0 16px;display:flex}.brand{letter-spacing:-.03em;color:var(--text);white-space:nowrap;align-items:center;gap:8px;font-size:1.15rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{background:var(--accent);width:34px;height:34px;color:var(--accent-text);border-radius:10px;place-items:center;display:grid}.topnav{gap:4px;margin-left:16px;display:none}.topnav a{color:var(--muted);white-space:nowrap;border-radius:10px;padding:8px 14px;font-weight:600;text-decoration:none}.topnav a:hover{color:var(--text);background:var(--surface-2)}.topnav a.active{color:var(--accent);background:var(--accent-soft)}.appbar-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.icon-btn{width:44px;height:44px;color:var(--text);border-radius:12px;place-items:center;display:grid;position:relative}.icon-btn:hover{background:var(--surface-2)}.login-btn{background:var(--accent);color:var(--accent-text);border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-weight:700;text-decoration:none;display:inline-flex}button.size-toggle{min-width:44px;min-height:40px;color:var(--text);border:1.5px solid var(--border-strong);background:0 0;border-radius:12px;padding:0 8px;font-weight:800}button.size-toggle:hover{background:var(--surface-2)}.bell-count{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:18px;padding:0 5px;font-size:.7rem;font-weight:700;line-height:18px;position:absolute;top:4px;right:2px}.tabbar{z-index:20;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #1f1a150d}.tabbar a{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.78rem;font-weight:600;text-decoration:none;display:flex}.tabbar a.active{color:var(--accent);font-weight:800}body:has(.tabbar) main{padding-bottom:calc(var(--tabbar-h) + 40px + env(safe-area-inset-bottom))}@media (min-width:900px){.tabbar{display:none}.topnav{display:flex}body:has(.tabbar) main{padding-bottom:48px}}.menu-group{margin-bottom:24px}.menu-group h2{color:var(--muted);margin:0 0 10px 4px;font-size:.95rem}.tiles{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;display:grid}a.tile{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);align-items:center;gap:14px;padding:16px;text-decoration:none;transition:border-color .15s,transform 50ms;display:flex}a.tile:hover{border-color:var(--accent)}a.tile:active{transform:scale(.98)}.tile-icon{background:var(--accent-soft);width:50px;height:50px;color:var(--accent);border-radius:14px;flex:none;place-items:center;display:grid}.tile-text{flex-direction:column;min-width:0;display:flex}.tile-text strong{font-size:1.05rem}.tile-text span{color:var(--muted);font-size:.86rem}@media (max-width:520px){.tiles{grid-template-columns:1fr 1fr}a.tile{flex-direction:column;align-items:flex-start;gap:10px;padding:14px}}.sheet-title{text-align:center;letter-spacing:.4em;border-bottom:2px solid var(--accent);margin:8px 0 16px;padding-bottom:12px;font-size:1.8rem}.sheet-head{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:640px){.sheet-head{grid-template-columns:1fr}}.sheet-to{font-size:1.3rem;font-weight:700}.sheet-meta,.sheet-supplier{grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0 0;font-size:.92rem;display:grid}.sheet-meta dt,.sheet-supplier dt{color:var(--muted)}.sheet-meta dd,.sheet-supplier dd{margin:0}.sheet-supplier{border:1px solid var(--border);border-radius:10px;align-self:start;padding:10px 12px}.sheet-total{background:var(--surface-2);border-radius:12px;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:16px 0;padding:14px;display:flex}.clauses h3{margin:14px 0 4px;font-size:.98rem}.clauses p{white-space:pre-wrap;margin:0;font-size:.94rem}.ledger-item{border-bottom:1px solid var(--border)}button.ledger-row{text-align:left;white-space:normal;width:100%;min-height:0;color:var(--text);background:0 0;border:none;border-radius:0;justify-content:flex-start;align-items:flex-start;gap:12px;padding:12px 4px;font-weight:400;display:flex}button.ledger-row:hover{background:var(--surface-2)}.ledger-detail{padding:4px 4px 14px}.scan-photos{flex-wrap:wrap;gap:10px;display:flex}.scan-photo{border:1px solid var(--border);border-radius:12px;width:120px;height:160px;position:relative;overflow:hidden}.scan-photo img{object-fit:cover;width:100%;height:100%}.scan-photo .chip-btn{color:#fff;background:#0009;border-radius:999px;width:28px;height:28px;position:absolute;top:6px;right:6px}.scan-add{border:2px dashed var(--border-strong);cursor:pointer;width:120px;height:160px;color:var(--muted);background:var(--surface-2);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:2rem;display:flex}.scan-add span{text-align:center;font-size:.85rem;font-weight:600}.bell{position:relative}a.notification{color:var(--text);border-bottom:1px solid var(--border);border-radius:12px;align-items:flex-start;gap:12px;padding:14px 10px;text-decoration:none;display:flex}a.notification.unread{background:var(--accent-soft)}a.notification .icon{font-size:1.4rem}.sig-box{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.sig-box img{object-fit:contain;background:#fff;border-radius:6px;max-width:220px;max-height:90px}.signature-pad{border:2px dashed var(--border-strong);touch-action:none;cursor:crosshair;background:#fff;border-radius:12px;width:100%;height:200px}.vendor-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}@media (max-width:400px){.vendor-list{grid-template-columns:1fr}}.card.vendor{flex-direction:column;gap:8px;margin-bottom:0;display:flex}.card.vendor header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card.vendor form input{flex:1;min-width:0}.recs{white-space:normal;flex-direction:column;gap:2px;min-width:170px;font-size:.9rem;display:flex}.recs .rec{border-bottom:1px dashed var(--border);flex-direction:column;padding:6px 0;display:flex}.recs .rec:last-child{border-bottom:none}.recs .kw{color:var(--muted);font-size:.8rem}.recs details summary{cursor:pointer;color:var(--accent);padding:4px 0;font-size:.88rem;font-weight:600}.stars{color:#e0a100;letter-spacing:1px}button.star-btn{min-height:0;color:var(--border-strong);background:0 0;border:none;padding:0 2px;font-size:2rem;line-height:1}button.star-btn:hover{background:0 0}button.star-btn.on{color:#e0a100}.review-item{border-top:1px solid var(--border);padding:12px 0}@media print{.appbar,.tabbar,.no-print{display:none!important}body{background:#fff}.card{box-shadow:none}}html[data-size=large]{font-size:21px}html[data-size=large] button:not(.chip-btn):not(.link):not(.star-btn):not(.size-toggle),html[data-size=large] .button{min-height:54px;padding:12px 20px}html[data-size=large] input,html[data-size=large] select{min-height:52px}html[data-size=large] input[type=number]{width:130px}html[data-size=large] .raw,html[data-size=large] .badge,html[data-size=large] .kw{font-size:.95rem}html[data-size=large] .tabbar a{font-size:.72rem}h2.step{align-items:center;gap:10px;display:flex}h2.step>span{background:var(--accent);width:28px;height:28px;color:var(--accent-text);border-radius:999px;flex:none;place-items:center;font-size:.9rem;font-weight:800;display:grid}button.small,.button.small{min-height:38px;padding:6px 12px;font-size:.92rem}.line-title strong{font-size:1.05rem}.recs-head{color:var(--muted);font-size:.85rem;font-weight:600;display:none}.recs .rec.hidden{display:none}button.small-link{text-align:left;align-self:flex-start;font-size:.88rem}@media (max-width:760px){table.cards td.line-title{border-bottom:1px solid var(--border);margin-bottom:4px;padding-bottom:8px}table.cards td.line-amount strong{color:var(--accent);font-size:1.15rem}table.cards td.price-cell{flex-wrap:wrap}table.cards td.line-recs{background:var(--surface);border-radius:10px;margin-top:6px;padding:10px 12px}.recs-head{display:block}.recs{min-width:0}}label.check:has(>input[type=checkbox]){color:var(--text);flex-wrap:nowrap;align-items:flex-start}label.check>input[type=checkbox]{flex:none;margin-top:3px}@media (max-width:640px){.stat-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:0;margin-bottom:16px;padding:4px 16px;display:flex}.card.stat{border:none;border-bottom:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;flex-flow:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;margin:0;padding:12px 0}.card.stat:last-child{border-bottom:none}.card.stat strong{white-space:nowrap;font-size:1.2rem}.card.stat>.raw:not(:first-child){text-align:right;flex-basis:100%;font-size:.8rem}}.inapp-notice{background:var(--warn-bg);max-width:1080px;color:var(--warn-text);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin:12px auto 0;padding:12px 14px;display:flex}.inapp-notice>div:first-child{flex-direction:column;gap:2px;font-size:.92rem;display:flex}@media (max-width:1112px){.inapp-notice{margin:12px 16px 0}}@media (max-width:640px){.inapp-notice{flex-direction:column;align-items:stretch}.inapp-notice .row button:first-child{flex:1}}.policy th{white-space:normal;width:30%;color:var(--text)}.policy td{white-space:normal}.policy ul{margin:0;padding-left:20px}.policy li{margin:4px 0}table.events td{white-space:normal;overflow-wrap:anywhere}@media (max-width:640px){table.events td:first-child{white-space:nowrap;font-size:.85rem}}
