/* Snug Agenda styles (basic) */
.snug-agenda-wrap { font-family: Arial, sans-serif; }
.snug-agenda-table { border-collapse: collapse; width: 100%; table-layout: fixed; }
.snug-agenda-table thead th { background: #f5f5f5; padding: 8px; text-align: left; border: 1px solid #e1e1e1; }
.snug-agenda-table .time-col { width: 60px; border: 1px solid #eaeaea; padding: 6px; background:#fff; }
.snug-agenda-table td, .snug-agenda-table th { vertical-align: top; }
.slot-row td { border: 1px solid #eee; padding: 0; }
.event-cell { padding: 6px; }
.event-card { position: relative; background: #fff;  padding: 6px 36px 6px 6px; }
.event-cat { position: absolute; left: 6px; top: 6px; width: 12px; height: 12px; border-radius:2px; }
.event-body { margin-left: 20px; }
.event-title { font-weight: bold; font-family:"PT Sans", Arial; color: #222; text-decoration: none; cursor: pointer; }
.event-meta { font-size: 12px; color: #666; margin-top:4px; }
.event-actions { position: absolute; right: 6px; top: 6px; }
.event-actions .ps-btn { border: none; background: #2b7cff; color: #fff; width:28px; height:28px; border-radius:50%; cursor: pointer;  font-size:20pt; font-weight:bold; padding:5px;}
.event-actions .ps-btn.remove { background: #d9534f; }
.event-actions .ps-btn[disabled], .ps-btn.disabled { opacity: 0.4; cursor: not-allowed; }
.break-cell { background: #fafafa; text-align:center; vertical-align: middle; }
.break-inner { padding: 8px; font-weight: bold; }
.break-desc { font-weight: normal; font-size: 13px; margin-top:6px; }

/* mobile */
.snug-agenda-mobile { display:none; }
.loc-block { margin-bottom: 18px; }
.m-event { background:#fff; padding:10px; border-radius:4px; margin:8px 0; position:relative; border:1px solid #eee; }
.m-event-title { font-weight:700; font-family:"PT Sans", Arial;}
.m-event-meta { color:#666; font-size:13px; margin-top:6px; }
.m-event-desc { margin-top:8px; }
.m-event .ps-btn { position:absolute; right:8px; top:8px; border: none; background: #2b7cff; color: #fff; width:28px; height:28px; border-radius:50%; cursor: pointer;  font-size:20pt; font-weight:bold; padding:5px;}
.m-event .ps-btn.remove { background: #d9534f; }

/* ensure ps button stays on the card */
.m-event .ps-btn { position:absolute; right:8px; top:8px; }

/* personal schedule list */
.snug-personal-list { list-style:none; margin:0; padding:0; font-family:"PT Sans", Arial;}
.snug-personal-list li { position:relative; padding:8px 8px 5px 8px; border:1px solid #ddd; border-radius:8px; margin-bottom:8px;}
.snug-personal-remove { position:absolute; right:8px; top:2px; border: none; background: transparent; color:#d9534f; font-size:28px; font-weight:bold; line-height: 1; cursor:pointer; }
/*.snug-personal-remove:focus { outline: none; }*/
.snug-personal-item-text { display:inline-block; margin-right:6px; }

/* responsive rules */
@media (max-width: 768px) {
    .snug-agenda-table { display:none; }
    .snug-agenda-mobile { display:block; }
}

/* overlap shading */
.event-card.overlap { opacity:0.45; }
.event-card.overlap .event-actions .ps-btn { opacity:0.3; }

/* modal */
.snug-modal { display:none; position:fixed; left:0; top:0; right:0; bottom:0; z-index:9999; background:rgba(0,0,0,0.5); align-items:center; justify-content:center;}
.snug-desc-html { line-height:1.45; font-family:"PT Sans", Arial;}
.snug-modal h3{font-family:"PT Sans", Arial;}

/* loading overlay */
.snug-loading-overlay { display:none; position:fixed; left:0; top:0; right:0; bottom:0; background:rgba(0,0,0,0.25); z-index:99998; }
.snug-loading-overlay.active { display:block; }

/* waiting cursor for whole page */
body.snug-loading-active, body.snug-loading-active * { cursor: wait !important; }

