:root{--butterpop-font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--butterpop-border-radius:8px;--butterpop-box-shadow:0 4px 12px #00000026;--butterpop-z-index:9999;--butterpop-bg-default:#fff;--butterpop-text-default:#333;--butterpop-success-color:#4caf50;--butterpop-error-color:#f44336;--butterpop-warning-color:#ff9800;--butterpop-info-color:#2196f3;--butterpop-anim-duration:.3s}.butterpop-container{z-index:var(--butterpop-z-index);pointer-events:none;flex-direction:column;max-width:100%;display:flex;position:fixed}.butterpop-container.top-left{align-items:flex-start;top:16px;left:16px}.butterpop-container.top-right{align-items:flex-end;top:16px;right:16px}.butterpop-container.bottom-left{align-items:flex-start;bottom:16px;left:16px}.butterpop-container.bottom-right{align-items:flex-end;bottom:16px;right:16px}.butterpop-container.top-center{align-items:center;top:16px;left:50%;transform:translate(-50%)}.butterpop-container.bottom-center{align-items:center;bottom:16px;left:50%;transform:translate(-50%)}.butterpop-container.center{align-items:center;top:50%;left:50%;transform:translate(-50%,-50%)}.butterpop-toast{border-radius:var(--butterpop-border-radius);box-shadow:var(--butterpop-box-shadow);box-sizing:border-box;pointer-events:auto;transform-origin:50%;width:100%;max-width:400px;transition:transform var(--butterpop-anim-duration) ease-out, opacity var(--butterpop-anim-duration) ease-out;font-family:var(--butterpop-font);cursor:default;align-items:center;margin-bottom:12px;padding:12px 16px;display:flex;position:relative;overflow:hidden}.butterpop-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-right:12px;display:flex}.butterpop-content{flex:1;min-width:0}.butterpop-message{word-wrap:break-word;margin:0;padding:0;font-size:14px;line-height:1.5}.butterpop-close{cursor:pointer;color:inherit;opacity:.5;background:0 0;border:none;justify-content:center;align-items:center;margin-left:8px;padding:4px;font-size:18px;transition:opacity .2s;display:flex}.butterpop-close:hover{opacity:1}.butterpop-progress{transform-origin:0;background:var(--butterpop-progress-color,#2196f3);width:100%;height:4px;transition:transform linear;position:absolute;bottom:0;left:0;transform:scaleX(0)}.butterpop-actions{gap:8px;margin-top:8px;display:flex}.butterpop-action-btn{cursor:pointer;background:#0000001a;border:none;border-radius:4px;padding:4px 8px;font-size:12px;transition:background .2s}.butterpop-action-btn:hover{background:#0003}.butterpop-enter{opacity:0;transform:translateY(20px)}.butterpop-exit{opacity:0;pointer-events:none;transform:translateY(-20px)}.butterpop-toast.success{border-left:4px solid var(--butterpop-success-color);color:var(--butterpop-success-color);background-color:#4caf501a}.butterpop-toast.error{border-left:4px solid var(--butterpop-error-color);color:var(--butterpop-error-color);background-color:#f443361a}.butterpop-toast.warning{border-left:4px solid var(--butterpop-warning-color);color:var(--butterpop-warning-color);background-color:#ff98001a}.butterpop-toast.info{border-left:4px solid var(--butterpop-info-color);color:var(--butterpop-info-color);background-color:#2196f31a}.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{color:#333;background:#fff;border-left:none;border-radius:3px;box-shadow:0 1px 3px #0000001f}.butterpop-toast.theme-dark{color:#fff;background:#333;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{color:#343a40;background:#f8f9fa;border:1px solid #dee2e6;border-left:4px solid}.butterpop-toast.theme-glassmorphism{-webkit-backdrop-filter:blur(12px)saturate(180%);background:#ffffff26;border:1px solid #ffffff2e;box-shadow:0 8px 32px #0000001a}.butterpop-toast.theme-neon{color:#fff;background:#000000d9;border:none;box-shadow:0 0 10px 2px}.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{color:#333;background:#fff;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{text-transform:uppercase;letter-spacing:.4px;background:#ffffff1a;font-size:11px;font-weight:500}.butterpop-toast.theme-gradient{color:#fff;border:none}.butterpop-toast.theme-gradient.success{background:linear-gradient(135deg,#43a047 0%,#2e7d32 100%)}.butterpop-toast.theme-gradient.error{background:linear-gradient(135deg,#e53935 0%,#c62828 100%)}.butterpop-toast.theme-gradient.warning{background:linear-gradient(135deg,#fb8c00 0%,#ef6c00 100%)}.butterpop-toast.theme-gradient.info{background:linear-gradient(135deg,#039be5 0%,#0277bd 100%)}.butterpop-toast.theme-rounded{border-radius:50px;padding:12px 20px}.butterpop-toast.theme-rounded.success{color:var(--butterpop-success-color);background-color:#4caf501a;border:1px solid #4caf504d}.butterpop-toast.theme-rounded.error{color:var(--butterpop-error-color);background-color:#f443361a;border:1px solid #f443364d}.butterpop-toast.theme-rounded.warning{color:var(--butterpop-warning-color);background-color:#ff98001a;border:1px solid #ff98004d}.butterpop-toast.theme-rounded.info{color:var(--butterpop-info-color);background-color:#2196f31a;border:1px solid #2196f34d}.butterpop-toast.theme-neumorphism{color:#333;background:#e0e0e0;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{color:#e0e0e0;background:#2c2c2c;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:0 0;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{color:#e0e0e0;box-shadow:3px 3px 6px #222,-3px -3px 6px #383838}.butterpop-toast.theme-retro{color:#2c2c2c;background:#ffe8d8;border:3px solid #2c2c2c;border-radius:1px;font-family:Courier New,monospace;box-shadow:5px 5px #2c2c2c}.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{color:#fff;background:#2c2c2c;border:1px solid #2c2c2c;border-radius:1px;box-shadow:2px 2px #000}@media (width<=480px){.butterpop-container{box-sizing:border-box;width:100%;padding:0 16px}.butterpop-toast{width:100%;max-width:100%;margin-bottom:8px;padding:12px 14px}.butterpop-container.top-left,.butterpop-container.top-right,.butterpop-container.top-center{align-items:center;top:10px;left:0;right:0;transform:none}.butterpop-container.bottom-left,.butterpop-container.bottom-right,.butterpop-container.bottom-center{align-items:center;bottom:10px;left:0;right:0;transform:none}.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 (width>=481px) and (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-offset:2px;outline:2px solid #2684ff}.butterpop-container[data-max-visible] .butterpop-toast:nth-child(n+6){opacity:0;border:none;height:0;margin:0;padding:0;overflow:hidden}.butterpop-toast.theme-cyberpunk{color:#00fff9;text-shadow:0 0 5px #00fff9;background:#0d0221;border:1px solid #ff00a0;border-radius:2px;font-family:Orbitron,sans-serif;position:relative;box-shadow:0 0 10px #ff00a0,0 0 20px #ff00a066}.butterpop-toast.theme-cyberpunk:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(90deg,#0000 0%,#ff00a01a 50%,#0000 100%);width:100%;height:100%;animation:2s ease-in-out infinite cyberpunk-scan;position:absolute;top:0;left:0}@keyframes cyberpunk-scan{0%{transform:translate(-100%)}to{transform:translate(100%)}}.butterpop-toast.theme-cyberpunk .butterpop-icon{color:#ff00a0}.butterpop-toast.theme-cyberpunk.success{color:#0f0;text-shadow:0 0 5px #0f0;border-color:#0f0;box-shadow:0 0 10px #0f0,0 0 20px #0f06}.butterpop-toast.theme-cyberpunk.error{color:red;text-shadow:0 0 5px red;border-color:red;box-shadow:0 0 10px red,0 0 20px #f006}.butterpop-toast.theme-cyberpunk.warning{color:#ff0;text-shadow:0 0 5px #ff0;border-color:#ff0;box-shadow:0 0 10px #ff0,0 0 20px #ff06}.butterpop-toast.theme-cyberpunk.info{color:#00fff9;text-shadow:0 0 5px #00fff9;border-color:#00fff9;box-shadow:0 0 10px #00fff9,0 0 20px #00fff966}.butterpop-toast.theme-cyberpunk .butterpop-action-btn{color:#00fff9;text-shadow:0 0 5px #00fff9;background:0 0;border:1px solid #ff00a0;transition:all .2s;box-shadow:0 0 5px #ff00a0}.butterpop-toast.theme-cyberpunk .butterpop-action-btn:hover{background:#ff00a033;box-shadow:0 0 10px #ff00a0}.butterpop-toast.theme-cyberpunk .butterpop-progress{background:linear-gradient(90deg,#ff00a0,#00fff9);height:2px}.butterpop-toast.theme-pastel{color:#5b5b5b;background:#fef6f6;border:none;border-radius:12px;font-family:Quicksand,sans-serif;box-shadow:0 4px 15px #0000000d}.butterpop-toast.theme-pastel.success{color:#5b5b5b;background:#e8f7ee}.butterpop-toast.theme-pastel.success .butterpop-icon{color:#a8d5ba}.butterpop-toast.theme-pastel.error{color:#5b5b5b;background:#fdeeee}.butterpop-toast.theme-pastel.error .butterpop-icon{color:#e2a8a8}.butterpop-toast.theme-pastel.warning{color:#5b5b5b;background:#fff8e8}.butterpop-toast.theme-pastel.warning .butterpop-icon{color:#e6c987}.butterpop-toast.theme-pastel.info{color:#5b5b5b;background:#e8f4ff}.butterpop-toast.theme-pastel.info .butterpop-icon{color:#a8c6e2}.butterpop-toast.theme-pastel .butterpop-action-btn{color:#5b5b5b;background:#fff;border:none;border-radius:8px;padding:5px 10px;font-family:Quicksand,sans-serif;font-weight:500;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{border-radius:3px;height: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{color:#3f3;box-shadow:none;background:#0c0c0c;border:1px solid #333;border-radius:0;padding:14px 20px;font-family:Consolas,Courier New,monospace}.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{color:inherit;text-transform:uppercase;background:#333;border:none;border-radius:0;font-family:Consolas,Courier New,monospace}.butterpop-toast.theme-terminal .butterpop-action-btn:hover{background:#444}.butterpop-toast.theme-terminal .butterpop-progress{opacity:.5;background-color:currentColor;height:1px}.butterpop-toast.theme-elegant{color:#222;background:#fdfdfd;border:none;border-bottom:2px solid #a0a0a0;border-radius:2px;padding:18px 22px;font-family:Georgia,serif;box-shadow:0 4px 12px #00000014}.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{color:#222;background:0 0;border:1px solid #a0a0a0;padding:5px 12px;font-family:Georgia,serif;font-size:13px;font-style:italic;transition:all .2s}.butterpop-toast.theme-elegant .butterpop-action-btn:hover{background:#0000000d;transform:translateY(-1px)}.butterpop-toast.theme-elegant .butterpop-progress{opacity:.7;background-color:#a0a0a0;height:2px}.butterpop-toast.theme-bubble{color:#333;background:#fff;border:none;border-radius:30px;padding:14px 22px;font-family:Nunito,Segoe UI,sans-serif;position:relative;box-shadow:0 6px 20px #0000001a}.butterpop-toast.theme-bubble:before{content:"";background:inherit;z-index:-1;width:16px;height:16px;position:absolute;bottom:-8px;left:24px;transform:rotate(45deg);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{color:#333;background:#fff;border:none;border-radius:20px;padding:6px 14px;font-size:12px;font-weight:600;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{background:linear-gradient(90deg,#ffffffb3,#fff6);border-radius:2px;height:4px}.butterpop-toast.theme-forest{color:#d4e7c5;background:#2e4537;border:2px solid #8bbc6f;border-radius:6px;font-family:Verdana,sans-serif;box-shadow:0 4px 12px #0003}.butterpop-toast.theme-forest:after{content:"";opacity:.1;pointer-events:none;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");position:absolute;inset:0}.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{color:#d4e7c5;background:#1c2b22;border:1px solid #8bbc6f;border-radius:4px;padding:4px 10px;font-size:12px}.butterpop-toast.theme-forest .butterpop-action-btn:hover{background:#243528;border-color:#a1d683}.butterpop-toast.theme-forest .butterpop-progress{opacity:.8;background-color:#8bbc6f;height:3px}.butterpop-toast.theme-futuristic{color:#ecf0f1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#17202af2 0%,#283747f2 100%);border:none;border-radius:8px;font-family:Roboto,Segoe UI,sans-serif;position:relative;overflow:hidden;box-shadow:0 12px 24px #0000004d,inset 0 0 0 1px #ffffff1a}.butterpop-toast.theme-futuristic:before{content:"";background:linear-gradient(#3498db,#2980b9);width:4px;height:100%;position:absolute;top:0;left:0}.butterpop-toast.theme-futuristic .butterpop-message{letter-spacing:.3px;font-size:14px;font-weight:400;line-height:1.5}.butterpop-toast.theme-futuristic .butterpop-icon{color:#3498db;background:#ffffff1a;border-radius:50%;margin-right:15px;padding:6px}.butterpop-toast.theme-futuristic.success .butterpop-icon{color:#2ecc71}.butterpop-toast.theme-futuristic.success:before{background:linear-gradient(#2ecc71,#27ae60)}.butterpop-toast.theme-futuristic.error .butterpop-icon{color:#e74c3c}.butterpop-toast.theme-futuristic.error:before{background:linear-gradient(#e74c3c,#c0392b)}.butterpop-toast.theme-futuristic.warning .butterpop-icon{color:#f39c12}.butterpop-toast.theme-futuristic.warning:before{background:linear-gradient(#f39c12,#d35400)}.butterpop-toast.theme-futuristic.info .butterpop-icon{color:#3498db}.butterpop-toast.theme-futuristic.info:before{background:linear-gradient(#3498db,#2980b9)}.butterpop-toast.theme-futuristic .butterpop-action-btn{color:#ecf0f1;text-transform:uppercase;letter-spacing:.5px;background:#3498db33;border:1px solid #3498db66;border-radius:4px;padding:6px 12px;font-size:11px;transition:all .2s}.butterpop-toast.theme-futuristic .butterpop-action-btn:hover{background:#3498db66;transform:translateY(-2px)}.butterpop-toast.theme-futuristic .butterpop-progress{background:linear-gradient(90deg,#3498db,#2ecc71);height:3px}.butterpop-toast.theme-comic{color:#333;background-color:#fff;border:3px solid #000;border-radius:4px;padding:15px 20px;font-family:Comic Sans MS,Chalkboard SE,cursive;position:relative;transform:rotate(.5deg);box-shadow:6px 6px #000}.butterpop-toast.theme-comic:before{content:"";background:#fff;border:3px solid #000;border-radius:50% 50% 50% 0;width:30px;height:25px;position:absolute;top:-10px;right:20px;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{margin-right:15px;transform:scale(1.2)}.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{color:#000;background:#fff;border:2px solid #000;border-radius:4px;padding:4px 10px;font-family:Comic Sans MS,Chalkboard SE,cursive;font-weight:700;transition:all .1s;transform:rotate(-1deg);box-shadow:2px 2px #000}.butterpop-toast.theme-comic .butterpop-action-btn:hover{background:#f0f0f0;transform:rotate(1deg)}.butterpop-toast.theme-comic .butterpop-close{font-size:20px;font-weight:700}.butterpop-toast.theme-comic .butterpop-progress{opacity:.3;background-color:#000;border-radius:3px;height:6px}.butterpop-toast.theme-luxury{color:#d4af37;background:linear-gradient(135deg,#111 0%,#333 100%);border:1px solid #d4af37;border-radius:3px;padding:18px 22px;font-family:Playfair Display,Times New Roman,serif;position:relative;overflow:hidden;box-shadow:0 8px 20px #0000004d}.butterpop-toast.theme-luxury:after{content:"";background:linear-gradient(90deg,#0000,#d4af37,#0000);height:1px;position:absolute;top:0;left:0;right:0}.butterpop-toast.theme-luxury .butterpop-message{letter-spacing:.5px;font-size:15px;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{color:#d4af37;letter-spacing:1px;text-transform:uppercase;background:0 0;border:1px solid #d4af37;border-radius:0;padding:5px 15px;font-family:Playfair Display,Times New Roman,serif;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{background:linear-gradient(90deg,#0000,#d4af37,#0000);height:1px;box-shadow:0 0 5px #d4af37}.butterpop-toast.theme-neon-brutalism{color:#fff;text-transform:uppercase;letter-spacing:1px;background:#000;border:4px solid #f0f;border-radius:0;flex-wrap:wrap;margin:15px;padding:16px 20px;font-family:Impact,Arial Black,sans-serif;animation:1.5s infinite alternate neon-pulse;position:relative;transform:skew(-5deg)rotate(1deg);box-shadow:10px 10px #f0f,-10px -10px #0ff,0 0 20px #ff00ffb3}@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:"";pointer-events:none;z-index:1;border:2px dashed #ffffffb3;animation:20s linear infinite dash-rotate;position:absolute;inset:5px}@keyframes dash-rotate{0%{background-position:0 0}to{background-position:50px 50px}}.butterpop-toast.theme-neon-brutalism:after{content:"";z-index:-1;background:#f0f;width:20px;height:20px;animation:3s infinite alternate corner-flash;position:absolute;top:-10px;right:-10px}@keyframes corner-flash{0%{opacity:1;transform:scale(1)}to{opacity:.7;transform:scale(1.5)}}.butterpop-toast.theme-neon-brutalism .butterpop-content{z-index:2;position:relative}.butterpop-toast.theme-neon-brutalism .butterpop-message{text-shadow:4px 4px #f0f,-4px -4px #0ff;font-size:16px;font-weight:700;position:relative;transform:translate(2px)}.butterpop-toast.theme-neon-brutalism .butterpop-icon{filter:drop-shadow(0 0 8px #f0f);margin-right:15px;transform:rotate(-5deg)scale(1.2)}.butterpop-toast.theme-neon-brutalism.success{border-color:#0f0;animation:1.5s infinite alternate success-pulse;box-shadow:10px 10px #0f0,-10px -10px #0cb,0 0 20px #00ff00b3}@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 #0f0,-4px -4px #0cb}.butterpop-toast.theme-neon-brutalism.success:after{background:#0f0}.butterpop-toast.theme-neon-brutalism.error{border-color:red;animation:1.5s infinite alternate error-pulse;box-shadow:10px 10px red,-10px -10px #f0f,0 0 20px #ff0000b3}@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 red,-4px -4px #f0f}.butterpop-toast.theme-neon-brutalism.error:after{background:red}.butterpop-toast.theme-neon-brutalism.warning{border-color:#ff0;animation:1.5s infinite alternate warning-pulse;box-shadow:10px 10px #ff0,-10px -10px #fa0,0 0 20px #ffff00b3}@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 #ff0,-4px -4px #fa0}.butterpop-toast.theme-neon-brutalism.warning:after{background:#ff0}.butterpop-toast.theme-neon-brutalism.info{border-color:#0ff;animation:1.5s infinite alternate info-pulse;box-shadow:10px 10px #0ff,-10px -10px #0af,0 0 20px #00ffffb3}@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 #0ff,-4px -4px #0af}.butterpop-toast.theme-neon-brutalism.info:after{background:#0ff}.butterpop-toast.theme-neon-brutalism .butterpop-action-btn{color:#fff;text-transform:uppercase;text-shadow:2px 2px #f0f;background:#000;border:3px solid #f0f;margin-top:8px;margin-right:6px;padding:7px 14px;font-family:Impact,Arial Black,sans-serif;font-weight:700;transition:all .2s;position:relative;overflow:hidden;transform:skew(-5deg);box-shadow:3px 3px #f0f}.butterpop-toast.theme-neon-brutalism .butterpop-action-btn:before{content:"";background:linear-gradient(45deg,#0000 0%,#ff00ff4d 50%,#0000 100%);transition:all .5s;position:absolute;inset:-100%;transform:rotate(45deg)}.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 #f0f;opacity:.9;font-size:22px;transition:all .2s}.butterpop-toast.theme-neon-brutalism .butterpop-close:hover{opacity:1;transform:rotate(90deg)scale(1.2)}.butterpop-toast.theme-neon-brutalism .butterpop-progress{background:#000;border:2px solid #f0f;height:8px;position:relative;overflow:hidden}.butterpop-toast.theme-neon-brutalism .butterpop-progress:before{content:"";opacity:.7;z-index:0;background:repeating-linear-gradient(45deg,#f0f,#f0f 10px,#0ff 10px 20px);animation:15s linear infinite progress-animation;position:absolute;inset:0}@keyframes progress-animation{0%{background-position:0 0}to{background-position:56px 0}}.butterpop-toast.theme-monochrome{color:#111;background:#f1f1f1;border:none;border-radius:0;padding:18px 24px;font-family:Courier New,monospace;box-shadow:0 6px 24px #0000001a}.butterpop-toast.theme-monochrome:after{content:"";clip-path:polygon(0 0,100% 0,100% 100%);background:#111;width:40px;height:40px;position:absolute;top:0;right:0}.butterpop-toast.theme-monochrome .butterpop-message{margin-top:5px;font-size:14px;line-height:1.6}.butterpop-toast.theme-monochrome .butterpop-icon{color:#f1f1f1;background:#111;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;margin-right:16px;display:flex}.butterpop-toast.theme-monochrome.success,.butterpop-toast.theme-monochrome.error,.butterpop-toast.theme-monochrome.warning,.butterpop-toast.theme-monochrome.info{color:#111;background:#f1f1f1}.butterpop-toast.theme-monochrome.dark-mode,body.dark-mode .butterpop-toast.theme-monochrome,.dark-theme .butterpop-toast.theme-monochrome{color:#f1f1f1;background:#111}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{color:#111;background:#f1f1f1}.butterpop-toast.theme-monochrome .butterpop-action-btn{color:#f1f1f1;text-transform:uppercase;letter-spacing:1px;background:#111;border:none;border-radius:0;padding:6px 12px;font-family:Courier New,monospace;font-size:11px}.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{color:#111;background:#f1f1f1}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{background:#111;height:2px}body.dark-mode .butterpop-toast.theme-monochrome .butterpop-progress,.dark-theme .butterpop-toast.theme-monochrome .butterpop-progress{background:#f1f1f1}.butterpop-toast.theme-candy{color:#ad1283;background:linear-gradient(135deg,#ffcce5,#fcdfff);border:none;border-radius:20px;flex-wrap:wrap;padding:16px 22px;font-family:Quicksand,Segoe UI,sans-serif;position:relative;overflow:hidden;box-shadow:0 10px 20px #ad128326,0 0 0 6px #fffc}.butterpop-toast.theme-candy:before{content:"";opacity:.2;z-index:0;pointer-events:none;background-color:#0000;background-image:radial-gradient(circle,#fffc 10%,#0000 10.5%),radial-gradient(circle,#ffffffb3 10%,#0000 10.5%);background-position:0 0,15px 15px;background-repeat:repeat,repeat;background-size:30px 30px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;width:200%;height:200%;position:absolute;top:-50%;left:-50%;transform:rotate(30deg)}.butterpop-toast.theme-candy .butterpop-content{z-index:1;position:relative}.butterpop-toast.theme-candy .butterpop-message{letter-spacing:.3px;font-size:15px;font-weight:600}.butterpop-toast.theme-candy .butterpop-icon{background:#fffc;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;margin-right:15px;display:flex;box-shadow:inset 0 0 0 3px #ad128333}.butterpop-toast.theme-candy.success{color:#0d865f;background:linear-gradient(135deg,#d8f8e1,#c9f4ff);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{color:#c53030;background:linear-gradient(135deg,#ffe1e1,#ffd4d4);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{color:#cb6e17;background:linear-gradient(135deg,#fff4d9,#ffebba);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{color:#0c70b4;background:linear-gradient(135deg,#d4edff,#bfe3ff);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{color:inherit;background:#fffc;border:none;border-radius:30px;padding:6px 16px;font-family:Quicksand,Segoe UI,sans-serif;font-size:13px;font-weight:600;transition:all .2s;box-shadow:0 3px 10px #0000001a}.butterpop-toast.theme-candy .butterpop-action-btn:hover{background:#fffffff2;transform:translateY(-2px)scale(1.05);box-shadow:0 5px 12px #00000026}.butterpop-toast.theme-candy .butterpop-progress{background:#fff9;border-radius:3px;height:6px;position:relative;overflow:hidden}.butterpop-toast.theme-candy .butterpop-progress:after{content:"";z-index:1;background:repeating-linear-gradient(45deg,#fff3,#fff3 10px,#fff6 10px 20px);width:100%;height:100%;animation:1s linear infinite candy-progress;position:absolute;top:0;left:0}@keyframes candy-progress{0%{background-position:0 0}to{background-position:20px 0}}.butterpop-toast.theme-aqua{color:#006064;background:linear-gradient(135deg,#e0f7fa 0%,#b2ebf2 100%);border:none;border-radius:12px;padding:15px 20px;font-family:Montserrat,Segoe UI,sans-serif;position:relative;overflow:hidden;box-shadow:0 8px 20px #00606433}.butterpop-toast.theme-aqua:before{content:"";opacity:.7;z-index:0;background:linear-gradient(90deg,#00acc1,#00838f,#006064,#00838f,#00acc1) 0 0/200% 100%;height:8px;animation:3s ease-in-out infinite aqua-wave;position:absolute;bottom:0;left:0;right:0}@keyframes aqua-wave{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.butterpop-toast.theme-aqua .butterpop-message{letter-spacing:.3px;font-size:14px;font-weight:500;line-height:1.5}.butterpop-toast.theme-aqua .butterpop-icon{color:#0097a7;background:#fff9;border-radius:50%;margin-right:12px;padding:6px;box-shadow:0 2px 6px #0097a733}.butterpop-toast.theme-aqua.success{color:#00695c;background:linear-gradient(135deg,#e0f2f1 0%,#c9f4ff 100%)}.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{color:#c53030;background:linear-gradient(135deg,#ffe1e1,#ffd4d4)}.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{color:#cb6e17;background:linear-gradient(135deg,#fff4d9,#ffebba)}.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{color:#0c70b4;background:linear-gradient(135deg,#d4edff,#bfe3ff)}.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;padding:6px 12px;font-size:12px;font-weight:600;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{z-index:1;background:#0060644d;border-radius:2px;height:4px}.butterpop-toast.theme-nordic{color:#2c3e50;background:#fff;border-left:4px solid #3498db;border-radius:2px;padding:16px 20px;font-family:Inter,Segoe UI,sans-serif;box-shadow:0 4px 12px #00000014}.butterpop-toast.theme-nordic .butterpop-message{letter-spacing:.2px;font-size:14px;font-weight:400;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{color:#3498db;background:#f5f7fa;border:1px solid #e0e6ed;border-radius:4px;padding:5px 12px;font-size:12px;font-weight:500;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{color:#ecf0f1;background:#2c3e50;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{color:#ecf0f1;background:#34495e;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{color:#0c4da2;background:#f0f8ff;border:1px solid #2980b9;border-radius:4px;padding:15px 20px;font-family:Roboto Mono,Courier New,monospace;position:relative;overflow:hidden;box-shadow:0 4px 10px #2980b933}.butterpop-toast.theme-blueprint:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(90deg,#b0e0ff1a 1px,#0000 1px),linear-gradient(#b0e0ff1a 1px,#0000 1px);background-position:0 0;background-size:20px 20px;position:absolute;inset:0}.butterpop-toast.theme-blueprint .butterpop-content{z-index:1;position:relative}.butterpop-toast.theme-blueprint .butterpop-message{letter-spacing:.3px;font-size:13.5px;font-weight:400;line-height:1.6}.butterpop-toast.theme-blueprint .butterpop-icon{color:#2980b9;margin-right:15px;transform:scale(.9)}.butterpop-toast.theme-blueprint:after{content:"";background:#2980b9;width:100%;height:3px;position:absolute;top:0;left:0}.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{color:inherit;background:#2980b91a;border:1px solid;border-radius:2px;padding:4px 10px;font-family:Roboto Mono,Courier New,monospace;font-size:11px;transition:all .2s}.butterpop-toast.theme-blueprint .butterpop-action-btn:hover{background:#2980b933}.butterpop-toast.theme-blueprint .butterpop-progress{opacity:.6;background-color:currentColor;height:3px}.butterpop-toast.theme-paper{color:#645c54;background:#f8f6f1;border:none;border-radius:0;padding:16px 20px;font-family:Lora,Georgia,serif;position:relative;overflow:visible;box-shadow:0 4px 8px #0000000d}.butterpop-toast.theme-paper:before{content:"";z-index:3;border-top:0 solid #0000;border-bottom:20px solid #0000;border-left:0 solid #0000;border-right:20px solid #645c54;width:0;height:0;position:absolute;top:0;right:0;box-shadow:-2px 2px 5px #0000001a}.butterpop-toast.theme-paper:after{content:"";pointer-events:none;z-index: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");position:absolute;inset:0}.butterpop-toast.theme-paper .butterpop-content{z-index:1;position:relative}.butterpop-toast.theme-paper .butterpop-message{letter-spacing:.2px;font-size:15px;font-weight:400;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:#0000 #5d8b62 #0000 #0000}.butterpop-toast.theme-paper.error{background:#f9f1f1}.butterpop-toast.theme-paper.error .butterpop-icon{color:#9e5757}.butterpop-toast.theme-paper.error:before{border-color:#0000 #9e5757 #0000 #0000}.butterpop-toast.theme-paper.warning{background:#faf5e9}.butterpop-toast.theme-paper.warning .butterpop-icon{color:#b5915c}.butterpop-toast.theme-paper.warning:before{border-color:#0000 #b5915c #0000 #0000}.butterpop-toast.theme-paper.info{background:#eef5fa}.butterpop-toast.theme-paper.info .butterpop-icon{color:#5c89b5}.butterpop-toast.theme-paper.info:before{border-color:#0000 #5c89b5 #0000 #0000}.butterpop-toast.theme-paper .butterpop-action-btn{color:inherit;background:0 0;border:1px solid;border-radius:2px;padding:4px 12px;font-family:Lora,Georgia,serif;font-size:13px;font-style:italic;transition:all .2s}.butterpop-toast.theme-paper .butterpop-action-btn:hover{background:#0000000d}.butterpop-toast.theme-paper .butterpop-progress{opacity:.3;background-color:currentColor;height:1px}.butterpop-toast.theme-origami{color:#333;background:#fff;border:none;border-radius:2px;padding:15px 20px;font-family:Poppins,Segoe UI,sans-serif;position:relative;overflow:hidden;transform:perspective(500px)rotateX(2deg);box-shadow:0 4px 12px #0000001a}.butterpop-toast.theme-origami:before{content:"";z-index:0;pointer-events:none;opacity:.5;background:linear-gradient(135deg,#00000008 25%,#0000 25% 50%,#00000008 50% 75%) 0 0/16px 16px;height:100%;position:absolute;top:0;left:0;right:0}.butterpop-toast.theme-origami:after{content:"";transform-origin:100% 100%;z-index:0;background:linear-gradient(135deg,#0000 50%,#0000000d 50%);width:30px;height:30px;position:absolute;bottom:0;right:0}.butterpop-toast.theme-origami .butterpop-content{z-index:1;position:relative}.butterpop-toast.theme-origami .butterpop-message{font-size:14px;font-weight:400;line-height:1.6}.butterpop-toast.theme-origami .butterpop-icon{margin-right:15px;position:relative}.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{color:#333;background:#0000000d;border:none;border-radius:2px;padding:5px 12px;font-size:12px;font-weight:500;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{background:linear-gradient(90deg,#0000000d,#00000026);height:2px}.butterpop-toast.theme-origami.success .butterpop-progress{background:linear-gradient(90deg,#4caf504d,#4caf50b3)}.butterpop-toast.theme-origami.error .butterpop-progress{background:linear-gradient(90deg,#f443364d,#f44336b3)}.butterpop-toast.theme-origami.warning .butterpop-progress{background:linear-gradient(90deg,#ff98004d,#ff9800b3)}.butterpop-toast.theme-origami.info .butterpop-progress{background:linear-gradient(90deg,#2196f34d,#2196f3b3)}.butterpop-toast.theme-sunset{color:#fff;background:linear-gradient(135deg,#ff7e5f,#feb47b);border:none;border-radius:8px;padding:16px 20px;font-family:Nunito,Segoe UI,sans-serif;position:relative;overflow:hidden;box-shadow:0 10px 20px #ff7e5f4d}.butterpop-toast.theme-sunset:before{content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#ffffff4d,#0000 80%);position:absolute;inset:0}.butterpop-toast.theme-sunset .butterpop-message{text-shadow:0 1px 2px #0000001a;font-size:15px;font-weight:500;line-height:1.5}.butterpop-toast.theme-sunset .butterpop-icon{color:#fff;background:#fff3;border-radius:50%;margin-right:15px;padding:6px;box-shadow:0 2px 5px #0000001a}.butterpop-toast.theme-sunset.success{color:#1a5d52;background:linear-gradient(135deg,#43c6ac,#f8ffae);box-shadow:0 10px 20px #43c6ac4d}.butterpop-toast.theme-sunset.success .butterpop-icon{color:#1a5d52;background:#fff6}.butterpop-toast.theme-sunset.error{color:#fff;background:linear-gradient(135deg,#ff5f6d,#ffc371);box-shadow:0 10px 20px #ff5f6d4d}.butterpop-toast.theme-sunset.warning{color:#b35818;background:linear-gradient(135deg,#f6d365,#fda085);box-shadow:0 10px 20px #f6d3654d}.butterpop-toast.theme-sunset.warning .butterpop-icon{color:#b35818;background:#fff6}.butterpop-toast.theme-sunset.info{color:#fff;background:linear-gradient(135deg,#0072ff,#00c6ff);box-shadow:0 10px 20px #0072ff4d}.butterpop-toast.theme-sunset .butterpop-action-btn{color:inherit;background:#ffffff4d;border:none;border-radius:30px;padding:6px 15px;font-size:12px;font-weight:600;transition:all .2s}.butterpop-toast.theme-sunset .butterpop-action-btn:hover{background:#fff6;transform:translateY(-2px)}.butterpop-toast.theme-sunset .butterpop-progress{background:#ffffff4d;height:3px}.butterpop-toast.theme-holographic{-webkit-backdrop-filter:blur(10px);color:#fff;background:linear-gradient(135deg,#fff6,#fff3);border:1px solid #ffffff4d;border-radius:12px;padding:16px 22px;font-family:Montserrat,Segoe UI,sans-serif;position:relative;overflow:hidden;box-shadow:0 8px 32px #1f268733}.butterpop-toast.theme-holographic:before{content:"";filter:saturate(180%);pointer-events:none;z-index:0;background:linear-gradient(45deg,#ff00001a,#ff9a001a,#d0de211a,#4fdc4a1a,#3fdad81a,#2fc9e21a,#1c7fee1a,#5f15f21a,#ba0cf81a,#fb07d91a,#ff00001a) 0 0/600% 600%;animation:15s linear infinite holographic-shift;position:absolute;inset: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{z-index:1;text-shadow:0 0 6px #ffffff80;position:relative}.butterpop-toast.theme-holographic .butterpop-message{letter-spacing:.5px;font-size:14px;font-weight:500;line-height:1.5}.butterpop-toast.theme-holographic .butterpop-icon{color:#fff;filter:drop-shadow(0 0 6px #fffc);margin-right:15px}.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{color:#fff;-webkit-backdrop-filter:blur(5px);background:#fff3;border:1px solid #fff6;border-radius:30px;padding:6px 15px;font-size:12px;font-weight:500;transition:all .2s}.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{background:linear-gradient(90deg,red,#ff9a00,#d0de21,#4fdc4a,#3fdad8,#2fc9e2,#1c7fee,#5f15f2,#ba0cf8,#fb07d9,red) 0 0/200% 200%;height:2px;animation:2s linear infinite holographic-progress}@keyframes holographic-progress{0%{background-position:0%}to{background-position:200%}}.butterpop-toast.theme-chalk{color:#ffffffe6;background-color:#2a2a2a;border:none;border-radius:0;padding:16px 22px;font-family:Indie Flower,Comic Sans MS,cursive;position:relative;box-shadow:0 4px 10px #0000004d}.butterpop-toast.theme-chalk:before{content:"";z-index:0;pointer-events:none;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");position:absolute;inset:0}.butterpop-toast.theme-chalk .butterpop-content{z-index:1;position:relative}.butterpop-toast.theme-chalk .butterpop-message{letter-spacing:.5px;text-shadow:1px 1px 1px #0000004d;font-size:16px;line-height:1.6}.butterpop-toast.theme-chalk .butterpop-icon{filter:drop-shadow(1px 1px 1px #0000004d);margin-right:15px}.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{color:inherit;background:#ffffff26;border:1px dashed;border-radius:0;padding:5px 12px;font-family:Indie Flower,Comic Sans MS,cursive;font-size:14px;transition:all .2s}.butterpop-toast.theme-chalk .butterpop-action-btn:hover{background:#ffffff40;transform:scale(1.05)}.butterpop-toast.theme-chalk .butterpop-progress{opacity:.5;background:currentColor;border-radius:0;height:3px}.butterpop-toast.theme-aurora{color:#fff;background:linear-gradient(135deg,#581c87cc,#2563ebcc);border:none;border-radius:10px;padding:16px 22px;font-family:Poppins,Segoe UI,sans-serif;position:relative;overflow:hidden;box-shadow:0 10px 25px #581c874d}.butterpop-toast.theme-aurora:before{content:"";z-index:0;pointer-events:none;background-color:#0000;background-image:radial-gradient(circle at 30% 40%,#8b5cf666,#0000 30%),radial-gradient(circle at 70% 60%,#0ea5e966,#0000 30%),radial-gradient(circle,#1f293700,#1f293733);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:100% 100%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;animation:15s infinite aurora-shift;position:absolute;inset:-50%}@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{z-index:1;position:relative}.butterpop-toast.theme-aurora .butterpop-message{letter-spacing:.2px;text-shadow:0 1px 3px #0003;font-size:15px;font-weight:400;line-height:1.6}.butterpop-toast.theme-aurora .butterpop-icon{color:#fff;filter:drop-shadow(0 1px 3px #0003);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%,#10b98166,#0000 30%),radial-gradient(circle at 70% 60%,#065f4666,#0000 30%),radial-gradient(circle,#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%,#f8717166,#0000 30%),radial-gradient(circle at 70% 60%,#991b1b66,#0000 30%),radial-gradient(circle,#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%,#fbbf2466,#0000 30%),radial-gradient(circle at 70% 60%,#b4530966,#0000 30%),radial-gradient(circle,#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%,#60a5fa66,#0000 30%),radial-gradient(circle at 70% 60%,#1e40af66,#0000 30%),radial-gradient(circle,#1f293700,#1f293733)}.butterpop-toast.theme-aurora .butterpop-action-btn{color:#fff;-webkit-backdrop-filter:blur(4px);background:#ffffff26;border:none;border-radius:6px;padding:6px 15px;font-size:13px;font-weight:500;transition:all .2s}.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;animation:linear forwards aurora-progress-animation;animation-duration:var(--duration);transform-origin:0;opacity:.8;background:linear-gradient(90deg,#3498db,#9b59b6,#e74c3c,#f1c40f) 0 0/300% 100%;transform:scaleX(0);box-shadow:0 0 8px #ffffff80}@keyframes aurora-progress-animation{0%{background-position:0%;transform:scaleX(0)}to{background-position:100%;transform:scaleX(1)}}.butterpop-toast.theme-aurora .butterpop-progress:before{content:"";background:linear-gradient(90deg,#fff0,#fff6,#fff0);width:100%;height:100%;animation:2s linear infinite aurora-shine;position:absolute;top:0;left:0}@keyframes aurora-shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.butterpop-toast.theme-corporate{color:#2c3e50;background:#fff;border-left:4px solid #3498db;border-radius:0;padding:16px 20px;font-family:Roboto,Arial,sans-serif;position:relative;box-shadow:0 2px 10px #0000001a}.butterpop-toast.theme-corporate:before{content:"";background-color:#3498db;width:4px;height:100%;display:none;position:absolute;top:0;left:0}.butterpop-toast.theme-corporate .butterpop-message{letter-spacing:.2px;font-size:14px;font-weight:400;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{color:#3498db;background:#f8f9fa;border:1px solid #e9ecef;border-radius:3px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .2s}.butterpop-toast.theme-corporate .butterpop-action-btn:hover{background:#e9ecef}.butterpop-toast.theme-corporate .butterpop-progress{opacity:.6;background-color:currentColor;height:2px}body.dark-mode .butterpop-toast.theme-corporate,.dark-theme .butterpop-toast.theme-corporate{color:#ecf0f1;background:#2c3e50;border-left:4px solid #3498db}.butterpop-toast.theme-zen{color:#333;background:#f8f8f8;border:none;border-radius:4px;padding:16px 20px;font-family:Noto Sans,Segoe UI,sans-serif;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000f}.butterpop-toast.theme-zen:after{content:"";opacity:.8;background:linear-gradient(90deg,#9ed8db,#467599);height:2px;position:absolute;bottom:0;left:0;right:0}.butterpop-toast.theme-zen .butterpop-message{letter-spacing:.2px;font-size:14px;font-weight:400;line-height:1.6}.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{color:#467599;background:0 0;border:1px solid #467599;border-radius:4px;padding:4px 12px;font-size:12px;font-weight:400;transition:all .2s}.butterpop-toast.theme-zen .butterpop-action-btn:hover{background:#4675991a}.butterpop-toast.theme-zen .butterpop-progress{opacity:.8;background:linear-gradient(90deg,#9ed8db,#467599);height:2px}body.dark-mode .butterpop-toast.theme-zen,.dark-theme .butterpop-toast.theme-zen{color:#e0e0e0;background:#2a2a2a}.butterpop-toast.theme-frost{-webkit-backdrop-filter:blur(10px);color:#2c3e50;background:#fffc;border:1px solid #fff3;border-radius:8px;padding:16px 20px;font-family:Inter,Segoe UI,sans-serif;position:relative;overflow:hidden;box-shadow:0 4px 15px #0000000d}.butterpop-toast.theme-frost:before{content:"";pointer-events:none;background:linear-gradient(#ffffff4d 0%,#fff0 100%);height:100%;position:absolute;top:0;left:0;right:0}.butterpop-toast.theme-frost .butterpop-message{letter-spacing:.2px;font-size:14px;font-weight:400;line-height:1.6}.butterpop-toast.theme-frost .butterpop-icon{color:#3498db;filter:drop-shadow(0 0 1px #3498db4d)}.butterpop-toast.theme-frost.success .butterpop-icon{color:#2ecc71;filter:drop-shadow(0 0 1px #2ecc714d)}.butterpop-toast.theme-frost.error .butterpop-icon{color:#e74c3c;filter:drop-shadow(0 0 1px #e74c3c4d)}.butterpop-toast.theme-frost.warning .butterpop-icon{color:#f39c12;filter:drop-shadow(0 0 1px #f39c124d)}.butterpop-toast.theme-frost.info .butterpop-icon{color:#3498db;filter:drop-shadow(0 0 1px #3498db4d)}.butterpop-toast.theme-frost .butterpop-action-btn{color:#3498db;-webkit-backdrop-filter:blur(4px);background:#ffffffb3;border:none;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .2s}.butterpop-toast.theme-frost .butterpop-action-btn:hover{background:#ffffffe6;transform:translateY(-1px)}.butterpop-toast.theme-frost .butterpop-progress{opacity:.5;background-color:currentColor;height:2px}body.dark-mode .butterpop-toast.theme-frost,.dark-theme .butterpop-toast.theme-frost{color:#ecf0f1;background:#2c3e50cc;border-color:#2c3e5033}body.dark-mode .butterpop-toast.theme-frost:before,.dark-theme .butterpop-toast.theme-frost:before{background:linear-gradient(#2c3e504d 0%,#2c3e5000 100%)}body.dark-mode .butterpop-toast.theme-frost .butterpop-action-btn,.dark-theme .butterpop-toast.theme-frost .butterpop-action-btn{color:#3498db;background:#2c3e50b3}.butterpop-toast.theme-velvet{color:#f7f1e3;background:#2c2c54;border:none;border-radius:8px;padding:18px 22px;font-family:Playfair Display,Georgia,serif;position:relative;overflow:hidden;box-shadow:0 8px 20px #0003}.butterpop-toast.theme-velvet:before{content:"";background:linear-gradient(90deg,#706fd3,#c44569);width:100%;height:4px;position:absolute;top:0;left:0}.butterpop-toast.theme-velvet .butterpop-message{letter-spacing:.3px;font-size:15px;font-weight:400;line-height:1.6}.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{color:#f7f1e3;background:#706fd333;border:1px solid #706fd366;border-radius:4px;padding:5px 12px;font-family:Playfair Display,Georgia,serif;font-size:12px;transition:all .2s}.butterpop-toast.theme-velvet .butterpop-action-btn:hover{background:#706fd34d}.butterpop-toast.theme-velvet .butterpop-progress{background:linear-gradient(90deg,#706fd3,#c44569);height:2px}.butterpop-toast.theme-quantum{color:#e6e6e6;background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid #ffffff1a;border-radius:12px;padding:16px 20px;font-family:Space Mono,Roboto Mono,monospace;position:relative;overflow:hidden;box-shadow:0 10px 25px #0000004d}.butterpop-toast.theme-quantum:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff0d 0%,#0000 50%);width:200%;height:200%;animation:15s linear infinite quantum-pulse;position:absolute;top:-50%;left:-50%}@keyframes quantum-pulse{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.butterpop-toast.theme-quantum:after{content:"";background:linear-gradient(90deg,#0f3460,#5a4ae3,#0f3460) 0 0/200% 100%;width:100%;height:2px;animation:5s linear infinite quantum-gradient;position:absolute;bottom:0;left:0}@keyframes quantum-gradient{0%{background-position:0%}to{background-position:200%}}.butterpop-toast.theme-quantum .butterpop-content{z-index:1;position:relative}.butterpop-toast.theme-quantum .butterpop-message{letter-spacing:.5px;font-size:14px;font-weight:400;line-height:1.6}.butterpop-toast.theme-quantum .butterpop-icon{color:#5a4ae3;filter:drop-shadow(0 0 2px #5a4ae380);margin-right:15px}.butterpop-toast.theme-quantum.success .butterpop-icon{color:#0be881;filter:drop-shadow(0 0 2px #0be88180)}.butterpop-toast.theme-quantum.success:after{background:linear-gradient(90deg,#0f3460,#0be881,#0f3460) 0 0/200% 100%}.butterpop-toast.theme-quantum.error .butterpop-icon{color:#ff5e57;filter:drop-shadow(0 0 2px #ff5e5780)}.butterpop-toast.theme-quantum.error:after{background:linear-gradient(90deg,#0f3460,#ff5e57,#0f3460) 0 0/200% 100%}.butterpop-toast.theme-quantum.warning .butterpop-icon{color:#ffdd59;filter:drop-shadow(0 0 2px #ffdd5980)}.butterpop-toast.theme-quantum.warning:after{background:linear-gradient(90deg,#0f3460,#ffdd59,#0f3460) 0 0/200% 100%}.butterpop-toast.theme-quantum.info .butterpop-icon{color:#5a4ae3;filter:drop-shadow(0 0 2px #5a4ae380)}.butterpop-toast.theme-quantum .butterpop-action-btn{color:#e6e6e6;letter-spacing:.5px;text-transform:uppercase;background:#5a4ae333;border:1px solid #5a4ae366;border-radius:4px;padding:5px 12px;font-family:Space Mono,Roboto Mono,monospace;font-size:11px;transition:all .2s}.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{background:linear-gradient(90deg,#5a4ae3,#0f3460,#5a4ae3) 0 0/200% 100%;height:2px;animation:5s linear infinite quantum-gradient}@media (width<=480px){.butterpop-container{box-sizing:border-box;width:100%;padding:0 16px}.butterpop-toast{width:100%;max-width:100%}.butterpop-container.top-left,.butterpop-container.top-right,.butterpop-container.top-center{align-items:center;top:10px;left:0;right:0;transform:none}.butterpop-container.bottom-left,.butterpop-container.bottom-right,.butterpop-container.bottom-center{align-items:center;bottom:10px;left:0;right:0;transform:none}}.butterpop-toast.theme-neon-glow{color:#fff;background:#000;border:1px solid #ffffff1a;border-radius:8px;padding:16px 20px;position:relative;overflow:hidden;box-shadow:0 0 15px #ffffff4d}.butterpop-toast.theme-neon-glow:before{content:"";z-index:0;pointer-events:none;background:linear-gradient(45deg,#ff00801a,#00ffff1a);position:absolute;inset:0}.butterpop-toast.theme-neon-glow .butterpop-content{z-index:1;position:relative}.butterpop-toast.theme-neon-glow .butterpop-message{text-shadow:0 0 5px;letter-spacing:.5px;font-weight:500}.butterpop-toast.theme-neon-glow .butterpop-icon{filter:drop-shadow(0 0 5px)}.butterpop-toast.theme-neon-glow.success{color:#0f0;box-shadow:0 0 20px #00ff0080}.butterpop-toast.theme-neon-glow.error{color:red;box-shadow:0 0 20px #ff000080}.butterpop-toast.theme-neon-glow.warning{color:#ff0;box-shadow:0 0 20px #ffff0080}.butterpop-toast.theme-neon-glow.info{color:#0ff;box-shadow:0 0 20px #00ffff80}.butterpop-toast.theme-neon-glow .butterpop-action-btn{color:inherit;text-transform:uppercase;letter-spacing:1px;text-shadow:0 0 5px;background:0 0;border:1px solid;padding:5px 12px;font-size:11px;font-weight:500;transition:all .2s}.butterpop-toast.theme-neon-glow .butterpop-action-btn:hover{background:#ffffff1a;transform:translateY(-2px);box-shadow:0 0 10px}.butterpop-toast.theme-neon-glow .butterpop-progress{height:2px;box-shadow:0 0 10px}.butterpop-toast.theme-watercolor{color:#333;background:#fff;border-radius:12px;padding:16px 20px;font-family:Georgia,serif;position:relative;overflow:hidden;box-shadow:0 4px 15px #0000001a}.butterpop-toast.theme-watercolor:before{content:"";opacity:.1;z-index:0;pointer-events:none;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");position:absolute;inset:0}.butterpop-toast.theme-watercolor .butterpop-content{z-index:1;position:relative}.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{color:inherit;background:0 0;border:1px dashed;border-radius:4px;padding:4px 12px;font-size:12px;font-style:italic;transition:all .2s}.butterpop-toast.theme-watercolor .butterpop-action-btn:hover{background:#00000008;border-style:solid}.butterpop-toast.theme-watercolor .butterpop-progress{background:linear-gradient(90deg,currentColor,#0000);height:2px}.butterpop-toast.theme-vintage{color:#5d4037;background:#f8f3e9;border:1px solid #d7ccc8;border-radius:4px;padding:16px 20px;font-family:Playfair Display,Georgia,serif;position:relative;box-shadow:0 4px 12px #0000001a}.butterpop-toast.theme-vintage:before{content:"";opacity:.1;pointer-events:none;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");position:absolute;inset:0}.butterpop-toast.theme-vintage .butterpop-message{letter-spacing:.2px;font-size:15px;line-height:1.6}.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{color:#5d4037;background:0 0;border:1px solid #d7ccc8;border-radius:2px;padding:4px 12px;font-family:Playfair Display,Georgia,serif;font-size:12px;transition:all .2s}.butterpop-toast.theme-vintage .butterpop-action-btn:hover{background:#00000008;border-color:#8d6e63}.butterpop-toast.theme-vintage .butterpop-progress{background-color:#8d6e63;height:2px}.butterpop-toast.theme-pixel{color:#fff;image-rendering:pixelated;background:#000;border:4px solid #fff;border-radius:0;padding:16px 20px;font-family:"Press Start 2P",monospace;position:relative;box-shadow:0 0 0 4px #000}.butterpop-toast.theme-pixel .butterpop-message{letter-spacing:0;font-size:12px;line-height:1.8}.butterpop-toast.theme-pixel .butterpop-icon{margin-right:16px;transform:scale(.9)}.butterpop-toast.theme-pixel.success{color:#8bac0f;background:#081820;border-color:#8bac0f}.butterpop-toast.theme-pixel.error{color:#e76e55;background:#081820;border-color:#e76e55}.butterpop-toast.theme-pixel.warning{color:#dcd77a;background:#081820;border-color:#dcd77a}.butterpop-toast.theme-pixel.info{color:#5fa9d0;background:#081820;border-color:#5fa9d0}.butterpop-toast.theme-pixel .butterpop-action-btn{color:#000;background:#fff;border:2px solid #000;border-radius:0;margin-top:8px;padding:6px 12px;font-family:"Press Start 2P",monospace;font-size:10px;transition:all .1s}.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{background-color:currentColor;height:4px}.butterpop-toast.theme-handwritten{color:#333;background:#fffdf7;border:1px solid #e0e0e0;border-radius:0;padding:16px 20px;font-family:Caveat,Indie Flower,cursive;position:relative;transform:rotate(-1deg);box-shadow:2px 2px #333}.butterpop-toast.theme-handwritten:after{content:"";pointer-events:none;z-index:0;border:1px dashed #0000001a;position:absolute;inset:4px}.butterpop-toast.theme-handwritten .butterpop-content{z-index:1;position:relative}.butterpop-toast.theme-handwritten .butterpop-message{font-size:18px;line-height:1.4}.butterpop-toast.theme-handwritten .butterpop-icon{margin-right:16px;transform:rotate(5deg)scale(1.1)}.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{color:inherit;background:0 0;border:1px solid;border-radius:0;padding:2px 12px;font-family:Caveat,Indie Flower,cursive;font-size:16px;transition:all .2s;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{opacity:.5;background-color:currentColor;height:3px;transform:rotate(1deg)}:root{--bg:#f0f4f8;--surface:#fff;--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:#fbb;--yellow:#ca8a04;--yellow-light:#fef9c3;--orange:#ea580c;--orange-light:#ffedd5;--purple:#7c3aed;--purple-light:#d6c9fb;--radius:12px;--radius-sm:8px;--shadow:0 1px 3px #00000014, 0 4px 16px #0000000a;--shadow-lg:0 8px 32px #0000001f;--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:#14532d80;--red:#ef4444;--red-light:#450a0a80;--yellow:#eab308;--yellow-light:#513d0166;--orange:#f97316;--orange-light:#431407;--purple:#a855f7;--purple-light:#3b0764;--shadow:0 1px 3px #0000004d, 0 4px 16px #0003;--shadow-lg:0 8px 32px #0006}*{box-sizing:border-box;scrollbar-color:var(--border2) transparent;scrollbar-width:thin;margin:0;padding:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--border2);background-clip:content-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--text3)}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:DM Sans,sans-serif;font-size:15px;transition:background .2s,color .2s}#login-page{--login-bg-x:0px;--login-bg-y:0px;isolation:isolate;background:#18212d;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}#login-page:before{content:"";z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 42%,#ffce851a,#0000 32%),linear-gradient(#08101c33 0%,#08101c0d 42%,#08101c42 100%);position:absolute;inset:0}.login-bg-layer{z-index:0;pointer-events:none;transform:translate3d(var(--login-bg-x), var(--login-bg-y), 0) scale(1.04);filter:saturate(1.04)contrast(1.02);transform-origin:50%;will-change:transform;background:#18212d;position:absolute;inset:-18px;overflow:hidden}.login-bg-layer video{object-fit:cover;width:100%;height:100%;display:block}.login-card{z-index:2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border:1px solid #ffffff6b;border-radius:20px;width:100%;max-width:420px;padding:44px 40px;position:relative;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{border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:14px;display:inline-flex;overflow:hidden}.login-logo .logo-icon img{object-fit:contain;width:100%;height:100%;display:block}.login-logo h1{color:var(--text);letter-spacing:0;font-family:Fraunces,serif;font-size:28px}.login-logo p{color:var(--text2);margin-top:4px;font-size:14px}.form-control{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;transition:var(--transition);background:var(--surface2);color:var(--text);outline:none;padding:11px 14px;font-family:DM Sans,sans-serif;font-size:15px}.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{align-items:center;display:flex;position:relative}.password-wrap .form-control{padding-right:44px}.pwd-toggle{cursor:pointer;color:var(--text3);transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;font-size:15px;line-height:1;display:flex;position:absolute;right:10px}.pwd-toggle:hover{color:var(--accent)}.remember-me-row{color:var(--text2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;margin:-4px 0 16px;font-size:14px;font-weight:600;display:flex}.remember-me-row input{accent-color:#0e449c;width:16px;height:16px}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{color:#fff;background:#0e449c}.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{color:var(--text2);background:0 0;border:1.5px solid #0000}.btn-ghost:hover{color:#ef4444;background:#ef44441a;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{color:var(--accent);border:1.5px solid var(--accent);background:0 0}.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,.nav-icon i,.empty-icon i{line-height:1}.icon-inline{justify-content:center;align-items:center;width:1.1em;margin-right:5px;display:inline-flex}#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,#yr-save-btn{margin-top:0}#login-btn{width:100%}.error-msg{background:var(--red-light);color:var(--red);border-radius:var(--radius-sm);border:1px solid #fca5a5;margin-bottom:16px;padding:10px 14px;font-size:14px}#app{height:calc(100vh - var(--portfolio-demo-notice-height,0px));height:calc(100dvh - var(--portfolio-demo-notice-height,0px));flex-direction:column;min-height:0;display:none;overflow:hidden}.body-wrap{flex:1;min-height:0;display:flex;overflow:hidden}.main{flex:1;min-width:0;min-height:0;padding:28px;overflow-y:auto}.page{display:none}.page.active{display:block}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-title{letter-spacing:-.5px;font-family:Arial,serif;font-size:26px}.page-sub{color:var(--text2);margin-top:3px;font-size:14px}.card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);margin:auto;padding:20px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:24px;display:grid}.stat-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:18px}.stat-value{letter-spacing:-1px;color:var(--text);font-size:28px;font-weight:700}.stat-label{color:var(--text2);margin-top:3px;font-size:13px;font-weight:500}.stat-icon{margin-bottom:10px;font-size:22px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-transform:uppercase;letter-spacing:.5px;color:var(--text3);text-align:left;background:var(--surface2);border-bottom:1px solid var(--border);padding:11px 14px;font-size:12px;font-weight:700}td{border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 14px;font-size:14px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface2)}.badge{border-radius:20px;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.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{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.cal-title{letter-spacing:-.3px;font-size:19px;font-weight:700}.cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-dow{text-align:center;text-transform:uppercase;letter-spacing:.5px;color:var(--text3);padding:6px 0;font-size:12px;font-weight:700}.cal-day{border-radius:var(--radius-sm);background:var(--surface2);border:1px solid var(--border);cursor:pointer;min-height:128px;transition:var(--transition);padding:8px 6px;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{cursor:default;background:0 0;border-color:#0000}.cal-day.empty:hover{background:0 0;border-color:#0000}.cal-day-num{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:700}.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{flex-wrap:wrap;gap:3px;display:flex}.cal-dot{background:#ffd000;border-radius:50%;width:6px;height:6px}[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{flex-direction:column;gap:3px;min-width:0;display:flex}.cal-event{border:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;min-width:0;transition:var(--transition);border-left-width:3px;border-radius:6px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px;margin-bottom:5px;padding:2px 5px;font-size:13px;line-height:1.25;display:grid}.cal-event.teacher-schedule-event{grid-template-columns:auto minmax(0,1fr) 24px}.cal-event:hover{border-color:var(--accent);transform:translate(1px)}.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);white-space:nowrap;font-size:13px;font-weight:700}.cal-event-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.cal-event-note-btn{border:1px solid var(--border2);background:var(--surface);width:clamp(20px,5vw,24px);height:clamp(20px,5vw,24px);color:var(--accent);cursor:pointer;border-radius:6px;justify-content:center;justify-self:end;align-items:center;padding:0;font-size:12px;line-height:1;display:inline-flex}.cal-event-note-btn:hover,.cal-event-note-btn:focus-visible{background:var(--accent-light);border-color:var(--accent);outline:none}.cal-more-btn{color:var(--accent);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:1px 5px;font-size:11px;font-weight:700}.cal-more-btn:hover{background:var(--accent-light)}.calendar-popover-overlay{inset:var(--portfolio-demo-notice-height,0px) 0 0;z-index:900;background:0 0;position:fixed}.calendar-popover{z-index:901;background:var(--surface);border:1px solid var(--border);width:min(420px,100vw - 24px);max-height:min(440px,100vh - 24px);box-shadow:var(--shadow-lg);border-radius:14px;padding:12px;position:fixed;overflow:auto}.calendar-popover-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.calendar-popover-title{color:var(--text);font-size:14px;font-weight:800}.calendar-popover-close{background:var(--surface2);width:28px;height:28px;color:var(--text2);cursor:pointer;border:none;border-radius:8px}.calendar-popover-list{gap:5px;min-width:0;display:grid}.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 (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-rows:auto auto;grid-template-columns:minmax(0,1fr) 22px;gap:1px 4px;padding:4px 5px}#page-schedule:not(.admin-schedule-old) .cal-event.teacher-schedule-event .cal-event-time{text-overflow:ellipsis;grid-column:1;font-size:11px;overflow:hidden}#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-area:1/2/span 2;align-self:center;width:22px;height:22px;font-size:11px}}@media (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{color:var(--text3);margin-top:3px;font-size:10px}.schedule-month-controls{grid-template-columns:40px minmax(160px,max-content) 40px;justify-content:center;align-items:center;gap:12px;margin-bottom:8px;display:grid!important}.schedule-nav-btn,.day-nav-btn{width:40px;min-width:40px;height:34px;padding:0;margin-top:0!important}.schedule-action-row{grid-template-columns:repeat(3,minmax(0,170px));justify-content:center;gap:8px;width:100%;max-width:560px;margin:0 auto;display:grid!important}.schedule-action-row.teacher-actions{grid-template-columns:repeat(1,minmax(0,170px));max-width:348px}#btn-drive-teacher-schedule{width:max-content}.schedule-action-btn{text-align:center;white-space:normal;width:100%;min-height:34px;padding-left:10px;padding-right:10px;line-height:1.2;margin-top:0!important}#btn-copy-schedule{order:1}#btn-add-schedule{order:2}#btn-move-schedule{order:3}.day-detail-header{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:10px;display:flex!important}.day-date-browser{grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:8px;width:min(100%,560px);min-width:0;margin:0 auto;display:grid}.day-date-label{text-overflow:ellipsis;white-space:nowrap;cursor:default;pointer-events:none;width:100%;min-height:34px;font-size:14px;font-weight:700;overflow:hidden;margin-top:0!important}.day-detail-close{align-self:flex-end;width:40px;min-width:40px;height:34px;margin-top:0!important}.day-detail-actions{justify-content:center;gap:8px;display:flex}.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 (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 (width<=480px){.schedule-action-row{grid-template-columns:1fr;max-width:320px}.day-detail-header{gap:6px}.day-date-label{white-space:normal;min-height:40px;line-height:1.2}.day-nav-btn,.day-detail-close{height:40px}}.modal-overlay{inset:var(--portfolio-demo-notice-height,0px) 0 0;z-index:1000;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);background:#0f172a80;justify-content:center;align-items:center;display:none;position:fixed}@media (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);width:100%;max-width:580px;max-height:min(92vh,100%);box-shadow:var(--shadow-lg);border-radius:16px;animation:.2s modalIn;overflow-y:auto}@keyframes modalIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-header{justify-content:space-between;align-items:center;padding:22px 24px 0;display:flex}.modal-title{letter-spacing:-.3px;font-size:18px;font-weight:700}.modal-close{background:var(--surface2);cursor:pointer;width:30px;height:30px;color:var(--text2);transition:var(--transition);border:none;border-radius:8px;justify-content:center;align-items:center;font-size:16px;display:flex}.modal-close:hover{background:var(--red-light);color:var(--red)}.modal-body{padding:20px 24px 24px}.modal-footer{flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:0 24px 24px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-group{margin-bottom:16px}.form-group label{text-transform:uppercase;letter-spacing:.4px;color:var(--text2);margin-bottom:6px;font-size:13px;font-weight:600;display:block}select.form-control{cursor:pointer}.color-choice-list{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.color-choice{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface2);width:100%;color:var(--text);cursor:pointer;transition:var(--transition);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;display:flex}.color-choice:hover,.color-choice.active{border-color:var(--accent);background:var(--accent-light)}.color-swatch{width:18px;height:18px;box-shadow:0 0 0 1px var(--border2);border:2px solid #ffffffd9;border-radius:50%;flex-shrink:0}textarea.form-control{resize:vertical;min-height:80px}.schedule-note-modal{max-width:720px}.schedule-note-title{color:var(--text);flex-wrap:wrap;align-items:center;gap:8px;min-width:0;padding-right:16px;font-size:14px;line-height:1.35;display:flex}.schedule-note-title-chip{border:1px solid var(--border);background:var(--surface2);color:var(--text);overflow-wrap:anywhere;border-radius:999px;align-items:center;max-width:100%;padding:6px 10px;font-weight:700;display:inline-flex}.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);margin-bottom:8px;font-size:15px;font-weight:700}.schedule-note-content{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);white-space:pre-wrap;word-break:break-word;padding:14px;font-size:15px;line-height:1.65}.slot-list{flex-direction:column;gap:8px;display:flex}.slot-item{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.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{color:var(--accent);white-space:nowrap;font-size:14px;font-weight:700}.slot-student{font-size:15px;font-weight:600}.slot-note{color:var(--text2);margin-top:2px;font-size:13px}.cal-legend{text-align:center;color:var(--text2);flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:12px;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.cal-legend-item{justify-content:center;align-items:center;gap:6px;display:inline-flex}.cal-legend .cal-dot{flex:none}.report-toolbar{background:var(--surface2);border-radius:var(--radius-sm);border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;padding:8px;display:flex}.tb-btn{cursor:pointer;color:var(--text);transition:var(--transition);background:0 0;border:none;border-radius:6px;padding:5px 8px;font-family:DM Sans,sans-serif;font-size:14px}.tb-btn:hover{background:var(--border)}.tb-separator{background:var(--border2);width:1px;height:18px;margin:0 2px}.report-editor{border:1.5px solid var(--border);border-radius:var(--radius-sm);resize:vertical;background:var(--surface);width:100%;min-height:140px;color:var(--text);outline:none;padding:12px;font-family:DM Sans,sans-serif;font-size:15px;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{inset:var(--portfolio-demo-notice-height,0px) 0 0;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;justify-content:center;align-items:center;padding:20px;display:none;position:fixed}.link-modal.open{display:flex}.link-modal-box{background:var(--surface);width:100%;max-width:420px;box-shadow:var(--shadow-lg);border-radius:14px;padding:28px}.link-modal-box h3{margin-bottom:18px;font-size:17px;font-weight:700}.link-modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.upload-area{border:2px dashed var(--border2);border-radius:var(--radius-sm);text-align:center;cursor:pointer;transition:var(--transition);color:var(--text2);padding:24px}.upload-area:hover{border-color:var(--accent);background:var(--accent-light)}.upload-action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.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;text-align:center;min-height:210px;transition:var(--transition);justify-items:center;gap:8px;padding:30px 22px;display:grid}.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);max-width:360px;font-size:13px;line-height:1.45}.image-upload-status{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text2);align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:13px;display:none}.image-upload-status.show{display:flex}.image-upload-preview{max-height:210px;padding:2px;overflow:auto}.upload-preview{flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;display:flex}.upload-thumb-wrap{flex:none;width:80px;height:80px;position:relative}.upload-thumb{object-fit:cover;border:2px solid var(--border);cursor:pointer;width:80px;height:80px;transition:var(--transition);border-radius:8px}.upload-thumb:hover{border-color:var(--accent);transform:scale(1.05)}.upload-thumb-remove{background:var(--red);color:#fff;width:24px;height:24px;box-shadow:var(--shadow);cursor:pointer;transition:var(--transition);border:1px solid #ffffffe6;border-radius:50%;justify-content:center;align-items:center;font-size:12px;line-height:1;display:inline-flex;position:absolute;top:-7px;right:-7px}.upload-thumb-remove:hover{background:#b91c1c;transform:scale(1.08)}.lightbox{inset:var(--portfolio-demo-notice-height,0px) 0 0;z-index:3000;background:#000000eb;flex-direction:column;justify-content:center;align-items:center;display:none;position:fixed}.lightbox.open{display:flex}.lightbox-img{object-fit:contain;border-radius:10px;max-width:90vw;max-height:80vh;transition:transform .2s}.lightbox-controls{gap:12px;margin-top:18px;display:flex}.lightbox-btn{color:#fff;cursor:pointer;transition:var(--transition);background:#ffffff26;border:1px solid #ffffff40;border-radius:8px;padding:8px 16px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600}.lightbox-btn:hover{background:#ffffff4d}.lightbox-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;display:flex;position:absolute;top:18px;right:18px}.lightbox-close:hover{background:#dc2626b3}#lightbox-download,.lightbox-download{align-items:center;gap:8px;text-decoration:none;display:inline-flex}.report-month-header{align-items:center;gap:10px;margin-bottom:16px;display:flex}.back-btn{cursor:pointer;color:var(--text2);transition:var(--transition);background:0 0;border:none;padding:0;font-size:22px}.back-btn:hover{color:var(--accent)}.teacher-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:var(--transition);align-items:center;gap:12px;padding:14px 16px;display:flex}.teacher-card:hover{border-color:var(--accent);background:var(--accent-light)}#teachers-report-list,#teachers-lesson-tracker-list{grid-template-columns:1fr;gap:8px;display:grid}#teachers-report-list .teacher-card{margin-bottom:0}@media (width>=900px){#teachers-report-list,#teachers-lesson-tracker-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1200px){#teachers-report-list,#teachers-lesson-tracker-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1366px){#teachers-report-list,#teachers-lesson-tracker-list{grid-template-columns:repeat(4,minmax(0,1fr))}}.teacher-avatar{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:16px;font-weight:700;display:flex}.teacher-info-name{font-size:15px;font-weight:700}.teacher-info-sub{color:var(--text2);margin-top:2px;font-size:13px}.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;justify-content:space-between;align-items:center;padding:10px 16px;font-size:14px;font-weight:700;display:flex}.report-session{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:11px 16px;display:flex}.report-session:last-child{border-bottom:none}.report-teacher-day-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;width:min(100%,1320px);margin:0 auto;display:grid}.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 (width<=1200px){.report-teacher-day-grid,.report-teacher-day-grid.two-teachers,.report-teacher-day-grid.single-teacher{grid-template-columns:1fr}}.session-time{color:var(--accent);flex-shrink:0;width:120px;font-size:13px;font-weight:700}.session-student{word-break:break-word;flex:1;min-width:0;font-size:14px;font-weight:600}.session-note{color:var(--text2);margin-top:2px;font-size:13px}.session-badge{flex-shrink:0;margin-left:auto}.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:14px 16px;display:flex}.filter-label{color:var(--text2);font-size:13px;font-weight:600}.report-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.absent-reason-box{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:12px;padding:12px;display:none}.absent-reason-box.open{display:block}.radio-stack{gap:8px;display:grid}.radio-stack .radio-item{color:var(--text2);align-items:center;gap:10px;margin:0;line-height:16px;display:flex}.radio-stack .radio-item input{flex-shrink:0;width:16px;height:16px;margin:0}.radio-stack .radio-item span{line-height:16px;display:inline-block}.lesson-tracker-filter-card{flex-direction:column;gap:10px;padding:14px;display:flex}.lesson-tracker-date-row,.lesson-tracker-search-actions-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.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{min-width:180px;margin-bottom:0}.lesson-tracker-search-group{flex:0 260px}.lesson-tracker-filter-actions{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.report-header-actions,.lesson-tracker-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.lesson-tracker-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}#lesson-tracker-teacher-filter-wrap>label,.lesson-tracker-date-row label,.lesson-tracker-search-actions-row label{margin-bottom:4px;font-size:12px}#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{width:14px;height:14px}#lesson-tracker-teacher-filter-list .teacher-check-item div{border-radius:5px!important;width:20px!important;height:20px!important;font-size:11px!important}#lesson-tracker-teacher-filter-list .teacher-check-item span{line-height:1.2;font-size:12px!important}.lesson-tracker-teacher-grid{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:24px;width:100%;margin:0 auto;display:grid}.lesson-tracker-teacher-card{flex-direction:column;width:100%;min-width:0;padding:0;display:flex;overflow:hidden}#lesson-tracker-student-search{padding:8px 14px}.lesson-tracker-teacher-card-header{border-radius:var(--radius-sm) var(--radius-sm) 0 0;padding:10px 20px;font-size:20px;font-weight:800}.lesson-tracker-teacher-card-body{flex-direction:column;flex:1;min-width:0;min-height:0;padding:22px;display:flex}.lesson-tracker-teacher-card .lesson-tracker-table-wrap{flex:1}.lesson-tracker-teacher-card .empty-state{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:140px;display:flex}#lesson-tracker-output{padding-bottom:4px;overflow-x:auto}.admin-schedule-filter-card .form-group>label{margin-bottom:8px;font-size:15px;font-weight:700}.admin-schedule-filter-actions{gap:8px;margin-bottom:8px;display:flex}#admin-schedule-output{padding-bottom:4px}.admin-schedule-month-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.admin-schedule-month-label{white-space:nowrap;font-size:16px;font-weight:700}.admin-schedule-month-actions{flex-wrap:wrap;gap:6px;display:flex}.admin-schedule-day-labels{gap:4px;margin-bottom:8px;padding-bottom:4px;display:flex;overflow-x:auto}.admin-schedule-day-label{text-align:center;min-width:80px;color:var(--text2);flex-shrink:0;font-size:12px;font-weight:700}.admin-schedule-day-label.inactive{color:var(--text3);opacity:.5}.admin-schedule-table-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;overflow:auto hidden}.admin-schedule-table{border-collapse:collapse;width:max-content}.admin-schedule-table th,.admin-schedule-table td{border:1px solid var(--border);text-align:center;vertical-align:middle;white-space:nowrap;padding:4px 6px;font-size:13px}.admin-schedule-table .time-col-header{z-index:3;background:var(--surface2);text-align:left;width:110px;color:var(--text2);box-shadow:inset -1px 0 0 0 var(--border);padding-left:8px;padding-right:8px;font-size:12px;font-weight:700;position:sticky;left:0}.admin-schedule-table .time-col{z-index:2;background:var(--surface2);text-align:left;width:110px;color:var(--text);box-shadow:inset -1px 0 0 0 var(--border);padding-left:8px;padding-right:8px;font-size:12px;font-weight:600;position:sticky;left:0}.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{background:var(--surface2);width:96px;color:var(--text2);text-transform:uppercase;font-size:12px;font-weight:700}.admin-schedule-table .date-header{background:var(--surface2);width:96px;font-size:13px;font-weight:700}.admin-schedule-table .sched-cell{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;width:96px;font-size:13px;transition:background .15s;overflow:hidden}.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{cursor:pointer;font-weight:500}.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{color:#7c2d12!important;background:#fdba74!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{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text2);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.asl-item{align-items:center;gap:6px;display:inline-flex}.asl-swatch{border:1px solid var(--border);border-radius:4px;width:16px;height:16px;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);margin-bottom:16px;padding:12px 14px}.cancelled-class-banner-title{color:var(--purple);margin-bottom:6px;font-weight:700}.cancelled-class-banner-reason{color:var(--text);white-space:pre-wrap;word-break:break-word;font-size:14px}.cancelled-class-banner-label{color:var(--text2);font-weight:600}.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{top:calc(var(--portfolio-demo-notice-height,0px) + 68px);z-index:90;cursor:pointer;background:var(--accent);color:#fff;-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000002e}.toolbar-trigger:hover{transform:translate(-50%)translateY(-1px);box-shadow:0 6px 20px #00000038}.toolbar-trigger-arrow{font-size:12px}.toolbar-expanded{top:calc(var(--portfolio-demo-notice-height,0px) + 60px);z-index:90;background:var(--bg);border-bottom:1px solid var(--border);border-radius:0 0 12px 12px;width:calc(100% - 56px);max-width:1280px;padding:10px 24px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000001f}.toolbar-expanded .toolbar-flex-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.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{height:auto;padding:4px 8px;font-size:12px!important}.toolbar-expanded .toolbar-date-group .form-control{width:120px!important}.toolbar-month-label{white-space:nowrap;font-size:16px;font-weight:700}.toolbar-sep{background:var(--border);flex-shrink:0;width:1px;height:24px}.toolbar-teacher-count{color:var(--text2);white-space:nowrap;font-size:13px}.toolbar-toggle-filter{margin-left:auto}.toolbar-date-group{align-items:center;gap:6px;display:flex}.toolbar-filter-collapse{padding-top:10px}@media (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{padding:7px 14px;font-size:13px;top:60px}.toolbar-expanded{border-radius:0;width:calc(100% - 28px);padding:8px 12px;top:52px}}@media (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{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:auto}#lesson-editor-table-wrap{background:0 0;border:0;border-radius:0;overflow:visible}.lesson-tracker-table,.lesson-editor-table{table-layout:fixed;width:100%;min-width:1200px}.lesson-tracker-col-timestamp{width:200px}.lesson-tracker-col-student{width:170px}.lesson-tracker-col-username{width:110px}.lesson-tracker-col-info{width:260px}.lesson-tracker-col-material{width:240px}.lesson-tracker-col-pages{width:90px}.lesson-tracker-col-date{width:88px}.lesson-tracker-col-time{width:78px}.lesson-tracker-col-duration{width:120px}.lesson-tracker-col-status{width:170px}.lesson-tracker-col-remarks{width:72px}.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;overflow-wrap:anywhere;padding:12px 14px;font-size:16px;line-height:1.35}#receipt-detail-body>div.receipt-card>div:nth-child(2)>table>thead>tr>th:nth-child(5),#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{padding:12px 5px;font-size:14px}.lesson-editor-table input,.lesson-editor-table select{box-sizing:border-box;background:var(--surface);width:100%;min-width:0;color:var(--text);font:inherit;text-align:center;border:1px solid #0000;border-radius:6px;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{color:#f1f5f9;background:#1e293b}.lesson-editor-table .readonly-cell{background:var(--surface2);color:var(--text2)}.lesson-editor-other{margin-top:6px;padding-top:6px;border-top:1px solid var(--border)!important}.lesson-editor-toolbar{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text2);align-items:center;gap:8px;margin-bottom:10px;padding:8px;display:flex}#modal-lesson-tracker-editor .modal{flex-direction:column;display:flex;overflow:hidden}#modal-lesson-tracker-editor .modal-body{flex:1;min-height:0;overflow:auto}#modal-lesson-tracker-editor .modal-footer{z-index:2;background:var(--surface);border-top:1px solid var(--border);padding-top:14px;position:sticky;bottom:0}.lesson-editor-card-list{grid-template-columns:minmax(1200px,1fr);gap:24px;padding-bottom:4px;display:grid;overflow-x:auto}#lesson-tracker-end,#lesson-tracker-start{padding:7px 14px}.draft-note{border-radius:var(--radius-sm);background:var(--yellow-light);color:var(--text);border:1px solid #facc15;margin-bottom:12px;padding:9px 12px;font-size:13px;font-weight:600;display:none}.filter-select{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface2);color:var(--text);cursor:pointer;outline:none;padding:7px 12px;font-family:DM Sans,sans-serif;font-size:14px}.filter-select:focus{border-color:var(--accent)}.toast-stack{bottom:calc(24px + var(--safe-bottom));z-index:9999;pointer-events:none;flex-direction:column;gap:10px;width:min(360px,100vw - 32px);display:flex;position:fixed;right:24px}.toast-item{background:var(--text);color:var(--bg);opacity:0;border-radius:10px;padding:12px 16px;font-size:14px;font-weight:500;line-height:1.35;transition:all .3s;transform:translateY(8px);box-shadow:0 14px 32px #0f172a38}.toast-item.show{opacity:1;transform:translateY(0)}.offline-indicator{bottom:calc(20px + var(--safe-bottom));z-index:10000;background:var(--surface);width:fit-content;max-width:min(340px,100vw - 32px);color:var(--text);border:1px solid var(--red);border-radius:999px;align-items:center;gap:10px;margin-inline:auto;padding:11px 16px;font-size:14px;font-weight:600;line-height:1.3;animation:.25s offline-pill-in;display:flex;position:fixed;left:0;right:0;box-shadow:0 10px 30px #0f172a38}.offline-indicator i{color:var(--red);flex-shrink:0;font-size:17px}.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{inset:var(--portfolio-demo-notice-height,0px) 0 0;z-index:20000;background:linear-gradient(160deg,#14233f 0%,#2e4a7a 42%,#e08a4e 100%);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;overflow:auto}.maintenance-stars{opacity:.25;pointer-events:none;background-image:radial-gradient(circle at 20% 30%,#fff .5px,#0000 1.6px),radial-gradient(circle at 70% 18%,#fff .5px,#0000 1.6px),radial-gradient(circle at 85% 62%,#fff .5px,#0000 1.6px),radial-gradient(circle at 38% 78%,#fff .5px,#0000 1.6px);background-size:120px 120px,90px 90px,140px 140px,110px 110px;position:absolute;inset:0}.maintenance-card{text-align:center;background:#fffffff7;border-radius:22px;width:100%;max-width:460px;padding:clamp(28px,6vw,44px) clamp(22px,5vw,40px);position:relative;box-shadow:0 24px 70px #00000059}.maintenance-badge{background:linear-gradient(145deg,#ffb347,#e0612f);border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;margin:0 auto 22px;display:flex;box-shadow:0 10px 26px #e0612f73}.maintenance-badge i{color:#fff;font-size:44px;animation:2.6s ease-in-out infinite maintenance-tilt}.maintenance-title{color:#1b2a4a;letter-spacing:-.01em;margin:0;font-size:clamp(22px,5vw,28px);font-weight:700}.maintenance-text{color:#5a6577;margin:12px 0 0;font-size:clamp(14px,3.5vw,16px);line-height:1.7}.maintenance-pill{color:#9a4a16;background:#fdeede;border-radius:999px;align-items:center;gap:9px;margin-top:24px;padding:9px 16px;font-size:13.5px;font-weight:600;display:inline-flex}.maintenance-dot{background:#e0612f;border-radius:50%;width:9px;height:9px;animation:1.4s ease-in-out infinite maintenance-pulse}.maintenance-foot{color:#8a93a3;border-top:1px solid #eceef2;justify-content:center;align-items:center;gap:8px;margin-top:26px;padding-top:18px;font-size:13px;display:flex}.maintenance-foot-logo{object-fit:contain;border-radius:4px;width:20px;height:20px;margin-bottom:5px}@keyframes maintenance-tilt{0%,to{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}@keyframes maintenance-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.5)}}.offline-indicator.leaving{animation:.3s forwards offline-pill-out}@keyframes offline-pill-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@media (width<=560px){.offline-indicator{justify-content:center;max-width:none;bottom:14px;left:14px;right:14px}}.confirm-modal{max-width:460px}.confirm-dialog-message{color:var(--text2);font-size:15px;line-height:1.45}.confirm-dialog-lines{gap:8px;margin-top:14px;display:grid}.confirm-dialog-line{background:var(--surface2);border:1px solid var(--border);color:var(--text);overflow-wrap:anywhere;border-radius:10px;padding:10px 12px;font-size:14px;font-weight:600}.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{background:var(--surface2);border:1px solid var(--border);color:var(--text2);border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.section-title{letter-spacing:-.2px;margin-bottom:12px;font-size:16px;font-weight:700}.divider{background:var(--border);height:1px;margin:20px 0}.empty-state{text-align:center;color:var(--text3);padding:48px 24px}.empty-state .empty-icon{margin-bottom:12px;font-size:40px}.empty-state p{font-size:15px}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:600;text-decoration:underline}.action-btns{flex-wrap:wrap;gap:6px;display:flex}.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{justify-content:center;min-width:74px}.account-name-cell,.account-username-cell{min-width:0}.account-username-code{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:100%;display:inline-block;overflow:hidden}.account-actions-cell{position:relative}.account-actions-inline{align-items:center;display:none}.account-actions-inline .btn{white-space:nowrap;min-width:76px;padding-left:10px;padding-right:10px}.account-actions-inline .btn:nth-child(2){min-width:104px}.account-actions-menu{justify-content:flex-start;display:flex;position:relative}.account-action-menu-btn{border:1.5px solid var(--border);background:var(--surface2);width:34px;height:34px;color:var(--text);cursor:pointer;transition:var(--transition);border-radius:8px;justify-content:center;align-items:center;margin-left:.7rem;display:flex}.account-action-menu-btn:hover{background:var(--border)}.account-actions-panel{z-index:1000;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:178px;box-shadow:var(--shadow-lg);padding:6px;display:none;position:fixed;top:0;left:0}.account-actions-menu.open .account-actions-panel{gap:2px;display:grid}.account-actions-panel button,.account-actions-panel .account-actions-note{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:6px;padding:8px 10px;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),#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 (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;padding:2px 4px;font-size:11px}.cal-event-time{text-overflow:ellipsis;font-size:11px;overflow:hidden}.cal-event-title{font-size:11px}.calendar-popover{width:min(380px,100vw - 16px);max-height:min(70vh,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{font-size:13px;display:block}}@media (width<=560px){.cal-day{min-height:86px}.cal-day-num{font-size:12px}.cal-event-title{display:none}.calendar-popover{border-radius:12px;width:calc(100vw - 12px);max-height:calc(100vh - 12px);padding:10px}.calendar-popover .cal-event{grid-template-columns:minmax(72px,auto) minmax(0,1fr)}.calendar-popover .cal-event-title{white-space:normal;overflow-wrap:anywhere;display:block}}.cal-no-report-label{color:var(--text3);margin-top:2px;font-size:9px;font-style:italic}.tab-bar{background:var(--surface2);border-radius:var(--radius-sm);border:1px solid var(--border);gap:4px;margin-bottom:20px;padding:4px;display:flex}.tab-btn{cursor:pointer;color:var(--text2);transition:var(--transition);background:0 0;border:none;border-radius:6px;flex:1;padding:8px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600}.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}#page-accounts .tab-bar .tab-btn{white-space:nowrap;justify-content:center;align-items:center;gap:7px;display:flex}#page-accounts .tab-bar .tab-btn i{font-size:13px}@media (width<=380px){#page-accounts .tab-bar .tab-btn{gap:5px;padding:8px 4px;font-size:13px}}.student-input-wrap{align-items:stretch;gap:8px;display:flex;position:relative}.student-input-wrap>.form-control{flex:auto;min-width:0}.student-pick-btn{white-space:nowrap;flex:none}.student-picker-list{flex-direction:column;gap:6px;max-height:50vh;display:flex;overflow-y:auto}.student-picker-item{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);cursor:pointer;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.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{background:var(--surface);border:1.5px solid var(--accent);border-radius:var(--radius-sm);z-index:200;max-height:200px;box-shadow:var(--shadow-lg);position:absolute;top:100%;left:0;right:0;overflow-y:auto}.student-suggestion-item{cursor:pointer;transition:var(--transition);align-items:center;gap:8px;padding:10px 14px;font-size:14px;display:flex}.student-meta{color:var(--text);text-align:right;flex-direction:column;align-items:flex-end;gap:1px;min-width:0;max-width:55%;margin-left:auto;padding-left:10px;font-size:11px;font-weight:400;line-height:1.35;display:flex}.student-meta-line{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.student-meta-line i{margin-right:2px;font-size:10px}.student-suggestion-item:hover{background:var(--accent-light);color:var(--accent)}.spinner{border:2px solid var(--border);border-top-color:var(--accent);vertical-align:middle;border-radius:50%;width:18px;height:18px;margin-right:6px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.mobile-nav{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;flex:none;justify-content:center;align-items:center;display:flex;position:relative;top:auto;overflow:visible}.mobile-nav-tabs{background:var(--surface2);border-radius:var(--radius-sm);border:1px solid var(--border);gap:5px;max-width:calc(100% - 110px);margin:0 auto;padding:3px;display:flex;overflow-x:auto}.mobile-nav-tab{cursor:pointer;color:var(--text2);transition:var(--transition);background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;padding:6px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;text-decoration:none;display:flex}.mobile-nav-tab.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.mobile-nav-tab:hover{color:var(--accent)}.mobile-nav-label{font-size:.9rem;display:inline}.mobile-nav-right{padding-top:var(--safe-top,0);align-items:center;gap:6px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.mobile-hamburger-btn{background:var(--surface2);border:1.5px solid var(--border);cursor:pointer;width:36px;height:36px;color:var(--text);transition:var(--transition);border-radius:8px;justify-content:center;align-items:center;margin-left:5px;font-size:18px;display:flex}.mobile-hamburger-btn:hover{background:var(--border)}.hamburger-menu{inset:var(--portfolio-demo-notice-height,0px) 0 0;z-index:900;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);visibility:hidden;opacity:0;background:#0f172a80;transition:opacity .2s,visibility .2s;position:fixed}.hamburger-menu.open{visibility:visible;opacity:1}.ham-panel{background:var(--surface);border-right:1px solid var(--border);width:min(360px,88vw);height:100%;box-shadow:var(--shadow-lg);padding-top:var(--safe-top);flex-direction:column;transition:transform .28s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:0;left:0;transform:translate(-100%)}.hamburger-menu.open .ham-panel{transform:translate(0)}.ham-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:18px 16px;display:flex}.ham-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:18px;font-weight:700;display:flex;box-shadow:0 2px 8px #0000002e}.ham-id{flex:1;min-width:0}.ham-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.ham-username{color:var(--text3);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-family:monospace;font-size:12px;overflow:hidden}.ham-role{color:var(--accent);background:var(--accent-light);border-radius:999px;margin-top:4px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.ham-close{width:34px;height:34px;color:var(--text3);cursor:pointer;background:0 0;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;transition:background .15s,color .15s;display:flex}.ham-close:hover{background:var(--surface2);color:var(--text)}.ham-scroll{flex:1;padding:12px 10px 4px;overflow-y:auto}.ham-section{margin-bottom:10px}.ham-section-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text3);padding:4px 12px 6px;font-size:11px;font-weight:700}.ham-row{border-radius:var(--radius-sm);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:500;transition:background .15s;display:flex}.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{background:var(--surface2);width:32px;height:32px;color:var(--accent);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.ham-row-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.ham-row-state{color:var(--text3);flex-shrink:0;font-size:12px;font-weight:600}.ham-row-chevron{color:var(--text3);flex-shrink:0;font-size:12px}.ham-lang-select{border:1px solid var(--border);background:var(--surface);max-width:160px;height:34px;color:var(--text);border-radius:9px;flex-shrink:0;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{border:1px solid var(--red);background:var(--red-light);width:100%;color:var(--red);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:11px;font-size:14px;font-weight:600;transition:background .15s,color .15s;display:flex}.ham-signout:hover{background:var(--red);color:#fff}.stu-sched-monthbar{justify-content:center;align-items:center;gap:12px;margin-bottom:16px;display:flex}.stu-sched-month{text-align:center;min-width:150px;color:var(--text);font-size:16px;font-weight:700}.stu-sched-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width<=900px){.stu-sched-list{grid-template-columns:1fr}}.stu-sched-legend{color:var(--text2);flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:14px;font-size:13px;display:flex}.stu-sched-leg-item{align-items:center;gap:6px;display:inline-flex}.stu-sched-leg-dot{border-radius:50%;flex-shrink:0;width:11px;height:11px}.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(--yellow)}.stu-sched-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--text3);border-radius:var(--radius);align-items:center;gap:14px;padding:12px 14px;transition:background .15s,box-shadow .15s;display:flex}.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(--yellow)}.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{text-transform:uppercase;letter-spacing:.5px;color:var(--accent);background:var(--accent-light);border-radius:999px;margin-top:3px;padding:1px 6px;font-size:9px;font-weight:800}.stu-sched-noclass-main{color:var(--text3);font-size:18px;font-weight:700}.stu-sched-datecol{text-align:center;flex-shrink:0;width:52px;line-height:1.15}.stu-sched-dow,.stu-sched-mon{text-transform:uppercase;color:var(--text3);font-size:11px;font-weight:600}.stu-sched-daynum{color:var(--text);font-size:24px;font-weight:800}.stu-sched-main{flex:1;min-width:0}.stu-sched-time{color:var(--text);flex-wrap:wrap;align-items:center;gap:7px;font-size:16px;font-weight:700;display:flex}.stu-sched-time i{color:var(--accent);font-size:14px}.stu-sched-trial{color:#2563eb;text-transform:uppercase;background:#2563eb1f;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.stu-sched-teacher{color:var(--text2);align-items:center;gap:7px;margin-top:4px;font-size:14px;display:flex}.stu-sched-teacher i{color:var(--text3);font-size:13px}.stu-sched-side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.stu-sched-badge{white-space:nowrap;border-radius:999px;padding:4px 11px;font-size:13px;font-weight:700}.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(--yellow);background:var(--yellow-light)}.stu-sched-badge.noclass{color:var(--text3);border:1px solid var(--border);background:0 0}.stu-sched-go{color:var(--text3);font-size:12px}.stu-cancel-banner{background:var(--red-light);color:var(--red);border:1px solid var(--red);border-radius:8px;align-items:center;gap:8px;margin-bottom:14px;padding:10px 14px;font-weight:600;display:flex}.stu-cancel-lines{color:var(--text);flex-direction:column;gap:8px;font-size:14px;display:flex}.stu-cancel-lbl{color:var(--text2);font-weight:700}.tcal-agenda{flex-direction:column;gap:10px;margin-bottom:14px;display:none}@media (width<=1024px){.tcal-agenda{display:flex}.tcal-desktop{display:none!important}}.tcal-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--text3);border-radius:var(--radius);cursor:pointer;align-items:center;gap:14px;margin:4px 0;padding:12px 14px;transition:background .15s;display:flex}.tcal-card:hover{background:var(--surface2)}.tcal-card.present{border-left-color:#16a34a}.tcal-card.absent{border-left-color:var(--red)}.tcal-card.cancelled{border-left-color:#7c3aed}.tcal-card.no-report{border-left-color:var(--yellow)}.tcal-card.is-today{box-shadow:0 0 0 2px var(--accent)}.tcal-card.is-today .tcal-daynum{color:var(--accent)}.tcal-datecol{text-align:center;flex-shrink:0;width:44px;line-height:1.15}.tcal-dow,.tcal-mon{text-transform:uppercase;color:var(--text3);font-size:11px;font-weight:600}.tcal-divider{border-top:1px dashed var(--border);height:0;margin:4px 6px}.sticky-gototop{bottom:calc(18px + var(--safe-bottom,0px));z-index:90;background:var(--accent);color:#fff;cursor:pointer;width:32px;height:32px;box-shadow:var(--shadow-lg);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:13px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.sticky-gototop:active{transform:translate(-50%)scale(.94)}.cal-legend+.schedule-month-controls{margin-top:8px}.tcal-sticky-wrap{display:none}@media (width<=1024px){.tcal-sticky-wrap{display:block}}.tcal-daynum{color:var(--text);font-size:22px;font-weight:800}.tcal-main{flex:1;min-width:0}.tcal-time{color:var(--text);flex-wrap:wrap;align-items:center;gap:7px;font-size:15px;font-weight:700;display:flex}.tcal-time i{color:var(--accent);font-size:13px}.tcal-trial{color:#2563eb;text-transform:uppercase;background:#2563eb1f;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.tcal-student{color:var(--text2);align-items:center;gap:7px;margin-top:4px;font-size:14px;display:flex}.tcal-student i{color:var(--text3);font-size:13px}.tcal-side{flex-direction:row-reverse;flex-shrink:0;align-items:center;gap:8px;display:flex}.tcal-badge{white-space:nowrap;border-radius:999px;padding:4px 11px;font-size:13px;font-weight:700}.tcal-badge.present{color:#16a34a;background:#16a34a24}.tcal-badge.absent{color:var(--red);background:var(--red-light)}.tcal-badge.cancelled{color:#7c3aed;background:#7c3aed24}.tcal-badge.no-report{color:var(--yellow);background:var(--yellow-light)}.tcal-note-btn{border:1px solid var(--border2);background:var(--surface);color:var(--accent);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:14px;display:flex}.tcal-note-btn:hover,.tcal-note-btn:focus-visible{background:var(--accent-light);border-color:var(--accent);outline:none}@media (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{grid-template-columns:repeat(3,1fr);justify-items:center;gap:6px;max-height:200px;padding:4px;display:grid;overflow-y:auto}.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{cursor:pointer;transition:var(--transition);border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.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{cursor:pointer;width:16px;height:16px}@media (width<=1100px){.teacher-check-list.four-columns,.teacher-check-list.six-columns{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=820px){.teacher-check-list.four-columns,.teacher-check-list.six-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (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);padding:10px 12px;font-size:13px;line-height:1.4}.date-pair-list{flex-direction:column;gap:6px;margin-top:8px;display:flex}.date-pair-row{background:var(--surface2);border:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.date-pair-row .src-date{color:var(--accent);min-width:90px;font-weight:700}.date-pair-row .arrow{color:var(--text3)}.date-pair-row .dest-date{color:var(--green);flex:1;font-weight:700}.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{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.mini-cal-title{font-size:14px;font-weight:700}.mini-cal-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.mini-cal-dow{text-align:center;text-transform:uppercase;color:var(--text3);padding:3px 0;font-size:10px;font-weight:700}.mini-cal-day{background:var(--surface);cursor:pointer;min-height:28px;transition:var(--transition);text-align:center;color:var(--text);border:1px solid #0000;border-radius:5px;padding:5px 3px;font-size:12px;font-weight:600}.mini-cal-day:hover{border-color:var(--accent);background:var(--accent-light)}.mini-cal-day.empty{cursor:default;background:0 0}.mini-cal-day.empty:hover{background:0 0;border-color:#0000}.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 (width<=768px){.mobile-nav{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;flex:none;justify-content:center;align-items:center;display:flex;position:relative;top:auto;overflow:visible}.mobile-nav-tabs{background:var(--surface2);border-radius:var(--radius-sm);border:1px solid var(--border);gap:4px;padding:3px;display:flex}.mobile-nav-tab{cursor:pointer;color:var(--text2);transition:var(--transition);background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;padding:6px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;display:flex}.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);cursor:pointer;width:36px;height:36px;color:var(--text);transition:var(--transition);border-radius:8px;justify-content:center;align-items:center;font-size:18px;display:flex}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{border-radius:16px 16px 0 0;max-width:100%;max-height:min(96vh,100%)}.modal-overlay{padding:0 0 var(--safe-bottom,0px) 0;align-items:flex-end}.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){flex-wrap:wrap;gap:8px;width:100%;display:flex}.page-header .btn{flex:1;min-width:120px}#btn-add-admin{align-self:stretch;height:auto}.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{border-radius:16px 16px 0 0!important;max-width:100%!important;max-height:min(90vh,100%)!important}#day-detail-overlay{padding:0 0 var(--safe-bottom,0px) 0!important;align-items:flex-end!important}#tab-admins>div>div>table>thead>tr>th:nth-child(3),#tab-teachers>div>div>table>thead>tr>th:nth-child(3){padding-left:1.8rem}}@media (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 (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{margin:0;padding:0}}@media (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),.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),#tab-teachers>div>div>table>thead>tr>th:nth-child(3){padding-left:1.4rem}}@media (width<=768px){table.stack-cards,table.stack-cards tbody,table.stack-cards tr,table.stack-cards td{width:100%;display:block}table.stack-cards thead{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}table.stack-cards colgroup{display:none}table.stack-cards>tbody>tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:12px;padding:14px 16px;position:relative}table.stack-cards>tbody>tr:last-child{margin-bottom:0}table.stack-cards tr:hover td{background:0 0}table.stack-cards td{border:none;padding:8px 0 0}table.stack-cards td:first-child{padding-top:0}table.stack-cards td[data-label]:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.5px;color:var(--text3);margin-bottom:3px;font-size:11px;font-weight:700;display:block}table.stack-cards td.account-name-cell{border-bottom:1px solid var(--border);margin-bottom:4px;padding:0 44px 10px 0;font-size:15px}table.stack-cards td.account-name-cell:before{display:none}table.stack-cards td.account-actions-cell{text-align:right;width:auto;padding:0;position:absolute;top:12px;right:14px}table.stack-cards td.account-actions-cell:before{display:none}table.stack-cards .account-action-menu-btn{margin-left:0}table.stack-cards .account-username-code{font-size:13px}table.stack-cards td[colspan]{text-align:center;padding:8px 0}table.stack-cards>tbody>tr[aria-hidden=true]{background:0 0;border:none;margin:0;padding:0}}.day-cols{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=601px){.day-cols{grid-template-columns:repeat(2,1fr)}}@media (width>=1015px){.day-cols{grid-template-columns:repeat(3,1fr)}}@media (width>=1366px){.day-cols{grid-template-columns:repeat(var(--day-col-count,3), 1fr)}}.day-cols.single-teacher{justify-content:center;grid-template-columns:minmax(0,min(520px,100%))!important}.you-label{color:var(--text3);align-items:center;height:100%;padding:7px 0;font-size:12px;display:inline-flex}@media (width<=480px){#tab-admins>div>div>table>thead>tr>th:nth-child(3),#tab-teachers>div>div>table>thead>tr>th:nth-child(3){padding-left:.9rem}}#tab-remaining-modify>div:first-child{margin-bottom:10px}.notif-bell-wrap{align-items:center;display:flex;position:relative}.notif-bell-btn{cursor:pointer;color:var(--text2);transition:var(--transition);background:0 0;border:none;border-radius:8px;margin-left:2px;margin-right:5px;padding:6px 10px;font-size:20px;position:relative}.notif-bell-btn:hover{background:var(--surface2);color:var(--text)}.notif-bell-btn .bell-dot{background:var(--red,#ef4444);border:2px solid var(--surface);z-index:1;border-radius:50%;width:8px;height:8px;display:none;position:absolute;top:4px;right:6px}.notif-bell-btn .bell-dot.show{display:block}.notif-badge{background:var(--red,#ef4444);color:#fff;border:2px solid var(--surface);z-index:2;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:0;right:2px}.notif-badge-sm{background:var(--red,#ef4444);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:10px;font-weight:700;display:inline-flex}.notif-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:360px;max-height:420px;box-shadow:var(--shadow-lg);z-index:300;margin-top:8px;display:none;position:absolute;top:100%;right:0;overflow:hidden}.notif-dropdown.open{display:block}.notif-dropdown-header{border-bottom:1px solid var(--border);color:var(--text);justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;font-weight:700;display:flex}.notif-dropdown-list{max-height:360px;overflow-y:auto}.notif-item{border-bottom:1px solid var(--border2);color:var(--text2);cursor:pointer;transition:var(--transition);padding:10px 14px;font-size:13px}.notif-item:hover{background:var(--surface2)}.notif-item.unread{background:var(--accent-light);color:var(--text);font-weight:600}.notif-item .notif-msg{white-space:pre-line;display:block}.notif-item .notif-time{color:var(--text3);margin-top:4px;font-size:13px}.notif-empty{text-align:center;color:var(--text3);padding:30px;font-size:14px}.remaining-view-grid,#remaining-view-list{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (width<=1100px){.remaining-view-grid,#remaining-view-list{grid-template-columns:repeat(3,1fr)}}@media (width<=820px){.remaining-view-grid,#remaining-view-list{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.remaining-view-grid,#remaining-view-list{grid-template-columns:1fr}}.remaining-balance-card{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;align-items:flex-start;gap:12px;padding:13px 15px;display:flex;position:relative}.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{background:var(--accent-light);width:38px;height:38px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:800;display:flex}.rbc-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.rbc-name{color:var(--text);overflow-wrap:anywhere;font-size:14px;font-weight:700}.rbc-sub{color:var(--text3);overflow-wrap:anywhere;font-size:12px;line-height:1.35}.rbc-info{color:var(--text2)}.rbc-badges{flex-wrap:wrap;gap:5px;margin-top:4px;display:flex}.rbc-delete-btn{border:1px solid var(--border);background:var(--surface2);width:30px;height:30px;color:var(--text3);cursor:pointer;transition:var(--transition);border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:8px}.rbc-delete-btn:hover{background:var(--red);border-color:var(--red);color:#fff}.remaining-balance-card:has(.rbc-delete-btn) .rbc-count{margin-right:30px}.rbc-count{color:var(--text);flex-direction:column;flex-shrink:0;align-items:center;font-size:20px;font-weight:800;line-height:1;display:flex}.rbc-count small{color:var(--text3);text-transform:uppercase;letter-spacing:.4px;margin-top:3px;font-size:9px;font-weight:600}.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{letter-spacing:.2px;border-radius:10px;width:fit-content;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.badge-monthly{color:#fff;background:#059669}.badge-low{color:#92400e;background:#fde68a}.badge-empty{color:#b91c1c;background:#fee2e2}.badge-ok{background:var(--accent-light);color:var(--accent)}.dark .badge-low{color:#fcd34d;background:#78350f}.dark .badge-empty{color:#fecaca;background:#7f1d1d}.remaining-form-head{align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.remaining-form-icon{color:#fff;width:42px;height:42px;box-shadow:var(--shadow);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.remaining-form-head .page-title{margin:0}.remaining-form-head .page-sub{color:var(--text3);margin:3px 0 0;font-size:13px;line-height:1.45}.remaining-form .page-sub{color:var(--text3);font-size:13px;line-height:1.4}.receipt-picker{border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface2);flex-direction:column;gap:8px;padding:10px;display:flex}.receipt-input{width:100%}.receipt-picker-body{flex-wrap:wrap;align-items:center;gap:8px;min-height:30px;display:flex}.receipt-picker-hint{color:var(--text3);font-size:13px}.receipt-picker-note{color:var(--text3);margin-left:auto;font-size:12px}.receipt-chip-row{flex-wrap:wrap;gap:6px;display:flex}.receipt-chip{border:1px solid var(--border);background:var(--surface);color:var(--text2);cursor:pointer;transition:var(--transition);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}.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{border:1px solid var(--border);border-radius:var(--radius);width:100%;display:inline-flex;overflow:hidden}.seg-toggle .seg{background:var(--surface);color:var(--text2);font:inherit;cursor:pointer;transition:var(--transition);border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-size:13px;font-weight:600;display:inline-flex}.seg-toggle .seg+.seg{border-left:1px solid var(--border)}.seg-toggle .seg.active[data-dir=add]{color:#fff;background:#059669}.seg-toggle .seg.active[data-dir=subtract]{color:#fff;background:#dc2626}.receipt-detail-top{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.receipt-detail-balance{color:var(--text2);margin-left:auto;font-size:14px}.receipt-select-list{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}@media (width<=760px){.receipt-select-list{grid-template-columns:repeat(3,1fr)}}@media (width<=560px){.receipt-select-list{grid-template-columns:repeat(2,1fr)}}@media (width<=380px){.receipt-select-list{grid-template-columns:1fr}}.receipt-select-item{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:var(--surface);transition:var(--transition);flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:14px 12px;display:flex;position:relative}.receipt-select-item:hover{background:var(--surface2);border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-1px)}.receipt-select-no{color:var(--text);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;max-width:100%;font-size:13px;font-weight:700;display:flex;overflow:hidden}.receipt-select-no i{color:var(--accent);flex-shrink:0}.receipt-select-rem{color:var(--text3);font-size:12px;font-weight:600}.receipt-delete-btn{opacity:.4;transition:var(--transition);padding:4px 6px;position:absolute;top:4px;right:4px}.receipt-delete-btn:hover{opacity:1;color:#ef4444}.receipt-card-header .receipt-edit-input{vertical-align:middle;width:auto;height:auto;padding:4px 8px;font-size:13px;display:inline-block}.receipt-del-col{text-align:center;width:36px;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{color:var(--text3);align-items:center;gap:6px;font-size:12px;display:inline-flex}.receipt-download-list{flex-direction:column;gap:6px;max-height:52vh;display:flex;overflow-y:auto}.receipt-download-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:var(--transition);align-items:center;gap:12px;padding:9px 12px;display:flex}.receipt-download-item:hover{background:var(--surface2)}.receipt-download-item.selected{border-color:var(--accent);background:var(--accent-soft,#2563eb14)}.receipt-download-item input[type=checkbox]{flex-shrink:0;width:16px;height:16px}.receipt-download-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.receipt-download-no{color:var(--text);align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.receipt-download-no i{color:var(--accent)}.receipt-download-student{color:var(--text3);font-size:12px}.receipt-download-rem{color:var(--text2);white-space:nowrap;font-size:12px;font-weight:600}.receipt-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden}.receipt-card-header{background:var(--surface2);color:var(--text2);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 22px;padding:14px 16px;font-size:13px;display:flex}.receipt-card-header .header-label{color:var(--text3);text-transform:uppercase;letter-spacing:.3px;margin-right:4px;font-size:11px;font-weight:600}.receipt-card-rem{color:var(--accent);margin-left:auto;font-size:14px;font-weight:800}.receipt-card table{border-collapse:collapse;width:100%;font-size:13px}.receipt-card table th{background:var(--surface2);color:var(--text3);text-align:left;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border);padding:9px 12px;font-size:11px;font-weight:700}.receipt-card table td{border-bottom:1px solid var(--border2);color:var(--text);padding:9px 12px}.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);background:#94a3b814;font-style:italic}.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{box-sizing:border-box;width:100%;padding:4px 8px;font-size:12px}.receipt-card .card-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;display:flex}.receipt-card-actions .card-actions-left,.receipt-card-actions .card-actions-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.receipt-card-actions .card-actions-right .btn{justify-content:center;min-width:104px}@media (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{border-top:1px solid var(--border);color:var(--text2);padding:12px 16px;font-size:15px;font-weight:600}.receipt-remaining-line strong{color:var(--accent);margin-left:4px;font-size:18px;font-weight:800}.receipt-ded-list{border-top:1px dashed var(--border);flex-direction:column;gap:6px;padding:10px 16px;display:flex}.receipt-ded-line{color:var(--text2);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:7px 11px;font-size:13px;display:flex}.receipt-ded-line.debit{background:#ef44440f}.receipt-ded-line.credit{background:#05966914}.receipt-ded-amt{white-space:nowrap;font-weight:700}.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{color:#059669;background:#0596691a;border-radius:10px;align-items:center;gap:10px;margin:10px 16px;padding:12px 14px;font-size:14px;font-weight:700;display:flex}.dark .receipt-monthly-banner{color:#34d399;background:#0596692e}.status-badge{color:#fff;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.status-badge-new{background:#ef4444}.status-badge-renew{background:#059669}.status-badge-monthly{color:#0c4a6e;background:#38bdf8}.teacher-color-badge{color:#fff;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.yr-header{text-align:center;color:var(--text);letter-spacing:1px;margin-bottom:20px;font-size:24px;font-weight:800}.yr-table{border-collapse:collapse;width:100%;font-size:13px}.yr-table th{color:#fff;text-align:left;text-transform:uppercase;letter-spacing:.3px;background:#059669;padding:10px 12px;font-size:12px;font-weight:700}.dark .yr-table th{background:#065f46}.yr-table td{border-bottom:1px solid var(--border2);color:var(--text);padding:9px 12px}.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{box-sizing:border-box;border:1px solid var(--accent);background:var(--surface);width:100%;min-width:50px;color:var(--text);border-radius:6px;outline:none;padding:6px 8px;font-size:13px}.yr-edit-input:focus{box-shadow:0 0 0 3px var(--accent-light)}#yr-edit-btn,#yr-save-btn,#yr-cancel-btn{justify-content:center;min-width:120px}#receipt-detail-body{padding:18px 24px 24px}@media (width<=768px){#receipt-detail-body{padding:14px 16px 18px}.receipt-card table{font-size:11px}.receipt-card table th,.receipt-card table td{padding:5px 6px}}.skeleton{background:color-mix(in srgb, var(--border) 42%, var(--surface));border-radius:6px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--surface) 70%, transparent), transparent);animation:1.3s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.skeleton-tr td{padding:12px 14px}.skeleton-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.skeleton-cards{flex-direction:column;gap:16px;display:flex}.skeleton-cards>.card{width:100%;margin:0}.skeleton-calendar .skeleton-cal-head{grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:10px;display:grid}.skeleton-calendar .skeleton-cal-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}#remaining-tab-bar .tab-btn{justify-content:center;align-items:center;gap:7px;min-width:0;display:flex}#remaining-tab-bar .tab-btn i{flex-shrink:0}#remaining-tab-bar .tab-btn .tab-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.remaining-devtools-stack{gap:16px;display:grid}.remaining-devtools-stack>.card{width:100%;margin:0}@media (width<=820px){#remaining-tab-bar .tab-btn{flex:none}#remaining-tab-bar .tab-btn:not(.active) .tab-label{display:none}#remaining-tab-bar .tab-btn.active{flex:auto;min-width:0}}.multi-student-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.multi-student-chip{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 10px;font-size:13px;font-weight:600;display:inline-flex}.multi-student-chip button{background:var(--border);width:18px;height:18px;color:var(--text2);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:11px;line-height:1;display:inline-flex}.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 (width<=768px){.mobile-nav{justify-content:space-between;gap:6px;padding-left:10px;padding-right:10px}.mobile-nav-tabs{flex-shrink:1;min-width:0;max-width:100%;margin:0 auto}.mobile-nav>.mobile-hamburger-btn,.mobile-nav>.notif-bell-wrap{flex-shrink:0}}.notif-dropdown-list{overscroll-behavior:contain}@media (width<=600px){.notif-dropdown.open{top:calc(var(--portfolio-demo-notice-height,0px) + 52px + var(--safe-top,0px));left:0;right:0;bottom:var(--safe-bottom,0px);border-bottom:none;border-left:none;border-right:none;border-radius:0;width:auto;max-width:none;max-height:none;margin-top:0;position:fixed}.notif-dropdown-list{max-height:none;height:calc(100vh - var(--portfolio-demo-notice-height,0px) - 52px - var(--safe-top,0px) - var(--safe-bottom,0px) - 53px)}}.public-page{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;display:flex}.public-header{border-bottom:1px solid var(--border);background:var(--surface);top:var(--portfolio-demo-notice-height,0px);z-index:20;justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex;position:sticky}.public-header-brand,.site-footer-brand,.public-header .public-header-brand{color:var(--text);align-items:center;gap:10px;font-size:18px;font-weight:800;text-decoration:none;display:flex}.public-header-brand img{border-radius:8px;width:34px;height:34px}.public-header-actions{align-items:center;gap:10px;display:flex}.legal-doc{flex:1;width:100%;max-width:820px;margin:0 auto;padding:32px 24px 56px;line-height:1.65}.legal-doc h1{margin-bottom:6px;font-size:30px}.legal-doc .legal-meta{color:var(--text3);margin-bottom:24px}.legal-doc h2{color:var(--text);margin:26px 0 8px;font-size:19px}.legal-doc p{color:var(--text2);margin:8px 0}.legal-doc ol,.legal-doc ul{color:var(--text2);margin:8px 0 8px 4px;padding-left:22px}.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{z-index:20;background:0 0;border-bottom:none;width:100%;position:absolute}.landing-header .public-header-brand{color:#fff;text-shadow:0 1px 6px #00000073}.landing-hero{text-align:center;color:#fff;justify-content:center;align-items:center;min-height:78vh;padding:96px 24px 64px;display:flex;position:relative;overflow:hidden}.landing-hero-bg{z-index:0;position:absolute;inset:0}.landing-hero-bg:after{content:"";background:linear-gradient(#0f172a9e,#0f172ad1);position:absolute;inset:0}.landing-hero-bg video{object-fit:cover;width:100%;height:100%}.landing-hero-inner{z-index:1;max-width:760px;position:relative}.landing-hero-logo{border-radius:18px;width:76px;height:76px;margin-bottom:18px;box-shadow:0 8px 30px #00000059}.landing-hero h1{margin-bottom:16px;font-size:clamp(30px,5vw,46px)}.landing-lead{color:#ffffffeb;font-size:clamp(15px,2.2vw,18px);line-height:1.7}.landing-cta{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:12px;margin-top:28px;display:flex}.landing-cta .btn{text-align:center;justify-content:center;min-width:190px}.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{text-align:center;margin-bottom:32px;font-size:clamp(22px,3.4vw,30px)}.landing-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.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);text-align:center;padding:24px;transition:transform .18s,box-shadow .18s,border-color .18s}.landing-card:hover{box-shadow:var(--shadow-lg);border-color:var(--accent);transform:translateY(-4px)}.landing-section-alt .landing-card{background:var(--bg)}.landing-card-icon{background:var(--accent-light);width:52px;height:52px;color:var(--accent);border-radius:14px;justify-content:center;align-items:center;margin-bottom:14px;font-size:22px;display:inline-flex}.landing-card h3{margin-bottom:8px;font-size:17px}.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{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1080px;margin:0 auto;padding:24px;display:flex}.site-footer-brand{font-size:16px}.site-footer-logo{border-radius:8px;width:32px;height:32px}.site-footer-name{color:var(--text);font-size:15px;font-weight:800}.site-footer-tag{color:var(--text3);font-size:12px}.site-footer-links{align-items:center;gap:8px;font-size:13px;display:flex}.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);font-size:13px;text-decoration:none}.site-footer-contact a:hover{color:var(--accent)}.site-footer-copy{text-align:center;width:100%;color:var(--text3);border-top:1px solid var(--border);padding-top:14px;font-size:12px}@media (width<=640px){.site-footer-inner{text-align:center;flex-direction:column}}.logs-modal-body{flex-direction:column;gap:12px;min-height:0;display:flex}.logs-search{align-items:center;display:flex;position:relative}.logs-search>i{color:var(--text3);pointer-events:none;font-size:13px;position:absolute;left:12px}.logs-search .form-control{padding-left:34px;padding-right:34px}.logs-search-clear{color:var(--text3);cursor:pointer;background:0 0;border:none;padding:4px;font-size:15px;line-height:1;position:absolute;right:8px}.logs-search-clear:hover{color:var(--text)}.logs-date-filter{align-items:center;display:flex;position:relative}.logs-date-filter>i{color:var(--text3);pointer-events:none;font-size:13px;position:absolute;left:12px}.logs-date-filter .form-control{padding-left:34px;padding-right:34px}.log-link{color:var(--accent);word-break:break-all;text-decoration:underline}.log-link:hover{color:var(--text)}.log-link-list{flex-wrap:wrap;gap:10px;display:flex}.log-line-list{flex-direction:column;gap:2px;display:flex}.log-line{word-break:break-word}.log-memo-text{white-space:pre-wrap;word-break:break-word;-webkit-line-clamp:6;line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.log-memo-text.expanded{-webkit-line-clamp:unset;line-clamp:unset;display:block;overflow:visible}.log-memo-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:4px;padding:0;font-size:12px;font-weight:600}.log-memo-toggle:hover{text-decoration:underline}.logs-scroll{-webkit-overflow-scrolling:touch;flex-direction:column;gap:10px;max-height:min(60vh,520px);padding:2px;display:flex;overflow-y:auto}.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{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.log-action{color:var(--text);font-size:14px;font-weight:700}.log-time{color:var(--text3);white-space:nowrap;margin-left:auto;font-size:11px}.log-badge{text-transform:uppercase;letter-spacing:.4px;border-radius:20px;padding:1px 7px;font-size:10px;font-weight:700}.log-badge-fail{background:var(--red-light);color:var(--red)}.log-meta{color:var(--text2);flex-wrap:wrap;align-items:center;gap:8px;margin-top:5px;font-size:12px;display:flex}.log-actor{color:var(--text);font-weight:600}.log-role{text-transform:uppercase;letter-spacing:.4px;background:var(--accent-light);color:var(--accent);border-radius:20px;padding:1px 7px;font-size:10px;font-weight:700}.log-role-teacher{background:var(--green-light);color:var(--green)}.log-role-guest{background:var(--surface);color:var(--text3)}.log-route{color:var(--text3);word-break:break-all;font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.log-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-top:8px;padding:0;font-size:12px;font-weight:600;display:inline-flex}.log-details{border-top:1px dashed var(--border);gap:4px;margin-top:8px;padding-top:8px;display:grid}.log-detail-row{grid-template-columns:minmax(90px,28%) 1fr;gap:10px;font-size:12px;display:grid}.log-detail-row dt{color:var(--text2);word-break:break-word;font-weight:600}.log-detail-row dd{color:var(--text);word-break:break-word;white-space:pre-wrap}.logs-loading{color:var(--text3);justify-content:center;align-items:center;gap:8px;padding:14px;font-size:13px;display:flex}.logs-sentinel{height:1px}@media (width<=560px){.log-detail-row{grid-template-columns:1fr;gap:1px}.log-time{width:100%;margin-left:0}}.annual-summary-head{margin-bottom:18px}.annual-summary-eyebrow{text-transform:uppercase;letter-spacing:.6px;color:var(--text3);font-size:12px;font-weight:700;display:block}.annual-summary-year{letter-spacing:-.5px;color:var(--text);margin:2px 0 0;font-size:clamp(24px,5vw,30px);font-weight:800}@keyframes annualFadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.annual-anim{opacity:0;animation:.5s cubic-bezier(.22,1,.36,1) forwards annualFadeUp}@media (prefers-reduced-motion:reduce){.annual-anim{opacity:1;animation:none}}.annual-summary .stat-card{flex-direction:column;transition:transform .18s,box-shadow .18s;display:flex}.annual-summary .stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.annual-summary .stat-value{font-variant-numeric:tabular-nums;font-size:clamp(24px,4.5vw,30px)}.stat-card .stat-unit{color:var(--text2);margin-left:2px;font-size:15px;font-weight:600}.annual-delta{border-radius:999px;align-items:center;gap:5px;width:fit-content;margin-top:9px;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.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{grid-template-columns:1fr;gap:14px;margin-top:4px;display:grid}.annual-dist-card,.annual-highlights{margin:0}.annual-dist-title{color:var(--text);text-align:center;margin-bottom:16px;font-size:clamp(15px,1.6vw,18px);font-weight:700}.annual-dist-body{flex-wrap:wrap;justify-content:space-evenly;align-items:flex-start;gap:28px;display:flex}.annual-move-block{flex-direction:column;flex:240px;align-items:center;gap:14px;max-width:380px;display:flex}.annual-move-subtitle{color:var(--text2);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:700}.annual-move-empty{color:var(--text3);text-align:center;padding:24px 0;font-size:13px}.annual-donut{transform-origin:50%;flex-shrink:0;width:clamp(150px,15vw,190px);height:clamp(150px,15vw,190px);animation:.7s cubic-bezier(.22,1,.36,1) both annualDonutIn}@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}.annual-donut-value{fill:var(--text);font-size:22px;font-weight:800}.annual-donut-label{fill:var(--text3);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}@media (prefers-reduced-motion:reduce){.annual-donut{animation:none}.annual-donut-seg{transition:none}}.annual-dist-legend{flex-direction:column;gap:10px;min-width:150px;display:flex}.annual-dist-legend-item{color:var(--text2);align-items:center;gap:8px;font-size:13px;display:inline-flex}.annual-dist-legend-item strong{color:var(--text);margin-left:auto}.annual-dist-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}@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%);-webkit-text-fill-color:transparent;background-position:0 0;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:2.5s ease-in-out infinite alternate annualShine}@media (prefers-reduced-motion:reduce){.annual-summary i.fa-solid{-webkit-text-fill-color:currentColor;background:0 0;animation:none}}.annual-highlights{grid-template-columns:repeat(4,minmax(0,200px));place-content:start center;gap:12px;display:grid}.annual-highlights .annual-dist-title{grid-column:1/-1;margin-bottom:2px}.annual-hl-row{text-align:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface2);flex-direction:column;align-items:center;gap:8px;padding:16px 12px;display:flex}.annual-hl-icon{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:inline-flex}.annual-hl-value{color:var(--text);font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.annual-hl-value small{color:var(--text2);font-size:13px;font-weight:600}.annual-hl-label{color:var(--text2);margin-top:1px;font-size:12.5px}.annual-chart-card{margin:14px 0 0}.annual-chart-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.annual-metric-toggle{border:1px solid var(--border);border-radius:999px;display:inline-flex;overflow:hidden}.annual-metric-toggle button{background:var(--surface);color:var(--text2);font:inherit;cursor:pointer;border:none;padding:5px 14px;font-size:12.5px;font-weight:600;transition:background .15s,color .15s}.annual-metric-toggle button.active{background:var(--accent);color:#fff}.annual-chart{align-items:flex-end;gap:2%;height:180px;padding-top:18px;display:flex}.annual-chart-col{flex-direction:column;flex:1;align-items:center;min-width:0;height:100%;display:flex}.annual-chart-bar-wrap{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;width:100%;display:flex;position:relative}.annual-chart-bar{background:linear-gradient(110deg, transparent 32%, #ffffff7a 50%, transparent 68%), linear-gradient(180deg, color-mix(in srgb, var(--accent) 80%, #fff), var(--accent), var(--accent-dark));background-position:0 0,0 0;background-size:220% 100%,100% 100%;border-radius:6px 6px 0 0;width:72%;max-width:34px;height:0;min-height:2px;transition:height .7s cubic-bezier(.22,1,.36,1);animation:2.5s ease-in-out infinite alternate annualShineBox}.annual-chart-col:hover .annual-chart-bar{filter:brightness(1.08)}@media (prefers-reduced-motion:reduce){.annual-chart-bar{background-position:50% 0,0 0;animation:none}}.annual-chart-val{color:var(--text2);white-space:nowrap;font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:10.5px;font-weight:700}.annual-chart-label{color:var(--text3);margin-top:6px;font-size:11px}@media (prefers-reduced-motion:reduce){.annual-chart-bar{transition:none}}.annual-boards{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;display:grid}.annual-board{margin:0}.annual-rank{margin:0;padding:0;list-style:none}.annual-rank li{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:11px 0;display:flex}.annual-rank li:last-child{border-bottom:none}.annual-rank-num{background:var(--surface2);width:26px;height:26px;color:var(--text2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.annual-rank-1{background:var(--yellow);color:#fff}.annual-rank-2{color:#fff;background:#c0c7d1}.annual-rank-3{color:#fff;background:#d8a05a}.annual-rank-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.annual-rank-meta{color:var(--text2);text-align:right;flex-shrink:0;font-size:12.5px}.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{flex-direction:column;gap:14px;min-width:0;display:flex}.annual-list-card .annual-dist-title{justify-content:center;align-items:center;display:flex}.annual-list-count{background:var(--surface2);min-width:22px;color:var(--text2);border-radius:999px;margin-left:8px;padding:1px 8px;font-size:12px;font-weight:700}.annual-namelist{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.annual-namelist li{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:9px 2px;display:flex}.annual-namelist li:last-child{border-bottom:none}.annual-namelist-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.annual-tag{border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:3px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.annual-tag i{font-size:10.5px}.annual-tag-date{opacity:.8;font-weight:600}.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{border:1px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--accent);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.annual-view-details:hover{background:var(--accent-light);border-color:var(--accent);transform:translateY(-1px)}.annual-mf-head{color:var(--text);border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:10px;padding:4px 0 14px;font-size:15px;display:flex}.annual-mf-head i{color:var(--green);font-size:18px}.annual-mf-list{max-height:420px;margin:0;padding:0;list-style:none;overflow-y:auto}.annual-mf-list li{border-bottom:1px solid var(--border);flex-direction:column;gap:3px;padding:10px 0;display:flex}.annual-mf-list li:last-child{border-bottom:none}.annual-mf-ord{color:var(--accent);font-size:13px;font-weight:700}.annual-mf-detail{color:var(--text2);word-break:break-word;font-size:13px}.remaining-active-mf{border:1px solid var(--green);border-radius:var(--radius-sm);background:var(--green-light);color:var(--text);align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px 14px;font-size:13.5px;line-height:1.45;display:flex}.remaining-active-mf i{color:var(--green);margin-top:1px;font-size:16px}.annual-download-btn{flex-shrink:0}.annual-dl-years{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.annual-dl-year{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;color:var(--text);align-items:center;gap:8px;padding:10px 12px;font-weight:600;transition:border-color .15s,background .15s;display:flex}.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 (width<=820px){.annual-lower,.annual-boards{grid-template-columns:1fr}}@media (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 (width<=460px){.annual-chart{height:176px}.annual-chart-val{writing-mode:vertical-rl;margin-bottom:2px;font-size:8.5px;transform:rotate(180deg)}}@media (width<=700px){.annual-highlights{grid-template-columns:repeat(2,minmax(0,240px))}}@media (width<=360px){.annual-summary .stats-grid{grid-template-columns:1fr}}.tone-accent{--tone:var(--accent);--tone-soft:var(--accent-light)}.tone-green{--tone:var(--green);--tone-soft:var(--green-light)}.tone-red{--tone:var(--red);--tone-soft:var(--red-light)}.tone-orange{--tone:var(--orange);--tone-soft:var(--orange-light)}.tone-yellow{--tone:var(--yellow);--tone-soft:var(--yellow-light)}.tone-purple{--tone:var(--purple);--tone-soft:var(--purple-light)}.tone-muted{--tone:var(--text3);--tone-soft:var(--surface2)}.sec-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.sec-header-title{align-items:center;gap:12px;display:flex}.sec-header-icon{border-radius:var(--radius-sm);width:42px;height:42px;color:var(--accent);background:var(--accent-light);flex:none;place-items:center;font-size:18px;display:grid}.sec-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sec-range{background:var(--surface2);border:1px solid var(--border);border-radius:999px;padding:3px;display:inline-flex}.sec-range-btn{color:var(--text2);cursor:pointer;transition:color var(--transition), background var(--transition);background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500}.sec-range-btn:hover{color:var(--text)}.sec-range-btn.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.sec-updated{color:var(--text3);align-items:center;gap:7px;font-size:12px;display:inline-flex}.sec-stale-notice{border:1px solid color-mix(in srgb, var(--yellow) 45%, var(--border));border-radius:var(--radius-sm);color:var(--text2);background:var(--yellow-light);align-items:center;gap:8px;margin:-4px 0 14px;padding:9px 12px;font-size:12px;display:flex}.sec-stale-notice i{color:var(--yellow)}.sec-live-dot{background:var(--green);width:7px;height:7px;box-shadow:0 0 0 3px var(--green-light);border-radius:50%}.sec-kpi{align-items:center;gap:14px;padding:16px 18px;display:flex;position:relative;overflow:hidden}.sec-kpi:before{content:"";background:var(--tone);width:3px;position:absolute;top:0;bottom:0;left:0}.sec-kpi-body{min-width:0}.sec-kpi-label{color:var(--text3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:12px}.sec-kpi-value{color:var(--text);font-size:25px;font-weight:700;line-height:1.05}.sec-kpi-foot{color:var(--text3);margin-top:3px;font-size:11px}.sec-skeleton-kpi{align-items:center;gap:14px;padding:16px 18px;display:flex}.sec-skeleton-chart,.sec-skeleton-activity{padding:20px}.sec-chip{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--tone);background:var(--tone-soft);flex:none;place-items:center;font-size:16px;display:grid}.sec-card{flex-direction:column;display:flex}.sec-card-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px;display:flex}.sec-card-heading{align-items:center;gap:11px;min-width:0;display:flex}.sec-card-title{color:var(--text);font-size:15px;font-weight:650}.sec-card-sub{color:var(--text3);margin-top:3px;font-size:12px;line-height:1.5}.sec-card-body{margin-top:10px}.sec-note{color:var(--text3);border-top:1px dashed var(--border);margin-top:12px;padding-top:10px;font-size:11px;line-height:1.5}.sec-legend{color:var(--text2);flex-wrap:wrap;align-items:center;gap:14px;margin-top:4px;font-size:12px;display:flex}.sec-legend-item{align-items:center;gap:6px;display:inline-flex}.sec-dot{border-radius:3px;flex:none;width:9px;height:9px;display:inline-block}.chart-wrap{width:100%}.chart-plot{width:100%;position:relative}.chart-svg{width:100%;height:130px;display:block}.chart-svg-area{height:150px}.chart-axis{margin-top:7px;display:flex}.chart-axis-tick{text-align:center;min-width:0;color:var(--text3);white-space:nowrap;flex:1 1 0;font-size:10px;overflow:hidden}.chart-crosshair{background:var(--text3);opacity:.5;pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.chart-tip{z-index:5;pointer-events:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);min-width:116px;padding:8px 10px;position:absolute;top:4px}.chart-tip-title{color:var(--text3);margin-bottom:5px;font-size:11px}.chart-tip-row{align-items:center;gap:7px;font-size:12px;line-height:1.7;display:flex}.chart-tip-label{color:var(--text2)}.chart-tip-val{color:var(--text);margin-left:auto;font-weight:600}.sec-chips{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.sec-stat-chip{border-radius:var(--radius-sm);background:var(--surface2);border-left:3px solid var(--tone);padding:10px 12px}.sec-stat-chip-value{color:var(--text);font-size:20px;font-weight:700;line-height:1.1;display:block}.sec-stat-chip-label{color:var(--text3);font-size:11px}.segbar-wrap{width:100%}.segbar{background:var(--surface2);border-radius:7px;gap:2px;height:14px;display:flex;overflow:hidden}.segbar-seg{min-width:3px}.segbar-seg:first-child{border-radius:7px 0 0 7px}.segbar-seg:last-child{border-radius:0 7px 7px 0}.segbar-legend{flex-direction:column;gap:8px;margin-top:14px;display:flex}.segbar-legrow{align-items:center;gap:8px;font-size:13px;display:flex}.segbar-leglabel{color:var(--text2);font-variant-numeric:tabular-nums}.segbar-legval{color:var(--text);align-items:baseline;gap:6px;margin-left:auto;font-weight:600;display:inline-flex}.segbar-legpct{color:var(--text3);text-align:right;min-width:30px;font-size:11px;font-weight:500}.barlist{flex-direction:column;gap:11px;display:flex}.barlist-head{justify-content:space-between;gap:10px;margin-bottom:4px;font-size:12px;display:flex}.barlist-label{color:var(--text2);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;overflow:hidden}.barlist-value{color:var(--text);flex:none;font-weight:600}.barlist-track{background:var(--surface2);border-radius:4px;height:7px;overflow:hidden}.barlist-fill{height:100%;transition:width var(--transition);border-radius:4px}.sec-session-total{align-items:baseline;gap:8px;margin-bottom:14px;display:flex}.sec-session-num{color:var(--text);font-size:40px;font-weight:750;line-height:1}.sec-session-roles{flex-direction:column;gap:2px;display:flex}.sec-session-role{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:9px 0;display:flex}.sec-session-role-label{color:var(--text2);align-items:center;gap:9px;font-size:13px;display:inline-flex}.sec-session-role-label i{color:var(--text3);text-align:center;width:15px}.sec-session-role-count{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.sec-table{width:100%}.sec-table th.sec-num,.sec-table td.sec-num,.sec-cell-right{text-align:right}.sec-role{color:var(--text3);font-size:12px}.sec-ip{color:var(--text2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.sec-lastseen{color:var(--text3);white-space:nowrap;font-size:12px}.sec-zero{color:var(--text3)}.sec-reveal{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0 0 0 8px;font-size:11px}.sec-reveal:hover{text-decoration:underline}.sec-reveal:disabled{cursor:wait;opacity:.7;text-decoration:none}.sec-allclear{color:var(--green);justify-content:center;align-items:center;gap:9px;padding:22px;font-size:14px;font-weight:500;display:flex}.sec-allclear i{font-size:17px}@media (width<=520px){.sec-chips{grid-template-columns:1fr 1fr}.sec-header{gap:10px}.sec-toolbar{width:100%}.sec-range{flex:1}.sec-range-btn{flex:1;padding-inline:8px}.sec-updated{order:3;width:100%}}.sec-board{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.sec-board>*{width:100%;min-width:0}.sec-board>.b-kpi{grid-column:span 3}.sec-board>.b-half{grid-column:span 6}.sec-board>.b-full{grid-column:span 12}@media (width<=1080px){.sec-board>.b-kpi{grid-column:span 6}.sec-board>.b-half{grid-column:span 12}}@media (width<=560px){.sec-board{grid-template-columns:1fr}.sec-board>.b-kpi,.sec-board>.b-half,.sec-board>.b-full{grid-column:1/-1}}.sec-activity{padding:16px;overflow:hidden}.sec-activity-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.sec-sub{border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:18px 20px}@media (width<=720px){.sec-activity-grid{grid-template-columns:1fr}}.sec-sub-head{align-items:center;gap:9px;margin-bottom:14px;display:flex}.sec-sub-chip{width:30px;height:30px;color:var(--tone);background:var(--tone-soft);border-radius:8px;flex:none;place-items:center;font-size:13px;display:grid}.sec-sub-title{color:var(--text);font-size:13.5px;font-weight:650}.sec-sub-note{color:var(--text3);margin-top:12px;font-size:11px;line-height:1.5}.sec-sub-muted{color:var(--text3);padding:8px 0;font-size:13px}.sec-sess{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.sec-sess-num{color:var(--text);font-size:38px;font-weight:750;line-height:1}.sec-sess-roles{flex-direction:column;gap:7px;display:flex}.sec-sess-chip{color:var(--text2);align-items:center;gap:8px;font-size:13px;display:inline-flex}.sec-sess-chip i{color:var(--text3);text-align:center;width:15px}.sec-sess-chip b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}
