.expiry-admin { display:grid; gap:20px; }
.expiry-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.expiry-summary article { padding:15px; border:1px solid #e0e7e3; border-radius:13px; background:#f8faf9; }
.expiry-summary span { display:block; color:#748078; font-size:12px; }
.expiry-summary strong { display:block; margin-top:5px; color:#26352e; font-size:22px; }
.expiry-summary article.is-warning { border-color:#ecd8aa; background:#fffaf0; }
.expiry-summary article.is-danger { border-color:#efcbc8; background:#fff7f6; }
.expiry-reconciliation{padding:16px;border:1px solid #edc9a5;border-radius:14px;background:#fffaf4}.expiry-reconciliation__heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.expiry-reconciliation__heading>div{display:flex;flex-direction:column;gap:4px}.expiry-reconciliation__heading strong{color:#714a24;font-size:13px}.expiry-reconciliation__heading span{color:#8d7259;font-size:10px}.expiry-reconciliation__heading>b{display:grid;place-items:center;min-width:42px;height:30px;padding:0 10px;border-radius:999px;background:#fff0df;color:#a15f24;font-size:12px}.expiry-unlinked-warning{margin:12px 0 0;padding:10px 12px;border-radius:9px;background:#fff;color:#875526;font-size:11px}.expiry-mismatch-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.expiry-mismatch-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #eedbc8;border-radius:10px;background:#fff}.expiry-mismatch-list article>div{display:flex;min-width:0;flex-direction:column;gap:3px}.expiry-mismatch-list article strong{overflow:hidden;color:#3f3429;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.expiry-mismatch-list article span{color:#8a796a;font-size:10px}.expiry-mismatch-list article>b{color:#b25b38;font-size:13px;white-space:nowrap}
.expiry-form { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr .7fr; gap:12px; padding:18px; border:1px solid #e1e8e4; border-radius:15px; background:#f7faf8; }
.expiry-form label { display:grid; align-content:start; gap:7px; min-width:0; }
.expiry-form label span { color:#5f6d65; font-size:12px; font-weight:800; }
.expiry-form input,.expiry-form select { width:100%; min-width:0; min-height:43px; padding:0 38px 0 12px; border:1px solid #d9e2dd; border-radius:10px; background-color:#fff; color:#26352e; font:inherit; font-size:12px; outline:none; }
.expiry-form input{padding-right:12px}.expiry-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#718078 50%),linear-gradient(135deg,#718078 50%,transparent 50%);background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}.expiry-form input:focus,.expiry-form select:focus{border-color:#6f9a84;box-shadow:0 0 0 3px rgba(39,107,80,.09)}
.expiry-form__notes { grid-column:1/-2; }
.expiry-form button { align-self:end; min-height:43px; border:0; border-radius:10px; background:#276b50; color:#fff; font-weight:800; cursor:pointer; }
.expiry-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.expiry-filters { display:flex; gap:7px; flex-wrap:wrap; }
.expiry-toolbar button { min-height:36px; padding:0 12px; border:1px solid #dce4df; border-radius:9px; background:#fff; color:#657169; font-weight:750; cursor:pointer; }
.expiry-filters button.active { border-color:#276b50; background:#edf5f1; color:#1f5f43; }
.expiry-status { min-height:18px; margin:-8px 0 0; color:#748078; font-size:12px; }
.expiry-table td:first-child strong,.expiry-table td:first-child span { display:block; }
.expiry-table td:first-child span,.expiry-table td:nth-child(5) { color:#7a857f; font-size:12px; }
.expiry-badge { display:inline-flex; align-items:center; min-height:26px; padding:0 9px; border-radius:999px; background:#eef3f0; color:#536159; font-size:11px; font-weight:800; white-space:nowrap; }
.expiry-badge.soon { background:#fff3d7; color:#8a6216; }
.expiry-badge.today,.expiry-badge.expired { background:#ffebe9; color:#ad453e; }
.expiry-badge.processed { background:#ecefed; color:#7c8580; }
.expiry-actions { display:flex; gap:6px; flex-wrap:wrap; }
.expiry-actions button { min-height:32px; padding:0 9px; border:1px solid #dce4df; border-radius:8px; background:#fff; color:#3f5047; font-size:11px; font-weight:800; cursor:pointer; }
@media (max-width:1100px) { .expiry-form { grid-template-columns:repeat(2,minmax(0,1fr)); } .expiry-form__notes { grid-column:1/-1; } .expiry-form button { grid-column:1/-1; } }
@media (max-width:700px) { .expiry-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } .expiry-mismatch-list{grid-template-columns:1fr}.expiry-form { grid-template-columns:1fr; } .expiry-form__notes,.expiry-form button { grid-column:auto; } .expiry-toolbar { align-items:flex-start; flex-direction:column; } }
