.login-page{align-items:center;background-color:#fafafa;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Malgun Gothic,sans-serif;justify-content:center;min-height:100vh;padding:20px}.login-container{background:#fff;border:1px solid #dbdbdb;border-radius:1px;max-width:350px;padding:40px;text-align:center;width:100%}.logo{margin-bottom:30px;text-align:center}.logo img{border-radius:50%;height:auto;max-height:180px;max-width:180px;object-fit:cover;width:auto}.subtitle{color:#8e8e8e;font-size:14px;margin-bottom:40px}.form-group{margin-bottom:8px}.form-input{background-color:#fafafa;border:1px solid #dbdbdb;border-radius:3px;box-sizing:border-box;font-size:14px;outline:none;padding:9px 8px;transition:border-color .2s;width:100%}.form-input:focus{background-color:#fff;border-color:#a8a8a8}.form-input::placeholder{color:#8e8e8e}.form-input:disabled{cursor:not-allowed;opacity:.6}.login-btn{background-color:#0095f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:16px;padding:8px;transition:background-color .2s;width:100%}.login-btn:hover:not(:disabled){background-color:#1877f2}.login-btn:disabled{background-color:#b3d9ff;cursor:not-allowed}.error-message{background-color:#ffeaea;border:1px solid #f1c2c2;border-radius:3px;color:#ed4956;font-size:12px;margin-top:8px;padding:8px;text-align:left}@media (max-width:450px){.login-container{background:#0000;border:none}.login-page{background:#fff}}.dashboard{background-color:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Malgun Gothic,sans-serif;min-height:100vh;position:relative}.toast{animation:fadeIn .3s ease-out;border-radius:8px;box-shadow:0 4px 12px #0000004d;color:#fff;font-weight:500;left:50%;padding:16px 24px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1000}.toast.success{background-color:#28a745}.toast.error{background-color:#dc3545}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.loading{align-items:center;color:#666;display:flex;font-size:18px;height:100vh;justify-content:center}.dashboard-header{background:#fff;border-bottom:1px solid #e9ecef;height:64px;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header-content{height:100%;justify-content:space-between;margin:0 auto;max-width:1400px}.header-content,.logo-section{align-items:center;display:flex}.logo-section{gap:16px}.header-logo{border-radius:50%;height:50px;object-fit:cover;width:50px}.header-content h1{color:#212529;font-size:20px;font-weight:600;margin:0}.user-section{align-items:center;display:flex;gap:16px}.welcome{color:#6c757d;font-size:14px}.logout-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.logout-btn:hover{background:#c82333}.dashboard-content{display:flex;flex-direction:column;gap:32px;margin:0 auto;max-width:1400px;padding:24px}.sync-status-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.sync-status-section h2{color:#212529;font-size:20px;margin:0 0 20px}.sync-stats{gap:16px;justify-content:space-between}.sync-stats,.sync-time-display{align-items:center;display:flex}.sync-time-display{gap:8px}.sync-time-label{color:#6c757d;font-size:14px;font-weight:500}.sync-time-value{color:#212529;font-size:14px;font-weight:600}.sync-btn{background:#e3f2fd;border:1px solid #bbdefb;border-radius:8px;color:#1976d2;cursor:pointer;font-size:14px;font-weight:500;min-width:120px;padding:12px 24px;transition:all .2s ease}.sync-btn:hover{background:#bbdefb;border-color:#90caf9}.sync-btn:disabled{color:#adb5bd;cursor:not-allowed;opacity:.6}.sync-btn:disabled,.sync-btn:disabled:hover{background:#f8f9fa;border-color:#e9ecef}.unassigned-tickets-list{margin-top:20px}.unassigned-tickets-list h3{color:#343a40;font-size:18px;font-weight:600;margin:0 0 16px}.tickets-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.ticket-card{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;display:flex;justify-content:space-between;padding:16px;transition:box-shadow .2s}.ticket-card:hover{box-shadow:0 2px 8px #0000001a}.ticket-info{flex:1 1}.attendee-name{color:#212529;font-size:16px;font-weight:600;margin-bottom:4px}.attendee-phone{color:#6c757d;font-size:14px;margin-bottom:8px}.seat-type{border-radius:12px;font-size:12px;font-weight:500;padding:2px 8px;transition:all .2s ease}.seat-type.vip{background:beige;border:1px solid #d2691e;box-shadow:0 1px 3px #d2691e33;color:#8b4513}.seat-type.regular{background:#e6f3ff;border:1px solid #4a90e2;box-shadow:0 1px 3px #4a90e233;color:#1e6091}.seat-type.late{background:#fdf2e9;border:1px solid peru;box-shadow:0 1px 3px #cd853f33;color:#d2691e}.ticket-grade-tooltip{cursor:help;position:relative}.ticket-grade-tooltip:after{background:#000000e6;border-radius:6px;bottom:100%;color:#fff;content:attr(data-grade-info);font-size:12px;padding:8px 12px;pointer-events:none;white-space:nowrap}.ticket-grade-tooltip:after,.ticket-grade-tooltip:before{left:50%;opacity:0;position:absolute;transform:translateX(-50%);transition:all .3s ease;visibility:hidden;z-index:1000}.ticket-grade-tooltip:before{border:4px solid #0000;border-top-color:#000000e6;bottom:90%;content:""}.ticket-grade-tooltip:hover:after,.ticket-grade-tooltip:hover:before{opacity:1;visibility:visible}.created-date{color:#6c757d;font-size:12px}.assign-btn.compact{font-size:14px;min-width:60px;padding:8px 16px}.unassigned-tickets-in-section{border-top:1px solid #e9ecef;margin-top:24px;padding-top:20px}.unassigned-tickets-in-section .pagination{justify-content:flex-start;margin-top:16px}.unassigned-tickets-in-section h4{color:#343a40;font-size:16px;font-weight:600;margin:0 0 16px}.unassigned-list{display:flex;flex-direction:column;gap:8px}.unassigned-item{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;font-size:14px;gap:16px;padding:12px 16px}.attendee-info{color:#212529;flex:2 1}.ticket-type{background:#e7f3ff;border-radius:12px;color:#06c;flex:1 1;font-size:12px;font-weight:500;padding:4px 8px;text-align:center;transition:all .2s ease}.ticket-type.vip{background:beige;border:1px solid #d2691e;box-shadow:0 1px 3px #d2691e33;color:#8b4513}.ticket-type.regular{background:#e6f3ff;border:1px solid #4a90e2;box-shadow:0 1px 3px #4a90e233;color:#1e6091}.ticket-type.late{background:#fdf2e9;border:1px solid peru;box-shadow:0 1px 3px #cd853f33;color:#d2691e}.ticket-date{color:#6c757d;flex:1 1;font-size:12px}.assign-btn.small{font-size:12px;min-width:50px;padding:6px 12px}.ticket-list{border:1px solid #e9ecef;border-radius:6px;max-height:300px;overflow-y:auto}.ticket-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:12px 16px}.ticket-item:last-child{border-bottom:none}.ticket-info-compact{display:flex;flex-direction:column;gap:4px}.ticket-info-compact .attendee{color:#212529;font-weight:600}.ticket-info-compact .phone{color:#6c757d;font-size:14px}.ticket-info-compact .booked-date{color:#6c757d;font-size:12px}.search-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-top:20px;padding:20px}.search-section h3{color:#343a40;font-size:16px;font-weight:600;margin:0 0 16px}.search-container{align-items:center;display:flex;gap:12px}.search-input{border:1px solid #e9ecef;border-radius:8px;flex:1 1;font-size:14px;padding:10px 16px}.search-input:focus{border-color:#0d6efd;box-shadow:0 0 0 2px #0d6efd40;outline:none}.search-btn{background:#e3f2fd;border:1px solid #bbdefb;border-radius:8px;color:#1976d2;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:10px 20px;transition:all .2s ease}.search-btn:hover{background:#bbdefb;border-color:#90caf9}.search-btn:disabled{background:#f8f9fa;border-color:#e9ecef;color:#adb5bd;cursor:not-allowed;opacity:.6}.search-result-modal{max-width:800px;min-width:320px;width:90vw}.search-results{max-height:500px;overflow-y:auto}.search-result-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:16px}@media (max-width:768px){.search-result-item{align-items:stretch;flex-direction:column;gap:12px;padding:12px}.attendee-details{flex-direction:column;gap:4px;margin-bottom:8px}.ticket-details{flex-wrap:wrap;gap:8px}.ticket-status{align-self:flex-end}}.search-result-item:last-child{border-bottom:none}.ticket-basic-info{flex:1 1}.attendee-details{display:flex;gap:16px;margin-bottom:8px}.attendee-details .name{color:#212529;font-size:16px;font-weight:600}.attendee-details .phone{color:#6c757d;font-size:14px}.ticket-details{display:flex;gap:12px}.ticket-details span{border-radius:12px;font-size:12px;padding:2px 8px}.perf-no{background:#fff3cd;color:#856404}.seat-type{background:#e7f3ff;color:#06c}.booked-time{background:#f8f9fa;color:#6c757d}.ticket-status{gap:8px}.assigned-info,.ticket-status{align-items:flex-end;display:flex;flex-direction:column}.assigned-info{gap:4px}.seat-info{color:#212529;font-size:14px;font-weight:500}.status{border-radius:12px;font-size:12px;font-weight:500;padding:4px 8px}.status.reserved{background:#d1ecf1;color:#0c5460}.status.attended{background:#d4edda;color:#155724}.status.unassigned{background:#f8d7da;color:#721c24}.status.cancelled{background:#6c757d;color:#fff}.unassigned-info{gap:8px}.cancelled-info,.unassigned-info{align-items:flex-end;display:flex;flex-direction:column}.cancelled-info{gap:4px}.assign-btn.mini{font-size:12px;min-width:60px;padding:4px 12px}.modal-content .available-seats,.modal-content .available-tickets{margin-bottom:20px}.unassigned-tickets-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.unassigned-tickets-section h2{color:#212529;font-size:20px;margin:0 0 20px}.tickets-table{border-collapse:initial;border-spacing:0;width:100%}.table-header{grid-gap:16px;background:#f8f9fa;border-radius:8px;color:#495057;display:grid;font-weight:600;gap:16px;grid-template-columns:2fr 2fr 2fr 1fr 1fr;margin-bottom:8px;padding:12px 16px}.tickets-table.compact .table-header{padding:8px 12px}.table-row{grid-gap:16px;align-items:center;border-bottom:1px solid #e9ecef;display:grid;gap:16px;grid-template-columns:2fr 2fr 2fr 1fr 1fr;padding:16px}.tickets-table.compact .table-row{padding:10px 12px;transition:background-color .2s}.table-row:hover{background:#f8f9fa}.assign-btn{background:#e8f5e8;border:1px solid #c8e6c9;border-radius:6px;color:#2e7d32;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s ease}.assign-btn:hover{background:#c8e6c9;border-color:#a5d6a7}.pagination{display:flex;gap:8px;justify-content:center;margin-top:20px}.page-btn{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#6c757d;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s}.page-btn:hover{background:#e9ecef}.page-btn.active{background:#1976d2;border-color:#1976d2;color:#fff}.seating-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.seating-section h2{color:#212529;font-size:20px;margin:0 0 20px}.perf-tabs{background:#f8f9fa;border-radius:8px;display:flex;gap:4px;margin-bottom:24px;padding:4px}.perf-tab{background:#0000;border:none;border-radius:6px;color:#6c757d;cursor:pointer;flex:1 1;font-size:14px;padding:12px 16px;transition:all .2s}.perf-tab:hover{background:#0d6efd1a}.perf-tab.active{background:#0d6efd;color:#fff}.seating-chart{align-items:center;display:flex;flex-direction:column;gap:24px;overflow-x:auto;overflow-y:visible;padding:0;width:100%}.remaining-seats-info{align-items:center;align-self:stretch;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:16px;margin-bottom:16px;padding:12px 16px}.remaining-label{color:#495057;font-size:14px;font-weight:600}.remaining-count{color:#495057;font-size:16px;font-weight:500;white-space:nowrap}.screen{align-self:center;background:#6c757d;border-radius:24px;color:#fff;flex-shrink:0;font-size:14px;font-weight:600;letter-spacing:2px;padding:12px 48px}.theater-hall{align-items:center;gap:6px;margin:0 auto;max-width:1200px}.theater-hall,.theater-hall-grid{background:#f8f9fa;border-radius:20px;display:flex;flex-direction:column;padding:20px}.theater-hall-grid{flex-shrink:0;gap:4px;margin:0;max-width:900px;min-width:600px}.theater-row-grid{grid-gap:3px;align-items:center;display:grid;gap:3px;grid-template-columns:repeat(19,minmax(24px,1fr));justify-content:center;max-width:100%}.empty-cell{background:#0000}.corridor-cell,.empty-cell{aspect-ratio:1;height:100%;max-height:40px;max-width:40px;min-height:24px;min-width:24px;width:100%}.corridor-cell{background:linear-gradient(45deg,#dee2e6 25%,#0000 0),linear-gradient(-45deg,#dee2e6 25%,#0000 0),linear-gradient(45deg,#0000 75%,#dee2e6 0),linear-gradient(-45deg,#0000 75%,#dee2e6 0);background-position:0 0,0 2px,2px -2px,-2px 0;background-size:4px 4px;border-radius:2px;opacity:.5}.seat-container{display:inline-block;position:relative}.seat-cell{align-items:center;aspect-ratio:1;background:#fff;border:1px solid #dee2e6;box-shadow:0 1px 2px #0000001a;color:#6c757d;cursor:pointer;display:flex;font-size:clamp(7px,1.5vw,12px);font-weight:600;height:100%;justify-content:center;max-height:40px;max-width:40px;min-height:24px;min-width:24px;position:relative;width:100%}.seat-cell,.seat-tooltip{border-radius:4px;transition:all .2s ease}.seat-tooltip{background:#000000e6;bottom:100%;color:#fff;font-size:11px;font-weight:500;margin-bottom:5px;opacity:0;padding:6px 8px;pointer-events:none;visibility:hidden;white-space:nowrap;z-index:100}.seat-tooltip,.seat-tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.seat-tooltip:after{border:4px solid #0000;border-top-color:#000000e6;content:"";top:100%}.seat-container:hover .seat-tooltip{opacity:1;visibility:visible}.seat-cell.available{background:#fff;border-color:#dee2e6;color:#6c757d}.seat-cell.available:hover{background:#f8f9fa;border-color:#adb5bd;box-shadow:0 2px 4px #00000026;transform:translateY(-1px)}.seat-cell.reserved{background:#fff3cd;border-color:#ffeaa7;box-shadow:0 1px 3px #ffeaa74d;color:#856404}.seat-cell.reserved.vip{background:beige;border-color:#d2691e;box-shadow:0 1px 3px #d2691e4d;color:#8b4513}.seat-cell.reserved.regular{background:#e6f3ff;border-color:#4a90e2;box-shadow:0 1px 3px #4a90e24d;color:#1e6091}.seat-cell.reserved.late{background:#fdf2e9;border-color:peru;box-shadow:0 1px 3px #cd853f4d;color:#d2691e}.seat-cell.reserved:hover{background:#ffecb5;box-shadow:0 2px 6px #ffeaa766;transform:translateY(-1px)}.seat-cell.reserved.vip:hover{background:khaki;box-shadow:0 2px 6px #d2691e80;transform:translateY(-1px)}.seat-cell.reserved.regular:hover{background:#d0e7ff;box-shadow:0 2px 6px #4a90e280;transform:translateY(-1px)}.seat-cell.reserved.late:hover{background:#f4e6d3;box-shadow:0 2px 6px #cd853f80;transform:translateY(-1px)}.seat-cell.attended{background:#f8d7da;border-color:#f1aeb5;box-shadow:0 1px 3px #f1aeb54d;color:#721c24}.seat-cell.attended:hover{background:#f5c6cb;box-shadow:0 2px 6px #f1aeb566;transform:translateY(-1px)}.seat-cell.unavailable{background:#e9ecef;border-color:#ced4da;color:#adb5bd;cursor:not-allowed;opacity:.6}.seat-cell.blocked{background:#6c757d;border-color:#495057;box-shadow:0 1px 3px #6c757d4d;color:#fff}.seat-cell.blocked:hover{background:#5a6268;box-shadow:0 2px 6px #6c757d66;transform:translateY(-1px)}.theater-row{align-items:center;display:flex;gap:12px;justify-content:center;position:relative}.theater-row-1{max-width:400px}.theater-row-2{max-width:450px}.theater-row-3{max-width:500px}.theater-row-4{max-width:550px}.theater-row-5{max-width:600px}.theater-row-6{max-width:650px}.theater-row-7{max-width:700px}.theater-row-8{max-width:750px}.theater-row-9{max-width:800px}.theater-row-10{max-width:850px}.row-number{background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 1px 3px #0000001a;color:#6c757d;flex-shrink:0;font-size:13px;font-weight:700;min-width:25px;padding:4px 6px;text-align:center}.seat-section{align-items:center;display:flex;gap:4px}.left-section{flex:1 1;justify-content:flex-end}.right-section{flex:1 1;justify-content:flex-start}.center-aisle{background:linear-gradient(90deg,#dee2e6,#adb5bd,#dee2e6);border-radius:2px;flex-shrink:0;height:3px;position:relative;width:50px}.center-aisle:before{background:#6c757d;border-radius:2px;content:"";height:5px;left:50%;position:absolute;top:-1px;transform:translateX(-50%);width:20px}.theater-seat{align-items:center;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:flex;font-size:10px;font-weight:600;height:32px;justify-content:center;position:relative;transition:all .2s ease;width:32px}.theater-seat.available{background:#fff;border-color:#dee2e6;color:#6c757d}.theater-seat.available:hover{background:#f8f9fa;border-color:#adb5bd;box-shadow:0 2px 6px #00000026;transform:translateY(-1px)}.theater-seat.reserved{background:#fff3cd;border-color:#ffeaa7;box-shadow:0 2px 4px #ffeaa74d;color:#856404}.theater-seat.reserved:hover{background:#ffecb5;box-shadow:0 3px 8px #ffeaa766;transform:translateY(-1px)}.theater-seat.attended{background:#f8d7da;border-color:#f1aeb5;box-shadow:0 2px 4px #f1aeb54d;color:#721c24}.theater-seat.attended:hover{background:#f5c6cb;box-shadow:0 3px 8px #f1aeb566;transform:translateY(-1px)}.theater-seating .seat{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:10px;font-weight:500;height:35px;justify-content:center;position:relative;transition:all .2s;width:35px}.seat-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));max-width:800px;width:100%}.seat-grid .seat{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:11px;font-weight:500;height:40px;justify-content:center;transition:all .2s;width:40px}.seat.available{background:#e9ecef;color:#6c757d}.seat.available:disabled{cursor:not-allowed;opacity:.7}.seat.available:hover:not(:disabled){background:#d3d3d3;transform:translateY(-1px)}.seat.reserved{background:#ffc107;color:#212529}.seat.reserved:hover{background:#ffca2c;box-shadow:0 2px 4px #0003;transform:translateY(-1px)}.seat.attended{background:#dc3545;color:#fff}.seat.attended:hover{background:#e15a6b;box-shadow:0 2px 4px #0003;transform:translateY(-1px)}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-overlay.high-priority{padding:20px;z-index:1100}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;max-height:80vh;max-width:500px;overflow-y:auto;padding:32px;width:100%}.modal-content h3{color:#212529;font-size:20px;margin:0 0 24px}.seat-info{margin-bottom:24px}.seat-info p{color:#495057;margin:8px 0}.modal-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.action-btn{background:#fff;border:1px solid #e1e5e9;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;padding:10px 16px;transition:all .2s ease}.action-btn.primary{background:#e3f2fd;border-color:#bbdefb;color:#1976d2}.action-btn.primary:hover{background:#bbdefb;border-color:#90caf9}.action-btn.danger{background:#fff5f5;border-color:#fed7d7;color:#c53030}.action-btn.danger:hover{background:#fed7d7;border-color:#fc8181}.action-btn.secondary{background:#f8f9fa;border-color:#dee2e6;color:#6c757d}.action-btn.secondary:hover{background:#e9ecef;border-color:#adb5bd}.action-btn.warning{background:#fffbf0;border-color:#ffeaa7;color:#d69e2e}.action-btn.warning:hover{background:#ffeaa7;border-color:#f6d55c}.assign-modal{max-width:600px}.assign-modal-large{max-height:90vh;max-width:900px;overflow-y:auto;width:95vw}.screen-mini{background:#6c757d;border-radius:12px;color:#fff;font-size:12px;font-weight:600;letter-spacing:1px;margin-bottom:16px;padding:6px 24px;text-align:center}.theater-hall-grid-modal{background:#f8f9fa;border-radius:12px;display:flex;flex-direction:column;gap:2px;margin:0 auto;max-height:400px;max-width:800px;overflow-x:auto;overflow-y:auto;padding:16px;width:100%}.theater-row-grid-modal{grid-gap:2px;align-items:center;display:grid;gap:2px;grid-template-columns:repeat(19,minmax(18px,1fr));justify-content:flex-start;min-width:400px}.empty-cell-modal{background:#0000;height:18px;width:18px}.corridor-cell-modal{background:linear-gradient(45deg,#dee2e6 25%,#0000 0),linear-gradient(-45deg,#dee2e6 25%,#0000 0),linear-gradient(45deg,#0000 75%,#dee2e6 0),linear-gradient(-45deg,#0000 75%,#dee2e6 0);background-position:0 0,0 1px,1px -1px,-1px 0;background-size:3px 3px;border-radius:2px;height:18px;opacity:.5;width:18px}.seat-cell-modal{align-items:center;border:1px solid #dee2e6;border-radius:3px;box-shadow:0 1px 2px #0000001a;cursor:pointer;display:flex;font-size:7px;font-weight:600;height:18px;justify-content:center;position:relative;transition:all .2s ease;width:18px}.seat-cell-modal.available{background:#d4edda;border-color:#c3e6cb;color:#155724}.seat-cell-modal.available:hover{background:#c3e6cb;box-shadow:0 2px 4px #00000026;transform:translateY(-1px)}.seat-cell-modal.unavailable{background:#e9ecef;border-color:#ced4da;color:#adb5bd;cursor:not-allowed;opacity:.6}.seat-cell-modal:disabled{cursor:not-allowed}.edit-form{gap:16px;margin:16px 0}.edit-form,.edit-form .form-group{display:flex;flex-direction:column}.edit-form .form-group{gap:8px}.edit-form label{color:#495057;font-weight:600}.edit-form select,.edit-form textarea{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:8px 12px}.edit-form textarea{font-family:inherit;resize:vertical}.ticket-info{background:#f8f9fa;border-radius:8px;margin-bottom:24px;padding:16px}.ticket-info p{color:#495057;margin:4px 0}.available-seats h4{color:#212529;font-size:16px;margin:0 0 16px}.seat-grid-small{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));max-height:200px;overflow-y:auto}.seat-grid-small .seat{font-size:12px;height:50px;width:50px}@media (max-width:1200px){.dashboard-content{padding:16px}.sync-stats{flex-wrap:wrap}.seat-grid{grid-template-columns:repeat(auto-fit,minmax(35px,1fr))}.seat{font-size:10px;height:35px;width:35px}}@media (max-width:768px){.header-content{padding:0 16px}.user-section{flex-direction:column;gap:8px}.welcome{font-size:12px}.table-header,.table-row{font-size:14px;grid-template-columns:1fr 1fr 80px}.table-header span:nth-child(2),.table-header span:nth-child(4),.table-row span:nth-child(2),.table-row span:nth-child(4){display:none}.perf-tabs{flex-wrap:wrap}.perf-tab{font-size:12px;padding:8px 12px}.modal-content{margin:20px;padding:24px}.modal-actions{flex-direction:column}.action-btn{justify-content:center;width:100%}.dashboard-content{overflow:visible!important;padding:16px 0!important}.seating-section{margin:0!important;overflow:visible!important;padding:24px 0!important}.seating-chart{-webkit-overflow-scrolling:touch;margin:0 0 0 calc(-50vw + 50%)!important;overflow-x:scroll!important;overflow-y:visible!important;padding:0!important;position:relative!important;width:100vw!important}.theater-hall-grid{background:#f8f9fa;border-radius:12px;display:flex;flex-direction:column;gap:2px;margin:0 auto;min-width:700px;padding:20px;width:700px}.theater-row-grid{align-items:center;display:flex;gap:3px;justify-content:center;padding:0 80px;width:100%}.seat-cell{font-size:9px;font-weight:700}.corridor-cell,.empty-cell,.seat-cell,.seat-container{flex-shrink:0;height:24px;width:24px}.seat-tooltip{word-wrap:break-word;bottom:30px;max-width:120px;padding:6px 8px}.seat-tooltip,.seating-chart:after{font-size:11px;left:50%;transform:translateX(-50%)}.seating-chart:after{background:#fffffff2;border-radius:16px;bottom:10px;box-shadow:0 2px 8px #0000001a;color:#6c757d;content:"← A-1부터 시작, 좌우 스크롤 가능 →";padding:6px 16px;pointer-events:none;position:absolute}.screen{font-size:12px;padding:8px 32px}}*{box-sizing:border-box;margin:0;padding:0}.App{min-height:100vh}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Malgun Gothic,sans-serif}
/*# sourceMappingURL=main.75e9a79c.css.map*/