@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{--ink: #202c28;--muted: #718079;--line: #e1e9e2;--paper: #f7faf7;--white: #fff;--green: #2f6652;--green-dark: #204c3d;--mint: #e7f1e9;--orange: #d9844c;--shadow: 0 18px 45px rgba(37, 64, 50, .08)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM Sans,sans-serif;font-size:14px}button,input,textarea{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{display:flex;min-height:100vh}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,#e7f1e9,transparent 45%),var(--paper)}.login-panel{width:min(100%,430px);padding:38px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.login-panel .brand{padding:0 0 42px}.login-panel h1{margin-bottom:8px}.login-panel .subheading{line-height:1.5;margin-bottom:30px}.login-panel .field{margin-bottom:18px}.sidebar{width:250px;background:#edf4ee;border-right:1px solid #dce7de;padding:27px 16px 16px;display:flex;flex-direction:column;flex-shrink:0}.brand{font:700 22px Space Grotesk;display:flex;align-items:center;gap:9px;padding:0 10px 32px}.brand-mark{width:29px;height:29px;border-radius:9px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:17px}.brand-dot{width:5px;height:5px;background:var(--orange);border-radius:50%;align-self:flex-end;margin:0 0 7px -5px}.shop-switcher{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #d9e4da;border-radius:10px;background:#f8fbf8;margin-bottom:26px}.shop-avatar,.profile-avatar{display:grid;place-items:center;border-radius:8px;font:700 14px Space Grotesk}.shop-avatar{width:31px;height:31px;background:#e7c9ab;color:#7e4e32}.shop-switcher strong,.profile strong{display:block;font-size:12px}.shop-switcher small,.profile small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.nav-label,.eyebrow{color:#91a198;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.nav-label{margin:0 10px 10px}.nav-label:not(:first-child){margin-top:27px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:11px 12px;color:#63726a;border-radius:8px;text-align:left;text-decoration:none;font-weight:600;margin-bottom:3px;background:transparent}.nav-item.active{background:#fff;color:var(--green);box-shadow:0 3px 10px #2a4b370f}.nav-item.disabled{opacity:.52}.nav-icon{width:17px;height:17px;flex:0 0 17px}.soon{margin-left:auto;color:#94a29a;font-size:9px;font-weight:500}.sidebar-bottom{margin-top:auto}.profile{display:flex;gap:10px;align-items:center;padding:13px 10px 0;border-top:1px solid #dce7de}.profile-avatar{width:32px;height:32px;background:#dce9df;color:var(--green)}.logout-button{margin-left:auto;color:var(--muted);background:transparent;font-size:18px}.main-content{flex:1;min-width:0}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 5.2vw;border-bottom:1px solid var(--line);background:#ffffffb3}.breadcrumbs{display:flex;align-items:center;gap:11px;color:#9aa69f;font-size:12px}.breadcrumbs strong{color:var(--ink)}.date-chip{color:var(--muted);font-size:12px}.mobile-menu{display:none;background:transparent;font-size:20px}.view{max-width:1440px;margin:0 auto;padding:54px 5.2vw 70px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:38px}.eyebrow{margin:0 0 9px}h1,h2,p{margin-top:0}h1,h2{font-family:Space Grotesk,sans-serif}h1{margin-bottom:8px;font-size:clamp(30px,3vw,46px);letter-spacing:-.8px}.subheading{color:var(--muted);margin-bottom:0}.primary-button{background:var(--green);color:#fff;border-radius:7px;padding:12px 16px;font-weight:700;box-shadow:0 7px 16px #2f66522e}.primary-button:hover{background:var(--green-dark)}.primary-button:disabled{opacity:.65}.content-layout{display:block}.list-toolbar{display:flex;gap:16px;align-items:center;margin-bottom:18px}.search-box{display:flex;align-items:center;gap:10px;flex:1;max-width:560px;padding:13px 15px;background:#fff;border:1px solid var(--line);border-radius:7px;color:#99a79e}.search-box input{width:100%;border:0;outline:0;color:var(--ink);background:transparent}.result-count{color:var(--muted);font-size:12px;white-space:nowrap}.supplier-grid{display:grid;gap:12px;transition:opacity .2s}.supplier-grid.refreshing{opacity:.55}.supplier-card{display:flex;gap:17px;padding:21px;background:var(--white);border:1px solid var(--line);border-radius:9px;box-shadow:0 4px 16px #25403206}.supplier-logo{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:12px;font:700 16px Space Grotesk}.tone-0{background:#f4e3d5;color:#a75e35}.tone-1{background:#dfeee4;color:#367056}.tone-2{background:#f7edca;color:#9c7920}.supplier-card-body{min-width:0;flex:1}.card-title{display:flex;justify-content:space-between;gap:12px}.card-title h2{margin:0 0 4px;font-size:17px}.card-title p,.description{color:var(--muted);font-size:12px}.card-title p{margin-bottom:0}.description{margin:14px 0;line-height:1.5}.icon-button{color:#94a19a;background:transparent;letter-spacing:2px}.card-meta{display:flex;flex-wrap:wrap;gap:14px;color:#75847b;font-size:11px}.card-meta a{color:var(--green);text-decoration:none;font-weight:600}.form-panel{position:sticky;top:24px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.modal-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:24px;background:#18271f6b}.modal-dialog{width:min(100%,560px);max-height:calc(100vh - 48px);overflow-y:auto;padding:26px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 24px 70px #18271f38}.modal-close{width:32px;height:32px;border-radius:6px;background:#f2f6f2;color:var(--muted);font-size:24px;line-height:1}.modal-close:hover{background:var(--mint);color:var(--green-dark)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.secondary-button{padding:12px 16px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--green);font-weight:700}.secondary-button:hover{background:var(--mint)}.form-heading{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.form-heading h2{margin:0;font-size:19px}.text-button{color:var(--green);background:transparent;font-size:12px;font-weight:700}.field{display:block;margin-bottom:16px}.field>span{display:block;margin-bottom:7px;color:#64736b;font-size:11px;font-weight:700}.field b{color:var(--orange)}.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:11px 12px;outline:0;background:#fbfdfb;color:var(--ink);resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--mint)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-submit{width:100%;margin-top:5px}.form-error,.feedback{padding:12px;border-radius:6px;color:#9b4e31;background:#fff1eb;font-size:12px;margin-bottom:15px}.feedback{margin-bottom:18px}.feedback small{display:block;margin-top:4px}.loading-state,.empty-state{display:grid;place-items:center;gap:9px;min-height:200px;color:var(--muted)}.empty-state strong{color:var(--ink)}.empty-state span{font-size:12px}.spinner{width:20px;height:20px;border:2px solid var(--mint);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.table-frame{background:var(--white);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);overflow:hidden;transition:opacity .2s}.table-frame.refreshing{opacity:.58}.table-toolbar{display:flex;align-items:center;gap:16px;padding:18px;border-bottom:1px solid var(--line)}.product-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.multi-select-filter{position:relative;min-width:190px}.multi-select-filter summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 13px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);cursor:pointer;font-size:12px;font-weight:700;list-style:none}.multi-select-filter summary::-webkit-details-marker{display:none}.filter-chevron{width:15px;height:15px;flex:0 0 15px;color:var(--muted);transition:transform .2s ease}.multi-select-filter[open] .filter-chevron{transform:rotate(180deg)}.multi-select-filter summary span{color:var(--muted);font-size:11px;font-weight:500}.multi-select-options{position:absolute;z-index:3;top:calc(100% + 5px);left:0;right:0;display:grid;gap:2px;max-height:220px;overflow-y:auto;padding:6px;border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:var(--shadow)}.multi-select-options label{display:flex;align-items:center;gap:8px;padding:8px;border-radius:4px;color:var(--ink);font-size:12px;cursor:pointer}.multi-select-options label:hover{background:var(--mint)}.multi-select-options input{accent-color:var(--green)}.multi-select-options small{padding:8px;color:var(--muted)}.count-link{color:var(--green);font-weight:700;text-decoration:none}.count-link:hover{text-decoration:underline}.table-toolbar .search-box{max-width:none}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:980px}th{background:#fbfdfb;color:#91a198;font-size:10px;letter-spacing:.7px;text-align:left;text-transform:uppercase;white-space:nowrap}th button{display:flex;align-items:center;gap:8px;width:100%;padding:14px 16px;background:transparent;color:inherit;font-size:inherit;font-weight:700;text-align:left}.sort-mark{color:var(--green);font-size:12px}td{padding:15px 16px;border-top:1px solid #edf2ed;color:#66756c;font-size:12px;white-space:nowrap}td strong{display:block;color:var(--ink);font-size:13px}td small{display:block;color:#98a59d;font-size:10px;margin-top:4px}.table-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px}.muted-action{color:#89978f}.table-empty{height:180px;color:var(--muted);text-align:center}.status{display:inline-block;padding:5px 9px;border-radius:14px;font-size:10px;font-weight:700}.status.in-stock{background:#e4f1e8;color:#39735a}.status.critical{background:#fff0d8;color:#ab6a25}.status.inactive{background:#edf0ed;color:#7f8b84}.quantity-alert{color:#b3652e;font-weight:700}.select-action{display:flex;align-items:center;gap:8px}.select-action select{flex:1;width:100%;border:1px solid var(--line);border-radius:6px;padding:11px 12px;outline:0;background:#fbfdfb;color:var(--ink)}.searchable-select{position:relative;flex:1;min-width:0}.searchable-select>input{width:100%;border:1px solid var(--line);border-radius:6px;padding:11px 12px;outline:0;background:#fbfdfb;color:var(--ink)}.searchable-select>input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--mint)}.searchable-options{position:absolute;z-index:4;top:calc(100% + 4px);left:0;right:0;display:none;max-height:190px;overflow-y:auto;padding:5px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow)}.searchable-select:focus-within .searchable-options{display:grid}.searchable-options button{padding:9px 10px;background:transparent;color:var(--ink);text-align:left;border-radius:4px}.searchable-options button:hover{background:var(--mint)}.searchable-options span{padding:9px 10px;color:var(--muted);font-size:12px}.promotion-label{color:var(--orange)!important}.wide-modal{width:min(100%,760px)}.nested-modal{z-index:20;background:#18271f33}@media(max-width:920px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:5;transform:translate(-100%);transition:transform .2s}.sidebar.open{transform:translate(0)}.mobile-menu{display:block}.topbar{padding:0 24px}.view{padding:38px 24px 50px}.content-layout{grid-template-columns:1fr}.form-panel{position:static}.date-chip{display:none}}@media(max-width:560px){.page-heading{display:block}.page-heading .primary-button{margin-top:22px}.list-toolbar{display:block}.result-count{display:block;margin-top:10px}.supplier-card{padding:16px}.field-row{grid-template-columns:1fr;gap:0}}.shop-logo{width:31px;height:31px;border-radius:8px;object-fit:contain;background:#fff}
