.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}:root{--bg-primary:#f0f2f5;--bg-card:#fff;--bg-sidebar:#1a1d2e;--bg-sidebar-active:#4ecdc41f;--text-primary:#1a1d2e;--text-secondary:#4a5568;--text-muted:#a0aec0;--border:#e8ecf0;--accent-teal:#4ecdc4;--accent-purple:#a78bfa;--accent-coral:#ff6b6b;--accent-orange:#fb923c;--accent-green:#22c55e;--accent-yellow:#ffe66d;--accent-blue:#60a5fa;--gradient-1:linear-gradient(135deg,#4ecdc4,#44a08d);--gradient-2:linear-gradient(135deg,#a78bfa,#7c3aed);--gradient-3:linear-gradient(135deg,#ff6b6b,#ee5a24);--gradient-4:linear-gradient(135deg,#fb923c,#f97316);--gradient-5:linear-gradient(135deg,#22c55e,#16a34a);--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 8px 24px #00000014;--radius:12px;--radius-sm:8px;--radius-lg:16px}[data-theme=dark]{--bg-primary:#1a1e2e;--bg-card:#252a3a;--bg-sidebar:#141824;--bg-sidebar-active:#4ecdc426;--text-primary:#eef0f4;--text-secondary:#b0b8c8;--text-muted:#8892a8;--border:#3a4260;--shadow-sm:0 1px 3px #00000026;--shadow-md:0 4px 12px #0003;--shadow-lg:0 8px 24px #0000004d}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Comfortaa Variable,sans-serif;font-size:14px;line-height:1.5}.font-title{font-family:Comfortaa Variable,sans-serif;font-weight:700}a{color:inherit;text-decoration:none}input,select,textarea,button{font-family:inherit}.app-layout{min-height:100vh;display:flex}.sidebar{z-index:100;background:linear-gradient(170deg,#141824 0%,#1a1e2e 40%,#151a28 100%);border-right:1px solid #4ecdc414;flex-direction:column;width:240px;transition:width .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(1.5px 1.5px at 20% 15%,#ffffff4d 50%,#0000 50%),radial-gradient(1px 1px at 75% 25%,#4ecdc44d 50%,#0000 50%),radial-gradient(1.5px 1.5px at 40% 65%,#4ecdc433 50%,#0000 50%),radial-gradient(1px 1px at 85% 80%,#a78bfa33 50%,#0000 50%),radial-gradient(1px 1px at 10% 90%,#fff3 50%,#0000 50%),radial-gradient(1.5px 1.5px at 60% 45%,#ffe66d26 50%,#0000 50%),radial-gradient(1px 1px at 30% 35%,#4ecdc440 50%,#0000 50%),radial-gradient(1px 1px at 90% 55%,#ffffff2e 50%,#0000 50%);animation:4s ease-in-out infinite alternate twinkle;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes twinkle{0%{opacity:.6}to{opacity:1}}.sidebar>*{z-index:1;position:relative}.sidebar.collapsed{width:68px}[data-theme=light] .sidebar{background:linear-gradient(170deg,#f0f2f5 0%,#e8f8f5 40%,#f0f2f5 100%);border-right-color:#4ecdc41f}[data-theme=light] .sidebar:before{background:radial-gradient(circle at 20% 30%,#4ecdc40f 0%,#0000 50%),radial-gradient(circle at 70% 60%,#a78bfa0a 0%,#0000 50%),radial-gradient(circle at 50% 80%,#fb923c0a 0%,#0000 50%);animation:none}.sidebar-header{justify-content:space-between;align-items:center;gap:8px;padding:16px 12px 6px;display:flex}.sidebar.collapsed .sidebar-header{flex-direction:column;align-items:center;gap:6px;padding:16px 8px 6px}.sidebar-logo{align-items:center;gap:12px;min-width:0;display:flex}.sidebar.collapsed .sidebar-logo{justify-content:center}.logo-icon{background:linear-gradient(135deg,#4ecdc4 0%,#38b2ac 40%,#319795 100%);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:22px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;animation:3s ease-in-out infinite logoFloat;display:flex;position:relative;box-shadow:0 4px 16px #4ecdc466,0 0 0 3px #4ecdc41f,inset 0 1px #fff3}.logo-icon:after{content:"✨";pointer-events:none;filter:drop-shadow(0 0 4px #ffe66d99);font-size:14px;animation:2s ease-in-out infinite logoSparkle;position:absolute;top:-6px;right:-6px}.logo-icon.clickable{cursor:pointer}.logo-icon.clickable:hover{animation:.5s logoWobble;transform:scale(1.18)rotate(-10deg);box-shadow:0 6px 28px #4ecdc48c,0 0 0 4px #4ecdc42e,inset 0 1px #ffffff4d}.logo-icon.clickable:active{transition-duration:.1s;transform:scale(.9)rotate(3deg)}@keyframes logoFloat{0%,to{transform:translateY(0);box-shadow:0 4px 16px #4ecdc466,0 0 0 3px #4ecdc41f}50%{transform:translateY(-3px);box-shadow:0 8px 24px #4ecdc480,0 0 0 4px #4ecdc42e}}@keyframes logoWobble{0%{transform:scale(1.18)rotate(-10deg)}25%{transform:scale(1.15)rotate(6deg)}50%{transform:scale(1.18)rotate(-4deg)}75%{transform:scale(1.16)rotate(2deg)}to{transform:scale(1.18)rotate(-10deg)}}@keyframes logoSparkle{0%,to{opacity:.8;transform:scale(1)rotate(0)}50%{opacity:1;transform:scale(1.3)rotate(15deg)}}.logo-text{-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 2px #0003);background:linear-gradient(135deg,#4ecdc4 0%,#a78bfa 50%,#f472b6 100%);-webkit-background-clip:text;background-clip:text;font-family:Comfortaa Variable,sans-serif;font-size:20px;font-weight:800}.logo-sub{color:#ffffff4d;letter-spacing:.8px;margin-top:-1px;font-size:10px;font-weight:600}[data-theme=light] .logo-icon{background:linear-gradient(135deg,#81e6d9 0%,#4ecdc4 40%,#38b2ac 100%);box-shadow:0 4px 16px #4ecdc44d,0 0 0 3px #4ecdc41a}[data-theme=light] .logo-text{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#319795 0%,#7c3aed 50%,#db2777 100%);-webkit-background-clip:text;background-clip:text}[data-theme=light] .logo-sub{color:#2d1b6959}.sidebar-nav{scrollbar-width:none;flex:1;padding:6px 8px;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{display:none}.nav-section-label{text-transform:uppercase;letter-spacing:1.8px;color:#4ecdc459;padding:16px 12px 6px;font-size:10px;font-weight:800;position:relative}.nav-section-label:before{content:"";background:linear-gradient(90deg,#4ecdc426,#a78bfa1a,#fb923c14);border-radius:1px;height:1px;position:absolute;top:10px;left:12px;right:12px}[data-theme=light] .nav-section-label{color:#4ecdc480}[data-theme=light] .nav-section-label:before{background:linear-gradient(90deg,#4ecdc41f,#a78bfa14,#fb923c0f)}.nav-section-dot{background:linear-gradient(90deg,#4ecdc44d,#a78bfa26);border-radius:3px;width:20px;height:3px;margin:14px auto 8px}[data-theme=light] .nav-section-dot{background:linear-gradient(90deg,#4ecdc440,#a78bfa1f)}.nav-item{color:#ffffff80;cursor:pointer;--nav-accent:#4ecdc4;--nav-glow:#4ecdc440;border-radius:14px;align-items:center;gap:11px;margin-bottom:3px;padding:9px 14px;font-size:13px;font-weight:600;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.sidebar.collapsed .nav-item{justify-content:center;padding:10px}.nav-item:hover{color:#ffffffe6;box-shadow:0 0 20px var(--nav-glow),inset 0 0 0 1px #ffffff0a;background:#ffffff0f;transform:translate(4px)}.sidebar.collapsed .nav-item:hover{transform:scale(1.08)}.nav-item:hover .nav-emoji{transform:scale(1.25)rotate(-5deg)}.nav-item:active{transition-duration:.1s;transform:translate(2px)scale(.97)}.sidebar.collapsed .nav-item:active{transform:scale(.93)}.nav-item.active{color:var(--nav-accent);background:var(--nav-bg,#ffffff0f);box-shadow:0 4px 20px var(--nav-glow),inset 0 0 0 1px #ffffff0d}.nav-item.active:before{content:"";background:var(--nav-accent);width:4px;height:65%;box-shadow:0 0 12px var(--nav-glow);border-radius:0 6px 6px 0;animation:2s ease-in-out infinite activeBar;position:absolute;top:50%;left:-8px;transform:translateY(-50%)}@keyframes activeBar{0%,to{opacity:1;height:65%}50%{opacity:.85;height:75%}}.sidebar.collapsed .nav-item.active:before{height:50%;left:-8px}.nav-item.active .nav-emoji{animation:1s ease-in-out activeEmoji;transform:scale(1.15)}.nav-item.active .nav-emoji-wrap{background:var(--emoji-bg)}@keyframes activeEmoji{0%{transform:scale(.8)rotate(-15deg)}50%{transform:scale(1.3)rotate(5deg)}to{transform:scale(1.15)rotate(0)}}[data-theme=light] .nav-item{color:var(--text-secondary)}[data-theme=light] .nav-item:hover{color:var(--text-primary);box-shadow:0 0 18px var(--nav-glow);background:#4ecdc40f}[data-theme=light] .nav-item.active{color:var(--nav-accent);background:var(--nav-bg,#4ecdc40f);box-shadow:0 4px 18px var(--nav-glow)}.nav-emoji-wrap{background:#ffffff08;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex}.nav-item:hover .nav-emoji-wrap{background:var(--emoji-bg);box-shadow:0 2px 10px var(--nav-glow)}.nav-emoji{filter:drop-shadow(0 2px 4px #00000026);flex-shrink:0;font-size:18px;line-height:1;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.nav-label{white-space:nowrap;text-overflow:ellipsis;letter-spacing:.2px;overflow:hidden}.online-dot{vertical-align:middle;background:#22c55e;border-radius:50%;width:7px;height:7px;margin-right:4px;animation:2s ease-in-out infinite onlinePulse;display:inline-block;box-shadow:0 0 8px #22c55e80}@keyframes onlinePulse{0%,to{opacity:1;box-shadow:0 0 8px #22c55e80}50%{opacity:.6;box-shadow:0 0 4px #22c55e4d}}.sidebar-decor{pointer-events:none;height:0;position:relative}.sidebar-bubble{opacity:.2;filter:drop-shadow(0 0 3px #ffffff26);animation:5s ease-in-out infinite floatBubble;position:absolute}.sidebar-bubble.b1{font-size:16px;animation-delay:0s;bottom:80px;left:14px}.sidebar-bubble.b2{font-size:13px;animation-delay:1.5s;bottom:50px;right:18px}.sidebar-bubble.b3{font-size:11px;animation-delay:3s;bottom:100px;left:45%}.sidebar-bubble.b4{font-size:14px;animation-delay:4.5s;bottom:30px;left:30%}.sidebar-bubble.b5{font-size:10px;animation-delay:2.5s;bottom:65px;right:8px}@keyframes floatBubble{0%,to{opacity:.18;transform:translateY(0)rotate(0)scale(1)}33%{opacity:.3;transform:translateY(-12px)rotate(8deg)scale(1.1)}66%{opacity:.22;transform:translateY(-6px)rotate(-5deg)scale(.95)}}.sidebar-footer{border-top:1px solid #4ecdc414;padding:10px 8px}[data-theme=light] .sidebar-footer{border-top-color:#4ecdc41a}.sidebar-user{background:#ffffff0a;border:1px solid #4ecdc40f;border-radius:14px;align-items:center;gap:8px;padding:8px 10px;transition:all .2s;display:flex}.sidebar-user:hover{background:#4ecdc40f}[data-theme=light] .sidebar-user{background:#4ecdc40a;border-color:#4ecdc414}.sidebar.collapsed .sidebar-user{flex-direction:column;gap:6px;padding:8px 4px}.user-avatar{color:#fff;background:linear-gradient(135deg,#4ecdc4 0%,#a78bfa 50%,#f472b6 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:800;animation:3s ease-in-out infinite avatarGlow;display:flex;position:relative;box-shadow:0 3px 10px #4ecdc44d}@keyframes avatarGlow{0%,to{box-shadow:0 3px 10px #4ecdc44d}50%{box-shadow:0 3px 16px #4ecdc473}}.user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.user-role{color:#ffffff59;font-size:10px;font-weight:500}[data-theme=light] .user-name{color:var(--text-primary)}[data-theme=light] .user-role{color:var(--text-muted)}.sidebar-footer .icon-btn{color:#fff6;transition:all .25s cubic-bezier(.34,1.56,.64,1)}.sidebar-footer .icon-btn:hover{color:#ff6b6b;background:#ff6b6b1f;transform:scale(1.1)rotate(-5deg)}[data-theme=light] .sidebar-footer .icon-btn{color:#2d1b6959}[data-theme=light] .sidebar-footer .icon-btn:hover{color:#ef4444;background:#ef44441a}.main-content{flex-direction:column;flex:1;min-height:100vh;margin-left:240px;transition:margin-left .25s cubic-bezier(.4,0,.2,1);display:flex}.sidebar.collapsed~.main-content{margin-left:68px}.topbar{background:var(--bg-card);border-bottom:1px solid var(--border);z-index:90;justify-content:space-between;align-items:center;padding:16px 28px;display:flex;position:sticky;top:0}.topbar-title{font-family:Comfortaa Variable,sans-serif;font-size:22px;font-weight:700}.topbar-actions{align-items:center;gap:12px;display:flex}.page-content{flex:1;padding:24px 28px}.search-box{background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;align-items:center;gap:8px;min-width:280px;padding:8px 14px;transition:all .2s;display:flex}.search-box:focus-within{border-color:var(--accent-teal);box-shadow:0 0 0 3px #4ecdc41a}.search-box input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:13px}.search-box input::placeholder{color:var(--text-muted)}.search-clear{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;align-items:center;padding:2px;display:flex}.search-clear:hover{background:var(--border)}.search-dropdown{background:var(--bg-card);border:1px solid var(--border);z-index:200;border-radius:16px;max-height:380px;padding:6px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden auto;box-shadow:0 12px 40px #0000001f,0 4px 12px #0000000f}.search-dropdown:before{content:"";background:linear-gradient(90deg,#4ecdc4,#a78bfa,#f472b6,#fb923c);border-radius:3px 3px 0 0;height:3px;margin:-6px -6px 6px;display:block}.search-result-item{cursor:pointer;border-radius:12px;align-items:center;gap:12px;margin-bottom:2px;padding:10px 12px;transition:all .2s;display:flex}.search-result-item:last-child{margin-bottom:0}.search-result-item:hover{background:var(--bg-primary);transform:translate(4px)}.search-result-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.search-result-icon.type-parent{background:#60a5fa1f}.search-result-icon.type-child{background:#a78bfa1f}.search-result-icon.type-session{background:#4ecdc41f}.search-result-title{color:var(--text-primary);font-size:13px;font-weight:700}.search-result-sub{color:var(--text-muted);margin-top:1px;font-size:11px}.notif-bell-btn{border:1px solid var(--border);background:var(--bg-card);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;transition:all .2s;display:flex;position:relative}.notif-bell-btn:hover{background:#fb923c14;border-color:#fb923c4d;transform:rotate(-8deg)scale(1.05)}.notif-bell-btn.has-unread{animation:2s ease-in-out infinite bellSwing}@keyframes bellSwing{0%,to{transform:rotate(0)}5%{transform:rotate(12deg)}10%{transform:rotate(-10deg)}15%{transform:rotate(6deg)}20%{transform:rotate(0)}}.notif-badge{color:#fff;border:2px solid var(--bg-card);background:linear-gradient(135deg,#ff6b6b,#ee5a24);border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:10px;font-weight:800;animation:.3s cubic-bezier(.175,.885,.32,1.275) badgePop;display:flex;position:absolute;top:-5px;right:-5px;box-shadow:0 2px 8px #ff6b6b66}.notif-dropdown{background:var(--bg-card);border:1px solid var(--border);z-index:200;border-radius:16px;width:360px;max-height:420px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 40px #0000001f,0 4px 12px #0000000f}.notif-dropdown:before{content:"";background:linear-gradient(90deg,#fb923c,#f472b6,#a78bfa,#4ecdc4);border-radius:3px 3px 0 0;height:3px;margin:-6px -6px 6px;display:block}.notif-header{justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;font-weight:800;display:flex}.notif-list{max-height:360px;overflow-y:auto}.notif-item{cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:2px;padding:10px 12px;transition:all .2s;display:flex}.notif-item:hover{background:var(--bg-primary);transform:translate(3px)}.notif-item.unread{background:#4ecdc40d}.card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border);padding:20px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border);text-align:center;padding:20px;transition:transform .15s}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{color:#fff;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 10px;font-size:22px;display:flex}.stat-value{margin-bottom:2px;font-family:Comfortaa Variable,sans-serif;font-size:26px;font-weight:700}.stat-label{color:var(--text-muted);font-size:12px;font-weight:600}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.btn-primary{background:var(--gradient-1);color:#fff}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-danger{background:var(--accent-coral);color:#fff}.btn-danger:hover{opacity:.9}.btn-sm{border-radius:6px;padding:5px 10px;font-size:12px}.btn-block{justify-content:center;width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);justify-content:center;align-items:center;transition:all .15s;display:flex}.icon-btn:hover{background:var(--bg-primary);border-color:var(--accent-teal);color:var(--accent-teal)}.form-group{margin-bottom:14px}.form-label{color:var(--text-secondary);margin-bottom:5px;font-size:12px;font-weight:700;display:block}.form-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);width:100%;color:var(--text-primary);outline:none;padding:10px 14px;font-size:13px;transition:border .15s}.form-input:focus{border-color:var(--accent-teal);box-shadow:0 0 0 3px #4ecdc414}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tabs{background:var(--bg-primary);border-radius:var(--radius);flex-wrap:wrap;gap:4px;margin-bottom:16px;padding:4px;display:flex}.tab{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border:none;padding:8px 16px;font-size:13px;font-weight:700;transition:all .15s}.tab.active{background:var(--bg-card);color:var(--accent-teal);box-shadow:var(--shadow-sm)}.badge{border-radius:20px;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge-active{color:var(--accent-teal);background:#4ecdc41a}.badge-warning{color:var(--accent-orange);background:#fb923c1a}.badge-info{color:var(--accent-blue);background:#60a5fa1a}.badge-cancelled{color:var(--accent-coral);background:#ff6b6b1a}.data-table{border-collapse:collapse;width:100%}.data-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);text-align:left;border-bottom:2px solid var(--border);padding:12px 14px;font-size:11px;font-weight:700}.data-table td{border-bottom:1px solid var(--border);padding:12px 14px;font-size:13px}.data-table tr:hover{background:#4ecdc405}.data-table tr:last-child td{border-bottom:none}.child-card{border-radius:var(--radius);border:2px solid var(--border);cursor:pointer;background:var(--bg-card);align-items:center;gap:12px;padding:14px;transition:all .15s;display:flex}.child-card:hover{border-color:var(--accent-teal);box-shadow:var(--shadow-sm)}.child-card.selected{border-color:var(--accent-teal);background:#4ecdc40a;box-shadow:0 0 0 3px #4ecdc414}.child-avatar{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.child-info{flex:1;min-width:0}.child-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.child-meta{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;display:flex}.section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title{font-family:Comfortaa Variable,sans-serif;font-size:16px;font-weight:700}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:500;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:560px;animation:.2s modalIn}.modal-sm{max-width:400px}.modal-md{max-width:520px}.modal-lg{max-width:720px}.modal-xl{max-width:960px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{font-family:Comfortaa Variable,sans-serif;font-size:16px;font-weight:700}.modal-close{background:var(--bg-primary);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.modal-close:hover{background:var(--accent-coral);color:#fff}.modal-body{max-height:85vh;padding:16px 20px;overflow-y:auto}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.toast-container{z-index:9999;flex-direction:column;gap:8px;display:flex;position:fixed;top:16px;right:16px}.toast{border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow-lg);border:1px solid var(--border);align-items:center;gap:10px;min-width:260px;padding:12px 18px;font-size:13px;font-weight:600;animation:.3s toastIn;display:flex}@keyframes toastIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.empty-state{text-align:center;padding:40px 20px}.empty-icon{margin-bottom:12px;font-size:48px}.empty-text{color:var(--text-muted);font-size:14px;font-weight:600}.search-result-type{letter-spacing:.3px;border-radius:20px;padding:3px 10px;font-size:10px;font-weight:700}.locale-switcher{position:relative}.locale-switcher-btn{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;color:var(--text-primary);border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:700;transition:all .2s;display:flex}.locale-switcher-btn:hover{border-color:var(--accent-teal)}.locale-switcher-chevron{opacity:.5}.locale-switcher-dropdown{background:var(--bg-card);border:1px solid var(--border);min-width:170px;box-shadow:var(--shadow-lg);z-index:1000;border-radius:12px;margin-top:6px;padding:4px;position:absolute;top:100%;right:0;overflow:hidden}.locale-switcher-item{cursor:pointer;color:var(--text-primary);background:0 0;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.locale-switcher-item.active{color:var(--accent-teal);background:#4ecdc41a;font-weight:700}.locale-switcher-dot{background:var(--accent-teal);border-radius:50%;width:6px;height:6px;margin-left:auto}.locale-switcher-compact .locale-switcher-btn{border-radius:8px;gap:4px;padding:6px 8px}.locale-switcher-compact .locale-switcher-code,.locale-switcher-compact .locale-switcher-chevron{display:none}.locale-switcher-compact .locale-switcher-dropdown{min-width:150px;right:0}.ls{z-index:99999;background:linear-gradient(135deg,#ede9fe 0%,#fce7f3 50%,#dbeafe 100%);justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.ls--unlocked{opacity:0;pointer-events:none}.ls-bg{filter:blur(80px);opacity:.5;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.ls-blob{border-radius:50%;animation:12s ease-in-out infinite alternate lsBlobMove;position:absolute}.ls-blob--1{background:radial-gradient(circle,#c4b5fd,#a78bfa);width:550px;height:550px;top:-15%;left:-10%}.ls-blob--2{background:radial-gradient(circle,#fbcfe8,#f9a8d4);width:450px;height:450px;animation-duration:15s;animation-delay:-4s;bottom:-10%;right:-5%}.ls-blob--3{background:radial-gradient(circle,#bae6fd,#7dd3fc);width:400px;height:400px;animation-duration:18s;animation-delay:-8s;top:30%;left:50%}@keyframes lsBlobMove{0%{transform:translate(0)scale(1)}33%{transform:translate(60px,-40px)scale(1.1)}66%{transform:translate(-30px,50px)scale(.95)}to{transform:translate(40px,20px)scale(1.05)}}.ls-particles{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.ls-particle{opacity:.3;animation:linear infinite lsParticle;position:absolute;bottom:-40px}@keyframes lsParticle{0%{opacity:0;transform:translateY(0)scale(.8)rotate(0)}8%{opacity:.3}92%{opacity:.3}to{opacity:0;transform:translateY(-105vh)scale(1.1)rotate(180deg)}}.ls-container{z-index:2;flex-direction:column;align-items:center;width:100%;max-width:340px;padding:0 20px;display:flex;position:relative}.ls--shake{animation:.5s ease-in-out lsShake}@keyframes lsShake{0%,to{transform:translate(0)}15%{transform:translate(-16px)}30%{transform:translate(14px)}45%{transform:translate(-10px)}60%{transform:translate(8px)}75%{transform:translate(-4px)}}.ls-clock{text-align:center;margin-bottom:28px}.ls-time{color:#1e1b4b;letter-spacing:4px;font-variant-numeric:tabular-nums;font-size:56px;font-weight:200;line-height:1}.ls-colon{animation:1s step-end infinite lsBlink}@keyframes lsBlink{0%,to{opacity:1}50%{opacity:.2}}.ls-date{color:#1e1b4b73;letter-spacing:.5px;margin-top:6px;font-size:14px;font-weight:500}.ls-avatar{background:linear-gradient(135deg,#a78bfa40,#f472b640);border:2px solid #a78bfa33;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:10px;animation:3s ease-in-out infinite lsFloat;display:flex}@keyframes lsFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.ls-avatar-emoji{font-size:34px}.ls-greeting{color:#1e1b4b;letter-spacing:-.2px;margin-bottom:24px;font-size:16px;font-weight:600}.ls-dots{align-items:center;gap:16px;height:36px;margin-bottom:6px;display:flex}.ls-dot{border:2px solid #1e1b4b33;border-radius:50%;width:14px;height:14px;transition:all .2s cubic-bezier(.34,1.56,.64,1);position:relative}.ls-dot--on{border-color:#0000;transform:scale(1.3)}.ls-dot-fill{opacity:0;background:linear-gradient(135deg,#a78bfa,#f472b6);border-radius:50%;transition:all .25s cubic-bezier(.34,1.56,.64,1);position:absolute;top:-2px;bottom:-2px;left:-2px;right:-2px;transform:scale(0)}.ls-dot--on .ls-dot-fill{opacity:1;transform:scale(1);box-shadow:0 0 12px #a78bfa80}.ls-dot--err{border-color:#f87171}.ls-dot--err .ls-dot-fill{background:#f87171;box-shadow:0 0 12px #f8717180}.ls-err{color:#e11d48;height:20px;margin-bottom:8px;font-size:13px;font-weight:600;animation:.3s lsFadeUp}@keyframes lsFadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ls-pad{grid-template-columns:repeat(3,1fr);gap:12px;width:100%;max-width:300px;margin-top:16px;display:grid}.ls-btn{color:#1e1b4b;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(8px);background:#ffffff80;border:1px solid #ffffffb3;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:1px;height:62px;transition:all .15s;display:flex;position:relative;overflow:hidden}.ls-btn:hover:not(:disabled){background:#ffffffbf;border-color:#a78bfa4d;transform:scale(1.04)}.ls-btn:active:not(:disabled){background:#ffffffd9;transform:scale(.96)}.ls-btn--ripple:after{content:"";background:radial-gradient(circle,#a78bfa4d 0%,#0000 70%);border-radius:20px;animation:.4s ease-out lsRipple;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes lsRipple{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(1.5)}}.ls-btn-num{letter-spacing:.5px;font-size:24px;font-weight:600;line-height:1}.ls-btn--fn{color:#1e1b4b80;background:#ffffff4d;border-color:#ffffff80}.ls-btn--fn:hover:not(:disabled){color:#1e1b4b}.ls-btn--del:hover:not(:disabled){color:#e11d48;background:#e11d4814;border-color:#e11d4826}.ls-btn:disabled{opacity:.3;cursor:not-allowed}.ls-footer{align-items:center;gap:10px;margin-top:28px;display:flex}.ls-exit{color:#1e1b4b73;cursor:pointer;letter-spacing:.3px;background:0 0;border:1.5px solid #1e1b4b26;border-radius:12px;padding:8px 20px;font-size:12px;font-weight:600;transition:all .2s}.ls-exit:hover{color:#1e1b4bb3;background:#fff6;border-color:#1e1b4b40}.ls-theme-btn{color:#1e1b4b73;cursor:pointer;background:0 0;border:1.5px solid #1e1b4b26;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.ls-theme-btn:hover{color:#1e1b4bb3;background:#fff6;border-color:#1e1b4b40}[data-theme=dark] .ls{background:linear-gradient(135deg,#1a1145 0%,#1e1b2e 50%,#0f172a 100%)}[data-theme=dark] .ls-bg{opacity:.35}[data-theme=dark] .ls-blob--1{background:radial-gradient(circle,#7c3aed,#4c1d95)}[data-theme=dark] .ls-blob--2{background:radial-gradient(circle,#be185d,#831843)}[data-theme=dark] .ls-blob--3{background:radial-gradient(circle,#1d4ed8,#1e3a5f)}[data-theme=dark] .ls-particle{opacity:.15}[data-theme=dark] .ls-time{color:#e8e5f0}[data-theme=dark] .ls-date{color:#e8e5f066}[data-theme=dark] .ls-avatar{background:linear-gradient(135deg,#7c3aed4d,#be185d4d);border-color:#7c3aed4d}[data-theme=dark] .ls-greeting{color:#e8e5f0}[data-theme=dark] .ls-dot{border-color:#e8e5f033}[data-theme=dark] .ls-btn{color:#e8e5f0;background:#ffffff12;border-color:#ffffff1a}[data-theme=dark] .ls-btn:hover:not(:disabled){background:#ffffff24;border-color:#a78bfa59}[data-theme=dark] .ls-btn:active:not(:disabled){background:#fff3}[data-theme=dark] .ls-btn--fn{color:#e8e5f066;background:#ffffff0a;border-color:#ffffff14}[data-theme=dark] .ls-btn--fn:hover:not(:disabled){color:#e8e5f0}[data-theme=dark] .ls-btn--del:hover:not(:disabled){color:#fb7185;background:#e11d481f;border-color:#e11d4833}[data-theme=dark] .ls-exit{color:#e8e5f073;border-color:#e8e5f026}[data-theme=dark] .ls-exit:hover{color:#e8e5f0b3;background:#ffffff14;border-color:#e8e5f040}[data-theme=dark] .ls-theme-btn{color:#e8e5f073;border-color:#e8e5f026}[data-theme=dark] .ls-theme-btn:hover{color:#e8e5f0b3;background:#ffffff14;border-color:#e8e5f040}.lock-btn-header{transition:all .2s;position:relative;color:var(--accent-purple)!important}.lock-btn-header:hover{transform:scale(1.08);background:#a78bfa1f!important}