.account-menu { position:relative; }
.account-menu summary { list-style:none; cursor:pointer; border-radius:50%; }
.account-menu summary::-webkit-details-marker { display:none; }
.account-menu summary:focus-visible { outline:2px solid var(--green); outline-offset:4px; }
.account-dropdown { position:absolute; z-index:50; top:48px; right:0; width:190px; padding:9px; border:1px solid #e0e6eb; border-radius:13px; background:#fff; box-shadow:0 18px 45px rgba(16,38,53,.16); }
.account-dropdown::before { content:''; position:absolute; top:-6px; right:12px; width:10px; height:10px; background:#fff; border-left:1px solid #e0e6eb; border-top:1px solid #e0e6eb; transform:rotate(45deg); }
.account-caption { display:block; padding:8px 11px 7px; color:#94a0a7; font-size:9px; font-weight:800; letter-spacing:1.5px; }
.account-dropdown a,.account-dropdown button { display:block; width:100%; padding:10px 11px; border:0; border-radius:8px; background:none; color:#354852; font:700 13px 'DM Sans',sans-serif; text-align:left; }
.account-dropdown a:hover,.account-dropdown button:hover { background:#edf6f2; color:var(--green); }
.dashboard-primary-action svg,.catalog-section-heading .btn svg { width:17px; height:17px; }
.catalog-notice { padding:18px; margin:18px 0; background:#fff5df; border:1px solid #efd4a0; border-radius:12px; color:#604a24; line-height:1.7; }
.catalog-notice form { margin-top:12px; }
.catalog-notice ul { padding-left:20px; }
.catalog-notice a { text-decoration:underline; }
.dashboard-notice { display:flex; align-items:flex-start; gap:14px; padding:17px 18px; }
.dashboard-notice .notice-icon { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:9px; background:#ffe7b8; color:#a76500; }
.dashboard-notice .notice-icon svg { width:17px; height:17px; }
.dashboard-notice strong { display:block; margin-bottom:3px; color:#5f420f; }
.dashboard-notice p { margin:0; }
.catalog-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:24px 0; }
.catalog-summary > div { padding:20px; border:1px solid #e0e6eb; background:#fff; border-radius:14px; min-width:0; }
.catalog-summary small,.catalog-summary strong { display:block; }
.catalog-summary small { color:#657581; font-size:12px; }
.catalog-summary strong { margin-top:10px; font-size:24px; overflow-wrap:anywhere; }
.catalog-search { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0; }
.catalog-search input,.catalog-search select,.share-url { padding:12px; background:#fff; border:1px solid #d6dde3; border-radius:8px; font:inherit; min-width:0; }
.catalog-search input { flex:2 1 240px; }
.catalog-search select { flex:1 1 160px; }
.catalog-items { display:grid; gap:10px; }
.catalog-item { display:grid; grid-template-columns:58px minmax(0,1fr) 135px 150px; align-items:center; gap:16px; padding:18px; border:1px solid #e0e6eb; border-radius:12px; background:#fff; }
.catalog-item:hover { border-color:#74aa95; }
.catalog-item .product-photo { width:58px; height:58px; }
.catalog-item-name { min-width:0; overflow-wrap:anywhere; }
.catalog-item small,.catalog-item strong { display:block; }
.catalog-item small { color:#657581; font-size:11px; }
.catalog-item strong { margin:5px 0; font-size:14px; }
.catalog-review-tag { display:inline-block; font-size:11px; color:#8c590c; background:#fff0cd; border-radius:5px; padding:3px 7px; }
.catalog-source { margin-top:24px; padding:20px; background:#fff; border:1px solid #e0e6eb; border-radius:12px; }
.catalog-source summary { cursor:pointer; font-weight:700; }
.catalog-source p { margin:16px 0; }
.catalog-source dl > div { display:grid; grid-template-columns:minmax(100px,1fr) minmax(0,2fr); gap:15px; padding:9px 0; border-bottom:1px solid #eee; }
.catalog-source dt { color:#657581; }
.catalog-source dd { margin:0; overflow-wrap:anywhere; }
.public-shell { max-width:1000px; margin:0 auto; padding:24px; }
.public-header { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:10px 0 26px; margin-bottom:20px; border-bottom:1px solid #d6dde3; }
.public-header strong { font-size:22px; }
.public-brand { display:flex; align-items:center; gap:9px; }
.public-brand img { width:36px; height:36px; object-fit:contain; }
.public-header span { font-size:12px; padding:6px 12px; background:#e2efe8; color:#24593c; border-radius:20px; }
.public-catalog-heading { margin-bottom:17px; }
.public-catalog-heading h1 { margin-bottom:6px; }
.public-catalog-search { display:grid; grid-template-columns:minmax(0,1fr) auto; margin:0 0 13px; }
.public-catalog-search .btn { min-width:104px; }
.public-catalog-count { margin:0; color:#819097; font-size:11px; }
.public-catalog-count strong { color:#18313d; font-size:13px; }
.public-stock-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; margin-top:13px; }
.public-stock-list>.empty-state { grid-column:1/-1; }
.public-stock-row { display:flex; flex-direction:column; min-width:0; min-height:158px; padding:16px; border:1px solid #dce4e6; background:white; border-radius:14px; box-shadow:0 6px 20px rgba(25,48,58,.04); transition:.18s ease; }
.public-stock-row:hover { border-color:#9dcfbd; transform:translateY(-2px); box-shadow:0 10px 25px rgba(25,48,58,.08); }
.public-stock-row > span:first-child { min-width:0; overflow-wrap:anywhere; }
.public-stock-visual { display:grid; place-items:center; width:48px; height:48px; margin-bottom:12px; overflow:hidden; border-radius:12px; background:#edf6f2; color:#238b6c; font:800 17px 'Plus Jakarta Sans',sans-serif; }
.public-stock-visual img { display:block; width:100%; height:100%; object-fit:cover; }
.public-stock-row small,.public-stock-row strong { display:block; }
.public-stock-row small { min-height:28px; margin-bottom:7px; color:#73858c; font-size:9px; line-height:1.45; }
.public-stock-row .public-stock-info strong { display:-webkit-box; min-height:38px; overflow:hidden; font-size:12px; line-height:1.5; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.public-stock-label { margin-top:auto; padding-top:13px; color:#a0adb2; font-size:8px; font-weight:800; letter-spacing:1.1px; }
.public-stock-quantity { align-self:flex-start; margin-top:4px; color:#157c5e; font:800 16px 'Plus Jakarta Sans',sans-serif; }
.public-stock-quantity.is-empty { color:#8b999e; font-size:12px; }
.public-card-heading { display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:22px; }
.public-card-photo { display:grid; place-items:center; flex:0 0 54px; width:54px; height:54px; overflow:hidden; border-radius:13px; background:#edf6f2; color:#238b6c; font:800 19px 'Plus Jakarta Sans',sans-serif; }
.public-card-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.public-card-heading>div { min-width:0; text-align:left; }
.public-card-heading small { display:block; margin-bottom:4px; color:#15906d; font-size:8px; font-weight:800; letter-spacing:1.5px; }
.public-card-heading h2 { margin:0; overflow-wrap:anywhere; text-align:left; }
.login-panel { max-width:470px; margin:40px auto; }
.login-panel > p { margin:14px 0 24px; color:#657581; }
.login-panel .field { margin-bottom:18px; }
.login-panel .btn { margin-top:18px; width:100%; }
.login-page { min-height:100vh; background:#fff; }
.login-page .public-shell { max-width:none; min-height:100vh; padding:0; }
.login-page .public-header { display:none; }
.login-experience { display:grid; grid-template-columns:minmax(380px,.92fr) minmax(520px,1.08fr); min-height:100vh; }
.login-showcase { position:relative; display:flex; flex-direction:column; min-height:100vh; padding:48px clamp(40px,5vw,76px); overflow:hidden; color:#fff; background:linear-gradient(145deg,#102f36 0%,#123d3b 52%,#17654f 100%); }
.login-showcase::before,.login-showcase::after { content:''; position:absolute; border-radius:50%; pointer-events:none; }
.login-showcase::before { width:460px; height:460px; right:-230px; top:-160px; border:1px solid rgba(255,255,255,.1); box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018); }
.login-showcase::after { width:280px; height:280px; left:-170px; bottom:-100px; background:rgba(226,143,95,.13); filter:blur(2px); }
.login-brand,.login-mobile-brand { position:relative; z-index:1; display:flex; align-items:center; gap:12px; font:800 21px 'Plus Jakarta Sans',sans-serif; letter-spacing:-.7px; }
.login-brand-mark { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; color:#fff; background:#e88c63; box-shadow:0 10px 25px rgba(0,0,0,.16); }
.login-brand-mark svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.login-brand-mark:has(img) { overflow:hidden; background:transparent; box-shadow:none; }
.login-brand-mark img { display:block; width:100%; height:100%; object-fit:contain; }
.login-showcase-copy { position:relative; z-index:1; max-width:510px; margin:auto 0 32px; padding-top:70px; }
.login-kicker { display:block; margin-bottom:16px; color:#62bea0; font-size:10px; font-weight:800; letter-spacing:2.3px; }
.login-showcase .login-kicker { color:#9dd9c5; }
.login-showcase h2 { max-width:480px; margin:0 0 19px; font-size:clamp(36px,4.2vw,60px); line-height:1.08; letter-spacing:-2.6px; }
.login-showcase-copy p { max-width:460px; margin:0; color:rgba(255,255,255,.68); font-size:15px; line-height:1.75; }
.login-preview { position:relative; z-index:1; width:min(100%,440px); padding:20px; margin-bottom:auto; border:1px solid rgba(255,255,255,.12); border-radius:20px; background:rgba(255,255,255,.08); box-shadow:0 24px 60px rgba(4,23,25,.2); backdrop-filter:blur(12px); }
.login-preview-head { display:flex; align-items:center; gap:6px; color:rgba(255,255,255,.7); font-size:11px; font-weight:700; }
.login-preview-head span { margin-right:auto; }
.login-preview-head i { width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,.34); }
.login-preview-stats { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:18px 0; }
.login-preview-stats span { padding:14px; border-radius:12px; background:rgba(255,255,255,.08); }
.login-preview-stats small,.login-preview-stats b { display:block; }
.login-preview-stats small { margin-bottom:8px; color:rgba(255,255,255,.48); font-size:9px; }
.login-preview-stats b { font:700 20px 'Plus Jakarta Sans',sans-serif; }
.login-preview-chart { display:flex; align-items:flex-end; gap:8px; height:60px; padding-top:6px; }
.login-preview-chart i { flex:1; min-height:16px; border-radius:4px 4px 2px 2px; background:linear-gradient(to top,#e98f67,#efb196); opacity:.9; }
.login-preview-chart i:nth-child(1) { height:34%; }.login-preview-chart i:nth-child(2) { height:54%; }.login-preview-chart i:nth-child(3) { height:42%; }.login-preview-chart i:nth-child(4) { height:78%; }.login-preview-chart i:nth-child(5) { height:62%; }.login-preview-chart i:nth-child(6) { height:88%; }.login-preview-chart i:nth-child(7) { height:100%; }
.login-showcase-note { position:relative; z-index:1; display:flex; align-items:center; gap:9px; margin:34px 0 0; color:rgba(255,255,255,.58); font-size:11px; }
.login-showcase-note span { width:7px; height:7px; border-radius:50%; background:#65d3a8; box-shadow:0 0 0 4px rgba(101,211,168,.12); }
.login-main { display:flex; min-width:0; padding:48px clamp(42px,7vw,110px); background:radial-gradient(circle at 100% 0,#eef8f3 0,transparent 30%),#fff; }
.login-mobile-brand { display:none; }
.login-main .login-panel { width:100%; max-width:470px; margin:auto; }
.login-heading { margin-bottom:34px; }
.login-heading h1 { margin:0 0 12px; color:#102735; font-size:clamp(32px,3.4vw,44px); line-height:1.15; letter-spacing:-1.8px; }
.login-heading p { max-width:410px; margin:0; color:#718089; font-size:14px; line-height:1.7; }
.login-form { margin:0; }
.login-form .login-field { margin-bottom:20px; }
.login-field label { margin-bottom:9px; color:#213743; font-size:12px; }
.login-input-wrap { position:relative; }
.login-input-wrap > svg { position:absolute; z-index:1; top:50%; left:17px; width:18px; height:18px; color:#87969c; transform:translateY(-50%); pointer-events:none; }
.login-input-wrap input { min-height:56px; padding:0 17px 0 48px; border-color:#dce5e5; border-radius:13px; background:#fbfcfc; font-size:14px; }
.login-input-wrap input:hover { border-color:#bccdca; }
.login-input-wrap input:focus { border-color:#3eaa89; background:#fff; box-shadow:0 0 0 4px rgba(48,157,113,.1); }
.login-input-wrap:focus-within > svg { color:#188b6d; }
.login-help { display:block; margin-top:7px; color:#87959c; font-size:11px; }
.login-alert { display:flex; align-items:flex-start; gap:11px; padding:13px 14px; margin-bottom:20px; border:1px solid #f0c9bf; border-radius:12px; background:#fff5f2; color:#9b4438; font-size:12px; line-height:1.55; }
.login-alert svg { flex:0 0 18px; width:18px; height:18px; margin-top:1px; }
.login-submit.btn { width:100%; min-height:56px; margin-top:9px; border-radius:13px; box-shadow:0 12px 28px rgba(24,139,109,.22); font-size:13px; }
.login-submit.btn:hover { background:#14795f; box-shadow:0 15px 32px rgba(24,139,109,.27); }
.login-submit svg { margin-left:auto; }
.login-security { display:flex; align-items:center; justify-content:center; gap:8px; margin:24px 0 0; color:#91a0a5; font-size:11px; }
.login-security svg { width:15px; height:15px; }
.share-page { max-width:850px; margin:0 auto; }
.share-heading { margin-bottom:18px; }
.share-heading h1 { margin-bottom:7px; }
.share-heading p:last-child { max-width:520px; }
.share-privacy-note { display:flex; align-items:flex-start; gap:12px; padding:14px 16px; margin-bottom:16px; border:1px solid #cfe7dc; border-radius:14px; background:#f2faf6; color:#46645a; }
.share-note-icon { display:grid; place-items:center; flex:0 0 32px; width:32px; height:32px; border-radius:9px; background:#dff3e8; color:#198866; }
.share-note-icon svg { width:16px; height:16px; }
.share-privacy-note strong,.share-privacy-note p { display:block; }
.share-privacy-note strong { margin-bottom:2px; color:#244b3e; font-size:12px; }
.share-privacy-note p { margin:0; font-size:11px; line-height:1.55; }
.share-form-card { padding:22px; border-radius:16px; }
.share-form-heading { margin-bottom:18px; }
.share-form-heading strong,.share-form-heading small { display:block; }
.share-form-heading strong { margin-bottom:3px; font:800 16px 'Plus Jakarta Sans',sans-serif; }
.share-form-heading small { color:#8a999f; font-size:10px; }
.share-form-card .form-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) minmax(130px,.6fr); gap:12px; }
.share-form-card .field label { margin-bottom:7px; font-size:11px; }
.share-form-card .field input,.share-form-card .field select { min-height:46px; border-radius:11px; font-size:13px; }
.share-form-card .form-actions { margin-top:18px; padding-top:16px; }
.share-submit { min-width:150px; }
.share-submit svg { width:16px; height:16px; }
.share-list-heading { margin:27px 0 12px; }
.share-list-heading h2 { margin:0 0 4px; font-size:20px; }
.share-list-heading p { margin:0; color:#8b999f; font-size:11px; }
.share-list { display:grid; gap:12px; }
.share-entry { padding:18px; background:#fff; border:1px solid #dce4e6; border-radius:15px; box-shadow:0 8px 24px rgba(24,48,58,.045); }
.share-entry.is-inactive { background:#fafbfb; box-shadow:none; opacity:.72; }
.share-entry-head { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.share-entry-head>div { min-width:0; }
.share-entry h3 { margin:0; font-size:16px; }
.share-entry-head p { margin:5px 0 0; color:#657581; font-size:11px; overflow-wrap:anywhere; }
.share-status { flex:none; padding:5px 9px; border-radius:99px; background:#e5f5ed; color:#188564; font-size:9px; font-weight:800; }
.is-inactive .share-status { background:#eef1f2; color:#7c898e; }
.share-expiry { display:flex; align-items:center; gap:7px; margin:12px 0 14px; color:#839197; font-size:10px; }
.share-expiry svg { width:14px; height:14px; }
.share-link-field { padding:11px; border-radius:11px; background:#f7f9f9; }
.share-link-field label { display:block; margin-bottom:6px; color:#65777e; font-size:9px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; }
.share-link-field>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; }
.share-url { width:100%; min-height:40px; margin:0; padding:0 11px; border-radius:8px; background:#fff; color:#657581; font-size:11px; text-overflow:ellipsis; }
.share-link-field .btn { min-height:40px; padding:0 16px; font-size:10px; }
.share-buttons { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin-top:10px; }
.share-buttons .btn { min-height:36px; padding:0 13px; font-size:10px; }
.share-buttons form { margin-left:auto; }
.share-revoke { border:1px solid #eadad6; background:#fff; color:#b05f52; }
.share-revoke:hover { background:#fff3f0; }
.share-public-help { max-width:540px; margin:18px auto 0; color:#8c999e; font-size:10px; line-height:1.5; text-align:center; }
.field .review-checkbox { width:auto; min-height:auto; margin-right:8px; }
@media(max-width:760px) {
    .dashboard-heading { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; align-items:start; }
    .dashboard-heading h1 { margin-bottom:7px; font-size:28px; }
    .dashboard-heading p:last-child { max-width:310px; line-height:1.55; }
    .dashboard-primary-action { width:100%; min-height:48px; }
    .catalog-summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:18px 0; }
    .catalog-summary > div { min-height:102px; padding:15px 16px; display:flex; flex-direction:column; justify-content:space-between; }
    .catalog-summary small { font-size:11px; line-height:1.35; }
    .catalog-summary strong { margin-top:12px; font-size:21px; line-height:1.15; }
    .dashboard-notice { margin:16px 0 25px; padding:14px; gap:11px; font-size:12px; line-height:1.55; }
    .dashboard-notice .notice-icon { flex-basis:30px; width:30px; height:30px; }
    .catalog-section-heading { margin-bottom:14px; }
    .catalog-section-heading .btn { width:44px; min-width:44px; height:44px; padding:0; }
    .catalog-section-heading .btn span { display:none; }
    .catalog-search { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; margin:14px 0 18px; }
    .catalog-search input { grid-column:1/-1; width:100%; min-height:46px; }
    .catalog-search select { width:100%; font-size:12px; }
    .catalog-search .btn { grid-column:1/-1; min-height:44px; }
    .catalog-item { grid-template-columns:46px minmax(0,1fr); padding:14px; gap:12px; }
    .catalog-item .product-photo { width:46px; height:46px; }
    .catalog-item-stock { grid-column:2; }
    .catalog-item-cost { grid-column:2; }
    .public-shell { padding:18px 14px; }
    .public-catalog-heading { margin-bottom:13px; }
    .public-catalog-heading h1 { font-size:24px; }
    .public-catalog-heading p:last-child { font-size:10px; }
    .catalog-search.public-catalog-search { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; margin:0 0 11px; }
    .catalog-search.public-catalog-search input { grid-column:auto; min-height:42px; }
    .catalog-search.public-catalog-search .btn { grid-column:auto; min-width:76px; min-height:42px; padding:0 14px; }
    .public-stock-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:11px; }
    .public-stock-row { min-height:145px; padding:13px; border-radius:12px; }
    .public-stock-visual { width:42px; height:42px; margin-bottom:9px; border-radius:10px; font-size:15px; }
    .public-stock-row small { min-height:25px; margin-bottom:6px; font-size:8px; }
    .public-stock-row .public-stock-info strong { min-height:36px; font-size:11px; line-height:1.55; }
    .public-stock-label { padding-top:11px; }
    .public-stock-quantity { font-size:14px; }
    .catalog-source { padding:14px; font-size:12px; }
    .share-page { max-width:none; }
    .share-heading { margin-bottom:14px; }
    .share-heading h1 { font-size:26px; }
    .share-heading p:last-child { max-width:330px; font-size:11px; line-height:1.5; }
    .share-privacy-note { gap:10px; padding:11px 12px; margin-bottom:12px; border-radius:12px; }
    .share-note-icon { flex-basis:29px; width:29px; height:29px; }
    .share-privacy-note strong { font-size:11px; }
    .share-privacy-note p { font-size:9px; }
    .share-form-card { padding:16px; border-radius:14px; }
    .share-form-heading { margin-bottom:14px; }
    .share-form-heading strong { font-size:14px; }
    .share-form-card .form-grid { grid-template-columns:1fr; gap:11px; }
    .share-form-card .share-label-field,.share-form-card .share-item-field { grid-column:1/-1; }
    .share-form-card .field input,.share-form-card .field select { min-height:43px; padding:0 12px; font-size:12px; }
    .share-form-card .form-actions { margin-top:13px; padding-top:13px; }
    .share-submit { width:100%; min-width:0; min-height:43px; }
    .share-list-heading { margin:23px 0 10px; }
    .share-list-heading h2 { font-size:18px; }
    .share-entry { padding:14px; border-radius:13px; }
    .share-entry h3 { font-size:14px; }
    .share-expiry { margin:10px 0 12px; }
    .share-link-field { padding:9px; }
    .share-buttons { display:grid; grid-template-columns:1fr 1fr auto; }
    .share-buttons .btn { width:100%; padding:0 9px; }
    .share-buttons form { margin:0; }
    .login-page { background:#fff; }
    .login-experience { display:block; min-height:100vh; }
    .login-showcase { display:none; }
    .login-main { display:block; min-height:100vh; padding:30px 22px 36px; background:radial-gradient(circle at 100% 0,#e7f5ef 0,transparent 35%),#fff; }
    .login-mobile-brand { display:flex; margin-bottom:clamp(62px,11vh,110px); color:#102735; font-size:19px; }
    .login-brand-mark { width:39px; height:39px; border-radius:12px; }
    .login-main .login-panel { max-width:470px; margin:0 auto; }
    .login-heading { margin-bottom:30px; }
    .login-heading h1 { font-size:34px; }
    .login-heading p { font-size:13px; }
    .login-input-wrap input { min-height:54px; font-size:16px; }
    .login-submit.btn { min-height:54px; }
}
@media(max-width:390px) {
    .catalog-summary > div { min-height:94px; padding:13px; }
    .catalog-summary strong { font-size:18px; }
    .login-main { padding:24px 17px 30px; }
    .login-mobile-brand { margin-bottom:54px; }
    .login-heading h1 { font-size:30px; }
    .login-heading { margin-bottom:26px; }
    .login-form .login-field { margin-bottom:17px; }
}
@media(min-width:761px) and (max-width:1040px) {
    .login-experience { grid-template-columns:minmax(310px,.8fr) minmax(450px,1.2fr); }
    .login-showcase { padding:38px; }
    .login-showcase h2 { font-size:40px; }
    .login-preview { max-width:340px; }
    .login-main { padding:42px; }
}

/* Compact catalog grid for mobile */
@media(max-width:760px) {
    .catalog-summary { gap:8px; margin:14px 0; }
    .catalog-summary > div { min-height:72px; padding:11px 12px; border-radius:11px; }
    .catalog-summary small { font-size:9px; }
    .catalog-summary strong { margin-top:7px; font-size:17px; }
    .catalog-section-heading { margin-bottom:10px; }
    .catalog-section-heading h2 { font-size:19px; }
    .catalog-section-heading .btn { width:42px; min-width:42px; height:42px; }
    .catalog-search { gap:7px; margin:10px 0 14px; }
    .catalog-search input { min-height:42px; padding:9px 11px; font-size:12px; }
    .catalog-search select { min-height:42px; padding:8px 10px; font-size:10px; }
    .catalog-search .btn { min-height:42px; }
    .catalog-items { grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:9px; }
    .catalog-item { display:grid; grid-template-columns:46px minmax(0,1fr); grid-template-rows:auto auto; align-content:start; align-items:center; gap:10px 11px; min-width:0; min-height:122px; padding:11px; border-radius:12px; }
    .catalog-item .product-photo { grid-column:1; grid-row:1; width:46px; height:46px; border-radius:11px; }
    .catalog-item-name { grid-column:2; grid-row:1; align-self:center; min-width:0; }
    .catalog-item-name>small:first-child { overflow:hidden; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
    .catalog-item-name>strong { display:-webkit-box; min-height:30px; margin:3px 0; overflow:hidden; font-size:12px; line-height:1.3; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
    .catalog-item-name>small:not(:first-child) { overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
    .catalog-review-tag { margin-top:4px; padding:2px 5px; font-size:8px; }
    .catalog-item-stock,.catalog-item-cost { grid-row:2; min-width:0; padding-top:9px; border-top:1px solid #edf0f1; }
    .catalog-item-stock { grid-column:1; }
    .catalog-item-cost { grid-column:2; }
    .catalog-item-stock small,.catalog-item-cost small { overflow:hidden; color:#89979c; font-size:7px; letter-spacing:.3px; text-overflow:ellipsis; white-space:nowrap; }
    .catalog-item-stock strong,.catalog-item-cost strong { margin:3px 0 0; overflow:hidden; color:#1b343f; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
    .catalog-item-stock strong { color:#17765d; }
    .catalog-items>.empty-state { grid-column:1/-1; }
}
@media(max-width:450px) {
    .catalog-items { grid-template-columns:1fr; }
    .catalog-item { grid-template-columns:50px minmax(0,1fr) minmax(72px,.65fr); grid-template-rows:auto; min-height:72px; }
    .catalog-item .product-photo { grid-column:1; grid-row:1/3; width:50px; height:50px; }
    .catalog-item-name { grid-column:2; grid-row:1/3; }
    .catalog-item-stock { grid-column:3; grid-row:1; align-self:end; padding:0; border:0; text-align:right; }
    .catalog-item-cost { grid-column:3; grid-row:2; align-self:start; padding:3px 0 0; border:0; text-align:right; }
    .catalog-item-name>strong { min-height:0; }
}

/* Compact dashboard header for mobile */
@media(max-width:760px) {
    .dashboard-heading { gap:11px; }
    .dashboard-heading .eyebrow { margin-bottom:5px; font-size:7px; letter-spacing:1.5px; }
    .dashboard-heading h1 { margin-bottom:5px; font-size:23px; letter-spacing:-.8px; }
    .dashboard-heading p:last-child { max-width:290px; font-size:10px; line-height:1.45; }
    .dashboard-primary-action { min-height:42px; margin-top:1px; border-radius:10px; font-size:11px; }
    .dashboard-primary-action svg { width:15px; height:15px; }
    .catalog-summary { margin:12px 0 19px; }
    .catalog-summary > div { min-height:66px; padding:10px 11px; }
    .catalog-summary small { font-size:8px; line-height:1.25; }
    .catalog-summary strong { margin-top:6px; font-size:16px; }
    #daftar-barang { scroll-margin-top:65px; }
    .catalog-section-heading { align-items:center; margin-bottom:8px; }
    .catalog-section-heading h2 { margin-bottom:2px; font-size:18px; letter-spacing:-.5px; }
    .catalog-section-heading p { font-size:9px!important; }
    .catalog-section-heading .btn { width:40px; min-width:40px; height:40px; min-height:40px; border-radius:10px; }
    .catalog-section-heading .btn svg { width:16px; height:16px; }
    .catalog-search { margin:8px 0 12px; }
    .catalog-search input { min-height:40px; }
    .catalog-search select { min-height:40px; }
    .catalog-search .btn { min-height:40px; }
}
@media(max-width:390px) {
    .dashboard-heading h1 { font-size:21px; }
    .catalog-summary { gap:6px; }
    .catalog-summary > div { min-height:62px; padding:9px 10px; }
    .catalog-summary strong { font-size:15px; }
}

.catalog-data-tools { margin:12px 0; overflow:hidden; border:1px solid #dfe7e7; border-radius:13px; background:#fff; }
.catalog-data-tools summary { display:flex; align-items:center; gap:11px; padding:13px 15px; list-style:none; cursor:pointer; }
.catalog-data-tools summary::-webkit-details-marker { display:none; }
.catalog-data-tools summary>span:nth-child(2) { min-width:0; }
.catalog-data-tools summary strong,.catalog-data-tools summary small { display:block; }
.catalog-data-tools summary strong { color:#203742; font-size:12px; }
.catalog-data-tools summary small { margin-top:2px; color:#87969b; font-size:10px; }
.data-tools-icon { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:9px; background:#e8f5ef; color:#188b6d; }
.data-tools-icon svg { width:16px; height:16px; }
.data-tools-chevron { margin-left:auto; color:#92a0a5; transition:.2s; }
.catalog-data-tools[open] .data-tools-chevron { transform:rotate(90deg); }
.catalog-data-tools-body { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px; padding:14px 15px; border-top:1px solid #edf0f1; background:#fafcfc; }
.catalog-data-tools-body form { display:grid; grid-template-columns:auto minmax(160px,1fr) auto; align-items:center; gap:8px; }
.catalog-data-tools-body form label { font-size:10px; font-weight:800; }
.catalog-data-tools-body input[type=file] { min-width:0; padding:8px; border:1px solid #dce5e4; border-radius:9px; background:#fff; font-size:10px; }
.catalog-data-tools-body input::file-selector-button { margin-right:8px; padding:7px 9px; border:0; border-radius:6px; background:#edf5f1; color:#16765c; font:700 10px 'DM Sans',sans-serif; cursor:pointer; }
.catalog-data-tools-body>.btn,.catalog-data-tools-body form .btn { min-height:40px; font-size:10px; }
.catalog-data-tools-body>p { grid-column:1/-1; margin:0; color:#839197; font-size:9px; line-height:1.5; }
.catalog-data-tools-body>.field-error { grid-column:1/-1; margin:0; }
.import-warning { font-size:11px; }
@media(max-width:760px) {
    .catalog-data-tools { margin:8px 0 10px; border-radius:11px; }
    .catalog-data-tools summary { gap:9px; padding:10px 11px; }
    .catalog-data-tools summary strong { font-size:10px; }
    .catalog-data-tools summary small { font-size:8px; }
    .data-tools-icon { flex-basis:29px; width:29px; height:29px; border-radius:8px; }
    .data-tools-icon svg,.data-tools-chevron { width:14px; height:14px; }
    .catalog-data-tools-body { grid-template-columns:1fr; gap:8px; padding:10px; }
    .catalog-data-tools-body form { grid-template-columns:minmax(0,1fr) auto; gap:7px; }
    .catalog-data-tools-body form label { grid-column:1/-1; }
    .catalog-data-tools-body input[type=file] { width:100%; padding:6px; }
    .catalog-data-tools-body>.btn { width:100%; }
    .catalog-data-tools-body>p,.catalog-data-tools-body>.field-error { grid-column:auto; }
}
@media(max-width:420px) {
    .catalog-data-tools-body form { grid-template-columns:1fr; }
    .catalog-data-tools-body form .btn { width:100%; }
}
