.home-container{position:relative;width:100%;min-height:100vh;overflow:hidden;background:linear-gradient(135deg,#0a0e27,#1a1f3a)}.home-background{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.grid-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(100,150,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(100,150,255,.1) 1px,transparent 1px);background-size:50px 50px;animation:grid-move 20s linear infinite}@keyframes grid-move{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.3;animation:float 8s ease-in-out infinite}.glow-1{width:300px;height:300px;background:radial-gradient(circle,#667eea,transparent);top:10%;left:10%;animation-delay:0s}.glow-2{width:400px;height:400px;background:radial-gradient(circle,#764ba2,transparent);bottom:15%;right:15%;animation-delay:2s}.glow-3{width:250px;height:250px;background:radial-gradient(circle,#f093fb,transparent);top:50%;left:50%;animation-delay:4s}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,-30px) scale(1.1)}}.home-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:40px 20px}.home-auth{--auth-border: rgba(255, 255, 255, .22);--auth-background: rgba(255, 255, 255, .08);--auth-text: rgba(255, 255, 255, .88);--auth-hover-background: rgba(255, 255, 255, .16);--auth-hover-border: rgba(255, 255, 255, .4);--auth-menu-border: rgba(255, 255, 255, .15);--auth-menu-background: rgba(16, 22, 41, .95);--auth-menu-text: rgba(226, 232, 240, .9);--auth-menu-hover: #fff;position:fixed;top:24px;right:28px;z-index:100}.home-auth-module{--auth-border: var(--border);--auth-background: rgba(255, 255, 255, .92);--auth-text: var(--text-primary);--auth-hover-background: var(--primary-light);--auth-hover-border: var(--primary);--auth-menu-border: var(--border);--auth-menu-background: rgba(255, 255, 255, .98);--auth-menu-text: var(--text-secondary);--auth-menu-hover: var(--primary)}.module-page-header{min-height:38px;padding-right:190px;gap:16px;flex-wrap:wrap}.home-auth-login,.home-auth-user{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border:1px solid var(--auth-border);border-radius:20px;background:var(--auth-background);color:var(--auth-text);font-size:13px;letter-spacing:1px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s,border-color .2s}.home-auth-login:hover,.home-auth-user:hover{background:var(--auth-hover-background);border-color:var(--auth-hover-border)}.home-auth-avatar{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#60a5fa,#a78bfa);color:#fff;font-size:12px;font-weight:700}.home-auth-caret{font-size:10px;opacity:.7}.home-auth-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:140px;padding:6px;border:1px solid var(--auth-menu-border);border-radius:10px;background:var(--auth-menu-background);box-shadow:0 12px 32px #00000073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.home-auth-menu button{display:block;width:100%;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:var(--auth-menu-text);font-size:13px;text-align:left;cursor:pointer}.home-auth-menu button:hover{background:#60a5fa2e;color:var(--auth-menu-hover)}.home-header{text-align:center;margin-bottom:60px;animation:fade-in-down 1s ease-out}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.home-title{font-size:4rem;font-weight:700;background:linear-gradient(135deg,#667eea,#f093fb,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:16px;display:flex;align-items:center;justify-content:center;gap:16px}.title-icon{font-size:3.5rem;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{filter:drop-shadow(0 0 10px rgba(246,147,251,.6))}50%{filter:drop-shadow(0 0 20px rgba(246,147,251,.9))}}.home-subtitle{font-size:1.25rem;color:#ffffffb3;letter-spacing:4px;text-transform:uppercase}.apps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;max-width:1200px;width:100%;animation:fade-in-up 1s ease-out .3s both}@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.app-card{position:relative;background:#ffffff0d;border-radius:20px;padding:2px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.app-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;padding:2px;background:var(--gradient);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease}.app-card[aria-disabled=true]{cursor:wait;opacity:.65}.app-card:focus-visible{outline:2px solid #60a5fa;outline-offset:5px}.app-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px #667eea4d}.app-card:hover:before{opacity:1}.app-card-inner{position:relative;background:#1a1f3acc;border-radius:18px;padding:40px 30px;text-align:center;overflow:hidden}.app-hover-effect{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gradient);opacity:0;transition:opacity .3s ease;mix-blend-mode:overlay}.app-card:hover .app-hover-effect{opacity:.1}.app-icon{font-size:4rem;margin-bottom:20px;display:inline-block;transition:transform .3s ease}.app-card:hover .app-icon{transform:scale(1.2) rotate(5deg)}.app-name{font-size:1.5rem;font-weight:600;color:#fff;margin-bottom:12px;transition:color .3s ease}.app-card:hover .app-name{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-description{font-size:.95rem;color:#fff9;line-height:1.6}.home-footer{margin-top:80px;text-align:center;color:#fff6;font-size:.9rem;letter-spacing:1px;animation:fade-in 1s ease-out .6s both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.home-auth{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}.home-auth-login,.home-auth-user{min-height:44px;max-width:140px;padding:7px 12px}.home-auth-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-auth-avatar,.home-auth-caret{flex-shrink:0}.home-auth-menu{max-width:calc(100vw - 32px)}.home-auth-menu button{min-height:44px}.home-content{padding:88px 16px 32px;min-height:100dvh}.home-header{width:100%;margin-bottom:32px}.home-footer{margin-top:40px}.module-page-header{padding-top:44px;padding-right:0}.home-title{font-size:clamp(1.75rem,7.5vw,2.5rem);gap:10px;flex-wrap:wrap}.title-icon{font-size:2rem}.home-subtitle{font-size:1rem;letter-spacing:2px}.apps-grid{grid-template-columns:1fr;gap:20px}.app-card-inner{padding:30px 20px}}:root{--primary: #1a73e8;--primary-light: #e8f0fe;--primary-dark: #1558b0;--success: #f6465d;--success-light: #fef0f2;--danger: #0ecb81;--danger-light: #e6faf3;--warning: #f0a500;--text-primary: #1a1a2e;--text-secondary: #6b7280;--text-muted: #9ca3af;--bg: #f5f7fa;--bg-card: #ffffff;--border: #e5e7eb;--border-light: #f3f4f6;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--transition: .18s ease;--sidebar-width: 220px;--topbar-height: 60px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;color:var(--text-primary);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}#root{height:100%}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;outline:none;background:none;font-family:inherit}input,select,textarea{font-family:inherit;outline:none}.muted{color:var(--text-muted)}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-col{display:flex;flex-direction:column}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.text-sm{font-size:12px}.text-lg{font-size:16px}.text-xl{font-size:20px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;transition:background var(--transition),box-shadow var(--transition),opacity var(--transition);white-space:nowrap}.btn:active{opacity:.85}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#0ab86f}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#e0304a}.btn-outline{background:transparent;border:1.5px solid var(--border);color:var(--text-secondary)}.btn-outline:hover{background:var(--border-light)}.btn-ghost{background:transparent;color:var(--text-secondary);padding:6px 10px}.btn-ghost:hover{background:var(--border-light)}.btn-sm{padding:5px 10px;font-size:12px;border-radius:5px}.icon-action{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:5px;background:transparent;color:var(--text-muted);opacity:.65;cursor:pointer;transition:all .15s}.icon-action:hover{opacity:1;color:var(--text-primary);background:var(--border-light)}.icon-action.danger:hover{color:#e5484d}.icon-action.done{opacity:1;color:#1e8e3e}.drag-grip{position:absolute;left:-16px;display:inline-flex;align-items:center;justify-content:center;width:14px;height:20px;color:var(--text-muted);opacity:0;cursor:grab;transition:opacity .15s}.drag-row:hover>.drag-grip,.drag-head:hover>.drag-grip{opacity:.7}.drag-head{cursor:grab}.drag-head:active,.drag-grip:active{cursor:grabbing}.drag-source{opacity:.35}.card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px}.form-group{display:flex;flex-direction:column;gap:6px;min-width:0}.form-row{display:flex;gap:12px}.form-input,.form-select{width:100%;min-width:0}.form-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-input{padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;color:var(--text-primary);background:var(--bg);transition:border-color var(--transition),box-shadow var(--transition)}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1a73e81f;background:#fff}.form-select{padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;color:var(--text-primary);background:var(--bg);cursor:pointer;transition:border-color var(--transition)}.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1a73e81f}.form-error{font-size:12px;color:var(--danger)}.divider{border:none;border-top:1px solid var(--border);margin:16px 0}.spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--text-muted);gap:10px}.empty-state .icon{font-size:40px}.empty-state .text{font-size:14px}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;background:var(--border-light);color:var(--text-secondary)}.modal-overlay{position:fixed;top:var(--visual-top, 0px);left:var(--visual-left, 0px);width:var(--visual-width, 100%);height:var(--visual-height, 100%);background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;overflow-y:auto;overscroll-behavior:contain;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-box{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;max-width:440px;max-height:calc(100vh - 32px);max-height:calc(var(--visual-height, 100dvh) - 32px);overflow-y:auto;overscroll-behavior:contain;padding:28px;animation:slideUp .18s ease;position:relative}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.modal-title{font-size:17px;font-weight:700;color:var(--text-primary)}.modal-close{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:18px;transition:background var(--transition),color var(--transition)}.modal-close:hover{background:var(--border-light);color:var(--text-primary)}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;flex-wrap:wrap}.modal-body{display:flex;flex-direction:column;gap:16px}.icon-picker-panel{margin-top:10px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;background:var(--bg-card)}.icon-picker-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.icon-picker-tab{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--transition),color var(--transition)}.icon-picker-tab .count{font-size:11px;opacity:.6}.icon-picker-tab:hover{background:var(--border-light)}.icon-picker-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.icon-picker-tab.active .count{opacity:.85}.icon-picker-search{margin-bottom:8px;font-size:13px}.icon-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:4px;max-height:240px;overflow-y:auto;padding:4px;border-radius:6px;background:var(--bg-page, #f6f8fb)}.icon-picker-cell{padding:3px;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition),border-color var(--transition)}.icon-picker-cell:hover{background:#e8f0fe;border-color:#b7ccf8}.icon-picker-cell.selected{background:#d7e7fd;border-color:var(--primary)}.icon-picker-empty{grid-column:1 / -1;padding:24px;text-align:center;font-size:13px;color:var(--text-muted)}.icon-picker-foot{margin-top:8px;font-size:11px;color:var(--text-muted)}@media (max-width: 768px){.form-row{flex-direction:column}.modal-box{padding:20px}.modal-header{gap:8px;margin-bottom:16px}.modal-title{min-width:0;overflow-wrap:anywhere}.modal-overlay{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.modal-box{max-height:calc(var(--visual-height, 100dvh) - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.login-panel{padding:32px 24px 24px!important}input,select,textarea{font-size:16px!important}}@media (max-width: 768px),(pointer: coarse){.btn,.filter-tab,.icon-picker-tab,.modal-box button,.login-panel button,.form-input,.form-select{min-height:44px}.icon-action,.modal-close{width:44px;height:44px;flex-shrink:0}.icon-action{opacity:1}.icon-picker-cell{min-height:44px}.drag-grip{display:none}.drag-head{cursor:default}.member-picker button{min-height:44px}}body:has(.modal-overlay),body:has(.login-overlay),body:has(.zenith-player-overlay){overflow:hidden}button:focus-visible,a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app-shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-width);background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:20px 20px 16px;border-bottom:1px solid var(--border-light)}.sidebar-logo .logo-icon{width:34px;height:34px;background:transparent;border-radius:8px;display:flex;align-items:center;justify-content:center}.sidebar-logo .logo-text{font-size:16px;font-weight:700;color:var(--text-primary)}.sidebar-nav{padding:12px 10px;flex:1}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:14px;font-weight:500;transition:background var(--transition),color var(--transition);margin-bottom:2px;cursor:pointer}.nav-item:hover{background:var(--border-light);color:var(--text-primary)}.nav-item.active{background:var(--primary-light);color:var(--primary)}.nav-item .nav-icon{font-size:16px}.main-area{min-width:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.topbar{height:var(--topbar-height);background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;flex-shrink:0}.topbar-title{font-size:17px;font-weight:700;color:var(--text-primary)}.topbar-actions{display:flex;align-items:center;gap:10px}.page-content{min-width:0;overflow-wrap:anywhere;flex:1;overflow-y:auto;padding:24px 28px}.filter-tab{padding:6px 16px;border-radius:20px;font-size:13px;font-weight:500;color:var(--text-secondary);background:var(--bg-card);border:1.5px solid var(--border);transition:all var(--transition)}.filter-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.filter-tab:hover:not(.active){background:var(--border-light)}.users-table{width:100%;border-collapse:collapse;font-size:13.5px}.users-table th{text-align:left;padding:10px 14px;font-size:12px;font-weight:600;color:var(--text-muted);background:var(--border-light);white-space:nowrap}.users-table td{padding:10px 14px;border-top:1px solid var(--border-light);color:var(--text-primary);white-space:nowrap}.users-table tbody tr:hover td{background:#fafafa}.music-table-wrap{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:auto}.music-table{width:100%;border-collapse:collapse;font-size:13px}.music-table th{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-muted);background:var(--border-light);white-space:nowrap;position:sticky;top:0;z-index:1}.music-table td{padding:10px 12px;border-top:1px solid var(--border-light);color:var(--text-primary);white-space:nowrap}.music-row:hover td{background:#fafafa}.music-row-editing td{background:#f0f6ff;padding:6px 8px}.music-inline-input{width:100%;padding:5px 8px;border:1.5px solid var(--border);border-radius:5px;font-size:13px;background:#fff;color:var(--text-primary);transition:border-color var(--transition);box-sizing:border-box}.music-inline-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #1a73e81a}.freetime-wrap{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:auto;border:1px solid var(--border)}.freetime-table{border-collapse:collapse;font-size:12px;min-width:100%}.freetime-table th,.freetime-table td{border:1px solid var(--border-light)}.ft-person-col{width:110px;min-width:110px;background:#f0f4ff;position:sticky;left:0;z-index:2;font-size:11px;font-weight:700;color:var(--text-secondary);padding:10px 14px;text-align:left;box-shadow:1px 0 #c7d4e8}.ft-slot-col{min-width:54px;padding:5px 2px;text-align:center;background:#f8faff;font-weight:500}.ft-day{font-size:11px;color:var(--primary);font-weight:700}.ft-time{font-size:10px;color:var(--text-muted);margin-top:1px}.ft-person-name{width:110px;max-width:110px;padding:10px 14px;font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff;position:sticky;left:0;z-index:1;box-shadow:1px 0 #c7d4e8}.freetime-table tbody tr:nth-child(2n) .ft-person-name{background:#fafbff}.freetime-table tbody tr:hover .ft-person-name{background:#f0f4ff}.ft-slot{width:54px;height:40px;text-align:center;vertical-align:middle;cursor:pointer;font-size:15px;color:#16a34a;font-weight:700;transition:background var(--transition);-webkit-user-select:none;user-select:none;background:#fff}.freetime-table tbody tr:nth-child(2n) .ft-slot{background:#fafbff}.ft-slot:hover{background:#dcfce7!important}.ft-slot-active{background:#bbf7d0!important;color:#15803d}.ranking-table-wrap{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:auto}.ranking-table{width:100%;border-collapse:collapse;font-size:13px}.ranking-table th{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-muted);background:var(--border-light);white-space:nowrap;position:sticky;top:0;z-index:1}.ranking-table td{padding:9px 12px;border-top:1px solid var(--border-light);color:var(--text-primary);vertical-align:middle}.ranking-row:hover td{background:#fafafa}.ranking-grip-cell{width:26px;padding:0 0 0 8px!important;color:var(--text-muted);cursor:grab}.ranking-grip-cell svg{opacity:0;transition:opacity var(--transition)}.ranking-row:hover .ranking-grip-cell svg{opacity:.55}.score-badge{display:inline-block;min-width:34px;padding:3px 7px;border-radius:5px;font-size:12.5px;font-weight:700;text-align:center;color:#fff}.score-badge.good{background:#00ce7a}.score-badge.mixed{background:#ffbd3f}.score-badge.bad{background:#ff6874}.score-badge.empty{background:#eceff3;color:var(--text-muted);font-weight:600}.score-badge.round{width:30px;min-width:30px;height:30px;line-height:24px;border-radius:50%;padding:3px 0}.refresh-bar{margin-bottom:16px;padding:10px 14px;border-radius:8px;font-size:12.5px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.refresh-bar .track{flex:1;min-width:120px;height:5px;border-radius:3px;background:#00000014;overflow:hidden}.refresh-bar .track>span{display:block;height:100%;background:currentColor;transition:width var(--transition)}.module-shell{display:flex;min-height:100vh;background:var(--bg-base, var(--bg))}.module-sidebar{width:200px;flex-shrink:0;padding:24px 0;background:var(--sidebar-bg, var(--bg));border-right:1px solid var(--border);display:flex;flex-direction:column}.module-logo{display:flex;align-items:center;gap:10px;padding:0 20px 24px;border-bottom:1px solid var(--border);margin-bottom:12px}.module-nav{padding:0 10px}.module-nav-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;margin-bottom:2px;font-size:14px;color:var(--text-secondary);transition:background .15s,color .15s}.module-nav-item.active{background:var(--primary-light);color:var(--primary);font-weight:700}.module-content{flex:1;min-width:0;padding:32px 36px;overflow:auto;overflow-wrap:anywhere}.page-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.page-toolbar{flex-wrap:wrap}.table-scroll,.music-table-wrap,.freetime-wrap,.ranking-table-wrap{max-width:100%;overscroll-behavior-x:contain}.mobile-hint,.mobile-sort,.wow-class-select{display:none}.av-video-card{min-width:0;overflow-wrap:anywhere}.av-card-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.context-menu{width:196px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow-y:auto}.context-menu button{display:block;width:100%;text-align:left;min-height:44px}.responsive-details{overflow-wrap:anywhere}.av-tabs{max-width:100%;overflow-x:auto}.av-tabs>button{flex-shrink:0;white-space:nowrap}@media (max-width: 768px){.app-shell,.module-shell{flex-direction:column;height:auto;min-height:100vh;min-height:100dvh;overflow:visible}.sidebar,.module-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border);padding:0;overflow:visible;background:#fff;position:sticky;top:0;z-index:90}.sidebar-logo{padding:12px 16px}.module-logo{margin-bottom:0;min-height:76px;padding:max(12px,env(safe-area-inset-top)) 156px 12px max(16px,env(safe-area-inset-left))}.sidebar-nav,.module-nav{display:flex;flex:none;gap:4px;padding:6px 12px;overflow-x:auto;overscroll-behavior-x:contain}.nav-item,.module-nav-item{flex-shrink:0;min-height:44px;white-space:nowrap;margin-bottom:0;gap:6px}.main-area{overflow:visible}.topbar{height:auto;min-height:60px;padding:12px 16px;gap:12px;flex-wrap:wrap}.topbar-title{min-width:0}.topbar-actions{flex-wrap:wrap}.page-content,.module-content{width:100%;padding:20px max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow:visible}.module-content>.module-page-header{padding-top:0;padding-right:0;gap:12px}.module-page-header h1{font-size:20px!important}.responsive-row,.member-card{flex-wrap:wrap}.responsive-details{flex-basis:calc(100% - 48px)!important}.responsive-actions{width:100%;justify-content:flex-end;flex-wrap:wrap}.member-card{gap:12px!important;padding:16px!important}.mobile-stack{flex-direction:column;align-items:stretch!important;gap:12px}.mobile-stack>input,.mobile-stack>select{width:100%;min-width:0}.ranking-filters>span{flex-basis:100%}.ranking-filters>input,.ranking-filters>select{width:100%!important}.ranking-table{min-width:920px}.users-table{min-width:720px}.mobile-hint{display:block;color:var(--text-muted);font-size:12px;margin-bottom:10px}.wow-macro-layout{flex-direction:column;align-items:stretch!important}.wow-class-sidebar{display:none}.wow-class-select{display:flex;width:100%}.av-filters{flex-direction:column;gap:16px!important}.actress-posters{width:100%;flex:auto!important;flex-wrap:nowrap!important;overflow-x:auto;padding-bottom:8px;overscroll-behavior-x:contain}.actress-posters>div{flex-shrink:0}.av-filter-group{min-width:0!important}.av-filter-options{display:flex!important;flex-wrap:wrap}.av-tabs>button{padding:10px 12px!important}.admin-page{padding:20px 16px!important}.admin-header{flex-wrap:wrap}}@media (max-width: 768px),(pointer: coarse){.mobile-sort{display:flex;gap:0;flex-shrink:0}.ranking-table .mobile-sort{flex-direction:column}.ranking-grip-cell{display:none}.wow-setting-row{flex-wrap:wrap;gap:4px!important}.wow-setting-content{flex-basis:100%!important}.wow-setting-actions{margin-left:auto}.wow-setting-row>.mobile-sort{margin-left:-10px}.av-filter-options button,.av-tabs button,.music-inline-input{min-height:44px!important}.av-cover-play{opacity:1!important;background:#0000001f!important}.av-tag-delete{width:44px;height:44px;flex-shrink:0}.ft-slot{height:44px}}
