.hero-container{position:relative;width:100%;height:80vh;min-height:500px;max-height:800px;overflow:hidden;background:#000}.hero-image-wrapper{position:absolute;inset:0;width:100%;height:100%}.hero-image{width:100%;height:100%;object-fit:cover}.hero-youtube-container{position:absolute;top:50%;left:50%;width:100vw;height:100vh;min-width:100%;min-height:100%;transform:translate(-50%,-50%);pointer-events:none}.hero-youtube-video{position:absolute;top:50%;left:50%;width:100vw;height:100vh;min-width:100%;min-height:100%;transform:translate(-50%,-50%);pointer-events:none;border:none}@media(min-aspect-ratio:16/9){.hero-youtube-container,.hero-youtube-video{width:177.78vh;height:100vh}}@media(max-aspect-ratio:16/9){.hero-youtube-container,.hero-youtube-video{width:100vw;height:56.25vw}}.hero-gradient{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.3) 50%,rgba(0,0,0,.8) 100%)}.hero-content{position:relative;z-index:10;height:100%;display:flex;align-items:flex-end;padding:0 4rem 8rem;max-width:1400px;margin:0 auto}.hero-text{max-width:600px}.hero-title{font-size:3rem;font-weight:900;color:#fff;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.8);line-height:1.2}.hero-description{font-size:1.25rem;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.8);line-height:1.6}@media(max-width:768px){.hero-container{height:60vh;min-height:400px}.hero-content{padding:0 2rem 4rem}.hero-title{font-size:2rem}.hero-description{font-size:1rem}}.poster-slider-container{position:relative;width:100%;background:linear-gradient(180deg,#000,#1a1a1a);padding:2rem 0;margin-bottom:1rem}.poster-slider-wrapper{max-width:1400px;margin:0 auto;padding:0 2rem}.poster-slider-title{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:1.5rem;padding-left:.5rem}.poster-slider-relative{position:relative}.poster-slider-scroll{display:flex;gap:1rem;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;padding:.5rem 0;scrollbar-width:none;-ms-overflow-style:none}.poster-slider-scroll::-webkit-scrollbar{display:none}.poster-item{flex-shrink:0;width:200px;height:300px}@media(min-width:768px){.poster-item{width:240px;height:360px}}.poster-card{position:relative;width:100%;height:100%;border-radius:.5rem;overflow:hidden;background:#2a2a2a;transition:transform .3s ease;cursor:pointer}.poster-card:hover{transform:scale(1.1);z-index:10}.poster-image{width:100%;height:100%;object-fit:cover}.poster-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.5) 50%,transparent 100%);opacity:0;transition:opacity .3s ease;display:flex;align-items:flex-end}.poster-card:hover .poster-overlay{opacity:1}.poster-info{padding:1rem;color:#fff;width:100%}.poster-title{font-size:.875rem;font-weight:700;margin-bottom:.5rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(min-width:768px){.poster-title{font-size:1rem}}.poster-meta{display:flex;flex-direction:column;gap:.25rem}.poster-meta-item{font-size:.75rem;color:#d1d1d1}.poster-slider-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:20;background:#000000b3;border:none;color:#fff;width:3rem;height:3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s ease}.poster-slider-btn:hover{background:#000000e6}.poster-slider-btn-left{left:0}.poster-slider-btn-right{right:0}.poster-slider-icon{width:1.5rem;height:1.5rem}.horizontal-slider-container{position:relative;width:100%;background:linear-gradient(180deg,#1a1a1a,#000);padding:2rem 0;margin-bottom:1rem}.horizontal-slider-wrapper{max-width:1400px;margin:0 auto;padding:0 2rem}.horizontal-slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:0 .5rem}.horizontal-slider-title{font-size:1.5rem;font-weight:700;color:#fff}.horizontal-slider-more{font-size:.875rem;color:#e50914;text-decoration:none;transition:color .3s ease}.horizontal-slider-more:hover{color:#f40612}.horizontal-slider-relative{position:relative}.horizontal-slider-scroll{display:flex;gap:1rem;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;padding:.5rem 0;scrollbar-width:none;-ms-overflow-style:none}.horizontal-slider-scroll::-webkit-scrollbar{display:none}.horizontal-slider-link{flex-shrink:0;width:300px;text-decoration:none;color:inherit}.horizontal-slider-item{background:#2a2a2a;border-radius:.5rem;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer;height:100%;display:flex;flex-direction:column}.horizontal-slider-link:hover .horizontal-slider-item{transform:translateY(-4px);box-shadow:0 8px 16px #00000080}.horizontal-slider-image{width:100%;height:180px;object-fit:cover;background:#1a1a1a}.horizontal-slider-content{padding:1rem;flex:1;display:flex;flex-direction:column}.horizontal-slider-item-title{font-size:1rem;font-weight:600;color:#fff;margin-bottom:.75rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.horizontal-slider-meta{display:flex;flex-direction:column;gap:.5rem;margin-top:auto}.horizontal-slider-meta-text{font-size:.875rem;color:#b3b3b3}.horizontal-slider-meta-highlight{color:#e50914;font-weight:600}.horizontal-slider-loading,.horizontal-slider-empty{padding:2rem;text-align:center;color:#b3b3b3;font-size:.875rem}.horizontal-slider-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:20;background:#000000b3;border:none;color:#fff;width:3rem;height:3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s ease}.horizontal-slider-btn:hover{background:#000000e6}.horizontal-slider-btn-left{left:0}.horizontal-slider-btn-right{right:0}.horizontal-slider-icon{width:1.5rem;height:1.5rem}.home-netflix{min-height:100vh;background:#000;color:#fff}.netflix-header{position:fixed;top:0;left:0;right:0;z-index:100;background:linear-gradient(to bottom,rgba(0,0,0,.7) 0%,transparent 100%);padding:1rem 0;transition:background .3s ease}.netflix-header.scrolled{background:#000000f2}.netflix-header-content{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.netflix-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:#fff}.netflix-logo-img{height:40px;width:auto;object-fit:contain}.netflix-logo-text{font-size:1.5rem;font-weight:700;color:#fff}.netflix-nav{display:flex;gap:2rem;align-items:center}.netflix-nav-link{color:#fff;text-decoration:none;font-size:1rem;font-weight:500;transition:color .3s ease}.netflix-nav-link:hover{color:#e50914}.netflix-main{margin-top:0;padding-top:0}.netflix-footer{background:#000;padding:3rem 0;margin-top:4rem;border-top:1px solid #2a2a2a}.netflix-footer-content{max-width:1400px;margin:0 auto;padding:0 2rem;text-align:center;color:#b3b3b3;font-size:.875rem}@media(max-width:768px){.netflix-header-content{padding:0 1rem}.netflix-logo-text{font-size:1.25rem}.netflix-nav{gap:1rem}.netflix-nav-link{font-size:.875rem}}.login-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.login-container{background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%;padding:2rem}.login-header{text-align:center;margin-bottom:2rem}.login-logo{display:flex;flex-direction:column;align-items:center;gap:1rem;text-decoration:none;color:#333;margin-bottom:1rem}.login-logo-img{max-width:120px;height:auto;display:block}.login-logo-design{max-width:250px;height:auto;display:block}.login-title{font-size:2rem;font-weight:700;color:#333;margin:0}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-btn{padding:1rem;background:#667eea;color:#fff;border:none;border-radius:.375rem;font-size:1.125rem;font-weight:600;cursor:pointer;transition:background .3s ease;margin-top:.5rem}.login-btn:hover:not(:disabled){background:#764ba2}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-footer{text-align:center;margin-top:1.5rem;color:#666;font-size:.875rem}.login-link{color:#667eea;text-decoration:none;font-weight:600;margin-left:.5rem}.login-link:hover{text-decoration:underline}@media(max-width:768px){.login-container{padding:1.5rem}.login-title{font-size:1.75rem}}.terms-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.terms-modal-content{background:#fff;border-radius:.5rem;max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.terms-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e5e5}.terms-modal-title{font-size:1.5rem;font-weight:700;color:#333;margin:0}.terms-modal-close{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.terms-modal-close:hover{color:#000}.terms-modal-body{flex:1;overflow-y:auto;padding:1.5rem}.terms-modal-text{color:#333;line-height:1.8;white-space:pre-wrap}.terms-modal-text h3{font-size:1.25rem;font-weight:600;margin-top:1.5rem;margin-bottom:.75rem}.terms-modal-text h3:first-child{margin-top:0}.terms-modal-text p{margin-bottom:1rem}.terms-modal-text ul,.terms-modal-text ol{margin-left:1.5rem;margin-bottom:1rem}.terms-modal-text li{margin-bottom:.5rem}.terms-modal-footer{padding:1.5rem;border-top:1px solid #e5e5e5;display:flex;justify-content:flex-end}.terms-modal-btn{padding:.75rem 2rem;background:#e50914;color:#fff;border:none;border-radius:.375rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s ease}.terms-modal-btn:hover{background:#f40612}@media(max-width:768px){.terms-modal-overlay{padding:1rem}.terms-modal-content{max-height:95vh}.terms-modal-header,.terms-modal-body,.terms-modal-footer{padding:1rem}.terms-modal-title{font-size:1.25rem}}.register-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.register-container{background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%;padding:2rem}.register-header{text-align:center;margin-bottom:2rem}.register-logo{display:flex;align-items:center;justify-content:center;gap:.75rem;text-decoration:none;color:#333;margin-bottom:1rem}.register-logo-img{height:40px;width:auto}.register-logo-text{font-size:1.5rem;font-weight:700;color:#333}.register-title{font-size:2rem;font-weight:700;color:#333;margin:0}.register-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;font-weight:600;color:#333}.required{color:#e50914}.optional{color:#666;font-weight:400;font-size:.75rem}.form-input{padding:.75rem;border:1px solid #ddd;border-radius:.375rem;font-size:1rem;transition:border-color .3s ease}.form-input:focus{outline:none;border-color:#667eea}.form-input.error{border-color:#e50914}.form-error{font-size:.875rem;color:#e50914}.form-hint{font-size:.75rem;color:#666}.submit-error{text-align:center;padding:.75rem;background:#fee;border-radius:.375rem}.agreements{padding:1rem;background:#f9f9f9;border-radius:.375rem;gap:1rem}.agreement-item{display:flex;flex-direction:column}.agreement-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.agreement-checkbox{width:1.25rem;height:1.25rem;cursor:pointer}.agreement-text{color:#333}.agreement-link{background:none;border:none;color:#667eea;text-decoration:underline;cursor:pointer;font-size:.875rem;padding:0}.agreement-link:hover{color:#764ba2}.register-btn{padding:1rem;background:#667eea;color:#fff;border:none;border-radius:.375rem;font-size:1.125rem;font-weight:600;cursor:pointer;transition:background .3s ease;margin-top:.5rem}.register-btn:hover:not(:disabled){background:#764ba2}.register-btn:disabled{opacity:.6;cursor:not-allowed}.register-footer{text-align:center;margin-top:1.5rem;color:#666;font-size:.875rem}.register-link{color:#667eea;text-decoration:none;font-weight:600;margin-left:.5rem}.register-link:hover{text-decoration:underline}@media(max-width:768px){.register-container{padding:1.5rem}.register-title{font-size:1.75rem}}.mypage-page{min-height:100vh;background:#f5f5f5;padding:2rem 1rem}.mypage-container{max-width:1200px;margin:0 auto}.mypage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem}.mypage-header-left{display:flex;align-items:center;gap:1.5rem}.mypage-logo{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-decoration:none}.mypage-logo-img{max-width:80px;height:auto;display:block}.mypage-logo-design{max-width:180px;height:auto;display:block}.mypage-title{font-size:2rem;font-weight:700;color:#333;margin:0}.mypage-logout-btn{padding:.75rem 1.5rem;background:#e50914;color:#fff;border:none;border-radius:.375rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s ease}.mypage-logout-btn:hover{background:#f40612}.mypage-content{display:flex;flex-direction:column;gap:2rem}.mypage-section{background:#fff;border-radius:.5rem;padding:2rem;box-shadow:0 2px 4px #0000001a}.mypage-section-title{font-size:1.5rem;font-weight:700;color:#333;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid #f0f0f0}.mypage-profile{display:flex;align-items:center;gap:1.5rem}.mypage-profile-image{width:100px;height:100px;border-radius:50%;object-fit:cover}.mypage-profile-placeholder{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:2.5rem;font-weight:700}.mypage-profile-info{display:flex;flex-direction:column;gap:.5rem}.mypage-profile-name{font-size:1.5rem;font-weight:700;color:#333;margin:0}.mypage-profile-nickname{font-size:1rem;color:#666;margin:0}.mypage-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.mypage-info-item{display:flex;flex-direction:column;gap:.5rem}.mypage-info-label{font-size:.875rem;font-weight:600;color:#666}.mypage-info-value{font-size:1rem;color:#333;padding:.5rem 0}.mypage-activity{padding:2rem;text-align:center}.mypage-activity-placeholder{color:#666}.mypage-activity-note{font-size:.875rem;color:#999;margin-top:.5rem}.mypage-loading{text-align:center;padding:4rem;color:#666;font-size:1.125rem}@media(max-width:768px){.mypage-header{flex-direction:column;align-items:flex-start;gap:1rem}.mypage-title{font-size:1.75rem}.mypage-section{padding:1.5rem}.mypage-info-grid{grid-template-columns:1fr}}.admin-page{min-height:100vh;background:#f5f5f5;padding:2rem 1rem}.admin-container{max-width:1400px;margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.admin-header-left{display:flex;align-items:center;gap:1.5rem}.admin-logo{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-decoration:none}.admin-logo-img{max-width:80px;height:auto;display:block}.admin-logo-design{max-width:180px;height:auto;display:block}.admin-title{font-size:2rem;font-weight:700;color:#333;margin:0}.admin-header-actions{display:flex;align-items:center;gap:1rem}.admin-user-info{font-size:.875rem;color:#666}.admin-logout-btn{padding:.75rem 1.5rem;background:#e50914;color:#fff;border:none;border-radius:.375rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s ease}.admin-logout-btn:hover{background:#f40612}.admin-tabs{display:flex;gap:.5rem;border-bottom:2px solid #e0e0e0;margin-bottom:2rem}.admin-tab{padding:1rem 2rem;background:none;border:none;border-bottom:3px solid transparent;font-size:1rem;font-weight:600;color:#666;cursor:pointer;transition:all .3s ease;margin-bottom:-2px}.admin-tab:hover{color:#333;background:#f9f9f9}.admin-tab.active{color:#667eea;border-bottom-color:#667eea}.admin-content{background:#fff;border-radius:.5rem;padding:2rem;box-shadow:0 2px 4px #0000001a;min-height:400px}.admin-tab-content{display:flex;flex-direction:column;gap:1.5rem}.admin-tab-title{font-size:1.5rem;font-weight:700;color:#333;margin:0}.admin-table-wrapper{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table thead{background:#f9f9f9}.admin-table th{padding:1rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0}.admin-table td{padding:1rem;border-bottom:1px solid #f0f0f0;color:#666}.admin-table tbody tr:hover{background:#f9f9f9}.admin-role-badge{display:inline-block;padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:600}.admin-role-badge.admin-role-admin{background:#fee;color:#c00}.admin-role-badge.admin-role-moderator{background:#eef;color:#006}.admin-role-badge.admin-role-user{background:#efe;color:#060}.admin-action-btn{padding:.5rem 1rem;background:#667eea;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .3s ease;margin-right:.5rem}.admin-action-btn:hover{background:#764ba2}.admin-action-btn-danger{background:#e50914}.admin-action-btn-danger:hover{background:#f40612}.admin-empty{text-align:center;padding:3rem;color:#999}.admin-loading{text-align:center;padding:4rem;color:#666;font-size:1.125rem}.admin-placeholder{text-align:center;padding:4rem;color:#666}.admin-placeholder-note{font-size:.875rem;color:#999;margin-top:.5rem}.admin-mainpage-card{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;overflow:hidden}.admin-mainpage-card-header{padding:1.5rem;border-bottom:1px solid #e5e7eb}.admin-mainpage-card-title{font-size:1.25rem;font-weight:600;color:#333;margin:0 0 .5rem}.admin-mainpage-card-description{color:#666;font-size:.875rem;margin:0;line-height:1.5}.admin-mainpage-card-body{padding:1.5rem}.admin-youtube-add-form{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e5e7eb}.admin-youtube-input-group{display:flex;gap:.75rem;margin-bottom:.5rem}.admin-youtube-input{flex:1;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;transition:border-color .2s}.admin-youtube-input:focus{outline:none;border-color:#e50914;box-shadow:0 0 0 3px #e509141a}.admin-youtube-add-btn{padding:.75rem 1.5rem;background:#e50914;color:#fff;border:none;border-radius:.375rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.admin-youtube-add-btn:hover{background:#b8070f}.admin-youtube-add-btn:active{transform:scale(.98)}.admin-youtube-help-text{color:#999;font-size:.875rem;margin:.5rem 0 0}.admin-youtube-list{margin-top:1.5rem}.admin-youtube-list-title{font-size:1rem;font-weight:600;color:#333;margin:0 0 1rem}.admin-youtube-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.admin-youtube-item{position:relative;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden;transition:transform .2s,box-shadow .2s}.admin-youtube-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.admin-youtube-thumbnail{position:relative;width:100%;padding-top:56.25%;background:#000;overflow:hidden}.admin-youtube-thumbnail img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.admin-youtube-play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;background:#000000b3;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;pointer-events:none}.admin-youtube-info{padding:1rem}.admin-youtube-id{font-size:.875rem;color:#666;font-family:Courier New,monospace;margin-bottom:.5rem;word-break:break-all}.admin-youtube-date{font-size:.75rem;color:#999;margin-bottom:.5rem}.admin-youtube-link{display:inline-block;color:#e50914;text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s}.admin-youtube-link:hover{color:#b8070f;text-decoration:underline}.admin-youtube-delete-btn{position:absolute;top:.5rem;right:.5rem;width:32px;height:32px;background:#000000b3;color:#fff;border:none;border-radius:50%;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.admin-youtube-delete-btn:hover{background:#e50914}.admin-youtube-empty{padding:3rem 1rem;text-align:center;color:#999;font-size:.875rem;background:#f9fafb;border-radius:.5rem;border:2px dashed #e5e7eb}.admin-filters{display:flex;gap:1rem;align-items:center}.admin-search-input{padding:.75rem 1rem;border:1px solid #e0e0e0;border-radius:.375rem;font-size:1rem;min-width:250px}.admin-filter-select{padding:.75rem 1rem;border:1px solid #e0e0e0;border-radius:.375rem;font-size:1rem;background:#fff;cursor:pointer}.admin-role-select{padding:.5rem;border:1px solid #e0e0e0;border-radius:.375rem;font-size:.875rem;background:#fff;cursor:pointer}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.admin-stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 4px 6px #0000001a}.admin-stat-label{font-size:.875rem;opacity:.9;margin-bottom:.5rem}.admin-stat-value{font-size:2rem;font-weight:700}.admin-recent-section{margin-bottom:2rem}.admin-section-title{font-size:1.25rem;font-weight:600;color:#333;margin-bottom:1rem}.admin-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem}.admin-pagination-btn{padding:.75rem 1.5rem;background:#667eea;color:#fff;border:none;border-radius:.375rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s ease}.admin-pagination-btn:hover:not(:disabled){background:#764ba2}.admin-pagination-btn:disabled{background:#ccc;cursor:not-allowed}.admin-pagination-info{font-size:1rem;color:#666}@media(max-width:768px){.admin-header{flex-direction:column;align-items:flex-start}.admin-tabs{flex-wrap:wrap}.admin-tab{padding:.75rem 1rem;font-size:.875rem}.admin-content{padding:1rem}.admin-table{font-size:.875rem}.admin-table th,.admin-table td{padding:.75rem .5rem}.admin-tab-header{flex-direction:column;align-items:stretch}.admin-filters{flex-direction:column}.admin-search-input{min-width:100%}.admin-stats-grid{grid-template-columns:1fr}}.admin-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.admin-modal{background:#fff;border-radius:.5rem;box-shadow:0 10px 40px #0003;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.admin-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.admin-modal-title{font-size:1.5rem;font-weight:700;color:#333;margin:0}.admin-modal-close{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;line-height:1;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:background .2s ease}.admin-modal-close:hover{background:#f0f0f0}.admin-modal-body{padding:1.5rem;flex:1;overflow-y:auto}.admin-modal-info{display:flex;flex-direction:column;gap:1rem}.admin-info-row{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 0;border-bottom:1px solid #f0f0f0}.admin-info-row:last-child{border-bottom:none}.admin-info-label{font-weight:600;color:#666;min-width:150px;flex-shrink:0}.admin-info-value{color:#333;flex:1}.admin-modal-form{display:flex;flex-direction:column;gap:1.25rem}.admin-form-group{display:flex;flex-direction:column;gap:.5rem}.admin-form-label{font-weight:600;color:#333;font-size:.875rem}.admin-form-input,.admin-form-select{padding:.75rem;border:1px solid #e0e0e0;border-radius:.375rem;font-size:1rem;transition:border-color .2s ease}.admin-form-input:focus,.admin-form-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.admin-form-input:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.admin-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e0e0e0}.admin-modal-btn{padding:.75rem 1.5rem;border:none;border-radius:.375rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.admin-modal-btn-primary{background:#667eea;color:#fff}.admin-modal-btn-primary:hover{background:#764ba2}.admin-modal-btn-secondary{background:#f0f0f0;color:#333}.admin-modal-btn-secondary:hover{background:#e0e0e0}@media(max-width:768px){.admin-modal{max-width:100%;margin:1rem}.admin-info-row{flex-direction:column;gap:.5rem}.admin-info-label{min-width:auto}.admin-modal-footer{flex-direction:column-reverse}.admin-modal-btn{width:100%}}.admin-tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.admin-tab-actions{display:flex;gap:.75rem;flex-wrap:wrap}.admin-danceinfo-section{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem;margin-bottom:2rem}.admin-danceinfo-section-title{font-size:1.25rem;font-weight:600;color:#333;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:2px solid #e5e7eb}.admin-status-badge{display:inline-block;padding:.25rem .75rem;border-radius:.25rem;font-size:.75rem;font-weight:600}.admin-status-open{background:#d1fae5;color:#065f46}.admin-status-closed{background:#fee2e2;color:#991b1b}.admin-status-upcoming{background:#dbeafe;color:#1e40af}.admin-status-unknown{background:#f3f4f6;color:#6b7280}.admin-modal-large{max-width:800px}.admin-form-textarea{padding:.75rem;border:1px solid #e0e0e0;border-radius:.375rem;font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .2s ease}.admin-form-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.admin-poster-upload{display:flex;flex-direction:column;gap:1rem}.admin-poster-upload-options{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.admin-poster-upload-file{display:flex;align-items:center}.admin-poster-upload-divider{color:#666;font-size:.875rem}.admin-poster-upload-url{flex:1;min-width:200px}.admin-poster-preview{position:relative;width:100%;max-width:400px;border-radius:.375rem;overflow:hidden;border:1px solid #e0e0e0}.admin-poster-preview-img{width:100%;height:auto;display:block}.admin-poster-preview-remove{position:absolute;top:.5rem;right:.5rem;width:2rem;height:2rem;background:#000000b3;color:#fff;border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s}.admin-poster-preview-remove:hover{background:#e50914e6}.admin-pdf-preview{margin-top:1rem;border:1px solid #e0e0e0;border-radius:.375rem;overflow:hidden;background:#fff}.admin-pdf-preview-iframe{width:100%;height:600px;border:none;display:block}.admin-pdf-preview-actions{display:flex;gap:.75rem;padding:1rem;background:#f5f5f5;border-top:1px solid #e0e0e0}.admin-form-checkbox{margin-right:.5rem;width:1.25rem;height:1.25rem;cursor:pointer}.admin-form-help-text{font-size:.75rem;color:#666;margin-top:.25rem}.admin-registration-items{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.admin-registration-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#f9fafb;border-radius:.375rem}.admin-registration-item-add{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#f0f9ff;border:2px dashed #bfdbfe;border-radius:.375rem}.admin-form-input-small{flex:1;max-width:200px}.admin-registration-item-fee{color:#666;font-size:.875rem;min-width:30px}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem 1rem}.admin-login-container{background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0000004d;padding:3rem;width:100%;max-width:450px}.admin-login-header{text-align:center;margin-bottom:2.5rem}.admin-login-logo-link{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.5rem;text-decoration:none}.admin-login-logo-img{max-width:120px;height:auto;display:block}.admin-login-logo-design{max-width:250px;height:auto;display:block}.admin-login-title{font-size:2rem;font-weight:700;color:#333;margin:0}.admin-login-form{display:flex;flex-direction:column;gap:1.5rem}.admin-login-error-message{background:#fee;color:#c00;padding:1rem;border-radius:.5rem;font-size:.875rem;text-align:center;border:1px solid #fcc}.admin-login-form-group{display:flex;flex-direction:column;gap:.5rem}.admin-login-label{font-size:.875rem;font-weight:600;color:#333}.admin-login-input{padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:.5rem;font-size:1rem;transition:all .3s ease;background:#fff}.admin-login-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.admin-login-input.error{border-color:#e50914}.admin-login-input:disabled{background:#f5f5f5;cursor:not-allowed}.admin-login-field-error{font-size:.75rem;color:#e50914;margin-top:-.25rem}.admin-login-submit-btn{padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.admin-login-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.admin-login-submit-btn:active:not(:disabled){transform:translateY(0)}.admin-login-submit-btn:disabled{opacity:.6;cursor:not-allowed}.admin-login-footer{margin-top:2rem;text-align:center;padding-top:2rem;border-top:1px solid #e0e0e0}.admin-login-link{color:#667eea;text-decoration:none;font-size:.875rem;transition:color .3s ease}.admin-login-link:hover{color:#764ba2;text-decoration:underline}@media(max-width:768px){.admin-login-container{padding:2rem 1.5rem}.admin-login-title{font-size:1.75rem}}.danceinfo-page{min-height:100vh;background:#141414;color:#fff}.danceinfo-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.danceinfo-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:linear-gradient(180deg,rgba(0,0,0,.7) 10%,transparent);padding:1rem 0;transition:background .3s}.danceinfo-header.scrolled{background:#141414}.danceinfo-header-content{max-width:1400px;margin:0 auto;padding:0 4%;display:flex;align-items:center;justify-content:space-between}.danceinfo-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:#fff}.danceinfo-logo-img{height:35px;width:auto}.danceinfo-logo-design{height:25px;width:auto}.danceinfo-nav{display:flex;gap:2rem;align-items:center}.danceinfo-nav a{color:#e5e5e5;text-decoration:none;font-size:.9rem;transition:color .3s}.danceinfo-nav a:hover,.danceinfo-nav a.active{color:#fff;font-weight:500}.danceinfo-main{margin-top:80px;padding:2rem 0}.danceinfo-container{max-width:1400px;margin:0 auto;padding:0 4%}.danceinfo-section{margin-bottom:3rem}.danceinfo-section-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:#fff;padding-left:.5rem}.danceinfo-slider{position:relative;overflow:hidden}.danceinfo-slider-content{display:flex;gap:.5rem;overflow-x:auto;overflow-y:hidden;padding:.5rem 0;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.danceinfo-slider-content::-webkit-scrollbar{display:none}.danceinfo-card{flex:0 0 auto;width:200px;text-decoration:none;color:#fff;transition:transform .3s ease;cursor:pointer}.danceinfo-card:hover{transform:scale(1.05);z-index:10}.danceinfo-card-image-wrapper{position:relative;width:100%;padding-top:150%;background:#2f2f2f;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.danceinfo-card-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.danceinfo-card-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#2f2f2f;color:gray;font-size:.875rem}.danceinfo-card-title-poster{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem;text-align:center}.danceinfo-card-title-text{color:#fff;font-size:1rem;font-weight:600;line-height:1.4;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:keep-all;text-shadow:0 2px 4px rgba(0,0,0,.3)}.danceinfo-card-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.7) 100%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:.75rem}.danceinfo-card:hover .danceinfo-card-overlay{opacity:1}.danceinfo-card-status,.danceinfo-card-enrollment{background:#000000b3;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.danceinfo-card-status{color:#4ade80}.danceinfo-card-enrollment{color:#fff}.danceinfo-card-info{padding:0 .25rem}.danceinfo-card-title{font-size:.9rem;font-weight:500;margin-bottom:.25rem;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.3;min-height:2.6em}.danceinfo-card-meta{font-size:.75rem;color:gray;display:flex;flex-direction:column;gap:.25rem}.danceinfo-card-date,.danceinfo-card-location,.danceinfo-card-instructor,.danceinfo-card-organization{display:block}.danceinfo-empty{padding:3rem 1rem;text-align:center;color:gray}@media(max-width:768px){.danceinfo-header-content{padding:0 2%}.danceinfo-nav{gap:1rem}.danceinfo-nav a{font-size:.8rem}.danceinfo-container{padding:0 2%}.danceinfo-section-title{font-size:1.25rem}.danceinfo-card{width:150px}.danceinfo-card-title{font-size:.8rem}}.competition-detail-page{min-height:100vh;background:#141414;color:#fff}.competition-detail-loading,.competition-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.1);border-top-color:#e50914;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.competition-detail-back-btn{padding:.75rem 1.5rem;background:#e50914;color:#fff;text-decoration:none;border-radius:.375rem;transition:background .3s}.competition-detail-back-btn:hover{background:#f40612}.competition-detail-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:linear-gradient(180deg,rgba(0,0,0,.7) 10%,transparent);padding:1rem 0}.competition-detail-header-content{max-width:1400px;margin:0 auto;padding:0 4%;display:flex;align-items:center;justify-content:space-between}.competition-detail-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none}.competition-detail-logo-img{height:35px;width:auto}.competition-detail-logo-design{height:25px;width:auto}.competition-detail-nav{display:flex;gap:2rem;align-items:center}.competition-detail-nav a{color:#e5e5e5;text-decoration:none;font-size:.9rem;transition:color .3s}.competition-detail-nav a:hover{color:#fff}.competition-detail-main{margin-top:80px;padding:2rem 0}.competition-detail-container{max-width:1200px;margin:0 auto;padding:0 4%}.competition-detail-poster{width:100%;max-width:800px;margin:0 auto 2rem;border-radius:.5rem;overflow:hidden}.competition-detail-poster img{width:100%;height:auto;display:block}.competition-detail-info{background:#ffffff0d;border-radius:.5rem;padding:2rem}.competition-detail-title{font-size:2rem;font-weight:700;margin-bottom:1.5rem;color:#fff}.competition-detail-meta{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1)}.competition-detail-meta-item{display:flex;gap:1rem}.competition-detail-meta-label{font-weight:600;color:gray;min-width:120px}.competition-detail-meta-value{color:#fff}.competition-detail-description{margin-bottom:2rem}.competition-detail-description h2{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:#fff}.competition-detail-description div{line-height:1.8;color:#e5e5e5}.competition-detail-registration{background:#ffffff0d;border-radius:.5rem;padding:2rem;margin-top:2rem}.competition-detail-registration h2{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:#fff}.competition-registration-items{margin-bottom:1.5rem}.competition-registration-label{display:block;font-weight:600;margin-bottom:1rem;color:#fff}.competition-registration-dropdowns{display:flex;flex-direction:column;gap:.75rem}.competition-registration-item-checkbox{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#ffffff0d;border-radius:.375rem;cursor:pointer;transition:background .3s}.competition-registration-item-checkbox:hover{background:#ffffff1a}.competition-registration-item-checkbox input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.competition-registration-item-label{color:#fff;font-size:1rem}.competition-registration-total{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:#e5091433;border-radius:.375rem;margin-bottom:1.5rem;border:2px solid #e50914}.competition-registration-total-label{font-size:1.25rem;font-weight:600;color:#fff}.competition-registration-total-amount{font-size:1.5rem;font-weight:700;color:#e50914}.competition-registration-btn{width:100%;padding:1rem 2rem;background:#e50914;color:#fff;border:none;border-radius:.375rem;font-size:1.125rem;font-weight:600;cursor:pointer;transition:background .3s}.competition-registration-btn:hover:not(:disabled){background:#f40612}.competition-registration-btn:disabled{background:#666;cursor:not-allowed}.competition-registration-no-items,.competition-registration-closed{padding:2rem;text-align:center;color:gray;background:#ffffff0d;border-radius:.375rem}.competition-detail-notice{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.competition-detail-notice h2{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:#fff}.competition-notice-pdf{background:#ffffff0d;border-radius:.5rem;overflow:hidden}.competition-notice-pdf-iframe{width:100%;height:800px;border:none;display:block}.competition-notice-pdf-actions{display:flex;gap:1rem;padding:1rem;background:#0000004d;border-top:1px solid rgba(255,255,255,.1)}.competition-notice-pdf-link,.competition-notice-pdf-download{padding:.75rem 1.5rem;background:#e50914;color:#fff;text-decoration:none;border-radius:.375rem;font-weight:600;transition:background .3s;display:inline-block}.competition-notice-pdf-link:hover,.competition-notice-pdf-download:hover{background:#f40612}.competition-notice-pdf-download{background:#333}.competition-notice-pdf-download:hover{background:#444}@media(max-width:768px){.competition-detail-header-content{padding:0 2%}.competition-detail-nav{gap:1rem}.competition-detail-nav a{font-size:.8rem}.competition-detail-container{padding:0 2%}.competition-detail-title{font-size:1.5rem}.competition-detail-meta-item{flex-direction:column;gap:.25rem}.competition-detail-meta-label{min-width:auto}}.app{min-height:100vh;display:flex;flex-direction:column}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh;display:flex;flex-direction:column}
