:root{color-scheme:dark only;--primary-500: #007acc;--primary-600: #0e639c;--primary-700: #3a96dd;--primary-800: #094771;--primary-500-rgb: 0, 122, 204;--primary-600-rgb: 14, 99, 156;--glow-primary-rgb: 102, 126, 234;--glow-primary: rgba(var(--glow-primary-rgb), .18);--glow-primary-hover: rgba(var(--glow-primary-rgb), .15);--glow-primary-light: rgba(var(--glow-primary-rgb), .1);--glow-primary-strong: rgba(var(--glow-primary-rgb), .3);--info-500: #75beff;--info-400: #3794ff;--info-100: #264f78;--info-200: #3a96dd;--info-700: #007acc;--success-500: #28a745;--success-400: #208437;--success-500-rgb: 40, 167, 69;--success-400-rgb: 32, 132, 55;--danger-500: #f14c4c;--danger-600: #c74e39;--danger-400: #f48771;--warning-500: #cca700;--warning-400: #ffcc00;--warning-300: #ffd37a;--warning-200: #2a2d2e;--warning-600: #8b6d00;--accent-pink-500: #ff9a9e;--accent-pink-300: #fecfef;--bg: #1e1e1e;--surface: #252526;--surface-2: #2a2d2e;--border: #3c3c3c;--neutral-50: #ffffff;--neutral-100: var(--bg);--neutral-200: var(--surface);--neutral-250: var(--surface-2);--neutral-275: #2d2d2d;--neutral-300: var(--border);--neutral-350: #444444;--neutral-400: #4d4d4d;--neutral-500: #6a6a6a;--text-900: #d4d4d4;--text-700: #cccccc;--text-600: #a6a6a6;--text-500: #858585;--grad-primary: linear-gradient(135deg, var(--primary-600) 0%, var(--primary-500) 100%);--grad-primary-hover: linear-gradient(135deg, var(--primary-800) 0%, var(--primary-600) 100%);--grad-success: linear-gradient(135deg, var(--success-500) 0%, var(--success-400) 100%);--grad-success-hover: linear-gradient(135deg, var(--success-400) 0%, var(--success-500) 100%);--grad-danger: linear-gradient(135deg, var(--danger-500) 0%, var(--danger-600) 100%);--grad-info: linear-gradient(135deg, var(--primary-600) 0%, var(--info-400) 100%);--grad-accent-pink: linear-gradient(135deg, var(--accent-pink-500) 0%, var(--accent-pink-300) 100%);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .5);--shadow-md: 0 4px 12px rgba(0, 0, 0, .6);--shadow-lg: 0 8px 25px rgba(0, 0, 0, .7)}html,body{color-scheme:dark only;background-color:var(--bg);color:var(--text-100)}*{-webkit-tap-highlight-color:transparent}@supports (-webkit-touch-callout: none){html{color-scheme:dark}}input,textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--surface-hover);color:var(--text-100);border:1px solid var(--neutral-400)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-100);-webkit-box-shadow:0 0 0px 1000px var(--surface-hover) inset;transition:background-color 5000s ease-in-out 0s}body{margin:0;background:var(--bg);color:var(--text-900)}div{box-sizing:border-box}.page-container{height:100%;background-color:var(--neutral-100);position:relative;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;min-height:0}.page-content{flex:1;padding:20px;overflow-y:auto;-webkit-overflow-scrolling:touch}.home-container{min-height:100vh;background-color:var(--neutral-100);padding-bottom:80px;display:flex;flex-direction:column}.home-content{flex:1 1 auto;min-height:0;width:100%;padding:30px;max-width:1200px;margin:0 auto}.nav-bar{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px 20px 15px;background:var(--neutral-100);border-bottom:1px solid rgba(0,0,0,.1);position:sticky;top:0;z-index:10}.nav-btn{padding:10px 20px;border:2px solid var(--primary-500);background:var(--surface);color:var(--primary-500);border-radius:22px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .3s ease;white-space:nowrap;min-width:60px;display:flex;align-items:center;justify-content:center;gap:6px}.nav-btn:hover{background:#667eea1a;transform:translateY(-2px)}.nav-btn.active{background:var(--primary-500);color:#fff;transform:translateY(-2px)}.nav-icon{width:16px;height:16px;filter:brightness(0) saturate(100%) invert(30%) sepia(96%) saturate(1200%) hue-rotate(225deg) brightness(93%) contrast(101%)}.nav-btn.active .nav-icon{filter:brightness(0) invert(1)}.search-btn{background:var(--grad-primary);border:none;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.card{background:var(--surface);border:1px solid transparent;border-radius:12px;padding:12px;box-shadow:0 4px 12px #0000001a;transition:all .3s ease;cursor:pointer}.card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000014;border-color:var(--primary-300)}.card.expanded{box-shadow:0 6px 16px #0000001f;cursor:default;border-color:var(--primary-200)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.member-card{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:12px}.member-card.active{border-color:var(--primary-500);box-shadow:0 10px 24px var(--glow-primary)}.member-card-left{display:flex;align-items:center;justify-content:center}.member-avatar{width:48px;height:48px;border-radius:50%;border:1px solid var(--neutral-300);background:var(--neutral-100)}.member-card-center{display:flex;flex-direction:column;gap:4px;min-width:0}.member-center-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.member-card-right{display:flex;align-items:center;justify-content:center}.member-name{color:var(--text-900);font-size:1.1rem;font-weight:700;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-id{color:var(--text-600);font-size:.85rem;margin:0}.btn{border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--grad-primary);color:#fff;padding:8px 12px;font-size:.9rem}.btn-primary:hover{box-shadow:0 6px 16px #667eea40}.btn-edit{background:var(--primary-50);border:1px solid var(--primary-300);color:var(--primary-700);padding:6px 12px;font-size:.8rem}.btn-edit:hover{background:var(--primary-100);border-color:var(--primary-400)}.btn-remove{background:#fff5f5;border:1px solid #feb2b2;color:#c53030;padding:6px 12px;font-size:.8rem}.btn-remove:hover{background:#fed7d7;border-color:#f56565}.tag{padding:4px 10px;border-radius:8px;font-size:.78rem;font-weight:500;white-space:nowrap}.tag.primary{background:var(--info-100);color:var(--info-700);border:1px solid var(--info-200)}.tag.secondary{background:var(--neutral-250);color:var(--text-600);border:1px solid #e0e0e0}.badge{background:rgba(var(--primary-600-rgb),.1);color:var(--primary-700);padding:3px 8px;border-radius:12px;font-size:.8rem;font-weight:500}.loading-container{display:flex;justify-content:center;align-items:center;padding:40px}.loading-spinner{color:var(--primary-500);font-size:1.1rem;font-weight:500;display:flex;align-items:center;gap:10px}.error-container{display:flex;justify-content:center;align-items:center;padding:40px}.error-message{background:var(--danger-100);border:1px solid var(--danger-300);color:var(--danger-700);padding:16px 20px;border-radius:8px;text-align:center;max-width:500px}@media (max-width: 1200px){.logo-section h1{white-space:nowrap}}@media (max-width: 768px){.home-header{display:none}.home-content{padding:0}.page-content{padding:15px}.nav-bar{gap:8px;padding:15px 15px 12px;flex-wrap:wrap}.nav-btn{padding:8px 16px;font-size:.85rem}.search-btn{width:38px;height:38px;margin-left:5px}.search-btn img{width:18px;height:18px}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.card{padding:12px}.profile-btn{width:40px;height:40px}.user-actions{gap:8px}}@media (max-width: 480px){.nav-btn{padding:6px 12px;font-size:.8rem}.search-btn{width:36px;height:36px}.search-btn img{width:16px;height:16px}.cards-grid{grid-template-columns:1fr}.btn-edit,.btn-remove{padding:5px 10px;font-size:.75rem}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-center{align-items:center;justify-content:center}.flex-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.p-5{padding:20px}.m-2{margin:8px}.m-3{margin:12px}.m-4{margin:16px}.m-5{margin:20px}.w-full{width:100%}.h-full{height:100%}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.z-10{z-index:10}.z-50{z-index:50}.z-100{z-index:100}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromSummary{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInCard{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}@keyframes glow{0%{box-shadow:0 0 5px var(--glow-primary)}50%{box-shadow:0 0 20px var(--glow-primary-strong)}to{box-shadow:0 0 5px var(--glow-primary)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.transition-all{transition:all .3s ease}.transition-fast{transition:all .15s ease}.transition-slow{transition:all .5s ease}.transition-smooth{transition:all .4s cubic-bezier(.4,0,.2,1)}.transition-transform{transition:transform .3s ease}.transition-opacity{transition:opacity .3s ease}.transition-colors{transition:color .3s ease,background-color .3s ease,border-color .3s ease}.hover-lift:hover{transform:translateY(-3px)}.hover-lift-sm:hover{transform:translateY(-2px)}.hover-lift-lg:hover{transform:translateY(-5px)}.hover-scale:hover{transform:scale(1.05)}.hover-scale-sm:hover{transform:scale(1.02)}.hover-scale-lg:hover{transform:scale(1.1)}.hover-glow:hover{box-shadow:0 8px 20px #00000014;border-color:var(--primary-300)}.hover-shadow:hover{box-shadow:0 8px 25px #667eea26}.hover-rotate:hover{transform:rotate(5deg)}.hover-rotate-reverse:hover{transform:rotate(-5deg)}.card-enter{animation:slideInCard .3s cubic-bezier(.4,0,.2,1) forwards;animation-delay:calc(var(--card-index, 0) * .1s);opacity:0;transform:translateY(20px)}.card-expanded-enter{animation:slideInFromSummary .5s cubic-bezier(.4,0,.2,1);margin-top:8px;position:relative;z-index:10}.card-collapse{transition:all .4s cubic-bezier(.4,0,.2,1);max-height:100px;opacity:.8;overflow:hidden}.card-expand{transition:all .4s cubic-bezier(.4,0,.2,1);max-height:2000px;opacity:1;overflow:visible}.expand-icon{transition:transform .3s ease}.expand-icon.expanded{transform:rotate(180deg)}.content-expandable{overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}.content-collapsed{max-height:0;opacity:0;transform:translateY(-10px)}.content-expanded{max-height:1000px;opacity:1;transform:translateY(0)}.dragging{opacity:.7;transform:rotate(2deg);cursor:grabbing;z-index:1000;box-shadow:0 8px 25px #0003}.drag-over{background:var(--primary-100);transform:scale(1.02);box-shadow:0 6px 16px #00000026,0 0 0 2px var(--primary-500),0 0 25px var(--glow-primary-strong)}.drag-over:before{content:"";position:absolute;inset:-2px;border:2px dashed var(--primary-500);border-radius:12px;pointer-events:none}.btn-animate{position:relative;overflow:hidden;transition:all .3s ease}.btn-animate:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transition:width .3s ease,height .3s ease;transform:translate(-50%,-50%);z-index:0}.btn-animate:active:before{width:300px;height:300px}.btn-pulse{animation:pulse 2s infinite}.btn-bounce:hover{animation:bounce .6s ease}.spin{animation:spin 1s linear infinite}.pulse{animation:pulse 2s infinite}.bounce{animation:bounce 1s infinite}.fade-in{animation:fadeIn .5s ease}.fade-out{animation:fadeOut .5s ease}.slide-down{animation:slideDown .5s cubic-bezier(.16,1,.3,1)}.slide-up{animation:slideUp .5s cubic-bezier(.16,1,.3,1)}.modal-enter{animation:fadeIn .3s ease}.modal-exit{animation:fadeOut .3s ease}.modal-backdrop{animation:fadeIn .3s ease}.modal-content-enter{animation:slideDown .4s cubic-bezier(.16,1,.3,1)}.modal-content-exit{animation:slideUp .3s ease}.toast-enter{animation:slideDown .5s cubic-bezier(.16,1,.3,1)}.toast-exit{animation:fadeOutUp .5s ease-in forwards;animation-delay:3.5s}.notification-shake{animation:shake .5s ease-in-out}.input-focus{transition:all .3s ease}.input-focus:focus{box-shadow:0 0 0 3px var(--glow-primary-light);border-color:var(--primary-500)}.input-error{animation:shake .3s ease-in-out;border-color:var(--danger-500)!important}.input-success{border-color:var(--success-500)!important;box-shadow:0 0 0 3px #89d18533}.stagger-children>*{animation:slideInCard .3s cubic-bezier(.4,0,.2,1) forwards;opacity:0;transform:translateY(20px)}.stagger-children>*:nth-child(1){animation-delay:.1s}.stagger-children>*:nth-child(2){animation-delay:.2s}.stagger-children>*:nth-child(3){animation-delay:.3s}.stagger-children>*:nth-child(4){animation-delay:.4s}.stagger-children>*:nth-child(5){animation-delay:.5s}.stagger-children>*:nth-child(6){animation-delay:.6s}.stagger-children>*:nth-child(7){animation-delay:.7s}.stagger-children>*:nth-child(8){animation-delay:.8s}.stagger-children>*:nth-child(9){animation-delay:.9s}.stagger-children>*:nth-child(10){animation-delay:1s}.gpu-accelerated{will-change:transform,opacity;transform:translateZ(0)}.prevent-animation-flicker{backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.spin,.pulse,.bounce{animation:none}.hover-lift:hover,.hover-scale:hover{transform:none}}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:all .6s ease}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-500{animation-delay:.5s}.animate-duration-fast{animation-duration:.15s}.animate-duration-normal{animation-duration:.3s}.animate-duration-slow{animation-duration:.5s}.animate-duration-slower{animation-duration:.75s}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:var(--neutral-250)}.login-form{background:var(--surface);padding:2rem;border-radius:8px;width:100%;max-width:400px}.login-form .logo{display:block;margin:0 auto 1.5rem;max-width:120px;height:auto}.login-form h2{text-align:center;margin-bottom:2rem;color:var(--text-900)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-300);font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid var(--neutral-400);border-radius:4px;font-size:1rem;box-sizing:border-box;background-color:var(--surface-hover);color:var(--text-100);-webkit-appearance:none;appearance:none}.form-group input:focus{outline:none;border-color:var(--primary-500);background-color:var(--neutral-200)}.form-group input::placeholder{color:var(--text-500);opacity:.6}button[type=submit]{width:100%;padding:.75rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}button[type=submit]:hover:not(:disabled){background-color:#0056b3}button[type=submit]:disabled{opacity:.7;cursor:not-allowed}.signup-link-container{text-align:center;margin-top:15px;font-size:.9rem}.signup-question{color:#6c757d;margin-right:.5rem}.signup-link{color:#007bff;text-decoration:underline;cursor:pointer;transition:color .2s}.signup-link:hover{color:#0056b3}.public-link-container{text-align:center;margin-top:10px;font-size:.85rem}.public-link{color:#6c757d;text-decoration:underline;cursor:pointer;transition:color .2s}.public-link:hover{color:#495057}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:var(--surface);border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.signup-form{padding:2rem}.signup-form h2{text-align:center;margin-bottom:2rem;color:var(--text-900)}.signup-form .form-group{margin-bottom:1.5rem}.signup-form input[readonly]{background-color:var(--neutral-100);color:#6c757d}.modal-buttons{display:flex;gap:1rem;margin-top:2rem}.modal-buttons button{flex:1;padding:.75rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.modal-buttons button[type=submit]{background-color:#007bff;color:#fff}.modal-buttons button[type=submit]:hover{background-color:#0056b3}.modal-buttons button[type=button]{background-color:#6c757d;color:#fff}.modal-buttons button[type=button]:hover{background-color:#545b62}.error-message{color:#dc3545;font-size:.875rem;margin-top:.5rem}.login-error{margin-top:15px;padding:12px;background-color:transparent;color:#dc3545;border:none;border-radius:6px;font-size:14px;font-weight:500;text-align:center}.apk-download-container{text-align:center;margin-top:15px;padding:12px;background-color:var(--neutral-200);border-radius:6px}.apk-download-link{color:#28a745;text-decoration:none;font-size:.9rem;font-weight:500;display:inline-block;transition:color .2s}.apk-download-link:hover{color:#218838;text-decoration:underline}.register-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--grad-primary);padding:20px}.register-form{background:var(--surface);padding:30px;border-radius:15px;width:100%;max-width:400px;text-align:center}.logo-container{margin-bottom:30px}.logo{width:80px;height:80px;object-fit:contain}h1{color:var(--text-900);margin-bottom:30px;font-size:28px;font-weight:600}.form-group{margin-bottom:20px;text-align:left}label{display:block;margin-bottom:8px;color:var(--text-300);font-weight:500;font-size:14px}input,select{width:100%;padding:12px 15px;border:2px solid var(--neutral-300);border-radius:8px;font-size:16px;transition:border-color .3s ease;box-sizing:border-box;background-color:var(--surface-hover);color:var(--text-100);-webkit-appearance:none;appearance:none}input:focus,select:focus{outline:none;border-color:var(--primary-500);background-color:var(--neutral-200)}input:invalid{border-color:var(--danger-500)}input::placeholder,select::placeholder{color:var(--text-500);opacity:.6}.register-btn{width:100%;padding:15px;background:var(--grad-primary);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;margin-top:20px}.register-btn:hover:not(:disabled){transform:translateY(-2px)}.register-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.message{margin-top:20px;padding:12px;border-radius:6px;font-size:14px;font-weight:500}.message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.login-link{margin-top:30px;padding-top:20px;border-top:1px solid var(--neutral-300)}.login-link p{color:var(--text-600);margin:0}.link-btn{background:none;border:none;color:var(--primary-500);cursor:pointer;font-weight:600;text-decoration:underline}.link-btn:hover{color:var(--primary-700)}.password-error{color:#e74c3c;font-size:14px;margin-top:8px;font-weight:500}.public-container{min-height:100vh;background:linear-gradient(135deg,var(--neutral-250) 0%,var(--neutral-300) 100%);display:flex;flex-direction:column}.loading-spinner{display:flex;justify-content:center;align-items:center;height:100vh;font-size:16px;color:var(--text-500)}.public-header{text-align:center;padding:3rem 1.5rem 2rem;background:var(--surface);box-shadow:0 2px 8px #0000001a;position:relative}.login-icon-btn{position:absolute;top:1rem;right:1rem;background:var(--primary-500);border:none;border-radius:8px;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,background-color .2s ease}.login-icon-btn:hover{transform:scale(1.1);background:var(--primary-600)}.login-icon{width:28px;height:28px;filter:brightness(0) invert(1)}.edit-icon-btn{position:absolute;top:1rem;left:1rem;background:#4caf50;color:#fff;border:none;border-radius:8px;cursor:pointer;padding:.5rem 1rem;font-size:14px;font-weight:600;display:flex;align-items:center;gap:.25rem;transition:transform .2s ease,background-color .2s ease}.edit-icon-btn:hover{transform:scale(1.05);background:#45a049}.edit-header-actions{position:absolute;top:1rem;left:1rem;right:1rem;display:flex;justify-content:space-between;gap:1rem;z-index:10}.cancel-btn,.save-btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.cancel-btn{background:var(--neutral-400);color:var(--text-900)}.cancel-btn:hover{background:var(--neutral-500)}.save-btn:hover:not(:disabled){background:var(--primary-600)}.save-btn:disabled{background:var(--neutral-400);cursor:not-allowed;opacity:.6}.add-schedule-btn{width:100%;padding:12px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s;margin-bottom:1rem}.add-schedule-btn:hover{background:#45a049}.public-logo{width:120px;height:auto;margin:0 auto 1rem;display:block}.header-text{display:flex;flex-direction:column;align-items:center;text-align:center}.gym-name{font-size:2.5rem;font-weight:700;color:var(--primary-500);margin:.5rem 0;transition:all .3s ease}.gym-tagline{font-size:1.125rem;color:var(--text-300);margin:.5rem 0 0;transition:all .3s ease}.public-content{flex:1;max-width:800px;width:100%;margin:0 auto;padding:12px}.info-section{background:var(--surface);border-radius:12px;padding:12px;margin-bottom:15px}.section-title{font-size:1.5rem;font-weight:600;color:var(--text-900);margin:0 0 15px;display:flex;align-items:center;gap:.5rem}.public-container .info-card{display:flex;flex-direction:column;box-shadow:none!important}.info-row{display:flex;padding:.75rem 0;border-bottom:1px solid var(--neutral-300)}.info-row:last-child{border-bottom:none}.info-label{font-weight:600;color:var(--text-500);min-width:80px}.info-value{color:var(--text-100);flex:1}.schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem}.schedule-card{background:var(--neutral-200);border-radius:8px;padding:1rem;display:flex;flex-direction:column}.schedule-header{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:15px}.schedule-type{font-size:1.25rem;font-weight:700;color:#e8eaed;margin:0}.schedule-time{font-size:1.5rem;font-weight:700;color:var(--primary-500);margin:0}.schedule-desc{font-size:.875rem;color:var(--text-900);margin:0;text-align:center;line-height:1.3}.schedule-note{font-size:.875rem;color:var(--text-500);margin:.25rem 0;padding-left:.5rem}.cta-section{text-align:center;padding:2rem}.cta-button{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border:none;border-radius:8px;padding:1rem 3rem;font-size:1.125rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #007bff4d}.cta-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #007bff66}.cta-button:active{transform:translateY(0)}.cta-description{margin-top:1rem;color:var(--text-300);font-size:.875rem}.public-footer{background:var(--surface);text-align:center;padding:1.5rem;color:var(--text-500);font-size:.875rem;border-top:1px solid var(--neutral-300)}@media (max-width: 768px){.public-header{padding:2rem 1.5rem 1.5rem}.public-logo{width:100px}.gym-name{font-size:2rem}.gym-tagline{font-size:1rem}.public-content,.info-section{padding:12px}.section-title{font-size:1.25rem}.schedule-grid{grid-template-columns:repeat(2,1fr)}.cta-button{width:100%;padding:1rem 2rem}}@media (max-width: 480px){.public-header{padding:2rem 1rem 1.5rem}.public-logo{width:80px}.gym-name{font-size:1.5rem}.gym-tagline{font-size:.9rem}.schedule-grid{grid-template-columns:1fr}.info-row{flex-direction:column;gap:.25rem}.info-label{font-size:.875rem}}@media (prefers-color-scheme: dark){.gym-name{color:#4da3ff}.gym-tagline{color:#b8bec4}.section-title{color:#e8eaed}.info-label{color:#9aa0a6}.info-value,.schedule-type{color:#e8eaed}.schedule-time{color:#4da3ff}.schedule-desc{color:#e8eaed}.schedule-note{color:#9aa0a6}.cta-description{color:#b8bec4}.public-footer{color:#9aa0a6}.public-header{box-shadow:0 2px 8px #0000004d}.schedule-card{background:var(--neutral-300)}}.add-section-btn{width:100%;padding:16px;background:var(--primary-500);color:#fff;border:2px dashed var(--primary-600);border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;margin:20px 0}.add-section-btn:hover{background:var(--primary-600);transform:translateY(-2px);box-shadow:0 4px 12px #2196f34d}.edit-actions{display:flex;gap:1rem;margin:20px 0}.edit-actions .cancel-btn,.edit-actions .save-btn{flex:1;padding:12px;font-size:15px}.bottom-edit-section{display:flex;justify-content:center;padding:2rem 1.5rem;background:var(--surface)}.bottom-edit-section .edit-icon-btn{position:static;margin:0}.editable-input{width:100%;padding:8px 12px;border:2px solid var(--primary-500);border-radius:6px;font-size:inherit;font-family:inherit;font-weight:inherit;background:var(--neutral-200);color:var(--text-900);transition:border-color .2s;box-sizing:border-box}.editable-input:focus{outline:none;border-color:var(--primary-600);background:var(--surface)}.editable-input::placeholder{color:var(--text-300)}@media (prefers-color-scheme: dark){.editable-input{background:var(--neutral-300);color:#e8eaed;border-color:#4da3ff}.editable-input:focus{background:var(--neutral-250);border-color:#66b3ff}}.schedule-card.editing{position:relative;border:2px dashed var(--primary-500);background:var(--neutral-200)}.remove-schedule-btn-mini{position:absolute;top:8px;right:8px;width:28px;height:28px;background:#f44336;color:#fff;border:none;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;z-index:10}.remove-schedule-btn-mini:hover{background:#d32f2f}.schedule-card.editing .schedule-type,.schedule-card.editing .schedule-time,.schedule-card.editing .schedule-desc{margin:0}.schedule-card.editing .schedule-type .editable-input,.schedule-card.editing .schedule-time .editable-input{text-align:center}@media (prefers-color-scheme: dark){.schedule-card.editing{background:var(--neutral-300);border-color:#4da3ff}}.custom-section{background:var(--surface);border-radius:12px;padding:12px;margin-bottom:15px}.custom-section.editing{border:2px dashed var(--primary-500);background:var(--neutral-200)}.custom-section-header{display:flex;align-items:center;margin-bottom:16px;gap:8px}.custom-section-header .editable-input{flex:1;font-size:1.25rem;font-weight:700;color:var(--text-900);padding:8px 12px;border:2px solid var(--primary-500);border-radius:6px;background:var(--surface)}.section-order-controls{display:flex;gap:4px}.section-order-controls button{width:36px;height:36px;padding:0;background:var(--primary-500);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s;display:flex;align-items:center;justify-content:center}.section-order-controls button:hover:not(:disabled){background:var(--primary-600);transform:scale(1.05)}.section-order-controls button:disabled{background:var(--neutral-400);cursor:not-allowed;opacity:.5}.control-btn{border:none;cursor:pointer;transition:all .2s}.remove-btn{width:36px;height:36px;padding:0;background:#f44336;color:#fff;border-radius:6px;font-size:16px;display:flex;align-items:center;justify-content:center}.remove-btn:hover{background:#d32f2f;transform:scale(1.05)}.custom-section-content{display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center}.content-item{width:100%;padding:.75rem 0;border-bottom:1px solid var(--neutral-300)}.content-item:empty{padding:0;border-bottom:none;height:0;overflow:hidden}.content-item:last-child{border-bottom:none}.content-item-title{font-weight:600;color:var(--text-500);margin:0 0 8px;font-size:1rem}.content-item-title:empty{display:none}.content-item-text{color:var(--text-100);line-height:1.6;margin:0;white-space:pre-wrap;font-size:1rem}.content-item-text:empty{display:none}.custom-section-link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-500);color:#fff;text-decoration:none;border-radius:6px;font-weight:600;transition:all .2s;margin-top:8px}.custom-section-link:hover{background:var(--primary-600);transform:scale(1.05);box-shadow:0 4px 12px #2196f34d}.edit-field{margin-bottom:16px}.edit-field label{display:block;font-size:14px;font-weight:600;color:var(--text-700);margin-bottom:6px}.content-items-section{margin:16px 0}.content-item-edit{background:var(--surface);border:1px solid var(--neutral-300);border-radius:8px;padding:12px;margin-bottom:12px}.content-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--primary-500)}.content-item-number{font-size:14px;font-weight:600;color:var(--primary-500)}.remove-item-btn{background:#f44336;color:#fff;padding:4px 10px;font-size:14px;font-weight:700;border-radius:4px}.remove-item-btn:hover{background:#d32f2f}.add-content-item-btn{width:100%;padding:12px;background:#4caf50;color:#fff;border:2px dashed #45a049;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.add-content-item-btn:hover{background:#45a049;transform:translateY(-1px)}.link-section{margin-top:16px;padding-top:16px;border-top:2px solid var(--neutral-300)}@media (prefers-color-scheme: dark){.custom-section.editing{background:var(--neutral-300);border-color:#4da3ff}.content-item-title{color:#9aa0a6}.content-item-text{color:#e8eaed}.edit-field label{color:#9aa0a6}.content-item-edit{background:var(--neutral-250);border-color:var(--neutral-400)}}.section-title-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-title{font-size:1.25rem;font-weight:700;color:var(--text-900);margin:0}.section-order-controls{display:flex;gap:6px}.order-control-btn{width:32px;height:32px;background:var(--primary-500);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.order-control-btn:hover:not(:disabled){background:var(--primary-600);transform:translateY(-2px)}.order-control-btn:disabled{background:var(--neutral-400);cursor:not-allowed;opacity:.5}@media (prefers-color-scheme: dark){.section-title{color:#e8eaed}.order-control-btn{background:#4da3ff}.order-control-btn:hover:not(:disabled){background:#66b3ff}.order-control-btn:disabled{background:var(--neutral-500)}}.record-header-card{background:var(--surface);border-radius:15px;padding:18px;box-shadow:0 2px 10px #00000014;transition:all .3s ease;border:2px solid transparent;margin-bottom:20px}.record-header-content{display:flex;align-items:center;justify-content:center;padding:0}.record-header-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-900);text-align:center;letter-spacing:-.5px;display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.today-tag{background:var(--primary-500);color:#fff;font-size:1.5rem;font-weight:700;padding:8px 12px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;margin-right:8px;letter-spacing:-.5px}.custom-dropdown{position:relative;display:block;width:100%;max-width:400px;margin:0 auto}.date-dropdown{background:var(--neutral-100);border:2px solid transparent;border-radius:8px;padding:12px 44px 12px 16px;font-size:1.5rem;font-weight:700;color:var(--text-900);letter-spacing:-.5px;cursor:pointer;transition:all .2s ease;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 16px center;background-repeat:no-repeat;background-size:18px;width:100%;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;line-height:1;vertical-align:middle;min-height:50px;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,.1);touch-action:manipulation}.dropdown-options{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:2px solid var(--neutral-300);border-radius:8px;box-shadow:0 4px 20px #00000026;z-index:100;margin-top:4px;width:auto;min-width:100%;max-height:400px;overflow-y:auto;overflow-x:hidden;animation:slideDown .2s ease-out forwards;transform-origin:top center;pointer-events:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-option{padding:14px 20px;cursor:pointer;font-size:1.5rem;font-weight:700;color:var(--text-900);letter-spacing:-.5px;transition:background-color .15s ease;white-space:nowrap;display:flex;align-items:center;justify-content:center;line-height:1;vertical-align:middle;min-height:48px;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,.1);touch-action:manipulation;-webkit-user-select:none;user-select:none}.dropdown-option:hover{background:var(--neutral-100)}.dropdown-option.selected{background:var(--primary-100);color:var(--primary-700)}.dropdown-options::-webkit-scrollbar{width:6px}.dropdown-options::-webkit-scrollbar-track{background:var(--neutral-100);border-radius:3px}.dropdown-options::-webkit-scrollbar-thumb{background:var(--neutral-400);border-radius:3px}.dropdown-options::-webkit-scrollbar-thumb:hover{background:var(--neutral-500)}.date-dropdown:hover:not(.open){background:var(--neutral-100);border:2px solid var(--neutral-300)}.date-dropdown:focus{outline:none;background:var(--neutral-100);border:2px solid var(--primary-500)}.date-dropdown.open{background:var(--neutral-100);border:2px solid var(--primary-500)}@media (max-width: 768px){.record-header-card{padding:14px;margin-bottom:16px}.record-header-title{font-size:1.3rem}.date-dropdown{font-size:1.3rem;padding:6px 28px 6px 10px}.today-tag{font-size:1.3rem;padding:6px 10px;margin-right:6px}}@media (max-width: 480px){.record-header-card{padding:12px;margin-bottom:12px}.record-header-title{font-size:1.2rem;letter-spacing:-.3px}.date-dropdown{font-size:1.2rem;padding:4px 24px 4px 8px}.today-tag{font-size:1.2rem;padding:4px 8px;margin-right:5px}.record-header-card .add-record-button{font-size:.85rem;padding:10px 20px}}.record-tabs{display:flex;justify-content:center;gap:10px;margin:0 0 10px;padding:0}.class_record,.class_photo{padding:12px 24px;background:var(--neutral-500);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;flex:1;justify-content:center;max-width:200px}.class_record:hover,.class_photo:hover{background:var(--neutral-600);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.class_record.active,.class_photo.active{background:var(--primary-500);color:#fff}.class_record.active:hover,.class_photo.active:hover{background:var(--primary-600);transform:translateY(-2px)}.record-header-card .add-record-button{width:100%;max-width:410px;padding:12px 24px;background:var(--primary-500);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin:10px auto 0}.record-header-card .add-record-button:hover{background:var(--primary-600);transform:translateY(-2px)}.record-add-card{background:var(--surface);border-radius:15px;padding:16px;margin-bottom:20px;box-shadow:0 4px 12px #00000026;border:2px solid var(--primary-300);position:relative;overflow:hidden}.record-add-card.expanded{opacity:1}.record-add-card.closing{opacity:0;pointer-events:none}.record-add-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.record-add-title-section{flex:1}.record-add-title{margin:0 0 4px;font-size:1.4rem;font-weight:600;color:var(--text-900)}.record-add-info{color:var(--text-600);font-size:.9rem;font-weight:500}.record-add-header .expand-icon{color:var(--primary-600);font-size:1.2rem;transform:rotate(180deg);-webkit-user-select:none;user-select:none}.record-add-content{opacity:1;overflow:visible}.section-label{display:block;margin-bottom:8px;font-size:1rem;font-weight:600;color:var(--text-700)}.class-selection-section{margin-bottom:24px}.class-select{width:100%;padding:12px 16px;border:2px solid var(--neutral-300);border-radius:10px;background:var(--surface);color:var(--text-900);font-size:1rem;font-weight:500;cursor:pointer;outline:none;transition:all .2s ease}.class-select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px rgba(var(--primary-600-rgb),.2)}.class-select:hover{border-color:var(--primary-400)}.photo-upload-section{margin-bottom:24px}.photo-drop-zone{background:var(--neutral-100);border:2px solid transparent;border-radius:12px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s ease;margin-bottom:16px;box-shadow:0 2px 8px #0000001a}.photo-drop-zone:hover{background:var(--neutral-200);border-color:var(--primary-500);box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.photo-drop-zone.drag-over{background:var(--primary-50);border-color:var(--primary-600);box-shadow:0 4px 16px #007acc33;transform:scale(1.02)}.drop-zone-content{pointer-events:none}.upload-icon{font-size:3rem;margin-bottom:12px;opacity:.7}.upload-text{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:var(--text-700)}.upload-hint{font-size:.9rem;color:var(--text-500);font-weight:500}.image-preview-section{margin-top:16px}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.preview-item{position:relative;background:var(--surface);border-radius:8px;overflow:hidden;border:1px solid var(--neutral-200);transition:all .2s ease}.preview-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.preview-image{width:100%;height:100px;object-fit:cover;display:block}.remove-image-btn{position:absolute;top:4px;right:4px;width:24px;height:24px;background:#000000b3;color:#fff;border:none;border-radius:50%;font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.remove-image-btn:hover{background:var(--danger-500);transform:scale(1.1)}.image-name{padding:6px 8px;font-size:.8rem;color:var(--text-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--neutral-50)}.record-add-actions{display:flex;gap:12px;justify-content:space-between;padding-top:20px;border-top:2px solid var(--primary-200)}.save-record-btn{padding:14px 28px;background:var(--success-500);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;position:relative;flex:1}.save-record-btn:hover:not(:disabled){background:var(--success-600);transform:translateY(-2px);box-shadow:0 6px 16px rgba(var(--success-600-rgb),.3)}.save-record-btn:disabled{background:var(--neutral-400);color:var(--neutral-600);cursor:not-allowed;transform:none;box-shadow:none}.cancel-record-btn{padding:14px 28px;background:var(--danger-500);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;flex:1}.cancel-record-btn:hover:not(:disabled){background:var(--danger-600);transform:translateY(-2px);box-shadow:0 6px 16px rgba(var(--danger-600-rgb),.3)}.cancel-record-btn:disabled{background:var(--neutral-400);color:var(--neutral-600);cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.record-add-card{padding:16px;margin-bottom:16px}.record-add-header{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.record-add-title{font-size:1.2rem}.photo-drop-zone{padding:30px 16px}.upload-icon{font-size:2.5rem}.upload-text{font-size:1rem}.preview-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.preview-image{height:80px}.record-add-actions{justify-content:space-between;gap:10px}.save-record-btn,.cancel-record-btn{padding:12px 20px;font-size:.95rem}}@media (max-width: 480px){.record-add-card{padding:12px}.record-add-title{font-size:1.1rem}.record-add-info{font-size:.8rem}.class-select{padding:10px 14px;font-size:.95rem}.photo-drop-zone{padding:24px 12px}.upload-icon{font-size:2rem}.upload-text{font-size:.95rem}.upload-hint{font-size:.8rem}.preview-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.preview-image{height:70px}.save-record-btn,.cancel-record-btn{padding:10px 16px;font-size:.9rem}}.add-photo-drop-zone{border:2px dashed var(--primary-300);border-radius:8px;background:var(--neutral-100);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;height:auto;min-height:100px}.add-photo-drop-zone:hover{border-color:var(--primary-500);background:var(--neutral-100);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.add-photo-drop-zone.drag-over{border-color:var(--primary-600);background:var(--neutral-100);transform:translateY(-2px) scale(1.02)}.add-photo-icon{font-size:2.5rem;color:var(--primary-500);font-weight:300;-webkit-user-select:none;user-select:none;pointer-events:none;display:flex;align-items:center;justify-content:center;width:100%;height:100px}.add-photo-drop-zone:hover .add-photo-icon{color:var(--primary-600);transform:scale(1.1)}.add-photo-btn{padding:12px 24px;background:var(--primary-500);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.95rem;display:flex;align-items:center;gap:8px;margin-top:12px}.add-photo-btn:hover{background:var(--primary-600);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--primary-600-rgb),.3)}.record-card{background:var(--surface);border-radius:16px;padding:20px;margin-bottom:0;box-shadow:0 4px 20px #0000001a;border:1px solid rgba(0,0,0,.05)}.record-card.loading{display:flex;align-items:center;justify-content:center;min-height:200px}.record-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding-bottom:10px}.record-card-title{margin:0;font-size:1.3rem;font-weight:700;color:var(--text-900)}.class-count{font-size:.9rem;font-weight:500;color:var(--success-600);background:var(--success-50);padding:4px 8px;border-radius:4px}.record-card-content{padding:0}.class-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.record-image-item{position:relative;background:var(--surface);border-radius:8px;overflow:hidden;border:1px solid var(--neutral-200);cursor:pointer;transition:all .2s ease;aspect-ratio:4/3}.record-image-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.record-image{width:100%;height:100%;object-fit:cover;display:block;image-orientation:none}.image-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);color:#fff;padding:12px 8px 8px;transform:translateY(100%);transition:transform .3s ease}.record-image-item:hover .image-overlay{transform:translateY(0)}.image-info{font-size:.8rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delete-image-btn{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:#ef4444e6;color:#fff;border:none;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.delete-image-btn:hover{background:#ef4444;transform:scale(1.1);box-shadow:0 2px 8px #ef444480}.record-image-item.edit-mode{border:2px solid var(--primary-300);box-shadow:0 0 0 2px #3b82f61a}.record-image-item.edit-mode:hover{transform:none;box-shadow:0 0 0 2px #3b82f633}.add-image-item{position:relative;background:var(--neutral-100);border-radius:8px;overflow:hidden;border:2px dashed var(--primary-300);cursor:pointer;transition:all .2s ease;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}.add-image-item:hover{border-color:var(--primary-500);background:var(--primary-50)}.add-image-btn{background:none;border:none;color:var(--primary-500);font-size:2rem;font-weight:300;cursor:pointer;display:flex;align-items:center;justify-content:center;width:100%;height:100%;transition:all .2s ease}.add-image-btn:hover{color:var(--primary-600);transform:scale(1.1)}.record-image-item.pending-image{border:2px solid var(--warning-400);box-shadow:0 0 0 2px #fbbf2433;position:relative}.record-image-item.pending-image:after{content:"새 이미지";position:absolute;top:4px;left:4px;background:var(--warning-500);color:#fff;font-size:.7rem;font-weight:600;padding:2px 6px;border-radius:4px;z-index:5}.empty-class-record{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-500)}.empty-class-record .empty-icon{font-size:2rem;margin-bottom:8px;opacity:.6}.empty-class-record p{margin:0;font-size:.9rem;font-weight:500}.record-image-item.failed{opacity:.6;cursor:default!important}.image-load-failed{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--error-50);border-radius:12px;min-height:150px}.image-load-failed .failed-icon{font-size:2rem;margin-bottom:8px;opacity:.7}.image-load-failed p{margin:0;font-size:.85rem;color:var(--error-600);font-weight:500}.record-cards-container{display:flex;flex-direction:column;gap:10px}.no-records{text-align:center;padding:60px 20px;color:var(--text-500);background:var(--surface);border-radius:16px;border:1px solid rgba(0,0,0,.05)}.no-records-icon{font-size:4rem;margin-bottom:16px;opacity:.6}.no-records h3{margin:0 0 8px;font-size:1.2rem;font-weight:600;color:var(--text-700)}.no-records p{margin:0;font-size:1rem;opacity:.8}.record-loading-spinner{display:flex;align-items:center;justify-content:center;gap:8px;font-size:1.1rem;color:var(--text-600);font-weight:500}.record-spinner-icon{font-size:1.2rem;animation:record-spin 1.5s linear infinite}.record-spinner-text{font-size:1.1rem}@keyframes record-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.record-card{padding:16px;margin-bottom:0}.record-card-header{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.record-card-title{font-size:1.3rem}.class-images-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.class-header{padding:10px 12px}.class-content{padding:12px}.empty-class-record{padding:30px 16px}.no-records{padding:40px 16px}.no-records-icon{font-size:3rem}}@media (max-width: 480px){.record-card{padding:12px}.record-card-title{font-size:1.2rem}.record-date{font-size:.9rem;padding:4px 8px}.class-images-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.class-title{font-size:1rem}.class-count{font-size:.8rem;padding:3px 6px}.empty-class-record{padding:24px 12px}.empty-class-record .empty-icon{font-size:1.5rem}.empty-class-record p{font-size:.8rem}.no-records{padding:32px 12px}.no-records h3{font-size:1.1rem}.no-records p{font-size:.9rem}}.admin-delete-section{margin-top:16px;padding-top:16px;border-top:2px solid var(--neutral-200);display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.delete-all-btn{background:var(--danger-500);color:#fff;border:none;border-radius:8px;padding:12px 32px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px;min-width:100px}.delete-all-btn:hover{background:var(--danger-600);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.edit-record-btn{background:var(--primary-500);color:#fff;border:none;border-radius:8px;padding:12px 32px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px;min-width:100px}.edit-record-btn:hover{background:var(--primary-600);transform:translateY(-1px);box-shadow:0 4px 12px var(--glow-primary-strong)}.edit-record-btn.edit-complete{background:var(--success-500)}.edit-record-btn.edit-complete:hover{background:var(--success-500);transform:translateY(-2px);box-shadow:0 4px 12px #22c55e66}.image-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:10000;padding:20px;box-sizing:border-box;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.image-modal-card{position:relative;background:var(--surface);border-radius:20px;overflow:hidden;max-width:90vw;max-height:90vh;width:auto;height:auto;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006;transform:scale(1);transition:transform .3s ease;animation:modalAppear .3s ease-out}@keyframes modalAppear{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.image-modal-close{position:absolute;top:15px;right:15px;background:#000000b3;color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:24px;font-weight:300;cursor:pointer;display:flex;justify-content:center;align-items:center;z-index:10001;transition:all .3s ease;line-height:1}.image-modal-close:hover{background:#000000e6;transform:scale(1.1)}.image-modal-content{display:flex;flex-direction:column;height:100%}.image-modal-image{width:100%;height:auto;max-height:75vh;object-fit:contain;display:block;background:var(--neutral-100)}.image-modal-info{padding:20px;background:var(--surface);border-top:1px solid var(--neutral-200);flex-shrink:0}.image-modal-info h4{margin:0 0 8px;font-size:1.2rem;font-weight:700;color:var(--text-900)}.image-modal-info p{margin:0;font-size:.95rem;color:var(--text-600)}@media (max-width: 768px){.image-modal-overlay{padding:15px}.image-modal-card{max-width:95vw;max-height:95vh;border-radius:16px}.image-modal-image{max-height:70vh}.image-modal-close{width:36px;height:36px;font-size:20px;top:12px;right:12px}.image-modal-info{padding:16px}.image-modal-info h4{font-size:1.1rem}.image-modal-info p{font-size:.9rem}}@media (max-width: 480px){.image-modal-overlay{padding:10px}.image-modal-card{max-width:98vw;max-height:98vh;border-radius:12px}.image-modal-image{max-height:65vh}.image-modal-close{width:32px;height:32px;font-size:18px;top:10px;right:10px}.image-modal-info{padding:12px}.image-modal-info h4{font-size:1rem}.image-modal-info p{font-size:.85rem}}.record-container{padding:10px}.record-grid{display:grid;gap:20px;padding:0 20px;max-width:1200px;margin:0 auto}@media (min-width: 1025px){.record-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 769px) and (max-width: 1024px){.record-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.record-grid{grid-template-columns:1fr;padding:0 10px;gap:16px}}.photo-card{background:var(--surface);border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #0000001a;border:1px solid rgba(0,0,0,.05);cursor:pointer;transition:all .3s ease;aspect-ratio:4/3}.photo-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #00000026}.photo-card-image{position:relative;width:100%;height:100%;overflow:hidden}.photo-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.photo-card:hover .photo-card-image img{transform:scale(1.05)}.photo-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);color:#fff;padding:20px 16px 16px;transform:translateY(100%);transition:transform .3s ease}.photo-card:hover .photo-overlay{transform:translateY(0)}.photo-title{margin:0 0 6px;font-size:.95rem;font-weight:600;color:#fff;line-height:1.3}.empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;color:var(--text-500)}.empty-icon{font-size:4rem;margin-bottom:20px;opacity:.6}.empty-state h3{margin:0 0 10px;font-size:1.2rem;font-weight:600;color:var(--text-700)}.empty-state p{margin:0;font-size:1rem;opacity:.8}.record-content{display:flex;flex-direction:column;gap:10px;transition:transform .3s ease-in-out,opacity .3s ease-in-out;transform:translate(0);opacity:1}.record-content.slide-out-left{transform:translate(-100%);opacity:0}.record-content.slide-out-right{transform:translate(100%);opacity:0}.record-content.slide-in-from-right{transform:translate(100%);opacity:0;animation:slideInFromRight .3s ease-in-out forwards}.record-content.slide-in-from-left{transform:translate(-100%);opacity:0;animation:slideInFromLeft .3s ease-in-out forwards}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInFromLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.admin-card-content{display:flex;align-items:center;justify-content:center;gap:8px;font-size:1rem;font-weight:600}.admin-dual-action-card,.admin-single-action-card{background:var(--surface);border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #0000001a;border:1px solid rgba(0,0,0,.05);transition:all .3s ease;width:100%;aspect-ratio:4/3;display:flex;flex-direction:column}.add-photo-card{background:var(--grad-primary);border:2px solid var(--primary-600);color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.dual-action-upload{flex:3;background:linear-gradient(135deg,#007acc,#0090e7);border:none;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;border-radius:16px 16px 0 0}.dual-action-upload:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.dual-action-upload:disabled{background:var(--surface-300);border-color:var(--surface-400);cursor:not-allowed;transform:none;box-shadow:none}.single-action-upload{flex:1;background:linear-gradient(135deg,#007acc,#0090e7);border:none;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;border-radius:16px}.single-action-upload:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.single-action-upload:disabled{background:var(--surface-300);border-color:var(--surface-400);cursor:not-allowed;transform:none;box-shadow:none}.single-action-upload .add-icon{width:20px;height:20px;margin-bottom:0}.add-photo-card .add-icon{width:28px;height:28px;margin-bottom:10px}.dual-action-upload .add-icon{width:20px;height:20px;margin-bottom:0}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--success-500);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 10px}.notification-toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%);z-index:2000;padding:6px 10px;border-radius:8px;animation:fadeInUp .3s cubic-bezier(.16,1,.3,1),fadeOutUp .3s ease-in 2.7s forwards;max-width:200px;min-width:120px}.notification-toast.success{background:var(--grad-success);color:#fff}.notification-toast.error{background:var(--grad-danger);color:#fff}.notification-content{display:flex;align-items:center;gap:4px;font-weight:500;font-size:.7rem}.notification-icon{font-size:.75rem}.notification-message{flex:1;line-height:1.4}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) scale(.8)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes fadeOutUp{0%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(.8)}}@media (max-width: 768px){.record-grid{gap:16px;padding:0 10px}.modal-overlay{padding:15px}.modal-content{max-width:95vw;max-height:95vh}.modal-content img{max-height:60vh}.modal-info{padding:15px}.modal-close{width:35px;height:35px;font-size:18px;top:10px;right:10px}}@media (max-width: 480px){.record-grid{gap:12px;padding:0 8px}.photo-title{font-size:.9rem}.photo-overlay{padding:16px 12px 12px}.empty-state{padding:40px 16px}.empty-icon{font-size:3rem}.modal-overlay{padding:10px}.modal-content{max-width:98vw;max-height:98vh;border-radius:12px}.modal-content img{max-height:50vh}.modal-close{width:30px;height:30px;font-size:16px;top:8px;right:8px}.notification-toast{bottom:75px;min-width:100px;max-width:75%;padding:5px 8px}.notification-content{font-size:.65rem;gap:3px}.notification-icon{font-size:.65rem}}.new-image{position:relative}.new-image:before{content:"";position:absolute;inset:-2px;background:var(--grad-success);border-radius:17px;z-index:-1}.new-badge{background:var(--success-500);color:#fff;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600;position:absolute;top:10px;right:10px;z-index:10}.server-badge{background:#17a2b8;color:#fff;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600;position:absolute;top:10px;left:10px;z-index:10}.upload-error{margin-top:20px;padding:15px;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;text-align:center}.upload-error button{background:#dc3545;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;margin-top:10px;transition:background .3s ease}.upload-error button:hover{background:#c82333}.modal-overlay{position:fixed;inset:0;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{position:relative;background:var(--surface);border-radius:16px;overflow:hidden;max-width:90vw;max-height:90vh;width:auto;height:auto;display:flex;flex-direction:column}.modal-close{position:absolute;top:15px;right:15px;background:#000000b3;color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:20px;cursor:pointer;display:flex;justify-content:center;align-items:center;z-index:1001;transition:all .3s ease}.modal-close:hover{background:#000000e6;transform:scale(1.1)}.modal-content img{width:100%;height:auto;max-height:70vh;object-fit:contain;display:block}.delete-photo-btn{background:var(--grad-danger);color:#fff;border:none;padding:12px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:14px;min-width:100px;height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.delete-photo-btn:hover{transform:translateY(-2px)}.cancel-btn{background:linear-gradient(135deg,#6c757d,#495057);color:#fff;border:none;padding:12px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:14px;min-width:100px;height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.cancel-btn:hover{transform:translateY(-2px)}.button-row{display:flex;gap:12px;margin-top:16px;align-items:center}@media (max-width: 768px){.add-photo-card .add-icon{width:28px;height:28px;margin-bottom:10px}.admin-card-content{font-size:.9rem}}@media (max-width: 480px){.add-photo-card .add-icon{width:28px;height:28px;margin-bottom:10px}.admin-card-content{font-size:.85rem}}.admin-dual-action-card{display:flex;flex-direction:column;padding:0;overflow:hidden;height:250px}.admin-single-action-card{height:250px}.admin-dual-action-card .admin-card-content{gap:12px;padding:6px}.dual-action-upload{appearance:none;border:none;background:transparent;width:100%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff}.dual-action-upload{flex:0 0 66.666%;background:linear-gradient(135deg,#007acc,#0090e7);border-radius:12px;margin-bottom:6px}.dual-action-upload:hover{transform:translateY(-2px)}.lounge-grid .add-photo-card{display:none!important}.selected-date-info{background:var(--surface);border-radius:16px;box-shadow:0 4px 20px #0000001a;border:1px solid rgba(0,0,0,.05);padding:20px;margin-bottom:20px}.selected-date-info h3{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:var(--text-900)}.selected-date-info>p{margin:0 0 16px;font-size:.95rem;color:var(--primary-600);font-weight:500}.date-records{border-top:1px solid var(--neutral-200);padding-top:16px}.record-placeholder{text-align:center;padding:20px;color:var(--text-500);font-style:italic}.record-placeholder p{margin:0;font-size:.9rem}@media (max-width: 768px){.selected-date-info{padding:16px;margin-bottom:16px}.selected-date-info h3{font-size:1rem}.record-placeholder{padding:16px}.record-placeholder p{font-size:.85rem}}/*!
 * Quill Editor v2.0.2
 * https://quilljs.com
 * Copyright (c) 2017-2024, Slab
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.board-add-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.board-add-card{background:var(--surface);border-radius:16px;box-shadow:0 8px 32px #0003;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;position:relative;top:50%;transform:translateY(-50%);transition:top .3s ease,transform .3s ease}.board-add-content{flex:1;overflow-y:auto;padding:20px}.form-group{margin-bottom:15px}.form-group:last-child{margin-bottom:0}.content-group{margin-bottom:0}.title-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.title-header>label:not(.checkbox-label){font-weight:600;color:var(--text-900);font-size:.95rem;margin:0}.title-header .checkbox-label{margin-bottom:0!important}.form-group>label:not(.checkbox-label){display:block;margin-bottom:8px;font-weight:600;color:var(--text-900);font-size:.95rem}.form-group input,.form-group textarea{width:100%;padding:12px;border:1px solid var(--neutral-300);border-radius:8px;font-size:1rem;font-family:inherit;color:var(--text-900);background:var(--neutral-100);transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-500);background:var(--neutral-200);box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:200px}.form-group input[type=checkbox]{width:20px;height:20px;margin:0 8px 0 0;cursor:pointer;flex-shrink:0;appearance:none;-webkit-appearance:none;border:2px solid var(--neutral-300);border-radius:4px;background:var(--surface);position:relative;transition:all .2s ease}.form-group input[type=checkbox]:checked{background:var(--primary-500);border-color:var(--primary-500)}.checkbox-label{display:inline-flex!important;align-items:center;cursor:pointer;font-weight:500;color:var(--text-700);-webkit-user-select:none;user-select:none;margin-bottom:0}.board-add-content .quill{background:var(--neutral-100);border-radius:8px;border:1px solid var(--neutral-300)}.board-add-content .ql-toolbar{border:none;border-bottom:1px solid var(--neutral-300);background:var(--surface);border-radius:8px 8px 0 0}.board-add-content .ql-container{border:none;font-size:1rem;font-family:inherit;height:300px;overflow-y:auto}.board-add-content .ql-editor{height:280px;color:var(--text-900);overflow-y:auto}.board-add-content .ql-editor.ql-blank:before{color:var(--text-500);font-style:normal}.board-add-content .ql-toolbar button{color:var(--text-900)}.board-add-content .ql-toolbar button:hover,.board-add-content .ql-toolbar button.ql-active{color:var(--primary-500)}.board-add-content .ql-stroke{stroke:var(--text-900)}.board-add-content .ql-toolbar button:hover .ql-stroke,.board-add-content .ql-toolbar button.ql-active .ql-stroke{stroke:var(--primary-500)}.board-add-content .ql-fill{fill:var(--text-900)}.board-add-content .ql-toolbar button:hover .ql-fill,.board-add-content .ql-toolbar button.ql-active .ql-fill{fill:var(--primary-500)}.board-add-content .ql-picker-label{color:var(--text-900)}.board-add-content .ql-picker-options{background:var(--surface);border:1px solid var(--neutral-300)}.board-add-content .ql-picker-item{color:var(--text-900)}.board-add-content .ql-picker-item:hover{color:var(--primary-500)}.board-add-content .ql-editor img{max-width:100%;height:auto;border-radius:8px;margin:10px 0}.board-add-footer{display:flex;gap:10px;padding:20px;border-top:1px solid var(--neutral-200)}.board-add-footer button{flex:1;padding:12px;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease}.cancel-btn{background:var(--neutral-200);color:var(--text-700)}.cancel-btn:hover{background:var(--neutral-300)}.save-btn{background:var(--primary-500);color:#fff}.save-btn:hover{background:var(--primary-600);transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}@media (max-width: 768px){.board-add-overlay{align-items:flex-start;padding:0}.board-add-card{max-height:95vh;border-radius:16px;margin:0}.board-add-content,.board-add-footer{padding:16px}.form-group textarea{min-height:150px}}.board-detail-container{background-color:var(--neutral-100);min-height:100vh;padding:10px}.board-detail-header{display:flex;align-items:center;justify-content:space-between;padding:10px;background:var(--surface);border-radius:16px;margin-bottom:10px;box-shadow:0 4px 20px #0000001a;position:relative}.board-detail-header h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-900);flex:1;text-align:center}.board-detail-content{display:flex;flex-direction:column;gap:10px}.post-card,.comments-card{background:var(--surface);border-radius:16px;padding:10px;box-shadow:0 4px 20px #0000001a}.post-detail{display:flex;flex-direction:column;row-gap:10px}.notice-badge{display:inline-flex;align-items:center;background:var(--primary-500);color:#fff;padding:4px 10px;border-radius:6px;font-size:.8rem;font-weight:600;white-space:nowrap}.post-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-900);line-height:1.4;word-break:break-word}.post-info{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.9rem;color:var(--text-500)}.post-info-left{display:flex;align-items:center;gap:12px}.post-author{font-weight:600}.post-date{font-weight:500}.post-content-readonly .quill{background:transparent;border:none}.post-content-readonly .ql-container{border:none;font-size:1rem;font-family:inherit;min-height:200px}.post-content-readonly .ql-editor{padding:0;color:var(--text-700);line-height:1.7;white-space:pre-wrap}.post-content-readonly .ql-editor.ql-blank:before{color:var(--text-500);font-style:normal;left:0}.post-content-readonly .ql-editor img{max-width:100%;height:auto;border-radius:8px;margin:10px 0}.post-content-edit .quill{background:var(--neutral-100);border-radius:12px;border:2px solid var(--primary-500)}.post-content-edit .ql-toolbar{border:none;border-bottom:2px solid var(--primary-500);background:var(--surface);border-radius:12px 12px 0 0}.post-content-edit .ql-container{border:none;font-size:1rem;font-family:inherit;min-height:300px;max-height:500px;overflow-y:auto}.post-content-edit .ql-editor{min-height:300px;color:var(--text-700);line-height:1.7}.post-content-edit .ql-editor.ql-blank:before{color:var(--text-500);font-style:normal}.post-content-edit .ql-editor img{max-width:100%;height:auto;border-radius:8px;margin:10px 0}.post-content-edit .ql-toolbar button{color:var(--text-900)}.post-content-edit .ql-toolbar button:hover,.post-content-edit .ql-toolbar button.ql-active{color:var(--primary-500)}.post-content-edit .ql-stroke{stroke:var(--text-900)}.post-content-edit .ql-toolbar button:hover .ql-stroke,.post-content-edit .ql-toolbar button.ql-active .ql-stroke{stroke:var(--primary-500)}.post-content-edit .ql-fill{fill:var(--text-900)}.post-content-edit .ql-toolbar button:hover .ql-fill,.post-content-edit .ql-toolbar button.ql-active .ql-fill{fill:var(--primary-500)}.post-title-input{width:100%;font-size:1.5rem;font-weight:700;color:var(--text-900);line-height:1.4;padding:10px;border:2px solid var(--primary-500);border-radius:8px;font-family:inherit;transition:all .2s ease;box-sizing:border-box;background:var(--neutral-100)}.post-title-input:focus{outline:none;border-color:var(--primary-600);box-shadow:0 0 0 3px #667eea1a}.header-spacer{flex:1}.board-detail-header .post-action-buttons{display:flex;flex-direction:row;gap:8px;padding:0;border:none}.post-edit-btn,.post-delete-btn,.post-save-btn,.post-cancel-btn{padding:8px 12px;border-radius:8px!important;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.85rem;border:none!important;display:flex;align-items:center;justify-content:center;box-sizing:border-box;white-space:nowrap}.post-edit-btn{background:var(--primary-500);color:#fff}.post-edit-btn:hover{background:var(--primary-600);transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.post-delete-btn{background:var(--danger-500);color:#fff}.post-delete-btn:hover{background:var(--danger-600);transform:translateY(-2px);box-shadow:0 4px 12px #dc26264d}.comments-section{display:flex;flex-direction:column}.comments-header{margin-bottom:16px}.comments-header h3{margin:0;font-size:1.2rem;font-weight:700;color:var(--text-900)}.comments-list{display:flex;flex-direction:column;gap:16px;margin-bottom:10px}.no-comments{text-align:center;padding:40px 20px;color:var(--text-500);font-size:.95rem}.comment-item{background:var(--neutral-100);padding:16px;border-radius:12px;position:relative}.comment-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.comment-author{font-weight:600;color:var(--text-900);font-size:.9rem}.comment-date{font-size:.85rem;color:var(--text-500)}.comment-content{font-size:.95rem;line-height:1.6;color:var(--text-700);white-space:pre-wrap;word-break:break-word}.comment-delete-btn{position:absolute;top:12px;right:12px;background:transparent;border:1px solid var(--danger-500);color:var(--danger-500);padding:4px 12px;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.comment-delete-btn:hover{background:var(--danger-500);color:#fff}.comment-input-container{display:flex;flex-direction:column;gap:12px}.comment-input{width:100%;padding:12px 16px;border:2px solid var(--neutral-200);border-radius:12px;font-size:.95rem;font-family:inherit;resize:vertical;transition:all .2s ease;background:var(--neutral-100);color:var(--text-900);box-sizing:border-box}.comment-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #667eea1a}.comment-input:disabled{background:var(--neutral-100);cursor:not-allowed}.comment-submit-btn{align-self:flex-end;background:var(--primary-500);color:#fff;border:none;padding:10px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.95rem}.comment-submit-btn:hover:not(:disabled){background:var(--primary-600);transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.comment-submit-btn:disabled{background:var(--neutral-400);cursor:not-allowed;transform:none;box-shadow:none}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-500)}.loading-icon{font-size:4rem;margin-bottom:16px;opacity:.6}.loading-state h3{margin:0;font-size:1.2rem;font-weight:600;color:var(--text-700)}@media (max-width: 768px){.board-detail-header{padding:15px}.board-detail-header h1{font-size:1.3rem}.post-card,.comments-card{padding:10px}.post-title{font-size:1.3rem}.post-content{font-size:.95rem}}@media (max-width: 480px){.board-detail-container,.board-detail-header{padding:10px}.board-detail-header h1{font-size:1.2rem}.post-card,.comments-card{padding:10px}.post-action-buttons{flex-direction:row}.post-edit-btn,.post-delete-btn{width:50%}.post-title{font-size:1.2rem}.post-content{font-size:.9rem}}.board-container{background-color:var(--neutral-100);position:relative;display:flex;flex-direction:column;min-height:100vh;padding:10px}.board-header{display:flex;align-items:center;justify-content:center;padding:10px;background:var(--surface);border-radius:16px;margin-bottom:10px;box-shadow:0 4px 20px #0000001a}.board-header h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-900);flex:1;text-align:center}.board-dropdown-wrapper{position:relative;width:100%}.board-dropdown{display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 12px;border-radius:8px;transition:background-color .2s ease}.board-dropdown:hover{background-color:var(--neutral-200)}.board-dropdown h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-900)}.board-dropdown .dropdown-arrow{width:20px;height:20px;transition:transform .2s ease;color:var(--text-600)}.board-dropdown.open .dropdown-arrow{transform:rotate(180deg)}.board-dropdown-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--surface);border-radius:12px;box-shadow:0 8px 32px #00000026;min-width:200px;max-width:280px;overflow:hidden;z-index:100;animation:dropdown-slide-down .2s ease}@keyframes dropdown-slide-down{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.board-dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid var(--neutral-200)}.board-dropdown-item:last-child{border-bottom:none}.board-dropdown-item:hover{background-color:var(--neutral-100)}.board-dropdown-item.selected{background-color:var(--primary-50)}.board-dropdown-item .board-name{font-size:1rem;font-weight:600;color:var(--text-900)}.board-dropdown-item.selected .board-name{color:var(--primary-600)}.board-dropdown-item .board-count{font-size:.875rem;color:var(--text-600);margin-left:8px}.write-btn{background:var(--primary-500);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem}.write-btn:hover{background:var(--primary-600);transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.board-content{flex:1;background:transparent;border-radius:16px;padding:0;box-shadow:none}.empty-board{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-500)}.empty-icon{font-size:4rem;margin-bottom:16px;opacity:.6}.empty-board h3{margin:0 0 8px;font-size:1.2rem;font-weight:600;color:var(--text-700)}.empty-board p{margin:0;font-size:1rem;opacity:.8}.posts-list{display:flex;flex-direction:column}.post-item{background:transparent;border-radius:0;padding:16px;border-bottom:1px solid var(--neutral-200);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:8px}.post-item:hover{background:var(--neutral-100)}.post-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.post-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-900);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.post-date{font-size:.85rem;color:var(--text-500);font-weight:500;white-space:nowrap}.post-meta{display:flex;align-items:center;justify-content:flex-start;font-size:.85rem;color:var(--text-500);gap:8px}.notice-tag{background:var(--primary-500);color:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.post-author{font-weight:500}.post-stats{display:flex;align-items:center;gap:12px;margin-left:auto}.post-images,.post-comments{display:flex;align-items:center;gap:4px}.image-icon,.comment-icon{width:16px;height:16px;color:var(--text-500)}.post-images span,.post-comments span{font-size:.85rem;color:var(--text-600);font-weight:500}.infinite-scroll-trigger{display:flex;justify-content:center;padding:20px;min-height:60px}.loading-more{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-500);font-size:.9rem}.spinner{width:32px;height:32px;border:3px solid var(--neutral-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.no-more-posts{text-align:center;padding:24px;color:var(--text-400);font-size:.9rem;border-top:1px solid var(--neutral-200);margin-top:8px}@media (max-width: 768px){.board-header{padding:10px}.board-header h1{font-size:1.5rem}.board-content{padding:0}.empty-board{padding:40px 16px}.empty-icon{font-size:3rem}}.floating-add-btn{position:fixed;right:20px;bottom:100px;width:56px;height:56px;border-radius:50%;background:var(--primary-500);color:#fff;border:none;font-size:2rem;font-weight:300;cursor:pointer;box-shadow:0 4px 16px #667eea66;transition:all .3s ease;z-index:100;display:flex;align-items:center;justify-content:center;line-height:1}.floating-add-btn:hover{background:var(--primary-600);transform:scale(1.1) translateY(-2px);box-shadow:0 6px 20px #667eea80}.floating-add-btn:active{transform:scale(.95)}@media (max-width: 768px){.floating-add-btn{right:16px;bottom:96px;width:52px;height:52px;font-size:1.8rem}}.member-management-container{height:100%;background-color:var(--neutral-100);position:relative;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;min-height:0}.member-nav-bar{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px 20px 15px;background:var(--neutral-100);border-bottom:1px solid rgba(0,0,0,.1);position:sticky;top:0;z-index:10;align-content:center;flex-wrap:wrap}.member-nav-btn{padding:8px 14px;border:2px solid var(--primary-500);background:var(--primary-500);color:#fff;border-radius:20px;cursor:pointer;font-weight:600;font-size:.85rem;line-height:1;transition:all .3s ease;white-space:nowrap;min-width:55px;height:36px;display:flex;align-items:center;justify-content:center;gap:4px;box-sizing:border-box;margin:-2px 0 0;vertical-align:middle;align-self:center;flex-shrink:0}.member-nav-btn:hover{background:var(--primary-600);transform:translateY(-2px)}.member-nav-btn.active{background:var(--primary-700);color:#fff;transform:translateY(-2px)}.search-btn{background:var(--grad-primary);border:none;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;margin-left:10px;margin-top:0;margin-bottom:0;vertical-align:middle;align-self:center;flex-shrink:0}.search-btn:hover{transform:translateY(-2px) scale(1.05)}.search-btn img{width:20px;height:20px;filter:brightness(0) invert(1)}.add-member-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;margin-left:10px;margin-top:0;margin-bottom:0;color:#fff;font-size:1.2rem;font-weight:700;line-height:1;vertical-align:middle;align-self:center;flex-shrink:0}.add-member-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #28a74566}.member-content{flex:1;padding:20px;overflow-y:auto;-webkit-overflow-scrolling:touch}.error-state button{background:var(--grad-primary);color:#fff;border:none;padding:8px;border-radius:8px;cursor:pointer;font-weight:600;transition:transform .3s ease}.member-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;row-gap:10px;padding-bottom:20px;transition:transform .35s ease-in-out,opacity .35s ease-in-out}.member-card{background:var(--surface);border-radius:15px;padding:15px;box-shadow:0 2px 10px #00000014;transition:all .3s ease;border:2px solid transparent;display:grid;grid-template-columns:80px minmax(0,1fr) auto;align-items:center;gap:16px;position:relative}.member-card:hover{border-color:var(--primary-500);transform:translateY(-2px)}.member-card.new-member{border-color:#ff6b35;background:linear-gradient(135deg,#ff6b350d,#f7931e0d)}.member-card.new-member:hover{border-color:#ff8c42}.inactive-member-badge{background:linear-gradient(135deg,#6c757d,#495057);color:#fff;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:700;display:inline-block}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.member-editor-panel{position:fixed;top:0;right:0;height:100vh;width:560px;max-width:92vw;background:var(--surface);box-shadow:-12px 0 28px #0000002e;transform:translate(100%);transition:transform .4s cubic-bezier(.22,1,.36,1);z-index:50;display:flex;flex-direction:column;border-left:1px solid rgba(0,0,0,.06);border-top-left-radius:14px;border-bottom-left-radius:14px}.member-editor-panel.open{transform:translate(0)}.editor-inner{display:flex;flex-direction:column;height:100%}.editor-header-new{padding:20px 18px;border-bottom:1px solid rgba(0,0,0,.1);background:transparent}.editor-header-new h3{margin:0;font-size:1.2rem;color:var(--text-900);font-weight:700}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(0,0,0,.02);background:var(--grad-primary);color:#fff;transition:all .5s ease}.editor-header.edit-mode{background:#007bff;animation:brightnessBreathe 2.5s ease-in-out infinite;position:relative}@keyframes brightnessBreathe{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.editor-header h3{margin:0;font-size:1.1rem;color:#fff;position:relative;z-index:1}.editor-close{border:none;background:#ffffff1f;color:#fff;font-size:18px;cursor:pointer;width:32px;height:32px;border-radius:8px}.editor-close:hover{background:#ffffff38}.editor-body{padding:20px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:0;background:var(--neutral-100);padding-bottom:calc(100px + env(safe-area-inset-bottom,0px));min-height:calc(100vh - 80px)}.editor-row{display:flex;flex-direction:column;gap:4px}.editor-row label{font-size:.85rem;color:var(--text-700)}.editor-row input,.editor-row select{padding:10px 12px;border:2px solid var(--neutral-300);border-radius:8px;font-size:.95rem;background:var(--surface);transition:all .2s ease}.editor-row input:focus,.editor-row select:focus{outline:none;border-color:var(--primary-500);background:var(--neutral-200);box-shadow:0 0 0 3px #667eea26}.editor-row input[readonly],.editor-row select[disabled]{background:#f8f9fa!important;border-color:#d1d5db!important;color:#6b7280!important;cursor:not-allowed!important;-webkit-user-select:none;user-select:none}.editor-row input[readonly]::placeholder{color:#9ca3af!important}.editor-row select[disabled]{opacity:.7}.editor-row input[readonly]:hover,.editor-row select[disabled]:hover{border-color:#d1d5db!important;box-shadow:none!important}.editor-section-title{margin-top:4px;margin-bottom:-4px;font-weight:800;color:var(--primary-700);background:#667eea1f;padding:6px 10px;border-radius:999px;width:fit-content}.editor-footer{margin-top:auto;padding:14px 18px;border-top:1px solid rgba(0,0,0,.08);display:flex;gap:10px;justify-content:flex-end}.editor-save{background:var(--grad-primary);color:#fff;border:none;padding:12px 0;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:14px;width:100%;height:44px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.editor-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.editor-save:disabled{background:var(--neutral-400);cursor:not-allowed;transform:none;box-shadow:none}.editor-save.edit-mode{background:#007bff;animation:brightnessBreathe 2.5s ease-in-out infinite}.editor-cancel{background:linear-gradient(135deg,#6c757d,#495057);color:#fff;border:none;padding:12px 0;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:14px;width:100%;height:44px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.editor-cancel:hover:not(:disabled){transform:translateY(-2px)}.editor-cancel:disabled{background:var(--neutral-400);cursor:not-allowed;transform:none}.editor-profile{display:flex;align-items:center;gap:16px}.editor-photo-wrap{position:relative}.editor-photo{width:140px;height:140px;border-radius:50%;overflow:hidden;background:var(--neutral-200);border:2px solid var(--neutral-300);flex-shrink:0}.editor-photo img{width:100%;height:100%;object-fit:cover;display:block}.editor-profile-fields{flex:1;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.editor-profile-fields .editor-row input,.editor-profile-fields .editor-row select{width:100%}.inline-fields{display:flex;gap:8px;align-items:center;width:100%}.inline-fields select{flex:0 0 84px;min-width:72px;padding:10px 8px;width:auto!important}.inline-fields input{flex:1 1 auto;min-width:0;width:auto}.editor-row.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.editor-row.two-col .field{display:flex;flex-direction:column;gap:4px}.editor-row.two-col input[readonly]{background:var(--neutral-150);color:var(--text-700)}@media (max-width: 500px){.member-editor-panel{width:560px;max-width:92vw}.editor-backdrop.show{opacity:1;pointer-events:auto}}.editor-backdrop{position:fixed;inset:0;background:#0003;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:40}.editor-backdrop.show{opacity:1;pointer-events:auto}.member-avatar{display:flex;justify-content:flex-start;align-items:center;flex-shrink:0;flex-grow:0}.member-card .member-avatar{width:auto;height:auto;border:none;background:transparent;border-radius:0;box-shadow:none;outline:none}.avatar-placeholder{width:60px;height:60px;min-width:60px;max-width:60px;min-height:60px;max-height:60px;background:var(--primary-500);border:none;border-radius:50%;box-sizing:border-box;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;font-weight:700;text-transform:uppercase;box-shadow:none;flex-shrink:0;flex-grow:0}.member-info{display:flex;flex-direction:column;gap:8px;text-align:center;max-width:100%;overflow:hidden;flex:1;min-width:0}.member-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.member-name{font-size:1.2rem;font-weight:700;color:var(--text-900);margin:0}.member-id{font-size:.85rem;color:var(--text-500);font-weight:500}.member-tags{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}.member-code-tag,.class-tag{background:#667eea1a;color:var(--primary-600);display:inline-block;line-height:26px;height:26px;padding:0 10px;border-radius:12px;font-size:.8rem;font-weight:600;font-family:inherit;box-sizing:border-box;border:1px solid rgba(102,126,234,.2);margin:0;align-self:center;vertical-align:baseline}.member-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-shrink:0;flex-grow:0;min-width:fit-content}.member-actions .action-btn{background:var(--surface);border:2px solid #e0e0e0;border-radius:8px;width:64px;height:64px;min-width:64px;max-width:64px;min-height:64px;max-height:64px;padding:8px!important;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0;flex-grow:0}.member-actions .action-btn img{width:38px;height:38px;opacity:.7}.member-actions .action-btn:hover{transform:translateY(-2px);background:rgba(var(--primary-600-rgb),.12);border-color:var(--primary-600)}.member-actions .action-btn:hover img{opacity:1;filter:hue-rotate(120deg)}.member-actions .action-btn.payment-btn{background:linear-gradient(135deg,#28a745,#20c997);border-color:#28a745;color:#fff}.member-actions .action-btn.payment-btn img{opacity:1;filter:brightness(0) invert(1);transform:scale(1.1)}.member-actions .action-btn.payment-btn:hover{background:linear-gradient(135deg,#34c759,#30d5ad);border-color:#34c759;transform:translateY(-3px);box-shadow:0 8px 20px #28a74566}.member-actions .action-btn.payment-btn:hover img{filter:brightness(0) invert(1);transform:scale(1.2)}.empty-members{grid-column:1 / -1;text-align:center;padding:60px 20px;color:var(--text-600);font-size:1.1rem;background:var(--surface);border-radius:15px;border:2px dashed rgba(0,0,0,.1)}@media (max-width: 1024px) and (min-width: 481px){.member-nav-bar{gap:6px;padding:12px 10px 10px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.member-nav-bar::-webkit-scrollbar{display:none}.member-nav-btn{padding:6px 12px;font-size:.8rem;min-width:48px;height:32px;flex-shrink:0}.search-btn{width:34px;height:34px;margin-left:6px;flex-shrink:0}.search-btn img{width:16px;height:16px}.add-member-btn{width:34px;height:34px;margin-left:6px;font-size:1rem}.member-content{padding:15px}.member-cards-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;row-gap:10px}.member-card{padding:10px;gap:10px;grid-template-columns:50px 1fr 56px}.avatar-placeholder{width:50px;height:50px;min-width:50px;max-width:50px;min-height:50px;max-height:50px;font-size:1.2rem;flex-shrink:0;flex-grow:0}.member-name{font-size:1rem}.member-id{font-size:.75rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-code-tag,.class-tag{font-size:.75rem;padding:0 8px;height:22px;line-height:22px}.member-actions .action-btn{width:56px;height:56px;min-width:56px;max-width:56px;min-height:56px;max-height:56px}.member-actions .action-btn img{width:26px;height:26px}.member-cards-grid .member-card{grid-template-columns:64px minmax(0,1fr) auto}.member-cards-grid .member-avatar{min-width:56px}.member-info{text-align:center;margin-left:-5px;max-width:100%;overflow:hidden}}@media (max-width: 480px){.member-nav-bar{gap:4px;padding:8px 6px 6px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.member-nav-bar::-webkit-scrollbar{display:none}.member-nav-btn{padding:5px 10px;font-size:.75rem;min-width:42px;height:28px;font-weight:600;border-width:1px;border-radius:14px;flex-shrink:0}.search-btn{width:30px;height:30px;flex-shrink:0;margin-left:4px}.search-btn img{width:14px;height:14px}.add-member-btn{width:30px;height:30px;margin-left:4px;font-size:.9rem;flex-shrink:0}.member-content{padding:10px}.member-cards-grid{grid-template-columns:1fr;gap:20px;row-gap:10px}.member-card{padding:15px;gap:6px;grid-template-columns:45px 1fr 52px}.avatar-placeholder{width:45px;height:45px;min-width:45px;max-width:45px;min-height:45px;max-height:45px;font-size:1.1rem;flex-shrink:0;flex-grow:0}.member-name{font-size:.95rem}.member-id{font-size:.7rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-code-tag,.class-tag{font-size:.7rem;padding:0 6px;height:20px;line-height:20px}.member-actions .action-btn{width:52px;height:52px;min-width:52px;max-width:52px;min-height:52px;max-height:52px}.member-actions .action-btn img{width:24px;height:24px}.member-cards-grid .member-card{grid-template-columns:60px minmax(0,1fr) auto}.member-cards-grid .member-avatar{min-width:50px}.member-card{padding:15px}.member-avatar{margin-left:2px}.member-actions{margin-right:2px}.member-info{text-align:center;margin-left:-8px;max-width:100%;overflow:hidden}}.member-card{padding:15px}.member-avatar,.member-info{margin-left:0}.member-actions{margin-right:0}.member-cards-grid .member-card{grid-template-columns:72px minmax(0,1fr) auto}.member-cards-grid .member-avatar{min-width:60px}.floating-search-btn,.floating-add-member-btn{position:fixed;width:56px;height:56px;border-radius:50%;color:#fff;border:none;cursor:pointer;box-shadow:0 4px 16px #0000004d;transition:all .3s ease;z-index:100;display:flex;align-items:center;justify-content:center}.floating-search-btn{right:90px;bottom:100px;background:linear-gradient(135deg,#007acc,#0090e7)}.floating-search-btn img{width:24px;height:24px;filter:brightness(0) invert(1)}.floating-add-member-btn{right:20px;bottom:100px;background:linear-gradient(135deg,#28a745,#20c997);font-size:2rem;font-weight:300;line-height:1}.floating-search-btn:hover,.floating-add-member-btn:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 6px 20px #0006}.floating-search-btn:active,.floating-add-member-btn:active{transform:scale(.95)}@media (max-width: 768px){.floating-search-btn,.floating-add-member-btn{width:52px;height:52px;right:16px}.floating-search-btn{right:86px;bottom:96px}.floating-add-member-btn{bottom:96px;font-size:1.8rem}.floating-search-btn img{width:22px;height:22px}}.profile-card{padding:12px;background:var(--surface);border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:16px;height:auto;min-height:auto;position:relative;display:flex;flex-direction:column}.profile-text{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:4px}.profile-userid{font-size:.9rem;color:var(--text-600);font-weight:500;margin-bottom:10px;text-align:center;width:100%;display:flex;align-items:center;justify-content:center;line-height:1;height:.9rem}.profile-name{font-size:1.4rem;font-weight:700;color:var(--text-900);text-align:center;width:100%;display:flex;align-items:center;justify-content:center;line-height:1;height:1.4rem;padding-bottom:2px}.profile-class-select{padding:0 8px;border:none;border-radius:6px;font-size:.9rem;font-weight:600;min-width:70px;background:var(--neutral-100);color:var(--text-900);transition:all .2s ease;height:1.6rem;line-height:1.6rem;box-sizing:border-box;display:flex;align-items:center}.profile-class-select option{padding:2px 0}.profile-class-select:disabled{background:#f8f9fa!important;color:#6b7280!important;cursor:not-allowed}.profile-class-select:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #667eea26}.info-card,.payment-card{background:var(--surface);border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:16px;overflow:visible;display:flex;flex-direction:column;min-height:fit-content;height:auto;position:relative}.info-row{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;flex-shrink:0}.payment-row{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;flex-shrink:0}.info-row-two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:8px;flex-shrink:0}.payment-row-two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:0;flex-shrink:0}.info-row-two-col:first-child,.payment-row-two-col:first-child{margin-top:0}.info-field,.payment-field{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.info-field label,.payment-field label{font-size:.85rem;color:var(--text-700);font-weight:500;text-align:left!important;display:block;width:100%;margin-bottom:4px}.info-field input,.info-field select,.payment-field input{padding:14px 16px;border:none;border-radius:8px;font-size:.95rem;background:var(--neutral-100);transition:all .2s ease;min-height:48px;box-sizing:border-box}.info-field input[readonly],.payment-field input[readonly]{background:var(--neutral-100)!important;color:var(--text-900)!important}.editor-actions-inline{display:flex;gap:10px;justify-content:stretch;align-items:stretch;margin-top:30px;width:100%;flex-shrink:0}.editor-actions-inline .editor-save,.editor-actions-inline .editor-cancel{flex:1 1 50%;border-radius:12px}.member-search-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:flex-start;z-index:1000;padding:60px 20px 100px}.member-search-popup{background:var(--surface);border-radius:20px;width:100%;max-width:600px;max-height:calc(100vh - 120px);display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden;transition:transform .3s ease-out,opacity .3s ease-out}.member-search-popup.slide-out-left{transform:translate(-100%);opacity:0}.search-input-section{padding:25px 25px 20px;border-bottom:1px solid rgba(0,0,0,.05)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:15px;width:20px;height:20px;opacity:.5;z-index:1}.search-input{width:100%;padding:15px 15px 15px 50px;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;font-family:inherit;background:var(--surface);transition:all .3s ease}.search-input:focus{outline:none;border-color:var(--primary-500);background:var(--neutral-200);box-shadow:0 0 0 3px #667eea1a}.search-input::placeholder{color:var(--text-500)}.clear-btn{position:absolute;right:15px;background:#0000001a;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;color:var(--text-600);transition:all .3s ease}.clear-btn:hover{background:#0003}.search-results{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:200px;max-height:calc(100vh - 400px);background:var(--neutral-100)}.search-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.placeholder-icon{width:64px;height:64px;opacity:.3;margin-bottom:20px}.search-placeholder p{margin:0;color:var(--neutral-50);font-size:1rem}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.no-results p{margin:0 0 8px;color:var(--text-700);font-size:1.1rem;font-weight:600}.no-results span{color:var(--text-600);font-size:.9rem}.results-header{padding:15px 25px;background:var(--neutral-100);border-bottom:1px solid rgba(0,0,0,.05)}.results-header span{color:var(--text-700);font-size:.9rem;font-weight:600}.results-list{padding:15px}.search-member-card{background:var(--surface);border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:0 2px 8px #0000000f;transition:all .3s ease;border:2px solid transparent;display:grid;grid-template-columns:70px 1fr;align-items:center;gap:12px;cursor:pointer}.search-member-card:hover{border-color:var(--primary-500);transform:translateY(-2px)}.search-member-card.selected{background:#667eea14;border-color:var(--primary-500);transform:translateY(-2px)}.card-slide-actions{display:flex;gap:10px;padding:0 14px;overflow:hidden;max-height:0;opacity:0;transform:translateY(-6px);transition:max-height .35s ease,opacity .25s ease,transform .35s ease,padding .2s ease}.card-slide-actions.open{max-height:120px;opacity:1;transform:translateY(0);padding:10px 14px 14px}.slide-action{flex:1 1 50%;border:2px solid var(--neutral-300);border-radius:10px;background:var(--surface);color:var(--text-900);font-weight:700;padding:12px 10px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.slide-action img{width:16px;height:16px;opacity:.8}.slide-action.edit{background:var(--grad-primary);color:#fff;border:none}.slide-action.edit img{filter:brightness(0) invert(1);opacity:1}.slide-action.payment{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none}.slide-action.payment img{filter:brightness(0) invert(1);opacity:1}.slide-action.payment:hover{background:linear-gradient(135deg,#34c759,#30d5ad);transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.slide-action.edit:hover{transform:translateY(-2px)}.search-member-card .member-avatar{display:flex;justify-content:center;align-items:center;flex-shrink:0;flex-grow:0}.search-member-card .avatar-placeholder{width:50px;height:50px;min-width:50px;max-width:50px;min-height:50px;max-height:50px;background:var(--primary-500);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;font-weight:700;text-transform:uppercase;box-shadow:none;flex-shrink:0;flex-grow:0}.search-member-card .member-info{display:flex;flex-direction:column;gap:6px;text-align:center}.search-member-card .member-header{display:flex;flex-direction:column;align-items:center;gap:4px}.search-member-card .member-name{font-size:1rem;font-weight:700;color:var(--text-900);margin:0}.search-member-card .member-id{font-size:.8rem;color:var(--text-500);font-weight:500}.search-member-card .member-tags{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.search-member-card .member-code-tag,.search-member-card .class-tag{background:#667eea1a;color:var(--primary-600);display:inline-block;line-height:22px;height:22px;padding:0 8px;border-radius:10px;font-size:.75rem;font-weight:600;font-family:inherit;box-sizing:border-box;border:1px solid rgba(102,126,234,.2);margin:0;align-self:center;vertical-align:baseline}.member-details-section{padding:20px 25px;background:var(--neutral-50);border-top:1px solid rgba(0,0,0,.05);max-height:250px;overflow-y:auto;flex-shrink:0}.member-details-section h4{margin:0 0 15px;font-size:1.1rem;font-weight:700;color:var(--text-900)}.detail-grid{display:grid;gap:10px}.detail-row{display:flex;align-items:center;gap:12px}.detail-row .label{min-width:80px;font-size:.85rem;color:var(--text-600);font-weight:500}.detail-row .value{font-size:.9rem;color:var(--text-800);font-weight:600}.search-footer{display:flex;justify-content:center;align-items:center;padding:20px 25px;border-top:1px solid rgba(0,0,0,.1);background:var(--neutral-100);flex-shrink:0}.close-footer-btn{background:linear-gradient(135deg,#6c757d,#495057);color:#fff;border:none;padding:14px 40px;border-radius:10px;font-weight:600;cursor:pointer;transition:transform .3s ease;font-size:1rem;min-width:120px}.close-footer-btn:hover{transform:translateY(-2px)}@media (max-width: 768px){.member-search-overlay{padding:40px 10px 90px}.member-search-popup{max-width:none;max-height:calc(100vh - 100px)}.search-results{max-height:calc(100vh - 350px)}.search-input-section{padding:20px 20px 15px}.search-input{padding:12px 12px 12px 45px;font-size:.9rem}.search-icon{left:12px;width:18px;height:18px}.results-header,.result-item{padding:12px 20px}.result-item .avatar-placeholder{width:40px;height:40px;font-size:1rem}.result-item .member-name{font-size:1rem}.member-details-section,.search-footer{padding:15px 20px}.detail-row .label{min-width:70px;font-size:.8rem}}@media (max-width: 480px){.member-search-overlay{padding:30px 5px 85px}.member-search-popup{max-height:calc(100vh - 80px)}.search-results{max-height:calc(100vh - 320px)}.search-input-section{padding:18px 15px 12px}.results-header{padding:10px 15px}.results-list{padding:10px}.search-member-card{padding:10px;gap:8px;grid-template-columns:60px 1fr;margin-bottom:8px}.search-member-card .member-avatar{flex-shrink:0;flex-grow:0}.search-member-card .avatar-placeholder{width:40px;height:40px;min-width:40px;max-width:40px;min-height:40px;max-height:40px;font-size:1rem;flex-shrink:0;flex-grow:0}.search-member-card .member-name{font-size:.9rem}.search-member-card .member-id{font-size:.75rem}.search-member-card .member-code-tag,.search-member-card .class-tag{font-size:.7rem;height:20px;line-height:20px;padding:0 6px}.member-details-section,.search-footer{padding:12px 15px}.close-footer-btn{width:100%;justify-content:center;padding:16px 20px;font-size:1.1rem;min-height:50px}}.member-profile-container{background-color:var(--neutral-100);position:relative;display:flex;flex-direction:column;min-height:0;flex:1}.member-profile-header{display:flex;align-items:center;justify-content:space-between;padding:20px;background:var(--surface);border-bottom:1px solid rgba(0,0,0,.1);position:sticky;top:0;z-index:10}.member-profile-header h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-900);flex:1;text-align:center}.back-btn{background:transparent;border:none;color:var(--text-700);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border-radius:8px}.back-btn:hover{background:var(--neutral-200);color:var(--primary-500)}.edit-mode-btn{background:var(--primary-500);color:#fff;border:none;padding:8px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.edit-mode-btn img{width:24px;height:24px;object-fit:contain}.edit-mode-btn:hover:not(:disabled){background:var(--primary-600);transform:translateY(-1px)}.edit-mode-btn:disabled{background:var(--neutral-400);cursor:not-allowed;opacity:.6}.save-mode-btn{background:var(--primary-500)}.save-mode-btn:hover:not(:disabled){background:var(--primary-600)}.member-profile-content{flex:1;padding:20px;display:flex;flex-direction:column;gap:16px;max-width:800px;margin:0 auto;width:100%;min-height:0}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;gap:15px}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-500);border-radius:50%;animation:spin 1s linear infinite}.loading-state span{color:var(--text-600);font-size:1rem}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;gap:15px}.error-state span{color:var(--text-700);font-size:1rem;text-align:center}.error-state button{background:var(--primary-500);color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:transform .3s ease}.error-state button:hover{transform:translateY(-2px)}.profile-card{padding:20px;background:var(--surface);border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:0;height:auto;min-height:auto;position:relative;display:flex;flex-direction:column;gap:16px}.profile-photo{width:80px;height:80px;border-radius:50%;overflow:hidden;background:var(--neutral-200);border:3px solid var(--primary-500);flex-shrink:0}.profile-photo img{width:100%;height:100%;object-fit:cover}.profile-text{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:0;flex:1}.profile-userid{font-size:.95rem;color:var(--text-600);font-weight:500;margin-bottom:12px;text-align:center;width:100%;display:flex;align-items:center;justify-content:center;line-height:1.2;min-height:32px}.profile-name{font-size:1.5rem;font-weight:700;color:var(--text-900);text-align:center;width:100%;display:flex;align-items:center;justify-content:center;line-height:1.2;min-height:40px}.profile-card-header{position:absolute;top:12px;right:12px;background:var(--primary-500);color:#fff;padding:6px 12px;font-weight:600;font-size:.8rem;border-radius:20px;box-shadow:0 2px 6px #667eea4d;z-index:1}.info-card,.payment-card{background:var(--surface);border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:0;overflow:visible;display:flex;flex-direction:column;min-height:fit-content;height:auto;position:relative}.card-header{position:absolute;top:12px;right:12px;background:var(--primary-500);color:#fff;padding:6px 12px;font-weight:600;font-size:.8rem;border-radius:20px;box-shadow:0 2px 6px #667eea4d;z-index:1}.card-content{padding:40px 10px 10px;flex:1;display:flex;flex-direction:column;min-height:fit-content;height:auto}.info-row,.payment-row{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;flex-shrink:0}.info-row:first-child,.payment-row:first-child{margin-top:0}.info-row:last-child,.payment-row:last-child{margin-bottom:0}.info-row label,.payment-row label{font-size:.85rem;color:var(--text-700);font-weight:500;text-align:left!important;display:block;width:100%;margin-bottom:4px}.info-row input,.info-row select,.payment-row input,.payment-row select{padding:14px 16px;border:none;border-radius:8px;font-size:.95rem;background:var(--neutral-100);transition:all .2s ease;min-height:48px;box-sizing:border-box}.info-row input:focus,.info-row select:focus,.payment-row input:focus,.payment-row select:focus{outline:none;background:var(--neutral-200);box-shadow:0 0 0 3px #667eea26}.info-row input[readonly],.info-row select[disabled],.payment-row input[readonly],.payment-row select[disabled]{background:var(--neutral-100)!important;color:var(--text-900)!important;cursor:not-allowed!important}.info-card .card-content .info-row-two-col,.payment-card .card-content .payment-row-two-col{display:grid!important;grid-template-columns:1fr 1fr!important;gap:20px!important;margin-bottom:20px!important;flex-shrink:0;flex-direction:unset!important;align-items:unset!important}.payment-row-two-col{margin-bottom:0}.payment-field,.info-field{display:flex!important;flex-direction:column!important;gap:6px;flex-shrink:0}.payment-field label,.info-field label{font-size:.85rem;color:var(--text-700);font-weight:500;text-align:left!important;display:block;width:100%;margin-bottom:4px}.payment-field input,.info-field input,.info-field select{padding:14px 16px;border:none;border-radius:8px;font-size:.95rem;background:var(--neutral-100);transition:all .2s ease;min-height:48px;box-sizing:border-box}.payment-field input[readonly],.info-field input[readonly],.info-field select[disabled]{background:var(--neutral-100)!important;color:var(--text-900)!important}.payment-fee-row{display:flex;align-items:center;gap:8px}.fee-period-select{padding:14px 12px;border:none;border-radius:8px;font-size:.95rem;background:var(--neutral-100);transition:all .2s ease;min-height:48px;box-sizing:border-box;flex:0 0 100px}.fee-period-select:focus{outline:none;box-shadow:0 0 0 3px #667eea26}.fee-period-select:disabled{background:var(--neutral-100)!important;color:var(--text-900)!important;cursor:not-allowed!important}.fee-text{font-size:.95rem;color:var(--text-700);font-weight:500;flex:0 0 auto}.fee-amount-input{flex:1;padding:14px 16px;border:none;border-radius:8px;font-size:.95rem;background:var(--neutral-100);transition:all .2s ease;min-height:48px;box-sizing:border-box}.fee-amount-input:focus{outline:none;background:var(--neutral-200);box-shadow:0 0 0 3px #667eea26}.fee-amount-input[readonly]{background:var(--neutral-100)!important;color:var(--text-900)!important;cursor:not-allowed!important}.profile-name-input,.profile-password-input{width:100%;padding:8px 12px;border:none;border-radius:6px;background:var(--neutral-100);outline:none;box-sizing:border-box;transition:all .2s ease}.profile-name-input{font-size:1.5rem;font-weight:700;text-align:center;height:40px;color:var(--text-900)}.profile-password-input{font-size:.9rem;font-weight:400;height:36px;color:var(--text-900)}.profile-name-input:focus,.profile-password-input:focus{background:var(--neutral-200);box-shadow:0 0 0 3px #667eea26}.phone-number-row{display:flex;align-items:center;gap:8px;width:100%;max-width:100%}.phone-part-input{padding:14px 16px;border:none;border-radius:8px;font-size:.95rem;background:var(--neutral-100);transition:all .2s ease;min-height:48px;box-sizing:border-box;text-align:center;min-width:0}.phone-part-input:first-child{flex:0 0 25%;max-width:90px;min-width:70px}.phone-part-input:nth-child(3),.phone-part-input:nth-child(5){flex:1 1 37%;max-width:none;min-width:90px}.phone-part-input:focus{outline:none;background:var(--neutral-200);box-shadow:0 0 0 3px #667eea26}.phone-part-input[readonly]{background:var(--neutral-100)!important;color:var(--text-900)!important;cursor:not-allowed!important}.phone-dash{font-size:1.2rem;font-weight:700;color:var(--text-700);flex:0 0 auto;min-width:12px;text-align:center}@media (max-width: 768px){.phone-number-row{gap:6px}.phone-part-input{padding:12px 8px;font-size:.9rem}.phone-part-input:first-child{flex:0 0 23%;max-width:70px;min-width:55px}.phone-part-input:nth-child(3),.phone-part-input:nth-child(5){flex:1 1 38%;min-width:75px}.phone-dash{font-size:1rem;min-width:10px}}@media (max-width: 480px){.phone-number-row{gap:4px}.phone-part-input{padding:10px 6px;font-size:.85rem}.phone-part-input:first-child{flex:0 0 21%;max-width:55px;min-width:48px}.phone-part-input:nth-child(3),.phone-part-input:nth-child(5){flex:1 1 39%;min-width:65px}}.member-profile-actions{display:flex;gap:10px;justify-content:stretch;align-items:stretch;width:100%;flex-shrink:0}.save-btn{flex:1 1 50%;padding:12px 24px;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem;height:44px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--primary-500);color:#fff}.save-btn:hover:not(:disabled){background:var(--primary-600);transform:translateY(-2px)}.save-btn:disabled{background:var(--neutral-400);cursor:not-allowed;transform:none;box-shadow:none}.cancel-btn{flex:1 1 50%;padding:12px 24px;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem;height:44px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#6c757d,#495057);color:#fff}.cancel-btn:hover:not(:disabled){transform:translateY(-2px)}.cancel-btn:disabled{background:var(--neutral-400);cursor:not-allowed;transform:none}.activation-btn{flex:1 1 50%;padding:12px 24px;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem;height:44px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;color:#fff}.activation-btn.active{background:linear-gradient(135deg,#ff9500,#ff6b00)}.activation-btn.inactive{background:linear-gradient(135deg,#6c757d,#495057)}.activation-btn.active:hover:not(:disabled){background:linear-gradient(135deg,#ff6b00,#f50);transform:translateY(-2px)}.activation-btn.inactive:hover:not(:disabled){background:linear-gradient(135deg,#495057,#343a40);transform:translateY(-2px)}.activation-btn:disabled{background:var(--neutral-400);cursor:not-allowed;transform:none;box-shadow:none}.delete-btn{flex:1 1 50%;padding:12px 24px;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem;height:44px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.delete-btn:hover:not(:disabled){background:linear-gradient(135deg,#c82333,#bd2130);transform:translateY(-2px)}.delete-btn:disabled{background:var(--neutral-400);cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.member-profile-header{padding:15px}.member-profile-header h1{font-size:1.3rem}.member-profile-content{padding:15px}.payment-row-two-col,.card-content .info-row-two-col{grid-template-columns:1fr!important;gap:15px}}@media (max-width: 480px){.member-profile-header{padding:12px}.member-profile-header h1{font-size:1.2rem}.back-btn{padding:6px}.edit-mode-btn{padding:8px}.member-profile-content{padding:12px}.profile-card,.info-card,.payment-card{margin-bottom:0}.info-row,.payment-row{margin-bottom:16px}.info-row input,.info-row select,.payment-row input,.payment-row select,.payment-field input,.info-field input,.info-field select,.fee-period-select,.fee-amount-input{padding:12px 14px;font-size:.9rem;min-height:44px}.fee-text{font-size:.9rem}}.info-row-two-col{display:grid!important;grid-template-columns:1fr 1fr!important;gap:20px!important;margin-bottom:20px!important;flex-direction:unset!important;align-items:unset!important}.info-field{display:flex!important;flex-direction:column!important;gap:6px!important}.schedule-container{padding:10px;max-width:1200px;margin:0 auto;font-family:Noto Sans KR,sans-serif}.schedule-header{text-align:center;margin-bottom:30px}.schedule-header h2{font-size:2.5rem;font-weight:700;color:var(--text-900);margin-bottom:10px}.schedule-header p{font-size:1.1rem;color:var(--text-500);margin:0}.calendar-navigation{display:flex;justify-content:center;align-items:center;margin-bottom:20px;gap:20px}.nav-btn{background:var(--primary-500);color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:18px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.nav-btn:hover{background:var(--primary-600);transform:scale(1.1)}.current-month{font-size:1.8rem;font-weight:600;color:var(--text-900);margin:0;min-width:200px;text-align:center}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:1px;background:#bdc3c7;border-radius:8px 8px 0 0;overflow:hidden}.weekday{background:#34495e;color:#fff;padding:15px 10px;text-align:center;font-weight:600;font-size:.9rem}.weekday:first-child{color:#e74c3c}.weekday:last-child{color:#3498db}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#bdc3c7;border-radius:0 0 8px 8px;overflow:hidden}.calendar-cell{background:var(--surface);min-height:80px;padding:10px 8px;cursor:pointer;transition:all .2s ease;position:relative;display:flex;flex-direction:column;align-items:flex-start}.calendar-cell:hover{background:var(--neutral-100);transform:translateY(-2px)}.calendar-cell.other-month{background:var(--neutral-200);color:#bdc3c7}.calendar-cell.other-month:hover{background:#e8eaed}.calendar-cell.today{background:var(--grad-primary);color:#fff}.calendar-cell.today:hover{background:var(--grad-primary-hover)}.calendar-cell.selected{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.calendar-cell.selected:hover{background:linear-gradient(135deg,#218838,#1ea885)}.date-number{font-size:1.1rem;font-weight:600;margin-bottom:5px}.calendar-cell:nth-child(7n+1) .date-number{color:#e74c3c}.calendar-cell:nth-child(7n) .date-number{color:#3498db}.calendar-cell.today .date-number,.calendar-cell.selected .date-number{color:#fff}.calendar-cell.other-month .date-number{color:#bdc3c7}.selected-date-info{margin-top:30px;padding:20px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:12px;text-align:center}.selected-date-info h4{font-size:1.5rem;color:var(--text-900);margin-bottom:10px;font-weight:600}.selected-date-info p{color:var(--text-500);font-size:1rem;margin:0}.class-section{margin-top:40px;padding-top:30px;border-top:2px solid #ecf0f1}.class-section-header{text-align:center;margin-bottom:30px}.class-section-header h3{font-size:1.8rem;font-weight:600;color:var(--text-900);margin-bottom:10px}.class-section-header p{color:var(--text-500);font-size:1rem;margin:0}.class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px;padding:0 20px}.class-card{background:var(--surface);border-radius:15px;padding:25px;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer}.class-card:hover{transform:translateY(-5px)}.class-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.class-header h4{margin:0;color:var(--text-900);font-size:1.25rem;font-weight:600;flex:1}.level-badge{color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.level-badge.large{padding:8px 16px;font-size:14px}.class-info{margin-bottom:15px}.info-row{display:flex;justify-content:space-between;margin-bottom:8px;align-items:center}.info-label{color:var(--text-600);font-weight:500;min-width:50px}.info-row span:last-child{color:var(--text-900);font-weight:500}.info-row span.full{color:#dc3545;font-weight:600}.class-description{color:var(--text-600);font-size:14px;line-height:1.5;margin-bottom:20px}.join-btn{width:100%;padding:12px 20px;background:var(--grad-primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.join-btn:hover:not(:disabled){transform:translateY(-2px)}.join-btn.disabled{background:#6c757d;cursor:not-allowed;transform:none}.join-btn.large{padding:15px 30px;font-size:16px}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{position:relative;max-width:600px;width:100%;max-height:90vh;background:var(--surface);border-radius:15px;overflow-y:auto}.modal-close{position:absolute;top:20px;right:20px;background:#0000001a;color:var(--text-900);border:none;border-radius:50%;width:35px;height:35px;font-size:20px;cursor:pointer;display:flex;justify-content:center;align-items:center;z-index:1001;transition:background .3s ease}.modal-close:hover{background:#0003}.modal-header{padding:30px 30px 0;display:flex;justify-content:space-between;align-items:flex-start}.modal-header h2{margin:0;color:var(--text-900);font-size:28px;font-weight:700;flex:1;padding-right:20px}.modal-body{padding:20px 30px}.detail-section{margin-bottom:30px}.detail-section h3{color:var(--text-900);font-size:18px;font-weight:600;margin-bottom:15px;padding-bottom:8px;border-bottom:2px solid #f0f0f0}.detail-grid{display:grid;gap:12px}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.detail-item strong{color:var(--text-600);min-width:100px}.detail-item span.full{color:#dc3545;font-weight:600}.detail-section p{color:var(--text-600);line-height:1.6;margin:0}.modal-footer{padding:20px 30px 30px;border-top:1px solid #f0f0f0}.floating-profile{display:none}@media (max-width: 768px){.schedule-container{padding:10px}.floating-profile{display:block;position:fixed;top:15px;right:15px;z-index:1001;background:var(--surface);border-radius:50%;padding:3px}.floating-profile .profile-btn{width:45px;height:45px;border:2px solid var(--primary-500);background:var(--surface);border-radius:50%;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0}.floating-profile .profile-btn:hover{border-color:var(--primary-600);transform:translateY(-2px)}.floating-profile .profile-image{width:100%;height:100%;object-fit:cover;border-radius:50%}.schedule-header h2{font-size:2rem}.current-month{font-size:1.5rem;min-width:150px}.calendar-cell{min-height:60px;padding:8px 5px}.date-number{font-size:1rem}.weekday{padding:10px 5px;font-size:.8rem}.class-grid{grid-template-columns:1fr;gap:20px;padding:0 10px}.class-card{padding:20px}.modal-content{margin:10px;max-width:calc(100% - 20px)}.modal-header{padding:20px 20px 0;flex-direction:column;gap:15px;align-items:flex-start}.modal-header h2{font-size:24px;padding-right:0}.modal-body{padding:15px 20px}.modal-footer{padding:15px 20px 20px}.modal-close{top:15px;right:15px}}@media (max-width: 480px){.schedule-header h2{font-size:1.8rem}.current-month{font-size:1.3rem}.calendar-cell{min-height:50px;padding:5px 3px}.date-number{font-size:.9rem}.nav-btn{width:35px;height:35px;font-size:16px}.class-section-header h3{font-size:1.5rem}}.workout-loading,.workout-error{margin:20px 0;padding:20px;border-radius:12px;text-align:center}.workout-loading{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid var(--neutral-200)}.workout-error{background:linear-gradient(135deg,#fff5f5,#fed7d7);border:1px solid #feb2b2}.loading-spinner{color:var(--text-600);font-size:1rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:10px}.error-message{color:#c53030;font-size:.95rem;font-weight:500}@media (max-width: 768px){.workout-loading,.workout-error{margin:15px 0;padding:15px}.loading-spinner,.error-message{font-size:.9rem}}.schedule-container{overflow-x:hidden}.modern-calendar{display:grid;gap:12px;width:100%;box-sizing:border-box;overflow-x:hidden}.mc-header{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;box-sizing:border-box;overflow:hidden}.mc-title{font-size:clamp(1rem,1.8vw,1.2rem);font-weight:600;color:var(--text-900);min-width:0;flex:1 1 auto;text-align:center;overflow:hidden;text-overflow:ellipsis}.mc-nav{appearance:none;width:clamp(30px,3.2vw,38px);height:clamp(30px,3.2vw,38px);border-radius:8px;border:1px solid var(--neutral-200);background:var(--surface);color:var(--text-900);cursor:pointer}.mc-nav:hover{background:var(--neutral-100);border-color:var(--neutral-300)}.mc-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.mc-weekday{text-align:center;color:var(--text-500);font-weight:600;padding:6px 0;font-size:.85rem}.mc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(4px,.6vw,8px);width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.mc-cell{position:relative;aspect-ratio:1 / 1;min-height:40px;border:none;border-radius:12px;background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer}.mc-cell:hover{background:#f5f6f8}.mc-cell.is-out{opacity:.45;background:transparent}.mc-cell.is-today{box-shadow:inset 0 0 0 2px var(--primary-600)}.mc-cell.is-selected{background:rgba(var(--primary-600-rgb),.18);box-shadow:inset 0 0 0 2px var(--primary-600)}.mc-day{color:var(--text-900);font-weight:600;position:absolute;top:6px;right:8px;pointer-events:none;font-size:clamp(.8rem,1.6vw,1rem)}.mc-weekday:nth-child(1){color:#e74c3c}.mc-weekday:nth-child(7){color:#3498db}.mc-grid .mc-cell:nth-child(7n+1) .mc-day{color:#e74c3c}.mc-grid .mc-cell:nth-child(7n) .mc-day{color:#3498db}.routine-card{margin-top:16px;border:1px solid var(--neutral-300);border-radius:12px;background:var(--surface);padding:16px}.routine-header{font-weight:700;color:var(--text-900);margin-bottom:12px;font-size:1rem}.routine-timeline{position:relative;height:110px}.routine-line{position:absolute;left:9px;right:9px;top:50%;height:2px;background:var(--primary-600);border-radius:2px;transform:translateY(-50%)}.routine-slots{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;gap:0}.routine-slot{position:relative;display:flex;align-items:center;justify-content:center;flex:1}.routine-slot .routine-label{position:absolute}.routine-slot.label-above .routine-label{top:8px}.routine-slot.label-below .routine-label{bottom:8px}.routine-point{width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--primary-600);position:relative;z-index:2;margin-top:0}.routine-slot.anchor-end .routine-point:after{transform:translate(-50%) rotate(45deg)}.routine-slot.anchor-start .routine-label{text-align:left}.routine-slot.anchor-end .routine-label{text-align:right}.routine-label-text{position:relative}.routine-slot.anchor-start .routine-label-text:before,.routine-slot.anchor-end .routine-label-text:before{content:none}.routine-leader{position:absolute;height:2px;background:var(--primary-600);transform-origin:0 50%;z-index:1}.routine-label{margin-top:14px;text-align:center}.routine-label-text{display:inline-block;padding-bottom:4px;border-bottom:2px solid var(--primary-600);color:var(--text-700);font-size:.9rem}.routine-label{color:var(--text-700);font-size:.85rem;text-align:center}@media (max-width: 768px){.routine-line{top:22px}}@media (max-width: 480px){.routine-line{top:20px}}.exercise-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.exercise-card{border:1px solid var(--neutral-300);border-radius:10px;padding:12px;background:var(--surface);cursor:pointer;transition:background .2s ease,transform .2s ease}.exercise-card:hover{background:var(--neutral-275);transform:translateY(-1px)}.exercise-card.open{background:var(--neutral-250)}.exercise-head{display:grid;gap:4px;margin-bottom:8px}.exercise-title{color:var(--text-900);font-weight:700}.exercise-subtitle{color:var(--text-600);font-size:.9rem}.exercise-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.badge{background:rgba(var(--primary-600-rgb),.18);color:var(--text-900);padding:2px 8px;border-radius:999px;font-size:.8rem}.exercise-notes{color:var(--text-700);line-height:1.5;font-size:.92rem}@media (max-width: 768px){.mc-title{min-width:120px;font-size:1rem}.mc-nav{width:32px;height:32px;border-radius:6px}.mc-grid{gap:4px}.mc-cell{border-radius:10px}}.animated-calendar-container{position:relative;overflow:hidden;transition:height .4s cubic-bezier(.4,0,.2,1);border-radius:16px;background:var(--surface);box-shadow:0 2px 8px #0000001a}.animated-calendar-container.animating{pointer-events:none;overflow:hidden}.calendar-wrapper{position:relative;width:100%}.week-calendar,.modern-calendar{padding:20px}.animated-calendar-container .modern-calendar{display:block;gap:0;margin:0;padding:20px}.animated-calendar-container.expanded .modern-calendar,.animated-calendar-container.collapsed .week-calendar,.animated-calendar-container.collapsed .modern-calendar{padding:16px}.animated-calendar-container.animating .week-calendar-wrapper,.animated-calendar-container.animating .month-calendar-wrapper{position:absolute;top:0;left:0;right:0;visibility:visible;pointer-events:none}.animated-calendar-container.expanded.animating .month-grid{animation:calFadeInUp .35s cubic-bezier(.4,0,.2,1) both}.animated-calendar-container.expanded.animating .week-grid{animation:calFadeOutUp .35s cubic-bezier(.4,0,.2,1) both}.animated-calendar-container.collapsed.animating .week-grid{animation:calFadeInDown .35s cubic-bezier(.4,0,.2,1) both}.animated-calendar-container.collapsed.animating .month-grid{animation:calFadeOutDown .35s cubic-bezier(.4,0,.2,1) both}@keyframes calFadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes calFadeOutUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes calFadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes calFadeOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}.animated-calendar-container .week-calendar-wrapper,.animated-calendar-container .month-calendar-wrapper{margin:0}.animated-calendar-container .calendar-header{margin-bottom:16px}.animated-calendar-container .calendar-weekdays{margin-bottom:8px}.calendar-header{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px}.calendar-title{font-size:1.2rem;font-weight:600;color:var(--text-900);cursor:pointer;display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:12px;transition:all .2s ease;min-width:200px;justify-content:center}.calendar-title:hover{background:var(--neutral-100);transform:translateY(-1px)}.expand-icon,.collapse-icon{font-size:1rem;color:var(--text-500);transition:transform .2s ease}.calendar-title:hover .expand-icon{transform:translateY(2px);color:var(--primary-600)}.calendar-title:hover .collapse-icon{transform:translateY(-2px);color:var(--primary-600)}.calendar-nav{width:40px;height:40px;border-radius:12px;border:1px solid var(--neutral-200);background:var(--surface);color:var(--text-900);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;transition:all .2s ease}.calendar-nav:hover{background:var(--neutral-100);border-color:var(--neutral-300);transform:translateY(-1px)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.calendar-weekday{text-align:center;color:var(--text-500);font-weight:600;padding:8px 0;font-size:.9rem}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.week-cell{position:relative;aspect-ratio:1;min-height:48px;border:none;border-radius:12px;background:var(--surface);border:1px solid var(--neutral-200);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.week-cell:hover{background:var(--neutral-100);border-color:var(--neutral-300);transform:translateY(-2px)}.week-cell.is-today{background:var(--primary-100);border-color:var(--primary-300)}.week-cell.is-selected,.week-cell.is-today.is-selected{background:#007acc!important;border-color:transparent!important;color:#fff!important;transform:translateY(-2px)}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:8px}.month-cell{position:relative;aspect-ratio:1;min-height:44px;border:none;border-radius:12px;background:var(--surface);border:1px solid var(--neutral-200);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.month-cell:hover{background:var(--neutral-100);border-color:var(--neutral-300);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.month-cell.is-out{opacity:.4;background:transparent;border-color:transparent}.month-cell.is-today{background:var(--primary-100);border-color:var(--primary-300);box-shadow:0 0 0 2px var(--primary-200)}.month-cell.is-selected{background:#007acc;border-color:transparent;color:#fff;box-shadow:0 2px 12px #007acc66}.cell-day{font-weight:600;font-size:1rem}.month-cell .cell-day{font-size:.9rem}.calendar-weekday:nth-child(1){color:#e74c3c}.calendar-weekday:nth-child(7){color:#3498db}.week-grid .week-cell:nth-child(7n+1) .cell-day,.month-grid .month-cell:nth-child(7n+1) .cell-day{color:#e74c3c}.week-grid .week-cell:nth-child(7n) .cell-day,.month-grid .month-cell:nth-child(7n) .cell-day{color:#3498db}.week-grid .week-cell.is-selected:nth-child(7n) .cell-day,.month-grid .month-cell.is-selected:nth-child(7n) .cell-day{color:#fff}.week-calendar-wrapper,.month-calendar-wrapper{position:static;width:100%}.animated-calendar-container.collapsed .week-calendar-wrapper{position:static;visibility:visible;pointer-events:auto}.animated-calendar-container.collapsed .month-calendar-wrapper,.animated-calendar-container.expanded .week-calendar-wrapper{position:absolute;top:0;left:0;right:0;visibility:hidden;pointer-events:none}.animated-calendar-container.expanded .month-calendar-wrapper{position:static;visibility:visible;pointer-events:auto}@media (max-width: 768px){.calendar-title{min-width:160px;font-size:1rem}.calendar-nav{width:36px;height:36px;font-size:16px}.week-cell,.month-cell{min-height:40px}.cell-day{font-size:.9rem}.month-cell .cell-day{font-size:.8rem}.week-calendar,.modern-calendar{padding:16px}}@media (max-width: 480px){.calendar-title{min-width:140px;font-size:.9rem}.calendar-nav{width:32px;height:32px;font-size:14px}.week-cell,.month-cell{min-height:36px}.cell-day{font-size:.8rem}.month-cell .cell-day{font-size:.7rem}.calendar-weekday{font-size:.8rem;padding:6px 0}}.class-schedule-cards{padding:0;background:transparent;border-radius:12px;margin:12px 0 0}.wod-card-date-header{display:flex;align-items:center;justify-content:space-between;font-size:1.2rem;font-weight:700;color:var(--text-900);margin:0 0 12px;padding:8px 12px;background:var(--primary-50);border-radius:8px;border:1px solid var(--primary-200);position:relative}.wod-card-date-header .wod-date-text{flex:1;text-align:center}.board-navigate-btn{position:relative;right:0;background:var(--primary-500);border:none;border-radius:8px;padding:6px 8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}.board-navigate-btn:hover{background:var(--primary-600);transform:scale(1.05);box-shadow:0 4px 8px #00000026}.board-navigate-btn:active{transform:scale(.95)}.board-navigate-btn svg{width:20px;height:20px;color:#fff}.no-date-selected,.no-schedules,.loading{text-align:center;padding:40px 20px;color:#6c757d;font-size:1.1rem;background:transparent;border-radius:8px;box-shadow:none}.schedule-cards-container{display:flex;flex-direction:column;gap:16px;margin-top:12px}.schedule-wod-card{background:var(--surface);border-radius:12px;padding:12px;box-shadow:0 4px 6px #0000001a;transition:all .3s ease;border:2px solid transparent;height:auto;min-height:auto;cursor:pointer}.schedule-wod-card:hover{transform:translateY(-2px);box-shadow:0 8px 15px #00000026}.schedule-wod-card.expanded{border:2px solid var(--primary-500);background:var(--surface);transform:translateY(-2px)}.schedule-wod-card.admin-schedule-wod-card{border:none;background:var(--surface);cursor:pointer;padding:12px}.schedule-wod-card.admin-schedule-wod-card:hover{border:none;background:var(--surface)}.schedule-wod-card.admin-schedule-wod-card.expanded{border:none;background:var(--surface);transform:translateY(-2px)}.schedule-wod-card.admin-schedule-wod-card.expanded_editing{border:2px solid var(--primary-500);background:var(--surface);transform:translateY(-2px);cursor:default!important}.schedule-wod-card.admin-schedule-wod-card .schedule-wod-card-actions.admin-actions{opacity:0;max-height:0;overflow:hidden;transition:opacity .3s ease,max-height .3s ease;margin:0;padding:0;border:none}.schedule-wod-card.admin-schedule-wod-card.expanded .schedule-wod-card-actions.admin-actions{opacity:1;max-height:80px;overflow:visible;margin:0;padding:0;border:none}.schedule-wod-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.schedule-wod-card-header .class-details{display:flex;align-items:center;justify-content:space-between;width:100%}.schedule-wod-card-header .detail-value{font-size:.9rem;font-weight:600}.schedule-wod-card-header .detail-value.wod-label{color:var(--text-700);text-align:left;font-size:1.1rem;font-weight:700;padding:4px 8px;height:auto;display:flex;align-items:center}.class-reservation-tags{display:flex;flex-wrap:nowrap;gap:8px;align-items:center;flex:1;justify-content:space-between;margin-top:12px;margin-bottom:0;container-type:inline-size;overflow-x:auto}.class-reservation-tag{background:var(--neutral-500);color:#fff;padding:8px 12px;border-radius:8px;font-size:.85rem;font-weight:600;white-space:nowrap;transition:all .2s ease;flex:1;text-align:center;min-width:0;border:none;cursor:pointer;overflow:hidden;text-overflow:ellipsis;position:relative}.class-tag-full,.class-tag-medium,.class-tag-short{display:none}.class-reservation-tag .class-tag-full{display:inline}@media (max-width: 900px){.class-reservation-tag .class-tag-full{display:none}.class-reservation-tag .class-tag-medium{display:inline}.class-reservation-tag{min-width:50px;padding:8px}}@media (max-width: 600px){.class-reservation-tag .class-tag-full,.class-reservation-tag .class-tag-medium{display:none}.class-reservation-tag .class-tag-short{display:inline}.class-reservation-tag{min-width:30px;padding:8px 6px;font-size:.8rem}}.class-reservation-tag:hover{background:var(--neutral-600);transform:translateY(-2px)}.class-reservation-tag.full{background:#f44336}.class-reservation-tag.full:hover{background:#d32f2f;transform:translateY(-2px);box-shadow:0 4px 12px #f4433626}.class-reservation-tags .class-reservation-tag.active{background:var(--neutral-100)!important;color:var(--text-700)!important}.class-reservation-tags .class-reservation-tag.active:hover{background:var(--neutral-200)!important;transform:translateY(-2px)}.class-reservation-tag.user-reserved{background:var(--primary-500)!important;color:#fff!important}.class-reservation-tag.user-reserved:hover{background:var(--primary-600)!important;transform:translateY(-2px);box-shadow:0 4px 12px #007acc26}.level-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px #667eea4d}.schedule-wod-card-content{margin-bottom:0;display:flex;flex-direction:column}.schedule-wod-card-actions{display:flex;gap:10px;margin-top:12px}.schedule-wod-card-actions .reserve-btn,.schedule-wod-card-actions .edit-btn,.schedule-wod-card-actions .delete-btn,.schedule-wod-card-actions .save-edit-btn,.schedule-wod-card-actions .cancel-edit-btn{flex:1;padding:12px 16px;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem;letter-spacing:.3px}.schedule-wod-card-actions .reserve-btn{background:linear-gradient(135deg,#007acc,#0090e7);color:#fff;box-shadow:0 2px 4px #007acc4d;position:relative;overflow:hidden}.schedule-wod-card-actions .reserve-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.schedule-wod-card-actions .reserve-btn:hover{transform:translateY(-2px);box-shadow:0 6px 12px #007acc66;background:linear-gradient(135deg,#0056b3,#007acc)}.schedule-wod-card-actions .reserve-btn:hover:before{left:100%}.schedule-wod-card-actions .reserve-btn:active{transform:translateY(-1px);box-shadow:0 3px 6px #007acc4d}.admin-actions{display:flex;gap:8px;margin:0;padding:0;border:none}.admin-actions .edit-btn,.admin-actions .delete-btn,.admin-actions .save-edit-btn,.admin-actions .cancel-edit-btn{flex:1}.schedule-wod-card-actions .edit-btn{background:#007acc;color:#fff}.schedule-wod-card-actions .edit-btn:hover{background:#0056b3;transform:translateY(-2px)}.schedule-wod-card-actions .delete-btn{background:#dc3545;color:#fff;box-shadow:0 2px 4px #dc35454d}.schedule-wod-card-actions .delete-btn:hover{transform:translateY(-2px)}.schedule-wod-card-actions .delete-btn:active{transform:translateY(-1px);box-shadow:0 3px 6px #dc35454d}@media (max-width: 768px){.schedule-wod-card{padding:12px}.schedule-date-header{font-size:1.3rem;padding:12px}.detail-item{padding:6px 0}.schedule-wod-card-actions .reserve-btn,.schedule-wod-card-actions .edit-btn,.schedule-wod-card-actions .delete-btn,.schedule-wod-card-actions .save-edit-btn,.schedule-wod-card-actions .cancel-edit-btn{padding:10px 12px;font-size:.8rem}}@media (max-width: 480px){.class-reservation-tags{gap:6px}}.reserved-members-section{margin-top:12px;margin-bottom:12px;display:flex;flex-direction:column;gap:12px}.class-reserved-members-card{padding:16px;background:var(--neutral-100);border-radius:8px;border:none}.class-reserved-members-header h4{margin:0 0 12px;font-size:1rem;font-weight:600;color:var(--text-900);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.class-reserved-members-header .class-number{color:var(--primary-600);font-weight:700;font-size:1.1rem}.class-reserved-members-header .class-time{color:var(--text-600);font-weight:500;font-size:.9rem}.class-reserved-members-header .member-count{color:var(--text-700);font-weight:600;font-size:.9rem;background:var(--neutral-200);padding:4px 8px;border-radius:12px;margin-left:auto}.reserved-members-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.reserved-member-tag{background:var(--neutral-500);color:#fff;padding:8px 14px;border-radius:16px;font-size:.85rem;font-weight:500;border:1px solid transparent;transition:all .2s ease;display:inline-flex;align-items:center;white-space:nowrap;flex:0 0 auto;cursor:pointer;-webkit-user-select:none;user-select:none}.reserved-member-tag:hover{background:var(--danger-500);transform:translateY(-2px);box-shadow:0 4px 8px #dc35454d}.reserved-member-tag:active{transform:translateY(-1px);box-shadow:0 2px 4px #dc35454d}.reserved-member-tag .member-name{color:#fff;font-size:.85rem;font-weight:500}.no-reservations{text-align:center;padding:20px;color:var(--text-500);font-style:italic;background:transparent;border-radius:8px}.routine-cards-section{margin-top:0;padding-top:0;border-top:none}.routine-cards-section .edit-routine-card.collapsed{margin-bottom:12px;position:relative;background:var(--bg);border-radius:12px;padding:16px;box-shadow:0 2px 8px #0000001a;transition:all .2s ease}.schedule-wod-card.admin-schedule-wod-card .routine-cards-section .edit-routine-card.collapsed:last-child{margin-bottom:0!important}.routine-cards-section .routine-name-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.routine-cards-section .routine-name-section{flex:1}.routine-cards-section .routine-name-with-icon{display:flex;align-items:center;gap:12px}.routine-cards-section .routine-name{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-900);line-height:1.3}.routine-cards-section .routine-icon{width:20px;height:20px;flex-shrink:0}.routine-cards-section .exercise-summary-container.visible{margin:0;padding:0}.routine-cards-section .exercise-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.routine-cards-section .exercise-code-tag{background:#252526;color:var(--text-900);padding:8px 14px;border-radius:16px;font-size:.85rem;font-weight:600;border:1px solid transparent;box-shadow:0 2px 8px #00000014;transition:all .2s ease;display:inline-flex;align-items:center;white-space:nowrap;flex:0 0 auto}.routine-cards-section .exercise-code-tag.more-codes{background:var(--primary-100);color:var(--primary-700);border:1px solid transparent;font-style:normal;font-weight:600}.routine-cards-section .exercise-summary-empty{margin-top:8px}.routine-cards-section .exercise-summary-empty .empty-text{font-size:.85rem;color:var(--text-500);font-style:italic}.wod-display-section{margin:0;padding:0;flex:1}.wod-display-textarea{width:100%;min-height:60px;height:auto;padding:12px;border:none;border-radius:8px;font-size:.95rem;font-family:inherit;line-height:1.3;background:var(--neutral-100);color:var(--text-700);resize:none;cursor:default;box-sizing:border-box;overflow:hidden;vertical-align:top;display:block;white-space:pre-line}.wod-display-textarea:focus{outline:none}.wod-display-textarea:not([readonly]):focus{border:2px solid var(--primary-500);background:var(--neutral-200);cursor:text}.card-divider{padding:12px 0;border-top:1px solid var(--neutral-200);height:1px}.routines-edit-section{margin-bottom:16px}.routines-edit-section>div{margin-bottom:12px}.add-routine-btn{width:100%;padding:12px;border:2px dashed var(--primary-300);background:transparent;color:var(--primary-600);border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.add-routine-btn:hover{border-color:var(--primary-500);background:var(--primary-50);color:var(--primary-700)}.remove-routine-btn{background:var(--danger-500);color:#fff;border:none;border-radius:50%;width:24px;height:24px;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.remove-routine-btn:hover{background:var(--danger-600);transform:scale(1.1)}.edit-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--neutral-200)}.schedule-wod-card-actions .save-edit-btn{background:#28a745;color:#fff;box-shadow:0 2px 4px #28a7454d}.schedule-wod-card-actions .save-edit-btn:hover{transform:translateY(-2px)}.schedule-wod-card-actions .save-edit-btn:active{transform:translateY(-1px);box-shadow:0 3px 6px #28a7454d}.schedule-wod-card-actions .cancel-edit-btn{background:#6c757d;color:#fff;box-shadow:0 2px 4px #6c757d4d}.schedule-wod-card-actions .cancel-edit-btn:hover{transform:translateY(-2px)}.schedule-wod-card-actions .cancel-edit-btn:active{transform:translateY(-1px);box-shadow:0 3px 6px #6c757d4d}.add-schedule-section{display:block;margin-bottom:12px}.class-schedule-cards .add-schedule-section .add-schedule-btn{padding:12px 16px;border:none;border-radius:12px;font-weight:600;cursor:pointer;color:#fff;background:linear-gradient(135deg,#007acc,#0090e7);box-shadow:0 2px 4px #007acc4d;transition:all .3s ease;width:100%!important;display:block!important;position:relative;overflow:hidden;font-size:.95rem;letter-spacing:.5px}.class-schedule-cards .add-schedule-section .add-schedule-btn:before{display:none}.class-schedule-cards .add-schedule-section .add-schedule-btn:hover{transform:translateY(-2px)}.class-schedule-cards .add-schedule-section .add-schedule-btn:hover:before{display:none}.class-schedule-cards .add-schedule-section .add-schedule-btn:active{transform:translateY(-1px)}.selected-class-schedule{margin:0;padding:12px 0 0;display:flex;flex-direction:column;gap:12px}.selected-class-info{background:var(--neutral-100);border-radius:8px;padding:16px;border:none;transition:all .3s ease}.selected-class-info:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.selected-class-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.selected-class-left{display:flex;flex-direction:column;align-items:flex-start}.selected-class-right{display:flex;align-items:center}.selected-class-count{font-size:.9rem;font-weight:600;color:var(--text-600);background:var(--neutral-200);padding:4px 8px;border-radius:12px}.selected-class-number{font-weight:700;font-size:1.1rem;color:var(--primary-600)}.selected-class-time{font-weight:600;font-size:1rem;color:var(--text-700)}.selected-class-instructor{font-size:.9rem;color:var(--text-600);margin-bottom:16px}.selected-class-reserve-btn{width:100%;padding:12px 16px;background:var(--grad-primary);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;height:48px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.selected-class-reserve-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #007acc4d}.selected-class-reserve-btn.cancel-btn{background:var(--grad-danger);border-radius:6px;height:48px;padding:12px 16px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.selected-class-reserve-btn.cancel-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #dc35454d}.selected-class-reserve-btn.completed-btn{background:var(--neutral-400);color:var(--neutral-600);cursor:not-allowed;height:48px;padding:12px 16px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.selected-class-reserve-btn.completed-btn:hover{transform:none;box-shadow:none}.selected-class-reserve-btn.apply-btn{background:linear-gradient(135deg,#ff9800,#f57c00);border-radius:6px;height:48px;padding:12px 16px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.selected-class-reserve-btn.apply-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #ff98004d}@media (max-width: 768px){.selected-class-schedule{margin:0}.selected-class-info{padding:12px}.selected-class-header{margin-bottom:6px}.selected-class-number{font-size:1rem}.selected-class-time{font-size:.9rem}.selected-class-instructor{font-size:.8rem;margin-bottom:12px}.selected-class-reserve-btn{padding:10px 12px;font-size:.9rem;height:44px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.selected-class-reserve-btn.cancel-btn,.selected-class-reserve-btn.completed-btn,.selected-class-reserve-btn.apply-btn{padding:10px 12px;height:44px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}}.schedule-add-wod-card{background:var(--surface);border-radius:15px;padding:12px;margin-bottom:20px;box-shadow:0 4px 12px #00000026;border:2px solid var(--primary-300);position:relative}.schedule-form-header{margin-bottom:24px;border-bottom:2px solid var(--primary-200);padding-bottom:16px}.schedule-form-header h3{margin:0;font-size:1.4rem;font-weight:700;color:var(--text-900);text-align:center}.schedule-form-content{display:flex;flex-direction:column;gap:20px}.schedule-add-wod-card .form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.schedule-add-wod-card .form-group-inline{flex-direction:row!important;align-items:center!important;gap:12px!important;flex-wrap:nowrap!important;overflow:hidden!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;justify-content:space-between!important}.schedule-add-wod-card .form-group-inline label{min-width:40px!important;margin:0!important;flex-shrink:0!important}.form-group label{font-weight:600;color:var(--text-900);font-size:.95rem}.class-select,.coach-input,.routine-input,.capacity-input,.notes-textarea{padding:12px 16px;border:2px solid var(--neutral-300);border-radius:8px;font-size:.95rem;background:var(--surface);color:var(--text-900);transition:all .2s ease}.schedule-add-wod-card .coach-input{width:auto!important;min-width:80px!important;max-width:150px!important;flex-shrink:0!important;margin-left:auto!important;border:2px solid transparent!important;background:transparent!important;text-align:right!important}.class-select:focus,.routine-input:focus,.capacity-input:focus,.notes-textarea:focus{outline:none;border-color:var(--primary-500);background:var(--neutral-200);box-shadow:0 0 0 3px rgba(var(--primary-600-rgb),.2)}.add-schedule-card .coach-input:focus{outline:none!important;border:2px solid var(--primary-500)!important;background:var(--neutral-200)!important;box-shadow:0 0 0 3px rgba(var(--primary-600-rgb),.2)!important;border-radius:8px!important}.class-select{cursor:pointer}.schedule-add-wod-card .capacity-input{width:80px!important;flex-shrink:0!important;max-width:80px!important;margin-right:auto!important}.schedule-add-wod-card .notes-textarea,.schedule-add-wod-card .wod-textarea{width:100%!important;min-height:100px!important;resize:vertical!important;font-family:inherit!important;line-height:1.3!important;background:var(--neutral-100)!important;color:var(--text-700)!important;border:none!important;border-radius:8px!important;font-size:.95rem!important;padding:12px!important;box-sizing:border-box!important}.schedule-add-wod-card .wod-textarea:focus{outline:none!important;border:2px solid var(--primary-500)!important;background:var(--neutral-200)!important;box-shadow:0 0 0 3px rgba(var(--primary-600-rgb),.2)!important}.schedule-form-actions{display:flex;gap:12px;justify-content:space-between;border-top:2px solid var(--primary-200)}.save-schedule-btn{background:var(--success-500);color:#fff;border:none;padding:14px 28px;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;flex:1}.save-schedule-btn:hover:not(:disabled){background:var(--success-600);transform:translateY(-2px);box-shadow:0 6px 16px rgba(var(--success-600-rgb),.3)}.save-schedule-btn:disabled{background:var(--neutral-400);color:var(--neutral-600);cursor:not-allowed;transform:none;box-shadow:none}.cancel-schedule-btn{background:var(--neutral-300);color:var(--text-700);border:none;padding:14px 28px;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;flex:1}.cancel-schedule-btn:hover:not(:disabled){background:var(--neutral-400);transform:translateY(-2px)}.cancel-schedule-btn:disabled{background:var(--neutral-200);cursor:not-allowed;transform:none}.schedule-add-wod-card .add-routine-btn{background:var(--primary-500);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:100%}.schedule-add-wod-card .add-routine-btn:hover{background:var(--primary-600);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--primary-600-rgb),.3)}.selected-routines-section{margin-top:16px}.schedule-add-wod-card .selected-routines-section .edit-routine-card.collapsed{margin-bottom:12px!important;position:relative!important;background:var(--bg)!important;background-color:var(--bg)!important}.schedule-add-wod-card .selected-routines-section .edit-routine-card .remove-routine-btn{background:#dc35451a!important;border:1px solid #dc3545!important;color:#dc3545!important;width:32px!important;height:32px!important;border-radius:6px!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;font-size:1rem!important;font-weight:600!important;transition:all .2s ease!important;flex-shrink:0!important}.schedule-add-wod-card .selected-routines-section .edit-routine-card .remove-routine-btn:hover{background:#dc3545!important;background-color:#dc3545!important;color:#fff!important;transform:scale(1.05)!important;box-shadow:0 2px 8px #dc35454d!important}.schedule-add-wod-card .selected-routines-section .edit-routine-card .routine-header-right{display:none!important}.schedule-add-wod-card .selected-routines-section .exercise-code-tag{background:#252526!important;color:var(--text-900)!important;padding:8px 14px!important;border-radius:16px!important;font-size:.85rem!important;font-weight:600!important;border:1px solid transparent!important;box-shadow:0 2px 8px #00000014!important;transition:all .2s ease!important;display:inline-flex!important;align-items:center!important;white-space:nowrap!important;flex:0 0 auto!important}.schedule-add-wod-card .selected-routines-section .exercise-code-tag.more-codes{background:var(--primary-100)!important;color:var(--primary-700)!important;border:1px solid transparent!important;font-style:normal!important;font-weight:600!important}.schedule-add-wod-card .selected-routines-section .exercise-summary-container.visible{margin:0!important;padding:0!important}@media (max-width: 768px){.schedule-add-wod-card{padding:16px;margin-bottom:16px}.schedule-form-content{gap:16px}.schedule-form-actions{flex-direction:column;gap:10px}.save-schedule-btn,.cancel-schedule-btn{padding:12px 20px;font-size:.95rem}.routine-search-popup{width:95%;margin:20px}.popup-header,.popup-content{padding:16px}}.settings-container{padding:20px;max-width:800px;margin:0 auto;font-family:Noto Sans KR,sans-serif;height:auto;min-height:calc(100vh - 160px)}.settings-header{text-align:center;margin-bottom:30px}.settings-header h2{font-size:2.5rem;font-weight:700;color:var(--text-900);margin-bottom:10px}.settings-header p{font-size:1.1rem;color:var(--text-500);margin:0}.settings-content{display:flex;flex-direction:column;gap:10px;column-gap:10px;row-gap:10px}.settings-section{background:var(--surface);border-radius:15px;padding:25px}.section-header{margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid var(--text-500)}.section-header h3{font-size:1.3rem;font-weight:600;color:var(--text-900);margin:0}.user-info-card{display:flex;align-items:center;gap:20px;justify-content:space-between}.user-avatar{flex-shrink:0}.avatar-placeholder{width:80px;height:80px;border-radius:50%;background:var(--grad-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700}.user-details h4{font-size:1.5rem;font-weight:600;color:var(--text-900);margin:0 0 10px}.user-actions{flex-shrink:0;display:flex;gap:12px}.user-actions .logout-btn{padding:12px 16px;border:none;border-radius:12px;font-weight:600;cursor:pointer;color:#fff;background:linear-gradient(135deg,#dc3545,#e55353);box-shadow:0 2px 4px #dc35454d;transition:all .3s ease;min-width:140px;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden;font-size:.95rem;letter-spacing:.5px}.user-actions .logout-btn:hover{transform:translateY(-2px)}.user-actions .logout-btn:active{transform:translateY(-1px)}.user-actions .edit-profile-btn{padding:12px 16px;border:none;border-radius:12px;font-weight:600;cursor:pointer;color:#fff;background:linear-gradient(135deg,#007acc,#0090e7);box-shadow:0 2px 4px #007acc4d;transition:all .3s ease;min-width:140px;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden;font-size:.95rem;letter-spacing:.5px}.user-actions .edit-profile-btn:hover{transform:translateY(-2px)}.user-actions .edit-profile-btn:active{transform:translateY(-1px)}.user-name-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}.user-name-row h4{margin:0;padding:4px 12px}.user-meta{display:flex;gap:10px;margin-bottom:8px;justify-content:center}.member-code,.user-class,.user-id{background:var(--neutral-100);color:var(--text-700);padding:4px 12px;border-radius:12px;font-size:.9rem;font-weight:600}.user-id{background:var(--primary-50);color:var(--primary-700)}.admin-badge{background:linear-gradient(135deg,var(--warning-500) 0%,var(--danger-500) 100%);color:#fff;padding:4px 12px;border-radius:12px;font-size:.9rem;font-weight:600}.join-date{font-size:.9rem;color:var(--text-500);text-align:center}.settings-options{display:flex;flex-direction:column;gap:20px}.setting-item{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--text-500);gap:20px}.setting-item:last-child{border-bottom:none}.setting-info{display:flex;flex-direction:column;gap:5px;flex:1}.setting-title{font-size:1.1rem;font-weight:600;color:var(--text-900)}.setting-description{font-size:.9rem;color:var(--text-500)}.theme-selector{display:flex;gap:10px}.theme-btn{background:var(--neutral-100);border:2px solid var(--neutral-300);color:var(--text-700);padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.theme-btn:hover{border-color:var(--primary-500);transform:translateY(-2px)}.theme-btn.active{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.toggle-slider{background:var(--grad-primary)}input:checked+.toggle-slider:before{transform:translate(26px)}.action-btn{background:var(--primary-500);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:140px;display:flex;align-items:center;justify-content:center;gap:8px}.action-btn:hover{background:var(--primary-600);transform:translateY(-2px);box-shadow:0 4px 12px var(--glow-primary-strong)}.action-btn.secondary{background:linear-gradient(135deg,#6c757d,#868e96);color:#fff;box-shadow:0 2px 4px #6c757d4d}.action-btn.secondary:hover{background:linear-gradient(135deg,#545b62,#6c757d);transform:translateY(-2px);box-shadow:0 6px 12px #6c757d66}.app-info{display:flex;flex-direction:column;gap:15px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f1f3f4}.info-item:last-child{border-bottom:none}.info-label{font-weight:600;color:var(--text-700)}.info-value{color:var(--text-900);font-weight:500}.payment-section-disabled{position:relative;opacity:.4;-webkit-user-select:none;user-select:none}.coming-soon-overlay{position:absolute;inset:0;background:#ffffffd9;display:flex;align-items:center;justify-content:center;border-radius:15px;z-index:10}.coming-soon-message{text-align:center;padding:30px 20px;background:#fffffff2;border-radius:12px;box-shadow:0 4px 12px #0000001a}.coming-soon-icon{font-size:3.5rem;margin-bottom:15px;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.coming-soon-message h4{margin:0 0 10px;font-size:1.3rem;font-weight:700;color:var(--text-900)}.coming-soon-message p{margin:0;font-size:1rem;color:var(--text-600);font-weight:500}.password-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.password-modal-content{width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.logout-icon{font-size:1.1rem}@media (max-width: 768px){.settings-container{padding:15px}.settings-header h2{font-size:2rem}.settings-section{padding:20px}.user-info-card{flex-direction:column;text-align:center;gap:15px;align-items:center}.user-actions{flex-direction:column;gap:10px;width:100%}.user-actions .logout-btn,.user-actions .edit-profile-btn{min-width:150px;padding:12px 24px}.avatar-placeholder{width:60px;height:60px;font-size:1.5rem}.user-meta{justify-content:center}.setting-item{flex-direction:row;align-items:center;gap:20px}.theme-selector{align-self:stretch;justify-content:center}.theme-btn{flex:1;text-align:center}.info-item{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width: 480px){.settings-header h2{font-size:1.8rem}.section-header h3{font-size:1.2rem}.user-details h4{font-size:1.3rem}.setting-title{font-size:1rem}.setting-description{font-size:.8rem}}.home-container{min-height:100vh;background-color:var(--neutral-100);padding-bottom:80px;display:flex;flex-direction:column;overflow-x:hidden;box-sizing:border-box;width:100%}.home-header{background:var(--surface);padding:15px 30px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100}.logo-section{display:flex;align-items:center;gap:15px}.home-logo{width:50px;height:50px;object-fit:contain}.logo-section h1{color:var(--text-900);margin:0;font-weight:700;line-height:1.2;font-size:clamp(18px,2.2vw,28px);white-space:normal;max-width:60vw}@media (min-width: 1200px){.logo-section h1{white-space:nowrap}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--neutral-300);padding:10px 20px 15px;display:flex;justify-content:space-around;align-items:center;z-index:1000;height:88px;box-sizing:border-box}.home-container .bottom-nav .nav-item.active{background:#007acc!important;border:2px solid #005c99!important;border-radius:12px!important;color:#fff!important}.home-container .bottom-nav .nav-item.active .nav-icon{transform:scale(1.1)!important;filter:brightness(0) invert(1)!important}.home-container .bottom-nav .nav-item.active .nav-label{color:#fff!important;font-weight:700!important}.nav-item{background:none;border:none;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;padding:8px 16px;border-radius:12px;transition:background-color .3s ease,border .3s ease,color .3s ease;flex:1;max-width:80px;height:68px;box-sizing:border-box}.nav-item:hover{background:#007acc1a}.bottom-nav .nav-item.active{background:#007acc!important;border:2px solid #005c99!important;border-radius:12px!important}.nav-icon{width:24px;height:24px;transition:transform .3s ease;filter:brightness(0) invert(1)}.bottom-nav .nav-item.active .nav-icon{transform:scale(1.1);filter:brightness(0) invert(1)!important}.nav-label{font-size:12px;font-weight:600;color:var(--text-600);transition:color .3s ease}.bottom-nav .nav-item.active .nav-label{color:#fff!important;font-weight:700!important}.user-actions{display:flex;gap:10px}.profile-btn{width:45px;height:45px;border:2px solid var(--primary-500);background:var(--surface);border-radius:50%;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0}.profile-btn:hover{border-color:var(--primary-600);transform:translateY(-2px)}.profile-image{width:100%;height:100%;object-fit:cover;border-radius:50%}.logout-btn{padding:10px 20px;border:1px solid #e74c3c;background:var(--surface);border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s ease;color:#e74c3c}.logout-btn:hover{background:#e74c3c;color:#fff}.home-content{padding:30px;max-width:1200px;margin:0 auto;flex:1 1 auto;min-height:0;width:100%}@media (max-width: 768px){.home-header{display:none}.home-content{padding:0}.home-container{padding-bottom:88px}.bottom-nav{padding:8px 15px 12px;height:78px}.nav-item{padding:6px 12px;max-width:70px;height:58px}.nav-icon{font-size:20px;filter:brightness(0) invert(1)}.nav-label{font-size:11px}.profile-btn{width:40px;height:40px}.user-actions{gap:8px}.logout-btn{padding:8px 15px;font-size:13px}}.app{height:100vh;width:100%}html,body,#root{width:100%;max-width:100%;overflow-x:hidden}*,*:before,*:after{box-sizing:border-box}img,video,canvas{max-width:100%;height:auto;display:block}.app-loading{display:flex;justify-content:center;align-items:center;height:100vh;background:var(--neutral-100)}.app-loading-spinner{text-align:center;color:var(--text-500);font-size:1.1rem}.app-loading-spinner:after{content:"";display:block;width:40px;height:40px;margin:20px auto;border:3px solid var(--neutral-300);border-top:3px solid var(--primary-500);border-radius:50%;animation:spin 1s linear infinite}.app-error{display:flex;justify-content:center;align-items:center;height:100vh;background:var(--neutral-100);padding:20px}.error-container{text-align:center;background:var(--surface);padding:40px;border-radius:15px;box-shadow:0 8px 25px #0000001a;max-width:400px;width:100%}.error-container h2{color:var(--danger-500);margin-bottom:15px;font-size:1.5rem}.error-container p{color:var(--text-600);margin-bottom:25px;line-height:1.5}.refresh-btn,.recovery-btn{padding:12px 24px;margin:8px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.refresh-btn{background:var(--primary-500);color:#fff}.refresh-btn:hover{background:var(--primary-600);transform:translateY(-2px)}.recovery-btn{background:var(--neutral-300);color:var(--text-700)}.recovery-btn:hover{background:var(--neutral-400);transform:translateY(-2px)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
