@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--green:#176b45;--green2:#e8f3ec;--ink:#26352d;--muted:#718078;--line:#e2eae4;--bg:#f7faf7}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 15%,#e4f2e8,transparent 34%),var(--bg)}.login-card{width:min(100%,430px);background:white;border:1px solid var(--line);border-radius:24px;padding:38px;box-shadow:0 18px 55px #21452d12}.brand-mark{width:54px;height:54px;border-radius:17px;background:var(--green);color:white;display:grid;place-items:center;font-weight:700;font-size:19px;letter-spacing:-1px}.brand-mark.small{width:42px;height:42px;border-radius:13px;font-size:15px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;color:var(--green);margin:22px 0 8px}.login-card h1,.welcome h1{font-family:'Playfair Display',serif;font-size:38px;line-height:1.12;margin:0 0 12px}.login-card h1 span,.welcome h1 span{color:var(--green)}.muted{color:var(--muted);line-height:1.6}.login-card label,.dialog-card label{display:block;font-size:13px;font-weight:600;margin:17px 0 7px}.login-card input,.dialog-card input,.dialog-card select,.dialog-card textarea,.toolbar input,.toolbar select{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px 13px;background:white;color:var(--ink);outline:none}.login-card input:focus,.dialog-card input:focus,.dialog-card select:focus,.dialog-card textarea:focus,.toolbar input:focus{border-color:#72a889;box-shadow:0 0 0 3px #176b4512}.primary{border:0;background:var(--green);color:white;padding:12px 18px;border-radius:11px;font-weight:600}.primary:hover{background:#105637}.full{width:100%;margin-top:23px}.message{font-size:13px;color:#b34232;min-height:18px}.app-shell{max-width:1180px;margin:auto;padding:0 28px 60px}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand strong,.brand small{display:block}.brand small{font-size:12px;color:var(--muted);margin-top:3px}.quiet,.secondary,.close{background:white;border:1px solid var(--line);color:var(--ink);padding:10px 15px;border-radius:10px}.welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:43px 0 30px}.welcome .eyebrow{margin:0 0 8px}.welcome h1{font-size:34px}.welcome p{margin-bottom:0}.toolbar{display:grid;grid-template-columns:1.5fr 1fr auto;gap:12px;align-items:center;background:white;border:1px solid var(--line);padding:14px;border-radius:16px;margin-bottom:24px}.favorite-filter{font-size:13px;white-space:nowrap;color:var(--muted)}.favorite-filter input{accent-color:var(--green)}.supplier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.supplier-card{background:white;border:1px solid var(--line);border-radius:16px;padding:19px;box-shadow:0 5px 20px #21452d08}.card-top{display:flex;justify-content:space-between;gap:12px}.supplier-card h3{margin:0 0 7px;font-size:17px}.category-pill{display:inline-block;background:var(--green2);color:var(--green);padding:5px 9px;border-radius:20px;font-size:11px;font-weight:600}.card-notes{color:var(--muted);font-size:13px;line-height:1.5;min-height:20px;white-space:pre-wrap}.card-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.card-links a,.card-links button{font-size:12px;text-decoration:none;border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:white;color:var(--green);font-weight:600}.card-tools{display:flex;gap:5px}.icon-btn{border:0;background:transparent;color:var(--muted);font-size:18px;padding:2px 5px}.icon-btn.active{color:#d49a29}.empty{text-align:center;color:var(--muted);padding:55px 15px}.dialog-card{border:0;padding:27px;width:min(100%,510px)}dialog{border:0;border-radius:20px;padding:0;width:min(92vw,510px);box-shadow:0 20px 80px #14271d40}dialog::backdrop{background:#13251dcc}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.dialog-heading .eyebrow{margin:0 0 5px}.dialog-heading h2{margin:0;font-family:'Playfair Display',serif}.close{font-size:23px;padding:2px 10px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:12px}
@media(max-width:800px){.supplier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{grid-template-columns:1fr 1fr}.favorite-filter{grid-column:1/-1}.app-shell{padding:0 17px 40px}.welcome{align-items:flex-start;flex-direction:column}.welcome h1{font-size:29px}}
@media(max-width:520px){.supplier-grid{grid-template-columns:1fr}.login-card{padding:27px}.toolbar{grid-template-columns:1fr}.favorite-filter{grid-column:auto}.topbar{height:70px}.brand strong{font-size:13px}.brand small{font-size:10px}.welcome{padding-top:32px}}