:root{--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", monospace;--bg-primary:#0a0f1d;--bg-secondary:#11182c;--bg-tertiary:#1a233d;--bg-elevated:#162038;--bg-glass:#11182cc7;--bg-glass-hover:#1a233de0;--text-main:#f8fafc;--text-muted:#94a3b8;--text-dim:#64748b;--border-subtle:#ffffff17;--border-strong:#ffffff2e;--border-glow:#6366f159;--primary:#6366f1;--primary-hover:#4f46e5;--primary-glow:#6366f159;--primary-light:#e0e7ff;--primary-gradient:linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #ec4899 100%);--accent-pink:#ec4899;--accent-coral:#f43f5e;--accent-orange:#f97316;--cyan:#06b6d4;--cyan-glow:#06b6d44d;--cyan-gradient:linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);--success:#10b981;--success-glow:#10b9814d;--success-bg:#10b98124;--success-gradient:linear-gradient(135deg, #10b981 0%, #059669 100%);--warning:#f59e0b;--warning-glow:#f59e0b4d;--warning-bg:#f59e0b24;--warning-gradient:linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--danger:#f43f5e;--danger-glow:#f43f5e4d;--danger-bg:#f43f5e24;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:26px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 8px -1px #0006, 0 2px 4px -1px #0000004d;--shadow-lg:0 12px 28px -3px #00000080, 0 6px 10px -2px #0006;--shadow-glow:0 0 30px var(--primary-glow);--shadow-card:0 10px 32px #0000006b;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.16, 1, .3, 1);--transition-smooth:.4s cubic-bezier(.16, 1, .3, 1)}[data-theme=light]{--bg-primary:#f6f8fd;--bg-secondary:#fff;--bg-tertiary:#edf2f9;--bg-elevated:#fff;--bg-glass:#ffffffe0;--bg-glass-hover:#edf2f9f2;--text-main:#0f172a;--text-muted:#475569;--text-dim:#94a3b8;--border-subtle:#0f172a14;--border-strong:#0f172a24;--border-glow:#6366f140;--shadow-sm:0 1px 3px 0 #0000000d;--shadow-md:0 4px 10px -1px #00000012;--shadow-lg:0 12px 30px -3px #6366f11a;--shadow-card:0 8px 30px #0000000a}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(circle at 10% 10%,#6366f129 0%,#0000 45%),radial-gradient(circle at 90% 12%,#ec489924 0%,#0000 45%),radial-gradient(circle,#06b6d41f 0%,#0000 55%),radial-gradient(circle at 85% 85%,#f59e0b1f 0%,#0000 45%);background-attachment:fixed;min-height:100vh;line-height:1.5;overflow-x:hidden}[data-theme=light] body{background-image:radial-gradient(circle at 10% 10%,#6366f114 0%,#0000 50%),radial-gradient(circle at 90% 12%,#ec48990f 0%,#0000 50%),radial-gradient(circle,#06b6d40f 0%,#0000 60%),radial-gradient(circle at 85% 85%,#f59e0b0f 0%,#0000 50%)}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:1.5rem 2rem 4rem}.navbar{z-index:100;-webkit-backdrop-filter:blur(16px);background:var(--bg-glass);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:.85rem 2rem;display:flex;position:sticky;top:0}.nav-left{align-items:center;gap:1.25rem;display:flex}.brand-logo{color:var(--text-main);letter-spacing:-.02em;align-items:center;gap:.65rem;font-size:1.25rem;font-weight:800;text-decoration:none;display:flex}.brand-icon{border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg,#6366f1 0%,#4338ca 100%);justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 0 15px #6366f166}.brand-badge{border-radius:var(--radius-full);color:#a5b4fc;text-transform:uppercase;letter-spacing:.05em;background:#6366f126;border:1px solid #6366f14d;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.role-switcher-container{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-full);align-items:center;padding:.25rem;display:flex}.role-btn{border-radius:var(--radius-full);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:.45rem;padding:.4rem 1rem;font-size:.85rem;font-weight:600;display:flex}.role-btn:hover{color:var(--text-main)}.role-btn.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px #6366f166}.nav-right{align-items:center;gap:1rem;display:flex}.user-badge{border-radius:var(--radius-full);background:var(--bg-elevated);border:1px solid var(--border-subtle);align-items:center;gap:.75rem;padding:.35rem .75rem;display:flex}.user-avatar{border-radius:var(--radius-full);color:#fff;background:linear-gradient(135deg,#06b6d4,#3b82f6);justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:700;display:flex}.user-avatar.lecturer{background:linear-gradient(135deg,#ec4899,#8b5cf6)}.user-info{flex-direction:column;display:flex}.user-name{color:var(--text-main);font-size:.825rem;font-weight:600;line-height:1.2}.user-role-label{color:var(--text-dim);font-size:.7rem}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.15rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, #4f46e5 100%);color:#fff;box-shadow:0 4px 14px #6366f159}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f180}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-main);border:1px solid var(--border-subtle)}.btn-secondary:hover{background:var(--bg-glass-hover);border-color:var(--border-strong)}.btn-success{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);box-shadow:0 4px 14px #10b98159}.btn-success:hover{transform:translateY(-1px);box-shadow:0 6px 20px #10b98180}.btn-acc{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);font-weight:700;animation:2s ease-in-out infinite pulse-soft;box-shadow:0 4px 16px #f59e0b59}.btn-acc:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 8px 25px #f59e0b80}.btn-sm{border-radius:var(--radius-sm);padding:.35rem .75rem;font-size:.775rem}.btn-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:all var(--transition-normal);padding:1.5rem;position:relative;overflow:hidden}.card:hover{border-color:var(--border-strong)}.card-glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle)}.glow-accent{background:linear-gradient(90deg, transparent, var(--primary), transparent);height:2px;position:absolute;top:0;left:0;right:0}.milestone-container{border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:linear-gradient(135deg,#1e293b99 0%,#0f172acc 100%);margin-bottom:2rem;padding:1.75rem 2rem;position:relative;overflow:hidden}.milestone-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.milestone-title-wrap{align-items:center;gap:.75rem;display:flex}.milestone-title{letter-spacing:-.02em;background:linear-gradient(135deg,#fff 0%,#cbd5e1 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.35rem;font-weight:800}.streak-pill{border-radius:var(--radius-full);color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.775rem;font-weight:700;display:flex}.milestone-steps{grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem;display:grid;position:relative}.milestone-step{text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.step-circle{border-radius:var(--radius-full);background:var(--bg-tertiary);border:2px solid var(--border-strong);width:44px;height:44px;color:var(--text-dim);z-index:2;transition:all var(--transition-normal);justify-content:center;align-items:center;margin-bottom:.75rem;font-size:.9rem;font-weight:700;display:flex}.milestone-step.completed .step-circle{background:var(--success);color:#fff;box-shadow:0 0 15px var(--success-glow);border-color:#34d399}.milestone-step.active .step-circle{background:var(--primary);color:#fff;box-shadow:0 0 20px var(--primary-glow);border-color:#818cf8;animation:2s infinite pulse-ring;transform:scale(1.1)}.step-label{color:var(--text-main);margin-bottom:.2rem;font-size:.825rem;font-weight:700}.step-desc{color:var(--text-muted);font-size:.725rem}.progress-bar-bg{border-radius:var(--radius-full);background:#ffffff14;width:100%;height:6px;margin-bottom:1.5rem;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-full);background:linear-gradient(90deg,#6366f1 0%,#06b6d4 50%,#10b981 100%);height:100%;transition:width .8s cubic-bezier(.16,1,.3,1)}.kanban-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:1.25rem;display:grid}.kanban-column{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#11182799;flex-direction:column;gap:1rem;padding:1.15rem;display:flex}.kanban-col-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-bottom:.65rem;display:flex}.kanban-col-title{color:var(--text-main);align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;display:flex}.kanban-count{border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-muted);padding:.15rem .5rem;font-size:.75rem;font-weight:700}.student-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.student-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.student-card-header{align-items:center;gap:.65rem;display:flex}.student-avatar{border-radius:var(--radius-full);color:#fff;background:linear-gradient(135deg,#3b82f6,#6366f1);justify-content:center;align-items:center;width:34px;height:34px;font-size:.8rem;font-weight:700;display:flex}.student-name-box{flex:1;overflow:hidden}.student-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:700;overflow:hidden}.student-nim{color:var(--text-dim);font-size:.725rem;font-family:var(--font-mono)}.student-title-snippet{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}.student-meta{border-top:1px solid var(--border-subtle);color:var(--text-dim);justify-content:space-between;align-items:center;padding-top:.5rem;font-size:.725rem;display:flex}.activity-badge{border-radius:var(--radius-full);align-items:center;gap:.35rem;padding:.15rem .45rem;font-size:.7rem;font-weight:600;display:inline-flex}.activity-badge.active{color:#34d399;background:#10b98126}.activity-badge.idle{color:#fbbf24;background:#f59e0b26}.activity-badge.stagnant{color:#fb7185;background:#f43f5e26}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000bf;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-xl);flex-direction:column;width:100%;max-width:1000px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #000000b3}.modal-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-tertiary);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-body{flex:1;padding:1.5rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-subtle);background:var(--bg-tertiary);justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.ai-summary-box{border-radius:var(--radius-lg);background:linear-gradient(135deg,#6366f11a 0%,#06b6d414 100%);border:1px solid #6366f140;margin-bottom:1.5rem;padding:1.25rem;position:relative}.ai-badge{border-radius:var(--radius-full);color:#fff;letter-spacing:.04em;background:linear-gradient(135deg,#6366f1,#8b5cf6);align-items:center;gap:.35rem;margin-bottom:.75rem;padding:.2rem .55rem;font-size:.725rem;font-weight:700;display:inline-flex}.voice-recorder-bar{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.voice-waveform{align-items:center;gap:4px;height:28px;display:flex}.wave-bar{background:var(--primary);border-radius:var(--radius-full);width:3px;height:6px;transition:height .1s}.recording .wave-bar{animation:1.2s ease-in-out infinite soundWave}.wave-bar:nth-child(2){animation-delay:.1s}.wave-bar:nth-child(3){animation-delay:.2s}.wave-bar:nth-child(4){animation-delay:.3s}.wave-bar:nth-child(5){animation-delay:.4s}.wave-bar:nth-child(6){animation-delay:.2s}.wave-bar:nth-child(7){animation-delay:.1s}.checklist-item{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-fast);align-items:flex-start;gap:.85rem;margin-bottom:.65rem;padding:.85rem 1rem;display:flex}.checklist-item:hover{border-color:var(--border-strong);background:var(--bg-elevated)}.checklist-item.done{opacity:.6}.checklist-item.done .checklist-text{color:var(--text-dim);text-decoration:line-through}.custom-checkbox{border:2px solid var(--border-strong);cursor:pointer;width:20px;height:20px;transition:all var(--transition-fast);background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.custom-checkbox.checked{background:var(--success);border-color:var(--success);color:#fff}@keyframes pulse-ring{0%{box-shadow:0 0 #6366f166}70%{box-shadow:0 0 0 10px #6366f100}to{box-shadow:0 0 #6366f100}}@keyframes pulse-soft{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes soundWave{0%,to{height:6px}50%{height:26px}}@media (width<=900px){.milestone-steps{grid-template-columns:repeat(2,1fr);gap:1.5rem}.main-content{padding:1rem 1rem 3rem}.navbar{padding:.75rem 1rem}}@keyframes pulse-warning-glow{0%{border-color:#f59e0bd9;box-shadow:0 0 #f59e0ba6,0 8px 25px #00000059}50%{border-color:#fbbf24;box-shadow:0 0 0 10px #f59e0b00,0 0 25px #f59e0b73}to{border-color:#f59e0bd9;box-shadow:0 0 #f59e0ba6,0 8px 25px #00000059}}@keyframes pulse-button-glow{0%,to{transform:scale(1);box-shadow:0 0 20px #f59e0b8c,0 4px 12px #d9770666}50%{transform:scale(1.025);box-shadow:0 0 32px #f59e0bd9,0 6px 18px #d9770699}}@keyframes attention-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}.submit-alert-card{background:linear-gradient(135deg,#f59e0b29 0%,#d977061f 100%);border:1.5px solid #f59e0b;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.25rem 1.6rem;animation:2.8s ease-in-out infinite pulse-warning-glow;display:flex;position:relative;overflow:hidden}.submit-alert-card:before{content:"";background:linear-gradient(90deg,#f59e0b,#fbbf24,#f97316);height:3px;position:absolute;top:0;left:0;right:0}.btn-submit-review-hero{cursor:pointer;text-shadow:0 1px 2px #0000004d;white-space:nowrap;background:linear-gradient(135deg,#f59e0b 0%,#ea580c 100%);border:1px solid #ffffff40;border-radius:12px;align-items:center;gap:.6rem;padding:.75rem 1.45rem;font-size:.925rem;font-weight:800;transition:all .2s cubic-bezier(.16,1,.3,1);animation:2.2s ease-in-out infinite pulse-button-glow;display:inline-flex;color:#fff!important}.btn-submit-review-hero:hover{background:linear-gradient(135deg,#fbbf24 0%,#ea580c 100%);transform:translateY(-2px)scale(1.04);box-shadow:0 0 35px #f59e0bf2}.btn-submit-review-hero:active{transform:translateY(1px)scale(.98)}@keyframes float-badge{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-8px)rotate(1.2deg)}}.floating-milestone-badge{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .3s cubic-bezier(.16,1,.3,1);animation:3.6s ease-in-out infinite float-badge}.floating-milestone-badge:hover{filter:drop-shadow(0 14px 25px #10b98180);transform:translateY(-10px)scale(1.05)rotate(2deg)}.floating-milestone-badge:active{transform:scale(.96)rotate(-1deg)}.approved-banner-compact{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}@media (width<=868px){.approved-banner-compact{flex-direction:column-reverse;align-items:stretch}}.mobile-hamburger-btn,.mobile-only-close-btn,.mobile-bottom-nav{display:none!important}.app-sidebar-backdrop{display:none}.sidebar-nav-scroll{scrollbar-width:thin;scrollbar-color:#94a3b840 transparent}.sidebar-nav-scroll::-webkit-scrollbar{width:4px}.sidebar-nav-scroll::-webkit-scrollbar-track{background:0 0}.sidebar-nav-scroll::-webkit-scrollbar-thumb{background:#94a3b838;border-radius:999px}.sidebar-nav-scroll::-webkit-scrollbar-thumb:hover{background:#94a3b873}.app-sidebar{scrollbar-width:thin;scrollbar-color:#94a3b833 transparent}.app-sidebar::-webkit-scrollbar{width:4px}.app-sidebar::-webkit-scrollbar-track{background:0 0}.app-sidebar::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:999px}@media (width<=768px){.desktop-only-collapse-btn{display:none!important}.mobile-hamburger-btn,.mobile-only-close-btn{display:inline-flex!important}.mobile-bottom-nav{display:flex!important}.app-sidebar{overflow-y:auto;transform:translate(-100%);z-index:1050!important;-webkit-backdrop-filter:blur(24px)!important;width:290px!important;min-width:290px!important;max-width:85vw!important;height:100vh!important;box-shadow:none!important;background:#0f172af7!important;transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important}.app-sidebar.mobile-open{transform:translate(0)!important;box-shadow:20px 0 50px #000000bf!important}.app-sidebar-backdrop{-webkit-backdrop-filter:blur(5px);z-index:1040;opacity:0;pointer-events:none;background:#060a14b8;transition:opacity .25s;display:block;position:fixed;inset:0}.app-sidebar-backdrop.active{opacity:1;pointer-events:auto}.main-content{padding:1rem .85rem 6.5rem!important}header{padding:0 1rem!important}.header-breadcrumbs .breadcrumb-brand,.header-breadcrumbs .breadcrumb-slash:first-of-type{display:none}.header-breadcrumbs .breadcrumb-role{font-size:.75rem!important}.header-breadcrumbs .breadcrumb-title{white-space:nowrap;text-overflow:ellipsis;max-width:140px;overflow:hidden;font-size:.78rem!important}}@media (width<=480px){.mobile-bottom-nav{height:60px!important;bottom:8px!important;left:8px!important;right:8px!important}.mobile-bottom-nav-item span{font-size:.625rem!important}.main-content{padding:.85rem .65rem 6rem!important}}.mobile-segment-control{background:var(--bg-tertiary);border:1px solid var(--border-subtle);scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:14px;gap:4px;padding:4px;display:none;overflow-x:auto}.mobile-segment-control::-webkit-scrollbar{display:none}.mobile-segment-btn{min-width:fit-content;color:var(--text-muted);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:.45rem;padding:.55rem .85rem;font-size:.775rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.mobile-segment-btn:hover{color:var(--text-main);background:#ffffff0d}.mobile-segment-btn.active{color:#fff;background:linear-gradient(135deg,#6366f147,#06b6d42e);border:1px solid #6366f18c;box-shadow:0 2px 10px #00000040}.student-section-roadmap,.student-section-draft{flex-direction:column;gap:1.5rem;display:flex!important}@media (width<=768px){.mobile-segment-control{display:flex!important}.student-section-roadmap.mobile-hidden,.student-section-draft.mobile-hidden,.kanban-column.mobile-hidden{display:none!important}}@keyframes bottomSheetSlideUp{0%{opacity:.5;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-content:before{display:none}@media (width<=768px){.modal-overlay{-webkit-backdrop-filter:blur(8px)!important;background:#050810d1!important;align-items:flex-end!important;padding:0!important}.modal-content{overflow:hidden;border:none!important;border-top:1.5px solid #ffffff2e!important;border-radius:24px 24px 0 0!important;width:100%!important;max-width:100%!important;max-height:90vh!important;animation:.3s cubic-bezier(.16,1,.3,1) bottomSheetSlideUp!important;box-shadow:0 -10px 40px #000000bf!important}.modal-content:before{content:"";background:#ffffff4d;border-radius:999px;flex-shrink:0;width:44px;height:5px;margin:10px auto 4px;display:block}.modal-header{background:var(--bg-tertiary);padding:.85rem 1.15rem!important}.modal-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:1.15rem!important}.modal-footer{padding:.85rem 1.15rem calc(.85rem + env(safe-area-inset-bottom,0px))!important}.modal-body>div[style*="background: rgb(255, 255, 255)"],.modal-body>div[style*="background: #ffffff"]{padding:1.25rem 1rem!important;overflow-x:auto!important}.card{border-radius:16px!important;padding:1.15rem 1rem!important}.milestone-container{padding:1.15rem 1rem!important}.progress-wall-container>div:first-child{border-radius:18px!important;padding:1.25rem 1.15rem!important}.modal-tab-bar{gap:.4rem!important;padding:.5rem .85rem!important}}.chat-mobile-back-btn{display:none!important}@keyframes typingPulse{0%,to{opacity:.3}50%{opacity:1}}.typing-dots{letter-spacing:2px;color:var(--primary-light);animation:1.2s ease-in-out infinite typingPulse}@media (width>=769px){.chat-online-badge{display:inline-block!important}.chat-send-btn-label{display:inline!important}}@media (width<=768px){.chat-room-container{border-radius:18px!important;height:calc(100vh - 130px)!important;min-height:480px!important}.chat-mobile-back-btn{display:inline-flex!important}.chat-sidebar-pane.mobile-hide{display:none!important}.chat-sidebar-pane.mobile-show{width:100%!important;display:flex!important}.chat-main-pane.mobile-hide{display:none!important}.chat-main-pane.mobile-show{width:100%!important;display:flex!important}}
