:root { color-scheme:light; --ink:#243126; --muted:#6d756b; --line:#dce3d5; --cream:#f5f4eb; --paper:#fffef9; --green:#2f641f; --lime:#9bc153; --orange:#d9992b; }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Inter,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; }
.release-banner { position:sticky; top:0; z-index:50; padding:10px 18px; background:#9a5d12; color:white; text-align:center; font-size:12px; font-weight:900; letter-spacing:.08em; box-shadow:0 3px 12px rgba(60,35,5,.18); }
.trial-notice { margin:0 0 22px; padding:15px 18px; border:2px solid #d9992b; border-radius:15px; background:#fff5d8; color:#714a0c; }.trial-notice p { margin:4px 0 0; line-height:1.5; font-size:13px; }
.entry-switch { display:inline-flex; gap:5px; margin:0 0 18px; padding:5px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.72); }.entry-switch button { border:0; border-radius:999px; padding:11px 17px; background:transparent; color:var(--muted); font-weight:800; }.entry-switch button.entry-active { background:var(--green); color:white; box-shadow:0 5px 14px rgba(47,100,31,.18); }
body::before { content:""; position:fixed; inset:0; pointer-events:none; background:radial-gradient(circle at 80% 0%,#dce9c8 0,transparent 32%),linear-gradient(90deg,rgba(47,100,31,.035) 1px,transparent 1px); background-size:auto,24px 24px; }
main { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:48px 0 80px; position:relative; }
header { display:flex; align-items:flex-start; justify-content:space-between; gap:40px; margin-bottom:32px; }
.account-menu { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; }.account-menu span { width:100%; color:var(--muted); font-size:12px; text-align:right; }
.eyebrow { color:var(--green); letter-spacing:.22em; font-size:12px; font-weight:800; margin:0 0 14px; }
h1 { font-family:Georgia,"Songti SC",serif; font-size:clamp(34px,5vw,64px); line-height:1.05; max-width:760px; margin:0; letter-spacing:-.03em; }
.lead { color:var(--muted); font-size:17px; margin:18px 0 0; }
button,input { font:inherit; }
button { cursor:pointer; }
.quiet { border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.7); color:var(--green); padding:12px 18px; font-weight:700; }
.search-panel { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr); gap:18px; background:rgba(255,254,249,.75); border:1px solid var(--line); border-radius:28px; padding:18px; box-shadow:0 20px 50px rgba(43,68,34,.08); }
.drop-zone { min-height:450px; border:1.5px dashed #abc092; border-radius:20px; background:#f9faF3; display:flex; flex-direction:column; align-items:stretch; justify-content:center; gap:12px; overflow:hidden; padding:14px; transition:.2s; }
.drop-zone.dragging { border-color:var(--green); background:#edf5df; transform:scale(.995); }
.drop-zone img { width:100%; height:100%; max-height:560px; object-fit:contain; }
.drop-copy { display:flex; flex-direction:column; align-items:center; gap:10px; width:100%; padding:32px 18px; border:0; border-radius:16px; background:transparent; color:var(--muted); }
.drop-copy.has-images { padding:12px; border:1px dashed #c6d5b8; background:rgba(255,255,255,.68); }
.drop-copy span { width:64px; height:64px; border-radius:50%; display:grid; place-items:center; background:#e7f0d8; color:var(--green); font-size:32px; }
.drop-copy.has-images span { width:36px; height:36px; font-size:22px; }
.drop-copy b { color:var(--ink); font-size:18px; }
.query-previews { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; align-items:start; }
.query-preview-card { position:relative; min-width:0; margin:0; overflow:hidden; border:1px solid var(--line); border-radius:13px; background:white; }
.query-preview-card img { display:block; width:100%; height:230px; object-fit:cover; }
.query-preview-card figcaption { display:flex; min-width:0; flex-direction:column; gap:2px; padding:9px 10px; }
.query-preview-card figcaption b { font-size:11px; color:var(--green); }
.query-preview-card figcaption small { overflow:hidden; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.query-preview-card>button { position:absolute; top:7px; right:7px; width:30px; height:30px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.94); color:#684c3f; font-size:20px; box-shadow:0 3px 10px rgba(0,0,0,.13); }
.controls { display:flex; flex-direction:column; gap:16px; padding:16px 10px; }
.mode-switch { border:0; margin:0; padding:0; display:grid; gap:8px; }.mode-switch legend { font-size:13px; font-weight:800; margin-bottom:8px; }.mode-switch label { display:flex; align-items:flex-start; gap:10px; border:1px solid var(--line); border-radius:14px; padding:13px; background:white; cursor:pointer; }.mode-switch label:has(input:checked) { border-color:var(--green); box-shadow:0 0 0 2px rgba(47,100,31,.1); background:#f4f8ec; }.mode-switch input { margin-top:4px; accent-color:var(--green); }.mode-switch span { display:flex; flex-direction:column; gap:3px; }.mode-switch small { color:var(--muted); line-height:1.4; font-weight:400; }
.controls label:not(.toggle) { display:flex; flex-direction:column; gap:7px; }
.controls label span { font-size:13px; font-weight:700; }
.controls input[type="text"],.controls input:not([type]) { border:1px solid var(--line); background:white; border-radius:12px; padding:13px 14px; outline:none; }
.toggle { display:flex; align-items:center; gap:12px; padding:15px; border:1px solid var(--line); border-radius:14px; background:white; cursor:pointer; }
.toggle input { display:none; }.toggle i { width:42px; height:24px; border-radius:20px; background:#cfd5ca; position:relative; flex:none; }.toggle i::after { content:""; width:18px; height:18px; border-radius:50%; background:white; position:absolute; top:3px; left:3px; transition:.2s; }.toggle input:checked+i { background:var(--green); }.toggle input:checked+i::after { left:21px; }
.toggle span { display:flex; flex-direction:column; gap:3px; }.toggle small { color:var(--muted); font-weight:400; line-height:1.4; }
.primary { margin-top:auto; border:0; border-radius:14px; padding:16px; color:white; background:linear-gradient(100deg,var(--lime),var(--green)); font-size:17px; font-weight:800; box-shadow:0 10px 24px rgba(47,100,31,.2); }.primary:disabled { opacity:.45; cursor:not-allowed; }
.progress,.summary { margin:24px 0; padding:20px 24px; border:1px solid var(--line); border-radius:18px; background:var(--paper); display:flex; align-items:center; gap:16px; }.progress[hidden],.summary[hidden] { display:none; }.progress p { margin:4px 0 0; color:var(--muted); }.spinner { width:28px;height:28px;border:3px solid #dbe6cf;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite; } @keyframes spin { to{transform:rotate(360deg)} }
.summary { justify-content:space-between; }.summary>span { color:var(--muted); white-space:nowrap; }.query-attributes { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:12px; }.query-attributes small { color:var(--muted); margin-right:4px; width:100%; }.attribute-chip { display:inline-flex; align-items:center; gap:6px; border:1px solid #d4dfc8; background:#eef4e4; color:#416230; padding:5px 8px; border-radius:999px; font-size:11px; }.attribute-chip span { font-size:11px; }.attribute-chip b { font-size:9px; text-transform:uppercase; letter-spacing:.05em; opacity:.72; }.attribute-chip.state-must { background:#2f641f; border-color:#2f641f; color:white; }.attribute-chip.state-ignore { background:#f1ede5; border-color:#d4cbbb; color:#776b5a; text-decoration:line-through; }
.multi-view-confirmation { display:inline-flex; margin:10px 0 0!important; padding:6px 9px; border-radius:999px; background:#e7f0d8; color:#315f24!important; font-size:11px!important; font-weight:800; }
.identity-controls { display:grid; grid-template-columns:repeat(3,minmax(150px,1fr)); gap:10px; margin-top:14px; padding:12px; border:1px solid #d9e2cf; border-radius:14px; background:#f8faf4; }.identity-heading { grid-column:1/-1; display:flex; flex-direction:column; gap:2px; }.identity-heading small,.identity-control small { color:var(--muted); font-weight:400; }.identity-control { display:flex; flex-direction:column; gap:6px; }.identity-control>span { display:flex; justify-content:space-between; gap:6px; font-size:12px; font-weight:700; }.identity-control select { width:100%; border:1px solid #cad7bf; border-radius:9px; background:white; color:var(--ink); padding:8px 9px; }.correction-saved { color:#416230; font-size:12px; }
@media (max-width:720px) { .identity-controls { grid-template-columns:1fr; }.identity-heading { grid-column:1; } }
.diagnostic-action { margin:4px 0 8px; border:0; border-radius:999px; background:#8b5d14; color:white; padding:9px 14px; font-weight:700; cursor:pointer; }
.summary.no-match { border-color:#ddb96d; background:#fff9e9; }.summary.no-match p { color:var(--muted); margin:6px 0 0; }.empty-result { grid-column:1/-1; text-align:center; padding:64px 24px; border:1px dashed #c8cfbf; border-radius:20px; background:rgba(255,254,249,.65); }.empty-result b { font:700 25px Georgia,"Songti SC",serif; }.empty-result p { color:var(--muted); max-width:560px; margin:12px auto 0; line-height:1.7; }
.summary.similar-fallback { border-color:#e1b55c; background:#fff9e9; }.summary.similar-fallback p { color:var(--muted); margin:6px 0 0; }
.summary.reference-fallback { border-color:#bdad91; background:#f8f4ed; }.summary.reference-fallback p { color:var(--muted); margin:6px 0 0; }
.summary.inspiration { border-color:#bdad91; background:#f8f4ed; }.summary.inspiration p { color:var(--muted); margin:6px 0 0; }
.results { display:block; }
.empty-main-banner { margin:28px 0 8px; padding:22px 24px; border:2px solid #b96b35; border-radius:18px; background:#fff0e5; color:#713814; box-shadow:0 12px 28px rgba(113,56,20,.08); }.empty-main-banner b { display:block; font:700 27px Georgia,"Songti SC",serif; }.empty-main-banner p { margin:7px 0 0; max-width:780px; line-height:1.55; font-weight:700; }
.result-funnel { position:sticky; top:8px; z-index:8; display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:26px 0 12px; padding:13px 16px; border:1px solid #cbd9bd; border-radius:14px; background:rgba(248,252,243,.96); box-shadow:0 8px 20px rgba(45,71,33,.08); color:#47613b; font-size:12px; }.result-funnel span { color:#9aaa90; }.result-section { margin-top:30px; }.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:0 2px 12px; }.section-heading h2 { font:700 26px Georgia,serif; margin:0; }.section-heading small { display:block; color:var(--muted); margin-top:4px; }.section-heading p { color:var(--muted); max-width:650px; margin:0; line-height:1.5; font-size:13px; text-align:right; }.results-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.deferred-result { display:none; }.show-all-results { display:block; margin:16px auto 0; }.show-all-results.is-expanded { color:var(--muted); border-style:dashed; pointer-events:none; }
.reference-only-group { margin-top:34px; padding:0 18px 22px; border:1px solid #d2b48d; border-radius:18px; background:#f6eee3; }.reference-only-group>summary { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 -18px; padding:18px 20px; cursor:pointer; list-style:none; color:#754515; }.reference-only-group>summary::-webkit-details-marker { display:none; }.reference-only-group>summary span { font:700 21px Georgia,"Songti SC",serif; }.reference-only-group>summary b { padding:7px 10px; border-radius:999px; background:#ead8c2; font-size:12px; white-space:nowrap; }.reference-only-warning { margin:4px 0 -10px; padding:12px 14px; border-left:4px solid #b96b35; background:#fff7ef; color:#744219; font-size:13px; line-height:1.5; font-weight:700; }
.result-card { position:relative; display:grid; grid-template-columns:220px 1fr; min-height:330px; background:var(--paper); border:1px solid var(--line); border-radius:20px; overflow:hidden; }
.result-order { position:absolute; z-index:3; top:12px; left:12px; min-width:42px; padding:7px 10px; border-radius:999px; background:#263624; color:white; box-shadow:0 4px 12px rgba(0,0,0,.18); font-size:15px; font-weight:900; text-align:center; }
.result-image { width:100%; height:100%; min-height:330px; padding:0; border:0; background:#e8e8e1; cursor:zoom-in; }.result-image img { width:100%; height:100%; object-fit:cover; display:block; }
.result-body { padding:24px; display:flex; flex-direction:column; align-items:flex-start; }.brand { color:var(--green); text-transform:uppercase; font-size:11px; letter-spacing:.12em; font-weight:800; margin:0; }.result-body h2 { font:700 28px Georgia,"Songti SC",serif; margin:7px 0 12px; }.scores { display:flex; flex-wrap:wrap; gap:6px; }.scores span { background:#eef4e4; color:#416230; padding:5px 8px; border-radius:7px; font-size:11px; font-weight:700; }
.match-tier { display:inline-flex; align-items:center; flex-wrap:wrap; gap:8px; border-radius:12px; padding:8px 11px; margin-bottom:12px; }.match-tier span { font-size:12px; font-weight:800; }.match-tier small { padding:3px 6px; border-radius:999px; background:rgba(255,255,255,.58); font-size:9px; font-weight:700; opacity:.82; }.match-tier.tier-a { background:#eaf3dc; color:#42632d; }.match-tier.tier-b { background:#fff0cf; color:#8b5b12; }.match-tier.tier-c1,.match-tier.tier-c2 { background:#eee9df; color:#685a47; }.match-tier.tier-u { background:#f1edf5; color:#675776; }.match-tier.tier-e { background:#efe5e2; color:#783c32; }.match-tier.tier-i { background:#e8edf2; color:#526473; }.possible-same-badge { padding:3px 7px; border-radius:999px; background:#2f641f; color:white; }
.near-tier-explanation { width:100%; margin:-3px 0 12px; padding:10px 11px; border-left:4px solid #c58c28; border-radius:8px; background:#fff7e5; color:#754c0b; display:flex; flex-direction:column; gap:2px; }.near-tier-explanation b { font-size:12px; }.near-tier-explanation span { font-size:11px; line-height:1.4; }
.result-card.tier-c1,.result-card.tier-c2 { border:2px solid #c4834e; background:#fbf5ed; box-shadow:none; }.result-card.tier-c1 .result-image img,.result-card.tier-c2 .result-image img { filter:saturate(.72); }.result-card.tier-u { border-style:dashed; border-color:#bdb1c7; }.result-card.tier-e { border-color:#b67d72; background:#f8efed; }.result-card.tier-i { border-color:#c8d0d7; }
.reference-warning { width:100%; display:flex; flex-direction:column; gap:2px; margin:-8px 0 14px; padding:9px 11px; border-radius:10px; background:#f5ddca; color:#7e3f18; }.reference-warning b { font-size:13px; }.reference-warning span { font-size:11px; font-weight:700; }
.unified-reference-area { margin-top:36px; padding:22px; border:1px solid #d2b48d; border-radius:22px; background:#f8f3e9; }.reference-area-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }.reference-area-heading h2 { margin:2px 0 0; font:700 34px Georgia,"Songti SC",serif; }.reference-area-heading>b { color:#754515; font-size:12px; }.reference-filters { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }.reference-filter { padding:9px 13px; border:1px solid #cbb99e; border-radius:999px; background:#fffdf8; color:#6d5b44; font-weight:800; cursor:pointer; }.reference-filter.active { border-color:#315f24; background:#315f24; color:white; }.reference-filter:disabled { opacity:.42; cursor:not-allowed; }.unified-reference-area .result-section { margin-top:10px; }.section-preliminary { border:2px solid #d6aa4a; background:#fff9e9; }.section-preliminary .section-heading h2 { color:#805817; }
.section-reference-c2 { margin-top:34px !important; padding-top:26px; border-top:1px dashed #c9ad83; }.section-reference-c2 .section-heading h2 { color:#805817; }.manual-library-check { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:28px 0 8px; padding:18px 20px; border:1px solid #ccd8c2; border-radius:18px; background:#f7faf3; }.manual-library-check b { color:var(--green); }.manual-library-check p { margin:5px 0 0; color:var(--muted); }.manual-library-check button { flex:0 0 auto; }
.fabric-skirt-rescue{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:30px 0 12px;padding:22px 24px;border:2px solid #b98a38;border-radius:22px;background:linear-gradient(135deg,#fffaf0,#f5f8eb)}.fabric-skirt-rescue b{display:block;color:#4c6228;font-size:22px}.fabric-skirt-rescue p{margin:6px 0 0;color:var(--muted)}.fabric-skirt-rescue .eyebrow{margin:0 0 5px;color:#986516}.rescue-search-button{flex:0 0 auto;border:0;border-radius:999px;padding:15px 22px;background:var(--green);color:#fff;font-weight:800;font-size:16px;cursor:pointer}.fabric-skirt-rescue-results{width:100%}.fabric-skirt-rescue:has(.fabric-skirt-rescue-results:not([hidden])){display:block}.section-rescue-strict,.section-rescue-confirmation{margin-top:24px!important}.section-rescue-confirmation{border-color:#c7bda9;background:#fbfaf6}.rescue-empty{margin-top:20px}
.excluded-warning { background:#ead5d1; color:#6f3027; }.archive-review-badge { width:100%; margin:-4px 0 10px; padding:7px 9px; border-radius:8px; background:#f1edf5; color:#675776; font-size:10px; font-weight:800; }.inventory-summary { width:100%; display:grid; gap:5px; margin-top:12px; padding:10px 11px; border:1px solid #d9e2cf; border-radius:10px; background:#f8faf4; font-size:11px; line-height:1.4; }.inventory-summary>b { color:#416230; text-transform:uppercase; letter-spacing:.06em; font-size:9px; }.inventory-summary span { color:#4f5c4e; }.inventory-summary strong { margin-right:5px; color:#263624; }
.explanation,.positioning { width:100%; margin-top:10px; }.explanation b,.positioning b { display:block; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:3px; }.explanation p,.positioning p { margin:0; font-size:12px; line-height:1.5; }.explanation.form-disclosure { padding:8px 10px; border-radius:9px; background:#eef4e7; }.explanation.form-disclosure p { color:#36572e; font-weight:700; }.explanation.difference p { color:#8a5b19; }.explanation.missing p { color:#675776; }.positioning { border-top:1px solid var(--line); padding-top:10px; }.positioning p { color:#4f5c4e; }
.detail-warning { width:100%; margin-top:9px; padding:8px 10px; border-radius:9px; background:#fff3d8; color:#805817; font-size:12px; font-weight:700; }
.pin-button { margin-top:12px; }.pin-button.is-pinned { background:var(--green); color:white; border-color:var(--green); }
.browse-view { padding:22px; border:1px solid var(--line); border-radius:24px; background:rgba(255,254,249,.78); }.browse-heading { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; }.browse-heading h2 { margin:0; font:700 38px Georgia,"Songti SC",serif; }.browse-heading p:not(.eyebrow) { color:var(--muted); }.browse-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:22px 0 16px; }.browse-filter,.price-filter { position:relative; border:1px solid var(--line); border-radius:12px; background:white; }.browse-filter>summary { display:flex; justify-content:space-between; gap:8px; padding:12px; cursor:pointer; list-style:none; font-weight:800; }.browse-filter>summary::-webkit-details-marker { display:none; }.browse-filter>summary small { color:var(--green); }.browse-filter-menu { position:absolute; z-index:20; top:calc(100% + 5px); left:0; width:max(100%,260px); max-height:290px; overflow:auto; padding:8px; border:1px solid var(--line); border-radius:12px; background:white; box-shadow:0 14px 34px rgba(31,50,26,.16); }.browse-filter-menu label { display:flex; align-items:flex-start; gap:8px; padding:8px; border-radius:8px; font-size:12px; }.browse-filter-menu label:hover { background:#f2f6eb; }.browse-filter-menu input { accent-color:var(--green); }.price-filter { grid-column:span 2; padding:10px 12px; }.price-filter>b { display:block; margin-bottom:7px; font-size:12px; }.price-filter>div { display:flex; align-items:center; gap:7px; }.price-filter input { width:100%; min-width:0; padding:8px; border:1px solid var(--line); border-radius:8px; }.browse-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:18px 0 12px; }.browse-toolbar label { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:12px; }.browse-toolbar select { padding:9px; border:1px solid var(--line); border-radius:9px; background:white; }.browse-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }.browse-card { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--paper); }.browse-image { width:100%; height:300px; padding:0; border:0; background:#e8e8e1; }.browse-image img { width:100%; height:100%; object-fit:cover; }.browse-card>div { padding:16px; }.browse-card h3 { margin:5px 0 8px; font:700 23px Georgia,"Songti SC",serif; }.browse-attributes { min-height:48px; color:var(--muted); font-size:11px; line-height:1.45; }.browse-more { display:block; margin:18px auto 0; }
.pin-bar { position:fixed; z-index:45; left:50%; bottom:16px; transform:translateX(-50%); min-width:260px; display:flex; justify-content:space-between; gap:24px; padding:13px 18px; border:0; border-radius:999px; background:#263624; color:white; box-shadow:0 14px 38px rgba(20,36,17,.28); }.pin-bar b { color:#d8edb4; }.drawer-backdrop { position:fixed; z-index:60; inset:0; background:rgba(24,32,22,.38); backdrop-filter:blur(2px); }.pin-drawer { position:fixed; z-index:61; top:0; right:0; width:min(460px,100%); height:100dvh; overflow:auto; padding:24px; background:var(--paper); box-shadow:-18px 0 50px rgba(24,32,22,.2); }.drawer-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }.drawer-heading h2 { margin:0; font:700 34px Georgia,"Songti SC",serif; }.pin-list { display:grid; gap:9px; margin:22px 0; }.pin-list article { display:grid; grid-template-columns:1fr auto; align-items:center; gap:8px; border:1px solid var(--line); border-radius:13px; overflow:hidden; }.pin-item-open { min-width:0; display:grid; grid-template-columns:78px 1fr; align-items:center; gap:12px; padding:0; border:0; background:white; text-align:left; }.pin-item-open img { width:78px; height:92px; object-fit:cover; }.pin-item-open span { min-width:0; display:flex; flex-direction:column; gap:5px; padding:8px 0; }.pin-item-open b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.pin-item-open small { color:var(--muted); }.pin-item-remove { width:38px; height:38px; margin-right:9px; border:0; border-radius:50%; background:#f0eee8; color:#6e6458; font-size:21px; }.clear-pins { width:100%; }.empty-pin-list { padding:38px 20px; border:1px dashed var(--line); border-radius:14px; text-align:center; }.empty-pin-list p { color:var(--muted); line-height:1.5; }
.style-dialog { width:min(1050px,calc(100% - 28px)); max-height:92dvh; padding:0; border:0; border-radius:22px; background:var(--paper); box-shadow:0 26px 90px rgba(20,30,18,.32); }.style-dialog::backdrop { background:rgba(24,32,22,.6); }.dialog-close { position:absolute; z-index:3; top:13px; right:13px; width:42px; height:42px; border:0; border-radius:50%; background:rgba(255,255,255,.9); font-size:27px; }.style-dialog-content,.style-dialog #styleDialogContent { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); }.dialog-gallery { min-width:0; padding:18px; background:#eeede7; }.dialog-main-image { width:100%; height:min(68dvh,720px); object-fit:contain; display:block; }.dialog-thumbnails { display:flex; gap:7px; overflow:auto; margin-top:10px; }.dialog-thumb { flex:0 0 72px; padding:3px; border:2px solid transparent; border-radius:8px; background:white; }.dialog-thumb.active { border-color:var(--green); }.dialog-thumb img { width:100%; height:76px; object-fit:cover; display:block; }.dialog-thumb small { display:block; overflow:hidden; color:var(--muted); font-size:8px; }.dialog-copy { padding:42px 28px 28px; }.dialog-copy h2 { margin:7px 0 10px; font:700 38px Georgia,"Songti SC",serif; }.dialog-price { font-size:18px; font-weight:800; }.dialog-attributes { display:flex; flex-wrap:wrap; gap:6px; margin:18px 0; }.dialog-attributes span { padding:6px 8px; border-radius:8px; background:#eef4e4; color:#416230; font-size:11px; }
.reason { display:flex; flex-direction:column; gap:4px; margin-top:14px; font-size:12px; line-height:1.4; }.reason.good { color:#376326; }.reason.conflict { color:#99651b; }.variant { color:var(--muted); font-size:12px; }.result-body a { margin-top:auto; color:var(--green); font-weight:800; text-decoration:none; font-size:13px; }
.admin { margin-top:36px; border-top:1px solid var(--line); padding-top:18px; }.admin summary { cursor:pointer; color:var(--muted); font-weight:700; }.status-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:16px 0; }.status-cards div { background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:14px; display:flex; flex-direction:column; }.status-cards b { font-size:22px; }.status-cards span,.status-cards small { color:var(--muted); font-size:12px; }.status-cards small { margin-top:6px; }.status-cards .status-card-alert { border-color:#b83b32; background:#fff1ef; }.status-cards .status-card-alert b,.status-cards .status-card-alert span { color:#9c2f28; }.admin-actions { display:flex; flex-wrap:wrap; gap:8px; }#maintenanceText { color:var(--muted); }
.feedback-panel { margin:28px 0; padding:18px 22px; display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid #cbd9bd; border-radius:18px; background:#f9fcf3; }.feedback-panel p { margin:4px 0 0; color:var(--muted); font-size:13px; }.feedback-panel>div:last-child { display:flex; gap:8px; }.feedback-panel button { padding:12px 16px; border-radius:999px; font-weight:800; }.feedback-yes { border:0; color:white; background:var(--green); }.feedback-no { border:1px solid #d7b76f; color:#7d5714; background:#fff8e8; }.feedback-panel button:disabled { opacity:.65; cursor:default; }
.usage-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:16px 0; }.usage-summary div { padding:14px; border:1px solid var(--line); border-radius:12px; background:var(--paper); display:flex; flex-direction:column; }.usage-summary b { font-size:24px; }.usage-summary span,.muted { color:var(--muted); font-size:12px; }.admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:18px 0; }.admin-grid section { padding:16px; border:1px solid var(--line); border-radius:14px; background:rgba(255,254,249,.75); }.admin-grid h3 { margin:0 0 12px; }.insight-list { display:grid; gap:7px; }.insight-list article { display:grid; grid-template-columns:1fr auto; gap:4px 10px; padding:9px; border-radius:9px; background:white; }.insight-list article span { grid-column:1; color:var(--muted); font-size:11px; }.insight-list article button { grid-column:2; grid-row:1/3; align-self:center; padding:7px 10px; font-size:11px; }
.search-status { display:flex; flex-direction:column; align-items:flex-end; gap:7px; min-width:190px; }.speed-badge { display:inline-flex; padding:7px 10px; border-radius:999px; background:#e7efdc; color:#315f24; font-weight:800; font-size:12px; white-space:nowrap; }.search-status p { max-width:430px; margin:0; color:var(--muted); font-size:12px; line-height:1.45; text-align:right; }.review-pending .speed-badge { background:#fff0c9; color:#845e0b; }.review-update { color:#315f24 !important; font-weight:700; }.image-quality-hint { color:#80601d !important; }
.account-form { display:grid; grid-template-columns:1fr 1fr 1.4fr .8fr auto; gap:8px; margin:16px 0; }.account-form input,.account-form select { min-width:0; padding:10px; border:1px solid var(--line); border-radius:10px; background:white; }.user-list { display:grid; gap:7px; }.user-list article { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:11px 13px; border:1px solid var(--line); border-radius:11px; background:var(--paper); }.user-list article div { display:flex; flex-direction:column; }.user-list span { color:var(--muted); font-size:12px; }
.equivalence-candidates { display:grid; gap:9px; margin-top:14px; }.equivalence-candidates article { display:flex; justify-content:space-between; gap:14px; padding:13px; border:1px solid var(--line); border-radius:12px; background:var(--paper); }.equivalence-candidates article>div { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }.equivalence-candidates small { width:100%; color:var(--muted); }.equivalence-candidates button { padding:8px 11px; font-size:11px; }
.login-screen { min-height:100vh; display:grid; place-items:center; padding:24px; position:relative; }.login-card { width:min(480px,100%); display:grid; gap:16px; padding:32px; border:1px solid var(--line); border-radius:24px; background:rgba(255,254,249,.94); box-shadow:0 24px 70px rgba(43,68,34,.12); }.login-card h1 { font-size:38px; }.login-card label { display:grid; gap:7px; font-weight:700; font-size:13px; }.login-card input { padding:13px; border:1px solid var(--line); border-radius:11px; background:white; }.login-error { min-height:18px; margin:0; color:#963d2d; font-size:13px; }
.audit-results { margin-top:48px; padding:26px; border:1px solid #c8b88f; border-radius:24px; background:#f7f2e7; }.audit-results[hidden] { display:none; }.audit-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid #d8ccb0; padding-bottom:20px; }.audit-heading h2 { margin:0; font:700 34px Georgia,serif; }.audit-reconciled { border-radius:999px; padding:8px 12px; font-size:12px; font-weight:800; }.audit-reconciled.ok { background:#dcebd1; color:#2f641f; }.audit-reconciled.error { background:#f3d6cc; color:#8a3521; }.audit-block { margin-top:28px; }.census-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }.census-metrics div { min-height:96px; padding:15px; border:1px solid #ddd2b9; border-radius:14px; background:#fffdf7; display:flex; flex-direction:column; justify-content:space-between; }.census-metrics b { font-size:23px; line-height:1.2; }.census-metrics span { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.06em; }.census-list { margin-top:12px; padding:12px 15px; border:1px solid #ddd2b9; border-radius:12px; background:#fffdf7; }.census-list summary { cursor:pointer; font-weight:700; }.census-list ol { max-height:360px; overflow:auto; padding-left:24px; }.census-list li { padding:8px 4px; border-bottom:1px solid #eee7d7; }.census-list li span { display:block; color:var(--muted); font-size:12px; margin-top:2px; }.audit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.audit-card { display:grid; grid-template-columns:120px 1fr; min-height:210px; border:1px solid #ddd2b9; border-radius:14px; background:#fffdf7; overflow:hidden; }.audit-card>img { width:100%; height:100%; object-fit:cover; background:#e8e5dc; }.audit-card>div { padding:14px; }.audit-card h3 { margin:4px 0 8px; font:700 21px Georgia,serif; }.audit-card p { margin:7px 0; font-size:12px; line-height:1.4; }.audit-badges { display:flex; flex-wrap:wrap; gap:5px; }.audit-badges span { padding:4px 6px; border-radius:6px; background:#eee8d9; font-size:10px; font-weight:700; }.evidence-status { font-weight:800; }.status-verified { color:#2f641f; }.status-unverified { color:#9a6516; }.status-unknown { color:#765f78; }.audit-review { margin-top:6px; padding:8px 11px; font-size:11px; }.audit-review:disabled { cursor:default; opacity:.7; }
@media(max-width:850px){ main{width:min(100% - 24px,700px);padding-top:24px}header{display:block}.account-menu{justify-content:flex-start;margin-top:18px}.account-menu span{text-align:left}.search-panel{grid-template-columns:1fr}.drop-zone{min-height:360px}.results-grid{grid-template-columns:1fr}.section-heading{display:block}.section-heading p{text-align:left;margin-top:6px}.result-card{grid-template-columns:150px 1fr}.result-image{min-height:260px}.status-cards,.usage-summary{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.account-form{grid-template-columns:1fr}.feedback-panel{align-items:flex-start;flex-direction:column}.feedback-panel>div:last-child{flex-wrap:wrap}.search-status{align-items:flex-start}.search-status p{text-align:left}.browse-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.browse-results{grid-template-columns:repeat(2,minmax(0,1fr))}.style-dialog-content,.style-dialog #styleDialogContent{grid-template-columns:1fr}.dialog-main-image{height:55dvh}.dialog-copy{padding-top:24px} }
@media(max-width:560px){ .entry-switch{display:flex}.entry-switch button{flex:1;padding:10px 12px}.browse-view{padding:14px}.browse-heading{display:block}.browse-heading h2{font-size:31px}.browse-filters{grid-template-columns:1fr}.price-filter{grid-column:1}.browse-results{grid-template-columns:1fr}.browse-image{height:370px}.pin-bar{bottom:10px;width:calc(100% - 24px)}.result-card{grid-template-columns:118px 1fr}.result-body{padding:16px}.result-body h2{font-size:23px}.pin-drawer{padding:18px}.style-dialog{max-height:95dvh}.dialog-copy h2{font-size:31px}.manual-library-check,.fabric-skirt-rescue{display:block}.manual-library-check button,.fabric-skirt-rescue button{width:100%;margin-top:14px} }
@media(max-width:850px){ .audit-grid{grid-template-columns:1fr}.census-metrics{grid-template-columns:repeat(2,1fr)}.audit-heading{align-items:flex-start;flex-direction:column}.audit-results{padding:18px}.audit-card{grid-template-columns:105px 1fr} }

/* Image-first collection results */
.result-funnel { display:none; }
.result-section { margin-top:34px; }
.section-heading { align-items:center; margin:0 0 12px; }
.section-heading h2 { font-size:23px; }
.section-heading p { display:none; }
.results-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.browse-results { grid-template-columns:repeat(4,minmax(0,1fr)); }
.result-card,.result-card.tier-c1,.result-card.tier-c2,.result-card.tier-u,.result-card.tier-e,.result-card.tier-i {
  display:block; min-height:0; overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none;
}
.result-image-wrap { position:relative; overflow:hidden; border-radius:12px; background:#e8e8e1; }
.result-image { display:block; width:100%; height:auto; min-height:0; aspect-ratio:3/4; border:0; background:#e8e8e1; }
.result-image img,.result-card.tier-c1 .result-image img,.result-card.tier-c2 .result-image img { width:100%; height:100%; display:block; object-fit:cover; filter:none; }
.result-tier-badge { position:absolute; z-index:2; top:10px; left:10px; min-width:31px; padding:6px 9px; border-radius:999px; background:rgba(38,54,36,.92); color:white; font-size:11px; font-weight:900; text-align:center; box-shadow:0 3px 10px rgba(0,0,0,.15); }
.result-tier-badge.tier-b { background:rgba(145,94,17,.92); }
.result-tier-badge.tier-c1,.result-tier-badge.tier-c2 { background:rgba(116,68,27,.9); }
.result-tier-badge.tier-u { background:rgba(100,81,115,.9); }
.result-pin,.result-pin.is-pinned { position:absolute; z-index:2; top:9px; right:9px; display:grid; place-items:center; width:36px; height:36px; margin:0; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.92); color:#315f24; font-size:22px; line-height:1; box-shadow:0 3px 12px rgba(0,0,0,.13); }
.result-pin.is-pinned { background:#315f24; color:white; }
.result-card-caption { display:block; padding:10px 2px 2px; }
.result-card-caption .brand { font-size:9px; letter-spacing:.14em; }
.result-card-caption h2 { margin:4px 0 0; font:600 17px Georgia,"Songti SC",serif; line-height:1.2; }
.unified-reference-area { margin-top:34px; padding:0; border:0; border-radius:0; background:transparent; }
.reference-area-heading,.reference-filters { display:none; }
.unified-reference-area .result-section { margin-top:34px; }
.section-reference-c2 { margin-top:34px!important; padding-top:0; border-top:0; }

/* Full-screen style viewer keeps evidence available without crowding the grid. */
.style-dialog { width:min(1440px,calc(100% - 24px)); height:94dvh; max-height:94dvh; border-radius:18px; }
.style-dialog-content,.style-dialog #styleDialogContent { height:94dvh; grid-template-columns:minmax(0,1.5fr) minmax(330px,.5fr); }
.dialog-gallery { display:flex; min-height:0; flex-direction:column; padding:14px; }
.dialog-main-image { flex:1 1 auto; min-height:0; height:auto; object-fit:contain; }
.dialog-thumbnails { flex:0 0 auto; }
.dialog-copy { min-height:0; overflow:auto; padding:46px 28px 28px; }
.dialog-tier { display:inline-flex; margin:0 0 12px; padding:7px 10px; border-radius:999px; background:#eaf3dc; color:#42632d; font-size:11px; font-weight:900; }
.dialog-tier.tier-b { background:#fff0cf; color:#8b5b12; }
.dialog-tier.tier-c1,.dialog-tier.tier-c2 { background:#eee9df; color:#685a47; }
.dialog-detail-warning { margin:0 0 12px; color:#805817; font-size:12px; line-height:1.5; }
.dialog-matching-details,.dialog-archive-details { margin-top:14px; border-top:1px solid var(--line); padding-top:13px; }
.dialog-matching-details>summary,.dialog-archive-details>summary { cursor:pointer; color:var(--green); font-size:12px; font-weight:800; }
.dialog-match-content { display:grid; gap:12px; margin-top:13px; font-size:12px; line-height:1.5; }
.dialog-match-content b { display:block; margin-bottom:3px; color:var(--muted); font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.dialog-match-content p { margin:0; }
.dialog-match-content small { color:var(--muted); }
.dialog-difference p { color:#8a5b19; }
.dialog-missing p { color:#675776; }
.dialog-archive-details .dialog-attributes { margin:12px 0 0; }
.dialog-pin { margin-top:20px; }

@media(max-width:850px){
  .query-previews { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .query-preview-card img { height:210px; }
  .results-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .browse-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .result-card { display:block; min-height:0; }
  .result-image { min-height:0; }
  .result-card-caption { padding:8px 1px 1px; }
  .result-card-caption h2 { font-size:15px; }
  .style-dialog { width:calc(100% - 12px); height:96dvh; max-height:96dvh; }
  .style-dialog-content,.style-dialog #styleDialogContent { height:96dvh; grid-template-columns:1fr; grid-template-rows:minmax(0,60%) minmax(0,40%); }
  .dialog-gallery { padding:8px; }
  .dialog-main-image { height:auto; }
  .dialog-copy { padding:24px 18px 28px; }
}

@media(max-width:560px){
  .drop-zone { min-height:320px; padding:9px; }
  .query-preview-card img { height:170px; }
  .results-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .browse-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .result-body { padding:8px 1px 1px; }
  .result-body h2 { font-size:14px; }
  .result-tier-badge { top:7px; left:7px; padding:5px 7px; }
  .result-pin,.result-pin.is-pinned { top:6px; right:6px; width:32px; height:32px; font-size:19px; }
  .section-heading h2 { font-size:20px; }
}

/* Feedback belongs to the local application; sales report exceptions only. */
.feedback-link{color:inherit;text-decoration:none;display:inline-block}.feedback-dialog{width:min(560px,calc(100vw - 32px));border:1px solid #d6d4c7;border-radius:18px;padding:24px;max-height:90vh;overflow:auto;background:#faf9f3;color:#283625}.feedback-dialog::backdrop{background:#0006}.feedback-dialog label{display:grid;gap:6px;margin:16px 0}.feedback-dialog input,.feedback-dialog select,.feedback-dialog textarea{font:inherit;padding:10px;border:1px solid #c9c7bb;border-radius:8px;max-width:100%;box-sizing:border-box}.feedback-panel{align-items:center}.feedback-panel p{margin:6px 0}#feedbackReceipt{overflow-wrap:anywhere;color:#345f31}.feedback-dialog .drawer-heading{gap:12px}.feedback-dialog h2{margin:0;font-size:22px}@media(max-width:650px){.feedback-panel{flex-direction:column;align-items:stretch}.account-menu{flex-wrap:wrap}}

.pending-reason { margin:7px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
