/* STAGING 007A — Supplier Operations / Calendar & Connections */
.module-loading{padding:42px 24px;text-align:center;color:#667085}.module-loading b{display:block;color:#0d1b2a;margin-bottom:6px}
.ops-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:14px 0 18px}.ops-toolbar button,.ops-toolbar select{border:1px solid #d9dee7;background:#fff;border-radius:999px;padding:9px 13px;font:inherit;color:#253044}.ops-toolbar button.active{background:#0d2340;color:#fff;border-color:#0d2340}.ops-toolbar .spacer{flex:1}
.ops-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 20px}.ops-summary article{background:#f8fafc;border:1px solid #e5e9f0;border-radius:14px;padding:14px}.ops-summary span{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7a8494}.ops-summary b{display:block;margin-top:6px;font-size:22px;color:#13233a}.ops-summary small{display:block;margin-top:4px;color:#7a8494}
.booking-list{display:grid;gap:10px}.booking-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(135px,.65fr) minmax(130px,.65fr) auto;gap:14px;align-items:center;padding:15px 16px;border:1px solid #e4e8ee;border-radius:14px;background:#fff}.booking-row h3{margin:0 0 4px;font-size:15px}.booking-row p,.booking-row small{margin:0;color:#6e7786}.booking-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#eef2f6;color:#4b5565}.booking-status.needs{background:#fff3d6;color:#8a5a00}.booking-status.good{background:#e6f6ed;color:#17663a}.booking-status.warn{background:#feecec;color:#9b2c2c}.booking-row button{white-space:nowrap}
.booking-detail{margin-top:16px;border:1px solid #dfe5ec;border-radius:16px;background:#fbfcfe;overflow:hidden}.booking-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:18px 20px;border-bottom:1px solid #e4e8ee;background:#fff}.booking-detail-head h3{margin:3px 0 0}.booking-detail-body{padding:18px 20px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.detail-grid div{padding:12px;border-radius:12px;background:#fff;border:1px solid #e5e9ef}.detail-grid small{display:block;color:#7a8494;margin-bottom:5px}.detail-grid b{font-size:13px;color:#1d2939}.booking-action-card{border-top:1px solid #e2e7ee;margin-top:16px;padding-top:16px}.booking-action-card h4{margin:0 0 8px}.booking-action-card p{color:#667085;margin:0 0 12px}.booking-response-form,.fulfillment-form,.integration-request-form,.calendar-override-form{display:grid;gap:10px}.booking-response-form .form-row,.integration-request-form .form-row,.calendar-override-form .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.booking-response-form label,.fulfillment-form label,.integration-request-form label,.calendar-override-form label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#344054}.booking-response-form input,.booking-response-form select,.booking-response-form textarea,.fulfillment-form input,.fulfillment-form textarea,.integration-request-form input,.integration-request-form select,.integration-request-form textarea,.calendar-override-form input,.calendar-override-form select,.calendar-override-form textarea{width:100%;box-sizing:border-box;border:1px solid #ccd3dd;border-radius:10px;padding:10px 11px;background:#fff;font:inherit}.booking-response-form textarea,.fulfillment-form textarea,.integration-request-form textarea,.calendar-override-form textarea{min-height:72px;resize:vertical}.inline-result{font-size:12px;color:#667085;min-height:16px}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:18px}.calendar-panel,.connections-panel{border:1px solid #e3e8ef;border-radius:16px;background:#fff;padding:16px}.calendar-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.calendar-top h3{margin:0}.calendar-nav{display:flex;gap:6px}.calendar-nav button{width:36px;height:34px;border:1px solid #d9dfe7;border-radius:10px;background:#fff}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.calendar-week span{text-align:center;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#8a94a3}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-day{min-height:84px;border:1px solid #e1e6ed;border-radius:11px;background:#fbfcfe;padding:7px;text-align:left;position:relative}.calendar-day.outside{opacity:.42}.calendar-day.today{box-shadow:inset 0 0 0 2px #1d3557}.calendar-day .day-num{font-weight:800;font-size:12px}.calendar-day .day-count{display:block;margin-top:8px;font-size:10px;color:#516070}.calendar-day .day-override{display:block;margin-top:4px;font-size:9px;font-weight:800;text-transform:uppercase;color:#9b2c2c}.calendar-day.has-booking{background:#f6f9ff}.calendar-day.has-override{background:#fff8e8}.calendar-note-007a{font-size:12px;color:#667085;margin:12px 0 0;line-height:1.45}
.connection-cards{display:grid;gap:10px}.connection-card{border:1px solid #e2e7ee;border-radius:14px;padding:14px;background:#fbfcfe}.connection-card.active{border-color:#b6dcc6;background:#f3fbf6}.connection-card h4{margin:0 0 5px}.connection-card p{margin:0 0 10px;color:#667085;font-size:12px;line-height:1.45}.connection-card .connection-state{display:inline-flex;margin-bottom:8px;border-radius:999px;background:#eef2f6;padding:4px 8px;font-size:10px;font-weight:800;text-transform:uppercase}.connection-card.active .connection-state{background:#dff4e7;color:#17663a}.connection-list,.override-list{display:grid;gap:8px;margin-top:12px}.connection-row,.override-row{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid #e5e9ef;border-radius:11px;padding:10px 12px;background:#fff}.connection-row div,.override-row div{display:grid;gap:2px}.connection-row small,.override-row small{color:#7a8494}.connection-row strong,.override-row strong{font-size:12px}.connection-row span,.override-row span{font-size:10px;font-weight:800;text-transform:uppercase;color:#5f6b7b}.integration-box{margin-top:14px;padding-top:14px;border-top:1px solid #e5e9ef}.integration-box h4{margin:0 0 5px}.integration-box p{margin:0 0 10px;color:#667085;font-size:12px}
.performance-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:16px 0}.performance-grid article{border:1px solid #e4e8ee;border-radius:14px;background:#fff;padding:14px}.performance-grid span{display:block;color:#7a8494;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.performance-grid b{display:block;margin-top:6px;color:#15263f;font-size:20px}.performance-note{border:1px solid #e3e8ef;background:#f8fafc;border-radius:14px;padding:14px;color:#667085}.performance-note b{color:#24344d}
.rewards-ops-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:15px 0}.rewards-ops-head p{margin:0;color:#667085}.reward-row{border:1px solid #e4e8ee;border-radius:12px;padding:13px 14px;background:#fff}.reward-row+ .reward-row{margin-top:8px}.reward-row div{display:grid;gap:3px}.reward-row span{color:#667085;font-size:12px}.reward-row strong{font-size:13px}.module-empty.compact{padding:28px 16px}.module-empty.compact h3{margin-bottom:4px}.module-empty.compact p{max-width:560px;margin-left:auto;margin-right:auto}
@media(max-width:860px){.ops-summary,.performance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-row{grid-template-columns:minmax(0,1fr) auto}.booking-row .booking-date,.booking-row .booking-money{grid-column:1}.calendar-layout{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ops-summary,.performance-grid{grid-template-columns:1fr 1fr;gap:8px}.booking-row{padding:12px;gap:8px}.booking-row button{grid-column:2;grid-row:1 / span 2}.calendar-grid{gap:3px}.calendar-day{min-height:67px;padding:5px}.calendar-day .day-count{font-size:9px}.booking-response-form .form-row,.integration-request-form .form-row,.calendar-override-form .form-row,.detail-grid{grid-template-columns:1fr}.booking-detail-head{padding:14px}.booking-detail-body{padding:14px}.calendar-panel,.connections-panel{padding:12px}}
