:root{--butterpop-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--butterpop-border-radius: 8px;--butterpop-box-shadow: 0 4px 12px rgba(0, 0, 0, .15);--butterpop-z-index: 9999;--butterpop-bg-default: #ffffff;--butterpop-text-default: #333333;--butterpop-success-color: #4caf50;--butterpop-error-color: #f44336;--butterpop-warning-color: #ff9800;--butterpop-info-color: #2196f3;--butterpop-anim-duration: .3s}.butterpop-container{position:fixed;display:flex;flex-direction:column;z-index:var(--butterpop-z-index);pointer-events:none;max-width:100%}.butterpop-container.top-left{top:16px;left:16px;align-items:flex-start}.butterpop-container.top-right{top:16px;right:16px;align-items:flex-end}.butterpop-container.bottom-left{bottom:16px;left:16px;align-items:flex-start}.butterpop-container.bottom-right{bottom:16px;right:16px;align-items:flex-end}.butterpop-container.top-center{top:16px;left:50%;transform:translate(-50%);align-items:center}.butterpop-container.bottom-center{bottom:16px;left:50%;transform:translate(-50%);align-items:center}.butterpop-container.center{top:50%;left:50%;transform:translate(-50%,-50%);align-items:center}.butterpop-toast{margin-bottom:12px;padding:12px 16px;border-radius:var(--butterpop-border-radius);box-shadow:var(--butterpop-box-shadow);display:flex;align-items:center;max-width:400px;width:100%;box-sizing:border-box;position:relative;overflow:hidden;pointer-events:auto;transform-origin:center;transition:transform var(--butterpop-anim-duration) ease-out,opacity var(--butterpop-anim-duration) ease-out;font-family:var(--butterpop-font);cursor:default}.butterpop-icon{margin-right:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px}.butterpop-content{flex:1;min-width:0}.butterpop-message{margin:0;padding:0;word-wrap:break-word;font-size:14px;line-height:1.5}.butterpop-close{background:none;border:none;cursor:pointer;font-size:18px;color:inherit;opacity:.5;margin-left:8px;padding:4px;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.butterpop-close:hover{opacity:1}.butterpop-progress{position:absolute;bottom:0;left:0;height:4px;width:100%;transform-origin:left;transform:scaleX(0);transition:transform linear;background:var(--butterpop-progress-color, #2196f3)}.butterpop-actions{display:flex;gap:8px;margin-top:8px}.butterpop-action-btn{background:#0000001a;border:none;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer;transition:background .2s}.butterpop-action-btn:hover{background:#0003}.butterpop-enter{opacity:0;transform:translateY(20px)}.butterpop-exit{opacity:0;transform:translateY(-20px);pointer-events:none}.butterpop-toast.success{background-color:#4caf501a;border-left:4px solid var(--butterpop-success-color);color:var(--butterpop-success-color)}.butterpop-toast.error{background-color:#f443361a;border-left:4px solid var(--butterpop-error-color);color:var(--butterpop-error-color)}.butterpop-toast.warning{background-color:#ff98001a;border-left:4px solid var(--butterpop-warning-color);color:var(--butterpop-warning-color)}.butterpop-toast.info{background-color:#2196f31a;border-left:4px solid var(--butterpop-info-color);color:var(--butterpop-info-color)}.butterpop-toast.success .butterpop-progress{background-color:var(--butterpop-success-color)}.butterpop-toast.error .butterpop-progress{background-color:var(--butterpop-error-color)}.butterpop-toast.warning .butterpop-progress{background-color:var(--butterpop-warning-color)}.butterpop-toast.info .butterpop-progress{background-color:var(--butterpop-info-color)}.butterpop-toast.theme-minimal{background:#fff;color:#333;border-left:none;border-radius:3px;box-shadow:0 1px 3px #0000001f}.butterpop-toast.theme-dark{background:#333;color:#fff;border-left:none}.butterpop-toast.theme-dark .butterpop-action-btn{background:#fff3}.butterpop-toast.theme-dark .butterpop-action-btn:hover{background:#ffffff4d}.butterpop-toast.theme-light{background:#f8f9fa;color:#343a40;border:1px solid #dee2e6;border-left:4px solid}.butterpop-toast.theme-glassmorphism{background:#ffffff26;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #0000001a}.butterpop-toast.theme-neon{background:#000000d9;color:#fff;box-shadow:0 0 10px 2px;border:none}.butterpop-toast.theme-neon.success{box-shadow:0 0 15px var(--butterpop-success-color);text-shadow:0 0 8px var(--butterpop-success-color)}.butterpop-toast.theme-neon.error{box-shadow:0 0 15px var(--butterpop-error-color);text-shadow:0 0 8px var(--butterpop-error-color)}.butterpop-toast.theme-neon.warning{box-shadow:0 0 15px var(--butterpop-warning-color);text-shadow:0 0 8px var(--butterpop-warning-color)}.butterpop-toast.theme-neon.info{box-shadow:0 0 15px var(--butterpop-info-color);text-shadow:0 0 8px var(--butterpop-info-color)}.butterpop-toast.theme-material{background:#fff;color:#333;border-left:none;border-radius:4px;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.butterpop-toast.theme-material.success{background-color:var(--butterpop-success-color);color:#fff}.butterpop-toast.theme-material.error{background-color:var(--butterpop-error-color);color:#fff}.butterpop-toast.theme-material.warning{background-color:var(--butterpop-warning-color);color:#fff}.butterpop-toast.theme-material.info{background-color:var(--butterpop-info-color);color:#fff}.butterpop-toast.theme-material .butterpop-action-btn{background:#ffffff1a;font-weight:500;text-transform:uppercase;font-size:11px;letter-spacing:.4px}.butterpop-toast.theme-gradient{border:none;color:#fff}.butterpop-toast.theme-gradient.success{background:linear-gradient(135deg,#43a047,#2e7d32)}.butterpop-toast.theme-gradient.error{background:linear-gradient(135deg,#e53935,#c62828)}.butterpop-toast.theme-gradient.warning{background:linear-gradient(135deg,#fb8c00,#ef6c00)}.butterpop-toast.theme-gradient.info{background:linear-gradient(135deg,#039be5,#0277bd)}.butterpop-toast.theme-rounded{border-radius:50px;padding:12px 20px}.butterpop-toast.theme-rounded.success{background-color:#4caf501a;color:var(--butterpop-success-color);border:1px solid rgba(76,175,80,.3)}.butterpop-toast.theme-rounded.error{background-color:#f443361a;color:var(--butterpop-error-color);border:1px solid rgba(244,67,54,.3)}.butterpop-toast.theme-rounded.warning{background-color:#ff98001a;color:var(--butterpop-warning-color);border:1px solid rgba(255,152,0,.3)}.butterpop-toast.theme-rounded.info{background-color:#2196f31a;color:var(--butterpop-info-color);border:1px solid rgba(33,150,243,.3)}.butterpop-toast.theme-neumorphism{background:#e0e0e0;color:#333;border:none;border-radius:15px;box-shadow:7px 7px 14px #bebebe,-7px -7px 14px #fff}body.dark-mode .butterpop-toast.theme-neumorphism,.dark-theme .butterpop-toast.theme-neumorphism{background:#2c2c2c;color:#e0e0e0;box-shadow:7px 7px 14px #222,-7px -7px 14px #383838}.butterpop-toast.theme-neumorphism.success{color:var(--butterpop-success-color)}.butterpop-toast.theme-neumorphism.error{color:var(--butterpop-error-color)}.butterpop-toast.theme-neumorphism.warning{color:var(--butterpop-warning-color)}.butterpop-toast.theme-neumorphism.info{color:var(--butterpop-info-color)}.butterpop-toast.theme-neumorphism .butterpop-action-btn{background:none;border-radius:8px;box-shadow:3px 3px 6px #bebebe,-3px -3px 6px #fff}body.dark-mode .butterpop-toast.theme-neumorphism .butterpop-action-btn,.dark-theme .butterpop-toast.theme-neumorphism .butterpop-action-btn{box-shadow:3px 3px 6px #222,-3px -3px 6px #383838;color:#e0e0e0}.butterpop-toast.theme-retro{background:#ffe8d8;color:#2c2c2c;border:3px solid #2c2c2c;box-shadow:5px 5px #2c2c2c;border-radius:1px;font-family:Courier New,monospace}.butterpop-toast.theme-retro.success{background:#d3f0d3}.butterpop-toast.theme-retro.error{background:#ffd3d3}.butterpop-toast.theme-retro.warning{background:#ffe0b3}.butterpop-toast.theme-retro.info{background:#d3e0f0}.butterpop-toast.theme-retro .butterpop-action-btn{background:#2c2c2c;color:#fff;border:1px solid #2c2c2c;box-shadow:2px 2px #000;border-radius:1px}@media (max-width: 480px){.butterpop-container{width:100%;padding:0 16px;box-sizing:border-box}.butterpop-toast{width:100%;max-width:100%;padding:12px 14px;margin-bottom:8px}.butterpop-container.top-left,.butterpop-container.top-right,.butterpop-container.top-center{top:10px;right:0;left:0;transform:none;align-items:center}.butterpop-container.bottom-left,.butterpop-container.bottom-right,.butterpop-container.bottom-center{bottom:10px;right:0;left:0;transform:none;align-items:center}.butterpop-message{font-size:13px}.butterpop-icon{width:20px;height:20px;margin-right:10px}.butterpop-action-btn{padding:3px 8px;font-size:11px}.butterpop-actions{flex-wrap:wrap;gap:6px}}@media (min-width: 481px) and (max-width: 768px){.butterpop-container{padding:0 20px}.butterpop-toast{max-width:350px;padding:14px 16px}.butterpop-action-btn{padding:4px 10px}}.butterpop-toast:focus,.butterpop-close:focus,.butterpop-action-btn:focus{outline:2px solid #2684FF;outline-offset:2px}.butterpop-container[data-max-visible] .butterpop-toast:nth-child(n+6){opacity:0;height:0;margin:0;padding:0;border:none;overflow:hidden}.butterpop-toast.theme-cyberpunk{background:#0d0221;color:#00fff9;border:1px solid #ff00a0;border-radius:2px;box-shadow:0 0 10px #ff00a0,0 0 20px #ff00a066;font-family:Orbitron,sans-serif;text-shadow:0 0 5px #00fff9;position:relative}.butterpop-toast.theme-cyberpunk:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,0,160,.1) 50%,transparent 100%);animation:cyberpunk-scan 2s ease-in-out infinite;pointer-events:none;z-index:1}@keyframes cyberpunk-scan{0%{transform:translate(-100%)}to{transform:translate(100%)}}.butterpop-toast.theme-cyberpunk .butterpop-icon{color:#ff00a0}.butterpop-toast.theme-cyberpunk.success{border-color:#0f0;color:#0f0;box-shadow:0 0 10px #0f0,0 0 20px #0f06;text-shadow:0 0 5px #0f0}.butterpop-toast.theme-cyberpunk.error{border-color:red;color:red;box-shadow:0 0 10px red,0 0 20px #f006;text-shadow:0 0 5px #f00}.butterpop-toast.theme-cyberpunk.warning{border-color:#ff0;color:#ff0;box-shadow:0 0 10px #ff0,0 0 20px #ff06;text-shadow:0 0 5px #ff0}.butterpop-toast.theme-cyberpunk.info{border-color:#00fff9;color:#00fff9;box-shadow:0 0 10px #00fff9,0 0 20px #00fff966;text-shadow:0 0 5px #00fff9}.butterpop-toast.theme-cyberpunk .butterpop-action-btn{background:transparent;border:1px solid #ff00a0;color:#00fff9;text-shadow:0 0 5px #00fff9;box-shadow:0 0 5px #ff00a0;transition:all .2s}.butterpop-toast.theme-cyberpunk .butterpop-action-btn:hover{background:#ff00a033;box-shadow:0 0 10px #ff00a0}.butterpop-toast.theme-cyberpunk .butterpop-progress{height:2px;background:linear-gradient(90deg,#ff00a0,#00fff9)}.butterpop-toast.theme-pastel{background:#fef6f6;color:#5b5b5b;border:none;border-radius:12px;box-shadow:0 4px 15px #0000000d;font-family:Quicksand,sans-serif}.butterpop-toast.theme-pastel.success{background:#e8f7ee;color:#5b5b5b}.butterpop-toast.theme-pastel.success .butterpop-icon{color:#a8d5ba}.butterpop-toast.theme-pastel.error{background:#fdeeee;color:#5b5b5b}.butterpop-toast.theme-pastel.error .butterpop-icon{color:#e2a8a8}.butterpop-toast.theme-pastel.warning{background:#fff8e8;color:#5b5b5b}.butterpop-toast.theme-pastel.warning .butterpop-icon{color:#e6c987}.butterpop-toast.theme-pastel.info{background:#e8f4ff;color:#5b5b5b}.butterpop-toast.theme-pastel.info .butterpop-icon{color:#a8c6e2}.butterpop-toast.theme-pastel .butterpop-action-btn{background:#fff;border:none;border-radius:8px;color:#5b5b5b;font-family:Quicksand,sans-serif;font-weight:500;padding:5px 10px;box-shadow:0 2px 5px #0000000d}.butterpop-toast.theme-pastel .butterpop-action-btn:hover{background:#f9f9f9;transform:translateY(-1px)}.butterpop-toast.theme-pastel .butterpop-progress{height:3px;border-radius:3px}.butterpop-toast.theme-pastel.success .butterpop-progress{background-color:#a8d5ba}.butterpop-toast.theme-pastel.error .butterpop-progress{background-color:#e2a8a8}.butterpop-toast.theme-pastel.warning .butterpop-progress{background-color:#e6c987}.butterpop-toast.theme-pastel.info .butterpop-progress{background-color:#a8c6e2}.butterpop-toast.theme-terminal{background:#0c0c0c;color:#3f3;border:1px solid #333;border-radius:0;font-family:Consolas,Courier New,monospace;box-shadow:none;padding:14px 20px}.butterpop-toast.theme-terminal:before{content:">";margin-right:8px;font-weight:700}.butterpop-toast.theme-terminal .butterpop-icon{display:none}.butterpop-toast.theme-terminal .butterpop-message{font-size:13px}.butterpop-toast.theme-terminal.success{color:#3f3}.butterpop-toast.theme-terminal.error{color:#f55}.butterpop-toast.theme-terminal.warning{color:#ff3}.butterpop-toast.theme-terminal.info{color:#3af}.butterpop-toast.theme-terminal .butterpop-close{color:#999}.butterpop-toast.theme-terminal .butterpop-action-btn{background:#333;border:none;color:inherit;font-family:Consolas,Courier New,monospace;border-radius:0;text-transform:uppercase}.butterpop-toast.theme-terminal .butterpop-action-btn:hover{background:#444}.butterpop-toast.theme-terminal .butterpop-progress{height:1px;background-color:currentColor;opacity:.5}.butterpop-toast.theme-elegant{background:#fdfdfd;color:#222;border:none;border-bottom:2px solid #a0a0a0;border-radius:2px;font-family:Georgia,serif;box-shadow:0 4px 12px #00000014;padding:18px 22px}.butterpop-toast.theme-elegant .butterpop-message{font-size:15px;font-style:italic;line-height:1.6}.butterpop-toast.theme-elegant .butterpop-icon{color:#a0a0a0}.butterpop-toast.theme-elegant.success{border-bottom-color:var(--butterpop-success-color)}.butterpop-toast.theme-elegant.success .butterpop-icon{color:var(--butterpop-success-color)}.butterpop-toast.theme-elegant.error{border-bottom-color:var(--butterpop-error-color)}.butterpop-toast.theme-elegant.error .butterpop-icon{color:var(--butterpop-error-color)}.butterpop-toast.theme-elegant.warning{border-bottom-color:var(--butterpop-warning-color)}.butterpop-toast.theme-elegant.warning .butterpop-icon{color:var(--butterpop-warning-color)}.butterpop-toast.theme-elegant.info{border-bottom-color:var(--butterpop-info-color)}.butterpop-toast.theme-elegant.info .butterpop-icon{color:var(--butterpop-info-color)}.butterpop-toast.theme-elegant .butterpop-action-btn{background:none;border:1px solid #a0a0a0;color:#222;padding:5px 12px;font-family:Georgia,serif;font-style:italic;font-size:13px;transition:all .2s}.butterpop-toast.theme-elegant .butterpop-action-btn:hover{background:#0000000d;transform:translateY(-1px)}.butterpop-toast.theme-elegant .butterpop-progress{height:2px;background-color:#a0a0a0;opacity:.7}.butterpop-toast.theme-bubble{background:#fff;color:#333;border:none;border-radius:30px;box-shadow:0 6px 20px #0000001a;padding:14px 22px;position:relative;font-family:Nunito,Segoe UI,sans-serif}.butterpop-toast.theme-bubble:before{content:"";position:absolute;bottom:-8px;left:24px;width:16px;height:16px;background:inherit;transform:rotate(45deg);z-index:-1;box-shadow:4px 4px 5px #0000000d}.butterpop-toast.theme-bubble .butterpop-message{font-size:15px;font-weight:500}.butterpop-toast.theme-bubble.success{background:#e8f7f0}.butterpop-toast.theme-bubble.success .butterpop-icon{color:var(--butterpop-success-color)}.butterpop-toast.theme-bubble.error{background:#fde9e9}.butterpop-toast.theme-bubble.error .butterpop-icon{color:var(--butterpop-error-color)}.butterpop-toast.theme-bubble.warning{background:#fff3e0}.butterpop-toast.theme-bubble.warning .butterpop-icon{color:var(--butterpop-warning-color)}.butterpop-toast.theme-bubble.info{background:#e6f4ff}.butterpop-toast.theme-bubble.info .butterpop-icon{color:var(--butterpop-info-color)}.butterpop-toast.theme-bubble .butterpop-action-btn{background:#fff;border:none;border-radius:20px;color:#333;padding:6px 14px;font-weight:600;font-size:12px;box-shadow:0 2px 5px #00000014}.butterpop-toast.theme-bubble .butterpop-action-btn:hover{transform:scale(1.05);box-shadow:0 3px 7px #0000001f}.butterpop-toast.theme-bubble .butterpop-progress{height:4px;border-radius:2px;background:linear-gradient(to right,#ffffffb3,#fff6)}.butterpop-toast.theme-forest{background:#2e4537;color:#d4e7c5;border:2px solid #8bbc6f;border-radius:6px;box-shadow:0 4px 12px #0003;font-family:Verdana,sans-serif}.butterpop-toast.theme-forest:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%238bbc6f' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.1;pointer-events:none}.butterpop-toast.theme-forest .butterpop-message{font-size:14px;font-weight:400}.butterpop-toast.theme-forest .butterpop-icon{color:#8bbc6f}.butterpop-toast.theme-forest.success{border-color:#5cb85c}.butterpop-toast.theme-forest.success .butterpop-icon{color:#5cb85c}.butterpop-toast.theme-forest.error{border-color:#e57373}.butterpop-toast.theme-forest.error .butterpop-icon{color:#e57373}.butterpop-toast.theme-forest.warning{border-color:#ffca28}.butterpop-toast.theme-forest.warning .butterpop-icon{color:#ffca28}.butterpop-toast.theme-forest.info{border-color:#64b5f6}.butterpop-toast.theme-forest.info .butterpop-icon{color:#64b5f6}.butterpop-toast.theme-forest .butterpop-action-btn{background:#1c2b22;border:1px solid #8bbc6f;color:#d4e7c5;padding:4px 10px;font-size:12px;border-radius:4px}.butterpop-toast.theme-forest .butterpop-action-btn:hover{background:#243528;border-color:#a1d683}.butterpop-toast.theme-forest .butterpop-progress{height:3px;background-color:#8bbc6f;opacity:.8}.butterpop-toast.theme-futuristic{background:linear-gradient(135deg,#17202af2,#283747f2);color:#ecf0f1;border:none;border-radius:8px;box-shadow:0 12px 24px #0000004d,inset 0 0 0 1px #ffffff1a;font-family:Roboto,Segoe UI,sans-serif;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.butterpop-toast.theme-futuristic:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(to bottom,#3498db,#2980b9)}.butterpop-toast.theme-futuristic .butterpop-message{font-size:14px;font-weight:400;letter-spacing:.3px;line-height:1.5}.butterpop-toast.theme-futuristic .butterpop-icon{background:#ffffff1a;padding:6px;border-radius:50%;margin-right:15px;color:#3498db}.butterpop-toast.theme-futuristic.success .butterpop-icon{color:#2ecc71}.butterpop-toast.theme-futuristic.success:before{background:linear-gradient(to bottom,#2ecc71,#27ae60)}.butterpop-toast.theme-futuristic.error .butterpop-icon{color:#e74c3c}.butterpop-toast.theme-futuristic.error:before{background:linear-gradient(to bottom,#e74c3c,#c0392b)}.butterpop-toast.theme-futuristic.warning .butterpop-icon{color:#f39c12}.butterpop-toast.theme-futuristic.warning:before{background:linear-gradient(to bottom,#f39c12,#d35400)}.butterpop-toast.theme-futuristic.info .butterpop-icon{color:#3498db}.butterpop-toast.theme-futuristic.info:before{background:linear-gradient(to bottom,#3498db,#2980b9)}.butterpop-toast.theme-futuristic .butterpop-action-btn{background:#3498db33;color:#ecf0f1;border:1px solid rgba(52,152,219,.4);border-radius:4px;text-transform:uppercase;font-size:11px;letter-spacing:.5px;padding:6px 12px;transition:all .2s}.butterpop-toast.theme-futuristic .butterpop-action-btn:hover{background:#3498db66;transform:translateY(-2px)}.butterpop-toast.theme-futuristic .butterpop-progress{height:3px;background:linear-gradient(to right,#3498db,#2ecc71)}.butterpop-toast.theme-comic{background-color:#fff;color:#333;border:3px solid #000;border-radius:4px;box-shadow:6px 6px #000;font-family:Comic Sans MS,Chalkboard SE,cursive;padding:15px 20px;transform:rotate(.5deg);position:relative}.butterpop-toast.theme-comic:before{content:"";position:absolute;top:-10px;right:20px;width:30px;height:25px;background:#fff;border:3px solid #000;border-radius:50% 50% 50% 0;transform:rotate(-20deg)}.butterpop-toast.theme-comic .butterpop-message{font-size:16px;font-weight:700;line-height:1.5}.butterpop-toast.theme-comic .butterpop-icon{transform:scale(1.2);margin-right:15px}.butterpop-toast.theme-comic.success{background-color:#caffca}.butterpop-toast.theme-comic.success .butterpop-icon{color:#00a000}.butterpop-toast.theme-comic.error{background-color:#ffcaca}.butterpop-toast.theme-comic.error .butterpop-icon{color:red}.butterpop-toast.theme-comic.warning{background-color:#ffe8b3}.butterpop-toast.theme-comic.warning .butterpop-icon{color:#f80}.butterpop-toast.theme-comic.info{background-color:#cae8ff}.butterpop-toast.theme-comic.info .butterpop-icon{color:#08f}.butterpop-toast.theme-comic .butterpop-action-btn{background:#fff;color:#000;border:2px solid #000;border-radius:4px;font-family:Comic Sans MS,Chalkboard SE,cursive;font-weight:700;padding:4px 10px;box-shadow:2px 2px #000;transform:rotate(-1deg);transition:all .1s}.butterpop-toast.theme-comic .butterpop-action-btn:hover{background:#f0f0f0;transform:rotate(1deg)}.butterpop-toast.theme-comic .butterpop-close{font-weight:700;font-size:20px}.butterpop-toast.theme-comic .butterpop-progress{height:6px;background-color:#000;border-radius:3px;opacity:.3}.butterpop-toast.theme-luxury{background:linear-gradient(135deg,#111,#333);color:#d4af37;border:1px solid #d4af37;border-radius:3px;box-shadow:0 8px 20px #0000004d;font-family:Playfair Display,Times New Roman,serif;padding:18px 22px;position:relative;overflow:hidden}.butterpop-toast.theme-luxury:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,#d4af37,transparent)}.butterpop-toast.theme-luxury .butterpop-message{font-size:15px;letter-spacing:.5px;line-height:1.6}.butterpop-toast.theme-luxury .butterpop-icon{color:#d4af37}.butterpop-toast.theme-luxury.success .butterpop-icon{color:#8fbc8f}.butterpop-toast.theme-luxury.error .butterpop-icon{color:#b22222}.butterpop-toast.theme-luxury.warning .butterpop-icon{color:peru}.butterpop-toast.theme-luxury.info .butterpop-icon{color:#add8e6}.butterpop-toast.theme-luxury .butterpop-action-btn{background:transparent;color:#d4af37;border:1px solid #d4af37;border-radius:0;font-family:Playfair Display,Times New Roman,serif;letter-spacing:1px;padding:5px 15px;text-transform:uppercase;font-size:11px;transition:all .3s}.butterpop-toast.theme-luxury .butterpop-action-btn:hover{background:#d4af371a;box-shadow:0 0 10px #d4af3733}.butterpop-toast.theme-luxury .butterpop-progress{height:1px;background:linear-gradient(to right,transparent,#d4af37,transparent);box-shadow:0 0 5px #d4af37}.butterpop-toast.theme-neon-brutalism{background:#000;color:#fff;border:4px solid #ff00ff;border-radius:0;box-shadow:10px 10px #f0f,-10px -10px #0ff,0 0 20px #ff00ffb3;font-family:Impact,Arial Black,sans-serif;text-transform:uppercase;padding:16px 20px;transform:skew(-5deg) rotate(1deg);letter-spacing:1px;margin:15px;position:relative;animation:neon-pulse 1.5s infinite alternate;flex-wrap:wrap}@keyframes neon-pulse{0%{box-shadow:10px 10px #f0f,-10px -10px #0ff,0 0 20px #ff00ffb3}to{box-shadow:10px 10px #f0f,-10px -10px #0ff,0 0 40px #ff00ffe6}}.butterpop-toast.theme-neon-brutalism:before{content:"";position:absolute;top:5px;left:5px;right:5px;bottom:5px;border:2px dashed rgba(255,255,255,.7);pointer-events:none;animation:dash-rotate 20s linear infinite;z-index:1}@keyframes dash-rotate{0%{background-position:0 0}to{background-position:50px 50px}}.butterpop-toast.theme-neon-brutalism:after{content:"";position:absolute;top:-10px;right:-10px;width:20px;height:20px;background:#f0f;z-index:-1;animation:corner-flash 3s infinite alternate}@keyframes corner-flash{0%{transform:scale(1);opacity:1}to{transform:scale(1.5);opacity:.7}}.butterpop-toast.theme-neon-brutalism .butterpop-content{position:relative;z-index:2}.butterpop-toast.theme-neon-brutalism .butterpop-message{font-size:16px;font-weight:700;text-shadow:4px 4px 0 #ff00ff,-4px -4px 0 #00ffff;position:relative;transform:translate(2px)}.butterpop-toast.theme-neon-brutalism .butterpop-icon{margin-right:15px;transform:rotate(-5deg) scale(1.2);filter:drop-shadow(0 0 8px #ff00ff)}.butterpop-toast.theme-neon-brutalism.success{border-color:#0f0;box-shadow:10px 10px #0f0,-10px -10px #0cb,0 0 20px #00ff00b3;animation:success-pulse 1.5s infinite alternate}@keyframes success-pulse{0%{box-shadow:10px 10px #0f0,-10px -10px #0cb,0 0 20px #00ff00b3}to{box-shadow:10px 10px #0f0,-10px -10px #0cb,0 0 40px #00ff00e6}}.butterpop-toast.theme-neon-brutalism.success .butterpop-message{text-shadow:4px 4px 0 #0f0,-4px -4px 0 #0cb}.butterpop-toast.theme-neon-brutalism.success:after{background:#0f0}.butterpop-toast.theme-neon-brutalism.error{border-color:red;box-shadow:10px 10px red,-10px -10px #f0f,0 0 20px #ff0000b3;animation:error-pulse 1.5s infinite alternate}@keyframes error-pulse{0%{box-shadow:10px 10px red,-10px -10px #f0f,0 0 20px #ff0000b3}to{box-shadow:10px 10px red,-10px -10px #f0f,0 0 40px #ff0000e6}}.butterpop-toast.theme-neon-brutalism.error .butterpop-message{text-shadow:4px 4px 0 #f00,-4px -4px 0 #f0f}.butterpop-toast.theme-neon-brutalism.error:after{background:red}.butterpop-toast.theme-neon-brutalism.warning{border-color:#ff0;box-shadow:10px 10px #ff0,-10px -10px #fa0,0 0 20px #ffff00b3;animation:warning-pulse 1.5s infinite alternate}@keyframes warning-pulse{0%{box-shadow:10px 10px #ff0,-10px -10px #fa0,0 0 20px #ffff00b3}to{box-shadow:10px 10px #ff0,-10px -10px #fa0,0 0 40px #ffff00e6}}.butterpop-toast.theme-neon-brutalism.warning .butterpop-message{text-shadow:4px 4px 0 #ff0,-4px -4px 0 #fa0}.butterpop-toast.theme-neon-brutalism.warning:after{background:#ff0}.butterpop-toast.theme-neon-brutalism.info{border-color:#0ff;box-shadow:10px 10px #0ff,-10px -10px #0af,0 0 20px #00ffffb3;animation:info-pulse 1.5s infinite alternate}@keyframes info-pulse{0%{box-shadow:10px 10px #0ff,-10px -10px #0af,0 0 20px #00ffffb3}to{box-shadow:10px 10px #0ff,-10px -10px #0af,0 0 40px #00ffffe6}}.butterpop-toast.theme-neon-brutalism.info .butterpop-message{text-shadow:4px 4px 0 #0ff,-4px -4px 0 #0af}.butterpop-toast.theme-neon-brutalism.info:after{background:#0ff}.butterpop-toast.theme-neon-brutalism .butterpop-action-btn{background:#000;color:#fff;border:3px solid #ff00ff;font-family:Impact,Arial Black,sans-serif;text-transform:uppercase;font-weight:700;padding:7px 14px;transform:skew(-5deg);transition:all .2s;margin-top:8px;margin-right:6px;text-shadow:2px 2px 0 #ff00ff;box-shadow:3px 3px #f0f;position:relative;overflow:hidden}.butterpop-toast.theme-neon-brutalism .butterpop-action-btn:before{content:"";position:absolute;top:-100%;left:-100%;right:-100%;bottom:-100%;background:linear-gradient(45deg,transparent 0%,rgba(255,0,255,.3) 50%,transparent 100%);transform:rotate(45deg);transition:all .5s}.butterpop-toast.theme-neon-brutalism .butterpop-action-btn:hover{background:#f0f;transform:skew(-5deg) scale(1.1) translateY(-2px);box-shadow:5px 5px #f0f,0 0 15px #ff00ffb3}.butterpop-toast.theme-neon-brutalism .butterpop-close{color:#fff;text-shadow:0 0 8px #ff00ff;opacity:.9;font-size:22px;transition:all .2s}.butterpop-toast.theme-neon-brutalism .butterpop-close:hover{transform:rotate(90deg) scale(1.2);opacity:1}.butterpop-toast.theme-neon-brutalism .butterpop-progress{height:8px;background:#000;border:2px solid #ff00ff;position:relative;overflow:hidden}.butterpop-toast.theme-neon-brutalism .butterpop-progress:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,#f0f,#f0f 10px,#0ff 10px,#0ff 20px);animation:progress-animation 15s linear infinite;opacity:.7;z-index:0}@keyframes progress-animation{0%{background-position:0 0}to{background-position:56px 0}}.butterpop-toast.theme-monochrome{background:#f1f1f1;color:#111;border:none;border-radius:0;box-shadow:0 6px 24px #0000001a;font-family:Courier New,monospace;padding:18px 24px}.butterpop-toast.theme-monochrome:after{content:"";position:absolute;top:0;right:0;width:40px;height:40px;background:#111;clip-path:polygon(0 0,100% 0,100% 100%)}.butterpop-toast.theme-monochrome .butterpop-message{font-size:14px;line-height:1.6;margin-top:5px}.butterpop-toast.theme-monochrome .butterpop-icon{background:#111;color:#f1f1f1;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;margin-right:16px}.butterpop-toast.theme-monochrome.success,.butterpop-toast.theme-monochrome.error,.butterpop-toast.theme-monochrome.warning,.butterpop-toast.theme-monochrome.info{background:#f1f1f1;color:#111}.butterpop-toast.theme-monochrome.dark-mode,body.dark-mode .butterpop-toast.theme-monochrome,.dark-theme .butterpop-toast.theme-monochrome{background:#111;color:#f1f1f1}body.dark-mode .butterpop-toast.theme-monochrome:after,.dark-theme .butterpop-toast.theme-monochrome:after{background:#f1f1f1}body.dark-mode .butterpop-toast.theme-monochrome .butterpop-icon,.dark-theme .butterpop-toast.theme-monochrome .butterpop-icon{background:#f1f1f1;color:#111}.butterpop-toast.theme-monochrome .butterpop-action-btn{background:#111;color:#f1f1f1;border:none;border-radius:0;font-family:Courier New,monospace;text-transform:uppercase;font-size:11px;letter-spacing:1px;padding:6px 12px}.butterpop-toast.theme-monochrome .butterpop-action-btn:hover{background:#333}body.dark-mode .butterpop-toast.theme-monochrome .butterpop-action-btn,.dark-theme .butterpop-toast.theme-monochrome .butterpop-action-btn{background:#f1f1f1;color:#111}body.dark-mode .butterpop-toast.theme-monochrome .butterpop-action-btn:hover,.dark-theme .butterpop-toast.theme-monochrome .butterpop-action-btn:hover{background:#ddd}.butterpop-toast.theme-monochrome .butterpop-progress{height:2px;background:#111}body.dark-mode .butterpop-toast.theme-monochrome .butterpop-progress,.dark-theme .butterpop-toast.theme-monochrome .butterpop-progress{background:#f1f1f1}.butterpop-toast.theme-candy{background:linear-gradient(135deg,#ffcce5,#fcdfff);color:#ad1283;border:none;border-radius:20px;box-shadow:0 10px 20px #ad128326,0 0 0 6px #fffc;font-family:Quicksand,Segoe UI,sans-serif;padding:16px 22px;position:relative;overflow:hidden;flex-wrap:wrap}.butterpop-toast.theme-candy:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.8) 10%,transparent 10.5%),radial-gradient(circle,rgba(255,255,255,.7) 10%,transparent 10.5%);background-size:30px 30px;background-position:0 0,15px 15px;transform:rotate(30deg);opacity:.2;z-index:0;pointer-events:none}.butterpop-toast.theme-candy .butterpop-content{position:relative;z-index:1}.butterpop-toast.theme-candy .butterpop-message{font-size:15px;font-weight:600;letter-spacing:.3px}.butterpop-toast.theme-candy .butterpop-icon{background:#fffc;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;margin-right:15px;box-shadow:inset 0 0 0 3px #ad128333}.butterpop-toast.theme-candy.success{background:linear-gradient(135deg,#d8f8e1,#c9f4ff);color:#0d865f;box-shadow:0 10px 20px #0d865f26,0 0 0 6px #fffc}.butterpop-toast.theme-candy.success .butterpop-icon{box-shadow:inset 0 0 0 3px #0d865f33}.butterpop-toast.theme-candy.error{background:linear-gradient(135deg,#ffe1e1,#ffd4d4);color:#c53030;box-shadow:0 10px 20px #c5303026,0 0 0 6px #fffc}.butterpop-toast.theme-candy.error .butterpop-icon{box-shadow:inset 0 0 0 3px #c5303033}.butterpop-toast.theme-candy.warning{background:linear-gradient(135deg,#fff4d9,#ffebba);color:#cb6e17;box-shadow:0 10px 20px #cb6e1726,0 0 0 6px #fffc}.butterpop-toast.theme-candy.warning .butterpop-icon{box-shadow:inset 0 0 0 3px #cb6e1733}.butterpop-toast.theme-candy.info{background:linear-gradient(135deg,#d4edff,#bfe3ff);color:#0c70b4;box-shadow:0 10px 20px #0c70b426,0 0 0 6px #fffc}.butterpop-toast.theme-candy.info .butterpop-icon{box-shadow:inset 0 0 0 3px #0c70b433}.butterpop-toast.theme-candy .butterpop-action-btn{background:#fffc;border:none;border-radius:30px;font-family:Quicksand,Segoe UI,sans-serif;font-weight:600;font-size:13px;padding:6px 16px;color:inherit;box-shadow:0 3px 10px #0000001a;transition:all .2s}.butterpop-toast.theme-candy .butterpop-action-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 5px 12px #00000026;background:#fffffff2}.butterpop-toast.theme-candy .butterpop-progress{height:6px;border-radius:3px;background:#fff9;overflow:hidden;position:relative}.butterpop-toast.theme-candy .butterpop-progress:after{content:"";position:absolute;top:0;left:0;height:100%;width:100%;background:repeating-linear-gradient(45deg,#fff3,#fff3 10px,#fff6 10px,#fff6 20px);z-index:1;animation:candy-progress 1s linear infinite}@keyframes candy-progress{0%{background-position:0 0}to{background-position:20px 0}}.butterpop-toast.theme-aqua{background:linear-gradient(135deg,#e0f7fa,#b2ebf2);color:#006064;border:none;border-radius:12px;box-shadow:0 8px 20px #00606433;font-family:Montserrat,Segoe UI,sans-serif;padding:15px 20px;position:relative;overflow:hidden}.butterpop-toast.theme-aqua:before{content:"";position:absolute;bottom:0;left:0;right:0;height:8px;background:linear-gradient(90deg,#00acc1,#00838f,#006064,#00838f,#00acc1);background-size:200% 100%;animation:aqua-wave 3s ease-in-out infinite;opacity:.7;z-index:0}@keyframes aqua-wave{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.butterpop-toast.theme-aqua .butterpop-message{font-size:14px;font-weight:500;letter-spacing:.3px;line-height:1.5}.butterpop-toast.theme-aqua .butterpop-icon{color:#0097a7;background:#fff9;border-radius:50%;padding:6px;margin-right:12px;box-shadow:0 2px 6px #0097a733}.butterpop-toast.theme-aqua.success{background:linear-gradient(135deg,#e0f2f1,#c9f4ff);color:#00695c}.butterpop-toast.theme-aqua.success .butterpop-icon{color:#00897b}.butterpop-toast.theme-aqua.success:before{background:linear-gradient(90deg,#26a69a,#00897b,#00695c,#00897b,#26a69a)}.butterpop-toast.theme-aqua.error{background:linear-gradient(135deg,#ffe1e1,#ffd4d4);color:#c53030}.butterpop-toast.theme-aqua.error .butterpop-icon{color:#d81b60}.butterpop-toast.theme-aqua.error:before{background:linear-gradient(90deg,#ec407a,#d81b60,#c2185b,#d81b60,#ec407a)}.butterpop-toast.theme-aqua.warning{background:linear-gradient(135deg,#fff4d9,#ffebba);color:#cb6e17}.butterpop-toast.theme-aqua.warning .butterpop-icon{color:#ffa000}.butterpop-toast.theme-aqua.warning:before{background:linear-gradient(90deg,#ffb300,#ffa000,#ff8f00,#ffa000,#ffb300)}.butterpop-toast.theme-aqua.info{background:linear-gradient(135deg,#d4edff,#bfe3ff);color:#0c70b4}.butterpop-toast.theme-aqua.info .butterpop-icon{color:#0288d1}.butterpop-toast.theme-aqua.info:before{background:linear-gradient(90deg,#29b6f6,#0288d1,#0277bd,#0288d1,#29b6f6)}.butterpop-toast.theme-aqua .butterpop-action-btn{background:#ffffffb3;border:none;border-radius:6px;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s;box-shadow:0 2px 5px #0000001a}.butterpop-toast.theme-aqua .butterpop-action-btn:hover{background:#ffffffe6;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.butterpop-toast.theme-aqua .butterpop-progress{height:4px;background:#0060644d;border-radius:2px;z-index:1}.butterpop-toast.theme-nordic{background:#fff;color:#2c3e50;border-left:4px solid #3498db;border-radius:2px;box-shadow:0 4px 12px #00000014;font-family:Inter,Segoe UI,sans-serif;padding:16px 20px}.butterpop-toast.theme-nordic .butterpop-message{font-size:14px;font-weight:400;letter-spacing:.2px;line-height:1.6}.butterpop-toast.theme-nordic .butterpop-icon{color:#3498db}.butterpop-toast.theme-nordic.success{border-left-color:#27ae60}.butterpop-toast.theme-nordic.success .butterpop-icon{color:#27ae60}.butterpop-toast.theme-nordic.error{border-left-color:#e74c3c}.butterpop-toast.theme-nordic.error .butterpop-icon{color:#e74c3c}.butterpop-toast.theme-nordic.warning{border-left-color:#f39c12}.butterpop-toast.theme-nordic.warning .butterpop-icon{color:#f39c12}.butterpop-toast.theme-nordic.info{border-left-color:#3498db}.butterpop-toast.theme-nordic.info .butterpop-icon{color:#3498db}.butterpop-toast.theme-nordic .butterpop-action-btn{background:#f5f7fa;color:#3498db;border:1px solid #e0e6ed;border-radius:4px;font-size:12px;font-weight:500;padding:5px 12px;transition:all .2s}.butterpop-toast.theme-nordic .butterpop-action-btn:hover{background:#e6f0f9;border-color:#3498db}.butterpop-toast.theme-nordic .butterpop-progress{height:2px}.butterpop-toast.theme-nordic.success .butterpop-progress{background-color:#27ae60}.butterpop-toast.theme-nordic.error .butterpop-progress{background-color:#e74c3c}.butterpop-toast.theme-nordic.warning .butterpop-progress{background-color:#f39c12}.butterpop-toast.theme-nordic.info .butterpop-progress{background-color:#3498db}body.dark-mode .butterpop-toast.theme-nordic,.dark-theme .butterpop-toast.theme-nordic{background:#2c3e50;color:#ecf0f1;border-left:4px solid #3498db;box-shadow:0 4px 12px #0003}body.dark-mode .butterpop-toast.theme-nordic .butterpop-action-btn,.dark-theme .butterpop-toast.theme-nordic .butterpop-action-btn{background:#34495e;color:#ecf0f1;border-color:#4a6380}body.dark-mode .butterpop-toast.theme-nordic .butterpop-action-btn:hover,.dark-theme .butterpop-toast.theme-nordic .butterpop-action-btn:hover{background:#2980b9;border-color:#2980b9}.butterpop-toast.theme-blueprint{background:#f0f8ff;color:#0c4da2;border:1px solid #2980b9;border-radius:4px;box-shadow:0 4px 10px #2980b933;font-family:Roboto Mono,Courier New,monospace;padding:15px 20px;position:relative;overflow:hidden}.butterpop-toast.theme-blueprint:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(to right,rgba(176,224,255,.1) 1px,transparent 1px),linear-gradient(to bottom,rgba(176,224,255,.1) 1px,transparent 1px);background-size:20px 20px;background-position:0 0;z-index:0;pointer-events:none}.butterpop-toast.theme-blueprint .butterpop-content{position:relative;z-index:1}.butterpop-toast.theme-blueprint .butterpop-message{font-size:13.5px;font-weight:400;letter-spacing:.3px;line-height:1.6}.butterpop-toast.theme-blueprint .butterpop-icon{color:#2980b9;transform:scale(.9);margin-right:15px}.butterpop-toast.theme-blueprint:after{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:#2980b9}.butterpop-toast.theme-blueprint.success{color:#27ae60;border-color:#27ae60}.butterpop-toast.theme-blueprint.success:after{background:linear-gradient(90deg,#26a69a,#00897b,#00695c,#00897b,#26a69a)}.butterpop-toast.theme-blueprint.success .butterpop-icon{color:#27ae60}.butterpop-toast.theme-blueprint.error{color:#e74c3c;border-color:#e74c3c}.butterpop-toast.theme-blueprint.error:after{background:linear-gradient(90deg,#ec407a,#d81b60,#c2185b,#d81b60,#ec407a)}.butterpop-toast.theme-blueprint.error .butterpop-icon{color:#e74c3c}.butterpop-toast.theme-blueprint.warning{color:#f39c12;border-color:#f39c12}.butterpop-toast.theme-blueprint.warning:after{background:linear-gradient(90deg,#ffb300,#ffa000,#ff8f00,#ffa000,#ffb300)}.butterpop-toast.theme-blueprint.warning .butterpop-icon{color:#ffa000}.butterpop-toast.theme-blueprint.info{color:#0c4da2;border-color:#2980b9}.butterpop-toast.theme-blueprint.info:after{background:linear-gradient(90deg,#29b6f6,#0288d1,#0277bd,#0288d1,#29b6f6)}.butterpop-toast.theme-blueprint.info .butterpop-icon{color:#0288d1}.butterpop-toast.theme-blueprint .butterpop-action-btn{background:#2980b91a;color:inherit;border:1px solid currentColor;border-radius:2px;font-family:Roboto Mono,Courier New,monospace;font-size:11px;padding:4px 10px;transition:all .2s}.butterpop-toast.theme-blueprint .butterpop-action-btn:hover{background:#2980b933}.butterpop-toast.theme-blueprint .butterpop-progress{height:3px;background-color:currentColor;opacity:.6}.butterpop-toast.theme-paper{background:#f8f6f1;color:#645c54;border:none;border-radius:0;box-shadow:0 4px 8px #0000000d;font-family:Lora,Georgia,serif;padding:16px 20px;position:relative;overflow:visible}.butterpop-toast.theme-paper:before{content:"";position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 20px 20px 0;border-color:transparent #645c54 transparent transparent;box-shadow:-2px 2px 5px #0000001a;z-index:3}.butterpop-toast.theme-paper:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23d1cdc7' fill-opacity='0.08'%3E%3Cpath d='M0 0h1v1H0zM2 2h1v1H2zM4 4h1v1H4zM6 6h1v1H6zM8 8h1v1H8zM10 10h1v1h-1zM12 12h1v1h-1zM14 14h1v1h-1zM16 16h1v1h-1zM18 18h1v1h-1zM20 20h1v1h-1zM22 22h1v1h-1zM24 24h1v1h-1zM26 26h1v1h-1zM28 28h1v1h-1zM30 30h1v1h-1zM32 32h1v1h-1zM34 34h1v1h-1zM36 36h1v1h-1zM38 38h1v1h-1zM40 40h1v1h-1zM42 42h1v1h-1zM44 44h1v1h-1zM46 46h1v1h-1zM48 48h1v1h-1zM50 50h1v1h-1zM52 52h1v1h-1zM54 54h1v1h-1zM56 56h1v1h-1zM58 58h1v1h-1zM60 60h1v1h-1zM62 62h1v1h-1zM64 64h1v1h-1zM66 66h1v1h-1zM68 68h1v1h-1zM70 70h1v1h-1zM72 72h1v1h-1zM74 74h1v1h-1zM76 76h1v1h-1zM78 78h1v1h-1zM80 80h1v1h-1zM82 82h1v1h-1zM84 84h1v1h-1zM86 86h1v1h-1zM88 88h1v1h-1zM90 90h1v1h-1zM92 92h1v1h-1zM94 94h1v1h-1zM96 96h1v1h-1zM98 98h1v1h-1z'/%3E%3C/g%3E%3C/svg%3E");pointer-events:none;z-index:0}.butterpop-toast.theme-paper .butterpop-content{position:relative;z-index:1}.butterpop-toast.theme-paper .butterpop-message{font-size:15px;font-weight:400;letter-spacing:.2px;line-height:1.6}.butterpop-toast.theme-paper .butterpop-icon{color:#645c54;margin-right:15px}.butterpop-toast.theme-paper.success{background:#f2f7f2}.butterpop-toast.theme-paper.success .butterpop-icon{color:#5d8b62}.butterpop-toast.theme-paper.success:before{border-color:transparent #5d8b62 transparent transparent}.butterpop-toast.theme-paper.error{background:#f9f1f1}.butterpop-toast.theme-paper.error .butterpop-icon{color:#9e5757}.butterpop-toast.theme-paper.error:before{border-color:transparent #9e5757 transparent transparent}.butterpop-toast.theme-paper.warning{background:#faf5e9}.butterpop-toast.theme-paper.warning .butterpop-icon{color:#b5915c}.butterpop-toast.theme-paper.warning:before{border-color:transparent #b5915c transparent transparent}.butterpop-toast.theme-paper.info{background:#eef5fa}.butterpop-toast.theme-paper.info .butterpop-icon{color:#5c89b5}.butterpop-toast.theme-paper.info:before{border-color:transparent #5c89b5 transparent transparent}.butterpop-toast.theme-paper .butterpop-action-btn{background:transparent;color:inherit;border:1px solid currentColor;border-radius:2px;font-family:Lora,Georgia,serif;font-size:13px;font-style:italic;padding:4px 12px;transition:all .2s}.butterpop-toast.theme-paper .butterpop-action-btn:hover{background:#0000000d}.butterpop-toast.theme-paper .butterpop-progress{height:1px;background-color:currentColor;opacity:.3}.butterpop-toast.theme-origami{background:#fff;color:#333;border:none;box-shadow:0 4px 12px #0000001a;font-family:Poppins,Segoe UI,sans-serif;padding:15px 20px;position:relative;overflow:hidden;border-radius:2px;transform:perspective(500px) rotateX(2deg)}.butterpop-toast.theme-origami:before{content:"";position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(135deg,rgba(0,0,0,.03) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.03) 50%,rgba(0,0,0,.03) 75%);background-size:16px 16px;z-index:0;pointer-events:none;opacity:.5}.butterpop-toast.theme-origami:after{content:"";position:absolute;bottom:0;right:0;width:30px;height:30px;background:linear-gradient(135deg,transparent 50%,rgba(0,0,0,.05) 50%);transform-origin:bottom right;z-index:0}.butterpop-toast.theme-origami .butterpop-content{position:relative;z-index:1}.butterpop-toast.theme-origami .butterpop-message{font-size:14px;font-weight:400;line-height:1.6}.butterpop-toast.theme-origami .butterpop-icon{position:relative;margin-right:15px}.butterpop-toast.theme-origami.success{background:linear-gradient(135deg,#fff 85%,#4caf50 85%);box-shadow:0 4px 12px #4caf5033}.butterpop-toast.theme-origami.success .butterpop-icon{color:#4caf50}.butterpop-toast.theme-origami.error{background:linear-gradient(135deg,#fff 85%,#f44336 85%);box-shadow:0 4px 12px #f4433633}.butterpop-toast.theme-origami.error .butterpop-icon{color:#f44336}.butterpop-toast.theme-origami.warning{background:linear-gradient(135deg,#fff 85%,#ff9800 85%);box-shadow:0 4px 12px #ff980033}.butterpop-toast.theme-origami.warning .butterpop-icon{color:#ff9800}.butterpop-toast.theme-origami.info{background:linear-gradient(135deg,#fff 85%,#2196f3 85%);box-shadow:0 4px 12px #2196f333}.butterpop-toast.theme-origami.info .butterpop-icon{color:#2196f3}.butterpop-toast.theme-origami .butterpop-action-btn{background:#0000000d;color:#333;border:none;border-radius:2px;font-size:12px;font-weight:500;padding:5px 12px;transition:all .2s;transform:perspective(200px) rotateX(-2deg)}.butterpop-toast.theme-origami .butterpop-action-btn:hover{background:#0000001a;transform:perspective(200px) rotateX(0)}.butterpop-toast.theme-origami .butterpop-progress{height:2px;background:linear-gradient(to right,#0000000d,#00000026)}.butterpop-toast.theme-origami.success .butterpop-progress{background:linear-gradient(to right,#4caf504d,#4caf50b3)}.butterpop-toast.theme-origami.error .butterpop-progress{background:linear-gradient(to right,#f443364d,#f44336b3)}.butterpop-toast.theme-origami.warning .butterpop-progress{background:linear-gradient(to right,#ff98004d,#ff9800b3)}.butterpop-toast.theme-origami.info .butterpop-progress{background:linear-gradient(to right,#2196f34d,#2196f3b3)}.butterpop-toast.theme-sunset{background:linear-gradient(135deg,#ff7e5f,#feb47b);color:#fff;border:none;border-radius:8px;box-shadow:0 10px 20px #ff7e5f4d;font-family:Nunito,Segoe UI,sans-serif;padding:16px 20px;overflow:hidden;position:relative}.butterpop-toast.theme-sunset:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at top right,rgba(255,255,255,.3),transparent 80%);pointer-events:none}.butterpop-toast.theme-sunset .butterpop-message{font-size:15px;font-weight:500;line-height:1.5;text-shadow:0 1px 2px rgba(0,0,0,.1)}.butterpop-toast.theme-sunset .butterpop-icon{color:#fff;background:#fff3;border-radius:50%;padding:6px;margin-right:15px;box-shadow:0 2px 5px #0000001a}.butterpop-toast.theme-sunset.success{background:linear-gradient(135deg,#43c6ac,#f8ffae);color:#1a5d52;box-shadow:0 10px 20px #43c6ac4d}.butterpop-toast.theme-sunset.success .butterpop-icon{color:#1a5d52;background:#fff6}.butterpop-toast.theme-sunset.error{background:linear-gradient(135deg,#ff5f6d,#ffc371);color:#fff;box-shadow:0 10px 20px #ff5f6d4d}.butterpop-toast.theme-sunset.warning{background:linear-gradient(135deg,#f6d365,#fda085);color:#b35818;box-shadow:0 10px 20px #f6d3654d}.butterpop-toast.theme-sunset.warning .butterpop-icon{color:#b35818;background:#fff6}.butterpop-toast.theme-sunset.info{background:linear-gradient(135deg,#0072ff,#00c6ff);color:#fff;box-shadow:0 10px 20px #0072ff4d}.butterpop-toast.theme-sunset .butterpop-action-btn{background:#ffffff4d;color:inherit;border:none;border-radius:30px;font-size:12px;font-weight:600;padding:6px 15px;transition:all .2s}.butterpop-toast.theme-sunset .butterpop-action-btn:hover{background:#fff6;transform:translateY(-2px)}.butterpop-toast.theme-sunset .butterpop-progress{height:3px;background:#ffffff4d}.butterpop-toast.theme-holographic{background:linear-gradient(135deg,#fff6,#fff3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:12px;color:#fff;box-shadow:0 8px 32px #1f268733;font-family:Montserrat,Segoe UI,sans-serif;padding:16px 22px;position:relative;overflow:hidden}.butterpop-toast.theme-holographic:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,#ff00001a,#ff9a001a,#d0de211a,#4fdc4a1a,#3fdad81a,#2fc9e21a,#1c7fee1a,#5f15f21a,#ba0cf81a,#fb07d91a,#ff00001a);background-size:600% 600%;filter:saturate(180%);animation:holographic-shift 15s linear infinite;pointer-events:none;z-index:0}@keyframes holographic-shift{0%{background-position:0% 0%}50%{background-position:100% 100%}to{background-position:0% 0%}}.butterpop-toast.theme-holographic .butterpop-content{position:relative;z-index:1;text-shadow:0 0 6px rgba(255,255,255,.5)}.butterpop-toast.theme-holographic .butterpop-message{font-size:14px;font-weight:500;letter-spacing:.5px;line-height:1.5}.butterpop-toast.theme-holographic .butterpop-icon{color:#fff;margin-right:15px;filter:drop-shadow(0 0 6px rgba(255,255,255,.8))}.butterpop-toast.theme-holographic.success{background:linear-gradient(135deg,#28a74566,#28a74533);border-color:#28a74580}.butterpop-toast.theme-holographic.error{background:linear-gradient(135deg,#dc354566,#dc354533);border-color:#dc354580}.butterpop-toast.theme-holographic.warning{background:linear-gradient(135deg,#ffc10766,#ffc10733);border-color:#ffc10780}.butterpop-toast.theme-holographic.info{background:linear-gradient(135deg,#17a2b866,#17a2b833);border-color:#17a2b880}.butterpop-toast.theme-holographic .butterpop-action-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:30px;font-size:12px;font-weight:500;padding:6px 15px;transition:all .2s;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.butterpop-toast.theme-holographic .butterpop-action-btn:hover{background:#ffffff4d;border-color:#fff9;transform:translateY(-2px);box-shadow:0 5px 15px #fff3}.butterpop-toast.theme-holographic .butterpop-progress{height:2px;background:linear-gradient(to right,red,#ff9a00,#d0de21,#4fdc4a,#3fdad8,#2fc9e2,#1c7fee,#5f15f2,#ba0cf8,#fb07d9,red);background-size:200% 200%;animation:holographic-progress 2s linear infinite}@keyframes holographic-progress{0%{background-position:0% 50%}to{background-position:200% 50%}}.butterpop-toast.theme-chalk{background-color:#2a2a2a;color:#ffffffe6;border:none;border-radius:0;box-shadow:0 4px 10px #0000004d;font-family:Indie Flower,Comic Sans MS,cursive;padding:16px 22px;position:relative}.butterpop-toast.theme-chalk:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03' fill-rule='evenodd'%3E%3Cpath d='M0 38.59l2.83-2.83 1.41 1.41L1.41 40H0v-1.41zM0 20.83l2.83-2.83 1.41 1.41L1.41 22.24H0v-1.41zM0 3.07l2.83-2.83 1.41 1.41L1.41 4.48H0V3.07zM17.76 38.59l2.83-2.83 1.41 1.41-2.83 2.83h-1.41v-1.41zM17.76 20.83l2.83-2.83 1.41 1.41-2.83 2.83h-1.41v-1.41zM17.76 3.07l2.83-2.83 1.41 1.41-2.83 2.83h-1.41V3.07zM35.52 38.59l2.83-2.83 1.41 1.41-2.83 2.83h-1.41v-1.41zM35.52 20.83l2.83-2.83 1.41 1.41-2.83 2.83h-1.41v-1.41zM35.52 3.07l2.83-2.83 1.41 1.41-2.83 2.83h-1.41V3.07zM3.07 17.76v1.41H1.66L4.48 16.34l1.41 1.41-2.83 2.83v-2.83zM20.83 17.76v1.41h-1.41l2.83-2.83 1.41 1.41-2.83 2.83v-2.83zM38.59 17.76v1.41h-1.41l2.83-2.83 1.41 1.41-2.83 2.83v-2.83zM3.07 0v1.41H1.66L4.48 0l1.41 1.41-2.83 2.83V1.41H1.41L4.24 0zm17.76 0v1.41h-1.41l2.83-2.83 1.41 1.41-2.83 2.83V1.41h-1.41l2.83-2.83zm17.76 0v1.41h-1.41l2.83-2.83 1.41 1.41-2.83 2.83V1.41h-1.41l2.83-2.83z'/%3E%3C/g%3E%3C/svg%3E");z-index:0;pointer-events:none}.butterpop-toast.theme-chalk .butterpop-content{position:relative;z-index:1}.butterpop-toast.theme-chalk .butterpop-message{font-size:16px;line-height:1.6;letter-spacing:.5px;text-shadow:1px 1px 1px rgba(0,0,0,.3)}.butterpop-toast.theme-chalk .butterpop-icon{margin-right:15px;filter:drop-shadow(1px 1px 1px rgba(0,0,0,.3))}.butterpop-toast.theme-chalk.success,.butterpop-toast.theme-chalk.success .butterpop-icon{color:#a3e4a3}.butterpop-toast.theme-chalk.error,.butterpop-toast.theme-chalk.error .butterpop-icon{color:#ff9e9e}.butterpop-toast.theme-chalk.warning,.butterpop-toast.theme-chalk.warning .butterpop-icon{color:#ffe066}.butterpop-toast.theme-chalk.info,.butterpop-toast.theme-chalk.info .butterpop-icon{color:#9ee0ff}.butterpop-toast.theme-chalk .butterpop-action-btn{background:#ffffff26;color:inherit;border:1px dashed currentColor;border-radius:0;font-family:Indie Flower,Comic Sans MS,cursive;font-size:14px;padding:5px 12px;transition:all .2s}.butterpop-toast.theme-chalk .butterpop-action-btn:hover{background:#ffffff40;transform:scale(1.05)}.butterpop-toast.theme-chalk .butterpop-progress{height:3px;background:currentColor;opacity:.5;border-radius:0}.butterpop-toast.theme-aurora{background:linear-gradient(135deg,#581c87cc,#2563ebcc);color:#fff;border:none;border-radius:10px;box-shadow:0 10px 25px #581c874d;font-family:Poppins,Segoe UI,sans-serif;padding:16px 22px;position:relative;overflow:hidden}.butterpop-toast.theme-aurora:before{content:"";position:absolute;top:-50%;left:-50%;right:-50%;bottom:-50%;background:radial-gradient(circle at 30% 40%,rgba(139,92,246,.4),transparent 30%),radial-gradient(circle at 70% 60%,rgba(14,165,233,.4),transparent 30%),radial-gradient(circle at 50% 50%,#1f293700,#1f293733);background-size:100% 100%;animation:aurora-shift 15s ease infinite;z-index:0;pointer-events:none}@keyframes aurora-shift{0%{transform:rotate(0) scale(1)}25%{transform:rotate(5deg) scale(1.1)}50%{transform:rotate(0) scale(1)}75%{transform:rotate(-5deg) scale(.9)}to{transform:rotate(0) scale(1)}}.butterpop-toast.theme-aurora .butterpop-content{position:relative;z-index:1}.butterpop-toast.theme-aurora .butterpop-message{font-size:15px;font-weight:400;line-height:1.6;letter-spacing:.2px;text-shadow:0 1px 3px rgba(0,0,0,.2)}.butterpop-toast.theme-aurora .butterpop-icon{color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.2));margin-right:15px}.butterpop-toast.theme-aurora.success{background:linear-gradient(135deg,#059669cc,#047857cc);box-shadow:0 10px 25px #0596694d}.butterpop-toast.theme-aurora.success:before{background:radial-gradient(circle at 30% 40%,rgba(16,185,129,.4),transparent 30%),radial-gradient(circle at 70% 60%,rgba(6,95,70,.4),transparent 30%),radial-gradient(circle at 50% 50%,#1f293700,#1f293733)}.butterpop-toast.theme-aurora.error{background:linear-gradient(135deg,#dc2626cc,#b91c1ccc);box-shadow:0 10px 25px #dc26264d}.butterpop-toast.theme-aurora.error:before{background:radial-gradient(circle at 30% 40%,rgba(248,113,113,.4),transparent 30%),radial-gradient(circle at 70% 60%,rgba(153,27,27,.4),transparent 30%),radial-gradient(circle at 50% 50%,#1f293700,#1f293733)}.butterpop-toast.theme-aurora.warning{background:linear-gradient(135deg,#f59e0bcc,#d97706cc);box-shadow:0 10px 25px #f59e0b4d}.butterpop-toast.theme-aurora.warning:before{background:radial-gradient(circle at 30% 40%,rgba(251,191,36,.4),transparent 30%),radial-gradient(circle at 70% 60%,rgba(180,83,9,.4),transparent 30%),radial-gradient(circle at 50% 50%,#1f293700,#1f293733)}.butterpop-toast.theme-aurora.info{background:linear-gradient(135deg,#2563ebcc,#1d4ed8cc);box-shadow:0 10px 25px #2563eb4d}.butterpop-toast.theme-aurora.info:before{background:radial-gradient(circle at 30% 40%,rgba(96,165,250,.4),transparent 30%),radial-gradient(circle at 70% 60%,rgba(30,64,175,.4),transparent 30%),radial-gradient(circle at 50% 50%,#1f293700,#1f293733)}.butterpop-toast.theme-aurora .butterpop-action-btn{background:#ffffff26;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;padding:6px 15px;transition:all .2s;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.butterpop-toast.theme-aurora .butterpop-action-btn:hover{background:#ffffff40;transform:translateY(-2px);box-shadow:0 4px 10px #0003}.butterpop-toast.theme-aurora .butterpop-progress{height:4px;background:linear-gradient(90deg,#3498db,#9b59b6,#e74c3c,#f1c40f);background-size:300% 100%;animation:aurora-progress-animation linear forwards;animation-duration:var(--duration);transform-origin:left;transform:scaleX(0);opacity:.8;box-shadow:0 0 8px #ffffff80}@keyframes aurora-progress-animation{0%{background-position:0% 50%;transform:scaleX(0)}to{background-position:100% 50%;transform:scaleX(1)}}.butterpop-toast.theme-aurora .butterpop-progress:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#fff0,#fff6,#fff0);animation:aurora-shine 2s linear infinite}@keyframes aurora-shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.butterpop-toast.theme-corporate{background:#fff;color:#2c3e50;border-left:4px solid #3498db;border-radius:0;box-shadow:0 2px 10px #0000001a;font-family:Roboto,Arial,sans-serif;padding:16px 20px;position:relative}.butterpop-toast.theme-corporate:before{content:"";position:absolute;top:0;left:0;height:100%;width:4px;background-color:#3498db;display:none}.butterpop-toast.theme-corporate .butterpop-message{font-size:14px;font-weight:400;letter-spacing:.2px;line-height:1.5}.butterpop-toast.theme-corporate .butterpop-icon{color:#3498db}.butterpop-toast.theme-corporate.success{border-left-color:#2ecc71}.butterpop-toast.theme-corporate.success .butterpop-icon{color:#2ecc71}.butterpop-toast.theme-corporate.error{border-left-color:#e74c3c}.butterpop-toast.theme-corporate.error .butterpop-icon{color:#e74c3c}.butterpop-toast.theme-corporate.warning{border-left-color:#f39c12}.butterpop-toast.theme-corporate.warning .butterpop-icon{color:#f39c12}.butterpop-toast.theme-corporate.info{border-left-color:#3498db}.butterpop-toast.theme-corporate .butterpop-action-btn{background:#f8f9fa;color:#3498db;border:1px solid #e9ecef;border-radius:3px;font-size:12px;font-weight:500;padding:5px 12px;transition:all .2s}.butterpop-toast.theme-corporate .butterpop-action-btn:hover{background:#e9ecef}.butterpop-toast.theme-corporate .butterpop-progress{height:2px;background-color:currentColor;opacity:.6}body.dark-mode .butterpop-toast.theme-corporate,.dark-theme .butterpop-toast.theme-corporate{background:#2c3e50;color:#ecf0f1;border-left:4px solid #3498db}.butterpop-toast.theme-zen{background:#f8f8f8;color:#333;border:none;border-radius:4px;box-shadow:0 2px 8px #0000000f;font-family:Noto Sans,Segoe UI,sans-serif;padding:16px 20px;position:relative;overflow:hidden}.butterpop-toast.theme-zen:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#9ed8db,#467599);opacity:.8}.butterpop-toast.theme-zen .butterpop-message{font-size:14px;font-weight:400;line-height:1.6;letter-spacing:.2px}.butterpop-toast.theme-zen .butterpop-icon{color:#467599;opacity:.9}.butterpop-toast.theme-zen.success{background:#f6fbf6}.butterpop-toast.theme-zen.success:after{background:linear-gradient(90deg,#9ed8a4,#3e8914)}.butterpop-toast.theme-zen.success .butterpop-icon{color:#3e8914}.butterpop-toast.theme-zen.error{background:#fdf6f6}.butterpop-toast.theme-zen.error:after{background:linear-gradient(90deg,#f5a9a9,#c0392b)}.butterpop-toast.theme-zen.error .butterpop-icon{color:#c0392b}.butterpop-toast.theme-zen.warning{background:#fdf9f2}.butterpop-toast.theme-zen.warning:after{background:linear-gradient(90deg,#fad7a0,#d68910)}.butterpop-toast.theme-zen.warning .butterpop-icon{color:#d68910}.butterpop-toast.theme-zen.info{background:#f5f9fd}.butterpop-toast.theme-zen.info:after{background:linear-gradient(90deg,#aed6f1,#2e86c1)}.butterpop-toast.theme-zen.info .butterpop-icon{color:#2e86c1}.butterpop-toast.theme-zen .butterpop-action-btn{background:transparent;color:#467599;border:1px solid #467599;border-radius:4px;font-size:12px;font-weight:400;padding:4px 12px;transition:all .2s}.butterpop-toast.theme-zen .butterpop-action-btn:hover{background:#4675991a}.butterpop-toast.theme-zen .butterpop-progress{height:2px;background:linear-gradient(90deg,#9ed8db,#467599);opacity:.8}body.dark-mode .butterpop-toast.theme-zen,.dark-theme .butterpop-toast.theme-zen{background:#2a2a2a;color:#e0e0e0}.butterpop-toast.theme-frost{background:#fffc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#2c3e50;border:1px solid rgba(255,255,255,.2);border-radius:8px;box-shadow:0 4px 15px #0000000d;font-family:Inter,Segoe UI,sans-serif;padding:16px 20px;position:relative;overflow:hidden}.butterpop-toast.theme-frost:before{content:"";position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(180deg,#ffffff4d,#fff0);pointer-events:none}.butterpop-toast.theme-frost .butterpop-message{font-size:14px;font-weight:400;line-height:1.6;letter-spacing:.2px}.butterpop-toast.theme-frost .butterpop-icon{color:#3498db;filter:drop-shadow(0 0 1px rgba(52,152,219,.3))}.butterpop-toast.theme-frost.success .butterpop-icon{color:#2ecc71;filter:drop-shadow(0 0 1px rgba(46,204,113,.3))}.butterpop-toast.theme-frost.error .butterpop-icon{color:#e74c3c;filter:drop-shadow(0 0 1px rgba(231,76,60,.3))}.butterpop-toast.theme-frost.warning .butterpop-icon{color:#f39c12;filter:drop-shadow(0 0 1px rgba(243,156,18,.3))}.butterpop-toast.theme-frost.info .butterpop-icon{color:#3498db;filter:drop-shadow(0 0 1px rgba(52,152,219,.3))}.butterpop-toast.theme-frost .butterpop-action-btn{background:#ffffffb3;color:#3498db;border:none;border-radius:6px;font-size:12px;font-weight:500;padding:5px 12px;transition:all .2s;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.butterpop-toast.theme-frost .butterpop-action-btn:hover{background:#ffffffe6;transform:translateY(-1px)}.butterpop-toast.theme-frost .butterpop-progress{height:2px;background-color:currentColor;opacity:.5}body.dark-mode .butterpop-toast.theme-frost,.dark-theme .butterpop-toast.theme-frost{background:#2c3e50cc;color:#ecf0f1;border-color:#2c3e5033}body.dark-mode .butterpop-toast.theme-frost:before,.dark-theme .butterpop-toast.theme-frost:before{background:linear-gradient(180deg,#2c3e504d,#2c3e5000)}body.dark-mode .butterpop-toast.theme-frost .butterpop-action-btn,.dark-theme .butterpop-toast.theme-frost .butterpop-action-btn{background:#2c3e50b3;color:#3498db}.butterpop-toast.theme-velvet{background:#2c2c54;color:#f7f1e3;border:none;border-radius:8px;box-shadow:0 8px 20px #0003;font-family:Playfair Display,Georgia,serif;padding:18px 22px;position:relative;overflow:hidden}.butterpop-toast.theme-velvet:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#706fd3,#c44569)}.butterpop-toast.theme-velvet .butterpop-message{font-size:15px;font-weight:400;line-height:1.6;letter-spacing:.3px}.butterpop-toast.theme-velvet .butterpop-icon{color:#706fd3;margin-right:15px}.butterpop-toast.theme-velvet.success:before{background:linear-gradient(90deg,#33d9b2,#218c74)}.butterpop-toast.theme-velvet.success .butterpop-icon{color:#33d9b2}.butterpop-toast.theme-velvet.error:before{background:linear-gradient(90deg,#ff5252,#b33939)}.butterpop-toast.theme-velvet.error .butterpop-icon{color:#ff5252}.butterpop-toast.theme-velvet.warning:before{background:linear-gradient(90deg,#ffda79,#ccae62)}.butterpop-toast.theme-velvet.warning .butterpop-icon{color:#ffda79}.butterpop-toast.theme-velvet.info:before{background:linear-gradient(90deg,#706fd3,#40407a)}.butterpop-toast.theme-velvet.info .butterpop-icon{color:#706fd3}.butterpop-toast.theme-velvet .butterpop-action-btn{background:#706fd333;color:#f7f1e3;border:1px solid rgba(112,111,211,.4);border-radius:4px;font-family:Playfair Display,Georgia,serif;font-size:12px;padding:5px 12px;transition:all .2s}.butterpop-toast.theme-velvet .butterpop-action-btn:hover{background:#706fd34d}.butterpop-toast.theme-velvet .butterpop-progress{height:2px;background:linear-gradient(90deg,#706fd3,#c44569)}.butterpop-toast.theme-quantum{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#e6e6e6;border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 10px 25px #0000004d;font-family:Space Mono,Roboto Mono,monospace;padding:16px 20px;position:relative;overflow:hidden}.butterpop-toast.theme-quantum:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 50%);animation:quantum-pulse 15s infinite linear;pointer-events:none}@keyframes quantum-pulse{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.butterpop-toast.theme-quantum:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#0f3460,#5a4ae3,#0f3460);background-size:200% 100%;animation:quantum-gradient 5s infinite linear}@keyframes quantum-gradient{0%{background-position:0% 50%}to{background-position:200% 50%}}.butterpop-toast.theme-quantum .butterpop-content{position:relative;z-index:1}.butterpop-toast.theme-quantum .butterpop-message{font-size:14px;font-weight:400;line-height:1.6;letter-spacing:.5px}.butterpop-toast.theme-quantum .butterpop-icon{color:#5a4ae3;margin-right:15px;filter:drop-shadow(0 0 2px rgba(90,74,227,.5))}.butterpop-toast.theme-quantum.success .butterpop-icon{color:#0be881;filter:drop-shadow(0 0 2px rgba(11,232,129,.5))}.butterpop-toast.theme-quantum.success:after{background:linear-gradient(90deg,#0f3460,#0be881,#0f3460);background-size:200% 100%}.butterpop-toast.theme-quantum.error .butterpop-icon{color:#ff5e57;filter:drop-shadow(0 0 2px rgba(255,94,87,.5))}.butterpop-toast.theme-quantum.error:after{background:linear-gradient(90deg,#0f3460,#ff5e57,#0f3460);background-size:200% 100%}.butterpop-toast.theme-quantum.warning .butterpop-icon{color:#ffdd59;filter:drop-shadow(0 0 2px rgba(255,221,89,.5))}.butterpop-toast.theme-quantum.warning:after{background:linear-gradient(90deg,#0f3460,#ffdd59,#0f3460);background-size:200% 100%}.butterpop-toast.theme-quantum.info .butterpop-icon{color:#5a4ae3;filter:drop-shadow(0 0 2px rgba(90,74,227,.5))}.butterpop-toast.theme-quantum .butterpop-action-btn{background:#5a4ae333;color:#e6e6e6;border:1px solid rgba(90,74,227,.4);border-radius:4px;font-family:Space Mono,Roboto Mono,monospace;font-size:11px;padding:5px 12px;transition:all .2s;letter-spacing:.5px;text-transform:uppercase}.butterpop-toast.theme-quantum .butterpop-action-btn:hover{background:#5a4ae34d;transform:translateY(-1px);box-shadow:0 2px 5px #0003}.butterpop-toast.theme-quantum .butterpop-progress{height:2px;background:linear-gradient(90deg,#5a4ae3,#0f3460,#5a4ae3);background-size:200% 100%;animation:quantum-gradient 5s infinite linear}@media (max-width: 480px){.butterpop-container{width:100%;padding:0 16px;box-sizing:border-box}.butterpop-toast{width:100%;max-width:100%}.butterpop-container.top-left,.butterpop-container.top-right,.butterpop-container.top-center{top:10px;right:0;left:0;transform:none;align-items:center}.butterpop-container.bottom-left,.butterpop-container.bottom-right,.butterpop-container.bottom-center{bottom:10px;right:0;left:0;transform:none;align-items:center}}.butterpop-toast.theme-neon-glow{background:#000;color:#fff;border-radius:8px;box-shadow:0 0 15px #ffffff4d;padding:16px 20px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.butterpop-toast.theme-neon-glow:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,#ff00801a,#00ffff1a);z-index:0;pointer-events:none}.butterpop-toast.theme-neon-glow .butterpop-content{position:relative;z-index:1}.butterpop-toast.theme-neon-glow .butterpop-message{text-shadow:0 0 5px currentColor;font-weight:500;letter-spacing:.5px}.butterpop-toast.theme-neon-glow .butterpop-icon{filter:drop-shadow(0 0 5px currentColor)}.butterpop-toast.theme-neon-glow.success{box-shadow:0 0 20px #00ff0080;color:#0f0}.butterpop-toast.theme-neon-glow.error{box-shadow:0 0 20px #ff000080;color:red}.butterpop-toast.theme-neon-glow.warning{box-shadow:0 0 20px #ffff0080;color:#ff0}.butterpop-toast.theme-neon-glow.info{box-shadow:0 0 20px #00ffff80;color:#0ff}.butterpop-toast.theme-neon-glow .butterpop-action-btn{background:transparent;border:1px solid currentColor;color:inherit;font-weight:500;text-transform:uppercase;letter-spacing:1px;font-size:11px;padding:5px 12px;transition:all .2s;text-shadow:0 0 5px currentColor}.butterpop-toast.theme-neon-glow .butterpop-action-btn:hover{background:#ffffff1a;box-shadow:0 0 10px currentColor;transform:translateY(-2px)}.butterpop-toast.theme-neon-glow .butterpop-progress{height:2px;box-shadow:0 0 10px currentColor}.butterpop-toast.theme-watercolor{background:#fff;color:#333;border-radius:12px;box-shadow:0 4px 15px #0000001a;padding:16px 20px;position:relative;overflow:hidden;font-family:Georgia,serif}.butterpop-toast.theme-watercolor:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath fill='%23f0f0f0' d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z'%3E%3C/path%3E%3C/svg%3E");opacity:.1;z-index:0;pointer-events:none}.butterpop-toast.theme-watercolor .butterpop-content{position:relative;z-index:1}.butterpop-toast.theme-watercolor .butterpop-message{font-style:italic;font-weight:400;line-height:1.6}.butterpop-toast.theme-watercolor.success{background:linear-gradient(to bottom right,#fff,#e8f7ee);border-top:3px solid #4caf50}.butterpop-toast.theme-watercolor.success .butterpop-icon{color:#4caf50}.butterpop-toast.theme-watercolor.error{background:linear-gradient(to bottom right,#fff,#fdeeee);border-top:3px solid #f44336}.butterpop-toast.theme-watercolor.error .butterpop-icon{color:#f44336}.butterpop-toast.theme-watercolor.warning{background:linear-gradient(to bottom right,#fff,#fff8e8);border-top:3px solid #ff9800}.butterpop-toast.theme-watercolor.warning .butterpop-icon{color:#ff9800}.butterpop-toast.theme-watercolor.info{background:linear-gradient(to bottom right,#fff,#e8f4ff);border-top:3px solid #2196f3}.butterpop-toast.theme-watercolor.info .butterpop-icon{color:#2196f3}.butterpop-toast.theme-watercolor .butterpop-action-btn{background:transparent;border:1px dashed currentColor;color:inherit;font-style:italic;font-size:12px;padding:4px 12px;transition:all .2s;border-radius:4px}.butterpop-toast.theme-watercolor .butterpop-action-btn:hover{background:#00000008;border-style:solid}.butterpop-toast.theme-watercolor .butterpop-progress{height:2px;background:linear-gradient(to right,currentColor,transparent)}.butterpop-toast.theme-vintage{background:#f8f3e9;color:#5d4037;border:1px solid #d7ccc8;border-radius:4px;box-shadow:0 4px 12px #0000001a;padding:16px 20px;font-family:Playfair Display,Georgia,serif;position:relative}.butterpop-toast.theme-vintage:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23d7ccc8' fill-opacity='0.2'%3E%3Cpath d='M0 0h100v100H0z'/%3E%3Cpath opacity='.5' d='M63 63a37 37 0 0 0 0-52A37 37 0 0 0 13 63a37 37 0 0 0 50 0z' fill='%23ddd' filter='url(%23c)'/%3E%3C/g%3E%3C/svg%3E");opacity:.1;pointer-events:none}.butterpop-toast.theme-vintage .butterpop-message{font-size:15px;line-height:1.6;letter-spacing:.2px}.butterpop-toast.theme-vintage .butterpop-icon{color:#8d6e63}.butterpop-toast.theme-vintage.success{border-color:#81c784}.butterpop-toast.theme-vintage.success .butterpop-icon{color:#2e7d32}.butterpop-toast.theme-vintage.error{border-color:#e57373}.butterpop-toast.theme-vintage.error .butterpop-icon{color:#c62828}.butterpop-toast.theme-vintage.warning{border-color:#ffd54f}.butterpop-toast.theme-vintage.warning .butterpop-icon{color:#ef6c00}.butterpop-toast.theme-vintage.info{border-color:#64b5f6}.butterpop-toast.theme-vintage.info .butterpop-icon{color:#0277bd}.butterpop-toast.theme-vintage .butterpop-action-btn{background:transparent;border:1px solid #d7ccc8;color:#5d4037;font-family:Playfair Display,Georgia,serif;font-size:12px;padding:4px 12px;transition:all .2s;border-radius:2px}.butterpop-toast.theme-vintage .butterpop-action-btn:hover{background:#00000008;border-color:#8d6e63}.butterpop-toast.theme-vintage .butterpop-progress{height:2px;background-color:#8d6e63}.butterpop-toast.theme-pixel{background:#000;color:#fff;border:4px solid #fff;border-radius:0;box-shadow:0 0 0 4px #000;padding:16px 20px;font-family:"Press Start 2P",monospace;image-rendering:pixelated;position:relative}.butterpop-toast.theme-pixel .butterpop-message{font-size:12px;line-height:1.8;letter-spacing:0}.butterpop-toast.theme-pixel .butterpop-icon{margin-right:16px;transform:scale(.9)}.butterpop-toast.theme-pixel.success{background:#081820;border-color:#8bac0f;color:#8bac0f}.butterpop-toast.theme-pixel.error{background:#081820;border-color:#e76e55;color:#e76e55}.butterpop-toast.theme-pixel.warning{background:#081820;border-color:#dcd77a;color:#dcd77a}.butterpop-toast.theme-pixel.info{background:#081820;border-color:#5fa9d0;color:#5fa9d0}.butterpop-toast.theme-pixel .butterpop-action-btn{background:#fff;border:2px solid #000;color:#000;font-family:"Press Start 2P",monospace;font-size:10px;padding:6px 12px;margin-top:8px;transition:all .1s;border-radius:0}.butterpop-toast.theme-pixel .butterpop-action-btn:hover{transform:translateY(-2px)}.butterpop-toast.theme-pixel .butterpop-action-btn:active{transform:translateY(0)}.butterpop-toast.theme-pixel .butterpop-progress{height:4px;background-color:currentColor}.butterpop-toast.theme-handwritten{background:#fffdf7;color:#333;border:1px solid #e0e0e0;border-radius:0;box-shadow:2px 2px #333;padding:16px 20px;font-family:Caveat,Indie Flower,cursive;transform:rotate(-1deg);position:relative}.butterpop-toast.theme-handwritten:after{content:"";position:absolute;top:4px;left:4px;right:4px;bottom:4px;border:1px dashed rgba(0,0,0,.1);pointer-events:none;z-index:0}.butterpop-toast.theme-handwritten .butterpop-content{position:relative;z-index:1}.butterpop-toast.theme-handwritten .butterpop-message{font-size:18px;line-height:1.4}.butterpop-toast.theme-handwritten .butterpop-icon{transform:rotate(5deg) scale(1.1);margin-right:16px}.butterpop-toast.theme-handwritten.success{background:#f1f8e9;border-color:#81c784}.butterpop-toast.theme-handwritten.success .butterpop-icon{color:#388e3c}.butterpop-toast.theme-handwritten.error{background:#ffebee;border-color:#e57373}.butterpop-toast.theme-handwritten.error .butterpop-icon{color:#d32f2f}.butterpop-toast.theme-handwritten.warning{background:#fff8e1;border-color:#ffd54f}.butterpop-toast.theme-handwritten.warning .butterpop-icon{color:#f57c00}.butterpop-toast.theme-handwritten.info{background:#e3f2fd;border-color:#64b5f6}.butterpop-toast.theme-handwritten.info .butterpop-icon{color:#1976d2}.butterpop-toast.theme-handwritten .butterpop-action-btn{background:transparent;border:1px solid currentColor;color:inherit;font-family:Caveat,Indie Flower,cursive;font-size:16px;padding:2px 12px;transition:all .2s;border-radius:0;transform:rotate(2deg)}.butterpop-toast.theme-handwritten .butterpop-action-btn:hover{background:#00000008;transform:rotate(0) scale(1.05)}.butterpop-toast.theme-handwritten .butterpop-progress{height:3px;background-color:currentColor;opacity:.5;transform:rotate(1deg)}:root{--bg: #f0f4f8;--surface: #ffffff;--surface2: #f7f9fc;--border: #b8c0ca;--border2: #cbd5e1;--text: #0f172a;--text2: #475569;--text3: #94a3b8;--accent: #2563eb;--accent-light: #dbeafe;--accent-dark: #1d4ed8;--green: #16a34a;--green-light: #beffd5;--red: #dc2626;--red-light: #ffbbbb;--yellow: #ca8a04;--yellow-light: #fef9c3;--orange: #ea580c;--orange-light: #ffedd5;--purple: #7c3aed;--purple-light: #d6c9fb;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 4px 16px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--transition: .2s cubic-bezier(.4, 0, .2, 1);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}[data-theme=dark]{--bg: #0f172a;--surface: #1e293b;--surface2: #1a2436;--border: #2d3f55;--border2: #3a4f6a;--text: #f1f5f9;--text2: #94a3b8;--text3: #94a3b8;--accent: #3b82f6;--accent-light: #1e3a5f;--accent-dark: #2563eb;--green: #22c55e;--green-light: rgba(20, 83, 45, .5);--red: #ef4444;--red-light: rgba(69, 10, 10, .5);--yellow: #eab308;--yellow-light: rgba(81, 61, 1, .4);--orange: #f97316;--orange-light: #431407;--purple: #a855f7;--purple-light: #3b0764;--shadow: 0 1px 3px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4)}*{box-sizing:border-box;margin:0;padding:0;scrollbar-color:var(--border2) transparent;scrollbar-width:thin}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--border2);border:3px solid transparent;border-radius:999px;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--text3)}body{font-family:DM Sans,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;font-size:15px;transition:background .2s,color .2s}#login-page{--login-bg-x: 0px;--login-bg-y: 0px;display:flex;align-items:center;justify-content:center;min-height:100vh;position:relative;overflow:hidden;isolation:isolate;background:#18212d;padding:20px}#login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 42%,rgba(255,206,133,.1),transparent 32%),linear-gradient(180deg,#08101c33,#08101c0d 42%,#08101c42)}.login-bg-layer{position:absolute;top:-18px;right:-18px;bottom:-18px;left:-18px;z-index:0;pointer-events:none;overflow:hidden;background:#18212d;transform:translate3d(var(--login-bg-x),var(--login-bg-y),0) scale(1.04);filter:saturate(1.04) contrast(1.02);transform-origin:center;will-change:transform}.login-bg-layer video{width:100%;height:100%;display:block;object-fit:cover}.login-card{position:relative;z-index:2;background:#ffffffeb;border:1px solid rgba(255,255,255,.42);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:20px;padding:44px 40px;width:100%;max-width:420px;box-shadow:0 28px 70px #061e3652,0 10px 28px #7f3f2f2e}[data-theme=dark] #login-page .login-card{background:#101827e0;border-color:#ffffff24}.login-logo{text-align:center;margin-bottom:32px}.login-logo .logo-icon{width:56px;height:56px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px;overflow:hidden}.login-logo .logo-icon img{width:100%;height:100%;display:block;object-fit:contain}.login-logo h1{font-family:Fraunces,serif;font-size:28px;color:var(--text);letter-spacing:0}.login-logo p{color:var(--text2);font-size:14px;margin-top:4px}.form-group{margin-bottom:18px}.form-group label{display:block;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--text2);margin-bottom:6px}.form-control{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:15px;font-family:DM Sans,sans-serif;transition:var(--transition);background:var(--surface2);outline:none;color:var(--text)}.form-control:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-light)}.form-control.required-error,.report-editor.required-error,.absent-reason-box.required-error{border-color:var(--red)!important;box-shadow:0 0 0 3px var(--red-light)!important}.btn.required-error{border:1.5px solid var(--red)!important;box-shadow:0 0 0 3px var(--red-light)!important;color:var(--red)!important}.required-error-text{border-color:var(--red)!important;color:var(--red)!important}.password-wrap{position:relative;display:flex;align-items:center}.password-wrap .form-control{padding-right:44px}.pwd-toggle{position:absolute;right:10px;background:none;border:none;cursor:pointer;font-size:15px;color:var(--text3);padding:4px;line-height:1;transition:var(--transition);display:flex;align-items:center;justify-content:center}.pwd-toggle:hover{color:var(--accent)}.remember-me-row{display:flex;align-items:center;gap:9px;margin:-4px 0 16px;color:var(--text2);font-size:14px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.remember-me-row input{width:16px;height:16px;accent-color:#0e449c}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;font-family:DM Sans,sans-serif;cursor:pointer;border:none;transition:var(--transition);text-decoration:none}.btn-primary{background:#0e449c;color:#fff}.btn-primary:hover{background:var(--accent-dark);transform:translateY(-1px)}.btn-secondary{background:var(--surface2);color:var(--text);border:1.5px solid var(--border)}.btn-secondary:hover{background:var(--border);border-color:var(--border2)}.btn-ghost{background:transparent;color:var(--text2);border:1.5px solid transparent}.btn-ghost:hover{background:#ef44441a;color:#ef4444;border-color:#ef44444d}.btn-sm{padding:7px 14px;font-size:13px}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{background:#b91c1c}.btn-success{background:var(--green);color:#fff}.btn-success:hover{background:#15803d}.btn-outline{background:transparent;color:var(--accent);border:1.5px solid var(--accent)}.btn-outline:hover{background:var(--accent-light)}.btn-warning{background:var(--purple);color:#fff}.btn-warning:hover{background:var(--accent-dark);filter:brightness(.92)}.btn i,.theme-btn i,.nav-icon i,.empty-icon i{line-height:1}.icon-inline{display:inline-flex;align-items:center;justify-content:center;width:1.1em;margin-right:5px}#modal-schedule>div>div.modal-footer>button.btn.btn-secondary,#modal-schedule>div>div.modal-footer>button.btn.btn-danger{margin-top:.6rem}#receipt-detail-body>div.receipt-card>div.card-actions.receipt-card-actions>div.card-actions-right>button.btn.btn-sm.btn-primary{margin-top:0}#yr-save-btn{margin-top:0}#login-btn{width:100%}.error-msg{background:var(--red-light);color:var(--red);padding:10px 14px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:16px;border:1px solid #fca5a5}#app{display:none;height:100vh;overflow:hidden;flex-direction:column}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:0 24px;height:60px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.topbar-left{display:flex;align-items:center;gap:14px}.topbar-logo{font-family:Fraunces,serif;font-size:20px;color:var(--text);letter-spacing:-.5px;display:flex;align-items:center;gap:8px}.topbar-logo .dot{width:8px;height:8px;background:var(--accent);border-radius:50%}.topbar-right,.topbar-user{display:flex;align-items:center;gap:10px}.user-avatar{width:34px;height:34px;background:linear-gradient(135deg,var(--accent),#0ea5e9);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px}.user-name{font-weight:600;font-size:14px}.user-role{font-size:12px;color:var(--text3);display:block}.body-wrap{display:flex;flex:1;overflow:hidden}.theme-btn{background:var(--surface2);border:1.5px solid var(--border);border-radius:20px;padding:5px 12px;cursor:pointer;font-size:14px;color:var(--text2);display:flex;align-items:center;gap:6px;transition:var(--transition);font-family:DM Sans,sans-serif;font-weight:500}.theme-btn:hover{background:var(--border);color:var(--text)}.sidebar{width:220px;background:var(--surface);border-right:1px solid var(--border);padding:16px 12px;display:flex;flex-direction:column;gap:4px;overflow-y:auto;flex-shrink:0}.nav-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text3);padding:8px 10px 4px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;color:var(--text2);font-weight:500;font-size:14px;transition:var(--transition);border:none;background:none;width:100%;text-align:left}.nav-item:hover{background:var(--accent-light);color:var(--accent)}.nav-item.active{background:var(--accent-dark);color:#fff}.nav-item .nav-icon{font-size:20px;width:20px;text-align:center}.main{flex:1;overflow-y:auto;padding:28px}.page{display:none}.page.active{display:block}.page-header{margin-bottom:24px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-title{font-family:Arial,serif;font-size:26px;letter-spacing:-.5px}.page-sub{color:var(--text2);font-size:14px;margin-top:3px}.card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:20px;box-shadow:var(--shadow);margin:auto}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:24px}.stat-card{background:var(--surface);border-radius:var(--radius);padding:18px;border:1px solid var(--border)}.stat-value{font-size:28px;font-weight:700;letter-spacing:-1px;color:var(--text)}.stat-label{font-size:13px;color:var(--text2);margin-top:3px;font-weight:500}.stat-icon{font-size:22px;margin-bottom:10px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text3);padding:11px 14px;text-align:left;background:var(--surface2);border-bottom:1px solid var(--border)}td{padding:13px 14px;border-bottom:1px solid var(--border);font-size:14px;vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface2)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-blue{background:var(--accent-light);color:var(--accent)}.badge-green{background:var(--green-light);color:var(--green)}.badge-red{background:var(--red-light);color:var(--red)}.badge-yellow{background:var(--yellow-light);color:var(--yellow)}.badge-purple{background:var(--purple-light);color:var(--purple)}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.cal-title{font-size:19px;font-weight:700;letter-spacing:-.3px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-dow{text-align:center;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text3);padding:6px 0}.cal-day{border-radius:var(--radius-sm);padding:8px 6px;min-height:128px;background:var(--surface2);border:1px solid var(--border);cursor:pointer;transition:var(--transition);position:relative;overflow:hidden}.cal-day:hover,.cal-day.today{border-color:var(--accent);background:var(--accent-light)}.cal-day.selected{border-color:var(--accent);background:var(--accent-light);box-shadow:inset 0 0 0 1px var(--accent)}.cal-day.empty{background:transparent;border-color:transparent;cursor:default}.cal-day.empty:hover{background:transparent;border-color:transparent}.cal-day-num{font-size:14px;font-weight:700;color:var(--text);margin-bottom:4px}.cal-day.today .cal-day-num,.cal-day.selected .cal-day-num{color:var(--accent)}#page-schedule.admin-schedule-old .cal-day{min-height:70px;overflow:visible}#page-schedule.admin-schedule-old .cal-day.selected{background:var(--accent);color:#fff;box-shadow:none}#page-schedule.admin-schedule-old .cal-day.selected .cal-day-num{color:#fff}.cal-day.copy-source{background:var(--accent-light)!important;border-color:var(--accent)!important}.cal-day.copy-source .cal-day-num{color:var(--accent)!important}.cal-day.copy-dest{background:var(--green-light)!important;border-color:var(--green)!important}.cal-day.copy-dest .cal-day-num{color:var(--green)!important}.cal-day.copy-range-start,.cal-day.copy-range-end{background:var(--accent)!important;border-color:var(--accent)!important}.cal-day.copy-range-start .cal-day-num,.cal-day.copy-range-end .cal-day-num{color:#fff!important}.cal-day.copy-in-range{background:var(--accent-light)!important;border-color:var(--accent)!important}.cal-day-dots{display:flex;flex-wrap:wrap;gap:3px}.cal-dot{width:6px;height:6px;border-radius:50%;background:#ffd000}[data-theme=dark] .cal-dot{background:#ffd000}.cal-dot.red{background:var(--red)}.cal-dot.green{background:var(--green)}.cal-dot.purple{background:var(--purple)}.cal-events{display:flex;flex-direction:column;gap:3px;min-width:0}.cal-event{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px;border:1px solid var(--border);border-left-width:3px;border-radius:6px;padding:2px 5px;background:var(--surface);color:var(--text);font-size:13px;line-height:1.25;text-align:left;cursor:pointer;min-width:0;transition:var(--transition);margin-bottom:5px}.cal-event.teacher-schedule-event{grid-template-columns:auto minmax(0,1fr) 24px}.cal-event:hover{transform:translate(1px);border-color:var(--accent)}.cal-event.present{background:var(--green-light);border-left-color:var(--green)}.cal-event.absent{background:var(--red-light);border-left-color:var(--red)}.cal-event.no-report{background:var(--yellow-light);border-left-color:var(--yellow)}.cal-event.cancelled{background:var(--purple-light);border-left-color:var(--purple)}.cal-event-time{color:var(--accent);font-weight:700;font-size:13px;white-space:nowrap}.cal-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;font-size:14px}.cal-event-note-btn{width:clamp(20px,5vw,24px);height:clamp(20px,5vw,24px);border:1px solid var(--border2);border-radius:6px;background:var(--surface);color:var(--accent);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1;justify-self:end;padding:0}.cal-event-note-btn:hover,.cal-event-note-btn:focus-visible{background:var(--accent-light);border-color:var(--accent);outline:none}.cal-more-btn{border:none;background:transparent;color:var(--accent);font:inherit;font-size:11px;font-weight:700;text-align:left;padding:1px 5px;cursor:pointer;border-radius:5px}.cal-more-btn:hover{background:var(--accent-light)}.calendar-popover-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:transparent}.calendar-popover{position:fixed;z-index:901;width:min(420px,calc(100vw - 24px));max-height:min(440px,calc(100vh - 24px));overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:12px}.calendar-popover-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.calendar-popover-title{font-size:14px;font-weight:800;color:var(--text)}.calendar-popover-close{width:28px;height:28px;border:none;border-radius:8px;background:var(--surface2);color:var(--text2);cursor:pointer}.calendar-popover-list{display:grid;gap:5px;min-width:0}.calendar-popover .cal-event{grid-template-columns:92px minmax(0,1fr);min-height:34px;padding:6px 8px}.calendar-popover .cal-event.teacher-schedule-event{grid-template-columns:96px minmax(0,1fr) 24px}.calendar-popover .cal-event-time{font-size:13px}.calendar-popover .cal-event-title{font-size:14px}@media (max-width: 1110px){#page-schedule:not(.admin-schedule-old) .cal-day{padding:6px 4px}#page-schedule:not(.admin-schedule-old) .cal-event.teacher-schedule-event{grid-template-columns:minmax(0,1fr) 22px;grid-template-rows:auto auto;gap:1px 4px;padding:4px 5px}#page-schedule:not(.admin-schedule-old) .cal-event.teacher-schedule-event .cal-event-time{grid-column:1;font-size:11px;overflow:hidden;text-overflow:ellipsis}#page-schedule:not(.admin-schedule-old) .cal-event.teacher-schedule-event .cal-event-title{grid-column:1;font-size:12px}#page-schedule:not(.admin-schedule-old) .cal-event.teacher-schedule-event .cal-event-note-btn{grid-column:2;grid-row:1 / span 2;align-self:center;width:22px;height:22px;font-size:11px}}@media (max-width: 420px){.calendar-popover{padding:10px}.calendar-popover .cal-event.teacher-schedule-event{grid-template-columns:90px minmax(0,1fr) 22px;column-gap:5px}.calendar-popover .cal-event-note-btn{width:22px;height:22px}.calendar-popover .cal-event-time,.calendar-popover .cal-event-title{font-size:12px}}.cal-no-report{font-size:10px;color:var(--text3);margin-top:3px}.schedule-month-controls{display:grid!important;grid-template-columns:40px minmax(160px,max-content) 40px;align-items:center;justify-content:center;gap:12px;margin-bottom:8px}.schedule-nav-btn,.day-nav-btn{width:40px;height:34px;min-width:40px;padding:0;margin-top:0!important}.schedule-action-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,170px));justify-content:center;gap:8px;width:100%;max-width:560px;margin:0 auto}.schedule-action-row.teacher-actions{grid-template-columns:repeat(2,minmax(0,170px));max-width:348px}#btn-drive-teacher-schedule{width:max-content}.schedule-action-btn{width:100%;min-height:34px;margin-top:0!important;padding-left:10px;padding-right:10px;text-align:center;white-space:normal;line-height:1.2}#btn-copy-schedule{order:1}#btn-add-schedule{order:2}#btn-move-schedule{order:3}.day-detail-header{display:flex!important;flex-direction:column;align-items:stretch;gap:8px;margin-bottom:10px}.day-date-browser{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:8px;width:min(100%,560px);margin:0 auto;min-width:0}.day-date-label{width:100%;min-height:34px;margin-top:0!important;font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default;pointer-events:none}.day-detail-close{width:40px;height:34px;min-width:40px;margin-top:0!important;align-self:flex-end}.day-detail-actions{display:flex;justify-content:center;gap:8px}.day-detail-actions .btn{min-width:150px;min-height:34px;margin-top:0!important}.schedule-slot-action .btn,.schedule-slot-actions .btn{min-width:64px;min-height:32px;margin-top:0!important}@media (max-width: 768px){.schedule-action-row{grid-template-columns:repeat(3,minmax(0,1fr));max-width:100%}.schedule-action-btn{min-height:40px;padding-left:8px;padding-right:8px;font-size:12px}.day-date-browser{grid-template-columns:38px minmax(0,1fr) 38px;gap:6px}.day-nav-btn{width:38px;min-width:38px}.day-detail-header{gap:6px}.day-detail-close{width:38px;min-width:38px}}@media (max-width: 480px){.schedule-action-row{grid-template-columns:1fr;max-width:320px}.day-detail-header{gap:6px}.day-date-label{min-height:40px;white-space:normal;line-height:1.2}.day-nav-btn,.day-detail-close{height:40px}}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;z-index:1000;align-items:center;justify-content:center;padding:20px;padding-top:max(20px,env(safe-area-inset-top,0px));padding-bottom:max(20px,env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media (max-width: 768px){.modal-overlay{padding-top:max(32px,env(safe-area-inset-top,0px));padding-bottom:max(88px,env(safe-area-inset-bottom,0px))}}.modal-overlay.open{display:flex}.modal{background:var(--surface);border-radius:16px;width:100%;max-width:580px;max-height:min(92vh,100%);overflow-y:auto;box-shadow:var(--shadow-lg);animation:modalIn .2s ease}@keyframes modalIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:22px 24px 0;display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:18px;font-weight:700;letter-spacing:-.3px}.modal-close{background:var(--surface2);border:none;border-radius:8px;width:30px;height:30px;cursor:pointer;font-size:16px;color:var(--text2);display:flex;align-items:center;justify-content:center;transition:var(--transition)}.modal-close:hover{background:var(--red-light);color:var(--red)}.modal-body{padding:20px 24px 24px}.modal-footer{padding:0 24px 24px;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.4px;color:var(--text2);margin-bottom:6px}select.form-control{cursor:pointer}.color-choice-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.color-choice{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface2);color:var(--text);font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition)}.color-choice:hover,.color-choice.active{border-color:var(--accent);background:var(--accent-light)}.color-swatch{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.85);box-shadow:0 0 0 1px var(--border2);flex-shrink:0}textarea.form-control{resize:vertical;min-height:80px}.schedule-note-modal{max-width:720px}.schedule-note-title{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--text);font-size:14px;line-height:1.35;min-width:0;padding-right:16px}.schedule-note-title-chip{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;background:var(--surface2);color:var(--text);font-weight:700;max-width:100%;overflow-wrap:anywhere;padding:6px 10px}.schedule-note-time{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.schedule-note-student{background:var(--purple-light);border-color:var(--purple);color:var(--purple)}.schedule-note-date{color:var(--text2)}.schedule-note-label{color:var(--text);font-size:15px;font-weight:700;margin-bottom:8px}.schedule-note-content{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:15px;line-height:1.65;padding:14px;white-space:pre-wrap;word-break:break-word}.slot-list{display:flex;flex-direction:column;gap:8px}.slot-item{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;transition:var(--transition)}.slot-item:hover{border-color:var(--accent);background:var(--accent-light)}.slot-item.absent{background:var(--red-light);border-color:#fca5a5}.slot-item.present{background:var(--green-light);border-color:#86efac}.slot-item.present .slot-time{color:var(--accent)!important}.slot-item.present div{color:var(--text)!important}.slot-item.present .slot-student,.slot-item.present .slot-note,.slot-item.present .slot-meta{color:var(--text)}.slot-item.no-report{background:var(--yellow-light);border-color:#facc15}[data-theme=dark] .slot-item.no-report{border-color:#a16207}.slot-item.no-report div{color:var(--text)!important}.slot-item.no-report .slot-time{color:var(--accent)!important}.slot-time{font-weight:700;font-size:14px;color:var(--accent);white-space:nowrap}.slot-student{font-weight:600;font-size:15px}.slot-note{font-size:13px;color:var(--text2);margin-top:2px}.cal-legend{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:12px;text-align:center;color:var(--text2);font-size:12px;font-weight:600}.cal-legend-item{display:inline-flex;align-items:center;justify-content:center;gap:6px}.cal-legend .cal-dot{flex:0 0 auto}.report-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;padding:8px;background:var(--surface2);border-radius:var(--radius-sm);border:1px solid var(--border);align-items:center}.tb-btn{background:none;border:none;cursor:pointer;padding:5px 8px;border-radius:6px;font-size:14px;color:var(--text);transition:var(--transition);font-family:DM Sans,sans-serif}.tb-btn:hover{background:var(--border)}.tb-separator{width:1px;height:18px;background:var(--border2);margin:0 2px}.report-editor{width:100%;min-height:140px;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px;font-size:15px;font-family:DM Sans,sans-serif;outline:none;resize:vertical;background:var(--surface);color:var(--text);line-height:1.6}.report-editor:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.report-editor a{color:var(--accent)}.link-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;z-index:2000;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.link-modal.open{display:flex}.link-modal-box{background:var(--surface);border-radius:14px;padding:28px;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.link-modal-box h3{font-size:17px;font-weight:700;margin-bottom:18px}.link-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.upload-area{border:2px dashed var(--border2);border-radius:var(--radius-sm);padding:24px;text-align:center;cursor:pointer;transition:var(--transition);color:var(--text2)}.upload-area:hover{border-color:var(--accent);background:var(--accent-light)}.upload-action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.upload-action-hint{color:var(--text3);font-size:13px}.image-upload-modal{max-width:560px}.image-upload-dropzone{border:2px dashed var(--border2);border-radius:var(--radius-sm);background:var(--surface2);color:var(--text2);cursor:pointer;display:grid;gap:8px;justify-items:center;min-height:210px;padding:30px 22px;text-align:center;transition:var(--transition)}.image-upload-dropzone:hover,.image-upload-dropzone.dragover,.image-upload-dropzone:focus-visible{background:var(--accent-light);border-color:var(--accent);color:var(--text);outline:none}.image-upload-dropzone i{color:var(--accent);font-size:34px}.image-upload-title{color:var(--text);font-size:16px;font-weight:700}.image-upload-sub{color:var(--text3);font-size:13px;line-height:1.45;max-width:360px}.image-upload-status{align-items:center;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text2);display:none;font-size:13px;gap:8px;margin-top:12px;padding:10px 12px}.image-upload-status.show{display:flex}.image-upload-preview{max-height:210px;overflow:auto;padding:2px}.upload-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px}.upload-thumb-wrap{position:relative;width:80px;height:80px;flex:0 0 auto}.upload-thumb{width:80px;height:80px;border-radius:8px;object-fit:cover;border:2px solid var(--border);cursor:pointer;transition:var(--transition)}.upload-thumb:hover{border-color:var(--accent);transform:scale(1.05)}.upload-thumb-remove{position:absolute;top:-7px;right:-7px;width:24px;height:24px;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:var(--red);color:#fff;box-shadow:var(--shadow);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1;transition:var(--transition)}.upload-thumb-remove:hover{background:#b91c1c;transform:scale(1.08)}.lightbox{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:3000;align-items:center;justify-content:center;flex-direction:column}.lightbox.open{display:flex}.lightbox-img{max-width:90vw;max-height:80vh;border-radius:10px;object-fit:contain;transition:transform .2s}.lightbox-controls{display:flex;gap:12px;margin-top:18px}.lightbox-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:8px;padding:8px 16px;cursor:pointer;font-size:14px;font-weight:600;font-family:DM Sans,sans-serif;transition:var(--transition)}.lightbox-btn:hover{background:#ffffff4d}.lightbox-close{position:absolute;top:18px;right:18px;background:#ffffff26;border:none;color:#fff;font-size:22px;width:40px;height:40px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center}.lightbox-close:hover{background:#dc2626b3}#lightbox-download{text-decoration:none}.report-month-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.back-btn{background:none;border:none;cursor:pointer;font-size:22px;color:var(--text2);padding:0;transition:var(--transition)}.back-btn:hover{color:var(--accent)}.teacher-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:var(--transition)}.teacher-card:hover{border-color:var(--accent);background:var(--accent-light)}#teachers-report-list,#teachers-lesson-tracker-list{display:grid;grid-template-columns:1fr;gap:8px}#teachers-report-list .teacher-card{margin-bottom:0}@media (min-width: 900px){#teachers-report-list,#teachers-lesson-tracker-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1200px){#teachers-report-list,#teachers-lesson-tracker-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1366px){#teachers-report-list,#teachers-lesson-tracker-list{grid-template-columns:repeat(4,minmax(0,1fr))}}.teacher-avatar{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;color:#fff;flex-shrink:0}.teacher-info-name{font-weight:700;font-size:15px}.teacher-info-sub{font-size:13px;color:var(--text2);margin-top:2px}.report-day-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}#reports-teacher-sched-view{width:100%;max-width:78vw;margin:0 auto}.report-day-header{background:var(--accent);color:#fff;padding:10px 16px;font-weight:700;font-size:14px;display:flex;justify-content:space-between;align-items:center}.report-session{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--border)}.report-session:last-child{border-bottom:none}.report-teacher-day-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;width:min(100%,1320px);margin:0 auto}.report-teacher-day-grid.two-teachers{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center}.report-teacher-day-grid.single-teacher{grid-template-columns:minmax(0,min(760px,100%));justify-content:center}@media (max-width: 1200px){.report-teacher-day-grid,.report-teacher-day-grid.two-teachers,.report-teacher-day-grid.single-teacher{grid-template-columns:1fr}}.session-time{font-size:13px;font-weight:700;color:var(--accent);width:120px;flex-shrink:0}.session-student{font-weight:600;font-size:14px;flex:1;min-width:0;word-break:break-word}.session-note{font-size:13px;color:var(--text2);margin-top:2px}.session-badge{margin-left:auto;flex-shrink:0}.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.filter-label{font-size:13px;font-weight:600;color:var(--text2)}.report-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.absent-reason-box{display:none;margin-top:12px;padding:12px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm)}.absent-reason-box.open{display:block}.radio-stack{display:grid;gap:8px}.radio-stack .radio-item{display:flex;align-items:center;gap:10px;margin:0;line-height:16px;color:var(--text2)}.radio-stack .radio-item input{width:16px;height:16px;margin:0;flex-shrink:0}.radio-stack .radio-item span{display:inline-block;line-height:16px}.lesson-tracker-filter-card{display:flex;flex-direction:column;gap:10px;padding:14px}.lesson-tracker-date-row,.lesson-tracker-search-actions-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.lesson-tracker-date-row{order:1}#lesson-tracker-teacher-filter-wrap{order:2;margin-bottom:0}.lesson-tracker-search-actions-row{order:3}#lesson-tracker-summary{order:4}.lesson-tracker-filter-card.teacher-layout #lesson-tracker-summary{order:2}.lesson-tracker-filter-card.teacher-layout .lesson-tracker-search-actions-row{order:3}.lesson-tracker-date-row .form-group,.lesson-tracker-search-actions-row .form-group{margin-bottom:0;min-width:180px}.lesson-tracker-search-group{flex:0 1 260px}.lesson-tracker-filter-actions{display:flex;gap:6px;margin-bottom:4px;flex-wrap:wrap}.report-header-actions,.lesson-tracker-header-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.lesson-tracker-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}#lesson-tracker-teacher-filter-wrap>label,.lesson-tracker-date-row label,.lesson-tracker-search-actions-row label{font-size:12px;margin-bottom:4px}#lesson-tracker-teacher-filter-list{gap:4px;max-height:118px;padding:2px}#lesson-tracker-teacher-filter-list .teacher-check-item{gap:5px;padding:3px 6px}#lesson-tracker-teacher-filter-list .teacher-check-item input{height:14px;width:14px}#lesson-tracker-teacher-filter-list .teacher-check-item div{height:20px!important;width:20px!important;border-radius:5px!important;font-size:11px!important}#lesson-tracker-teacher-filter-list .teacher-check-item span{font-size:12px!important;line-height:1.2}.lesson-tracker-teacher-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;width:100%;margin:0 auto;align-items:stretch}.lesson-tracker-teacher-card{width:100%;min-width:0;padding:0;overflow:hidden;display:flex;flex-direction:column}#lesson-tracker-student-search{padding:8px 14px}.lesson-tracker-teacher-card-header{border-radius:var(--radius-sm) var(--radius-sm) 0 0;font-weight:800;font-size:20px;padding:10px 20px}.lesson-tracker-teacher-card-body{padding:22px;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.lesson-tracker-teacher-card .lesson-tracker-table-wrap{flex:1}.lesson-tracker-teacher-card .empty-state{flex:1;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center}#lesson-tracker-output{overflow-x:auto;padding-bottom:4px}.admin-schedule-filter-card .form-group>label{font-size:15px;font-weight:700;margin-bottom:8px}.admin-schedule-filter-actions{display:flex;gap:8px;margin-bottom:8px}#admin-schedule-output{padding-bottom:4px}.admin-schedule-month-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;flex-wrap:wrap}.admin-schedule-month-label{font-size:16px;font-weight:700;white-space:nowrap}.admin-schedule-month-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-schedule-day-labels{display:flex;gap:4px;margin-bottom:8px;overflow-x:auto;padding-bottom:4px}.admin-schedule-day-label{flex-shrink:0;min-width:80px;text-align:center;font-size:12px;font-weight:700;color:var(--text2)}.admin-schedule-day-label.inactive{color:var(--text3);opacity:.5}.admin-schedule-table-wrap{overflow-x:auto;overflow-y:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0}.admin-schedule-table{border-collapse:collapse;width:max-content}.admin-schedule-table th,.admin-schedule-table td{border:1px solid var(--border);padding:4px 6px;font-size:13px;text-align:center;vertical-align:middle;white-space:nowrap}.admin-schedule-table .time-col-header{position:sticky;left:0;z-index:3;background:var(--surface2);width:110px;text-align:left;padding-left:8px;padding-right:8px;font-size:12px;font-weight:700;color:var(--text2);box-shadow:inset -1px 0 0 0 var(--border)}.admin-schedule-table .time-col{position:sticky;left:0;z-index:2;background:var(--surface2);width:110px;text-align:left;padding-left:8px;padding-right:8px;font-size:12px;font-weight:600;color:var(--text);box-shadow:inset -1px 0 0 0 var(--border)}.admin-schedule-table .time-col+th,.admin-schedule-table .time-col+td,.admin-schedule-table .time-col-header+th,.admin-schedule-table .time-col-header+td{border-left:none}.admin-schedule-table .day-header{font-weight:700;font-size:12px;background:var(--surface2);width:85px;color:var(--text2);text-transform:uppercase}.admin-schedule-table .date-header{font-size:13px;font-weight:700;background:var(--surface2);width:85px}.admin-schedule-table .sched-cell{cursor:pointer;transition:background .15s;font-size:13px;width:85px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-schedule-table .today-col{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.admin-schedule-table .today-col.date-header,.admin-schedule-table .today-col.day-header{background:color-mix(in srgb,var(--accent) 22%,var(--surface));color:var(--accent)}.admin-schedule-table .hl-time{background:color-mix(in srgb,var(--accent) 28%,var(--surface))!important;color:var(--accent)!important;font-weight:700!important}.admin-schedule-table .hl-col{background:color-mix(in srgb,var(--accent) 12%,var(--surface))!important}.admin-schedule-table .hl-col.day-header,.admin-schedule-table .hl-col.date-header{background:color-mix(in srgb,var(--accent) 22%,var(--surface))!important;color:var(--accent)!important;font-weight:700!important}.admin-schedule-table tbody tr:has(td.sched-cell:hover) td{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.admin-schedule-table .sched-cell.has-student{font-weight:500;cursor:pointer}.admin-schedule-table .sched-cell.sched-bg-absent{background:var(--red-light)!important}.admin-schedule-table .sched-cell.sched-bg-present{background:var(--green-light)!important}.admin-schedule-table .sched-cell.sched-bg-pending{background:var(--yellow-light)!important}.admin-schedule-table .sched-cell.sched-bg-cancelled{background:var(--purple-light)!important}.admin-schedule-table .sched-cell.sched-bg-conflict{background:#fdba74!important;color:#7c2d12!important}.admin-schedule-table .sched-cell.sched-text-red{color:var(--red);font-weight:600}.admin-schedule-table .sched-cell.sched-text-lastavail{color:var(--accent);font-weight:700}.admin-schedule-table .sched-cell.sched-text-over{color:var(--accent);font-weight:700;text-decoration:line-through}.admin-schedule-legend{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:13px;color:var(--text2)}.asl-item{display:inline-flex;align-items:center;gap:6px}.asl-swatch{width:16px;height:16px;border-radius:4px;border:1px solid var(--border);display:inline-block}.asl-swatch.asl-pending{background:var(--yellow-light)}.asl-swatch.asl-absent{background:var(--red-light)}.asl-swatch.asl-present{background:var(--green-light)}.asl-swatch.asl-cancelled{background:var(--purple-light)}.asl-swatch.asl-conflict{background:#fdba74}.cancelled-class-banner{background:var(--purple-light);border:1px solid var(--purple);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:16px}.cancelled-class-banner-title{font-weight:700;color:var(--purple);margin-bottom:6px}.cancelled-class-banner-reason{font-size:14px;color:var(--text);white-space:pre-wrap;word-break:break-word}.cancelled-class-banner-label{font-weight:600;color:var(--text2)}.asl-trial-text{color:var(--red);font-weight:700}.asl-lastavail{color:var(--accent);font-weight:700}.asl-over{color:var(--accent);font-weight:700;text-decoration:line-through}.admin-schedule-table .sched-cell.empty-cell{color:var(--text3);font-size:12px}.admin-schedule-table .sched-cell.empty-cell:hover{color:var(--accent);font-weight:600}.toolbar-trigger{position:fixed;top:68px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:6px;cursor:pointer;background:var(--accent);color:#fff;font-weight:600;font-size:13px;padding:6px 14px;border-radius:8px;box-shadow:0 4px 16px #0000002e;-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;transition:transform .15s,box-shadow .15s}.toolbar-trigger:hover{transform:translate(-50%) translateY(-1px);box-shadow:0 6px 20px #00000038}.toolbar-trigger-arrow{font-size:12px}.toolbar-expanded{position:fixed;top:60px;left:50%;transform:translate(-50%);z-index:1000;background:var(--bg);border-bottom:1px solid var(--border);box-shadow:0 4px 16px #0000001f;padding:10px 24px;border-radius:0 0 12px 12px;max-width:1280px;width:calc(100% - 56px)}.toolbar-expanded .toolbar-flex-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar-expanded .btn-sm{padding:5px 10px;font-size:12px}.toolbar-expanded .btn-primary,.toolbar-expanded .btn-secondary{margin-top:0}.toolbar-expanded .toolbar-month-label{font-size:14px}.toolbar-expanded .toolbar-teacher-count{font-size:12px}.toolbar-expanded .form-control{font-size:12px!important;padding:4px 8px;height:auto}.toolbar-expanded .toolbar-date-group .form-control{width:120px!important}.toolbar-month-label{font-weight:700;font-size:16px;white-space:nowrap}.toolbar-sep{width:1px;height:24px;background:var(--border);flex-shrink:0}.toolbar-teacher-count{font-size:13px;color:var(--text2);white-space:nowrap}.toolbar-toggle-filter{margin-left:auto}.toolbar-date-group{display:flex;align-items:center;gap:6px}.toolbar-filter-collapse{padding-top:10px}@media (max-width: 768px){#admin-schedule-spreadsheet-view .teacher-check-list.six-columns{grid-template-columns:repeat(3,1fr)}#admin-schedule-spreadsheet-view .lesson-tracker-teacher-card-body{padding:12px}#admin-schedule-spreadsheet-view .admin-schedule-month-label{font-size:14px}.toolbar-trigger{top:60px;font-size:13px;padding:7px 14px}.toolbar-expanded{top:52px;width:calc(100% - 28px);padding:8px 12px;border-radius:0}}@media (max-width: 480px){#admin-schedule-spreadsheet-view .teacher-check-list.six-columns{grid-template-columns:repeat(2,1fr)}#admin-schedule-spreadsheet-view .lesson-tracker-teacher-card-body{padding:8px}#admin-schedule-spreadsheet-view .admin-schedule-table th,#admin-schedule-spreadsheet-view .admin-schedule-table td{padding:3px 4px;font-size:12px}#admin-schedule-spreadsheet-view .admin-schedule-table .sched-cell{font-size:12px}}.lesson-tracker-table-wrap,.lesson-editor-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}#lesson-editor-table-wrap{overflow:visible;border:0;border-radius:0;background:transparent}.lesson-tracker-table,.lesson-editor-table{table-layout:fixed;width:100%;min-width:1200px}.lesson-tracker-col-timestamp{width:210px}.lesson-tracker-col-student{width:180px}.lesson-tracker-col-material{width:300px}.lesson-tracker-col-pages{width:95px}.lesson-tracker-col-date{width:105px}.lesson-tracker-col-time{width:95px}.lesson-tracker-col-duration{width:125px}.lesson-tracker-col-status{width:180px}.lesson-tracker-col-remarks{width:90px}.lesson-tracker-table th,.lesson-editor-table th{color:var(--text);background:var(--surface2);border:1px solid var(--border);text-align:center}.lesson-tracker-table td,.lesson-editor-table td{border:1px solid var(--border);text-align:center;padding:12px 14px;font-size:16px;line-height:1.35;overflow-wrap:anywhere}#receipt-detail-body>div.receipt-card>div:nth-child(2)>table>thead>tr>th:nth-child(5){min-width:120px}#receipt-detail-body>div.receipt-card>div:nth-child(2)>table>thead>tr>th:nth-child(6){min-width:120px}.lesson-tracker-table th,.lesson-editor-table th{font-size:14px;padding:12px 5px}.lesson-editor-table input,.lesson-editor-table select{box-sizing:border-box;width:100%;min-width:0;border:1px solid transparent;border-radius:6px;background:var(--surface);color:var(--text);font:inherit;text-align:center;outline:none;padding:6px 8px}.lesson-editor-table input:focus,.lesson-editor-table select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.lesson-editor-table select option{background:var(--surface);color:var(--text)}[data-theme=dark] .lesson-editor-table select,[data-theme=dark] .lesson-editor-table select option{background:#1e293b;color:#f1f5f9}.lesson-editor-table .readonly-cell{background:var(--surface2);color:var(--text2)}.lesson-editor-other{margin-top:6px;border-top:1px solid var(--border)!important;padding-top:6px}.lesson-editor-toolbar{display:flex;align-items:center;gap:8px;padding:8px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:10px;color:var(--text2)}#modal-lesson-tracker-editor .modal{display:flex;flex-direction:column;overflow:hidden}#modal-lesson-tracker-editor .modal-body{flex:1;min-height:0;overflow:auto}#modal-lesson-tracker-editor .modal-footer{position:sticky;bottom:0;z-index:2;background:var(--surface);border-top:1px solid var(--border);padding-top:14px}.lesson-editor-card-list{display:grid;grid-template-columns:minmax(1200px,1fr);gap:24px;overflow-x:auto;padding-bottom:4px}#lesson-tracker-end,#lesson-tracker-start{padding:7px 14px}.draft-note{display:none;margin-bottom:12px;padding:9px 12px;border:1px solid #facc15;border-radius:var(--radius-sm);background:var(--yellow-light);color:var(--text);font-size:13px;font-weight:600}.filter-select{padding:7px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:DM Sans,sans-serif;background:var(--surface2);color:var(--text);cursor:pointer;outline:none}.filter-select:focus{border-color:var(--accent)}.toast-stack{position:fixed;bottom:calc(24px + var(--safe-bottom));right:24px;z-index:9999;display:flex;flex-direction:column;gap:10px;width:min(360px,calc(100vw - 32px));pointer-events:none}.toast-item{background:var(--text);color:var(--bg);padding:12px 16px;border-radius:10px;font-size:14px;font-weight:500;line-height:1.35;box-shadow:0 14px 32px #0f172a38;opacity:0;transition:.3s ease;transform:translateY(8px)}.toast-item.show{opacity:1;transform:translateY(0)}.offline-indicator{position:fixed;bottom:calc(20px + var(--safe-bottom));left:20px;z-index:10000;display:flex;align-items:center;gap:10px;max-width:min(340px,calc(100vw - 32px));padding:11px 16px;border-radius:999px;background:var(--surface);color:var(--text);border:1px solid var(--red);box-shadow:0 10px 30px #0f172a38;font-size:14px;font-weight:600;line-height:1.3;animation:offline-pill-in .25s ease}.offline-indicator i{font-size:17px;color:var(--red);flex-shrink:0}.offline-indicator.restored{border-color:var(--green)}.offline-indicator.restored i{color:var(--green)}@keyframes offline-pill-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.maintenance-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto;background:linear-gradient(160deg,#14233f,#2e4a7a 42%,#e08a4e)}.maintenance-stars{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.25;pointer-events:none;background-image:radial-gradient(circle at 20% 30%,#fff .5px,transparent 1.6px),radial-gradient(circle at 70% 18%,#fff .5px,transparent 1.6px),radial-gradient(circle at 85% 62%,#fff .5px,transparent 1.6px),radial-gradient(circle at 38% 78%,#fff .5px,transparent 1.6px);background-size:120px 120px,90px 90px,140px 140px,110px 110px}.maintenance-card{position:relative;width:100%;max-width:460px;background:#fffffff7;border-radius:22px;box-shadow:0 24px 70px #00000059;padding:clamp(28px,6vw,44px) clamp(22px,5vw,40px);text-align:center}.maintenance-badge{width:96px;height:96px;margin:0 auto 22px;border-radius:50%;background:linear-gradient(145deg,#ffb347,#e0612f);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px #e0612f73}.maintenance-badge i{font-size:44px;color:#fff;animation:maintenance-tilt 2.6s ease-in-out infinite}.maintenance-title{margin:0;font-size:clamp(22px,5vw,28px);font-weight:700;color:#1b2a4a;letter-spacing:-.01em}.maintenance-text{margin:12px 0 0;font-size:clamp(14px,3.5vw,16px);line-height:1.7;color:#5a6577}.maintenance-pill{display:inline-flex;align-items:center;gap:9px;margin-top:24px;padding:9px 16px;border-radius:999px;background:#fdeede;color:#9a4a16;font-size:13.5px;font-weight:600}.maintenance-dot{width:9px;height:9px;border-radius:50%;background:#e0612f;animation:maintenance-pulse 1.4s ease-in-out infinite}.maintenance-foot{margin-top:26px;padding-top:18px;border-top:1px solid #eceef2;display:flex;align-items:center;justify-content:center;gap:8px;color:#8a93a3;font-size:13px}.maintenance-foot-logo{width:20px;height:20px;object-fit:contain;border-radius:4px;margin-bottom:5px}@keyframes maintenance-tilt{0%,to{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}@keyframes maintenance-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.45}}.offline-indicator.leaving{animation:offline-pill-out .3s ease forwards}@keyframes offline-pill-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@media (max-width: 560px){.offline-indicator{bottom:14px;left:14px;right:14px;max-width:none;justify-content:center}}.confirm-modal{max-width:460px}.confirm-dialog-message{color:var(--text2);font-size:15px;line-height:1.45}.confirm-dialog-lines{display:grid;gap:8px;margin-top:14px}.confirm-dialog-line{background:var(--surface2);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:14px;font-weight:600;padding:10px 12px;overflow-wrap:anywhere}.confirm-dialog-label{color:var(--text2);font-weight:800}.btn-danger-confirm{background:var(--red)!important;color:#fff!important}.btn-danger-confirm:hover{background:#b91c1c!important}.chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:13px;font-weight:600;background:var(--surface2);border:1px solid var(--border);color:var(--text2)}.section-title{font-weight:700;font-size:16px;margin-bottom:12px;letter-spacing:-.2px}.divider{height:1px;background:var(--border);margin:20px 0}.empty-state{text-align:center;padding:48px 24px;color:var(--text3)}.empty-state .empty-icon{font-size:40px;margin-bottom:12px}.empty-state p{font-size:15px}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:14px;font-weight:600;padding:0;text-decoration:underline}.action-btns{display:flex;gap:6px;flex-wrap:wrap}.accounts-table{table-layout:fixed;width:100%}.accounts-table .account-col-name{width:34%}.accounts-table .account-col-username{width:24%}.accounts-table .account-col-status{width:14%}.accounts-table .account-col-actions{width:28%}.accounts-table .badge{min-width:74px;justify-content:center}.account-name-cell,.account-username-cell{min-width:0}.account-username-code{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.account-actions-cell{position:relative}.account-actions-inline{display:none;align-items:center}.account-actions-inline .btn{min-width:76px;padding-left:10px;padding-right:10px;white-space:nowrap}.account-actions-inline .btn:nth-child(2){min-width:104px}.account-actions-menu{display:flex;justify-content:flex-start;position:relative}.account-action-menu-btn{width:34px;height:34px;border-radius:8px;border:1.5px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);margin-left:.7rem}.account-action-menu-btn:hover{background:var(--border)}.account-actions-panel{display:none;position:fixed;top:0;left:0;z-index:1000;min-width:178px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg)}.account-actions-menu.open .account-actions-panel{display:grid;gap:2px}.account-actions-panel button,.account-actions-panel .account-actions-note{width:100%;border:0;background:transparent;color:var(--text);border-radius:6px;padding:8px 10px;text-align:left;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600}.account-actions-panel button{cursor:pointer}.account-actions-panel button:hover{background:var(--surface2)}.account-actions-panel .danger{color:var(--red)}.account-actions-panel button:disabled,.account-actions-panel .account-actions-note{color:var(--text3);cursor:not-allowed}#tab-admins>div>div>table>thead>tr>th:nth-child(3){padding-left:1.8rem}#tab-teachers>div>div>table>thead>tr>th:nth-child(3){padding-left:1.8rem}.report-cal-view .cal-day{cursor:pointer;min-height:70px;overflow:visible}@media (max-width: 900px){.cal-grid{gap:4px}.cal-day{min-height:104px;padding:6px 4px}.cal-dow{font-size:10px}.cal-event{grid-template-columns:minmax(0,1fr);gap:0;font-size:11px;padding:2px 4px}.cal-event-time{overflow:hidden;text-overflow:ellipsis;font-size:11px}.cal-event-title{font-size:11px}.calendar-popover{width:min(380px,calc(100vw - 16px));max-height:min(70vh,calc(100vh - 16px))}.calendar-popover .cal-event{grid-template-columns:84px minmax(0,1fr);gap:6px;padding:7px 8px}.calendar-popover .cal-event-time{font-size:12px}.calendar-popover .cal-event-title{display:block;font-size:13px}}@media (max-width: 560px){.cal-day{min-height:86px}.cal-day-num{font-size:12px}.cal-event-title{display:none}.calendar-popover{width:calc(100vw - 12px);max-height:calc(100vh - 12px);border-radius:12px;padding:10px}.calendar-popover .cal-event{grid-template-columns:minmax(72px,auto) minmax(0,1fr)}.calendar-popover .cal-event-title{display:block;white-space:normal;overflow-wrap:anywhere}}.cal-no-report-label{font-size:9px;color:var(--text3);font-style:italic;margin-top:2px}.tab-bar{display:flex;gap:4px;margin-bottom:20px;background:var(--surface2);border-radius:var(--radius-sm);padding:4px;border:1px solid var(--border)}.tab-btn{flex:1;padding:8px;border:none;background:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;font-family:DM Sans,sans-serif;color:var(--text2);transition:var(--transition)}.tab-btn:hover:not(.active){background:var(--surface);color:var(--text)}.tab-btn.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.tab-pane{display:none}.tab-pane.active{display:block}.student-input-wrap{position:relative;display:flex;gap:8px;align-items:stretch}.student-input-wrap>.form-control{flex:1 1 auto;min-width:0}.student-pick-btn{flex:0 0 auto;white-space:nowrap}.student-picker-list{max-height:50vh;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.student-picker-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;font-size:14px}.student-picker-item:hover{background:var(--hover);border-color:var(--accent)}.student-picker-item>span:first-child{flex:1;font-weight:600}.confirm-modal .modal-footer .btn{flex:1 1 0;min-width:0}.student-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1.5px solid var(--accent);border-radius:var(--radius-sm);z-index:200;max-height:200px;overflow-y:auto;box-shadow:var(--shadow-lg)}.student-suggestion-item{padding:10px 14px;cursor:pointer;font-size:14px;transition:var(--transition)}.student-suggestion-item:hover{background:var(--accent-light);color:var(--accent)}.spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle;margin-right:6px}@keyframes spin{to{transform:rotate(360deg)}}.topbar,.sidebar{display:none!important}.mobile-nav{display:flex;align-items:center;justify-content:center;position:sticky;top:0;overflow:visible;z-index:200;background:var(--surface);border-bottom:1px solid var(--border);min-height:calc(52px + var(--safe-top));padding:var(--safe-top) 0 0}.mobile-nav-tabs{display:flex;gap:5px;background:var(--surface2);border-radius:var(--radius-sm);padding:3px;border:1px solid var(--border);margin:0 auto;max-width:calc(100% - 110px);overflow-x:auto}.mobile-nav-tab{padding:6px;border:none;background:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;font-family:DM Sans,sans-serif;color:var(--text2);transition:var(--transition);display:flex;align-items:center;gap:5px;text-decoration:none}.mobile-nav-tab.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.mobile-nav-tab:hover{color:var(--accent)}.mobile-nav-label{display:inline;font-size:.9rem}.mobile-nav-right{display:flex;align-items:center;gap:6px;position:absolute;right:12px;top:50%;transform:translateY(-50%);padding-top:var(--safe-top, 0)}.mobile-hamburger-btn{background:var(--surface2);border:1.5px solid var(--border);border-radius:8px;width:36px;height:36px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;color:var(--text);transition:var(--transition);margin-left:5px;margin-right:2px}.mobile-hamburger-btn:hover{background:var(--border)}.hamburger-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:#0f172a80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);visibility:hidden;opacity:0;transition:opacity .2s ease,visibility .2s ease}.hamburger-menu.open{visibility:visible;opacity:1}.ham-panel{position:absolute;top:0;left:0;height:100%;width:min(360px,88vw);background:var(--surface);border-right:1px solid var(--border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;transform:translate(-100%);transition:transform .28s cubic-bezier(.16,1,.3,1);padding-top:var(--safe-top)}.hamburger-menu.open .ham-panel{transform:translate(0)}.ham-header{display:flex;align-items:center;gap:12px;padding:18px 16px;border-bottom:1px solid var(--border)}.ham-avatar{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px;flex-shrink:0;box-shadow:0 2px 8px #0000002e}.ham-id{flex:1;min-width:0}.ham-name{font-weight:700;font-size:15px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ham-role{display:inline-block;margin-top:4px;font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-light);padding:2px 9px;border-radius:999px}.ham-close{width:34px;height:34px;flex-shrink:0;border:none;background:transparent;color:var(--text3);border-radius:9px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.ham-close:hover{background:var(--surface2);color:var(--text)}.ham-scroll{flex:1;overflow-y:auto;padding:12px 10px 4px}.ham-section{margin-bottom:10px}.ham-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text3);padding:4px 12px 6px}.ham-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text);font-size:14px;font-weight:500;text-align:left;cursor:pointer;transition:background .15s}.ham-row:hover:not(.ham-row-static){background:var(--surface2)}.ham-row:disabled{opacity:.55;cursor:default}.ham-row-static{cursor:default}.ham-row-icon{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:9px;background:var(--surface2);color:var(--accent);font-size:14px}.ham-row-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ham-row-state{font-size:12px;font-weight:600;color:var(--text3);flex-shrink:0}.ham-row-chevron{color:var(--text3);font-size:12px;flex-shrink:0}.ham-lang-select{flex-shrink:0;max-width:160px;height:34px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;padding:0 26px 0 10px;font-size:13px}.ham-footer{padding:12px 16px calc(14px + var(--safe-bottom));border-top:1px solid var(--border)}.ham-signout{width:100%;padding:11px;border:1px solid var(--red);background:var(--red-light);color:var(--red);font-weight:600;font-size:14px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,color .15s}.ham-signout:hover{background:var(--red);color:#fff}.stu-sched-monthbar{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px}.stu-sched-month{min-width:150px;text-align:center;font-weight:700;font-size:16px;color:var(--text)}.stu-sched-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media (max-width: 900px){.stu-sched-list{grid-template-columns:1fr}}.stu-sched-legend{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-bottom:14px;font-size:13px;color:var(--text2)}.stu-sched-leg-item{display:inline-flex;align-items:center;gap:6px}.stu-sched-leg-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}.stu-sched-leg-dot.present{background:#16a34a}.stu-sched-leg-dot.absent{background:var(--red)}.stu-sched-leg-dot.cancelled{background:#7c3aed}.stu-sched-leg-dot.none{background:var(--text3)}.stu-sched-card{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--text3);border-radius:var(--radius);transition:background .15s,box-shadow .15s}.stu-sched-card.present{border-left-color:#16a34a}.stu-sched-card.absent{border-left-color:var(--red)}.stu-sched-card.cancelled{border-left-color:#7c3aed}.stu-sched-card.none{border-left-color:var(--text3)}.stu-sched-card.noclass{border-left-color:var(--border);opacity:.6}.stu-sched-card.is-today{box-shadow:0 0 0 2px var(--accent);opacity:1}.stu-sched-card.is-today .stu-sched-daynum{color:var(--accent)}.stu-sched-card.clickable{cursor:pointer}.stu-sched-card.clickable:hover{background:var(--surface2)}.stu-sched-todaytag{margin-top:3px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--accent);background:var(--accent-light);border-radius:999px;padding:1px 6px}.stu-sched-noclass-main{color:var(--text3);font-size:18px;font-weight:700}.stu-sched-datecol{flex-shrink:0;width:52px;text-align:center;line-height:1.15}.stu-sched-dow,.stu-sched-mon{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text3)}.stu-sched-daynum{font-size:24px;font-weight:800;color:var(--text)}.stu-sched-main{flex:1;min-width:0}.stu-sched-time{display:flex;align-items:center;gap:7px;font-size:16px;font-weight:700;color:var(--text);flex-wrap:wrap}.stu-sched-time i{color:var(--accent);font-size:14px}.stu-sched-trial{font-size:10px;font-weight:700;color:#2563eb;background:#2563eb1f;padding:1px 6px;border-radius:999px;text-transform:uppercase}.stu-sched-teacher{display:flex;align-items:center;gap:7px;margin-top:4px;font-size:14px;color:var(--text2)}.stu-sched-teacher i{color:var(--text3);font-size:13px}.stu-sched-side{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.stu-sched-badge{font-size:13px;font-weight:700;padding:4px 11px;border-radius:999px;white-space:nowrap}.stu-sched-badge.present{color:#16a34a;background:#16a34a24}.stu-sched-badge.absent{color:var(--red);background:var(--red-light)}.stu-sched-badge.cancelled{color:#7c3aed;background:#7c3aed24}.stu-sched-badge.none{color:var(--text3);background:var(--surface2)}.stu-sched-badge.noclass{color:var(--text3);background:transparent;border:1px solid var(--border)}.stu-sched-go{color:var(--text3);font-size:12px}.stu-cancel-banner{display:flex;align-items:center;gap:8px;background:var(--red-light);color:var(--red);border:1px solid var(--red);border-radius:8px;padding:10px 14px;font-weight:600;margin-bottom:14px}.stu-cancel-lines{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--text)}.stu-cancel-lbl{font-weight:700;color:var(--text2)}@media (max-width: 420px){.stu-sched-card{gap:10px;padding:11px 12px}.stu-sched-datecol{width:44px}.stu-sched-daynum{font-size:21px}.stu-sched-time{font-size:15px}}.teacher-check-list{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:200px;overflow-y:auto;padding:4px;justify-items:center}.teacher-check-list.four-columns{grid-template-columns:repeat(4,minmax(0,1fr));justify-items:stretch}.teacher-check-list.six-columns{grid-template-columns:repeat(6,minmax(0,1fr));justify-items:stretch}.teacher-check-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;transition:var(--transition)}.teacher-check-list.four-columns .teacher-check-item,.teacher-check-list.six-columns .teacher-check-item{width:100%}.teacher-check-item:hover{background:var(--accent-light)}.teacher-check-item input{width:16px;height:16px;cursor:pointer}@media (max-width: 1100px){.teacher-check-list.four-columns,.teacher-check-list.six-columns{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 820px){.teacher-check-list.four-columns,.teacher-check-list.six-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-item{justify-content:center;padding:10px 0}.nav-item span:not(.nav-icon){display:none}.nav-item .nav-icon{margin:0}}@media (max-width: 520px){.teacher-check-list.four-columns,.teacher-check-list.six-columns{grid-template-columns:1fr}}.report-download-summary{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text2);font-size:13px;line-height:1.4;padding:10px 12px}.date-pair-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.date-pair-row{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--surface2);border-radius:6px;font-size:13px;border:1px solid var(--border)}.date-pair-row .src-date{color:var(--accent);font-weight:700;min-width:90px}.date-pair-row .arrow{color:var(--text3)}.date-pair-row .dest-date{color:var(--green);font-weight:700;flex:1}.date-pair-row .dest-date.empty{color:var(--text3);font-style:italic}.mini-cal{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px}.mini-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.mini-cal-title{font-size:14px;font-weight:700}.mini-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.mini-cal-dow{text-align:center;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text3);padding:3px 0}.mini-cal-day{border-radius:5px;padding:5px 3px;min-height:28px;background:var(--surface);border:1px solid transparent;cursor:pointer;transition:var(--transition);text-align:center;font-size:12px;font-weight:600;color:var(--text)}.mini-cal-day:hover{border-color:var(--accent);background:var(--accent-light)}.mini-cal-day.empty{background:transparent;cursor:default}.mini-cal-day.empty:hover{border-color:transparent;background:transparent}.mini-cal-day.today-mini{color:var(--accent)}.mini-cal-day.in-range{background:var(--accent-light)!important;border-color:var(--accent)!important}.mini-cal-day.range-start,.mini-cal-day.range-end{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.mini-cal-day.dest-selected{background:var(--green)!important;border-color:var(--green)!important;color:#fff!important}.mini-cal-day.src-selected{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.mini-cal-day.dest-in-range{background:var(--green-light)!important;border-color:var(--green)!important}.mini-cal-day.has-data{border-color:var(--border2)}@media (max-width: 768px){.sidebar,.topbar{display:none!important}.mobile-nav{display:flex;align-items:center;justify-content:center;position:sticky;top:0;z-index:200;overflow:visible;background:var(--surface);border-bottom:1px solid var(--border);min-height:calc(52px + var(--safe-top));padding:var(--safe-top) 0 0}.mobile-nav-tabs{display:flex;gap:4px;background:var(--surface2);border-radius:var(--radius-sm);padding:3px;border:1px solid var(--border)}.mobile-nav-tab{padding:6px;border:none;background:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;font-family:DM Sans,sans-serif;color:var(--text2);transition:var(--transition);display:flex;align-items:center;gap:5px}.mobile-nav-tab.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.mobile-nav-tab:hover{color:var(--accent)}.mobile-nav-label{display:inline}.mobile-hamburger-btn{background:var(--surface2);border:1.5px solid var(--border);border-radius:8px;width:36px;height:36px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;color:var(--text);transition:var(--transition)}button.btn.btn-secondary{margin-top:.5rem}.mobile-hamburger-btn:hover{background:var(--border)}.main{padding:14px}.form-row,.report-form-grid{grid-template-columns:1fr}.lesson-tracker-actions{width:100%;margin-left:0}.lesson-tracker-actions .btn{flex:1}.stats-grid{grid-template-columns:1fr 1fr}.modal{max-width:100%;border-radius:16px 16px 0 0;max-height:min(96vh,100%)}.modal-overlay{align-items:flex-end;padding:0 0 var(--safe-bottom, 0px) 0}.toast-stack{left:16px;right:16px;bottom:calc(84px + var(--safe-bottom, 0px));width:auto}.page-header{flex-direction:column;gap:10px}.page-header>div:last-child:not(:first-child){width:100%;display:flex;flex-wrap:wrap;gap:8px}.page-header .btn{flex:1;min-width:120px}#btn-add-admin{height:auto;align-self:stretch}.cal-grid{gap:3px}.cal-day{min-height:52px;padding:5px 4px}.cal-day-num{font-size:12px}.session-time{width:90px;font-size:12px}.report-session{flex-wrap:wrap;gap:8px}#reports-teacher-sched-view,.card{max-width:100%}#day-detail-window{max-width:100%!important;border-radius:16px 16px 0 0!important;max-height:min(90vh,100%)!important}#day-detail-overlay{align-items:flex-end!important;padding:0 0 var(--safe-bottom, 0px) 0!important}#tab-admins>div>div>table>thead>tr>th:nth-child(3){padding-left:1.8rem}#tab-teachers>div>div>table>thead>tr>th:nth-child(3){padding-left:1.8rem}}@media (max-width: 820px){.mobile-nav-tabs.is-admin .mobile-nav-tab{justify-content:center;min-width:36px}.mobile-nav-tabs.is-admin .mobile-nav-tab:not(.active) .mobile-nav-label{display:none}.mobile-nav-tabs.is-admin .mobile-nav-tab.active{min-width:0}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:flex-start}.login-card{padding:32px 20px}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}.mobile-nav-tab{font-size:10px}.mobile-nav-tabs.is-admin .mobile-nav-tab.active .mobile-nav-label{display:none}#accounts-table-body td{padding:0;margin:0}}@media (max-width: 700px){#page-accounts .table-wrap{overflow:visible}.accounts-table .account-col-name{width:36%}.accounts-table .account-col-username{width:auto}.accounts-table .account-col-status{width:86px}.accounts-table .account-col-actions{width:72px}.accounts-table th,.accounts-table td{padding:10px 8px}.accounts-table th:nth-child(4){text-align:center}.account-actions-cell{text-align:right}.account-actions-inline{display:none}.account-actions-menu{display:flex}#tab-admins>div>div>table>thead>tr>th:nth-child(3){padding-left:1.4rem}#tab-teachers>div>div>table>thead>tr>th:nth-child(3){padding-left:1.4rem}}.day-cols{display:grid;gap:16px;grid-template-columns:1fr}@media (min-width: 601px){.day-cols{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1015px){.day-cols{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1366px){.day-cols{grid-template-columns:repeat(var(--day-col-count, 3),1fr)}}.day-cols.single-teacher{grid-template-columns:minmax(0,min(520px,100%))!important;justify-content:center}.you-label{display:inline-flex;align-items:center;font-size:12px;color:var(--text3);height:100%;padding:7px 0}@media (max-width: 480px){#tab-admins>div>div>table>thead>tr>th:nth-child(3){padding-left:.9rem}#tab-teachers>div>div>table>thead>tr>th:nth-child(3){padding-left:.9rem}}#tab-remaining-modify>div:nth-child(1){margin-bottom:10px}.notif-bell-wrap{position:relative;display:flex;align-items:center}.notif-bell-btn{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text2);padding:6px 10px;border-radius:8px;position:relative;transition:var(--transition);margin-right:5px}.notif-bell-btn:hover{background:var(--surface2);color:var(--text)}.notif-bell-btn .bell-dot{display:none;position:absolute;top:4px;right:6px;width:8px;height:8px;background:var(--red, #ef4444);border-radius:50%;border:2px solid var(--surface);z-index:1}.notif-bell-btn .bell-dot.show{display:block}.notif-badge{position:absolute;top:0;right:2px;background:var(--red, #ef4444);color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--surface);z-index:2}.notif-badge-sm{background:var(--red, #ef4444);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;padding:0 3px}.notif-dropdown{display:none;position:absolute;top:100%;right:0;width:360px;max-height:420px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:300;overflow:hidden;margin-top:8px}.notif-dropdown.open{display:block}.notif-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border);font-weight:700;font-size:14px;color:var(--text)}.notif-dropdown-list{max-height:360px;overflow-y:auto}.notif-item{padding:10px 14px;border-bottom:1px solid var(--border2);font-size:13px;color:var(--text2);cursor:pointer;transition:var(--transition)}.notif-item:hover{background:var(--surface2)}.notif-item.unread{background:var(--accent-light);color:var(--text);font-weight:600}.notif-item .notif-msg{display:block;white-space:pre-line}.notif-item .notif-time{font-size:13px;color:var(--text3);margin-top:4px}.notif-empty{padding:30px;text-align:center;color:var(--text3);font-size:14px}.remaining-view-grid,#remaining-view-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (max-width: 1100px){.remaining-view-grid,#remaining-view-list{grid-template-columns:repeat(3,1fr)}}@media (max-width: 820px){.remaining-view-grid,#remaining-view-list{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.remaining-view-grid,#remaining-view-list{grid-template-columns:1fr}}.remaining-balance-card{display:flex;align-items:center;gap:12px;padding:13px 15px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:var(--transition);text-align:left;width:100%;font:inherit}.remaining-balance-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-1px)}.remaining-balance-card.bal-ok{border-left-color:#059669}.remaining-balance-card.bal-low{border-left-color:#d97706}.remaining-balance-card.bal-empty{border-left-color:#ef4444}.remaining-balance-card.bal-monthly{border-left-color:#2563eb}.rbc-avatar{flex-shrink:0;width:38px;height:38px;border-radius:50%;background:var(--accent-light);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px}.rbc-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.rbc-name{font-weight:700;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rbc-count{flex-shrink:0;display:flex;flex-direction:column;align-items:center;font-weight:800;font-size:20px;color:var(--text);line-height:1}.rbc-count small{font-size:9px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.4px;margin-top:3px}.bal-monthly .rbc-count{color:#2563eb}.bal-low .rbc-count{color:#d97706}.bal-empty .rbc-count{color:#ef4444}.bal-ok .rbc-count{color:#059669}.bal-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.2px;width:fit-content}.badge-monthly{background:#059669;color:#fff}.badge-low{background:#fde68a;color:#92400e}.badge-empty{background:#fee2e2;color:#b91c1c}.badge-ok{background:var(--accent-light);color:var(--accent)}.dark .badge-low{background:#78350f;color:#fcd34d}.dark .badge-empty{background:#7f1d1d;color:#fecaca}.remaining-form-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.remaining-form-icon{flex-shrink:0;width:42px;height:42px;border-radius:12px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:var(--shadow)}.remaining-form-head .page-title{margin:0}.remaining-form-head .page-sub{font-size:13px;color:var(--text3);line-height:1.45;margin:3px 0 0}.remaining-form .page-sub{font-size:13px;color:var(--text3);line-height:1.4}.receipt-picker{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface2)}.receipt-input{width:100%}.receipt-picker-body{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:30px}.receipt-picker-hint{font-size:13px;color:var(--text3)}.receipt-picker-note{font-size:12px;color:var(--text3);margin-left:auto}.receipt-chip-row{display:flex;flex-wrap:wrap;gap:6px}.receipt-chip{padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text2);font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition)}.receipt-chip:hover{border-color:var(--accent);color:var(--accent)}.receipt-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.receipt-new-btn{margin-left:auto}.seg-toggle{display:inline-flex;width:100%;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.seg-toggle .seg{flex:1;padding:9px 14px;background:var(--surface);color:var(--text2);border:none;font:inherit;font-weight:600;font-size:13px;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:6px}.seg-toggle .seg+.seg{border-left:1px solid var(--border)}.seg-toggle .seg.active[data-dir=add]{background:#059669;color:#fff}.seg-toggle .seg.active[data-dir=subtract]{background:#dc2626;color:#fff}.receipt-detail-top{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.receipt-detail-balance{font-size:14px;color:var(--text2);margin-left:auto}.receipt-select-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media (max-width: 760px){.receipt-select-list{grid-template-columns:repeat(3,1fr)}}@media (max-width: 560px){.receipt-select-list{grid-template-columns:repeat(2,1fr)}}@media (max-width: 380px){.receipt-select-list{grid-template-columns:1fr}}.receipt-select-item{position:relative;border:1px solid var(--border);border-radius:var(--radius);padding:14px 12px;cursor:pointer;background:var(--surface);transition:var(--transition);display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.receipt-select-item:hover{background:var(--surface2);border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow)}.receipt-select-no{font-weight:700;font-size:13px;color:var(--text);display:flex;align-items:center;gap:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receipt-select-no i{color:var(--accent);flex-shrink:0}.receipt-select-rem{font-size:12px;color:var(--text3);font-weight:600}.receipt-delete-btn{position:absolute;top:4px;right:4px;opacity:.4;transition:var(--transition);padding:4px 6px}.receipt-delete-btn:hover{opacity:1;color:#ef4444}.receipt-card-header .receipt-edit-input{display:inline-block;width:auto;padding:4px 8px;font-size:13px;height:auto;vertical-align:middle}.receipt-del-col{width:36px;text-align:center;padding:0 4px}.receipt-row-del{opacity:.6;transition:var(--transition);padding:4px 6px}.receipt-row-del:hover{opacity:1;color:#ef4444}.receipt-edit-hint{font-size:12px;color:var(--text3);display:inline-flex;align-items:center;gap:6px}.receipt-download-list{display:flex;flex-direction:column;gap:6px;max-height:52vh;overflow-y:auto}.receipt-download-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:var(--transition)}.receipt-download-item:hover{background:var(--surface2)}.receipt-download-item.selected{border-color:var(--accent);background:var(--accent-soft, rgba(37, 99, 235, .08))}.receipt-download-item input[type=checkbox]{width:16px;height:16px;flex-shrink:0}.receipt-download-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.receipt-download-no{font-weight:700;font-size:14px;color:var(--text);display:flex;align-items:center;gap:6px}.receipt-download-no i{color:var(--accent)}.receipt-download-student{font-size:12px;color:var(--text3)}.receipt-download-rem{font-size:12px;font-weight:600;color:var(--text2);white-space:nowrap}.receipt-card{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.receipt-card-header{background:var(--surface2);padding:14px 16px;font-size:13px;color:var(--text2);display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;border-bottom:1px solid var(--border)}.receipt-card-header .header-label{font-weight:600;color:var(--text3);text-transform:uppercase;font-size:11px;letter-spacing:.3px;margin-right:4px}.receipt-card-rem{margin-left:auto;font-weight:800;font-size:14px;color:var(--accent)}.receipt-card table{width:100%;border-collapse:collapse;font-size:13px}.receipt-card table th{background:var(--surface2);color:var(--text3);padding:9px 12px;text-align:left;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border)}.receipt-card table td{padding:9px 12px;border-bottom:1px solid var(--border2);color:var(--text)}.receipt-card table tr.row-manual td:first-child{box-shadow:inset 3px 0 #eab308}.receipt-card table tr.row-comp td:first-child,.receipt-card table tr.row-promo td:first-child{box-shadow:inset 3px 0 #059669}.receipt-card table tr.row-transfer td:first-child{box-shadow:inset 3px 0 #ef4444}.receipt-card table tr.row-rec td:first-child{box-shadow:inset 3px 0 #be185d}.receipt-card table tr.row-absent td{background:#ef444414}.receipt-card table tr.row-consumed td{color:var(--text3);font-style:italic;background:#94a3b814}.receipt-card table tr.row-edit td{padding:5px}.receipt-card table tr.row-edit td input,.receipt-card table tr.row-edit td textarea{font-size:12px;padding:4px 8px;width:100%;box-sizing:border-box}.receipt-card .card-actions{padding:10px 16px;display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;border-top:1px solid var(--border)}.receipt-card-actions .card-actions-left,.receipt-card-actions .card-actions-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.receipt-card-actions .card-actions-right .btn{min-width:104px;justify-content:center}@media (max-width: 560px){.receipt-card .card-actions{flex-direction:column;align-items:stretch}.receipt-card-actions .card-actions-left,.receipt-card-actions .card-actions-right{justify-content:stretch}.receipt-card-actions .card-actions-left .btn,.receipt-card-actions .card-actions-right .btn{flex:1;justify-content:center}}.receipt-remaining-line{padding:12px 16px;border-top:1px solid var(--border);font-size:15px;font-weight:600;color:var(--text2)}.receipt-remaining-line strong{font-size:18px;font-weight:800;color:var(--accent);margin-left:4px}.receipt-ded-list{padding:10px 16px;display:flex;flex-direction:column;gap:6px;border-top:1px dashed var(--border)}.receipt-ded-line{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:var(--text2);padding:7px 11px;border-radius:8px}.receipt-ded-line.debit{background:#ef44440f}.receipt-ded-line.credit{background:#05966914}.receipt-ded-amt{font-weight:700;white-space:nowrap}.receipt-ded-line.debit .receipt-ded-amt{color:#dc2626}.receipt-ded-line.credit .receipt-ded-amt{color:#059669}.dark .receipt-ded-line.debit{background:#ef44441f}.dark .receipt-ded-line.credit{background:#05966929}.receipt-monthly-banner{margin:10px 16px;padding:12px 14px;border-radius:10px;background:#0596691a;color:#059669;font-weight:700;font-size:14px;display:flex;align-items:center;gap:10px}.dark .receipt-monthly-banner{background:#0596692e;color:#34d399}.status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700;color:#fff}.status-badge-new{background:#ef4444}.status-badge-renew{background:#059669}.status-badge-monthly{background:#38bdf8;color:#0c4a6e}.teacher-color-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:600;color:#fff}.yr-header{text-align:center;font-size:24px;font-weight:800;color:var(--text);margin-bottom:20px;letter-spacing:1px}.yr-table{width:100%;border-collapse:collapse;font-size:13px}.yr-table th{background:#059669;color:#fff;padding:10px 12px;text-align:left;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.3px}.dark .yr-table th{background:#065f46}.yr-table td{padding:9px 12px;border-bottom:1px solid var(--border2);color:var(--text)}.yr-table tr:hover td{background:var(--surface2)}.yr-editable{border-radius:6px;transition:background .15s,box-shadow .15s}.yr-table.yr-editing td.yr-editable{cursor:text;background:var(--surface2);box-shadow:inset 0 0 0 1px var(--border)}.yr-table.yr-editing td.yr-editable:hover{background:var(--accent-light);box-shadow:inset 0 0 0 1px var(--accent)}.yr-edit-input{font-size:13px;padding:6px 8px;width:100%;min-width:50px;box-sizing:border-box;border:1px solid var(--accent);border-radius:6px;background:var(--surface);color:var(--text);outline:none}.yr-edit-input:focus{box-shadow:0 0 0 3px var(--accent-light)}#yr-edit-btn,#yr-save-btn,#yr-cancel-btn{min-width:120px;justify-content:center}#receipt-detail-body{padding:18px 24px 24px}@media (max-width: 768px){#receipt-detail-body{padding:14px 16px 18px}}@media (max-width: 768px){.receipt-card table{font-size:11px}.receipt-card table th,.receipt-card table td{padding:5px 6px}}.skeleton{position:relative;overflow:hidden;background:color-mix(in srgb,var(--border) 42%,var(--surface));border-radius:6px}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface) 70%,transparent),transparent);animation:skeleton-shimmer 1.3s ease-in-out infinite}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.skeleton:after{animation:none}}.skeleton-tr td{padding:12px 14px}.skeleton-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.skeleton-cards{display:flex;flex-direction:column;gap:16px}.skeleton-cards>.card{margin:0;width:100%}.skeleton-calendar .skeleton-cal-head{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:10px}.skeleton-calendar .skeleton-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}#remaining-tab-bar .tab-btn{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0}#remaining-tab-bar .tab-btn i{flex-shrink:0}#remaining-tab-bar .tab-btn .tab-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 820px){#remaining-tab-bar .tab-btn{flex:0 0 auto}#remaining-tab-bar .tab-btn:not(.active) .tab-label{display:none}#remaining-tab-bar .tab-btn.active{flex:1 1 auto;min-width:0}}.multi-student-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.multi-student-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;background:var(--surface2);border:1px solid var(--border);border-radius:999px;font-size:13px;font-weight:600;color:var(--text)}.multi-student-chip button{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:50%;background:var(--border);color:var(--text2);cursor:pointer;font-size:11px;line-height:1}.multi-student-chip button:hover{background:var(--red, #dc2626);color:#fff}.student-picker-item.picked{background:color-mix(in srgb,var(--accent) 14%,var(--surface))}@media (max-width: 768px){.mobile-nav{justify-content:space-between;gap:6px;padding-left:10px;padding-right:10px}.mobile-nav-tabs{margin:0 auto;max-width:100%;min-width:0;flex-shrink:1}.mobile-nav>.mobile-hamburger-btn,.mobile-nav>.notif-bell-wrap{flex-shrink:0}}.notif-dropdown-list{overscroll-behavior:contain}@media (max-width: 600px){.notif-dropdown.open{position:fixed;top:calc(52px + var(--safe-top, 0px));left:0;right:0;bottom:var(--safe-bottom, 0px);width:auto;max-width:none;max-height:none;margin-top:0;border-radius:0;border-left:none;border-right:none;border-bottom:none}.notif-dropdown-list{max-height:none;height:calc(100vh - 52px - var(--safe-top, 0px) - var(--safe-bottom, 0px) - 53px)}}.public-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text)}.public-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:20}.public-header-brand,.site-footer-brand,.public-header .public-header-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:var(--text);text-decoration:none}.public-header-brand img{width:34px;height:34px;border-radius:8px}.public-header-actions{display:flex;align-items:center;gap:10px}.legal-doc{flex:1;width:100%;max-width:820px;margin:0 auto;padding:32px 24px 56px;line-height:1.65}.legal-doc h1{font-size:30px;margin-bottom:6px}.legal-doc .legal-meta{color:var(--text3);margin-bottom:24px}.legal-doc h2{font-size:19px;margin:26px 0 8px;color:var(--text)}.legal-doc p{color:var(--text2);margin:8px 0}.legal-doc ol,.legal-doc ul{margin:8px 0 8px 4px;padding-left:22px;color:var(--text2)}.legal-doc ol li,.legal-doc ul li{margin:4px 0}.legal-doc a{color:var(--accent);text-decoration:underline}.landing main{flex:1}.landing-header{background:transparent;border-bottom:none;position:absolute;width:100%;z-index:20}.landing-header .public-header-brand{color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.45)}.landing-hero{position:relative;min-height:78vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:96px 24px 64px;overflow:hidden;color:#fff}.landing-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.landing-hero-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f172a9e,#0f172ad1)}.landing-hero-bg video{width:100%;height:100%;object-fit:cover}.landing-hero-inner{position:relative;z-index:1;max-width:760px}.landing-hero-logo{width:76px;height:76px;border-radius:18px;box-shadow:0 8px 30px #00000059;margin-bottom:18px}.landing-hero h1{font-size:clamp(30px,5vw,46px);margin-bottom:16px}.landing-lead{font-size:clamp(15px,2.2vw,18px);line-height:1.7;color:#ffffffeb}.landing-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:stretch;margin-top:28px}.landing-cta .btn{min-width:190px;justify-content:center;text-align:center}.landing-section{max-width:1080px;margin:0 auto;padding:56px 24px}.landing-section-alt{background:var(--surface);max-width:none}.landing-section-alt>h2,.landing-section-alt>.landing-grid{max-width:1080px;margin-left:auto;margin-right:auto}.landing-section h2{font-size:clamp(22px,3.4vw,30px);text-align:center;margin-bottom:32px}.landing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.landing-grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.landing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;text-align:center;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.landing-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent)}.landing-section-alt .landing-card{background:var(--bg)}.landing-card-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:var(--accent-light);color:var(--accent);font-size:22px;margin-bottom:14px}.landing-card h3{font-size:17px;margin-bottom:8px}.landing-card p{color:var(--text2);font-size:14px;line-height:1.6}.landing-data{max-width:820px;margin:0 auto;padding:26px;line-height:1.7}.landing-data p{color:var(--text2);margin:0 0 14px}.landing-data p:last-child{margin-bottom:0}.landing-data a{color:var(--accent);text-decoration:underline}#root>div.public-page.landing>main>section.landing-hero>div.landing-hero-inner>div>a.btn.btn-primary{margin-top:0}.site-footer{border-top:1px solid var(--border);background:var(--surface);color:var(--text2);margin-top:auto}.site-footer-inner{max-width:1080px;margin:0 auto;padding:24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.site-footer-brand{font-size:16px}.site-footer-logo{width:32px;height:32px;border-radius:8px}.site-footer-name{font-weight:800;font-size:15px;color:var(--text)}.site-footer-tag{font-size:12px;color:var(--text3)}.site-footer-links{display:flex;align-items:center;gap:8px;font-size:13px}.site-footer-links a{color:var(--text2);text-decoration:none}.site-footer-links a:hover{color:var(--accent);text-decoration:underline}.site-footer-dot{color:var(--text3)}.site-footer-contact a{color:var(--text2);text-decoration:none;font-size:13px}.site-footer-contact a:hover{color:var(--accent)}.site-footer-copy{width:100%;text-align:center;font-size:12px;color:var(--text3);border-top:1px solid var(--border);padding-top:14px}@media (max-width: 640px){.site-footer-inner{flex-direction:column;text-align:center}}.logs-modal-body{display:flex;flex-direction:column;gap:12px;min-height:0}.logs-search{position:relative;display:flex;align-items:center}.logs-search>i{position:absolute;left:12px;color:var(--text3);pointer-events:none;font-size:13px}.logs-search .form-control{padding-left:34px;padding-right:34px}.logs-search-clear{position:absolute;right:8px;background:none;border:none;color:var(--text3);cursor:pointer;font-size:15px;padding:4px;line-height:1}.logs-search-clear:hover{color:var(--text)}.logs-date-filter{position:relative;display:flex;align-items:center}.logs-date-filter>i{position:absolute;left:12px;color:var(--text3);pointer-events:none;font-size:13px}.logs-date-filter .form-control{padding-left:34px;padding-right:34px}.log-link{color:var(--accent);text-decoration:underline;word-break:break-all}.log-link:hover{color:var(--text)}.log-link-list{display:flex;flex-wrap:wrap;gap:10px}.log-line-list{display:flex;flex-direction:column;gap:2px}.log-line{word-break:break-word}.logs-scroll{overflow-y:auto;max-height:min(60vh,520px);display:flex;flex-direction:column;gap:10px;padding:2px;-webkit-overflow-scrolling:touch}.log-item{border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface2);padding:10px 12px}.log-item.log-failed{border-left-color:var(--red)}.log-item-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.log-action{font-weight:700;font-size:14px;color:var(--text)}.log-time{margin-left:auto;font-size:11px;color:var(--text3);white-space:nowrap}.log-badge{font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px;text-transform:uppercase;letter-spacing:.4px}.log-badge-fail{background:var(--red-light);color:var(--red)}.log-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px;font-size:12px;color:var(--text2)}.log-actor{font-weight:600;color:var(--text)}.log-role{font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px;text-transform:uppercase;letter-spacing:.4px;background:var(--accent-light);color:var(--accent)}.log-role-teacher{background:var(--green-light);color:var(--green)}.log-role-guest{background:var(--surface);color:var(--text3)}.log-route{font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text3);word-break:break-all}.log-toggle{margin-top:8px;display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;padding:0}.log-details{margin-top:8px;border-top:1px dashed var(--border);padding-top:8px;display:grid;gap:4px}.log-detail-row{display:grid;grid-template-columns:minmax(90px,28%) 1fr;gap:10px;font-size:12px}.log-detail-row dt{font-weight:600;color:var(--text2);word-break:break-word}.log-detail-row dd{color:var(--text);word-break:break-word;white-space:pre-wrap}.logs-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;color:var(--text3);font-size:13px}.logs-sentinel{height:1px}@media (max-width: 560px){.log-detail-row{grid-template-columns:1fr;gap:1px}.log-time{margin-left:0;width:100%}}.annual-summary-head{margin-bottom:18px}.annual-summary-eyebrow{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text3)}.annual-summary-year{margin:2px 0 0;font-size:clamp(24px,5vw,30px);font-weight:800;letter-spacing:-.5px;color:var(--text)}@keyframes annualFadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.annual-anim{opacity:0;animation:annualFadeUp .5s cubic-bezier(.22,1,.36,1) forwards}@media (prefers-reduced-motion: reduce){.annual-anim{animation:none;opacity:1}}.annual-summary .stat-card{display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease}.annual-summary .stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.annual-summary .stat-value{font-size:clamp(24px,4.5vw,30px);font-variant-numeric:tabular-nums}.stat-card .stat-unit{font-size:15px;font-weight:600;color:var(--text2);margin-left:2px}.annual-delta{display:inline-flex;align-items:center;gap:5px;margin-top:9px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:700;width:fit-content}.annual-delta-good{background:var(--green-light);color:var(--green)}.annual-delta-bad{background:var(--red-light);color:var(--red)}.annual-delta-flat{background:var(--surface2);color:var(--text3)}.annual-lower{display:grid;grid-template-columns:1fr;gap:14px;margin-top:4px}.annual-dist-card,.annual-highlights{margin:0}.annual-dist-title{font-size:clamp(15px,1.6vw,18px);font-weight:700;color:var(--text);margin-bottom:16px;text-align:center}.annual-dist-body{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-evenly;gap:28px}.annual-move-block{display:flex;flex-direction:column;align-items:center;gap:14px;flex:1 1 240px;max-width:380px}.annual-move-subtitle{font-size:13px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.5px}.annual-move-empty{color:var(--text3);font-size:13px;text-align:center;padding:24px 0}.annual-donut{width:clamp(150px,15vw,190px);height:clamp(150px,15vw,190px);flex-shrink:0;transform-origin:center;animation:annualDonutIn .7s cubic-bezier(.22,1,.36,1) both}@keyframes annualDonutIn{0%{opacity:0;transform:rotate(-12deg) scale(.85)}to{opacity:1;transform:rotate(0) scale(1)}}.annual-donut-seg{transition:stroke-dasharray .6s ease}.annual-donut-value{fill:var(--text);font-size:22px;font-weight:800}.annual-donut-label{fill:var(--text3);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}@media (prefers-reduced-motion: reduce){.annual-donut{animation:none}.annual-donut-seg{transition:none}}.annual-dist-legend{display:flex;flex-direction:column;gap:10px;min-width:150px}.annual-dist-legend-item{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text2)}.annual-dist-legend-item strong{color:var(--text);margin-left:auto}.annual-dist-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}@keyframes annualShine{0%{background-position:0% 0}to{background-position:100% 0}}@keyframes annualShineBox{0%{background-position:0% 0,0 0}to{background-position:100% 0,0 0}}.annual-summary i.fa-solid{background:linear-gradient(110deg,currentColor 0%,currentColor 32%,color-mix(in srgb,currentColor 42%,#fff) 50%,currentColor 68%,currentColor 100%);background-size:220% 100%;background-position:0% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:annualShine 2.5s ease-in-out infinite alternate}@media (prefers-reduced-motion: reduce){.annual-summary i.fa-solid{animation:none;background:none;-webkit-text-fill-color:currentColor}}.annual-highlights{display:grid;grid-template-columns:repeat(4,minmax(0,200px));justify-content:center;gap:12px;align-content:start}.annual-highlights .annual-dist-title{grid-column:1 / -1;margin-bottom:2px}.annual-hl-row{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:16px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface2)}.annual-hl-icon{font-size:20px;width:42px;height:42px;border-radius:12px;background:var(--surface);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.annual-hl-value{font-size:22px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}.annual-hl-value small{font-size:13px;font-weight:600;color:var(--text2)}.annual-hl-label{font-size:12.5px;color:var(--text2);margin-top:1px}.annual-chart-card{margin:14px 0 0}.annual-chart-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:16px}.annual-metric-toggle{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden}.annual-metric-toggle button{border:none;background:var(--surface);color:var(--text2);font:inherit;font-size:12.5px;font-weight:600;padding:5px 14px;cursor:pointer;transition:background .15s ease,color .15s ease}.annual-metric-toggle button.active{background:var(--accent);color:#fff}.annual-chart{display:flex;align-items:flex-end;gap:2%;height:180px;padding-top:18px}.annual-chart-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;min-width:0}.annual-chart-bar-wrap{flex:1;width:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}.annual-chart-bar{width:72%;max-width:34px;min-height:2px;height:0;background:linear-gradient(110deg,transparent 32%,color-mix(in srgb,#fff 48%,transparent) 50%,transparent 68%),linear-gradient(180deg,color-mix(in srgb,var(--accent) 80%,#fff),var(--accent),var(--accent-dark));background-size:220% 100%,100% 100%;background-position:0% 0,0 0;border-radius:6px 6px 0 0;transition:height .7s cubic-bezier(.22,1,.36,1);animation:annualShineBox 2.5s ease-in-out infinite alternate}.annual-chart-col:hover .annual-chart-bar{filter:brightness(1.08)}@media (prefers-reduced-motion: reduce){.annual-chart-bar{animation:none;background-position:50% 0,0 0}}.annual-chart-val{font-size:10.5px;font-weight:700;color:var(--text2);margin-bottom:4px;white-space:nowrap;font-variant-numeric:tabular-nums}.annual-chart-label{font-size:11px;color:var(--text3);margin-top:6px}@media (prefers-reduced-motion: reduce){.annual-chart-bar{transition:none}}.annual-boards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.annual-board{margin:0}.annual-rank{list-style:none;margin:0;padding:0}.annual-rank li{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.annual-rank li:last-child{border-bottom:none}.annual-rank-num{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;background:var(--surface2);color:var(--text2)}.annual-rank-1{background:var(--yellow);color:#fff}.annual-rank-2{background:#c0c7d1;color:#fff}.annual-rank-3{background:#d8a05a;color:#fff}.annual-rank-name{font-weight:600;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.annual-rank-meta{flex-shrink:0;font-size:12.5px;color:var(--text2);text-align:right}.annual-rank-meta strong{color:var(--text)}.annual-rank-sub{color:var(--red)}.annual-rank-perfect{color:var(--green)}.annual-lists{align-items:start}.annual-lists-col{display:flex;flex-direction:column;gap:14px;min-width:0}.annual-list-card .annual-dist-title{display:flex;align-items:center;justify-content:center}.annual-list-count{margin-left:8px;min-width:22px;padding:1px 8px;border-radius:999px;background:var(--surface2);color:var(--text2);font-size:12px;font-weight:700}.annual-namelist{list-style:none;margin:0;padding:0;max-height:320px;overflow-y:auto}.annual-namelist li{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--border)}.annual-namelist li:last-child{border-bottom:none}.annual-namelist-name{font-weight:600;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.annual-tag{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:700}.annual-tag i{font-size:10.5px}.annual-tag-date{font-weight:600;opacity:.8}.annual-tag-left{background:var(--red-light);color:var(--red)}.annual-tag-inactive{background:var(--yellow-light);color:var(--yellow)}.annual-tag-new,.annual-tag-monthly{background:var(--green-light);color:var(--green)}.annual-tag-cancel{background:var(--red-light);color:var(--red)}.annual-view-details{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--accent);cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.annual-view-details:hover{background:var(--accent-light);border-color:var(--accent);transform:translateY(-1px)}.annual-mf-head{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--text);padding:4px 0 14px;border-bottom:1px solid var(--border);margin-bottom:10px}.annual-mf-head i{color:var(--green);font-size:18px}.annual-mf-list{list-style:none;margin:0;padding:0;max-height:420px;overflow-y:auto}.annual-mf-list li{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-bottom:1px solid var(--border)}.annual-mf-list li:last-child{border-bottom:none}.annual-mf-ord{font-weight:700;color:var(--accent);font-size:13px}.annual-mf-detail{font-size:13px;color:var(--text2);word-break:break-word}.remaining-active-mf{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin-bottom:14px;border:1px solid var(--green);border-radius:var(--radius-sm);background:var(--green-light);color:var(--text);font-size:13.5px;line-height:1.45}.remaining-active-mf i{color:var(--green);font-size:16px;margin-top:1px}.annual-download-btn{flex-shrink:0}.annual-dl-years{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}.annual-dl-year{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;font-weight:600;color:var(--text);transition:border-color .15s ease,background .15s ease}.annual-dl-year:hover{border-color:var(--accent)}.annual-dl-year.selected{border-color:var(--accent);background:var(--accent-light)}.annual-dl-year i{color:var(--accent)}.annual-dl-year input{accent-color:var(--accent)}@media (max-width: 820px){.annual-lower,.annual-boards{grid-template-columns:1fr}}@media (max-width: 560px){.annual-summary .stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.annual-summary .stat-card{padding:14px}.annual-dist-body{justify-content:center}.annual-chart{height:160px}.annual-chart-val{font-size:9px}}@media (max-width: 460px){.annual-chart{height:176px}.annual-chart-val{writing-mode:vertical-rl;transform:rotate(180deg);font-size:8.5px;margin-bottom:2px}}@media (max-width: 700px){.annual-highlights{grid-template-columns:repeat(2,minmax(0,240px))}}@media (max-width: 360px){.annual-summary .stats-grid{grid-template-columns:1fr}}
