:root{font-family:Segoe UI,Arial,sans-serif;color:#203c34;background:#f4f6f3;font-size:14px}*{box-sizing:border-box}body{margin:0;display:flex}aside{width:230px;background:#123c31;color:#fff;padding:35px 23px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;gap:25px}.brand{font-size:29px;color:#fff;font-weight:750;text-decoration:none;letter-spacing:2px}.brand span{display:block;font-size:16px;letter-spacing:0;font-weight:400;color:#bed8cb}.muted{color:#6e7e76;line-height:1.6}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:700;color:#608272;margin-bottom:12px}aside .muted{color:#97b7a9;font-size:10px;letter-spacing:1.3px}nav{display:grid;gap:8px}nav a{color:#deebe3;text-decoration:none;padding:12px 0;border-bottom:1px solid #315649}.aside-note{margin-top:auto;color:#97b7a9;font-size:12px;line-height:1.9}main{margin-left:230px;padding:0 36px 45px;width:calc(100% - 230px);max-width:2100px}header{height:74px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce4dc;margin-bottom:32px;font-size:12px}h1{font-size:32px;line-height:1.2;margin:0 0 13px;letter-spacing:-.8px}h2{font-size:19px;margin:0 0 17px}h3{font-size:17px;line-height:1.4;min-height:45px}p{line-height:1.6}.title-row,.section-row{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:22px}.section-row{margin-top:24px}.card{border:1px solid #dce5db;border-radius:13px;background:#fff;padding:24px;margin-bottom:22px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}.metrics .card{margin:0}.metrics span{display:block;font-size:12px;color:#6e7e76}.metrics strong{display:block;font-size:25px;margin-top:12px;font-weight:600}.supplier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:18px}.value{font-size:28px;font-weight:650}.value small{font-size:12px;font-weight:400}.badge{display:inline-block;padding:5px 9px;border-radius:6px;background:#eaf2eb;color:#38674e;font-size:11px;font-weight:600}button,.button{border:1px solid #245c45;border-radius:7px;padding:11px 17px;background:#245c45;color:white;cursor:pointer;font:inherit;text-decoration:none;display:inline-block;text-align:center}.secondary{background:transparent;color:#245c45;border-color:#c6d7ca}aside .secondary{color:#deebe3;border-color:#517462}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;align-items:end}label{display:block;font-size:12px;margin-bottom:14px;line-height:1.6}input,select,textarea{width:100%;margin-top:6px;border:1px solid #cbd7cf;background:#fff;color:#203c34;padding:10px;border-radius:6px;font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid #93b8a2;outline-offset:1px}input[type=checkbox]{width:17px;height:17px;vertical-align:middle}.check{display:flex;align-items:center;gap:9px}.search{display:flex;gap:10px;max-width:650px}.search input{margin:0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;background:#eef3ed;color:#577064;font-size:11px;padding:13px;white-space:nowrap}td{border-bottom:1px solid #e6ece5;padding:14px 12px;vertical-align:top}td.product{min-width:230px}td.reason{min-width:240px;max-width:380px;color:#6e7e76;line-height:1.65}.qty{width:85px;margin:0}small{font-size:11px;color:#6e7e76}.alert{padding:15px 20px;background:#fff2d6;border:1px solid #ead7a6;border-radius:8px;margin:18px 0}.error{background:#fff0eb;border-color:#eac2b4;color:#873e29}.message{background:#eaf3eb}.danger{display:block;color:#ad472d}.login{max-width:560px;margin:60px auto;padding:38px}a{color:#245c45}@media(max-width:900px){aside{position:static;width:100%;padding:20px;gap:12px}body{display:block}nav{display:flex;flex-wrap:wrap;gap:20px}.aside-note{display:none}main{margin:0;width:100%;padding:0 18px 30px}.metrics{grid-template-columns:1fr}.title-row{align-items:flex-start;flex-direction:column}.brand span{display:inline;margin-left:12px}h1{font-size:27px}.card{padding:18px}}

.supplier-grid .card.minimum-reached{background:#e2f3df;border-color:#9ac991}

.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.summary-grid span{display:block;color:#6e7e76;font-size:12px}.summary-grid strong{display:block;margin-top:8px;font-size:22px}.pagination{display:flex;gap:20px;align-items:center;margin:20px 0}.rule-field{padding:15px;background:#f5f8f3;border-radius:8px}.rule-field label{margin-bottom:8px}
