/*
 * Calendar screen (wp-admin).
 *
 * Was printed inline in admin/views/calendar.php on every page load. Moved to a
 * real stylesheet so it is cached between visits, minified by the build, and
 * covered by the asset-integrity gate -- none of which applies to CSS living
 * inside a PHP template.
 */
#yatoon-calendar-wrap .yc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 18px;flex-wrap:wrap;}
#yatoon-calendar-wrap .yc-date-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
#yatoon-calendar-wrap .yc-date-title{font-size:18px;font-weight:700;color:#111827;min-width:190px;text-align:center;}
#yatoon-calendar-wrap .yc-stats{display:flex;gap:10px;flex-wrap:wrap;}
#yatoon-calendar-wrap .yc-stat{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:8px 12px;min-width:110px;}
#yatoon-calendar-wrap .yc-stat strong{display:block;font-size:18px;color:#111827;line-height:1.1;}
#yatoon-calendar-wrap .yc-stat span{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;}
#yatoon-calendar-wrap .yc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;}
#yatoon-calendar-wrap .yc-col{background:#fff;border:1px solid #dcdcde;border-radius:8px;overflow:hidden;min-height:160px;}
#yatoon-calendar-wrap .yc-col-head{padding:12px 14px;background:#f6f7f7;border-bottom:1px solid #dcdcde;display:flex;justify-content:space-between;align-items:center;}
#yatoon-calendar-wrap .yc-col-head h2{font-size:15px;margin:0;color:#1f2937;}
#yatoon-calendar-wrap .yc-count{font-size:12px;color:#6b7280;}
#yatoon-calendar-wrap .yc-card{padding:12px 14px;border-bottom:1px solid #f0f0f1;}
#yatoon-calendar-wrap .yc-card:last-child{border-bottom:none;}
#yatoon-calendar-wrap .yc-card[draggable="true"]{cursor:grab;touch-action:none;}
#yatoon-calendar-wrap .yc-card.is-dragging{opacity:.62;box-shadow:0 12px 28px rgba(15,23,42,.18);cursor:grabbing;}
#yatoon-calendar-wrap .yc-col.is-drop-target{outline:2px solid #16a34a;outline-offset:-4px;background:#f0fdf4;}
#yatoon-calendar-wrap .yc-time{font-weight:700;color:#111827;margin-bottom:4px;}
#yatoon-calendar-wrap .yc-service{font-size:14px;color:#374151;margin-bottom:4px;}
#yatoon-calendar-wrap .yc-client{font-size:13px;color:#4b5563;margin-bottom:8px;}
#yatoon-calendar-wrap .yc-controls{display:grid;grid-template-columns:1fr;gap:6px;}
#yatoon-calendar-wrap .yc-controls select{width:100%;font-size:12px;min-height:30px;}
#yatoon-calendar-wrap .yc-reschedule-toggle{width:100%;justify-content:center;}
#yatoon-calendar-wrap .yc-reschedule-panel{display:none;margin-top:8px;padding:10px;border:1px solid #bbf7d0;border-radius:8px;background:#f0fdf4;}
#yatoon-calendar-wrap .yc-reschedule-panel.is-open{display:block;}
#yatoon-calendar-wrap .yc-reschedule-row{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:8px;}
#yatoon-calendar-wrap .yc-reschedule-row input{width:100%;}
#yatoon-calendar-wrap .yc-slot-list{display:flex;gap:6px;flex-wrap:wrap;min-height:34px;}
#yatoon-calendar-wrap .yc-slot-chip{border:1px solid #86efac;background:#fff;border-radius:999px;padding:5px 10px;font-size:12px;cursor:pointer;}
#yatoon-calendar-wrap .yc-slot-chip.is-selected{background:#16a34a;border-color:#16a34a;color:#fff;}
#yatoon-calendar-wrap .yc-reschedule-actions{display:flex;align-items:center;gap:8px;justify-content:space-between;flex-wrap:wrap;margin-top:8px;}
#yatoon-calendar-wrap .yc-reschedule-msg{font-size:12px;color:#4b5563;margin-top:6px;}
#yatoon-calendar-wrap .yc-reschedule-msg.is-error{color:#b91c1c;}
#yatoon-calendar-wrap .yc-no-show-tools{display:none;gap:6px;flex-wrap:wrap;margin-top:8px;padding:8px;border:1px solid #fecaca;border-radius:8px;background:#fff;}
#yatoon-calendar-wrap .yc-card.yc-status-no_show .yc-no-show-tools{display:flex;}
#yatoon-calendar-wrap .yc-no-show-tools .button{min-height:28px;font-size:12px;line-height:26px;}
#yatoon-calendar-wrap .yc-no-show-note{width:100%;font-size:12px;color:#991b1b;}
#yatoon-calendar-wrap .yc-empty{padding:18px 14px;color:#6b7280;font-size:13px;text-align:center;} /* 4.6.2: contrast - was #9ca3af (2.54:1 on white), under the 4.5:1 WCAG AA floor. #6b7280 = 4.83:1. */
#yatoon-calendar-wrap .yc-status-completed{border-right:4px solid #16a34a;}
#yatoon-calendar-wrap .yc-status-no_show{border-right:4px solid #dc2626;background:#fff7f7;}
#yatoon-calendar-wrap .yc-status-cancelled{border-right:4px solid #6b7280;opacity:.72;}
/* Highlight cards for bookings that include a customer design/photo upload */
#yatoon-calendar-wrap .yc-card.yc-has-design{background:#fef3c7;box-shadow:inset -5px 0 0 #f59e0b;position:relative;}
#yatoon-calendar-wrap .yc-card.yc-has-design.yc-status-no_show{background:#fef3c7;}
#yatoon-calendar-wrap .yc-card.yc-has-design::after{content:'\1F4F7';position:absolute;top:-6px;left:-6px;width:20px;height:20px;line-height:20px;font-size:11px;text-align:center;background:#f59e0b;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.35);z-index:2;}
#yatoon-calendar-wrap .yc-view-details{width:100%;justify-content:center;background:#fff;border-color:#c7d2fe;color:#3730a3;font-weight:600;}
.yc-detail-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:100000;align-items:center;justify-content:center;padding:20px;}
.yc-detail-overlay.is-open{display:flex;}
.yc-detail-modal{background:#fff;border-radius:12px;max-width:480px;width:100%;max-height:85vh;overflow-y:auto;padding:28px 24px 24px;position:relative;box-shadow:0 20px 50px rgba(0,0,0,.3);}
.yc-detail-modal h2{margin:0 0 16px;font-size:18px;color:#111827;padding-left:24px;}
.yc-detail-close{position:absolute;top:14px;left:14px;background:none;border:none;font-size:22px;line-height:1;cursor:pointer;color:#6b7280;}
.yc-detail-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #f0f0f1;font-size:13px;}
.yc-detail-row strong{color:#6b7280;font-weight:600;}
.yc-detail-row span{color:#111827;text-align:left;}
.yc-detail-note{margin-top:12px;padding:10px 12px;background:#f9fafb;border-radius:8px;font-size:13px;}
.yc-detail-note p{margin:6px 0 0;color:#374151;}
.yc-detail-design{margin-top:14px;font-size:13px;}
.yc-detail-design img{max-width:100%;border-radius:8px;margin-top:8px;display:block;}
/* Calendar settings panel */
#yatoon-calendar-wrap .yc-settings-bar{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:12px 16px;margin-bottom:14px;display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;}
#yatoon-calendar-wrap .yc-settings-bar h3{margin:0 0 8px;font-size:13px;color:#374151;text-transform:uppercase;letter-spacing:.04em;}
#yatoon-calendar-wrap .yc-staff-filters label{display:inline-flex;align-items:center;gap:5px;margin-left:12px;font-size:13px;cursor:pointer;}
#yatoon-calendar-wrap .yc-tz-row{display:flex;align-items:center;gap:8px;font-size:13px;}
#yatoon-calendar-wrap .yc-tz-row select{font-size:13px;}
@media (max-width:782px){#yatoon-calendar-wrap .yc-date-title{text-align:right;min-width:0;width:100%;}}
#yatoon-calendar-wrap .yc-mobile-staff-tabs{display:none;}
@media (max-width:900px){
    #yatoon-calendar-wrap .yc-mobile-staff-tabs{
        display:flex;gap:7px;margin:0 0 12px;padding:2px 0 6px;
        overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
    }
    #yatoon-calendar-wrap .yc-mobile-staff-tabs::-webkit-scrollbar{display:none;}
    #yatoon-calendar-wrap .yc-mobile-staff-tabs button{
        display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;
        min-height:36px;padding:7px 12px;border:1px solid #e5e7eb;
        border-radius:999px;background:#fff;color:#111827;font-weight:650;
        font-size:13px;cursor:pointer;
    }
    #yatoon-calendar-wrap .yc-mobile-staff-tabs button.is-active{
        border-color:#111827;background:#111827;color:#fff;
    }
    #yatoon-calendar-wrap .yc-mobile-staff-tabs b{
        display:grid;min-width:20px;height:20px;place-items:center;
        border-radius:999px;background:rgba(127,127,127,.16);font-size:11px;
    }
    #yatoon-calendar-wrap .yc-mobile-staff-tabs button.is-active b{background:rgba(255,255,255,.22);}
    /* On narrow screens, stack staff columns instead of a horizontal grid
       so the quick-jump tabs above have somewhere useful to scroll to. */
    #yatoon-calendar-wrap .yc-grid{grid-template-columns:1fr !important;}
}
