.abmpt-calendar{max-width:1500px;width:100%;margin:24px auto;padding:22px 22px 20px;border:1px solid #eef2f7;border-radius:16px;background:#fff;color:#1e293b;font-family:inherit;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.abmpt-calendar,.abmpt-calendar *{box-sizing:border-box}
.abmpt-calendar p{margin:0}
.abmpt-calendar a{color:inherit;text-decoration:none;font-weight:inherit}
.abmpt-title{margin:0 0 14px;font-size:19px}
.abmpt-schedule{margin:6px 0 0;color:#475569;font-size:14px}
.abmpt-notice{padding:16px;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;color:#9a3412}

.abmpt-calendar .abmpt-selectors{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.4fr);gap:14px}
.abmpt-calendar .abmpt-selector-field{position:relative;min-height:64px;padding:9px 12px 8px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;box-shadow:0 1px 1px rgba(15,23,42,.02)}
.abmpt-calendar .abmpt-selector-field:focus-within{z-index:2;border-color:#64748b;box-shadow:0 0 0 3px rgba(148,163,184,.18)}
.abmpt-calendar .abmpt-selector-label{position:relative;display:block;height:16px;margin:0 0 1px;padding-left:28px;color:#64748b;font-size:10px;font-weight:800;line-height:16px}
.abmpt-calendar .abmpt-selector-icon{position:absolute;top:1px;left:0;display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;color:#94a3b8}
.abmpt-calendar .abmpt-selector-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.abmpt-calendar .abmpt-route,.abmpt-calendar .abmpt-schedule{display:none}
.abmpt-calendar .abmpt-ticket-picker,.abmpt-calendar .abmpt-schedule-picker{position:relative;margin-left:28px}
.abmpt-calendar .abmpt-ticket-button,.abmpt-calendar .abmpt-schedule-button{display:flex;width:100%;height:27px;align-items:center;padding:0 28px 0 0;border:0;background:transparent;color:#1e293b;font:inherit;font-size:14px;font-weight:500;line-height:27px;text-align:left;cursor:pointer}
.abmpt-calendar .abmpt-schedule-button{gap:8px}
.abmpt-calendar .abmpt-ticket-button-text,.abmpt-calendar .abmpt-schedule-button-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.abmpt-calendar .abmpt-select-chevron{position:absolute;top:50%;right:0;width:18px;height:18px;pointer-events:none;fill:none;stroke:#1e293b;stroke-width:2.5;transform:translateY(-50%)}
.abmpt-calendar .abmpt-schedule-button-dot,.abmpt-calendar .abmpt-schedule-option-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%}
.abmpt-calendar .abmpt-dot-loading{background:#cbd5e1}
.abmpt-calendar .abmpt-dot-available{background:#22c55e;box-shadow:0 0 0 3px #dcfce7}
.abmpt-calendar .abmpt-dot-soldout{background:#ef4444;box-shadow:0 0 0 3px #fee2e2}
.abmpt-calendar .abmpt-ticket-menu,.abmpt-calendar .abmpt-schedule-menu{position:absolute;top:calc(100% + 10px);right:0;left:-28px;z-index:30;max-height:285px;overflow:auto;padding:6px;border:1px solid #dbe3ee;border-radius:10px;background:#fff;box-shadow:0 16px 34px rgba(15,23,42,.16)}
.abmpt-calendar .abmpt-ticket-group{padding:9px 10px 5px;color:#94a3b8;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.abmpt-calendar .abmpt-ticket-option,.abmpt-calendar .abmpt-schedule-option{display:block;width:100%;padding:10px;border:0;border-radius:7px;background:#fff;color:#334155;font:inherit;font-size:12px;font-weight:650;line-height:1.35;text-align:left;cursor:pointer}
.abmpt-calendar .abmpt-schedule-option{display:flex;align-items:flex-start;gap:10px}
.abmpt-calendar .abmpt-ticket-option:hover,.abmpt-calendar .abmpt-ticket-option:focus,.abmpt-calendar .abmpt-schedule-option:hover,.abmpt-calendar .abmpt-schedule-option:focus{outline:0;background:#f8fafc}
.abmpt-calendar .abmpt-ticket-option-selected,.abmpt-calendar .abmpt-schedule-option-selected{background:#f0fdf4;color:#166534}
.abmpt-calendar .abmpt-schedule-option-dot{margin-top:3px}

.abmpt-board{margin:18px 0 16px;padding:12px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}
.abmpt-toolbar{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:12px}
.abmpt-toolbar button{width:38px;height:38px;border:1px solid #d5dbe3;border-radius:8px;background:#fff;color:#0f172a;font-size:22px;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}
.abmpt-toolbar button:hover{border-color:#94a3b8;background:#f8fafc}
.abmpt-month-picker{display:flex;justify-content:center;align-items:center;gap:8px}
.abmpt-month-picker-icon{display:inline-flex;color:#16a34a}
.abmpt-month-picker-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.abmpt-month-picker select{height:38px;padding:0 32px 0 12px;border:1px solid #d5dbe3;border-radius:8px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e293b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 8px center;background-size:16px 16px;color:#0f172a;font:inherit;font-size:14px;font-weight:700;cursor:pointer;-webkit-appearance:none;appearance:none}
.abmpt-meta-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch;margin-top:12px}
.abmpt-month-overview{display:flex;align-items:center;gap:10px;min-width:168px;padding:10px 12px;border:1px solid #bbf7d0;border-radius:10px;background:#f0fdf4;color:#166534}
.abmpt-month-overview-icon{display:inline-flex;color:#16a34a}
.abmpt-month-overview-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.abmpt-month-overview-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.abmpt-month-overview-label{color:#15803d;font-size:10px;font-weight:700}
.abmpt-calendar .abmpt-month-overview-text{color:#14532d;font-size:12px;font-weight:800;line-height:1.2}
.abmpt-status{min-height:0;color:#64748b;font-size:14px}
.abmpt-status:empty{display:none}
.abmpt-status-loading{margin:10px 0 0}
.abmpt-status-loading::before{content:"";display:inline-block;width:13px;height:13px;margin-right:7px;border:2px solid #cbd5e1;border-top-color:#16a34a;border-radius:50%;vertical-align:-2px;animation:abmpt-spin .7s linear infinite}
body:not(.wp-admin) .abmpt-calendar p.abmpt-selection-summary{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px;border:1px solid #bbf7d0;border-radius:10px;background:#f0fdf4;color:#166534;font-size:11px!important;font-weight:650;line-height:1.4}
.abmpt-calendar .abmpt-selection-summary:empty{display:none}
.abmpt-calendar .abmpt-selection-summary::before{content:"✓";display:inline-flex;width:18px;height:18px;flex:0 0 18px;align-items:center;justify-content:center;border-radius:50%;background:#16a34a;color:#fff;font-size:11px;font-weight:800}

.abmpt-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:0 0 8px;color:#475569;font-size:12px;font-weight:700;text-align:center}
.abmpt-weekday-short{display:none}
.abmpt-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;position:relative;min-height:300px;padding-bottom:16px;border-bottom:1px solid #e5e7eb;transition:opacity .18s ease,transform .18s ease}
.abmpt-days.abmpt-grid-loading{opacity:0;transform:translateY(6px)}
.abmpt-day{display:flex;min-height:124px;flex-direction:column;padding:0;overflow:hidden;border:1px solid #e5e7eb;border-radius:10px;background:#fff}
a.abmpt-day{color:inherit;text-decoration:none}
a.abmpt-day:hover .abmpt-day-action{text-decoration:underline}
a.abmpt-day:focus-visible{outline:2px solid #16a34a;outline-offset:1px}
.abmpt-blank{visibility:hidden}
.abmpt-day-header{display:flex;align-items:center;justify-content:space-between;height:32px;padding:0 9px;border-bottom:1px solid #e5e7eb;background:#f3f4f6;color:#475569;font-size:13px;font-weight:700}
.abmpt-day-header svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
.abmpt-day-content{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px 8px 12px}
.abmpt-spaces{display:flex;align-items:center;gap:6px;font-size:22px;font-weight:800;line-height:1}
.abmpt-status-icon{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;border:1.5px solid currentColor;border-radius:50%;font-size:11px;font-weight:900;line-height:1}
.abmpt-day-action{font-size:12px;font-weight:700}
.abmpt-calendar a.abmpt-day-action{text-decoration:none}
.abmpt-calendar a.abmpt-day-action:hover{text-decoration:underline}
.abmpt-available .abmpt-day-header{border-bottom-color:#bbf7d0;background:#ecfdf5;color:#047857}
.abmpt-available .abmpt-spaces,.abmpt-available .abmpt-day-action,.abmpt-available .abmpt-status-icon{color:#059669}
.abmpt-few{border-color:#fed7aa;background:#fff7ed}
.abmpt-few .abmpt-day-header{border-bottom-color:#fed7aa;background:#ffedd5;color:#c2410c}
.abmpt-few .abmpt-spaces,.abmpt-few .abmpt-day-action,.abmpt-few .abmpt-status-icon{color:#ea580c}
.abmpt-soldout{border-color:#fecaca;background:#fff5f5}
.abmpt-soldout .abmpt-day-header{border-bottom-color:#fecaca;background:#fee2e2;color:#b91c1c}
.abmpt-soldout .abmpt-spaces,.abmpt-soldout .abmpt-day-action,.abmpt-soldout .abmpt-status-icon{color:#dc2626}
.abmpt-past{border-color:#e5e7eb;background:#f8fafc}
.abmpt-past .abmpt-day-header{border-bottom-color:#e2e8f0;background:#eef2f7;color:#94a3b8}
.abmpt-past .abmpt-spaces,.abmpt-past .abmpt-day-action{color:#94a3b8}

.abmpt-legend{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0 0;color:#64748b;font-size:12px;font-weight:600}
.abmpt-legend-item{display:flex;align-items:center;gap:6px}
.abmpt-legend i{display:inline-block;width:10px;height:10px;border-radius:50%}
.abmpt-legend-available{background:#059669}
.abmpt-legend-few{background:#ea580c}
.abmpt-legend-soldout{background:#dc2626}
.abmpt-legend-closed{background:#cbd5e1}

.abmpt-skeleton-card{min-height:124px;overflow:hidden;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;position:relative}
.abmpt-skeleton-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 100%);background-size:200% 100%;animation:abmpt-shimmer 1.2s infinite}
.abmpt-skeleton-header{height:22px;margin:8px;border-radius:4px;background:#e2e8f0}
.abmpt-skeleton-body{display:flex;min-height:70px;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.abmpt-skeleton-body i{width:30px;height:18px;border-radius:5px;background:#e2e8f0}
.abmpt-skeleton-body b{width:45px;height:10px;border-radius:5px;background:#e2e8f0}
@keyframes abmpt-spin{to{transform:rotate(360deg)}}
@keyframes abmpt-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}

@media(max-width:980px){
.abmpt-calendar .abmpt-selectors{grid-template-columns:1fr}
.abmpt-meta-row{grid-template-columns:1fr}
}

@media(max-width:680px){
.abmpt-calendar{margin:12px 0;padding:12px 10px 14px;border-radius:12px;box-shadow:0 6px 16px rgba(15,23,42,.05)}
.abmpt-calendar,.abmpt-board,.abmpt-toolbar,.abmpt-month-picker,.abmpt-selectors,.abmpt-meta-row,.abmpt-weekdays,.abmpt-days{max-width:100%;min-width:0}
.abmpt-title{margin-bottom:10px;font-size:16px}
.abmpt-calendar .abmpt-selectors{gap:8px}
.abmpt-calendar .abmpt-selector-field{min-width:0;min-height:56px;padding:8px 10px}
.abmpt-calendar .abmpt-ticket-picker,.abmpt-calendar .abmpt-schedule-picker{min-width:0}
.abmpt-calendar .abmpt-ticket-button,.abmpt-calendar .abmpt-schedule-button{height:auto;min-height:24px;font-size:13px;line-height:1.3;white-space:normal}
.abmpt-calendar .abmpt-ticket-button-text,.abmpt-calendar .abmpt-schedule-button-text{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.abmpt-calendar .abmpt-selector-field:focus-within{z-index:auto}
.abmpt-calendar .abmpt-ticket-menu,.abmpt-calendar .abmpt-schedule-menu{position:fixed;top:auto;right:10px;bottom:max(10px,env(safe-area-inset-bottom));left:10px;z-index:100000;max-height:min(62vh,480px);box-sizing:border-box;padding:8px;border-radius:14px;box-shadow:0 20px 50px rgba(15,23,42,.28);-webkit-overflow-scrolling:touch}
.abmpt-calendar .abmpt-ticket-option,.abmpt-calendar .abmpt-schedule-option{padding:13px 12px;font-size:14px}
.abmpt-calendar.abmpt-picker-open{isolation:isolate}
.abmpt-calendar.abmpt-picker-open::before{content:"";position:fixed;inset:0;z-index:99998;background:rgba(15,23,42,.38)}
.abmpt-calendar.abmpt-picker-open .abmpt-ticket-menu,.abmpt-calendar.abmpt-picker-open .abmpt-schedule-menu{z-index:100000}
.abmpt-board{margin:12px 0;padding:10px;border-radius:12px}
.abmpt-toolbar{display:grid;grid-template-columns:40px minmax(0,1fr) 78px 40px;align-items:center;gap:6px}
.abmpt-toolbar button{width:40px;height:40px}
.abmpt-month-picker{display:contents}
.abmpt-month-picker-icon{display:none}
.abmpt-month-picker select{min-width:0 !important;max-width:100% !important;height:40px;padding:0 28px 0 8px;font-size:16px;background-position:right 6px center}
.abmpt-month-picker .abmpt-month-select{width:100% !important}
.abmpt-month-picker .abmpt-year-select{width:78px !important}
.abmpt-meta-row{gap:8px;margin-top:10px}
.abmpt-month-overview{min-width:0}
.abmpt-calendar .abmpt-month-overview-text{color:#14532d}
.abmpt-calendar p.abmpt-selection-summary{align-items:flex-start;padding:9px 10px;overflow:visible;overflow-wrap:anywhere;white-space:normal;font-size:10px;font-weight:400}
.abmpt-weekdays,.abmpt-days{width:100%;gap:4px}
.abmpt-weekdays > *,.abmpt-days > *{min-width:0}
.abmpt-days{min-height:0;padding-bottom:12px}
.abmpt-weekdays{margin-bottom:6px;font-size:11px}
.abmpt-weekday-full{display:none}
.abmpt-weekday-short{display:inline}
.abmpt-day,.abmpt-skeleton-card{min-width:0;min-height:72px;border-radius:8px}
.abmpt-day-header{justify-content:center;height:24px;padding:0 4px;font-size:12px}
.abmpt-day-header svg{display:none}
.abmpt-day-content{padding:7px 3px 8px;gap:0}
.abmpt-spaces{gap:0;font-size:15px}
.abmpt-status-icon{display:none}
.abmpt-day-action{display:none}
.abmpt-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin-top:12px;font-size:11px}
.abmpt-legend-item{min-width:0}
.abmpt-skeleton-header{height:24px;margin:0}
.abmpt-skeleton-body{min-height:48px}
.abmpt-skeleton-body b{display:none}
}

@media(max-width:400px){
.abmpt-calendar{padding:10px 8px 12px}
.abmpt-toolbar{grid-template-columns:36px minmax(0,1fr) 72px 36px}
.abmpt-toolbar button{width:36px;height:36px;font-size:20px}
.abmpt-month-picker select{height:36px}
.abmpt-month-picker .abmpt-year-select{width:72px !important}
.abmpt-weekdays,.abmpt-days{gap:3px}
.abmpt-day,.abmpt-skeleton-card{min-height:66px}
.abmpt-spaces{font-size:14px}
.abmpt-legend{grid-template-columns:1fr}
}
