*{box-sizing:border-box;margin:0;padding:0}:root{--green: #1a7a4c;--green-dark: #14603b;--green-light: #e7f4ed;--bg: #f6f7f5;--card: #ffffff;--text: #1d2b23;--muted: #6b7a70;--border: #dde5df;--red: #c0392b;--amber: #f5a623}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:15px}.layout{display:flex;min-height:100vh}.sidebar{width:230px;flex-shrink:0;background:#0f2b1d;color:#dfe9e3;display:flex;flex-direction:column;padding:20px 14px;position:sticky;top:0;height:100vh}.brand{font-size:19px;font-weight:700;color:#fff;padding:4px 10px 18px}.brand.big{font-size:24px;color:var(--green-dark);padding:0 0 4px}.sidebar nav{display:flex;flex-direction:column;gap:2px;flex:1}.sidebar nav a{color:#b9cec2;text-decoration:none;padding:10px 12px;border-radius:8px;display:flex;align-items:center;gap:8px;font-weight:500}.sidebar nav a:hover{background:#ffffff12;color:#fff}.sidebar nav a.active{background:var(--green);color:#fff}.badge{background:var(--amber);color:#3c2b00;border-radius:999px;font-size:12px;font-weight:700;padding:1px 8px;margin-left:auto}.sidebar-footer{border-top:1px solid rgba(255,255,255,.12);padding-top:12px}.user-chip{padding:0 10px 10px}.user-email{font-size:13px;color:#fff;word-break:break-all}.user-role{font-size:12px;color:var(--amber);text-transform:capitalize;font-weight:600}.content{flex:1;padding:32px 40px;max-width:1100px}.page h1{font-size:24px;margin-bottom:16px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.page-head h1{margin-bottom:0}.muted{color:var(--muted)}.small{font-size:13px}.center-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.empty{background:var(--card);border:1px dashed var(--border);border-radius:12px;padding:40px;text-align:center;color:var(--muted)}.btn{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:8px;padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer}.btn:hover{border-color:var(--green)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--green);border-color:var(--green);color:#fff}.btn-primary:hover:not(:disabled){background:var(--green-dark)}.btn-ghost{background:transparent;border-color:#ffffff40;color:#dfe9e3;width:100%}.btn-link{background:none;border:none;color:var(--green);font-weight:500}.btn-tiny{padding:3px 10px;font-size:12px}.btn-tiny.danger{color:var(--red)}.btn-tiny.danger:hover{border-color:var(--red)}.alert{border-radius:8px;padding:10px 14px;font-size:14px;margin:10px 0}.alert.error{background:#fdeceb;color:var(--red)}.alert.ok{background:var(--green-light);color:var(--green-dark)}.tag{display:inline-block;background:var(--green-light);color:var(--green-dark);font-size:12px;font-weight:600;border-radius:999px;padding:2px 10px;margin-left:8px}input,select{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:#fff;color:var(--text)}input:focus,select:focus{outline:2px solid var(--green);outline-offset:-1px}input[type=file]{padding:7px}label{display:block;font-size:13px;font-weight:600;color:var(--muted)}label input,label select{margin-top:5px;font-weight:400}.search{max-width:320px}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:36px;width:380px;display:flex;flex-direction:column;gap:14px;box-shadow:0 8px 30px #0000000f}.row-form{display:flex;gap:10px;margin-bottom:16px;max-width:480px}.form-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:16px;max-width:720px}.form-card h3{font-size:15px;margin-top:4px}.mapping-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.data-table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.data-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:10px 14px;background:#fafbfa;border-bottom:1px solid var(--border)}.data-table td{padding:10px 14px;border-bottom:1px solid var(--border)}.data-table tr:last-child td{border-bottom:none}.data-table .actions{display:flex;gap:8px;justify-content:flex-end}.card-list{display:flex;flex-direction:column;gap:12px}.item-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 18px}.item-title{font-weight:700;margin-bottom:8px}.price-table{width:100%;border-collapse:collapse}.price-table td{padding:5px 10px 5px 0;font-size:14px;vertical-align:middle}.supplier-name{color:var(--green-dark);font-weight:600;white-space:nowrap}.listed-name{color:var(--muted);max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pack,.sku{color:var(--muted);font-size:13px;white-space:nowrap}.price{font-weight:700;white-space:nowrap;text-align:right}.price.best{color:var(--green)}.best-tag{background:var(--green);color:#fff;font-size:10px;font-weight:700;border-radius:4px;padding:1px 5px;margin-left:6px;vertical-align:middle}.match-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px}.match-sides{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}.match-side{border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:#fafbfa}.match-name{font-weight:600;margin:4px 0 6px}.match-meta{display:flex;gap:12px;color:var(--muted);font-size:13px;flex-wrap:wrap}.match-meta .price{color:var(--text)}.match-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.match-actions .tag{margin-left:0;margin-right:auto}@media (max-width: 760px){.layout{flex-direction:column}.sidebar{width:100%;height:auto;position:static}.content{padding:20px}.match-sides{grid-template-columns:1fr}}
