/* POV Design System — internal theme as plain hex for existing HTML / Apps Script UIs. Source of truth: tokens/*.css
   Self-contained: fonts + logo paths point at ./assets/ next to this file. If you host assets elsewhere, edit the url() lines only. */
@font-face{font-family:"Pretendard";src:url("./assets/fonts/Pretendard-Regular.woff") format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Pretendard";src:url("./assets/fonts/Pretendard-Medium.woff") format("woff");font-weight:500;font-display:swap}
@font-face{font-family:"Pretendard";src:url("./assets/fonts/Pretendard-SemiBold.woff") format("woff");font-weight:600;font-display:swap}
@font-face{font-family:"Pretendard";src:url("./assets/fonts/Pretendard-Bold.woff") format("woff");font-weight:700;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("./assets/fonts/HankenGrotesk-Variable.ttf") format("truetype");font-weight:100 900;font-display:swap}
@font-face{font-family:"POV Baskerville";src:url("./assets/fonts/Baskerville.ttf") format("truetype");font-weight:400;font-display:swap}
/* Apps Script / no-file-hosting fallback: uncomment this CDN line instead of the local @font-face above.
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css"); */
:root{--pov-font-kr:Pretendard,"Noto Sans KR",-apple-system,"Malgun Gothic",sans-serif;--pov-font-num:"Hanken Grotesk",Pretendard,sans-serif;--pov-font-serif:"POV Baskerville",Georgia,serif;--pov-paper-0:#FBFAF6;--pov-paper-1:#F8F6F0;--pov-paper-2:#EFEDE7;--pov-paper-3:#E4E2DC;--pov-stone-1:#D3D1CA;--pov-stone-2:#C2BFB8;--pov-stone-3:#AFACA5;--pov-clay-3:#76746E;--pov-umber-2:#51504B;--pov-ink-1:#343330;--pov-ink-3:#1B1B18;--pov-apple:#943F30;--pov-moss:#5F6844;--r:4px}
html,body{margin:0;background:#FBFAF6;color:#1B1B18;font:400 13px/1.55 var(--pov-font-kr)}
a{color:#51504B;text-decoration:none}a:hover{color:#1B1B18}
h1,.pov-title{font:600 20px/1.3 inherit;margin:0}.pov-desc{font-size:12px;color:#76746E;margin-top:4px}
/* shell */
.pov-sidebar{width:220px;background:#EFEDE7;border-right:1px solid #D3D1CA;padding:22px 16px}.pov-sidebar a{display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border-radius:4px;color:#51504B}.pov-sidebar a.is-active{background:#fff;color:#1B1B18;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.pov-topbar{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#EFEDE7;border-bottom:1px solid #D3D1CA}
.pov-tabbar{display:grid;grid-auto-flow:column;gap:4px;height:64px;padding:8px 10px;background:#EFEDE7;border-top:1px solid #D3D1CA}.pov-tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:6px;font-size:10.5px;color:#76746E;white-space:nowrap}.pov-tabbar a.is-active{background:#fff;color:#1B1B18;font-weight:600}
/* panel */
.pov-panel{background:#fff;border:1px solid #D3D1CA;border-radius:4px;overflow:hidden}.pov-panel__head{display:flex;align-items:center;gap:8px;height:36px;padding:0 16px;background:#EFEDE7;border-bottom:1px solid #D3D1CA;font:600 12px/1 inherit}.pov-panel__head .count{font-size:11px;color:#76746E}.pov-panel--late .pov-panel__head{background:#943F30;border-color:#943F30;color:#fff}.pov-panel__body{padding:2px 16px 4px}
.pov-stat{padding:8px 10px;border:1px solid #D3D1CA;border-radius:4px;background:#fff}.pov-stat__label{font-size:10px;letter-spacing:.24em;color:#76746E}.pov-stat__num{font:600 16px/1.1 inherit;margin-top:4px;font-variant-numeric:tabular-nums}.pov-stat--late .pov-stat__num{color:#943F30}
/* rows */
.pov-row{display:flex;align-items:center;gap:14px;min-height:38px;padding:6px 0;border-bottom:1px solid #E4E2DC}.pov-row:last-child{border-bottom:0}.pov-row__title{font:500 11px/1.4 inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pov-row__sub,.pov-row__meta{font-size:10.5px;color:#76746E}
/* status pills */
.pov-pill{display:inline-flex;align-items:center;justify-content:center;height:20px;min-width:52px;padding:0 7px;border-radius:4px;border:1px solid #D3D1CA;background:#fff;font-size:10.5px;color:#51504B;white-space:nowrap}
.pov-pill--seen{border-color:#1B1B18;color:#1B1B18}.pov-pill--progress{background:#1B1B18;border-color:#1B1B18;color:#fff}.pov-pill--done{border-color:#5F6844;color:#5F6844}.pov-pill--late{border-color:#943F30;color:#943F30}
/* buttons */
.pov-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 14px;border-radius:4px;border:1px solid #1B1B18;background:#fff;color:#1B1B18;font:500 12px/1 inherit;cursor:pointer}.pov-btn--primary{background:#1B1B18;color:#F8F6F0}.pov-btn--lg{height:40px;width:100%}
/* chips · filters */
.pov-chip{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:4px;border:1px solid #D3D1CA;background:transparent;color:#51504B;font-size:12px}.pov-chip.is-on{background:#1B1B18;border-color:#1B1B18;color:#F8F6F0;font-weight:600}
/* forms */
.pov-field{display:grid;gap:6px}.pov-field>label{font:500 11px/1 inherit;color:#51504B}.pov-input,.pov-select,.pov-textarea{height:36px;border:1px solid #D3D1CA;border-radius:4px;background:#fff;padding:0 12px;font:400 12px/1 inherit;color:#1B1B18;outline:0;width:100%;box-sizing:border-box}.pov-textarea{height:auto;padding:10px 12px;line-height:1.6}.pov-input:focus,.pov-select:focus,.pov-textarea:focus{border-color:#1B1B18}.pov-input.is-invalid{border-color:#943F30}.pov-hint{font-size:10.5px;color:#76746E}.pov-hint--error{color:#943F30}
/* sheet render */
.pov-sheet{background:#fff;border:1px solid #D3D1CA;border-radius:4px;overflow:auto}.pov-sheet table{border-collapse:collapse;width:100%;font-size:11px}.pov-sheet th{height:32px;padding:0 12px;background:#343330;color:#fff;font-weight:700;text-align:left;white-space:nowrap}.pov-sheet td{height:38px;padding:0 12px;border:1px solid #D3D1CA;white-space:nowrap}.pov-sheet tbody tr:nth-child(even) td{background:#F7F7F7}.pov-sheet td.num{text-align:right;font-variant-numeric:tabular-nums}.pov-sheet tr.section td{background:#E9E7E1;font-weight:700;border-top:1px solid #C2BFB8}.pov-sheet tfoot td{background:#EFEDE7;font-weight:700;border-top:2px solid #1B1B18;height:40px}
.pov-sheet td.late-row{background:#F5DED9;box-shadow:inset 3px 0 0 #943F30}
/* inventory status (same as Google Sheets legend) — text 700, tint on the status cell only */
.pov-inv{font-weight:700;white-space:nowrap}.pov-inv--minus{color:#B3261E;background:#F1D8D2}.pov-inv--danger{color:#B3261E;background:#F9E7E4}.pov-inv--warn{color:#C8641A;background:#FBE2CB}.pov-inv--low{color:#B08900;background:#FBF3C4}.pov-inv--over{color:#2F6FB5;background:#E1EAF5}.pov-inv--out{color:#7A4B2A;background:#ECE1D3}.pov-inv--out-long{color:#7A7A7A}.pov-inv--ok{color:#3B7A2A}
/* 대조·검증 3 tints */
.pov-tint--apple{background:#F9E7E4;color:#B3261E;font-weight:700}.pov-tint--sand{background:#FBF3C4;color:#8A6D00;font-weight:700}.pov-tint--moss{background:#E6EDDF;color:#3B7A2A;font-weight:700}

/* logo — real image assets, never text. wordmark 12–14px tall in shells; symbol 26px when the sidebar is collapsed */
.pov-logo{display:inline-block;height:12px;width:auto;background:url("./assets/logo/wordmark.png") no-repeat left center/contain;aspect-ratio:1000/88}
.pov-logo--symbol{height:26px;background-image:url("./assets/logo/symbol.png");aspect-ratio:1}
.pov-logo--stacked{height:48px;background-image:url("./assets/logo/stacked.png");aspect-ratio:auto;width:120px}
.pov-sidebar .pov-logo{height:14px}.pov-topbar .pov-logo{height:12px}
/* numbers · dates use the latin face */
.pov-stat__num,.pov-row__meta,.pov-sheet td.num{font-family:var(--pov-font-num)}
