html{scroll-behavior:smooth}body{margin:0}#root{min-height:100vh}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:3px;outline:3px solid #066c7052}:root{--bg:#f7faf9;--surface:#fff;--surface-strong:#eef6f4;--text:#132425;--muted:#627173;--line:#dce7e4;--teal:#066c70;--teal-dark:#044e52;--line-green:#06c755;--line-green-dark:#049a42;--red:#c8353f;--red-soft:#fff0f1;--shadow:0 18px 50px #0d2b2c1a;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans Thai,Arial,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#fff 0,#f6fbfa 42%,#edf6f4 100%);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}.appShell{grid-template-columns:minmax(360px,430px) minmax(0,1fr);gap:24px;width:min(1440px,100%);max-width:100vw;min-height:100vh;margin:0 auto;padding:22px;display:grid}.catalogPane,.detailPane{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffdb;border-radius:8px}.catalogPane{align-self:start;height:calc(100vh - 44px);padding:16px;position:sticky;top:22px;overflow:auto}.topBar,.detailHeader,.detailActions,.cardActions,.sectionTitle{align-items:center;display:flex}.topBar{justify-content:space-between;gap:12px;margin-bottom:16px}.brandMark{color:var(--teal-dark);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:inline-flex}.brandMark span{gap:1px;display:grid}.brandMark strong{font-size:18px;line-height:1}.brandMark small{color:var(--muted);letter-spacing:0;font-size:12px;font-weight:700}.staffToggle,.categoryTabs button,.cardActions button,.iconButton,.orderButton,.lineShareButton,.mobileDetailJump button{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:7px;font-size:13px;font-weight:750;display:inline-flex}.staffToggle{padding:0 12px}.staffToggle.isActive{color:var(--teal-dark);background:var(--surface-strong);border-color:#b8d8d4}.searchWrap{height:46px;color:var(--muted);background:#f1f7f6;border:1px solid #d9e7e4;border-radius:8px;align-items:center;gap:10px;margin-bottom:12px;padding:0 14px;display:flex}.searchWrap input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:15px}.categoryTabs{gap:8px;margin-bottom:4px;padding-bottom:10px;display:flex;overflow-x:auto}.categoryTabs button{white-space:nowrap;flex:none;padding:0 12px}.categoryTabs button.isSelected{color:#fff;background:var(--teal);border-color:var(--teal)}.mobileDetailJump{display:none}.productList{gap:10px;display:grid}.productCard{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}.productCard.isSelected{border-color:var(--teal);box-shadow:0 0 0 3px #066c701f}.productCard.isPlaceholder{color:var(--muted);background:linear-gradient(135deg,#fff,#f6fbfa);border-style:dashed}.productCard.isPlaceholder .cardBody{cursor:default}.productCard.isPlaceholder .metaLine strong,.productCard.isPlaceholder .productName{color:#526467}.cardBody{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;grid-template-columns:92px minmax(0,1fr);gap:13px;padding:10px;display:grid}.cardBody:focus-visible{outline-offset:-3px;outline:3px solid #066c7038}.catalogImage{aspect-ratio:1;background:#f4f8f7;border:1px solid #edf2f1;border-radius:8px;width:100%;display:block;overflow:hidden}.imageWrap{min-width:0;display:block;position:relative}.imageWrap.isDetailImage{width:100%}.catalogImage.isLarge{aspect-ratio:4/3;max-height:min(640px,58vh);margin-inline:auto}.sheetImage,.emptyImage{width:100%;height:100%;display:block}.sheetImage{background-position:50%;background-repeat:no-repeat;background-size:205%}.emptyImage{background:linear-gradient(135deg,#ecf5f3,#fff)}.placeholderImage{aspect-ratio:1;background:linear-gradient(135deg,#066c7012,#c8353f0d),repeating-linear-gradient(135deg,#fff 0 8px,#f3f8f7 8px 16px);border:1px dashed #cad9d6;border-radius:8px;width:100%;display:block}.cardContent,.metaLine{display:grid}.cardContent{gap:6px;min-width:0}.metaLine{grid-template-columns:1fr auto;align-items:center;gap:8px}.metaLine strong,.detailCode{color:var(--red);font-size:12px;font-weight:850}.metaLine small{color:var(--muted);font-size:11px;font-weight:750}.productName{font-size:16px;font-weight:850;line-height:1.2}.model{color:var(--muted);font-size:13px;line-height:1.35}.modelSummary{color:var(--teal-dark);font-size:12px;font-weight:850;line-height:1.35}.swatchRow,.placeholderSwatches{gap:5px;display:flex}.placeholderSwatches span{background:#f6fbfa;border:1px dashed #c1d2ce;border-radius:999px;width:16px;height:16px}.swatch,.largeSwatch{border:1px solid #1324252e;display:inline-block;box-shadow:inset 0 0 0 1px #ffffff59}.swatch{border-radius:999px;width:16px;height:16px}.largeSwatch{border-radius:8px;width:36px;height:36px}.cardActions{justify-content:space-between;gap:10px;padding:0 10px 10px}.approval{color:var(--teal);align-items:center;gap:5px;font-size:12px;font-weight:800;display:inline-flex}.cardActions button{min-height:32px;padding:0 10px}.interestBadge{min-height:30px;color:var(--muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border:1px solid #ffffffd1;border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-size:11px;font-weight:900;line-height:1;display:inline-flex;position:absolute;top:7px;right:7px;box-shadow:0 8px 22px #13242524}.interestBadge.isLarge{min-height:40px;padding:0 12px;font-size:13px;top:14px;right:14px}.interestBadge.isCompact{border-radius:999px;justify-content:center;min-width:32px;min-height:32px;padding:0;top:5px;right:5px}.interestBadge.isCompact span{display:none}.interestBadge.is-interested{color:#c8353f}.interestControls{display:flex}.productCard>.interestControls{padding:0 10px 10px}.interestButton{border:1px solid var(--line);width:100%;min-width:0;min-height:46px;color:var(--text);white-space:nowrap;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:900;display:inline-flex}.interestControls.isCompact .interestButton{min-height:36px;padding:0 7px;font-size:12px}.interestButton svg{flex:none}.interestButton.is-interested.isSelected{color:#c8353f;background:#fff0f1;border-color:#f2b7bd}.interestPanel{background:linear-gradient(135deg,#fff8f8,#f2fbfa);border:1px solid #e3ece9;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:center;gap:16px;margin-top:16px;padding:16px;display:grid}.interestPanel h2,.interestPanel p{margin:0}.interestPanel h2{margin-top:3px;font-size:22px;line-height:1.18}.interestPanel p{color:var(--muted);font-size:14px;line-height:1.5}.interestKicker{font-weight:900;color:var(--red)!important}.interestSummary{color:var(--muted);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;font-size:13px;font-weight:850;display:flex}.interestSummary strong{color:var(--teal-dark);border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 9px}.detailPane{min-width:0;max-width:100%;padding:24px;overflow:hidden}.detailHeader{justify-content:space-between;gap:28px;margin-bottom:22px}.detailHeader h1{letter-spacing:0;margin:4px 0 8px;font-size:clamp(30px,4vw,54px);line-height:1.02}.detailHeader p{max-width:760px;color:var(--muted);margin:0;font-size:16px;line-height:1.6}.primaryCtaRow{align-items:center;gap:10px;margin-top:18px;display:flex}.detailCode{text-transform:uppercase;margin:0}.detailActions{flex:none;gap:10px}.iconButton{width:44px;padding:0}.orderButton{color:#fff;background:var(--line-green);border-color:var(--line-green);min-height:44px;padding:0 16px;text-decoration:none}.orderButton.isPrimaryCta{background:linear-gradient(135deg, var(--line-green), var(--line-green-dark));border-color:var(--line-green-dark);min-height:58px;padding:0 24px;font-size:17px;box-shadow:0 14px 30px #06c75542}.lineShareButton{min-height:44px;color:var(--teal-dark);background:var(--surface-strong);border-color:#b8d8d4;padding:0 14px;text-decoration:none}.gallery{grid-template-columns:minmax(0,1fr) 108px;align-items:start;gap:12px;max-width:100%;display:grid}.thumbRail{gap:10px;max-width:108px;display:grid}.thumbRail button{background:0 0;border:0;padding:0}.detailSection{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.pieceSelector{border:1px solid var(--line);background:#f7fbfa;border-radius:8px;margin-top:16px;padding:16px}.pieceSelector .sectionTitle{margin-bottom:12px}.pieceGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.pieceGrid button{min-height:68px;color:var(--text);border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;gap:3px;padding:12px;display:grid}.pieceGrid button.isSelected{color:var(--teal-dark);border-color:var(--teal);background:#eef8f6;box-shadow:0 0 0 3px #066c701a}.pieceGrid strong{font-size:16px}.pieceGrid span,.pieceSelector p{color:var(--muted);font-size:13px;line-height:1.4}.pieceSelector p{margin:12px 0 0}.twoColumn{grid-template-columns:minmax(0,.9fr) minmax(420px,1fr);gap:28px;display:grid}.twoColumn>*{min-width:0}.sectionTitle{color:var(--teal-dark);gap:9px;margin-bottom:14px}.sectionTitle h2{margin:0;font-size:18px}.variantGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.variantItem{border:1px solid var(--line);background:#f7fbfa;border-radius:8px;align-items:center;gap:12px;min-width:0;padding:12px;display:flex}.variantItem div{gap:2px;min-width:0;display:grid}.variantItem strong{font-size:14px}.variantItem span,.variantItem small{color:var(--muted);font-size:12px;line-height:1.3}.fabricText{color:var(--text);margin:0 0 8px;line-height:1.55}.fabricText.thai{color:var(--muted)}.notesList{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.notesList li{background:var(--red-soft);border-left:3px solid var(--red);color:#6d252a;border-radius:6px;padding:10px 12px;font-size:14px;line-height:1.45}.sizeCalculator{border:1px solid var(--line);background:#f7fbfa;border-radius:8px;margin-bottom:18px;padding:14px}.sizeCalculator .sectionTitle{margin-bottom:8px}.sizeCalculator p{color:var(--muted);margin:0 0 12px;font-size:14px;line-height:1.45}.measurementGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.measurementGrid label{gap:6px;min-width:0;display:grid}.measurementGrid span{color:var(--muted);font-size:12px;font-weight:850}.measurementGrid input{width:100%;min-height:44px;color:var(--text);border:1px solid var(--line);background:#fff;border-radius:8px;outline:0;padding:0 10px;font-size:16px;font-weight:800}.measurementGrid input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #066c701f}.sizeResult{color:var(--muted);background:#fff;border:1px dashed #cbd8d5;border-radius:8px;gap:3px;margin-top:12px;padding:12px;display:grid}.sizeResult.hasResult{color:var(--teal-dark);background:#eef8f6;border-style:solid;border-color:#b8d8d4}.sizeResult strong{color:inherit;font-size:17px}.sizeResult span{font-size:13px;line-height:1.4}.selectedPieceNote{color:var(--teal-dark);background:#eef8f6;border:1px solid #b8d8d4;border-radius:8px;gap:4px;margin-bottom:18px;padding:12px;display:grid}.selectedPieceNote span,.selectedPieceNote small{color:var(--muted);line-height:1.4}.selectedPieceNote small{font-size:13px}.sizeTableWrap{overscroll-behavior-inline:contain;border:1px solid var(--line);border-radius:8px;width:100%;min-width:0;max-width:100%;overflow-x:auto}.faqSection{padding-bottom:2px}.faqList{gap:8px;display:grid}.faqList details{border:1px solid var(--line);background:#fff;border-radius:8px}.faqList summary{min-height:48px;color:var(--text);cursor:pointer;padding:13px 14px;font-weight:850}.faqList p{color:var(--muted);margin:0;padding:0 14px 14px;line-height:1.55}table{border-collapse:collapse;background:#fff;width:100%;min-width:520px}th,td{border-bottom:1px solid var(--line);text-align:left;padding:12px;font-size:13px}th{color:var(--muted);background:#f3f8f7;font-weight:850}tr:last-child td{border-bottom:0}.adminShell{background:linear-gradient(#fff 0,#f6fbfa 48%,#edf6f4 100%);min-height:100vh;padding:18px}.adminPanel{border:1px solid var(--line);width:min(760px,100%);box-shadow:var(--shadow);background:#ffffffe6;border-radius:8px;margin:0 auto;padding:16px}.adminPanel.isWide{width:min(1180px,100%)}.adminHeader,.adminIntro,.adminProductStrip,.adminRowTop,.adminSaveBar{align-items:center;display:flex}.adminHeader{justify-content:space-between;gap:12px;margin-bottom:16px}.loginCard,.sizeEditor,.adminSizeRow,.adminProductRow,.adminCategoryManager{gap:12px;display:grid}.loginCard h1,.adminIntro h1{margin:0;font-size:28px;line-height:1.15}.loginCard p,.adminIntro p{color:var(--muted);margin:0;line-height:1.5}.loginCard label,.adminSizeRow label,.adminProductRow label,.adminCategoryRow label{gap:6px;min-width:0;display:grid}.loginCard label span,.adminSizeRow label span,.adminProductRow label span,.adminCategoryRow label span{color:var(--muted);font-size:12px;font-weight:850}.loginCard input,.adminSizeRow input,.adminProductRow input,.adminProductRow select,.adminProductRow textarea,.adminCategoryRow input,.adminIntro select{width:100%;min-height:46px;color:var(--text);border:1px solid var(--line);background:#fff;border-radius:8px;outline:0;padding:0 12px;font-size:16px;font-weight:800}.adminProductRow textarea{resize:vertical;min-height:88px;padding-block:10px;line-height:1.4}.loginCard input:focus,.adminSizeRow input:focus,.adminProductRow input:focus,.adminProductRow select:focus,.adminProductRow textarea:focus,.adminCategoryRow input:focus,.adminIntro select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #066c701f}.adminPrimaryButton,.adminGhostButton,.adminIconButton{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:900;display:inline-flex}.adminPrimaryButton{color:#fff;background:var(--teal);border:1px solid var(--teal);padding:0 16px}.adminPrimaryButton:disabled{cursor:wait;opacity:.72}.adminGhostButton,.adminIconButton{color:var(--teal-dark);background:var(--surface-strong);border:1px solid #b8d8d4}.adminGhostButton{padding:0 14px}.adminIconButton{width:40px;padding:0}.adminIntro{justify-content:space-between;gap:14px}.adminIntro select{max-width:310px}.adminProductStrip{border:1px solid var(--line);background:#f7fbfa;border-radius:8px;gap:12px;padding:12px}.adminProductStrip .catalogImage{flex:0 0 76px;width:76px}.adminProductStrip div{gap:3px;display:grid}.adminProductStrip strong{color:var(--red)}.adminProductStrip small,.adminProductStrip span{color:var(--muted)}.adminRows{gap:10px;display:grid}.adminRows.isSheet{gap:14px}.adminProductPanel{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.adminProductPanel[open]{border-color:#b8d8d4;box-shadow:0 10px 28px #0d2b2c12}.adminProductSummary{min-height:68px;color:var(--text);cursor:pointer;background:#f8fbfa;grid-template-columns:24px minmax(220px,1.5fr) minmax(90px,.7fr) 72px 72px auto;align-items:center;gap:10px;padding:12px 14px;list-style:none;display:grid}.adminProductSummary::-webkit-details-marker{display:none}.adminProductSummary:before{content:"+";width:24px;height:24px;color:var(--teal-dark);background:var(--surface-strong);border:1px solid #b8d8d4;border-radius:999px;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.adminProductPanel[open] .adminProductSummary:before{content:"-"}.adminProductSummary>span:first-child{gap:3px;display:grid}.adminProductSummary strong{font-size:16px;line-height:1.2}.adminProductSummary small,.adminProductSummary>span:not(:first-child){color:var(--muted);font-size:13px;font-weight:850}.adminProductSummary mark{border-radius:999px;justify-self:end;padding:6px 10px;font-size:12px;font-weight:900}.adminProductSummary mark.ready{color:var(--teal-dark);background:#eef8f6}.adminProductSummary mark.needsWork{color:#84282f;background:#fff0f1}.adminSizeRow{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:repeat(5,minmax(0,1fr));padding:12px}.adminProductRow{border:0;border-top:1px solid var(--line);background:#fff;border-radius:0;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:12px}.adminRowTop{grid-column:1/-1;justify-content:space-between;gap:10px}.adminSizeRow label:last-child{grid-column:span 2}.adminProductRow .isFull{grid-column:1/-1}.adminProductRow label small{color:var(--muted);font-size:12px;line-height:1.35}.adminNestedEditor{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;gap:10px;padding:12px;display:grid}.adminCategoryManager{background:#fff;border:1px solid #b8d8d4;border-radius:8px;padding:14px}.adminCategoryTable{gap:8px;display:grid}.adminCategoryRow{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;grid-template-columns:minmax(120px,.9fr) minmax(150px,1fr) minmax(150px,1fr) 76px 90px 40px;align-items:end;gap:8px;padding:10px;display:grid}.adminCheckLabel{justify-items:start}.adminCheckLabel input{width:24px;min-height:24px;accent-color:var(--teal)}.adminInlineActions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.adminInlineActions p{flex:1}.nestedEditorHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.nestedEditorHeader div{gap:3px;display:grid}.nestedEditorHeader strong{color:var(--teal-dark);font-size:15px}.nestedEditorHeader span{color:var(--muted);font-size:13px;line-height:1.35}.nestedRows{gap:8px;display:grid}.adminVariantRow,.adminChartRow{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:end;gap:8px;padding:10px;display:grid}.adminVariantRow{grid-template-columns:1.2fr 1.1fr 96px 1.2fr 1fr 40px}.adminChartRow{grid-template-columns:.8fr repeat(4,1fr) 1fr 40px}.adminTableHeader{color:var(--muted);background:0 0;border:0;align-items:center;padding:0 10px;font-size:12px;font-weight:900}.adminTableHeader span{min-width:0;line-height:1.2}.sheetHelp{color:var(--muted);border:1px solid var(--line);background:#f7fbfa;border-radius:8px;gap:6px;padding:12px;font-size:13px;font-weight:750;line-height:1.45;display:grid}.adminSaveBar{background:linear-gradient(#fff0,#fff 26%);justify-content:flex-end;gap:10px;padding-top:10px;position:sticky;bottom:0}.adminError,.adminSuccess{border-radius:8px;margin:0;padding:10px 12px;font-weight:850;line-height:1.4}.adminError{color:#84282f;background:#fff0f1;border:1px solid #f2b7bd}.adminSuccess{color:var(--teal-dark);background:#eef8f6;border:1px solid #b8d8d4}@media (width<=980px){.appShell{flex-direction:column;padding:12px;display:flex}.appShell.isProductRoute .detailPane{order:-1;margin-bottom:12px}.catalogPane{height:auto;margin-bottom:12px;position:relative;top:auto}.mobileDetailJump{margin:2px 0 12px;display:block}.mobileDetailJump button{width:100%;color:var(--teal-dark);background:var(--surface-strong)}.mobileDetailJump svg{rotate:-90deg}.detailPane{padding:16px}.detailHeader,.gallery,.twoColumn{grid-template-columns:1fr}.detailHeader{gap:18px;display:grid}.detailHeader h1{font-size:34px}.detailActions{flex-wrap:wrap;width:100%}.primaryCtaRow{grid-template-columns:minmax(0,1fr) 48px;margin-top:16px;display:grid}.orderButton.isPrimaryCta{width:100%;min-height:56px;padding:0 16px;font-size:16px}.lineShareButton{flex:1}.thumbRail{grid-template-columns:repeat(4,1fr)}.variantGrid,.pieceGrid,.interestPanel,.measurementGrid{grid-template-columns:1fr}.adminIntro{display:grid}.adminIntro select{max-width:none}.adminSizeRow,.adminProductRow,.adminCategoryRow{grid-template-columns:1fr 1fr}.adminProductSummary{grid-template-columns:24px minmax(0,1fr) auto}.adminProductSummary>span:nth-of-type(2),.adminProductSummary>span:nth-of-type(3),.adminProductSummary>span:nth-of-type(4){display:none}.adminVariantRow,.adminChartRow{grid-template-columns:1fr 1fr}.adminTableHeader{display:none}.adminCategoryRow .adminIconButton,.adminVariantRow .adminIconButton,.adminChartRow .adminIconButton{width:100%}}@media (width<=480px){.appShell{padding:0}.catalogPane,.detailPane{border-inline:0;border-radius:0}.cardBody{grid-template-columns:82px minmax(0,1fr)}.interestControls.isCompact .interestButton{min-height:34px;padding:0 5px;font-size:11px}.topBar{align-items:flex-start}.adminShell{padding:0}.adminPanel{border-inline:0;border-radius:0;min-height:100vh}.adminSizeRow,.adminProductRow,.adminCategoryRow{grid-template-columns:1fr}.adminInlineActions{display:grid}.adminProductSummary{grid-template-columns:24px minmax(0,1fr)}.adminProductSummary mark{grid-column:2;justify-self:start}.nestedEditorHeader{display:grid}.adminVariantRow,.adminChartRow{grid-template-columns:1fr}.adminTableHeader{display:none}.adminSizeRow label:last-child,.adminProductRow .isFull{grid-column:auto}.adminSaveBar{grid-template-columns:1fr 1fr;display:grid}}
