@charset "UTF-8";.quick-reservation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.quick-reservation-modal{width:100%;max-width:480px;max-height:90vh;background:var(--bg-primary);border:1px solid var(--black-line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.quick-reservation-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--black-line)}.quick-reservation-modal .modal-header .artist-info{display:flex;align-items:center;gap:.75rem}.quick-reservation-modal .modal-header .artist-info .artist-avatar{width:44px;height:44px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.quick-reservation-modal .modal-header .artist-info .artist-avatar.placeholder{display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);font-size:1.25rem;font-weight:700;color:var(--yellow-normal)}.quick-reservation-modal .modal-header .artist-info .artist-details h2{font-size:1.1rem;font-weight:600;color:#fff;margin:0}.quick-reservation-modal .modal-header .btn-close{width:36px;height:36px;background:transparent;border:1px solid var(--black-line);border-radius:50%;color:var(--text-secondary);font-size:1rem;cursor:pointer;transition:all .2s}.quick-reservation-modal .modal-header .btn-close:hover{border-color:var(--red);color:var(--red)}.quick-reservation-modal .modal-content{flex:1;overflow-y:auto;padding:1.5rem}.quick-reservation-modal .modal-content .loading-state,.quick-reservation-modal .modal-content .error-state,.quick-reservation-modal .modal-content .empty-state{text-align:center;padding:2rem}.quick-reservation-modal .modal-content .loading-state p,.quick-reservation-modal .modal-content .error-state p,.quick-reservation-modal .modal-content .empty-state p{color:var(--text-secondary);margin-top:1rem}.quick-reservation-modal .modal-content .loading-state .error-message,.quick-reservation-modal .modal-content .error-state .error-message,.quick-reservation-modal .modal-content .empty-state .error-message{color:var(--red)}.quick-reservation-modal .modal-content .loading-state .btn-retry,.quick-reservation-modal .modal-content .error-state .btn-retry,.quick-reservation-modal .modal-content .empty-state .btn-retry{margin-top:1rem;padding:.5rem 1.5rem;background:transparent;border:1px solid var(--yellow-normal);color:var(--yellow-normal);border-radius:6px;cursor:pointer}.quick-reservation-modal .modal-content .loading-state .btn-retry:hover,.quick-reservation-modal .modal-content .error-state .btn-retry:hover,.quick-reservation-modal .modal-content .empty-state .btn-retry:hover{background:var(--yellow-weak)}.quick-reservation-modal .modal-content .calendar-view .btn-back{background:transparent;border:none;color:var(--yellow-normal);cursor:pointer;padding:.5rem 0;margin-bottom:1rem}.quick-reservation-modal .modal-content .calendar-view .btn-back:hover{text-decoration:underline}.quick-reservation-modal .modal-content .calendar-view .coming-soon{text-align:center;color:var(--text-secondary);padding:2rem}.quick-reservation-modal .modal-content .section-title{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;color:#fff;margin:0 0 .75rem}.quick-reservation-modal .modal-content .section-title .icon{font-size:1rem}.quick-reservation-modal .modal-content .earliest-slot-section{margin-bottom:1.5rem}.quick-reservation-modal .modal-content .slot-card{width:100%;display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--bg-secondary);border:2px solid var(--black-line);border-radius:10px;cursor:pointer;transition:all .2s;text-align:left}.quick-reservation-modal .modal-content .slot-card:hover{border-color:var(--yellow-dark)}.quick-reservation-modal .modal-content .slot-card.selected{border-color:var(--yellow-normal);background:#fff73e14}.quick-reservation-modal .modal-content .slot-card.earliest.selected{border-color:var(--green-normal);background:#68ff4f14}.quick-reservation-modal .modal-content .slot-card .slot-radio{font-size:1rem;color:var(--yellow-normal)}.quick-reservation-modal .modal-content .slot-card .slot-time{flex:1;font-weight:600;color:#fff}.quick-reservation-modal .modal-content .slot-card .btn-reserve-inline{padding:.5rem 1rem;background:var(--green-normal);color:#000;border-radius:6px;font-size:.85rem;font-weight:600}.quick-reservation-modal .modal-content .other-slots-section{margin-bottom:1.5rem}.quick-reservation-modal .modal-content .other-slots-section .slots-list{display:flex;flex-direction:column;gap:.5rem}.quick-reservation-modal .modal-content .btn-show-calendar{width:100%;padding:.75rem;background:transparent;border:1px dashed var(--black-line);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s;margin-bottom:1.5rem}.quick-reservation-modal .modal-content .btn-show-calendar:hover{border-color:var(--yellow-normal);color:var(--yellow-normal)}.quick-reservation-modal .modal-content .duration-section{margin-bottom:1.5rem}.quick-reservation-modal .modal-content .duration-section .duration-options{display:flex;gap:.5rem;flex-wrap:wrap}.quick-reservation-modal .modal-content .duration-section .duration-options .duration-btn{padding:.75rem 1.25rem;background:var(--bg-secondary);border:2px solid var(--black-line);border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s}.quick-reservation-modal .modal-content .duration-section .duration-options .duration-btn:hover:not(.disabled){border-color:var(--yellow-dark)}.quick-reservation-modal .modal-content .duration-section .duration-options .duration-btn.selected{border-color:var(--yellow-normal);background:#fff73e1a;color:var(--yellow-normal)}.quick-reservation-modal .modal-content .duration-section .duration-options .duration-btn.disabled{opacity:.4;cursor:not-allowed}.quick-reservation-modal .modal-content .price-info{background:var(--bg-secondary);border:1px solid var(--black-line);border-radius:10px;padding:1rem 1.25rem}.quick-reservation-modal .modal-content .price-info .price-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.quick-reservation-modal .modal-content .price-info .price-row:not(:last-child){border-bottom:1px solid var(--black-line)}.quick-reservation-modal .modal-content .price-info .price-row .label{color:var(--text-secondary);font-size:.9rem}.quick-reservation-modal .modal-content .price-info .price-row .value{color:#fff;font-weight:600}.quick-reservation-modal .modal-content .price-info .price-row .value .max-time{margin-left:.5rem;font-size:.8rem;color:var(--text-secondary);font-weight:400}.quick-reservation-modal .modal-content .price-info .price-row.total .value{font-size:1.1rem;color:var(--yellow-normal)}.quick-reservation-modal .modal-content .price-info .price-row.balance .value{color:var(--green-normal)}.quick-reservation-modal .modal-footer{display:flex;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid var(--black-line)}.quick-reservation-modal .modal-footer .btn-cancel,.quick-reservation-modal .modal-footer .btn-reserve{flex:1;padding:.875rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.quick-reservation-modal .modal-footer .btn-cancel{background:transparent;border:2px solid var(--black-line);color:var(--text-secondary)}.quick-reservation-modal .modal-footer .btn-cancel:hover:not(:disabled){border-color:var(--gray);color:#fff}.quick-reservation-modal .modal-footer .btn-reserve{background:var(--yellow-normal);border:2px solid var(--yellow-normal);color:#000}.quick-reservation-modal .modal-footer .btn-reserve:hover:not(:disabled){background:var(--yellow-dark);border-color:var(--yellow-dark)}.quick-reservation-modal .modal-footer .btn-reserve:disabled{opacity:.5;cursor:not-allowed}
