.sla-shift-ledger-banner { position: fixed; top: 6px; left: 50%; transform: translateX(-50%); z-index: 75; width: min(1100px, calc(100vw - 120px)); pointer-events: auto; font-family: "Josefin Sans", "Signika", sans-serif; } .sla-shift-ledger-banner-inner { display: grid; grid-template-columns: minmax(240px, 0.85fr) minmax(0, 1.75fr); gap: 16px; align-items: center; padding: 14px 18px; border-radius: 16px; border: 1px solid rgba(124, 196, 255, 0.24); background: linear-gradient(180deg, rgba(17, 22, 31, 0.96), rgba(12, 16, 23, 0.94)); box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.04); color: #d9e7f7; } .sla-shift-ledger-banner-meta { min-width: 0; } .sla-shift-ledger-banner-main { display: grid; grid-template-columns: 1fr; gap: 10px; align-items: stretch; } .sla-shift-ledger-banner-kicker, .sla-shift-ledger-kicker { font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase; color: #7cc4ff; margin-bottom: 4px; } .sla-shift-ledger-banner-title, .sla-shift-ledger-state-line { font-size: 1.1rem; font-weight: 700; color: #f4f8fd; } .sla-shift-ledger-banner-subtitle { font-size: 0.78rem; color: #9eb5cf; } .sla-shift-ledger-banner-controls { display: inline-flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-start; } .sla-shift-ledger-button { border: 1px solid rgba(124, 196, 255, 0.4); border-radius: 999px; background: rgba(31, 93, 156, 0.24); color: #e9f4ff; min-width: 72px; padding: 8px 12px; font-size: 0.75rem; font-weight: 700; cursor: pointer; white-space: nowrap; } .sla-shift-ledger-button:hover { background: rgba(46, 114, 184, 0.34); } .sla-shift-ledger-shifts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; min-width: 0; width: 100%; } .sla-shift-ledger-shift, .sla-shift-ledger-shift-chip { border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.04); min-height: 56px; padding: 10px 12px; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; color: #90a8c2; line-height: 1.15; white-space: nowrap; overflow: hidden; } .sla-shift-ledger-shift.is-active, .sla-shift-ledger-shift-chip.is-active { background: linear-gradient(180deg, rgba(77, 149, 221, 0.38), rgba(31, 93, 156, 0.42)); color: #ffffff; border-color: rgba(146, 207, 255, 0.7); box-shadow: 0 0 0 1px rgba(146, 207, 255, 0.12), 0 0 20px rgba(62, 145, 218, 0.22); } .sla-shift-ledger-open { margin-left: 6px; } .sla-shift-ledger-form, .sla-shift-ledger-actor-panel { color: #d9e7f7; } .sla-shift-ledger-form input, .sla-shift-ledger-form select, .sla-shift-ledger-form textarea, .sla-shift-ledger-actor-panel input, .sla-shift-ledger-actor-panel select, .sla-shift-ledger-actor-panel textarea { background: linear-gradient(180deg, rgba(242, 247, 252, 0.98), rgba(229, 236, 245, 0.98)) !important; color: #112030 !important; border: 1px solid rgba(89, 118, 152, 0.48) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,0.78) !important; } .sla-shift-ledger-form input::placeholder, .sla-shift-ledger-form textarea::placeholder, .sla-shift-ledger-actor-panel input::placeholder, .sla-shift-ledger-actor-panel textarea::placeholder { color: #61758c !important; } .sla-shift-ledger-form option, .sla-shift-ledger-actor-panel option { color: #112030; background: #e7edf5; } .sla-shift-ledger-grid, .sla-shift-ledger-actor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .sla-shift-ledger-field { display: flex; flex-direction: column; gap: 6px; } .sla-shift-ledger-field label { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.08em; color: #8eb4da; } .sla-shift-ledger-field .notes { margin: 0; font-size: 0.74rem; color: #98aac0; } .sla-shift-ledger-banner-card, .sla-shift-ledger-cost-panel, .sla-shift-ledger-actor-card { margin: 12px 0; padding: 12px; border-radius: 16px; border: 1px solid rgba(124, 196, 255, 0.15); background: linear-gradient(180deg, rgba(17, 22, 31, 0.82), rgba(10, 14, 20, 0.9)); } .sla-shift-ledger-shift-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 10px; } .sla-shift-ledger-cost-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 8px; } .sla-shift-ledger-actions, .sla-shift-ledger-inline-actions { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 10px; } .sla-shift-ledger-form .sla-shift-ledger-actions button, .sla-shift-ledger-form .sla-shift-ledger-inline-actions button, .sla-shift-ledger-actor-panel .sla-shift-ledger-inline-actions button, .sla-shift-ledger-actor-panel .sla-shift-ledger-day-nav button { background: linear-gradient(180deg, rgba(68, 138, 212, 0.96), rgba(29, 95, 162, 0.98)) !important; color: #f5fbff !important; border: 1px solid rgba(145, 210, 255, 0.56) !important; box-shadow: 0 6px 16px rgba(16, 50, 89, 0.22), inset 0 1px 0 rgba(255,255,255,0.18) !important; } .sla-shift-ledger-form .sla-shift-ledger-actions button:hover, .sla-shift-ledger-form .sla-shift-ledger-inline-actions button:hover, .sla-shift-ledger-actor-panel .sla-shift-ledger-inline-actions button:hover, .sla-shift-ledger-actor-panel .sla-shift-ledger-day-nav button:hover { background: linear-gradient(180deg, rgba(87, 157, 230, 0.98), rgba(42, 111, 181, 0.99)) !important; } .sla-shift-ledger-actor-panel { margin-bottom: 12px; } .sla-shift-ledger-actor-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .sla-shift-ledger-actor-summary { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; } .sla-shift-ledger-day-nav { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 8px 0 10px; } .sla-shift-ledger-day-readout { font-size: 0.8rem; color: #dcecff; font-weight: 700; } .sla-shift-ledger-tag { border-radius: 999px; padding: 4px 10px; font-size: 0.72rem; background: rgba(124, 196, 255, 0.12); border: 1px solid rgba(124, 196, 255, 0.18); color: #d7ecff; } .sla-shift-ledger-front-panel { margin-top: 10px; } .sla-shift-ledger-front-summary { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .sla-shift-ledger-front-summary .sla-shift-ledger-tag { background: rgba(90, 168, 255, 0.14); } .sla-shift-ledger-ledger { margin-top: 10px; max-height: 180px; overflow: auto; display: flex; flex-direction: column; gap: 8px; } .sla-shift-ledger-ledger-entry { padding: 8px 10px; border-radius: 12px; background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.06); font-size: 0.78rem; } .sla-shift-ledger-ledger-entry strong { color: #ffffff; } @media (max-width: 1100px) { .sla-shift-ledger-banner { width: min(900px, calc(100vw - 80px)); } .sla-shift-ledger-banner-inner { grid-template-columns: 1fr; } } @media (max-width: 900px) { .sla-shift-ledger-banner { position: static; transform: none; width: auto; margin: 8px 8px 0; } .sla-shift-ledger-banner-inner { grid-template-columns: 1fr; align-items: stretch; } .sla-shift-ledger-shifts { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sla-shift-ledger-cost-grid, .sla-shift-ledger-actor-grid, .sla-shift-ledger-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } /* Premium SLA Campaign Clock Window styling */ .sla-campaign-clock-window.window-app { background: linear-gradient(180deg, rgba(17, 22, 31, 0.98), rgba(12, 16, 23, 0.96)) !important; border: 1px solid rgba(124, 196, 255, 0.25) !important; box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5) !important; border-radius: 16px !important; overflow: hidden !important; } .sla-campaign-clock-window .window-header { border-bottom: 1px solid rgba(124, 196, 255, 0.15) !important; background: rgba(17, 22, 31, 0.5) !important; color: #7cc4ff !important; font-family: "Josefin Sans", sans-serif !important; letter-spacing: 0.05em !important; padding: 6px 12px !important; } .sla-campaign-clock-window .window-content { background: transparent !important; padding: 18px !important; color: #d9e7f7 !important; } .sla-campaign-clock-window .sla-shift-ledger-window-inner { display: flex; flex-direction: column; } .sla-campaign-clock-window .sla-shift-ledger-shift.is-active { background: linear-gradient(180deg, rgba(77, 149, 221, 0.38), rgba(31, 93, 156, 0.42)) !important; color: #ffffff !important; border-color: rgba(146, 207, 255, 0.7) !important; box-shadow: 0 0 10px rgba(124, 196, 255, 0.3) !important; }