.roster-today {padding:14px 16px;margin-bottom:22px;border:1px solid #e5eaf0;border-radius:12px;background:#f8faff;}
.roster-today>strong {font-size:14px;}
.roster-coverage {display:flex;flex-wrap:wrap;gap:6px 18px;padding:10px 12px;margin:0;font-size:12px;color:#586574;line-height:1.6;}
.roster-coverage b {color:#23394e;margin-right:5px;}
.roster-coverage small {color:#8a590b;background:#fff3d9;border-radius:4px;padding:2px 4px;}
.roster-today>small {display:block;color:#718090;font-size:11px;padding-left:12px;}
.roster-card-heading {display:flex;align-items:center;justify-content:space-between;gap:8px;}
.roster-card-heading>button {border:0;background:transparent;color:#155bd1;font-size:25px;min-width:44px;min-height:44px;cursor:pointer;}
.roster-preview {position:relative;flex:1;}
.roster-preview summary {font-weight:650;font-size:14px;cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;}
.roster-preview summary::-webkit-details-marker {display:none;}
.roster-popup {position:absolute;right:0;top:100%;width:min(420px,75vw);padding:16px;border:1px solid #dce3eb;border-radius:12px;background:white;box-shadow:0 8px 30px #0002;z-index:15;}
.roster-popup pre {white-space:pre-wrap;font:12px/1.6 -apple-system,BlinkMacSystemFont,sans-serif;}
.roster-popup small {font-size:11px;color:#637080;}
.roster-popup textarea {display:none;width:100%;min-height:220px;}
.roster-popup textarea.copy-fallback {display:block;}
@media (hover:hover) {.roster-preview:not([open]):hover>.roster-popup {display:block;}}
.latest-orders-header {min-height:44px!important;margin-top:12px;}
.dashboard-reminders:empty {display:none;}
.dashboard-reminders {border:1px solid #f2dfbd;background:#fffaf0;border-radius:12px;padding:12px;margin-bottom:20px;}
.dashboard-reminders h3 {font-size:14px;margin:0 0 8px;}
.bin-reminder {display:flex;gap:10px;align-items:flex-start;padding:8px 0;font-size:13px;}
.bin-reminder input {width:22px;height:22px;}
.bin-reminder small {display:block;color:#65717c;font-size:11px;line-height:1.6;}
.roster-navigation {display:flex;gap:6px;margin:6px 0;}
.roster-navigation button {min-height:36px;border:0;border-radius:8px;padding:7px 12px;background:#edf1f6;color:#46586c;cursor:pointer;font:inherit;font-size:12px;}
.roster-navigation button[aria-pressed="true"] {background:#e0ebff;color:#155bd1;font-weight:650;}
.login-form .remember-login {display:flex;align-items:center;gap:10px;font-size:14px;font-weight:400;}
.login-form .remember-login input {width:20px;height:20px;flex-shrink:0;}
