/*
 * PPDO MIS UI Separation — Phase 2 dashboard presentation.
 * Extracted from the dashboard case in index.php so future dashboard design
 * changes can be made here without editing dashboard queries or actions.
 */

/* Unified MIS calendar */
.ppdo-calendar-sync-panel{overflow:visible!important}
.ppdo-calendar-top-panel{margin:12px 0 16px!important;border:1px solid #dbe7f3!important;box-shadow:0 14px 34px rgba(15,23,42,.08)!important}.ppdo-calendar-top-panel .ppdo-mini-calendar{max-width:100%!important}.ppdo-calendar-top-panel .ppdo-upcoming-title{margin-top:0!important}.ppdo-calendar-top-clean p{display:none!important}.ppdo-dashboard-calendar-split{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr)!important;gap:18px!important;align-items:start!important}.ppdo-dashboard-calendar-left,.ppdo-dashboard-calendar-right{min-width:0!important}.ppdo-dashboard-calendar-right{border-left:1px solid #e5edf6!important;padding-left:18px!important;max-height:360px!important;overflow:auto!important}.ppdo-dashboard-calendar-right .calendar-item,.ppdo-dashboard-calendar-right .ppdo-list-item{margin:8px 0!important}.ppdo-dashboard-calendar-right .empty{border:1px dashed #dbe7f3!important;border-radius:14px!important;padding:14px!important;background:#f8fbff!important;color:#64748b!important}.ppdo-dashboard-calendar-left .ppdo-calendar-legend{padding-bottom:0!important}.ppdo-calendar-sync-panel .section-title h3{margin:0!important}.ppdo-calendar-sync-panel .section-title p{margin:0!important}.ppdo-calendar-sync-status{margin-bottom:12px!important}@media(max-width:1100px){.ppdo-dashboard-calendar-split{grid-template-columns:1fr!important}.ppdo-dashboard-calendar-right{border-left:0!important;border-top:1px solid #e5edf6!important;padding-left:0!important;padding-top:14px!important;max-height:none!important}}
.ppdo-calendar-sync-panel .section-title{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:12px!important}
.ppdo-calendar-sync-panel .section-title h3{margin:0!important;color:#0b2a52!important;font-size:18px!important}
.ppdo-calendar-sync-panel .section-title p{margin:2px 0 0!important;color:#64748b!important;font-size:13px!important}
.ppdo-calendar-sync-status{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;padding:10px 12px!important;margin:10px 0 12px!important;border:1px solid #dce7f3!important;background:#f8fbff!important;border-radius:14px!important;color:#334155!important;line-height:1.2!important}
.ppdo-calendar-sync-status span{font-weight:800!important;color:#0b2a52!important}.ppdo-calendar-sync-status strong{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:26px!important;height:26px!important;padding:0 8px!important;border-radius:999px!important;background:#087fb3!important;color:#fff!important;font-weight:900!important}.ppdo-calendar-sync-status small{color:#64748b!important;font-weight:700!important}
.ppdo-mini-calendar{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:6px!important;margin:10px 0 12px!important;width:100%!important;max-width:100%!important;align-items:stretch!important}
.ppdo-mini-cal-head{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;font-size:11px!important;font-weight:900!important;letter-spacing:.08em!important;color:#475569!important;text-transform:uppercase!important;min-height:20px!important;line-height:1!important}
.ppdo-mini-cal-empty{display:block!important;min-height:38px!important;border:1px dashed transparent!important;border-radius:10px!important}.ppdo-mini-cal-day{display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;width:100%!important;min-width:0!important;min-height:40px!important;border:1px solid #dbe7f3!important;border-radius:10px!important;background:#fff!important;color:#0b2a52!important;font-weight:800!important;font-size:13px!important;cursor:pointer!important;padding:6px!important;line-height:1!important;text-align:center!important;box-sizing:border-box!important;transition:all .16s ease!important}.ppdo-mini-cal-day:hover,.ppdo-mini-cal-day:focus{outline:none!important;transform:translateY(-1px)!important;box-shadow:0 8px 18px rgba(15,23,42,.14)!important;border-color:#38bdf8!important}.ppdo-mini-cal-day.has-activity{background:#e8f8ff!important;border-color:#38bdf8!important;color:#075985!important}.ppdo-mini-cal-day span{display:inline-block!important}.ppdo-mini-cal-day i{position:absolute!important;right:4px!important;top:3px!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:16px!important;height:16px!important;padding:0 4px!important;border-radius:999px!important;background:#087fb3!important;color:#fff!important;font-size:10px!important;font-style:normal!important;font-weight:900!important;line-height:1!important}.ppdo-calendar-legend{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;flex-wrap:wrap!important;padding:8px 0 12px!important;color:#64748b!important;font-size:12px!important}.ppdo-calendar-legend span{display:flex!important;align-items:center!important;gap:6px!important}.ppdo-calendar-legend i{width:11px!important;height:11px!important;border-radius:999px!important;background:#38bdf8!important;display:inline-block!important}.ppdo-upcoming-title{font-weight:900!important;color:#0b2a52!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-size:12px!important;margin:10px 0 8px!important}.ppdo-list-item{display:block!important;margin:8px 0!important;padding:12px!important;border:1px solid #e2edf7!important;background:#fff!important;border-radius:14px!important;color:#0b2a52!important;text-decoration:none!important}.ppdo-list-item:hover{background:#f8fbff!important;border-color:#b9d7f2!important}.ppdo-source-tag{display:inline-flex!important;align-items:center!important;margin:0 6px 4px 0!important;padding:3px 8px!important;border-radius:999px!important;background:#eef6ff!important;color:#075985!important;font-size:11px!important;font-weight:900!important;letter-spacing:.04em!important}.ppdo-calendar-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:8px!important}.ppdo-calendar-day-name{text-align:center!important;font-size:11px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#475569!important;padding:4px!important}.calendar-day-btn,.ppdo-calendar-day{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;min-height:72px!important;border:1px solid #dce7f3!important;border-radius:12px!important;background:#fff!important;color:#0b2a52!important;cursor:pointer!important;font-weight:900!important}.calendar-day-btn.has-activity,.ppdo-calendar-day.has-activity{background:#e8f8ff!important;border-color:#38bdf8!important;color:#075985!important}.calendar-day-btn small,.ppdo-calendar-day small{font-size:10px!important;font-weight:800!important;color:#0f73b7!important}.calendar-day-btn:hover,.calendar-day-btn:focus,.ppdo-calendar-day:hover,.ppdo-calendar-day:focus{outline:none!important;box-shadow:0 8px 18px rgba(15,23,42,.14)!important;transform:translateY(-1px)!important}.ppdo-calendar-hover-modal{position:fixed!important;z-index:2147483600!important;display:none!important;width:min(380px,calc(100vw - 24px))!important;max-height:min(460px,calc(100vh - 24px))!important;overflow:auto!important;background:#fff!important;border:1px solid #cbd5e1!important;border-radius:16px!important;box-shadow:0 24px 60px rgba(15,23,42,.28)!important;padding:14px!important;color:#0f172a!important;pointer-events:none!important}.ppdo-calendar-hover-modal.show{display:block!important}.ppdo-calendar-detail-item{padding:10px 0!important;border-top:1px solid #edf2f7!important}.ppdo-calendar-detail-item:first-of-type{border-top:0!important}.ppdo-calendar-detail-item strong{display:block!important;color:#0b2a52!important;margin-bottom:3px!important}.ppdo-calendar-detail-item span,.ppdo-calendar-detail-item small{color:#475569!important;line-height:1.35!important}.ppdo-mini-cal-day.multi-day-covered,.calendar-day-btn.multi-day-covered,.ppdo-calendar-day.multi-day-covered{background:#ecfdf5!important;border-color:#22c55e!important;color:#065f46!important;box-shadow:inset 0 -4px 0 rgba(34,197,94,.22)!important}
.ppdo-mini-cal-day.range-start,.calendar-day-btn.range-start,.ppdo-calendar-day.range-start{border-left:5px solid #16a34a!important}
.ppdo-mini-cal-day.range-end,.calendar-day-btn.range-end,.ppdo-calendar-day.range-end{border-right:5px solid #16a34a!important}
.ppdo-mini-cal-day.multi-day-covered i,.calendar-day-btn.multi-day-covered small,.ppdo-calendar-day.multi-day-covered small{background:#16a34a!important;color:#fff!important}
.ppdo-calendar-range-note{display:inline-flex!important;align-items:center!important;gap:5px!important;margin-left:8px!important;color:#166534!important;font-weight:800!important}
.ppdo-calendar-range-note:before{content:"";width:11px;height:11px;border-radius:999px;background:#22c55e;display:inline-block}
.ppdo-google-calendar-card{overflow:hidden!important}.ppdo-google-calendar-status{display:flex!important;align-items:center!important;gap:9px!important;flex-wrap:wrap!important;padding:10px 12px!important;margin:10px 0 14px!important;border:1px solid #cfe5f5!important;background:#f2faff!important;border-radius:14px!important;color:#334155!important}.ppdo-google-calendar-status strong{color:#0b2a52!important}.ppdo-google-calendar-live{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:5px 9px!important;border-radius:999px!important;background:#dcfce7!important;color:#166534!important;font-size:11px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.06em!important}.ppdo-google-calendar-live:before{content:"";width:8px;height:8px;border-radius:999px;background:#22c55e;display:inline-block}.ppdo-google-calendar-grid{display:grid!important;grid-template-columns:minmax(0,1.6fr) minmax(300px,.4fr)!important;gap:16px!important;align-items:stretch!important}.ppdo-google-calendar-pane{min-width:0!important;border:1px solid #dbe7f3!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important}.ppdo-google-calendar-pane h4{margin:0!important;padding:12px 14px!important;background:#f8fbff!important;border-bottom:1px solid #e5edf6!important;color:#0b2a52!important;font-size:14px!important}.ppdo-google-calendar-frame{display:block!important;width:100%!important;border:0!important;background:#fff!important}.ppdo-google-calendar-month{height:760px!important;min-height:760px!important}.ppdo-google-calendar-agenda{height:760px!important;min-height:760px!important}.ppdo-google-calendar-note{margin:12px 0 0!important;color:#64748b!important;font-size:12px!important;line-height:1.45!important}@media(max-width:1250px){.ppdo-google-calendar-grid{grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr)!important}.ppdo-google-calendar-month,.ppdo-google-calendar-agenda{height:720px!important;min-height:720px!important}}@media(max-width:1000px){.ppdo-google-calendar-grid{grid-template-columns:1fr!important}.ppdo-google-calendar-month{height:700px!important;min-height:700px!important}.ppdo-google-calendar-agenda{height:480px!important;min-height:480px!important}}@media(max-width:620px){.ppdo-google-calendar-month{height:620px!important;min-height:620px!important}.ppdo-google-calendar-agenda{height:420px!important;min-height:420px!important}.ppdo-google-calendar-card .section-title{align-items:flex-start!important;flex-direction:column!important}}
@media(max-width:900px){.ppdo-mini-calendar,.ppdo-calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.ppdo-mini-cal-head,.ppdo-calendar-day-name{display:none!important}.ppdo-mini-cal-empty{display:none!important}.calendar-day-btn,.ppdo-calendar-day{min-height:58px!important}}@media(max-width:520px){.ppdo-mini-calendar,.ppdo-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ppdo-calendar-sync-panel .section-title{align-items:flex-start!important;flex-direction:column!important}.ppdo-mini-cal-day{min-height:36px!important}}

/* Selected-date action panel */
.ppdo-date-action-card{border:1px solid #dce7f3;background:#f8fbff;border-radius:16px;padding:14px;margin-bottom:12px}.ppdo-date-action-card strong{display:block;color:#0b2a52;font-size:17px;margin-bottom:4px}.ppdo-date-action-card small{color:#64748b}.ppdo-date-action-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ppdo-date-action-buttons .btn{text-decoration:none}.ppdo-date-action-schedules{margin-top:12px}.ppdo-date-action-schedules h4{margin:0 0 8px;color:#0b2a52}.ppdo-calendar-day-empty-note{padding:12px;border:1px dashed #cbd5e1;border-radius:12px;color:#64748b;background:#fff}

/* Dashboard quick-create forms */
.ppdo-dashboard-quick-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ppdo-dashboard-quick-form .field.full{grid-column:1/-1}.ppdo-dashboard-quick-form label{display:block;font-size:12px;font-weight:900;letter-spacing:.04em;color:#334155;margin-bottom:6px}.ppdo-dashboard-quick-form input,.ppdo-dashboard-quick-form select,.ppdo-dashboard-quick-form textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px}.ppdo-dashboard-quick-form textarea{min-height:84px}.ppdo-date-action-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ppdo-date-action-card small{display:block;color:#64748b;margin-top:4px}.ppdo-date-action-schedules{margin-top:14px}@media(max-width:760px){.ppdo-dashboard-quick-form .form-grid{grid-template-columns:1fr}}

/* Dashboard notification bell and popup */
.tracker-alert-float{position:fixed;right:20px;bottom:20px;z-index:1200}.tracker-alert-btn{display:inline-flex;align-items:center;gap:10px;border:none;border-radius:999px;padding:12px 16px;background:#16344f;color:#fff;font-weight:700;cursor:pointer;box-shadow:0 12px 24px rgba(15,23,42,.18)}.tracker-alert-btn.blink{animation:blinkRed 1s infinite;background:#c62828}.tracker-alert-count{background:#fff;color:#c62828;border-radius:999px;padding:2px 8px;font-size:12px}@keyframes blinkRed{0%,100%{opacity:1}50%{opacity:.45}}.dashboard-popup{position:fixed;right:20px;top:88px;max-width:360px;width:100%;background:#fff;color:#0b2a52;border:1px solid rgba(15,23,42,.12);border-radius:18px;box-shadow:0 20px 40px rgba(15,23,42,.22);z-index:1200;padding:16px;display:none}.dashboard-popup.show{display:block}.dashboard-popup .item{padding:10px 0;border-bottom:1px solid rgba(15,23,42,.08)}.dashboard-popup .item.unread{background:#f8fbff;border-radius:12px;padding:12px}.dashboard-popup .item:last-child{border-bottom:none}


/* Dashboard quick-create dialogs are hidden unless explicitly opened. */
html body #dashboardCalendarModal:not(.show),
html body #dashboardActivityModal:not(.show),
html body #dashboardQuickActivityModal:not(.show),
html body #dashboardQuickMeetingModal:not(.show){
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
