.schedule-view-switch { display:inline-grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; margin:0 0 14px; border:1px solid var(--border); border-radius:12px; background:var(--surface-soft); }
.schedule-view-switch button { min-width:120px; min-height:37px; padding:0 16px; border:0; border-radius:9px; background:transparent; color:var(--text-soft); font-weight:750; }
.schedule-view-switch button.active { background:var(--surface); color:var(--text); box-shadow:0 4px 14px rgba(0,0,0,.08); }
.schedule-calendar { display:grid; gap:16px; }
.calendar-card { padding:18px; overflow:hidden; }
.calendar-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:16px; }
.calendar-toolbar h2 { margin:4px 0 0; text-transform:capitalize; }
.calendar-toolbar > div:last-child { display:flex; align-items:center; gap:7px; }
.calendar-weekdays,.calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.calendar-weekdays { border:1px solid var(--border); border-bottom:0; border-radius:12px 12px 0 0; overflow:hidden; background:var(--surface-soft); }
.calendar-weekdays span { padding:9px 7px; color:var(--text-soft); font-size:9px; font-weight:800; text-align:center; text-transform:uppercase; letter-spacing:.05em; }
.calendar-grid { border-top:1px solid var(--border); border-left:1px solid var(--border); }
.calendar-day { position:relative; min-width:0; min-height:112px; padding:8px; border:0; border-right:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--surface); color:var(--text); text-align:left; overflow:hidden; }
.calendar-day:hover,.calendar-day.selected { background:color-mix(in srgb,var(--brand) 11%,var(--surface)); }
.calendar-day.outside { background:var(--surface-soft); color:var(--text-soft); opacity:.68; }
.calendar-day.today .calendar-day-number { display:grid; place-items:center; width:25px; height:25px; margin:-2px 0 3px -2px; border-radius:50%; background:var(--brand); color:var(--brand-ink); }
.calendar-day.selected { box-shadow:inset 0 0 0 2px var(--brand); z-index:1; }
.calendar-day-number { display:block; font-size:11px; font-weight:800; }
.calendar-day-events { display:grid; gap:4px; margin-top:6px; }
.calendar-event-pill { display:flex; align-items:center; gap:5px; min-width:0; padding:4px 5px; border-radius:6px; background:var(--surface-soft); font-size:8px; }
.calendar-event-pill i,.calendar-agenda-tone { width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:#3b82f6; }
.calendar-event-pill b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.calendar-event-pill.shortages i,.calendar-agenda-tone.shortages { background:#ef4444; }
.calendar-event-pill.needsPacking i,.calendar-agenda-tone.needsPacking { background:#f59e0b; }
.calendar-event-pill.packed i,.calendar-agenda-tone.packed { background:#3b82f6; }
.calendar-event-pill.needsSettlement i,.calendar-agenda-tone.needsSettlement { background:#a855f7; }
.calendar-event-pill.settled i,.calendar-agenda-tone.settled { background:#22c55e; }
.calendar-event-pill.archived i,.calendar-agenda-tone.archived { background:#94a3b8; }
.calendar-day-events > small { color:var(--text-soft); font-size:8px; }
.calendar-agenda { padding:18px; }
.calendar-agenda-list { display:grid; gap:7px; }
.calendar-agenda-event { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; width:100%; padding:11px; border:1px solid var(--border); border-radius:11px; background:var(--surface); color:var(--text); text-align:left; }
.calendar-agenda-event.active { border-color:var(--brand); box-shadow:inset 0 0 0 1px var(--brand); }
.calendar-agenda-event strong,.calendar-agenda-event small { display:block; }
.calendar-agenda-event small { margin-top:3px; color:var(--text-soft); font-size:9px; }
.calendar-agenda-event > b { color:var(--text-soft); font-size:9px; }
.calendar-add-day { margin-top:12px; }
.route-card-icon { background:#20242b!important; border:1px solid #facc00; box-shadow:0 0 0 2px rgba(250,204,0,.1); font-size:0!important; }
.route-card-icon::before { content:""; width:25px; height:25px; background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ea4335' stroke='%23bd2d24' stroke-width='.6' d='M12 22s7-6.1 7-13A7 7 0 1 0 5 9c0 6.9 7 13 7 13Z'/%3E%3Ccircle cx='12' cy='9' r='2.7' fill='%234285f4' stroke='white' stroke-width='1.2'/%3E%3C/svg%3E"); }
.route-card-icon svg { width:25px; height:25px; overflow:visible; }
.route-card-icon svg path { fill:#ea4335; stroke:#bd2d24; stroke-width:.6; }
.route-card-icon svg circle { fill:#4285f4; stroke:#fff; stroke-width:1.2; }
.event-hero-actions .calendar-button { position:relative; width:44px; min-width:44px; min-height:42px; padding:0!important; border:1px solid #4b515b!important; background:#171a1f!important; color:#fff!important; font-size:0; border-radius:10px; }
.event-hero-actions .calendar-button:hover { border-color:#facc00!important; background:#20242b!important; }
.event-hero-actions .calendar-button::before,[data-rental-order-calendar]::before,[data-print-rental]::before { content:""; width:21px; height:21px; background:center/contain no-repeat; }
.event-hero-actions .company-calendar-button::before,[data-rental-order-company-calendar]::before { content:"G+"; display:grid; place-items:center; width:24px; height:24px; border-radius:7px; background:#fff; color:#1f1f1f; font:800 10px/1 Manrope,sans-serif; }
.event-hero-actions .device-calendar-button::before,[data-rental-order-calendar]::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2.5' width='14' height='19' rx='2.5'/%3E%3Cpath d='M9 6.5h6M12 10v7M8.5 13.5h7'/%3E%3C/svg%3E"); }
[data-print-rental],[data-rental-order-calendar],[data-rental-order-company-calendar] { position:relative; font-size:0!important; }
[data-print-rental]::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23facc00' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2.5h8l4 4V21.5H6zM14 2.5v4h4M9 12h6M9 16h6'/%3E%3C/svg%3E"); }
[data-rental-order-calendar]::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234285f4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2.5' width='14' height='19' rx='2.5'/%3E%3Cpath d='M9 6.5h6M12 10v7M8.5 13.5h7'/%3E%3C/svg%3E"); }
[data-rental-order-company-calendar]::before { content:"G+"; display:grid; place-items:center; width:23px; height:23px; border-radius:6px; background:#f1f3f4; color:#1f1f1f; font:800 9px/1 Manrope,sans-serif; }
.rental-order-actions .rental-document-action::before,.rental-order-actions .rental-private-calendar-action::before,.rental-order-actions .rental-company-calendar-action::before{content:""!important;display:block!important;width:20px!important;height:20px!important;border-radius:0!important;background-color:currentColor!important;background-image:none!important;font-size:0!important;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}.rental-order-actions .rental-document-action::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h8l5 5v15H6V2Zm8 1.8V8h4.2M9 12h6M9 16h6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h8l5 5v15H6V2Zm8 1.8V8h4.2M9 12h6M9 16h6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.rental-order-actions .rental-private-calendar-action::before,.rental-order-actions .rental-company-calendar-action::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M8 3v4m8-4v4M3 10h18m-9 3v5m-2.5-2.5h5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M8 3v4m8-4v4M3 10h18m-9 3v5m-2.5-2.5h5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
.rental-order-actions .icon-button::before{display:none!important}.rental-order-actions .rental-action-icon{display:block;width:20px;height:20px;flex:0 0 20px}.rental-order-actions .rental-document-action{color:#facc00}.rental-order-actions .rental-private-calendar-action{color:#4b8cff}.rental-order-actions .rental-company-calendar-action{color:#34a853}.rental-order-actions .rental-order-edit{color:var(--text)}
.event-hero-actions .company-calendar-button::before{content:""!important;display:block!important;width:21px!important;height:21px!important;border-radius:0!important;background-color:transparent!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10V6.5A2.5 2.5 0 0 1 6.5 4H10' stroke='%234285f4' stroke-width='2.2'/%3E%3Cpath d='M10 4h7.5A2.5 2.5 0 0 1 20 6.5V10' stroke='%23ea4335' stroke-width='2.2'/%3E%3Cpath d='M20 10v7.5a2.5 2.5 0 0 1-2.5 2.5H14' stroke='%23fbbc04' stroke-width='2.2'/%3E%3Cpath d='M14 20H6.5A2.5 2.5 0 0 1 4 17.5V10' stroke='%2334a853' stroke-width='2.2'/%3E%3Cpath d='M4 9h16M12 12.5v5M9.5 15h5' stroke='%234285f4' stroke-width='1.8'/%3E%3C/svg%3E")!important;background-position:center!important;background-repeat:no-repeat!important;background-size:contain!important;color:transparent!important;font-size:0!important}.event-hero-actions .device-calendar-button::before{content:""!important;display:block!important;width:21px!important;height:21px!important;border-radius:0!important;background-color:transparent!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234b8cff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18M12 13v5M9.5 15.5h5'/%3E%3C/svg%3E")!important;background-position:center!important;background-repeat:no-repeat!important;background-size:contain!important}
.event-hero-actions{align-items:center}.event-hero-actions .calendar-button{display:inline-grid!important;place-items:center!important;width:44px!important;height:42px!important;min-width:44px!important;min-height:42px!important;line-height:1!important;vertical-align:middle}.event-hero-actions .calendar-button::before{position:static!important;margin:0!important;transform:none!important}
.event-hero-actions .company-calendar-button::before{width:27px!important;height:27px!important;background-size:27px 27px!important;transform:translateY(5px)!important}.event-hero-actions .device-calendar-button::before{width:25px!important;height:25px!important;background-size:25px 25px!important;transform:translateY(5px)!important}

.event-hero-actions .calendar-button{font-size:10px!important;width:auto!important;min-width:92px!important;padding:0 12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important}
.event-hero-actions .calendar-button::before{position:static!important;margin:0!important;transform:none!important;flex:0 0 20px!important;width:20px!important;height:20px!important;background-size:20px 20px!important}
@media(max-width:540px){.event-hero-actions .calendar-button{min-width:0!important;font-size:10px!important;padding:0 9px!important}.event-hero-actions .calendar-button::before{width:18px!important;height:18px!important;background-size:18px 18px!important}}

@media (max-width:700px) {
  .schedule-view-switch { display:grid; width:100%; }
  .schedule-view-switch button { min-width:0; }
  .calendar-card { padding:12px 8px; border-radius:14px; }
  .calendar-toolbar { align-items:flex-start; margin:0 4px 12px; }
  .calendar-toolbar .btn { min-height:34px; padding:0 10px; font-size:9px; }
  .calendar-toolbar .icon-button { width:34px; min-height:34px; }
  .calendar-weekdays span { padding:7px 2px; font-size:7px; }
  .calendar-day { min-height:66px; padding:5px 4px; }
  .calendar-day-number { font-size:9px; }
  .calendar-day.today .calendar-day-number { width:21px; height:21px; }
  .calendar-day-events { display:flex; flex-wrap:wrap; gap:3px; margin-top:5px; }
  .calendar-event-pill { width:8px; height:8px; min-width:8px; padding:0; border-radius:50%; background:transparent; }
  .calendar-event-pill i { width:8px; height:8px; flex-basis:8px; }
  .calendar-event-pill b { display:none; }
  .calendar-day-events > small { width:100%; font-size:7px; }
  .calendar-agenda { padding:15px; }
  .calendar-agenda-event > b { display:none; }
}

@media (max-width:390px) {
  .calendar-toolbar { display:grid; }
  .calendar-toolbar > div:last-child { justify-content:space-between; }
  .calendar-day { min-height:59px; }
}
