.roster-cards{display:grid;gap:16px;margin:20px 0}.roster-person{padding:20px}.roster-person header{display:flex;align-items:center;gap:14px;margin-bottom:16px}.roster-name{flex:1;min-width:0}.roster-name select{width:100%;margin-top:6px}.roster-times{display:grid;grid-template-columns:1fr 1fr;gap:14px}.roster-times input{width:100%;min-width:0;color-scheme:dark}.roster-switch{display:flex;align-items:center;gap:10px;margin:16px 0}.roster-switch input{width:22px;height:22px;accent-color:var(--gold)}.roster-disabled{opacity:.6}.roster-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:20px;position:sticky;bottom:104px;padding:12px;border-radius:24px;background:#0b0d0cf2;border:1px solid #ffffff18}.orders-due,.supplier-card.due-today{border-color:#e1bc7470;box-shadow:0 0 20px #e1bc7412,inset 0 0 16px #e1bc7408}.orders-due{margin:16px 0}.orders-complete{border-color:#75b98b66;box-shadow:none}.orders-complete .fake-button{background:#568b65;color:white}.supplier-card.ready{border-color:#75b98b66}.orders-day-hint{color:var(--gold)}


/* Compact stock capsules and a shared roster width, including native date controls. */
.card.order-products{padding:10px 12px 0}
.order-products .stock-order-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto;gap:5px 12px;padding:16px 2px;border-bottom:1px solid #ffffff24;align-items:center}
.order-products .stock-order-row[hidden]{display:none!important}
.stock-order-row .product-name{grid-column:1;grid-row:1;font-size:18px;line-height:1.3;min-width:0;overflow-wrap:anywhere}
.stock-order-row .product-name .meta{font-size:11px;line-height:1.4;margin-top:4px}
.stock-order-row .quantity-label{grid-column:1;grid-row:2;color:#bcbcb5;font-size:13px}
.stock-order-row .quantity-control{grid-column:1;grid-row:3;display:flex;align-items:center;border:1px solid #ffffff30;border-radius:999px;padding:3px;background:#050505;min-width:0;gap:0}
.quantity-control button{flex:0 0 40px;min-width:40px;min-height:44px;width:40px;height:44px;padding:0;border-radius:50%;font-size:26px;background:#ffffff0c;border:0}
.quantity-control button:last-child{color:var(--gold);background:#dfbd7226}
.quantity-control input[data-qty]{width:100%;min-width:0;flex:1;padding:8px 0!important;border:0!important;background:transparent!important;text-align:center;font-size:18px;appearance:textfield}
.quantity-control input::-webkit-inner-spin-button,.quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.order-products .stock-order-row .norm-cell{grid-column:2;grid-row:1 / 4;align-self:center;display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;column-gap:4px;min-height:94px;padding:12px 9px;border:1px solid #dabc7155;border-radius:28px;background:linear-gradient(135deg,#dabc7118,#080908);color:#c7c7bd;text-align:center;font-size:12px}
.norm-cell .stock-caption{grid-column:1;font-size:10px;line-height:1.35}
.norm-cell strong{grid-column:1;font-size:34px;line-height:1.15;color:var(--gold);font-weight:600}
.norm-cell>span:not([class]){grid-column:1}
.stock-symbol{grid-column:2;grid-row:1 / 4;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;color:var(--gold)}
.stock-symbol svg{width:24px;height:24px}
.order-products .category-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:999px;background:#ffffff12;letter-spacing:.14em;color:var(--gold);margin-top:2px;font-size:14px}
.category-heading small{flex-shrink:0;letter-spacing:normal;color:#bcbcb5;font-size:11px}
.roster-cards .roster-person{border-radius:28px;background:#030504e8;padding:22px;min-width:0;width:100%;overflow:hidden}
.roster-person header{display:flex;align-items:center;gap:14px}.roster-person header strong{min-width:0;overflow-wrap:anywhere;font-size:21px}
.roster-person header .avatar{flex-shrink:0}.roster-person p{margin:18px 0 0;line-height:1.5;overflow-wrap:anywhere}
.roster-date-field{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;margin:18px 0 0}
#roster-date{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;min-height:58px;color-scheme:dark;-webkit-appearance:none;appearance:none}
#roster-date::-webkit-date-and-time-value{text-align:left;min-width:0}
.roster-selected-date{margin:24px 0 12px}
#roster-cards-form{width:100%;min-width:0}
#roster-cards-form .roster-times{grid-template-columns:repeat(2,minmax(0,1fr))}
#roster-cards-form .roster-times>label{min-width:0}
#roster-cards-form input[type=time]{box-sizing:border-box;max-width:100%;min-width:0;min-height:50px}
#content .roster-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;overflow:visible;padding:8px 0 14px;min-width:0}
#content .roster-days button{width:100%;min-width:0;min-height:44px;aspect-ratio:1;border-radius:50%;padding:0;font-size:clamp(10px,2.7vw,14px);white-space:nowrap}
@media(max-width:360px){.order-products .stock-order-row{gap:5px 8px}.stock-order-row .product-name{font-size:16px}.order-products .stock-order-row .norm-cell{grid-template-columns:minmax(0,1fr) 28px;padding:10px 6px}.stock-symbol{width:28px;height:28px}.stock-symbol svg{width:20px;height:20px}.roster-cards .roster-person{padding:16px}}
