.header{background-color:var(--bg-card);box-shadow:0 1px 3px #0000000d;border-bottom:1px solid var(--bd-soft);position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-container{max-width:1400px;margin:0 auto;padding:0 1rem}.header-inner{height:64px;display:flex;align-items:center;justify-content:space-between}.left-group{display:flex;align-items:center;gap:2rem}.logo-group{display:flex;align-items:center;gap:.75rem}.logo-header-icon{height:40px;width:auto;object-fit:contain}.nav{display:flex;gap:.5rem}.nav-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:var(--txt-strong);border-radius:.75rem;background:transparent;border:1px solid transparent;cursor:pointer;transition:.18s ease-in-out;text-decoration:none}.nav-btn:hover{color:var(--green-700);background-color:#9bcb3c14;border-color:var(--bd-soft)}.nav-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.nav-btn.active{background-color:var(--green-700);color:var(--txt-inverse);border-color:transparent;box-shadow:none}.nav-btn.active:hover{background-color:var(--green-600)}.header-icon{width:1rem;height:1rem}.right-group{display:flex;align-items:center;gap:1rem}.card{background:#fff;padding:24px;border-radius:16px;border:1px solid #eee;box-shadow:0 2px 8px #00000008;margin-bottom:32px}.card-title{font-size:18px;font-weight:700;margin-bottom:16px;color:#333}.upload-box{border:2px dashed #ddd;padding:32px;text-align:center;border-radius:12px;transition:all .3s;cursor:pointer;background-color:#fafafa}.upload-box:hover{border-color:#32c48d;background-color:#f0fff7}.upload-box.is-dragging{border-color:#32c48d;background-color:#e6fff2}.upload-box.is-uploading{opacity:.6;pointer-events:none;background:repeating-linear-gradient(45deg,#f0fff7,#f0fff7 10px,#e6fff2 10px 20px);animation:progress-stripes 1s linear infinite}@keyframes progress-stripes{0%{background-position:0 0}to{background-position:40px 0}}.upload-label{display:inline-block;font-size:14px;color:#666}.upload-note{margin-top:8px;font-size:12px;color:#999}.upload-hint{font-size:12px;color:#aaa;margin-top:4px}.media-row{display:flex;gap:24px;margin:24px 0}@media (max-width: 768px){.media-row{flex-direction:column}}.media-card{flex:1;background:#fff;padding:20px;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.media-img,.media-video{width:100%;border-radius:12px;border:1px solid #e5e7eb;max-height:400px;object-fit:contain}.result-row{display:flex;gap:24px;margin-top:24px}@media (max-width: 768px){.result-row{flex-direction:column}}.result-card{flex:1;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a}.result-title{font-size:18px;font-weight:700;margin-bottom:20px;display:flex;align-items:center;gap:8px;color:#1f2937}.chart-img{width:100%;max-width:100%;border-radius:12px;border:1px solid #e5e7eb}.result-list{display:flex;flex-direction:column;gap:16px}.result-item{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-radius:12px;font-size:14px;font-weight:500;border:1px solid;transition:all .2s ease}.result-item:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.result-item .value{font-size:20px;font-weight:700}.analysis-label-wrap{display:flex;align-items:center;gap:16px}.analysis-label{font-size:15px;font-weight:600}.analysis-icon{font-size:24px}.result-item.blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#93c5fd;color:#1e40af}.result-item.green{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#6ee7b7;color:#047857}.result-item.yellow{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fbbf24;color:#92400e}.result-item.purple{background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-color:#c4b5fd;color:#7c3aed}.loading-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-content{background:#fff;padding:32px;border-radius:16px;box-shadow:0 10px 25px #0000001a;text-align:center;max-width:300px}.loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top:4px solid #10b981;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.loading-text{font-size:18px;font-weight:600;color:#1f2937}.loading-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0006;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999}.loading-spinner{width:60px;height:60px;border:6px solid #eee;border-top-color:#10b981;border-radius:50%;animation:spin .9s linear infinite;margin-bottom:1.5rem}.loading-text{color:#fff;font-size:1.1rem;font-weight:500}.vh-item{display:flex;align-items:center;gap:16px;padding:16px;border:2px solid var(--bd-soft);border-radius:12px;background:var(--bg-card);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;margin-bottom:12px;position:relative}.vh-item:hover{border-color:var(--green-600);box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.vh-item:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.vh-item--active{border-color:var(--green-700);background:#9bcb3c14;box-shadow:0 4px 12px #1c3c241f}.vh-item--active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--green-700);border-radius:0 2px 2px 0}.vh-thumb{width:72px;height:72px;background:#f3f4f6;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--bd-soft)}.vh-thumb img{width:100%;height:100%;object-fit:cover}.vh-thumb-icon{width:24px;height:24px;color:#9ca3af}.vh-main{flex:1;min-width:0}.vh-title{font-size:14px;font-weight:700;color:var(--txt-strong);margin:0 0 8px}.vh-meta{display:flex;flex-direction:column;gap:6px}.vh-meta-chip{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--txt-muted)}.vh-meta-icon{width:14px;height:14px;color:#9ca3af}.vh-status{width:12px;height:12px;border-radius:50%;background:#d1d5db;flex-shrink:0;transition:all .18s}.vh-status--active{background:var(--green-700);box-shadow:0 0 0 3px #1c3c242e}.video-analysis-page{max-width:1200px;margin:0 auto;padding:24px;min-height:100vh}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.page-title{font-size:2rem;font-weight:700;color:var(--txt-strong);margin:0}.tab-navigation{display:flex;gap:4px;background:var(--bg-card);border-radius:12px;padding:4px;box-shadow:0 1px 3px #0000000f;border:1px solid var(--bd-soft)}.tab-button{padding:12px 16px;border-radius:8px;font-size:14px;font-weight:700;border:1px solid transparent;background:transparent;color:var(--txt-muted);cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease;position:relative}.tab-button:hover{color:var(--txt-strong);background:#f3f4f6;border-color:var(--bd-soft)}.tab-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.tab-button--active{background:var(--green-700);color:var(--txt-inverse);border-color:transparent;box-shadow:none}.tab-button--active:hover{background:var(--green-600);color:var(--txt-inverse)}.history-view{display:grid;gap:32px}.history-panel{background:var(--bg-card);border-radius:16px;border:1px solid var(--bd-soft);box-shadow:0 1px 3px #0000000f;overflow:hidden}.history-panel-header{padding:20px 24px;border-bottom:1px solid var(--bd-soft)}.history-panel-title{font-size:18px;font-weight:700;color:var(--txt-strong);margin:0;display:flex;align-items:center;gap:8px}.history-count{font-size:14px;font-weight:500;color:var(--txt-muted)}.history-list{padding:16px;max-height:500px;overflow-y:auto}.history-list::-webkit-scrollbar{width:6px}.history-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.history-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.history-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.detail-panel{display:flex;flex-direction:column}.detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.detail-title{font-size:20px;font-weight:700;color:var(--txt-strong);margin:0}.navigation-controls{display:flex;align-items:center;gap:8px}.nav-button{width:40px;height:40px;border-radius:10px;border:1px solid var(--bd-soft);background:var(--bg-card);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s;color:var(--txt-strong)}.nav-button:hover:not(:disabled){background:#9bcb3c1a;border-color:var(--green-500)}.nav-button:disabled{opacity:.4;cursor:not-allowed}.nav-indicator{font-size:13px;color:var(--txt-muted);padding:0 8px;font-weight:500}.coaching-section{background:#fff;border-radius:1rem;border:1px solid #e5e7eb;padding:1.5rem;margin-top:2rem;box-shadow:0 1px 3px #0000000d}.coaching-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.coaching-head h3{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;color:#111827}.coaching-actions{display:flex;align-items:center;gap:.75rem}.coaching-req-btn{display:inline-flex;align-items:center;gap:.5rem;background:#16a34a;color:#fff;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;border:none;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px #16a34a26}.coaching-req-btn:hover{background:#15803d;box-shadow:0 2px 4px #16a34a40;transform:translateY(-1px)}.coaching-count{padding:.375rem .75rem;background:#f3f4f6;color:#6b7280;border-radius:9999px;font-size:.875rem;font-weight:500}.req-list{display:flex;flex-direction:column;gap:.75rem}.req-card{width:100%;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem;text-align:left;cursor:pointer;transition:all .2s}.req-card:hover{border-color:#86efac;box-shadow:0 4px 12px #00000014}.req-card-top{display:flex;align-items:start;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.req-card-top h4{font-weight:600;font-size:.9375rem;color:#111827;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s}.req-card:hover .req-card-top h4{color:#16a34a}.req-card-msg{font-size:.875rem;color:#6b7280;margin:.5rem 0 .75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.req-card-sub{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:#9ca3af}.req-card-sub>div{display:flex;align-items:center;gap:1rem}.req-card-sub span{display:flex;align-items:center;gap:.25rem}.empty-card{background:#f9fafb;border:2px dashed #d1d5db;border-radius:.75rem;padding:3rem 2rem;text-align:center}.empty-card .emoji{font-size:3rem;margin-bottom:.75rem}.empty-card .dim{color:#6b7280;font-size:.9375rem;margin-bottom:.25rem}.empty-card p:last-child{font-size:.8125rem;color:#9ca3af}.vc-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:600;white-space:nowrap}.vc-badge.s-pending{background:#fef3c7;color:#92400e}.vc-badge.s-accepted{background:#dbeafe;color:#1e40af}.vc-badge.s-in_review{background:#e9d5ff;color:#6b21a8}.vc-badge.s-completed{background:#d1fae5;color:#065f46}.vc-badge.s-rejected{background:#fee2e2;color:#991b1b}.vc-badge.s-cancelled{background:#f3f4f6;color:#4b5563}.vc-detail{display:flex;flex-direction:column;gap:1.5rem}.vc-detail-head{display:flex;align-items:start;gap:.75rem}.vc-icon-btn{padding:.5rem;background:transparent;border:none;border-radius:.5rem;cursor:pointer;color:#6b7280;transition:all .2s}.vc-icon-btn:hover{background:#f3f4f6;color:#111827}.vc-detail-title{flex:1}.vc-detail-title h2{font-size:1.5rem;font-weight:700;color:#111827;margin-bottom:.5rem}.vc-sub{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.875rem;color:#6b7280}.vc-sub span{display:flex;align-items:center;gap:.25rem}.vc-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem}.vc-card h4{font-size:.875rem;font-weight:600;color:#111827;margin-bottom:.5rem}.vc-card.highlight{background:#f0fdf4;border-color:#bbf7d0}.vc-comments{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.vc-comment{background:#f9fafb;border-radius:.5rem;padding:.75rem 1rem}.vc-comment-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.vc-comment-head .author{font-weight:600;font-size:.875rem;color:#111827}.vc-comment-head .time{font-size:.75rem;color:#9ca3af}.vc-comment-form{display:flex;flex-direction:column;gap:.5rem}.vc-textarea{width:100%;border:1px solid #d1d5db;border-radius:.5rem;padding:.75rem;font-size:.875rem;resize:none;transition:all .2s}.vc-textarea:focus{outline:none;border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1a}.vc-pre{white-space:pre-wrap;word-break:break-word;font-size:.875rem;color:#374151;line-height:1.5}.vc-row{display:flex;align-items:center;margin-bottom:1rem}.vc-row.between{justify-content:space-between}.vc-btn-group{display:flex;gap:.5rem}.vc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;border-radius:.5rem;font-size:.75rem;padding:.375rem .75rem;font-weight:500;border:none;cursor:pointer;transition:all .2s}.vc-btn.primary{background:#16a34a;color:#fff}.vc-btn.primary:hover{background:#15803d}.vc-btn.primary:disabled{background:#9ca3af;cursor:not-allowed}.vc-btn.ghost{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.vc-btn.ghost:hover{background:#dcfce7;border-color:#86efac}.vc-btn.danger{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.vc-btn.danger:hover{background:#fee2e2;border-color:#fca5a5}.vc-modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.vc-modal-card{background:#fff;border-radius:1rem;max-width:500px;width:90%;padding:1.5rem;box-shadow:0 20px 25px -5px #0000001a}.vc-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.vc-modal-head h3{font-size:1.25rem;font-weight:700;color:#111827}.vc-modal-body{display:flex;flex-direction:column;gap:1rem}.vc-modal-foot{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}.vc-field{display:flex;flex-direction:column}.vc-field label{font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.375rem}.vc-input,.vc-static{width:100%;border:1px solid #d1d5db;border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;transition:all .2s}.vc-input:focus{outline:none;border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1a}.vc-static{background:#f9fafb;color:#6b7280}.vc-dim{text-align:center;color:#9ca3af;font-size:.875rem;padding:2rem 1rem}.skeleton{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:.5rem}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.aicoach{background:#fff;border-radius:1rem;border:1px solid #e5e7eb;padding:1.5rem;margin-top:2rem;box-shadow:0 1px 3px #0000000d}.aicoach__header{margin-bottom:12px}.aicoach__title{display:flex;align-items:center;margin:0;padding:.5rem 0;gap:.5rem;font-size:1.25rem;font-weight:700;color:#111827}.aicoach__icon{color:#667eea}.aicoach__loading{text-align:center;padding:32px 16px}.aicoach__spinner{width:32px;height:32px;margin:0 auto 12px;border:3px solid #f3f4f6;border-top-color:#667eea;border-radius:50%;animation:aicoach-spin .8s linear infinite}@keyframes aicoach-spin{to{transform:rotate(360deg)}}.aicoach__loading-text{color:#6b7280;font-size:14px;margin:0}.aicoach__error{text-align:center;padding:24px 16px}.aicoach__error-text{color:#dc2626;font-size:14px;margin:0 0 12px}.aicoach__btn{display:inline-flex;align-items:center;padding:8px 16px;background:#111827;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.aicoach__btn:hover{background:#000}.aicoach__empty{text-align:center;padding:32px 16px}.aicoach__empty-text{color:#6b7280;font-size:14px;margin:0 0 16px}.aicoach__generate-btn{display:inline-flex;align-items:center;padding:10px 18px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.aicoach__generate-btn:hover{background:#5568d3}.aicoach__feedback{display:flex;flex-direction:column;gap:10px}.aicoach__item{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px;position:relative}.aicoach__item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.aicoach__label{font-size:13px;font-weight:600;color:#667eea;display:flex;align-items:center;gap:6px}.aicoach__copy-btn{background:transparent;border:1px solid #e5e7eb;color:#6b7280;padding:6px;border-radius:6px;cursor:pointer;display:flex;align-items:center;transition:all .15s}.aicoach__copy-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.aicoach__text{color:#374151;font-size:14px;line-height:1.6;margin:0}.aicoach__disclaimer{margin-top:6px;padding:10px;background:#667eea0d;border:1px solid rgba(102,126,234,.1);border-radius:8px;color:#6b7280;font-size:13px;text-align:center;line-height:1.5;margin-bottom:0}.ticket-card{background:#fff;border:1px solid #eee;border-radius:16px;padding:16px;transition:all .2s ease-in-out;position:relative;overflow:hidden}.ticket-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,#059669,#14b8a6);opacity:0;transition:opacity .2s ease}.ticket-card:hover:before{opacity:1}.ticket-card:hover{box-shadow:0 6px 16px #0080801a;border-color:#a7f3d0}.ticket-card.clickable{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.ticket-card.clickable:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000014}.ticket-card-header{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.facility-badge{display:inline-flex;align-items:center;gap:4px;width:fit-content;padding:4px 10px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:6px;font-size:11px;font-weight:600;color:#059669;text-transform:uppercase;letter-spacing:.03em}.facility-icon{width:12px;height:12px}.ticket-name{font-size:18px;font-weight:600;color:#1f2937;line-height:1.4}.ticket-info{display:flex;flex-direction:column;gap:10px}.info-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#4b5563}.info-label{display:flex;align-items:center;gap:6px;color:#6b7280;font-size:13px}.info-icon{width:14px;height:14px;color:#9ca3af}.info-value{font-weight:500;color:#1f2937}.border-top{border-top:1px solid #f3f4f6;padding-top:10px;margin-top:2px}.price{font-size:17px;font-weight:700;background:linear-gradient(to right,#059669,#14b8a6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.price-per{color:#059669;font-weight:600;font-size:15px}.skeleton{background-color:#f9fafb;animation:pulse 1.5s infinite}.skeleton-line,.skeleton-title{display:inline-block;height:14px;background-color:#e5e7eb;border-radius:4px}.skeleton-title{height:20px;width:60%;margin-bottom:16px}.shimmer{position:relative;overflow:hidden}.shimmer:after{content:"";position:absolute;top:0;left:-100%;height:100%;width:100%;background:linear-gradient(to right,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:shimmer 1.6s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.ticket-wrapper{padding:32px}.ticket-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.add-button{background-color:var(--green-700);color:var(--txt-inverse);padding:10px 24px;border:none;border-radius:10px;font-weight:600;box-shadow:0 2px 6px #1c3c2433;transition:background-color .2s ease,transform .15s ease,box-shadow .2s ease;cursor:pointer}.add-button:hover{background-color:var(--green-600);transform:translateY(-1px);box-shadow:0 4px 10px #1c3c2440}.add-button:active{transform:scale(.98)}.ticket-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.atm-backdrop{position:fixed;inset:0;background:#0f231680;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.atm-modal{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow:auto;box-shadow:0 20px 60px #00000026;border:1px solid #E6EAE7;animation:slideUp .3s ease-out;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.atm-header{position:sticky;top:0;z-index:10;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid #E6EAE7}.atm-header h2{margin:0;font-size:20px;font-weight:700;color:#111827}.atm-icon-btn{width:32px;height:32px;border-radius:8px;border:1px solid #E6EAE7;background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.atm-icon-btn:hover{background:#f8f9f6;border-color:#6e7a6f}.atm-body{padding:24px}.atm-field{display:block}.atm-label{display:block;font-size:14px;font-weight:600;color:#111827;margin-bottom:8px}.atm-required{color:#e5484d}.atm-input{width:100%;padding:12px 14px;border:1px solid #E6EAE7;border-radius:10px;font-size:14px;transition:all .15s ease;box-sizing:border-box;color:#111827;background:#fff;outline:none}.atm-input:focus{border-color:#2f6b3b;box-shadow:0 0 0 3px #1f6b3b40}.atm-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.atm-calculated{margin-top:8px;background:linear-gradient(135deg,#f6faf4,#eef5ef);border:1px solid #b9de6d;border-radius:12px;padding:18px}.atm-calculated-row{display:flex;align-items:center;justify-content:space-between}.atm-calculated-title{font-size:14px;font-weight:600;color:#1c3c24}.atm-calculated-value{font-size:22px;font-weight:700;color:#25532f}.atm-footer{position:sticky;bottom:0;background:#fff;display:flex;gap:12px;padding:20px 24px;border-top:1px solid #E6EAE7}.atm-btn-outlined,.atm-btn-primary{flex:1;padding:12px 16px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.atm-btn-outlined{border:1px solid #E6EAE7;color:#111827;background:#fff}.atm-btn-outlined:hover{background:#f8f9f6}.atm-btn-primary{border:none;background:#1c3c24;color:#fff}.atm-btn-primary:hover{background:#25532f}.atm-btn-primary:disabled{background:#6e7a6f;cursor:not-allowed;opacity:.6}.atm-spinner{width:16px;height:16px;border:2px solid #ffffff;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.tdm-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f231680;animation:tdmFadeIn .2s ease-out}.tdm-container{position:relative;width:100%;max-width:896px;max-height:90vh;overflow:hidden;background-color:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;border:1px solid #E6EAE7;animation:tdmSlideUp .3s ease-out}.tdm-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:linear-gradient(135deg,#f6faf4,#eef5ef);color:#25532f;border-bottom:1px solid #25532f}.tdm-header-left{display:flex;align-items:center;gap:12px}.tdm-back-btn,.tdm-close-btn{width:32px;height:32px;padding:0;background:transparent;border:1px solid rgba(37,83,47,.2);border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}.tdm-back-btn:hover,.tdm-close-btn:hover{background:#25532f1a;border-color:#25532f4d}.tdm-icon{width:20px;height:20px}.tdm-title{font-size:20px;font-weight:700;margin:0}.tdm-title-wrap{display:flex;flex-direction:column;gap:14px}.tdm-facility-badge{display:inline-flex;align-items:center;gap:4px;width:fit-content;padding:4px 10px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:6px;font-size:11px;font-weight:600;color:#059669;text-transform:uppercase;letter-spacing:.03em}.tdm-facility-icon{width:12px;height:12px}.tdm-content{overflow-y:auto;max-height:calc(90vh - 73px);padding:24px}.tdm-loading{display:flex;align-items:center;justify-content:center;padding:80px 0}.tdm-spinner{width:48px;height:48px;border:4px solid #E6EAE7;border-top-color:#1c3c24;border-radius:50%;animation:tdmSpin .8s linear infinite}.tdm-empty{padding:80px 0;text-align:center;color:#6e7a6f;font-size:14px}.tdm-info-card{margin-bottom:24px;padding:24px;background:linear-gradient(135deg,#f6faf4,#eef5ef);border:1px solid #b9de6d;border-radius:16px}.tdm-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:16px}.tdm-ticket-name{font-size:24px;font-weight:700;color:#111827;margin:0}.tdm-name-input{font-size:24px;font-weight:700;color:#111827;border:2px solid #25532f;border-radius:8px;padding:8px 12px;background:#fff;flex:1;min-width:200px;outline:none}.tdm-name-input:focus{border-color:#1a3d23;box-shadow:0 0 0 3px #25532f1a}.tdm-action-buttons{display:flex;gap:8px}.tdm-edit-btn,.tdm-save-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#25532f;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.tdm-edit-btn:hover,.tdm-save-btn:hover{background:#1a3d23;transform:translateY(-1px);box-shadow:0 4px 12px #25532f4d}.tdm-delete-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#fff;color:#dc2626;border:1px solid #dc2626;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.tdm-delete-btn:hover{background:#dc2626;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.tdm-cancel-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#fff;color:#6e7a6f;border:1px solid #E6EAE7;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.tdm-cancel-btn:hover{background:#f8f9f6;border-color:#6e7a6f}.tdm-btn-icon{width:16px;height:16px}.tdm-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (min-width: 768px){.tdm-stats-grid{grid-template-columns:repeat(4,1fr)}}.tdm-stat-card{padding:16px;background:#fff;border-radius:12px;border:1px solid #E6EAE7;box-shadow:0 2px 8px #0000000a;transition:all .15s ease}.tdm-stat-card:hover{border-color:#b9de6d;box-shadow:0 4px 12px #1c3c2414}.tdm-stat-card.editable{border:2px solid #25532f;background:#fffef8}.tdm-stat-card.readonly{opacity:.6}.tdm-stat-label{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:#1c3c24}.tdm-stat-icon{width:16px;height:16px}.tdm-stat-label span{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.tdm-stat-value{font-size:24px;font-weight:700;color:#111827;margin:0}.tdm-stat-value-price{font-size:20px;font-weight:700;color:#25532f;margin:0}.tdm-stat-input,.tdm-stat-input-price{font-size:24px;font-weight:700;color:#111827;border:none;background:transparent;width:100%;padding:0;outline:none}.tdm-stat-input-price{font-size:20px;color:#25532f}.tdm-stat-input::-webkit-inner-spin-button,.tdm-stat-input::-webkit-outer-spin-button,.tdm-stat-input-price::-webkit-inner-spin-button,.tdm-stat-input-price::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tdm-edit-notice{margin-top:16px;padding:12px;background:#fff7e6;border:1px solid #ffc107;border-radius:8px;font-size:13px;color:#795548}.tdm-users-section{background:#fff;border:1px solid #E6EAE7;border-radius:16px;overflow:hidden}.tdm-users-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background-color:#f8f9f6;border-bottom:1px solid #E6EAE7}.tdm-users-header-left{display:flex;align-items:center;gap:8px}.tdm-users-icon{width:20px;height:20px;color:#1c3c24}.tdm-users-title{font-size:18px;font-weight:700;color:#111827;margin:0}.tdm-users-count{font-size:14px;font-weight:600;color:#6e7a6f}.tdm-users-empty{padding:48px 0;text-align:center;color:#6e7a6f;font-size:14px}.tdm-table-wrapper{overflow-x:auto}.tdm-table{width:100%;border-collapse:collapse}.tdm-table thead tr{background-color:#f8f9f6;border-bottom:1px solid #E6EAE7}.tdm-table th{padding:14px 24px;text-align:left;font-size:12px;font-weight:700;color:#1c3c24;text-transform:uppercase;letter-spacing:.05em}.tdm-table tbody tr{border-bottom:1px solid #E6EAE7;transition:background-color .15s ease}.tdm-table tbody tr:hover{background-color:#f8f9f6}.tdm-table tbody tr:last-child{border-bottom:none}.tdm-table td{padding:16px 24px}.tdm-user-name{font-size:14px;font-weight:600;color:#111827}.tdm-remaining-badge{display:inline-flex;align-items:center;padding:6px 12px;font-size:12px;font-weight:600;color:#1c3c24;background:linear-gradient(135deg,#f6faf4,#eef5ef);border:1px solid #b9de6d;border-radius:12px}.tdm-user-date{font-size:14px;color:#6e7a6f}.tdm-delete-backdrop{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:#00000080;padding:20px;animation:tdmFadeIn .2s ease-out}.tdm-delete-modal{background:#fff;border-radius:16px;padding:32px;max-width:440px;width:100%;box-shadow:0 20px 60px #0000004d;animation:tdmSlideUp .3s ease-out}.tdm-delete-icon-wrapper{width:56px;height:56px;border-radius:50%;background:#fee2e2;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.tdm-delete-icon{width:28px;height:28px;color:#dc2626}.tdm-delete-title{font-size:20px;font-weight:700;color:#111827;text-align:center;margin:0 0 12px}.tdm-delete-description{font-size:14px;color:#6e7a6f;text-align:center;margin:0 0 16px}.tdm-delete-description strong{color:#111827}.tdm-delete-warning{padding:16px;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin-bottom:24px}.tdm-delete-warning p{font-size:13px;color:#795548;margin:0;line-height:1.6}.tdm-delete-actions{display:flex;gap:12px}.tdm-delete-cancel{flex:1;padding:12px 24px;background:#f8f9f6;color:#111827;border:1px solid #E6EAE7;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.tdm-delete-cancel:hover{background:#e6eae7;border-color:#6e7a6f}.tdm-delete-confirm{flex:1;padding:12px 24px;background:#dc2626;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.tdm-delete-confirm:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc262666}@keyframes tdmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes tdmSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes tdmSpin{to{transform:rotate(360deg)}}@media (max-width: 768px){.tdm-container{max-height:95vh;border-radius:12px}.tdm-content,.tdm-info-card{padding:16px}.tdm-card-header{flex-direction:column;align-items:stretch}.tdm-action-buttons{width:100%}.tdm-edit-btn,.tdm-save-btn,.tdm-delete-btn,.tdm-cancel-btn{flex:1;justify-content:center}.tdm-stats-grid{grid-template-columns:1fr}.tdm-table th,.tdm-table td{padding:12px 16px}.tdm-delete-modal{padding:24px}}@media (max-width: 480px){.tdm-backdrop{padding:0}.tdm-container{max-height:100vh;border-radius:0}.tdm-header{padding:16px}.tdm-title{font-size:18px}.tdm-content{padding:12px}.tdm-ticket-name,.tdm-name-input{font-size:20px}}.add-ticket-container{max-width:480px;margin:0 auto;padding:40px 16px}.ticket-form{display:flex;flex-direction:column;gap:16px;background:var(--bg-card);padding:32px;border-radius:16px;box-shadow:0 8px 20px #0000000d;border:1px solid var(--bd-soft)}.ticket-form h2{font-size:1.5rem;font-weight:700;margin-bottom:16px;color:var(--txt-strong)}.ticket-form label{display:flex;flex-direction:column;font-size:.9rem;color:var(--txt-muted);gap:6px}.ticket-form input{padding:10px 12px;border-radius:10px;border:1px solid var(--bd-soft);font-size:1rem;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}.ticket-form input:focus{outline:none;border-color:var(--green-500);box-shadow:0 0 0 3px var(--ring)}.ticket-detail-page{padding:32px;max-width:1000px;margin:0 auto}.ticket-info-summary{background:#fff;border:1px solid #eee;border-radius:16px;padding:28px;max-width:800px;justify-self:center;margin-bottom:40px;box-shadow:0 8px 20px #0080800f;transition:all .2s ease-in-out}.ticket-info-summary h2{font-size:22px;font-weight:600;color:#1f2937;margin-bottom:20px}.summary-grid{display:flex;flex-wrap:wrap;gap:20px;font-size:15px;color:#4b5563}.summary-grid>div{flex:1 1 40%;display:flex;justify-content:space-between;border-top:1px solid #f3f4f6;padding-top:10px}.user-list-section{margin-top:24px}.user-list-section h3{font-size:18px;font-weight:600;color:#1f2937;margin-bottom:16px}.user-table{width:100%;border-collapse:collapse;font-size:15px;border:1px solid #a7f3d0;border-radius:12px;overflow:hidden}.user-table th,.user-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #f3f4f6;color:#4b5563}.user-table th{background-color:#ecfdf5;font-weight:600;color:#059669}.user-table tr:last-child td{border-bottom:none}.user-table{width:100%;border-collapse:collapse;border-radius:16px;overflow:hidden;background:var(--bg-card);box-shadow:0 10px 30px #0000000f;font-size:14px;border:1px solid var(--bd-soft)}.user-table thead{background:var(--bg-soft);text-transform:uppercase;font-size:12px;font-weight:700;color:var(--txt-muted);letter-spacing:.5px}.user-table th,.user-table td{padding:16px 24px;text-align:left;white-space:nowrap}.user-table th{border-bottom:1px solid var(--bd-soft)}.user-table tbody{background-color:var(--bg-card);color:var(--txt-strong)}.user-table tbody tr{transition:all .15s ease;cursor:pointer;border-bottom:1px solid var(--bd-soft)}.user-table tbody tr:last-child{border-bottom:none}.user-table tbody tr:hover{background-color:#9bcb3c0d;transform:translateY(-1px)}.user-row.inactive-row{background-color:var(--bg-soft)!important;opacity:.6}.user-row.inactive-row td{color:var(--txt-muted)}.user-row.inactive-row:hover{background-color:#e6eae7cc!important}.badge{display:inline-block;font-size:11px;padding:6px 12px;border-radius:20px;font-weight:700;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;transition:all .15s ease}.badge.student{background:linear-gradient(135deg,var(--success-500),var(--green-400));color:var(--txt-inverse);border:none}.badge.coach{background:#3c91e61a;color:var(--info-500);border:1px solid rgba(60,145,230,.2)}.badge.facility_admin{background:#ffd4471a;color:#b45309;border:1px solid rgba(255,212,71,.3)}.badge.super_admin{background:#9b51e01a;color:#7c3aed;border:1px solid rgba(155,81,224,.3)}.ticket-summary{display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:1.4}.ticket-summary .name{font-weight:600;color:var(--txt-strong)}.ticket-summary .sub,.sub{font-size:12px;color:var(--txt-muted);font-weight:500}@media (max-width: 1024px){.user-table{font-size:13px}.user-table th,.user-table td{padding:12px 16px}.ticket-summary{font-size:12px}.ticket-summary .sub{font-size:11px}}@media (max-width: 768px){.user-table{display:block;overflow-x:auto;white-space:nowrap}.user-table th,.user-table td{padding:10px 12px}.badge{font-size:10px;padding:4px 8px}}.users-page-main{max-width:1200px;margin:0 auto;padding:20px;font-family:system-ui,-apple-system,sans-serif;min-height:100vh}.user-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.user-detail-main{max-width:1200px;margin:0 auto;padding:20px;font-family:system-ui,-apple-system,sans-serif;min-height:100vh}.user-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}÷÷ .header-left{display:flex;align-items:center;gap:12px}.header-left h2{font-size:28px;font-weight:700;color:var(--txt-strong);margin:0}.back-button{background:none;border:none;color:var(--txt-muted);font-size:15px;cursor:pointer;transition:all .15s ease;padding:8px 12px;border-radius:8px}.back-button:hover{color:var(--txt-strong);background:var(--bg-soft)}.header-right{display:flex;gap:8px}.edit-button,.save-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:none;border-radius:10px;font-weight:700;cursor:pointer;transition:all .15s ease;font-size:14px;background:var(--green-700);color:var(--txt-inverse)}.edit-button:hover,.save-button:hover{background:var(--green-600);transform:translateY(-1px)}.edit-button:disabled,.save-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.cancel-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:1px solid var(--bd-soft);border-radius:10px;font-weight:600;cursor:pointer;transition:all .15s ease;font-size:14px;background:var(--bg-card);color:var(--txt-strong)}.cancel-button:hover{background:var(--bg-soft);border-color:var(--green-300);transform:translateY(-1px)}.delete-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:1px solid rgba(229,72,77,.2);border-radius:10px;font-weight:600;cursor:pointer;transition:all .15s ease;font-size:14px;background:#e5484d1a;color:var(--error-500)}.delete-button:hover{background:#e5484d26;transform:translateY(-1px);box-shadow:0 4px 12px #e5484d33}.delete-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.card-section{background:var(--bg-card);border-radius:16px;border:1px solid var(--bd-soft);padding:24px;margin-bottom:24px;box-shadow:0 10px 30px #0000000f}.card-section h3{font-size:20px;font-weight:700;color:var(--txt-strong);margin:0 0 16px;line-height:1.3}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ticket-list-row{flex-flow:row;display:flex;gap:16px}.ticket-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;width:100%}.current-ticket-card,.assign-card-button{width:100%;border-radius:12px}.current-ticket-card{background:var(--bg-card);border:1px solid var(--bd-soft);padding:20px;box-shadow:0 4px 12px #0000000d;transition:all .2s ease}.current-ticket-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001a;border-color:var(--green-300)}.assign-card-button{display:flex;align-items:center;justify-content:center;border:2px dashed var(--green-300);background:#9bcb3c0d;min-height:200px;cursor:pointer;transition:all .2s ease}.assign-card-button:hover{background:#9bcb3c1a;border-color:var(--green-500);transform:translateY(-2px);box-shadow:0 4px 15px #9bcb3c26}.plus-icon{font-size:40px;font-weight:700;color:var(--green-700);pointer-events:none}.ticket-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ticket-header h4{font-size:18px;font-weight:700;color:var(--txt-strong);margin:0}.price{color:var(--green-700);font-weight:700;font-size:16px}.ticket-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;font-size:14px}.ticket-grid>div{display:flex;flex-direction:column;gap:4px}.ticket-grid span{color:var(--txt-muted);font-size:12px;font-weight:600}.ticket-grid div>div{color:var(--txt-strong);font-weight:600}.past-ticket-card{background:var(--bg-soft);border:1px solid var(--bd-soft);border-radius:12px;padding:20px;transition:all .2s ease}.past-ticket-card:hover{background:var(--bg-card);border-color:var(--green-300);transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.past-ticket-card .ticket-header{margin-bottom:12px}.badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:var(--bg-soft);color:var(--txt-muted);border:1px solid var(--bd-soft)}.ticket-info{display:flex;flex-direction:column;gap:8px;font-size:14px}.ticket-info>div{display:flex;justify-content:space-between;align-items:center}.ticket-info span:first-child{color:var(--txt-muted);font-size:13px;font-weight:600}.ticket-info span:last-child{color:var(--txt-strong);font-weight:600}@media (max-width: 768px){.user-detail-main{padding:16px}.user-detail-header{flex-direction:column;align-items:flex-start;gap:16px}.header-left h2{font-size:24px}.header-right{width:100%;flex-wrap:wrap}.edit-button,.save-button,.cancel-button,.delete-button{flex:1;min-width:100px}.ticket-list-row{flex-direction:column}.ticket-list-grid{grid-template-columns:1fr}.card-section{padding:20px}.ticket-grid{grid-template-columns:1fr}}.assign-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.assign-modal{background:#fff;border-radius:16px;padding:32px;width:100%;max-width:480px;box-shadow:0 15px 30px #0000001a;display:flex;flex-direction:column;gap:16px}.assign-modal h3{font-size:20px;font-weight:600;margin-bottom:8px;color:#111827}.assign-modal label{font-size:14px;font-weight:500;color:#374151}.assign-modal select,.assign-modal input[type=date],.assign-modal input[type=number]{width:100%;padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;background-color:#fff;box-sizing:border-box}.assign-modal input[readonly]{background-color:#f9fafb;color:#6b7280}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.cancel-button{background-color:#e5e7eb;color:#374151;border:none;padding:10px 20px;border-radius:8px;font-weight:500;cursor:pointer}.confirm-button{background:linear-gradient(to right,#10b981,#14b8a6);color:#fff;border:none;padding:10px 24px;border-radius:8px;font-weight:500;box-shadow:0 4px 10px #10b98140;transition:all .2s ease-in-out;cursor:pointer}.confirm-button:hover{transform:scale(1.05);box-shadow:0 6px 16px #10b98166}.confirm-button:disabled{background:#d1d5db;cursor:not-allowed;box-shadow:none}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:14px}.info-grid .label{font-size:13px;font-weight:500;color:#6b7280;margin-bottom:4px}.info-grid .value{font-size:15px;font-weight:500;color:#111827}.large-name{grid-column:1 / -1}.large-name .value{font-size:20px;font-weight:600}.info-grid>div{display:flex;flex-direction:column}.info-grid label{font-size:13px;font-weight:500;color:#6b7280;margin-bottom:6px;display:block}.info-grid input,.info-grid select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#111827;background-color:#fff;transition:all .2s ease;outline:none}.info-grid input:focus,.info-grid select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.info-grid input:hover,.info-grid select:hover{border-color:#9ca3af}.info-grid input::placeholder{color:#9ca3af;font-style:italic}.info-grid select{cursor:pointer}.info-grid select option{padding:8px}.readonly-field{padding:8px 12px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;color:#6b7280;font-weight:500}@media (max-width: 768px){.info-grid{grid-template-columns:1fr;gap:16px}.large-name{grid-column:1}.info-grid input,.info-grid select{padding:10px 14px;font-size:16px}}.info-grid input:invalid{border-color:#ef4444}.info-grid input:invalid:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}@media (prefers-color-scheme: dark){.info-grid .label{color:#9ca3af}.info-grid .value{color:#f9fafb}.info-grid input,.info-grid select{background-color:#374151;border-color:#4b5563;color:#f9fafb}.info-grid input:focus,.info-grid select:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.readonly-field{background-color:#374151;border-color:#4b5563;color:#9ca3af}}.time-slot{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:12px;min-height:64px;border:2px solid #e0e0e0;border-radius:8px;background-color:#fff;transition:all .2s ease;cursor:pointer;position:relative}.time-slot:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000000a}.time-slot.available{border-color:#16a34a;background-color:#ecfdf5;color:#065f46}.time-slot.available:hover{border-color:#15803d;background-color:#d1fae5}.time-slot.selected{border-color:#3b82f6;background-color:#dbeafe;color:#1e40af;box-shadow:0 0 0 3px #3b82f633}.time-slot.unavailable{border-color:#e5e7eb;background-color:#f9fafb;color:#9ca3af;cursor:not-allowed;opacity:.6}.time-range{font-size:14px;font-weight:600;text-align:center;line-height:1.3}.time-duration{font-size:12px;color:#6b7280;margin-top:2px}.occupied-badge{position:absolute;top:6px;right:6px;background-color:#dc2626;color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px}.time-slot-grid-wrapper{display:flex;flex-direction:column;gap:32px}.time-group{background:#fafafa;padding:20px;border-radius:8px;border:1px solid #e5e7eb}.time-group-title{font-size:16px;font-weight:600;color:#374151;margin-bottom:16px}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.coach-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:16px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:all .2s ease;position:relative}.coach-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #0000000d}.coach-card.selected{border-color:#3b82f6;background:#eff6ff;box-shadow:0 0 0 3px #3b82f61a}.coach-avatar{width:60px;height:60px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.coach-initial{color:#fff;font-size:24px;font-weight:600}.coach-info{flex:1}.coach-name{font-size:18px;font-weight:600;color:#111827;margin:0 0 4px}.coach-title{font-size:14px;color:#6b7280;margin:0 0 8px}.coach-phone{font-size:13px;color:#6b7280;margin:0}.selected-indicator{position:absolute;top:12px;right:12px;width:24px;height:24px;background:#3b82f6;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600}.personal-lesson-main{max-width:1200px;margin:0 auto;padding:20px}.lesson-header{text-align:center;margin-bottom:32px}.lesson-header h1{font-size:28px;font-weight:700;color:#111827;margin-bottom:8px}.lesson-header p{font-size:16px;color:#6b7280}.ticket-status{background:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:32px}.ticket-status h2{font-size:20px;font-weight:600;color:#111827;margin-bottom:16px}.no-tickets{text-align:center;padding:32px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px}.notice-icon{font-size:48px;margin-bottom:16px}.no-tickets h3{font-size:18px;font-weight:600;color:#dc2626;margin-bottom:8px}.no-tickets p{color:#7f1d1d;font-size:14px}.ticket-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.ticket-card.compact{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:8px}.ticket-card.compact .ticket-name{font-size:16px;font-weight:600;color:#0369a1}.ticket-count{display:flex;align-items:baseline;gap:2px}.ticket-count .remaining{font-size:24px;font-weight:700;color:#0369a1}.ticket-count .total,.ticket-count .unit{font-size:16px;color:#0369a1}.ticket-expires{font-size:12px;color:#6b7280}.coach-grid{display:grid;gap:8px}.date-selector,.coach-selection,.time-selection{background:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:24px}.date-selector h2,.coach-selection h2,.time-selection h2{font-size:18px;font-weight:600;color:#111827;margin-bottom:16px}.date-input-container{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.date-input-container input[type=date]{padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:16px;color:#111827;background:#fff;transition:all .2s ease;min-width:180px}.date-input-container input[type=date]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.date-display{font-size:16px;font-weight:500;color:#3b82f6;background:#eff6ff;padding:8px 16px;border-radius:8px}.loading-state{text-align:center;padding:48px}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-state p{color:#6b7280;font-size:16px}@media (max-width: 768px){.personal-lesson-main{padding:16px}.lesson-header h1{font-size:24px}.ticket-status,.date-selector,.coach-selection,.time-selection{padding:20px}.ticket-grid{grid-template-columns:1fr}.date-input-container{flex-direction:column;align-items:stretch;gap:12px}.date-input-container input[type=date]{min-width:auto}}@media (max-width: 480px){.personal-lesson-main{padding:12px}.ticket-status,.date-selector,.coach-selection,.time-selection{padding:16px;margin-bottom:16px}.no-tickets{padding:24px 16px}.notice-icon{font-size:36px}}.selected-slot-info{margin-top:24px;padding:20px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:16px}.slot-info-text{font-size:15px;color:#1e40af;font-weight:500;line-height:1.6}.reserve-button{padding:12px 24px;background:linear-gradient(to right,#3b82f6,#2563eb);color:#fff;font-size:15px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background .2s ease,transform .15s ease}.reserve-button:hover:enabled{background:linear-gradient(to right,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.reserve-button:disabled{background:#cbd5e1;cursor:not-allowed;box-shadow:none}.reservation-ticket-card.compact{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:all .2s ease}.reservation-ticket-card.compact:hover{border-color:#3b82f6;box-shadow:0 4px 8px #3b82f626}.reservation-ticket-card.compact.selected{background:#dbeafe;border-color:#3b82f6}.reservation-ticket-name{font-size:16px;font-weight:600;color:#0369a1}.reservation-ticket-count{display:flex;align-items:baseline;gap:4px}.remaining{font-size:24px;font-weight:700;color:#0369a1}.total,.unit{font-size:16px;color:#0369a1}.reservation-ticket-expires{font-size:12px;color:#6b7280}.reservation-management-main{max-width:1200px;margin:0 auto;padding:20px;font-family:system-ui,-apple-system,sans-serif}.reservation-management-header{text-align:center;margin-bottom:32px}.reservation-management-header h1{font-size:28px;font-weight:700;color:#111827;margin-bottom:8px}.reservation-management-header p{font-size:16px;color:#6b7280}.coach-name{font-weight:600;color:#3b82f6}.filter-section{background:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:24px}.filter-section h2{font-size:18px;font-weight:600;color:#111827;margin-bottom:16px}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.filter-item label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:4px}.filter-item select,.filter-item input[type=date]{width:90%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;transition:border-color .2s ease}.filter-item select:focus,.filter-item input[type=date]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.reservation-list{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.list-header{padding:24px 24px 0;border-bottom:1px solid #e5e7eb}.list-header h2{font-size:18px;font-weight:600;color:#111827;margin-bottom:16px}.reservation-item{padding:24px;border-bottom:1px solid #f3f4f6;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start}.reservation-item:last-child{border-bottom:none}.reservation-info{display:flex;flex-direction:column;gap:12px}.basic-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.basic-info h3{font-size:16px;font-weight:600;color:#111827;margin:0}.request-time{font-size:12px;color:#6b7280;background:#f9fafb;padding:2px 6px;border-radius:4px}.status-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-confirmed{background:#fef3c7;color:#92400e}.status-completed{background:#d1fae5;color:#065f46}.status-cancelled{background:#fee2e2;color:#991b1b}.reservation-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;padding:16px;background:#f9fafb;border-radius:8px}.detail-item{display:flex;flex-direction:column}.detail-label{font-size:12px;color:#6b7280;margin-bottom:2px}.detail-value{font-size:14px;font-weight:500;color:#111827}.contact-info{display:flex;gap:16px;font-size:14px;color:#6b7280;flex-wrap:wrap}.note-section{padding:12px;background:#fffbeb;border:1px solid #fed7aa;border-radius:6px}.note-label{font-size:12px;color:#92400e;font-weight:500;display:block;margin-bottom:4px}.note-content{font-size:14px;color:#451a03;margin:0;line-height:1.4}.action-buttons{display:flex;flex-direction:column;gap:8px;min-width:120px}.approve-btn,.reject-btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.approve-btn{background:linear-gradient(to right,#10b981,#059669);color:#fff}.approve-btn:hover{background:linear-gradient(to right,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.reject-btn{background:linear-gradient(to right,#ef4444,#dc2626);color:#fff}.reject-btn:hover{background:linear-gradient(to right,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.approve-btn:active,.reject-btn:active{transform:translateY(0)}.empty-state{text-align:center;padding:48px 24px;color:#6b7280}@media (max-width: 768px){.reservation-management-main{padding:16px}.header h1{font-size:24px}.filter-section,.reservation-list{padding:20px}.list-header{padding:20px 20px 0}.reservation-item{grid-template-columns:1fr;gap:16px;padding:20px}.action-buttons{flex-direction:row;min-width:auto}.filter-grid{grid-template-columns:1fr}.contact-info{flex-direction:column;gap:8px}.reservation-details{grid-template-columns:1fr}}@media (max-width: 480px){.reservation-management-main{padding:12px}.filter-section,.reservation-list{padding:16px;margin-bottom:16px}.list-header{padding:16px 16px 0}.reservation-item{padding:16px}.basic-info{flex-direction:column;align-items:flex-start;gap:8px}.action-buttons{gap:8px}.approve-btn,.reject-btn{padding:10px 16px;font-size:13px}}.stats-section{background:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:24px}.stats-section h2{font-size:18px;font-weight:600;color:#111827;margin-bottom:16px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px}.stat-item{text-align:center;padding:16px;border-radius:8px;background:#f9fafb;border:1px solid #e5e7eb}.stat-item.confirmed{background:#fef3c7;border-color:#fed7aa}.stat-item.completed{background:#d1fae5;border-color:#a7f3d0}.stat-item.rejected{background:#fee2e2;border-color:#fecaca}.stat-label{display:block;font-size:12px;color:#6b7280;margin-bottom:4px}.stat-value{font-size:24px;font-weight:700;color:#111827}.ticket-info{font-size:14px;color:#6b7280;margin-top:8px}.ticket-price{font-weight:500;color:#059669}.lesson-price{margin-left:8px;font-size:12px}.user-form-container{max-width:520px;margin:0 auto;padding:40px 16px}.user-form{display:flex;flex-direction:column;gap:16px;background:#fff;padding:32px;border-radius:16px;box-shadow:0 8px 20px #0080800d;border:1px solid #f1f1f1}.user-form h2{font-size:1.5rem;font-weight:700;color:#111827;margin-bottom:8px}.user-form-group{display:flex;flex-direction:column;font-size:14px;color:#374151;gap:6px}.user-form input,.user-form select,.user-form textarea{padding:10px 12px;border-radius:10px;border:1px solid #d1d5db;font-size:1rem;transition:border-color .2s ease-in-out}.user-form input:focus,.user-form select:focus,.user-form textarea:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a633}.user-form-error{font-size:13px;color:#ef4444;margin-top:-8px}.user-form-success{font-size:13px;color:#10b981;margin-top:-8px}.submit-button{background-color:var(--green-700);color:var(--txt-inverse);padding:12px;font-size:1rem;border:none;border-radius:10px;font-weight:600;margin-top:12px;cursor:pointer;transition:background-color .2s ease,transform .15s ease,box-shadow .2s ease}.submit-button:hover{background-color:var(--green-600);transform:translateY(-1px);box-shadow:0 4px 10px #1c3c2440}.submit-button:active{transform:scale(.98)}.coach-calendar-container{max-width:1200px;margin:0 auto;padding:20px;font-family:system-ui,-apple-system,sans-serif}.coach-calendar-header{text-align:center;margin-bottom:32px}.coach-calendar-header h1{font-size:28px;font-weight:700;color:#111827;margin-bottom:8px}.coach-calendar-header p{font-size:16px;color:#6b7280}.calendar-filter-section{background:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.calendar-filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.calendar-filter-header h2{font-size:18px;font-weight:600;color:#111827;margin:0}.calendar-refresh-button{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:14px;cursor:pointer;transition:all .2s ease}.calendar-refresh-button:hover{background:#f9fafb;border-color:#9ca3af}.calendar-refresh-button:disabled{opacity:.5;cursor:not-allowed}.calendar-refresh-button svg.calendar-spinning{animation:calendar-spin 1s linear infinite}@keyframes calendar-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.calendar-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.calendar-filter-item label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:4px}.calendar-filter-item select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;transition:border-color .2s ease}.calendar-filter-item select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.calendar-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;margin-top:20px}.calendar-checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6}.calendar-checkbox-text{font-size:14px;color:#374151}.calendar-stats-section{background:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.calendar-stats-section h2{font-size:18px;font-weight:600;color:#111827;margin-bottom:16px}.calendar-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px}.calendar-stat-item{text-align:center;padding:16px;border-radius:8px;background:#f9fafb;border:1px solid #e5e7eb;transition:transform .2s ease,box-shadow .2s ease}.calendar-stat-item.calendar-stat-total{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#bae6fd}.calendar-stat-item.calendar-stat-confirmed{background:#fef3c7;color:#92400e}.calendar-stat-item.calendar-stat-completed{background:#d1fae5;color:#065f46}.calendar-stat-item.calendar-stat-cancelled{background:#fee2e2;color:#991b1b}.calendar-stat-label{display:block;font-size:12px;color:#6b7280;margin-bottom:4px;font-weight:500}.calendar-stat-value{font-size:24px;font-weight:700;color:#111827}.calendar-main-section{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden;box-shadow:0 1px 3px #0000001a}.calendar-nav-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#fafbfc}.calendar-navigation{display:flex;align-items:center;gap:16px}.calendar-nav-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;cursor:pointer;transition:all .2s ease}.calendar-nav-button:hover{background:#f3f4f6;border-color:#9ca3af;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.calendar-nav-button:active{transform:translateY(0)}.calendar-month-title{font-size:20px;font-weight:600;color:#111827;margin:0;min-width:150px;text-align:center}.calendar-today-button{padding:8px 16px;border:1px solid #3b82f6;border-radius:6px;background:#fff;color:#3b82f6;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.calendar-today-button:hover{background:#3b82f6;color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #3b82f64d}.calendar-grid-wrapper{padding:0;background:#fff}.calendar-weekdays-header{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:2px solid #e5e7eb;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.calendar-weekday{padding:14px 12px;text-align:center;font-size:14px;font-weight:600;color:#374151;border-right:1px solid #e5e7eb}.calendar-weekday:last-child{border-right:none}.calendar-weekday.calendar-sunday{color:#dc2626;font-weight:700}.calendar-weekday.calendar-saturday{color:#2563eb;font-weight:700}.calendar-days-grid{display:grid;grid-template-columns:repeat(7,1fr);background:#fff;min-height:600px}.calendar-grid-container{padding:0}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid #e5e7eb}.weekday{padding:12px;text-align:center;font-size:14px;font-weight:600;color:#374151;background:#f9fafb}.weekday.sunday{color:#dc2626}.weekday.saturday{color:#2563eb}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{min-height:120px;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;padding:8px;display:flex;flex-direction:column;position:relative}.calendar-day:nth-child(7n){border-right:none}.calendar-day.other-month{background:#f9fafb;opacity:.5}.calendar-day.today{background:#eff6ff}.calendar-day.today .day-number{background:#3b82f6;color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.day-number{font-size:14px;font-weight:500;color:#374151;margin-bottom:4px}.day-events{flex:1;display:flex;flex-direction:column;gap:2px}.calendar-event{padding:2px 6px;border-radius:3px;font-size:11px;text-align:left;border:none;cursor:pointer;transition:all .2s ease;margin-bottom:1px}.calendar-event:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.event-time{font-weight:500;margin-bottom:1px}.event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-confirmed{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.event-completed{background:#dcfce7;color:#166534;border:1px solid #86efac}.event-cancelled{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;opacity:.7;text-decoration:line-through}.more-events{font-size:10px;color:#6b7280;padding:2px 6px;text-align:center;background:#f3f4f6;border-radius:3px;margin-top:2px}.calendar-day-cell{min-height:120px;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;padding:8px;display:flex;flex-direction:column;position:relative;background:#fff;transition:all .2s ease}.calendar-day-cell:nth-child(7n){border-right:none}.calendar-day-cell.calendar-other-month{background:#f9fafb;opacity:.6}.calendar-day-cell.calendar-other-month .calendar-day-number{color:#9ca3af}.calendar-day-cell.calendar-current-month{background:#fff}.calendar-day-cell.calendar-today{background:linear-gradient(135deg,#eff6ff,#dbeafe)!important;border:2px solid #3b82f6!important;box-shadow:inset 0 0 0 1px #3b82f633}.calendar-day-cell:hover:not(.calendar-other-month){background:linear-gradient(135deg,#f8fafc,#f1f5f9);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.calendar-day-number{font-size:14px;font-weight:500;color:#374151;margin-bottom:6px;display:flex;align-items:center;justify-content:flex-start;min-height:20px}.calendar-day-cell.calendar-today .calendar-day-number{background:#3b82f6!important;color:#fff!important;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;box-shadow:0 2px 4px #3b82f64d}.calendar-events-container{flex:1;display:flex;flex-direction:column;gap:2px;overflow:hidden}.calendar-event-item{padding:3px 6px;border-radius:4px;font-size:11px;text-align:left;border:none;cursor:pointer;transition:all .2s ease;margin-bottom:1px;box-shadow:0 1px 2px #0000000d;display:block;width:100%;background:#f3f4f6;position:relative}.calendar-event-item:hover{transform:translateY(-1px);box-shadow:0 3px 8px #00000026;z-index:10}.calendar-event-time{font-weight:600;margin-bottom:2px;font-size:10px;line-height:1;opacity:.9}.calendar-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.2}.calendar-event-confirmed{background:linear-gradient(135deg,#dbeafe,#bfdbfe)!important;color:#1e40af!important;border:1px solid #93c5fd!important}.calendar-event-confirmed:hover{background:linear-gradient(135deg,#bfdbfe,#93c5fd)!important;color:#1e3a8a!important}.calendar-event-completed{background:linear-gradient(135deg,#dcfce7,#bbf7d0)!important;color:#166534!important;border:1px solid #86efac!important}.calendar-event-completed:hover{background:linear-gradient(135deg,#bbf7d0,#86efac)!important;color:#14532d!important}.calendar-event-cancelled{background:linear-gradient(135deg,#fee2e2,#fecaca)!important;color:#991b1b!important;border:1px solid #f87171!important;opacity:.8;text-decoration:line-through}.calendar-event-cancelled:hover{background:linear-gradient(135deg,#fecaca,#f87171)!important;color:#7f1d1d!important;opacity:.9}.calendar-event-default{background:linear-gradient(135deg,#f3f4f6,#e5e7eb)!important;color:#374151!important;border:1px solid #d1d5db!important}.calendar-event-default:hover{background:linear-gradient(135deg,#e5e7eb,#d1d5db)!important}.calendar-more-events{font-size:10px;color:#6b7280;padding:2px 6px;text-align:center;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:3px;margin-top:2px;font-weight:500;border:1px solid #d1d5db;cursor:pointer;transition:all .2s ease}.calendar-more-events:hover{background:linear-gradient(135deg,#e5e7eb,#d1d5db);color:#374151}.calendar-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;color:#6b7280;min-height:400px}.calendar-loading-spinner{width:32px;height:32px;border:3px solid #f3f4f6;border-top:3px solid #3b82f6;border-radius:50%;animation:calendar-spin 1s linear infinite;margin-bottom:16px}.calendar-loading-text{font-size:14px;color:#6b7280}@media (max-width: 768px){.calendar-container{padding:16px}.calendar-page-header h1{font-size:24px}.calendar-filter-section,.calendar-stats-section,.calendar-main-section{padding:20px;margin-bottom:16px}.calendar-nav-header{padding:16px 20px;flex-direction:column;gap:16px}.calendar-navigation{order:2}.calendar-today-button{order:1}.calendar-day-cell{min-height:80px;padding:6px}.calendar-event-item{font-size:10px;padding:2px 4px}.calendar-event-time{font-size:9px}.calendar-event-title{font-size:10px}.calendar-filter-grid{grid-template-columns:1fr}.calendar-stats-grid{grid-template-columns:repeat(2,1fr)}.calendar-weekday{padding:10px 6px;font-size:12px}}@media (max-width: 480px){.calendar-container{padding:12px}.calendar-day-cell{min-height:60px;padding:4px}.calendar-event-item{font-size:9px;padding:1px 3px}.calendar-event-time{font-size:8px}.calendar-event-title{font-size:9px}.calendar-stats-grid{grid-template-columns:1fr;gap:12px}.calendar-nav-button{width:36px;height:36px}.calendar-month-title{font-size:18px;min-width:120px}.calendar-weekday{padding:8px 4px;font-size:11px}.calendar-day-number{font-size:12px}.calendar-more-events{font-size:9px;padding:1px 4px}}.calendar-modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:modalBackdropFadeIn .3s ease-out}@keyframes modalBackdropFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.calendar-modal-container{background:#fff;border-radius:20px;max-width:650px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #ffffff0d,inset 0 1px #ffffff1a;animation:modalSlideUp .4s cubic-bezier(.34,1.56,.64,1);transform-origin:center}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.calendar-modal-header{display:flex;justify-content:space-between;align-items:center;padding:28px 32px 24px;border-bottom:1px solid rgba(229,231,235,.5);background:linear-gradient(135deg,#fafbfc,#f8fafc);position:relative}.calendar-modal-header h2{font-size:22px;font-weight:700;color:#111827;margin:0;background:linear-gradient(135deg,#1f2937,#374151);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.calendar-modal-close-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:#6b72801a;color:#6b7280;cursor:pointer;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.calendar-modal-close-button:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ef44441a,#dc26261a);opacity:0;transition:opacity .3s ease}.calendar-modal-close-button:hover{background:#ef44441a;color:#ef4444;transform:scale(1.05);box-shadow:0 4px 12px #ef444433}.calendar-modal-close-button:hover:before{opacity:1}.calendar-modal-close-button:active{transform:scale(.95)}.calendar-modal-content{flex:1;overflow-y:auto;padding:20px 32px 32px;background:linear-gradient(180deg,#fff,#fafbfc)}.calendar-modal-content::-webkit-scrollbar{width:6px}.calendar-modal-content::-webkit-scrollbar-track{background:#f3f4f680;border-radius:3px}.calendar-modal-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#d1d5db,#9ca3af);border-radius:3px;transition:background .3s ease}.calendar-modal-section{margin-bottom:32px;background:#fff;border-radius:16px;padding:24px;border:1px solid rgba(229,231,235,.3);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;transition:all .3s ease;position:relative;overflow:hidden}.calendar-modal-section:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,#3b82f6 50%,transparent 100%);opacity:0;transition:opacity .3s ease}.calendar-modal-section h4{font-size:18px;font-weight:600;color:#111827;margin-bottom:20px;display:flex;align-items:center;gap:12px;position:relative}.calendar-modal-section h4:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(229,231,235,.5),transparent);margin-left:16px}.calendar-section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #f3f4f6;position:relative}.calendar-section-header h3{font-size:24px;font-weight:700;color:#111827;margin:0;background:linear-gradient(135deg,#1f2937,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.calendar-status-badge{padding:8px 16px;border-radius:12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;position:relative;overflow:hidden;border:2px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1)}.calendar-status-badge:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .6s ease}.status-confirmed{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border-color:#93c5fd;box-shadow:0 4px 12px #3b82f633}.status-completed{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534;border-color:#86efac;box-shadow:0 4px 12px #10b98133}.status-cancelled{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border-color:#f87171;box-shadow:0 4px 12px #ef444433}.calendar-lesson-details,.calendar-user-info,.calendar-ticket-info,.calendar-reservation-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.calendar-detail-item{display:flex;flex-direction:column;padding:16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;border:1px solid rgba(229,231,235,.5);transition:all .3s ease;position:relative;overflow:hidden}.calendar-detail-item:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,#3b82f6,#8b5cf6);opacity:0;transition:opacity .3s ease}.calendar-detail-label{font-size:12px;color:#6b7280;margin-bottom:6px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;position:relative}.calendar-detail-value{font-size:15px;font-weight:600;color:#111827;line-height:1.4}.calendar-detail-value a{color:#3b82f6;text-decoration:none;transition:all .3s ease;position:relative}.calendar-detail-value a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transition:width .3s ease}.calendar-detail-value.ticket-price{color:#059669!important;font-weight:700!important;font-size:16px!important;background:linear-gradient(135deg,#059669,#047857);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.calendar-detail-value.lesson-price{color:#3b82f6!important;font-weight:700!important;font-size:16px!important;background:linear-gradient(135deg,#3b82f6,#1d4ed8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.calendar-memo-item{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fed7aa;border-radius:12px;padding:20px;margin-bottom:16px;position:relative;overflow:hidden;transition:all .3s ease}.calendar-memo-item:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,#f59e0b,#d97706)}.calendar-memo-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px -8px #f59e0b33}.calendar-memo-item:last-child{margin-bottom:0}.calendar-memo-label{font-size:12px;color:#92400e;font-weight:700;display:block;margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}.calendar-memo-content{font-size:14px;color:#451a03;margin:0;line-height:1.6;font-weight:500}.calendar-modal-actions{display:flex;gap:16px;padding:24px 32px;border-top:1px solid rgba(229,231,235,.5);background:linear-gradient(135deg,#fafbfc,#f8fafc)}.calendar-action-button{flex:1;padding:16px 24px;border:none;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-transform:uppercase;letter-spacing:.05em;position:relative;overflow:hidden}.calendar-action-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s ease}.calendar-action-button:hover:before{left:100%}.complete-button{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 15px #10b98166}.complete-button:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-3px);box-shadow:0 8px 25px #10b98180}.cancel-button{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 15px #ef444466}.cancel-button:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-3px);box-shadow:0 8px 25px #ef444480}.calendar-action-button:active{transform:translateY(0)}@media (max-width: 768px){.calendar-modal-backdrop{padding:16px}.calendar-modal-container{max-height:95vh;border-radius:16px}.calendar-modal-header{padding:20px 24px 16px}.calendar-modal-header h2{font-size:20px}.calendar-modal-content{padding:0 24px 24px}.calendar-modal-section{padding:20px;margin-bottom:24px}.calendar-lesson-details,.calendar-user-info,.calendar-ticket-info,.calendar-reservation-info{grid-template-columns:1fr;gap:16px}.calendar-modal-actions{padding:20px 24px;flex-direction:column}.calendar-action-button{padding:16px;font-size:16px}.calendar-section-header{flex-direction:column;gap:12px;align-items:flex-start}.calendar-status-badge{align-self:flex-start}}@media (max-width: 480px){.calendar-modal-backdrop{padding:12px}.calendar-modal-container{border-radius:12px}.calendar-modal-header{padding:16px 20px 12px}.calendar-modal-header h2{font-size:18px}.calendar-modal-content{padding:0 20px 20px}.calendar-modal-section{padding:16px;margin-bottom:20px}.calendar-modal-actions{padding:16px 20px}.calendar-detail-item{padding:12px}.calendar-memo-item{padding:16px}}.su__screen{min-height:100vh;padding:48px 16px;box-sizing:border-box}.su__container{max-width:880px;margin:0 auto}.su__header{text-align:center;margin-bottom:24px}.su__logo-medium-icon{display:block;margin:0 auto 10px;height:80px;width:auto;object-fit:contain}.su__section{margin-top:24px}.su__section:first-of-type{margin-top:0}.su__section-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;margin:0 0 12px}.su__stack{display:grid;gap:8px}.su__field{margin-bottom:16px}.su__label{display:block;font-size:14px;margin-bottom:8px}.su__req{color:#ef4444}.su__error{color:#b91c1c;font-size:13px;margin-top:6px}.su__error-small{font-size:12px}.su__input-wrap{position:relative}.su__input-withbtn{padding-right:48px}.su__grid,.su__grid-3{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width:768px){.su__grid{grid-template-columns:1fr 1fr}.su__grid-3{grid-template-columns:1fr 1fr 1fr}}.su__agree{display:grid;gap:12px}.su__checkbox{display:grid;grid-template-columns:24px 1fr auto;align-items:start;gap:12px;padding:12px;background:#f9fafb;border-radius:10px}.su__checkbox-soft{background:#f0f9ff}.su__checkbox input{margin-top:3px}.su__center{max-width:480px;margin:0 auto;text-align:center;padding:28px}.su__title{font-size:22px;font-weight:700;margin:12px 0}.su__desc{margin-bottom:16px}.su__icon-round{width:64px;height:64px;border-radius:999px;display:flex;align-items:center;justify-content:center;margin:0 auto}.su__box{background:#f9fafb;border-radius:10px;padding:14px;margin:16px 0;text-align:left}.su__box-title{margin:0 0 8px;font-weight:600}.su__info{font-size:14px;display:grid;gap:4px}.su__actions{margin-top:24px;text-align:center}.su__btn-block{width:100%}.su__icon-inline{vertical-align:middle}.su__footnote{margin-top:12px;font-size:14px}.lg__screen{min-height:100vh;display:grid;place-items:center;padding:48px 16px;box-sizing:border-box}.lg__container{width:100%;max-width:420px}.lg__logo-medium-icon{display:block;margin:0 auto 32px;height:80px;width:auto;object-fit:contain}.lg__header{text-align:center;margin-bottom:18px}.lg__title{font-size:22px;font-weight:700;margin:0 0 12px}.lg__subtitle{margin:0;font-size:14px}.lg__form{display:grid;gap:14px}.lg__label{display:flex;align-items:center;gap:6px;font-size:14px;margin-bottom:8px}.lg__icon-inline{vertical-align:middle}.lg__input-wrap{position:relative}.lg__input-withbtn{padding-right:44px}.lg__links{display:flex;justify-content:space-between;margin-top:12px}.lg__error{color:#b91c1c;font-size:13px;margin-top:6px}.mp__screen{min-height:100vh;background:#f7f8fc;padding:32px 16px;box-sizing:border-box}.mp__container{max-width:1200px;margin:0 auto;display:grid;gap:16px}.mp__header{display:flex;justify-content:space-between;align-items:center}.mp__title{font-size:24px;font-weight:800;color:#111827;margin:0}.mp__btn{display:inline-flex;gap:8px;align-items:center;border:none;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;transition:.15s}.mp__btn-ghost{background:transparent;color:#6b7280}.mp__btn-ghost:hover{color:#374151}.mp__btn-primary{background:var(--green-700);color:var(--txt-inverse)}.mp__btn-primary:hover{background:var(--green-600);transform:translateY(-1px)}.mp__btn-disabled{opacity:.6;cursor:not-allowed}.mp__card{background:#fff;border-radius:14px;box-shadow:0 10px 30px #0000000f;padding:20px}.mp__center{text-align:center}.mp__section-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:#111827;margin:0 0 12px}.mp__icon{color:#6b7280}.mp__rows{display:grid;gap:8px}.mp__row{display:grid;grid-template-columns:140px 1fr;gap:8px}.mp__label{color:#6b7280;font-size:14px}.mp__value{color:#111827;font-size:14px}.mp__chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700}.mp__chip.ok{background:#ecfdf5;color:#065f46}.mp__chip.warn{background:#fff7ed;color:#9a3412}.mp__grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 768px){.mp__grid{grid-template-columns:1fr 1fr}}.mp__field{display:grid;gap:8px}.mp__input,.mp__select,.mp__textarea{width:100%;font-size:14px;color:#111827;border:1px solid #d1d5db;border-radius:10px;padding:12px 14px;outline:none;background:#fff;transition:box-shadow .15s ease,border-color .15s ease}.mp__input:focus,.mp__select:focus,.mp__textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #3b82f633}.mp__divider{height:1px;background:#eef2f7;margin:16px 0}.mp__toggles{display:grid;gap:10px}.mp__toggle{display:inline-flex;gap:10px;align-items:center;background:#f9fafb;padding:10px 12px;border-radius:10px}.mp__toggle input{width:16px;height:16px}.mp__actions{display:flex;justify-content:flex-end;margin-top:12px}.mp__alert{border-radius:10px;padding:10px 12px;font-size:14px;margin-top:10px}.mp__alert-ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.mp__alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.cwh__header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.cwh__header-actions{display:flex;gap:8px;flex-wrap:wrap}.cwh__grid{display:grid;gap:16px;grid-template-columns:1fr;margin-top:16px}@media (min-width: 768px){.cwh__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1200px){.cwh__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.cwh__day{background:#f9fafb;border:1px solid #eef2f7;border-radius:12px;padding:16px;min-width:0}.cwh__day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:8px;flex-wrap:wrap}.cwh__day-head strong{font-size:16px;color:#111827;min-width:fit-content}.cwh__day-actions{display:flex;gap:6px;flex-wrap:wrap}.cwh__day-actions .mp__btn{font-size:12px;padding:6px 10px;white-space:nowrap}.cwh__empty{font-size:14px;color:#6b7280;padding:16px 0;text-align:center;font-style:italic}.cwh__row{display:flex;flex-direction:column;gap:12px;padding:12px 0;border-top:1px dashed #e5e7eb}.cwh__row:first-of-type{border-top:none}.cwh__time-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cwh__field{display:flex;flex-direction:column;gap:4px;min-width:0}.cwh__label{font-size:12px;color:#6b7280;font-weight:500}.cwh__time-input{width:100%;height:36px;font-size:14px;color:#111827;border:1px solid #d1d5db;border-radius:8px;padding:8px 10px;outline:none;background:#fff;transition:box-shadow .15s ease,border-color .15s ease}.cwh__time-input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #3b82f61a}.cwh__row-actions{display:flex;justify-content:flex-end}.cwh__row-actions .mp__btn{font-size:12px;padding:6px 12px;min-width:fit-content}.cwh__btn-danger{background:#fff5f5;border:1px solid #fecaca;color:#dc2626;font-weight:600}.cwh__btn-danger:hover:not(:disabled){background:#fef2f2;border-color:#f87171;color:#b91c1c}.cwh__btn-danger:disabled{opacity:.5;cursor:not-allowed}.cwh__save-actions{margin-top:24px;display:flex;justify-content:center}.cwh__save-actions .mp__btn{padding:12px 24px;font-size:14px}@media (max-width: 480px){.cwh__header{flex-direction:column;align-items:stretch}.cwh__header-actions{justify-content:center}.cwh__day{padding:12px}.cwh__day-head{flex-direction:column;align-items:stretch;gap:8px}.cwh__day-actions{justify-content:center}.cwh__time-inputs{grid-template-columns:1fr;gap:8px}}.cwh__day.loading{opacity:.6;pointer-events:none}.cwh__row{transition:background-color .2s ease}.cwh__row:hover{background-color:#00000005;border-radius:8px;margin:0 -8px;padding:12px 8px}.facility-management-container{max-width:1200px;margin:0 auto;padding:20px;font-family:system-ui,-apple-system,sans-serif;min-height:100vh}.facility-management-header{text-align:center;margin-bottom:32px}.facility-management-header h1{font-size:28px;font-weight:700;color:var(--txt-strong);margin-bottom:8px}.facility-management-header p{font-size:16px;color:var(--txt-muted)}.facility-alert-error{background:#fef2f2;color:var(--error-500);border:1px solid #fecaca;padding:12px 16px;border-radius:12px;font-size:14px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 12px #e5484d1a}.facility-alert-success{background:#f0fff4;color:var(--success-500);border:1px solid #9ae6b4;padding:12px 16px;border-radius:12px;font-size:14px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 12px #38a1691a}.facility-alert-close{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;padding:0;margin-left:12px}.facility-action-section{background:var(--bg-card);padding:20px 24px;border-radius:16px;border:1px solid var(--bd-soft);margin-bottom:24px;display:flex;gap:12px;align-items:center}.facility-btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:none;border-radius:10px;font-weight:700;cursor:pointer;transition:all .15s ease;font-size:14px;background:var(--green-700);color:var(--txt-inverse)}.facility-btn-primary:hover{background:var(--green-600);transform:translateY(-1px)}.facility-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.facility-btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:1px solid var(--bd-soft);border-radius:10px;font-weight:600;cursor:pointer;transition:all .15s ease;font-size:14px;background:var(--bg-card);color:var(--txt-strong)}.facility-btn-secondary:hover{background:var(--bg-soft);border-color:var(--green-300);transform:translateY(-1px);box-shadow:0 4px 15px #00000014}.facility-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;margin-bottom:24px}.facility-card{background:var(--bg-card);border-radius:16px;border:1px solid var(--bd-soft);padding:24px;box-shadow:0 10px 30px #0000000f;transition:all .2s ease;position:relative;overflow:hidden}.facility-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #0000001f;border-color:var(--green-300)}.facility-card-header{margin-bottom:16px}.facility-card-title{font-size:20px;font-weight:700;color:var(--txt-strong);margin-bottom:8px;line-height:1.3}.facility-card-address{font-size:14px;color:var(--txt-muted);margin-bottom:8px;line-height:1.4}.facility-status-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.facility-status-active{background:linear-gradient(135deg,var(--success-500),var(--green-400));color:var(--txt-inverse);border:none}.facility-status-inactive{background:var(--bg-soft);color:var(--txt-muted);border:1px solid var(--bd-soft)}.facility-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.facility-btn-small{padding:8px 14px;font-size:12px;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:all .15s ease}.facility-btn-info{background:#3c91e61a;color:var(--info-500);border:1px solid rgba(60,145,230,.2)}.facility-btn-info:hover{background:#3c91e626;transform:translateY(-1px);box-shadow:0 4px 12px #3c91e633}.facility-btn-warning{background:#ffd4471a;color:#b45309;border:1px solid rgba(255,212,71,.3)}.facility-btn-warning:hover{background:#ffd44726;transform:translateY(-1px);box-shadow:0 4px 12px #ffd44733}.facility-btn-danger{background:#e5484d1a;color:var(--error-500);border:1px solid rgba(229,72,77,.2)}.facility-btn-danger:hover{background:#e5484d26;transform:translateY(-1px);box-shadow:0 4px 12px #e5484d33}.facility-btn-accent{background:#9bcb3c1a;color:var(--green-700);border:1px solid rgba(155,203,60,.3)}.facility-btn-accent:hover{background:#9bcb3c26;transform:translateY(-1px);box-shadow:0 4px 12px #9bcb3c33}.facility-card-footer{font-size:12px;color:var(--txt-muted);margin-top:12px;padding-top:12px;border-top:1px solid var(--bd-soft)}.facility-empty-state{background:var(--bg-card);border-radius:16px;border:1px solid var(--bd-soft);padding:48px 24px;text-align:center}.facility-empty-state p{color:var(--txt-muted);font-size:16px;margin:0}.facility-modal-overlay{position:fixed;inset:0;background:#0f231699;z-index:1000;display:flex;align-items:center;justify-content:center;animation:facility-modal-fade-in .2s ease}@keyframes facility-modal-fade-in{0%{opacity:0}to{opacity:1}}.facility-modal-content{background:var(--bg-card);border-radius:16px;border:1px solid var(--bd-soft);padding:32px;width:100%;max-width:500px;margin:24px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0003;animation:facility-modal-slide-up .2s ease}@keyframes facility-modal-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.facility-modal-header{margin-bottom:24px}.facility-modal-title{font-size:24px;font-weight:700;color:var(--txt-strong);margin:0;line-height:1.3}.facility-form-group{margin-bottom:16px}.facility-form-label{display:block;font-size:14px;font-weight:600;color:var(--txt-strong);margin-bottom:6px}.facility-form-input{width:100%;padding:12px 14px;border:1px solid var(--bd-soft);border-radius:10px;font-size:14px;background:var(--bg-card);color:var(--txt-strong);transition:all .15s ease;box-sizing:border-box}.facility-form-input:focus{outline:none;border-color:var(--green-500);box-shadow:0 0 0 3px var(--ring)}.facility-form-select{width:100%;padding:12px 14px;border:1px solid var(--bd-soft);border-radius:10px;font-size:14px;background:var(--bg-card);color:var(--txt-strong);transition:all .15s ease;box-sizing:border-box}.facility-form-select:focus{outline:none;border-color:var(--green-500);box-shadow:0 0 0 3px var(--ring)}.facility-modal-actions{display:flex;gap:12px;margin-top:24px}.facility-btn-full{flex:1}.facility-btn-cancel{background:var(--bg-soft);color:var(--txt-strong);border:1px solid var(--bd-soft);padding:12px 20px;border-radius:10px;font-weight:600;cursor:pointer;transition:all .15s ease;font-size:14px}.facility-btn-cancel:hover{background:#e6eae7cc;border-color:var(--green-300);transform:translateY(-1px)}.facility-members-list{display:flex;flex-direction:column;gap:12px}.facility-member-item{display:flex;justify-content:space-between;align-items:center;padding:16px;border:1px solid var(--bd-soft);border-radius:12px;background:var(--bg-soft);transition:all .2s ease}.facility-member-item:hover{background:#9bcb3c0d;border-color:var(--green-300);transform:translateY(-1px)}.facility-member-info{flex:1}.facility-member-name{font-weight:600;color:var(--txt-strong);margin-bottom:2px;font-size:14px}.facility-member-details{font-size:12px;color:var(--txt-muted)}.facility-member-status{padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.facility-members-empty{text-align:center;padding:24px;color:var(--txt-muted);font-size:14px;background:var(--bg-soft);border-radius:12px;border:1px solid var(--bd-soft)}.facility-loading{display:inline-flex;align-items:center;gap:8px}.facility-spinner{width:18px;height:18px;border:2px solid var(--bd-soft);border-top-color:var(--green-500);border-radius:50%;animation:facility-spin .8s linear infinite}@keyframes facility-spin{to{transform:rotate(360deg)}}.facility-hero-bg{background:radial-gradient(1200px 600px at 10% -10%,rgba(155,203,60,.15),transparent 60%),linear-gradient(135deg,var(--bg-soft),#eef5ef)}@media (max-width: 768px){.facility-management-container{padding:16px}.facility-cards-grid{grid-template-columns:1fr;gap:16px}.facility-action-section{flex-direction:column;align-items:stretch;padding:16px 20px}.facility-btn-primary,.facility-btn-secondary{width:100%;justify-content:center}.facility-modal-content{margin:16px;padding:24px}.facility-modal-actions{flex-direction:column}.facility-card{padding:20px}}.coachcp{max-width:1200px;margin:0 auto;padding:20px 16px}.coachcp-grid{display:grid;grid-template-columns:420px 1fr;gap:16px}.coachcp-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px #1018280a}.coachcp-card--sidebar{display:flex;flex-direction:column}.coachcp-card--main{padding:20px 24px;min-height:620px}.coachcp-sidebar-head{padding:16px 16px 12px;border-bottom:1px solid #f3f4f6;background:#fafafa;border-radius:12px 12px 0 0}.coachcp-search{position:relative;margin-bottom:10px}.coachcp-search__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af}.coachcp-search__input{width:100%;padding:10px 12px 10px 36px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;background:#fff;transition:box-shadow .15s,border-color .15s}.coachcp-search__input:focus{outline:none;border-color:#111827;box-shadow:0 0 0 3px #1118270d}.coachcp-result-count{font-size:13px;color:#6b7280;font-weight:500}.coachcp-sidebar-body{padding:12px;overflow-y:auto;flex:1}.coachcp-sidebar-body::-webkit-scrollbar{width:6px}.coachcp-sidebar-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.coachcp-sidebar-body::-webkit-scrollbar-thumb:hover{background:#9ca3af}.coachcp-sidebar-foot{padding:12px 16px;border-top:1px solid #f3f4f6;background:#fafafa;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:0 0 12px 12px}.coachcp-pager-btn{padding:8px 12px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:background .15s,border-color .15s}.coachcp-pager-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.coachcp-pager-btn:disabled{opacity:.4;cursor:not-allowed}.coachcp-page-num{font-size:14px;font-weight:600;color:#111827;min-width:2rem;text-align:center}.coachcp-empty-detail{height:100%;min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9ca3af;gap:8px}.coachcp-emoji{font-size:40px;opacity:.35}.coachcp-denied{padding:48px 16px;text-align:center;color:#6b7280}.coachcp-denied .coachcp-emoji{font-size:64px;margin-bottom:12px;opacity:.5}.coachcp-detail{display:grid;gap:16px}.coachcp-detail-head{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding-bottom:12px;border-bottom:1px solid #f3f4f6}.coachcp-icon-btn{padding:8px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;color:#6b7280;cursor:pointer;transition:background .15s,color .15s}.coachcp-icon-btn:hover{background:#f9fafb;color:#111827}.coachcp-detail-title h2{margin:0 0 6px;font-size:22px;font-weight:700;color:#111827;letter-spacing:-.02em}.coachcp-sub{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px;color:#6b7280}.coachcp-sub-item{display:inline-flex;gap:6px;align-items:center}.coachcp-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:9999px;font-size:12px;font-weight:600;border:1px solid}.coachcp-badge.s-pending{background:#fef3c7;color:#92400e;border-color:#fde68a}.coachcp-badge.s-completed{background:#dcfce7;color:#166534;border-color:#bbf7d0}.coachcp-badge.s-cancelled{background:#f3f4f6;color:#4b5563;border-color:#d1d5db}.coachcp-section-card{background:#fafafa;border:1px solid #f3f4f6;border-radius:12px;padding:16px}.coachcp-section-card h4{margin:0 0 10px;font-size:15px;font-weight:600;color:#111827}.coachcp-pre{white-space:pre-wrap;line-height:1.65;font-size:15px;color:#374151;margin:0}.coachcp-dim{color:#9ca3af;font-size:14px;text-align:center;padding:20px 8px}.coachcp-media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:10px}.coachcp-media-box{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff}.coachcp-media-box img{display:block;width:100%;height:auto}.coachcp-cap{padding:8px;text-align:center;font-size:12px;color:#6b7280;background:#fafafa;border-top:1px solid #f3f4f6}.coachcp-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}.coachcp-stat{border-radius:10px;padding:12px;border:1px solid}.coachcp-stat-label{font-size:12px;opacity:.85;margin-bottom:4px}.coachcp-stat-value{font-size:18px;font-weight:700;letter-spacing:-.02em}.coachcp-stat.blue{border-color:#bfdbfe;background:#eff6ff;color:#1e40af}.coachcp-stat.green{border-color:#bbf7d0;background:#dcfce7;color:#065f46}.coachcp-stat.purple{border-color:#ddd6fe;background:#ede9fe;color:#5b21b6}.coachcp-stat.amber{border-color:#fde68a;background:#fef3c7;color:#92400e}.coachcp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:10px;font-size:14px;font-weight:500;border:1px solid;cursor:pointer;transition:background .15s,color .15s}.coachcp-btn.primary{background:#111827;color:#fff;border-color:#111827}.coachcp-btn.primary:hover:not(:disabled){background:#000}.coachcp-btn.primary:disabled{opacity:.5;cursor:not-allowed}.coachcp-btn.wide{width:100%}.coachcp-comments{display:grid;gap:10px;margin-bottom:12px}.coachcp-comment{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px}.coachcp-comment-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.coachcp-author{font-weight:600;color:#111827;font-size:14px}.coachcp-time{font-size:12px;color:#9ca3af}.coachcp-comment-form{display:grid;gap:10px}.coachcp-textarea{width:100%;border:1px solid #e5e7eb;border-radius:10px;padding:12px;font-size:15px;line-height:1.5;resize:vertical;transition:box-shadow .15s,border-color .15s}.coachcp-textarea:focus{outline:none;border-color:#111827;box-shadow:0 0 0 3px #1118270d}.coachcp-right{display:flex;justify-content:flex-end}.coachcp-skeleton{border-radius:12px;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:coachcp-loading 1.5s ease-in-out infinite}@keyframes coachcp-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 1280px){.coachcp-grid{grid-template-columns:360px 1fr}}@media (max-width: 1024px){.coachcp-grid{grid-template-columns:1fr}.coachcp-card--main{min-height:560px}}html,body,#root{width:100%;margin:0;padding:0;min-height:100vh;background-color:#f9fafb;font-family:Segoe UI,sans-serif;box-sizing:border-box}.hidden{display:none}.page-container{max-width:1400px;margin:0 auto;padding:40px 20px}*,*:before,*:after{box-sizing:border-box}:root{--green-900: #0f2316;--green-800: #16331f;--green-700: #1C3C24;--green-600: #25532f;--green-500: #2f6b3b;--green-400: #3e8a4b;--green-300: #5fae63;--lime-600: #7fb02d;--lime-500: #9BCB3C;--lime-400: #b9de6d;--bg-soft: #F8F9F6;--bg-card: #ffffff;--bd-soft: #E6EAE7;--txt-strong: #111827;--txt-muted: #6E7A6F;--txt-inverse: #ffffff;--info-500: #3C91E6;--warn-500: #FFD447;--error-500: #E5484D;--success-500: #38a169;--ring: rgba(31, 107, 59, .25)}.u-bg{background:var(--bg-soft)}.u-surface{background:var(--bg-card)}.u-border{border:1px solid var(--bd-soft)}.u-text{color:var(--txt-strong)}.u-text-muted{color:var(--txt-muted)}.u-text-inv{color:var(--txt-inverse)}.u-text-brand{color:var(--green-700)}.u-input{width:100%;font-size:14px;color:var(--txt-strong);border:1px solid var(--bd-soft);border-radius:10px;padding:12px 14px;outline:none;background:var(--bg-card);transition:box-shadow .15s ease,border-color .15s ease}.u-input:focus{border-color:var(--green-500);box-shadow:0 0 0 3px var(--ring)}.u-input--error{border-color:var(--error-500)!important}.u-input-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:#9ca3af;cursor:pointer}.u-input-btn:hover{color:#6b7280}.btn{width:100%;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:10px;padding:12px 16px;font-weight:700;cursor:pointer;transition:.15s}.btn--primary{background:var(--green-700);color:var(--txt-inverse)}.btn--primary:hover{background:var(--green-600)}.btn--accent{background:var(--lime-500);color:#0f2316}.btn--accent:hover{background:var(--lime-600)}.btn--disabled{opacity:.6;cursor:not-allowed}.u-link{color:var(--green-700);text-decoration:underline;font-size:14px}.u-link:hover{color:var(--green-600)}.alert--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;padding:10px 12px;border-radius:10px;font-size:14px}.u-hero-bg{background:radial-gradient(1200px 600px at 10% -10%,rgba(155,203,60,.25),transparent 60%),linear-gradient(135deg,#f6faf4,#eef5ef)}.u-card{background:var(--bg-card);border-radius:16px;box-shadow:0 10px 30px #0000000f;padding:24px;border:1px solid var(--bd-soft)}.u-spinner{display:inline-flex;align-items:center;gap:8px}.u-spinner-dot{width:18px;height:18px;border:2px solid var(--txt-inverse);border-top-color:transparent;border-radius:999px;display:inline-block;animation:u-rot .8s linear infinite}@keyframes u-rot{to{transform:rotate(360deg)}}
