:root{--color-bg:#f8fafc;--color-surface:#fff;--color-border:#e2e8f0;--color-text:#0f172a;--color-text-muted:#64748b;--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-success:#16a34a;--color-success-bg:#dcfce7;--color-danger:#dc2626;--color-danger-bg:#fee2e2;--color-warning:#b45309;--color-warning-bg:#fef3c7;--radius:10px;--shadow:0 1px 2px #0f172a0f, 0 1px 3px #0f172a14}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:var(--color-primary)}.page{max-width:960px;margin:0 auto;padding:32px 24px 64px}.page--narrow{max-width:400px;padding-top:96px}.topbar{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.topbar h1{margin:0;font-size:20px;font-weight:600}.topbar-user{color:var(--color-text-muted);align-items:center;gap:12px;font-size:14px;display:flex}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card--padded{padding:32px}table.products{border-collapse:collapse;width:100%;font-size:14px}table.products th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);padding:12px 20px;font-size:12px}table.products td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:16px 20px}table.products tr:last-child td{border-bottom:none}table.products tbody tr:hover{background:#fafafa}.product-name{font-weight:500}.badge{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.badge--low{background:var(--color-warning-bg);color:var(--color-warning)}.badge--high{background:var(--color-danger-bg);color:var(--color-danger)}.badge--normal{background:var(--color-success-bg);color:var(--color-success)}.recommendation{flex-direction:column;gap:2px;display:flex}.recommendation-price{font-weight:600}.recommendation-price.is-up{color:var(--color-success)}.recommendation-price.is-down{color:var(--color-danger)}.recommendation-explanation{color:var(--color-text-muted);font-size:12px}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:8px 16px;font-size:14px;font-weight:500;transition:background-color .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:default}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn--secondary:hover:not(:disabled){background:#f1f5f9}.input{border:1px solid var(--color-border);border-radius:8px;width:100%;margin-bottom:16px;padding:10px 12px;font-size:14px}.input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.text-muted{color:var(--color-text-muted)}.error-banner{background:var(--color-danger-bg);color:var(--color-danger);border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.empty-state{text-align:center;padding:48px 24px}.empty-state p{color:var(--color-text-muted);margin-bottom:16px}.divider{color:var(--color-text-muted);align-items:center;gap:12px;margin:20px 0;font-size:13px;display:flex}.divider:before,.divider:after{content:"";background:var(--color-border);flex:1;height:1px}.login-links{flex-direction:column;gap:8px;margin-top:20px;display:flex}.link-btn{text-align:left;color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.link-btn:hover{text-decoration:underline}
