:root{--bg-color: #000000;--card-bg: #0d0d0d;--border-color: rgba(255, 255, 255, .1);--text-primary: #ececec;--text-secondary: #8e8ea0;--color-primary: #e81cff;--color-primary-hover: #b010c2;--color-red: #ef4444;--color-mandatory: #f59e0b;--color-upgrade: #10a37f;--color-safe: #3b82f6;--color-neutral: #4b5563;--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:var(--bg-color);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;overflow:hidden}.layer{position:absolute;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;z-index:10;opacity:0;pointer-events:none;transition:opacity .6s ease;background-color:transparent;overflow:hidden}.layer.active{opacity:1;pointer-events:all;z-index:20}#dashboard-layer{overflow-y:auto}#intro-layer{display:flex;justify-content:center;align-items:center;transition:background-color 1s ease-in}#intro-layer.zoom-bg{background-color:var(--color-primary)}.liquid-bg{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;display:flex;justify-content:center;align-items:center;z-index:0;background-color:var(--bg-color)}.blob{position:absolute;filter:blur(100px);border-radius:50%;opacity:0;mix-blend-mode:screen;will-change:transform,opacity;transition:opacity 1.5s ease-in}.liquid-bg.show .blob{opacity:.9}.blob-1{width:50vw;height:50vw;max-width:600px;max-height:600px;background:var(--color-primary);animation:swirl 8s infinite linear}.blob-2{width:60vw;height:60vw;max-width:800px;max-height:800px;background:#701cff;animation:swirl 12s infinite linear reverse;transform-origin:200px 200px}.blob-3{width:40vw;height:40vw;max-width:500px;max-height:500px;background:#ff1c8b;animation:swirl 10s infinite ease-in-out;transform-origin:-150px -100px}@keyframes swirl{0%{transform:rotate(0) translate(80px) scale(1)}50%{transform:rotate(180deg) translate(80px) scale(1.1)}to{transform:rotate(360deg) translate(80px) scale(1)}}.glass-overlay{position:absolute;top:0;left:0;right:0;bottom:0;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);background:#000000a6;z-index:1;pointer-events:none}.axiom-text{position:relative;z-index:3;font-family:var(--font-family);font-size:8vw;font-weight:800;color:#fff;letter-spacing:-.04em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transform:translateZ(0);will-change:transform,color,opacity;transition:color 2s ease-in-out,opacity 1s ease-in;margin:0}.axiom-text.magenta{color:var(--color-primary);text-shadow:0 0 50px rgba(232,28,255,.4)}.axiom-text.zoom{transition:transform 1.2s cubic-bezier(.8,0,.2,1),opacity .6s ease-in .4s!important;transform:scale(60) translateZ(0)!important;opacity:0}#login-layer{display:flex;justify-content:center;align-items:center}.login-card{width:100%;max-width:360px;text-align:center;animation:fadeUp 1s cubic-bezier(.8,0,.2,1) .5s both;background:#0f0f0f80;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2.5rem 2rem;box-shadow:0 30px 60px #0006}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes nameReveal{0%{opacity:0;transform:translateY(10px) scale(.92);filter:blur(6px)}60%{opacity:1;filter:blur(0px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0px)}}#welcome-heading{transition:none}#welcome-heading .user-name{display:inline-block;color:var(--color-primary);animation:nameReveal .55s cubic-bezier(.22,1,.36,1) both}.login-card h2{font-size:2.2rem;font-weight:600;letter-spacing:-.02em;margin-bottom:.2rem;color:#fff}.login-card p{color:var(--text-secondary);font-size:.95rem;margin-bottom:2.5rem}.input-field{margin-bottom:1rem}.input-field input{width:100%;background:#1e1e1e;border:1px solid var(--border-color);border-radius:8px;padding:.8rem 1rem;color:#fff;font-size:1rem;font-family:var(--font-family);transition:border-color .2s}.input-field input:focus{outline:none;border-color:var(--color-primary)}.primary-btn{width:100%;background:var(--color-primary);color:#fff;border:none;padding:.9rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;margin-top:1rem;transition:background .2s}.primary-btn:hover{background:var(--color-primary-hover)}.app-container{max-width:1100px;margin:0 auto;padding:3rem 2rem}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.header-content h1{font-size:2rem;font-weight:700;color:var(--color-primary);letter-spacing:-.02em}.header-content p{color:var(--text-secondary);font-size:1rem;margin-top:.2rem}.overall-badge{font-size:1.2rem;font-weight:600;border:1px solid var(--color-primary);color:var(--color-primary);padding:.5rem 1rem;border-radius:20px}.logout-btn{background:transparent;border:1px solid rgba(255,255,255,.12);color:var(--text-secondary);font-family:var(--font-family);font-size:.9rem;font-weight:500;padding:.5rem 1.1rem;border-radius:20px;cursor:pointer;transition:all .25s ease;letter-spacing:.01em}.logout-btn:hover{background:#ef44441a;border-color:var(--color-red);color:var(--color-red)}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.subject-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:1.2rem}.subject-name{color:var(--text-primary);font-size:1.2rem;font-weight:600}.count-display{font-size:1.1rem;color:var(--text-secondary);font-weight:500}.count-display .attended-val{color:#fff;font-size:1.3rem;font-weight:600}.stats-grid{display:flex;gap:1rem;background:#ffffff08;border-radius:8px;padding:1rem}.stat-box{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem}.stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;font-weight:600}.stat-value{font-size:1.5rem;font-weight:600}.notification-area{display:flex;flex-direction:column;gap:.8rem;min-height:80px}.badge{display:inline-block;padding:.3rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;background:var(--color-neutral);color:#fff}.tactical-advice{font-size:.9rem;line-height:1.5;color:var(--text-secondary)}.sim-controls{display:flex;gap:.5rem;border-top:1px solid var(--border-color);padding-top:1rem;margin-top:.5rem}.sim-btn{flex:1;background:#1a1a1a;border:1px solid var(--border-color);color:var(--text-primary);padding:.6rem;border-radius:6px;cursor:pointer;font-weight:500;font-family:var(--font-family);transition:all .2s}.sim-btn:hover{background:#2a2a2a}.sim-bunk:hover{border-color:var(--color-red);color:var(--color-red)}.sim-attend:hover{border-color:var(--color-upgrade);color:var(--color-upgrade)}.sim-btn.active{background:#333}.status-red .badge{background:var(--color-red)}.status-red .percentage-display{color:var(--color-red)}.status-mandatory .badge{background:var(--color-mandatory);color:#000}.status-mandatory .percentage-display{color:var(--color-mandatory)}.status-upgrade .badge{background:var(--color-upgrade);color:#000}.status-safe .badge{background:var(--color-safe)}.status-neutral .badge{background:var(--color-neutral)}.about-btn{background:transparent;border:1px solid rgba(255,255,255,.12);color:var(--text-secondary);font-family:var(--font-family);font-size:.9rem;font-weight:500;padding:.5rem 1.1rem;border-radius:20px;cursor:pointer;transition:all .25s ease}.about-btn:hover{background:#e81cff1a;border-color:var(--color-primary);color:var(--color-primary)}.about-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;justify-content:center;align-items:center;padding:1rem}.about-modal.hidden{display:none}.about-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.about-card{position:relative;z-index:1;background:#0d0d0df2;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2.5rem;max-width:540px;width:100%;box-shadow:0 40px 80px #0009;animation:fadeUp .4s cubic-bezier(.22,1,.36,1) both;border-top:2px solid var(--color-primary)}.about-close{position:absolute;top:1.2rem;right:1.4rem;background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;line-height:1;transition:color .2s}.about-close:hover{color:#fff}.about-logo{font-size:1.6rem;font-weight:800;color:var(--color-primary);letter-spacing:-.03em;margin-bottom:.3rem}.about-tagline{font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem}.about-desc{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.about-team{display:flex;flex-direction:column;gap:1.2rem;margin-bottom:2rem}.about-member{display:flex;gap:1rem;align-items:flex-start}.about-avatar{width:42px;height:42px;border-radius:50%;background:#ffffff0f;border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--text-secondary);flex-shrink:0;letter-spacing:.02em}.about-member.lead .about-avatar{background:#e81cff26;border-color:var(--color-primary);color:var(--color-primary)}.about-info h3{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.15rem}.about-role{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary);display:block;margin-bottom:.35rem}.about-member.lead .about-role{color:var(--color-primary)}.about-member:not(.lead) .about-role{color:var(--color-safe)}.about-member:last-child .about-role{color:var(--color-upgrade)}.about-info p{font-size:.82rem;color:var(--text-secondary);line-height:1.5}.about-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1.2rem;border-top:1px solid var(--border-color);font-size:.8rem;color:var(--text-secondary)}.about-github{color:var(--color-primary);text-decoration:none;font-weight:500;font-size:.82rem;transition:opacity .2s}.about-github:hover{opacity:.7}.about-footer-links{display:flex;gap:1rem;align-items:center}.about-docs-btn{color:var(--color-safe)!important}.ise-panel{margin-bottom:2.5rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;padding:1.5rem;border-left:3px solid var(--color-primary)}.ise-panel-header{display:flex;align-items:center;gap:.8rem;margin-bottom:1.5rem}.ise-panel-icon{font-size:1.4rem}.ise-panel-header h2{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.ise-subtitle{font-size:.8rem;color:var(--text-secondary);margin-left:auto;text-transform:uppercase;letter-spacing:.05em}.ise-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.8rem}.ise-card{background:#ffffff08;border:1px solid var(--border-color);border-radius:10px;padding:1rem;display:flex;flex-direction:column;gap:.4rem;transition:border-color .2s,background .2s;position:relative;overflow:hidden}.ise-card.urgent{border-color:#ef444480;background:#ef44440f}.ise-card.soon{border-color:#f59e0b80;background:#f59e0b0f}.ise-card.done{opacity:.45}.ise-card-subject{font-size:.9rem;font-weight:600;color:var(--text-primary)}.ise-card-type{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary)}.ise-card-date{font-size:.85rem;color:var(--text-secondary);margin-top:.2rem}.ise-card-countdown{font-size:.75rem;font-weight:600;margin-top:.4rem;border-radius:4px;padding:.2rem .4rem;display:inline-block;width:fit-content}.ise-card.urgent .ise-card-countdown{background:#ef444433;color:#ef4444}.ise-card.soon .ise-card-countdown{background:#f59e0b33;color:#f59e0b}.ise-card.done .ise-card-countdown{background:#ffffff0f;color:var(--text-secondary)}.toast-container{position:fixed;bottom:2rem;right:2rem;display:flex;flex-direction:column;gap:1rem;z-index:1000;pointer-events:none}.toast{background:#0f0f0fcc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);padding:1.2rem 1.5rem;border-radius:12px;color:#fff;min-width:320px;max-width:400px;display:flex;flex-direction:column;gap:.4rem;transform:translate(120%);opacity:0;transition:transform .5s cubic-bezier(.175,.885,.32,1.275),opacity .5s ease;box-shadow:0 10px 40px #0009;pointer-events:auto}.toast.show{transform:translate(0);opacity:1}.toast h4{font-size:.95rem;font-weight:600;letter-spacing:-.01em}.toast p{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.toast.danger{border-left:4px solid var(--color-red)}.toast.upgrade{border-left:4px solid var(--color-upgrade)}.toast.info{border-left:4px solid var(--color-safe)}
