:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172438;background:#f4f7fb;--bg:#f4f7fb;--surface:#fff;--surface-soft:#f8fafc;--surface-muted:#eef3f7;--line:#dfe7ef;--line-strong:#c9d5e2;--text:#172438;--muted:#607086;--faint:#8b99aa;--green:#20a947;--green-dark:#168238;--green-soft:#e8f7ec;--danger:#c44747;--danger-soft:#fff0f0;--radius:14px;--shadow:0 4px 14px rgba(23,36,56,.06)}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5}button,input,select{font:inherit}button{min-height:42px;padding:10px 16px;border:1px solid transparent;border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer;font-weight:700;transition:160ms ease}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.55}input,select{width:100%;min-height:43px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:8px;outline:0;background:var(--surface);color:var(--text)}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(32,169,71,.13)}h1,h2,h3,p{margin-top:0}.primary{background:var(--green);color:#fff}.primary:hover{background:var(--green-dark)}.secondary,.ghost{border-color:var(--line);background:var(--surface);color:var(--muted)}.danger{border-color:#f0caca;background:var(--danger-soft);color:var(--danger)}.muted{color:var(--muted)}.eyebrow{margin:0;color:var(--green);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.message{min-height:22px;margin:0 0 14px}.message.error{color:var(--danger)}.message.success{color:var(--green-dark)}
.login-shell{display:grid;min-height:100vh;padding:24px;place-items:center;background:radial-gradient(circle at top,#e8f7ec,var(--bg) 58%)}.login-card,.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.login-card{display:grid;width:min(420px,100%);gap:18px;padding:36px}.login-card label,.toolbar label,.form-grid label{display:grid;gap:7px;font-size:13px;font-weight:700}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:4px}.login-logo{display:block;width:72px;height:72px;flex-shrink:0;object-fit:contain}.login-brand-name{display:block;font-size:23px;font-weight:800;letter-spacing:-.04em;line-height:1.2}.login-brand-caption{display:block;margin-top:5px;color:var(--muted);font-size:12px}.login-card h1{margin-bottom:0;font-size:26px;letter-spacing:-.025em}@media(max-width:480px){.login-shell{padding:16px}.login-card{padding:28px 24px}.login-logo{width:60px;height:60px}.login-brand-name{font-size:21px}}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 0 auto;z-index:100;display:flex;align-items:center;height:72px;padding:10px 28px;border-bottom:1px solid rgba(201,213,226,.8);background:rgba(255,255,255,.95);box-shadow:0 5px 24px rgba(23,36,56,.07);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:11px;min-width:220px}.brand img{width:42px;height:42px;border-radius:10px}.brand strong,.brand small,#userSummary strong,#userSummary small{display:block}.brand small,#userSummary small{color:var(--faint);font-size:11px}.sidebar nav{display:flex;align-items:center;gap:5px}.sidebar nav button{min-height:40px;border-color:transparent;background:transparent;color:var(--muted)}.sidebar nav button:hover,.sidebar nav button.active{background:var(--green-soft);color:var(--green-dark)}.sidebar-footer{display:flex;align-items:center;gap:14px;margin-left:auto}.sidebar-footer .ghost{min-height:38px}.workspace{padding:72px 0 0}.topbar{display:none}.workspace>#globalMessage{position:fixed;top:76px;right:24px;z-index:200;margin:0}.view{display:none}.view.active{display:block}.view:not(#catalogView){max-width:1400px;margin:auto;padding:28px}.panel{padding:20px}.toolbar{display:flex;align-items:end;gap:14px}.toolbar .grow{flex:1}.section-status{min-height:24px;color:var(--muted);font-size:13px}.section-status.success{color:var(--green-dark)}.section-status.error{color:var(--danger)}.section-status.empty{color:#946000}
.catalog-layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 72px)}.catalog-brands{position:fixed;top:72px;bottom:0;left:0;width:240px;padding:16px 12px;overflow:auto;border-right:1px solid var(--line);background:var(--surface);box-shadow:5px 0 22px rgba(23,36,56,.04)}.catalog-nav-button{display:flex;width:100%;align-items:center;justify-content:space-between;min-height:43px;padding:9px 12px;border-color:transparent;background:transparent;color:var(--muted);text-align:left}.catalog-nav-button span{min-width:28px;padding:2px 7px;border-radius:999px;background:var(--surface-muted);font-size:11px;text-align:center}.catalog-nav-button:hover,.catalog-nav-button.active{background:var(--green-soft);color:var(--green-dark)}.catalog-main{grid-column:2;padding-bottom:28px}.catalog-toolbar{position:sticky;top:72px;z-index:20;display:grid;grid-template-columns:190px minmax(180px,1fr) auto auto auto;align-items:end;gap:10px;padding:10px 24px;border-bottom:1px solid var(--line);background:rgba(244,247,251,.96);box-shadow:0 4px 14px rgba(23,36,56,.06);backdrop-filter:blur(10px)}.catalog-toolbar label{display:grid;gap:4px;color:var(--muted);font-size:11px;font-weight:750}.search-field span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.catalog-categories{display:flex;gap:8px;padding:13px 24px;overflow:auto;border-bottom:1px solid var(--line);background:var(--surface)}.catalog-categories .catalog-nav-button{width:auto;min-width:max-content;min-height:37px;padding:7px 12px;border-color:var(--line);background:var(--surface-soft)}#catalogStatus{padding:14px 24px 0}.catalog-results{display:flex;flex-direction:column;gap:14px;padding:10px 24px}.catalog-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.catalog-card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line);background:var(--surface-soft)}.catalog-card h2{margin:0;font-size:17px}.catalog-card-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}.catalog-count{padding:5px 9px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-size:11px;font-weight:800}.catalog-card table{width:100%;border-collapse:collapse}.catalog-card th,.catalog-card td{padding:12px 18px;border-bottom:1px solid var(--line);text-align:left}.catalog-card th{color:var(--faint);font-size:11px;text-transform:uppercase}.catalog-card tr:last-child td{border-bottom:0}.catalog-card tbody tr:hover{background:#f0fdf4}.catalog-card th:nth-child(2),.catalog-card td:nth-child(2){text-align:right;font-weight:800}.catalog-card th:last-child,.catalog-card td:last-child{width:150px}.availability{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.availability.available{background:var(--green-soft);color:var(--green-dark)}.availability.unavailable{background:var(--danger-soft);color:var(--danger)}.catalog-empty{display:grid;gap:4px;padding:48px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--muted);text-align:center}.catalog-empty strong{color:var(--text)}
.stack{display:grid;gap:14px;margin-top:16px}.item-card,.form-grid{display:grid;gap:14px}.item-card{grid-template-columns:1fr auto}.item-card .meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:13px}.launcher{display:flex;align-items:end;gap:16px;margin-top:16px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.form-grid .wide,.section-heading{grid-column:1/-1}.checks{display:flex;flex-wrap:wrap;gap:10px}.checks label,.check{display:flex!important;align-items:center;gap:7px}.checks input,.check input{width:auto;min-height:auto}.actions{display:flex;gap:8px;align-items:center}.item-card table{width:100%;border-collapse:collapse}.item-card td{padding:10px;border-top:1px solid var(--line)}
@media(max-width:900px){.sidebar{padding-inline:14px}.brand{min-width:auto}.brand div{display:none}.sidebar nav{overflow:auto}.sidebar-footer #userSummary{display:none}.catalog-layout{grid-template-columns:1fr}.catalog-brands{position:sticky;top:72px;z-index:30;display:flex;width:auto;padding:8px;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}.catalog-brands .catalog-nav-button{width:auto;min-width:max-content}.catalog-main{grid-column:1}.catalog-toolbar{top:131px;grid-template-columns:minmax(0,1fr) auto auto}.catalog-toolbar label:first-child{grid-column:1/-1}.catalog-categories{position:sticky;top:243px;z-index:15}.form-grid{grid-template-columns:1fr}}
@media(max-width:600px){.sidebar{height:64px}.workspace{padding-top:64px}.sidebar nav button{padding-inline:9px;font-size:12px}.sidebar-footer{gap:5px}.catalog-brands{top:64px}.catalog-toolbar{top:123px;padding-inline:12px}.catalog-categories,#catalogStatus,.catalog-results{padding-inline:12px}.catalog-card th:nth-child(3),.catalog-card td:nth-child(3){display:none}.catalog-card th,.catalog-card td{padding:11px 12px}.launcher,.toolbar{align-items:stretch;flex-direction:column}}
.availability.unknown{background:var(--surface-muted);color:var(--muted)}
.catalog-variant-row{cursor:pointer}.catalog-variant-row td:first-child strong,.catalog-variant-row td:first-child small{display:block}.catalog-variant-row td:first-child small{margin-top:3px;color:var(--faint)}.fresh-price{color:#168c4d!important}.stale-price{color:#d23131!important}.product-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:28px;background:rgba(15,23,42,.62)}.product-modal-window{width:min(1180px,100%);max-height:92vh;overflow:auto;border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.28)}.product-modal-window>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:22px 28px;border-bottom:1px solid var(--line);background:#fff}.product-modal-window>header h2{margin:0;font-size:26px}.product-modal-window>header button{padding:0;width:44px;border:0;background:transparent;color:var(--muted);font-size:34px}.product-modal-body{display:grid;gap:30px;padding:28px}.product-modal-section h3{margin:0 0 18px;font-size:20px}.product-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.product-detail{display:grid;gap:5px}.product-detail span,.product-price-box span{color:var(--muted);font-size:12px;text-transform:uppercase}.product-detail strong{font-size:16px}.product-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.product-price-box{display:grid;gap:12px;padding:22px;border:2px solid;border-radius:12px}.product-price-box strong{font-size:28px}.product-price-box.our{border-color:#20a947;background:#eefcf2}.product-price-box.supplier{border-color:#3b82f6;background:#eff6ff}.competitor-list{display:grid;gap:12px}.competitor-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border:1px solid var(--line);border-radius:12px}.competitor-card strong,.competitor-card b,.competitor-card small{display:block}.competitor-card b{margin-top:5px;color:var(--green);font-size:22px}.competitor-card small{color:var(--muted)}.competitor-card a{padding:11px 16px;border-radius:8px;background:var(--green);color:#fff;text-decoration:none;font-weight:750}@media(max-width:700px){.product-details,.product-price-grid{grid-template-columns:1fr}.product-modal{padding:8px}.product-modal-body{padding:18px}.competitor-card{align-items:flex-start;flex-direction:column}}
.history-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.history-heading h3{margin:0}.history-heading select{width:auto;min-width:150px}.competitor-chart{display:grid;gap:18px;min-height:100px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.chart-row{display:grid;grid-template-columns:140px minmax(180px,1fr) 240px;align-items:center;gap:16px}.chart-bars{display:flex;align-items:end;gap:3px;height:90px;padding-top:5px;border-bottom:1px solid var(--line-strong)}.chart-bars span{flex:1;min-width:3px;max-width:18px;border-radius:3px 3px 0 0;background:linear-gradient(#49c76e,#168238)}.chart-row small{color:var(--muted)}@media(max-width:700px){.history-heading{align-items:stretch;flex-direction:column}.history-heading select{width:100%}.chart-row{grid-template-columns:1fr}}
.schedule-card h2,.update-notification h2{margin-bottom:8px;font-size:18px}.update-notification{border-left:4px solid var(--green)}.update-notification.error{border-left-color:var(--danger)}.update-notification.warning{border-left-color:#b7791f}.update-notification.info{border-left-color:#3b82f6}.message.warning{color:#946000}

.product-price-box.payment{border-color:var(--line);background:#f8fafc}.product-price-box.payment small{color:var(--muted)}

.catalog-card{overflow-x:auto}.catalog-card th,.catalog-card td{white-space:nowrap}
.product-price-box.payment-installment,td.payment-installment{background:#f3eefa;color:#58338c;border-color:#9c80bf}
.product-price-box.payment-warranty,td.payment-warranty{background:#fff5df;color:#79520a;border-color:#bd9348}
.product-price-box.payment-cashless,td.payment-cashless{background:#eaf4ff;color:#205688;border-color:#6a9dc9}

.catalog-main,.catalog-results,.catalog-card{min-width:0;max-width:100%}
@media(max-width:600px){.catalog-card th:nth-child(3),.catalog-card td:nth-child(3){display:table-cell}}

.variant-markup-form{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:12px}.variant-markup-form label{display:grid;gap:8px;font-weight:700}.variant-markup-form p{flex-basis:100%;margin:0}

.competitor-card{flex-wrap:wrap}.competitor-mapping-form{display:grid;gap:10px;flex-basis:100%;border-top:1px solid var(--line);padding-top:14px}.competitor-mapping-form label{display:grid;gap:7px;font-weight:700}.competitor-mapping-form small{color:var(--muted)}.competitor-mapping-form p{margin:0}
.product-modal-body{grid-template-columns:minmax(0,1fr)}.product-modal-section,.competitor-list,.competitor-card,.competitor-mapping-form,.competitor-mapping-form label{min-width:0}.competitor-mapping-form{width:100%;flex:1 0 100%}.competitor-mapping-form input{min-width:0;max-width:100%}.competitor-mapping-form small{overflow-wrap:anywhere}
@media(max-width:700px){.competitor-card{flex-wrap:nowrap}.competitor-mapping-form{flex:none}}

.sidebar nav .sales-link{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;min-height:40px;padding:10px 16px;border-radius:8px;color:var(--green-dark);background:var(--green-soft);font-weight:700;text-decoration:none;white-space:nowrap}.sidebar nav .sales-link:hover{background:#d8f0df}.sidebar nav .sales-link:focus-visible{outline:2px solid var(--green);outline-offset:2px}@media(max-width:600px){.sidebar nav .sales-link{padding-inline:9px;font-size:12px}}

/* Keep mobile form text readable without disabling user zoom. */
@media (max-width:900px) {
    input, select, textarea {font-size:16px}
    button, input, select, .sidebar nav .sales-link {min-height:44px}
    input, select, textarea {scroll-margin-block:24px}
    .catalog-layout {grid-template-rows:auto 1fr}
    .catalog-brands {min-height:58px;align-items:center}
    .sidebar nav {min-width:0;overscroll-behavior-inline:contain}
    .sidebar nav button, .sidebar nav .sales-link, .sidebar-footer .ghost {min-height:44px}
    .sidebar nav button {flex-shrink:0;white-space:nowrap}
    .sidebar-footer, .brand {flex-shrink:0}
}
@media (max-width:600px) {
    .login-shell {
        min-height:100svh;
        padding:24px 16px;
        padding-top:max(24px,env(safe-area-inset-top));
        padding-bottom:max(24px,env(safe-area-inset-bottom));
    }
    .login-card {gap:16px;padding:28px 24px}
    .login-card input, .login-card button {min-height:48px}
    .login-card input {font-weight:400}
    .login-card .message:empty {display:none}
    .sidebar {gap:8px;padding-inline:12px}
    .sidebar nav {flex:1;scroll-padding-inline:4px}
    .product-modal-window {max-height:calc(100dvh - 16px)}
    .product-modal-window>header {gap:12px;padding:16px}
    .product-modal-window>header h2 {min-width:0;font-size:20px;overflow-wrap:anywhere}
    .product-modal-window>header button {flex-shrink:0}
}
@media (max-width:600px) and (max-height:600px) {
    .login-shell {place-items:start center}
}
