:root { --accent:#95585d; --accent-dark:#713e43; }
body { color:#272323; }
.company-logo { display:block; width:230px; max-width:100%; height:auto; }
.sidebar .company-logo { width:190px; }
.stock-shell,.viewer-shell { background:#fcf9f8; color:#292525; }
.stock-header,.viewer-top { background:#fff; border-bottom:1px solid #eddcda; }
.stock-header { padding-top:26px; padding-bottom:26px; }
.viewer-top { padding:20px 32px; }
.viewer-brand .company-logo { width:230px; }
.catalog-heading h1 { font-family:Georgia,serif; font-weight:400; font-size:clamp(32px,4vw,48px); letter-spacing:-.035em; color:#34272a; }
.catalog-heading .eyebrow,.stone-type { color:#95585d; }
.catalog-search { background:#fcf9f8; border-color:#eadbd8; border-radius:6px; }
.catalog-search button,.catalog-note { color:#785457; }
.catalog-filter,.filter-chip.is-selected { background:#95585d; border-color:#95585d; color:#fff; }
.catalog-filter { border-radius:6px; }
.catalog-filter circle { fill:#95585d; }
.filter-chip { border-color:#e7d5d2; }
.stock-card { border-color:#eadfdd; border-radius:10px; box-shadow:0 4px 18px #4a212105; }
.stock-card:hover { border-color:#c7989b; box-shadow:0 10px 28px #78414512; }
.view-tag { color:#75474c; background:#fff7f6; border-color:#eed9d6; }
.button:not(.secondary):not(.ghost):not(.danger) { background:#95585d; border-color:#95585d; color:white; }
.viewer-contact { border-top:1px solid #eadbd8; margin-top:24px; padding-top:22px; }
.viewer-contact summary { list-style:none; cursor:pointer; background:#95585d; color:white; border-radius:6px; padding:14px 20px; text-align:center; font-weight:600; }
.viewer-contact summary { display:inline-flex; align-items:center; width:auto; padding:8px 12px; font-size:13px; font-weight:500; }
.viewer-contact { border-top:0; padding-top:0; margin-top:18px; }
.viewer-contact summary::-webkit-details-marker { display:none; }
.viewer-contact summary::after { content:' +'; }
.viewer-contact[open] summary::after { content:' −'; }
.contact-options { display:grid; gap:9px; margin-top:14px; }
.contact-link { display:block; padding:11px 13px; border:1px solid #e7d5d2; border-radius:6px; color:#75474c; overflow-wrap:anywhere; text-decoration:none; }
.contact-link:hover { background:#fff2ef; }
@media(max-width:650px) { .company-logo { width:210px; } .stock-header { gap:20px; } .viewer-top { padding:18px; } }
.viewer-top { height:76px; padding:10px 20px; }
.viewer-grid { height:calc(100vh - 118px); }
.info .contact-link,.info dd a { color:#75474c; }
.control-main { background:#95585d; border-color:#95585d; }
@media(max-width:980px) { .viewer-grid { height:auto; } }
.stock-export { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:18px 20px; background:white; border:1px solid #eadbd8; border-radius:10px; margin:18px 0; }
.stock-export>div:first-child { display:flex; gap:14px; align-items:center; }
#selection-count { color:#785457; font-size:13px; }
#export-status { flex-basis:100%; margin:0; font-size:13px; }
#export-status:empty { display:none; }
.stock-card-wrap { position:relative; min-width:0; }
.stock-card-wrap .stock-card { height:100%; }
.stock-select { position:absolute; top:12px; left:12px; z-index:1; display:flex; align-items:center; gap:6px; border-radius:5px; background:#fffffff2; padding:7px 10px; font-size:12px; cursor:pointer; box-shadow:0 1px 5px #0001; }
.stock-select input { width:16px; height:16px; margin:0; accent-color:#95585d; }
.contact-address { white-space:pre-line; font-style:normal; padding:12px; color:#75474c; }
@media(max-width:650px) { .stock-export .actions { width:100%; flex-wrap:wrap; } }
.stock-card-wrap .stock-card { display:block; }
.export-menu { position:relative; width:fit-content; }
.export-menu summary { cursor:pointer; list-style:none; }
.export-menu summary::-webkit-details-marker { display:none; }
.export-menu summary::after { content:' ▾'; margin-left:8px; }
.export-menu[open] summary::after { content:' ▴'; }
.stock-export.export-menu { display:block; padding:12px 16px; margin:14px 0; }
.export-menu-body { position:absolute; top:calc(100% + 8px); left:0; z-index:5; min-width:230px; max-width:calc(100vw - 40px); padding:14px; border:1px solid #eadbd8; border-radius:8px; background:#fff; box-shadow:0 10px 28px #49252918; }
.export-menu-body .actions { display:grid; gap:8px; }
.export-menu-body #export-status:not(:empty) { margin-top:10px; }
.topbar .export-menu-body { left:auto; right:0; }
.catalog-intro { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,2fr); gap:32px; align-items:center; margin-bottom:24px; }
.catalog-intro .catalog-heading { display:block; }
.catalog-tools { min-width:0; padding:20px; background:#fff; border:1px solid #eadbd8; border-radius:10px; }
.catalog-quick-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.catalog-quick-filters label { display:grid; gap:7px; font-size:12px; font-weight:600; color:#785457; }
.catalog-quick-filters select { width:100%; min-width:0; background:#fcf9f8; border-color:#eadbd8; border-radius:6px; font-size:13px; }
.catalog-tool-actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:16px; }
.catalog-tool-actions .stock-export.export-menu { margin:0; }
.catalog-tools .catalog-selections { margin:14px 0 0; gap:12px; }
.catalog-tools .catalog-filter span { display:inline; }
@media(max-width:1000px) { .catalog-intro { grid-template-columns:1fr; gap:20px; } }
@media(max-width:600px) { .catalog-tools { padding:14px; } .catalog-quick-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } }

.invoice-items {min-width:1000px}.invoice-items input,.invoice-items select{width:100%;min-width:75px}.invoice-items td:nth-child(2){min-width:200px}.invoice-items td:first-child{min-width:150px}.status.duplicate{background:#fff0ce;color:#785100}

.shell > .main, .shell > .sidebar { min-width:0; }
#invoice-content, #invoice-form, #invoice-content .card { min-width:0; max-width:100%; }
#invoice-content .table-wrap { max-width:100%; }
.inventory-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none;background:#6b7280;vertical-align:middle}.inventory-dot.available{background:#239653}.inventory-dot.memo{background:#e6b517}.inventory-dot.hold{background:#db3e46}.inventory-dot.sold{background:#6b7280}.mini-status{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.mini-status select{font-size:12px;padding:5px 24px 5px 8px;width:auto;min-height:30px;max-width:120px;border-radius:7px}.inventory-counts{display:flex;gap:20px;flex-wrap:wrap;margin:18px 0}.inventory-counts span{display:flex;align-items:center;gap:7px}.inventory-upload{margin-top:20px}.inventory-upload p{color:var(--muted,#67717b);line-height:1.6}.inventory-export .export-menu-body{width:290px;max-width:85vw;display:grid;gap:12px;z-index:20}.inventory-export fieldset{padding:10px;border:1px solid #e4d8d3;border-radius:8px}.inventory-export legend{font-size:12px;font-weight:600}.inventory-export label{font-size:13px}.inventory-dialog{width:min(850px,94vw);max-height:90vh;overflow:auto;border:1px solid #e6d8cf;border-radius:18px;padding:24px;box-shadow:0 24px 80px #0003}.inventory-dialog::backdrop{background:#241a1855}.inventory-dialog h2{font-size:22px;margin:0}.inventory-private-heading{grid-column:1/-1;font-size:15px;border-top:1px solid #eee;padding-top:18px}.inventory-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:#f8f6f5;padding:14px}.inventory-dialog input,.inventory-dialog select,.inventory-dialog textarea{width:100%;box-sizing:border-box}.inventory-preview-rows{max-height:240px;overflow:auto}.inventory-preview-rows p{margin:4px 0}.inventory-export small{line-height:1.45}.inventory-upload summary{cursor:pointer;padding:6px 0}.stock-card .inventory-dot{margin-right:6px}
@media(max-width:640px){.topbar .inventory-export .export-menu-body{left:0;right:auto;width:min(290px,calc(100vw - 40px));min-width:0;box-sizing:border-box}}

.inventory-top-actions{justify-content:flex-end;max-width:600px}.inventory-top-actions .button{white-space:nowrap}.inventory-dialog>p{line-height:1.6;color:#637080}.inventory-dialog input[type=file]{margin:12px 0}.inventory-extra-fields{margin:18px 0}.inventory-extra-fields summary{cursor:pointer;font-weight:600;padding:12px 0}@media(max-width:640px){.inventory-top-actions{justify-content:flex-start}}

.sale-dialog{max-width:600px}.sale-dialog [hidden]{display:none!important}.sales-summary .metric strong{font-size:clamp(1.4rem,2.4vw,2rem)}

.inventory-export-tools{display:flex;flex-direction:column;gap:6px;align-items:stretch}.inventory-export-tools .inventory-export{width:100%}
.feed-dialog{max-width:1000px;width:94vw}.feed-dialog details{margin:18px 0}.feed-mappings .table-wrap{max-height:420px;overflow:auto}.feed-mappings select{min-width:140px}.feed-mappings input{min-width:150px}.feed-preview{max-height:330px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.feed-dialog fieldset{border:1px solid var(--line,#ddd);border-radius:12px;padding:12px}.feed-dialog textarea{min-height:130px}
/* Multi-select fancy color filters */
.catalog-intro { display:block; }
.catalog-tools { margin-top:20px; }
.catalog-quick-filters { grid-template-columns:repeat(3,minmax(0,1fr)); }
.catalog-tools .stock-filter-group { padding:10px 0; margin:0; border-bottom:1px solid #eee5e3; }
.catalog-color-filters .filter-chips { display:flex; flex-wrap:wrap; gap:8px; }
.catalog-tools .filter-chip { border-radius:8px; padding:9px 13px; min-height:40px; }
.color-tile-group .filter-chip { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; min-width:70px; }
.hue-gem { display:block; width:24px; height:32px; background:linear-gradient(125deg,#ffffffa8 0 20%,transparent 21% 49%,#ffffff75 50% 55%,#00000025 56%),var(--gem-color); clip-path:polygon(50% 0,88% 45%,100% 70%,75% 100%,25% 100%,0 70%,12% 45%); }
.stock-shell .filter-chip.is-selected { outline:2px solid #985960; outline-offset:1px; }
@media(max-width:740px) { .catalog-quick-filters { grid-template-columns:1fr; } .catalog-tools .filter-chip { font-size:12px; } }
/* Compact popup-only filters */
.catalog-intro { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.catalog-tools { margin:0; padding:0; background:transparent; border:0; max-width:60%; }
.catalog-tool-actions { margin-top:0; justify-content:flex-end; }
.stock-shell .filter-panel { position:relative; width:min(780px,calc(100vw - 24px)); max-width:none; height:auto; max-height:90vh; border-radius:14px; display:flex; flex-direction:column; }
.stock-shell .filter-modal { align-items:center; justify-content:center; }
.stock-shell .filter-panel-head { padding:14px 18px; }
.stock-shell .filter-panel-head h2 { font-size:22px; margin:0; }
.stock-shell .filter-panel-head .eyebrow { display:none; }
.stock-shell .filter-panel-body { padding:0 18px; overflow-y:auto; min-height:0; }
.stock-shell .filter-panel .stock-filter-group { padding:12px 0; margin:0; }
.stock-shell .filter-panel h3 { font-size:13px; margin:0 0 8px; }
.stock-shell .filter-panel .filter-chips { gap:7px; }
.stock-shell .filter-panel .filter-chip { padding:7px 11px; font-size:12px; border-radius:7px; min-height:34px; }
.stock-shell .filter-panel .color-tile-group .filter-chip { min-width:58px; gap:4px; }
.stock-shell .filter-panel .hue-gem { width:18px; height:24px; }
.stock-shell .range-fields { display:grid; grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr); gap:8px; align-items:center; }
.stock-shell .range-fields input { min-width:0; width:100%; padding:10px 12px; font-size:13px; }
.stock-shell .range-fields > span { text-align:center; color:#a7a2a4; font-size:23px; }
.measurement-ranges { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.measurement-range > span { display:block; font-size:12px; margin-bottom:6px; }
.stock-shell .filter-panel-foot { padding:12px 18px; flex-shrink:0; }
@media(max-width:700px) { .catalog-intro { align-items:flex-start; flex-direction:column; } .catalog-tools { max-width:100%; } .catalog-tool-actions { justify-content:flex-start; } .measurement-ranges { grid-template-columns:1fr; } }
.stock-shell .filter-modal { display:flex; } .stock-shell .filter-panel { inset:auto; } .stock-shell .range-fields input { max-width:none; }
