:root{--background:#fff;--foreground:#1c1917;--primary:#105934;--primary-foreground:#fff;--secondary:#f4f4f5;--secondary-foreground:#18181b;--muted:#f4f4f5;--muted-foreground:#71717a;--accent:#f4f4f5;--accent-foreground:#18181b;--destructive:#ef4444;--destructive-foreground:#fafafa;--border:#e2e8f0;--input:#e2e8f0;--ring:#105934;--radius:.5rem}*{box-sizing:border-box}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px}body:before{content:"";z-index:9999;pointer-events:none;-webkit-app-region:drag;background:0 0;width:100%;height:35px;position:fixed;top:0;left:0}#root,.toast-container,button,input,select,textarea,a,label,.clickable{-webkit-app-region:no-drag}h1,h2,h3,h4,h5,h6{color:var(--foreground);margin:0}.text-white{color:#fff!important}h6{color:var(--foreground);letter-spacing:-.025em;font-weight:700}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.toast-container{z-index:10000;pointer-events:none;flex-direction:column;gap:.75rem;display:flex;position:fixed;top:2rem;right:2rem}.toast-item{pointer-events:auto;background:#fff;border:1px solid #0000000a;border-radius:16px;align-items:center;gap:1rem;min-width:320px;max-width:450px;padding:1rem;animation:.4s cubic-bezier(.16,1,.3,1) toastIn;display:flex;box-shadow:0 10px 30px #00000014}@keyframes toastIn{0%{opacity:0;transform:translate(100%)scale(.9)}to{opacity:1;transform:translate(0)scale(1)}}.toast-item.success{border-left:4px solid #10b981}.toast-item.error{border-left:4px solid #ef4444}.toast-item.info{border-left:4px solid #3b82f6}.toast-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.success .toast-icon{color:#10b981;background:#dcfce7}.error .toast-icon{color:#ef4444;background:#fee2e2}.info .toast-icon{color:#3b82f6;background:#dbeafe}.toast-content{flex:1}.toast-content p{color:#1e293b;margin:0;font-size:.85rem;font-weight:700;line-height:1.4}.toast-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:.25rem;transition:color .2s}.toast-close:hover{color:#64748b}.toast-item.priority-critical{background:linear-gradient(135deg,#fff,#fef2f2);border:2px solid #ef4444;border-left-width:6px;animation:.4s cubic-bezier(.16,1,.3,1) toastIn,2.5s ease-in-out infinite toastPulse;box-shadow:0 12px 40px #ef444440}@keyframes toastPulse{0%,to{transform:scale(1);box-shadow:0 12px 40px #ef444440}50%{transform:scale(1.02);box-shadow:0 16px 50px #ef444473}}.toast-item.priority-important{background:linear-gradient(135deg,#fff,#fffbeb);border-left:5px solid #f59e0b;box-shadow:0 10px 30px #f59e0b26}.toast-item.clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.toast-item.clickable:hover{transform:translateY(-2px);box-shadow:0 15px 35px #0000001f}select{appearance:none;color:#1e293b;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right .7rem center;background-repeat:no-repeat;background-size:1.2em;padding-right:2.5rem}select option{padding:12px;font-weight:600;color:#1e293b!important;background-color:#fff!important}.dark{--background:#0f172a;--foreground:#f8fafc;--primary:#16a34a;--primary-foreground:#022c22;--secondary:#1e293b;--secondary-foreground:#f8fafc;--muted:#1e293b;--muted-foreground:#94a3b8;--accent:#1e293b;--accent-foreground:#f8fafc;--destructive:#ef4444;--destructive-foreground:#f8fafc;--border:#334155;--input:#334155;--ring:#16a34a}html.dark .section-card,html.dark .card,html.dark .modal,html.dark .table-container,html.dark .form-container,html.dark .info-card,html.dark .stat-card,html.dark .explorer-card,html.dark .data-table,html.dark .detail-panel,html.dark .list-container,html.dark .settings-card{color:#f8fafc!important;background-color:#1e293b!important;border-color:#334155!important}html.dark input,html.dark select,html.dark textarea{color:#f8fafc!important;background-color:#0f172a!important;border-color:#334155!important}html.dark table th,html.dark table td{color:#f8fafc!important;border-color:#334155!important}html.dark table th{background-color:#0f172a!important}html.dark table tr:hover td{background-color:#33415580!important}html.dark .text-muted,html.dark .subtitle,html.dark .help-text{color:#94a3b8!important}html.dark .recent-arrivals-section{color:#f8fafc!important;background-color:#1e293b!important;border-color:#334155!important}html.dark .btn-header-action{color:#94a3b8!important;background-color:#0f172a!important;border-color:#334155!important}html.dark .btn-header-action.active{background-color:var(--primary)!important;color:#fff!important}html.dark .student-table-card,html.dark .teacher-table-card,html.dark .subject-table-card,html.dark .classroom-table-card,html.dark .timetable-container{color:#f8fafc!important;background:#1e293b!important;border-color:#334155!important}html.dark .student-data-table,html.dark .teacher-data-table,html.dark .subject-data-table,html.dark .classroom-data-table{color:#f8fafc!important;background:#1e293b!important}html.dark .student-data-table th,html.dark .teacher-data-table th,html.dark .subject-data-table th,html.dark .classroom-data-table th{color:#f8fafc!important;background:#0f172a!important;border-bottom-color:#334155!important}html.dark .student-data-table td,html.dark .teacher-data-table td,html.dark .subject-data-table td,html.dark .classroom-data-table td{color:#e2e8f0!important;border-bottom-color:#334155!important}html.dark .student-data-table tr:hover td,html.dark .teacher-data-table tr:hover td,html.dark .subject-data-table tr:hover td,html.dark .classroom-data-table tr:hover td{background:#33415566!important}html.dark .table-controls,html.dark .management-header-row{border-color:#334155!important}html.dark .search-box input,html.dark .filter-box select{color:#f8fafc!important;background:#0f172a!important;border-color:#334155!important}html.dark .search-box input::placeholder{color:#64748b!important}html.dark .student-name,html.dark .teacher-name,html.dark .subject-name,html.dark .classroom-name{color:#f8fafc!important}html.dark .student-email,html.dark .student-id,html.dark .teacher-email,html.dark .teacher-department,html.dark .subject-code,html.dark .classroom-capacity{color:#94a3b8!important}html.dark .year-badge,html.dark .stream-badge{color:#e2e8f0!important;background:#f8fafc1a!important;border-color:#334155!important}html.dark .btn-edit,html.dark .btn-delete{background:#0f172a!important;border-color:#334155!important}html.dark .btn-edit:hover{color:#38bdf8!important;background:#334155!important}html.dark .btn-delete:hover{color:#f87171!important;background:#450a0a!important;border-color:#7f1d1d!important}html.dark .management-context-pill{background:#1e293b!important;border-color:#334155!important}html.dark .management-context-pill .title{color:#f8fafc!important}html.dark .action-btn-outline{color:#f8fafc!important;background:#1e293b!important;border-color:#334155!important}html.dark .action-btn-outline:hover{background:#334155!important}html.dark .search-box{background:#0f172a!important;border-color:#334155!important}html.dark .search-box input{background:0 0!important}html.dark .dashboard-modal-container{background:#1e293b!important;border-color:#334155!important}html.dark .dashboard-modal-header{border-bottom-color:#334155!important}html.dark .dashboard-modal-header h3{color:#f8fafc!important}html.dark .dashboard-modal-close{color:#f8fafc!important;background:#0f172a!important;border-color:#334155!important}html.dark .dashboard-modal-close:hover{color:#fff!important;background:#f87171!important;border-color:#f87171!important}html.dark .no-active-sessions{color:#94a3b8!important;background:0 0!important}html.dark .explorer-card{background:#0f172a!important;border-color:#334155!important}html.dark .explorer-card-header .title{color:#f8fafc!important}html.dark .explorer-card-header p{color:#94a3b8!important}html.dark .modal-state-message{color:#f8fafc!important}html.dark .dashboard-modal-overlay{background:#020617b3!important}html.dark .explorer-grid,html.dark .present-students-list,html.dark .dashboard-modal-body{background:#1e293b!important}html.dark .present-student-item{color:#f8fafc!important;background:#0f172a!important;border-color:#334155!important}html.dark .present-student-item .student-name{color:#f8fafc!important}html.dark .present-student-item .student-email,html.dark .present-student-item .student-id{color:#94a3b8!important}.queue-ui-container{z-index:9999;pointer-events:none;flex-direction:column;gap:12px;width:320px;display:flex;position:fixed;bottom:24px;right:24px}.queue-ui-active,.queue-ui-pending{pointer-events:auto;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;box-shadow:0 10px 25px #0000001a}.queue-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.queue-title{color:#334155;font-size:14px}.queue-stop-btn{color:#ef4444;cursor:pointer;background:#fee2e2;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.queue-stop-btn:hover{color:#b91c1c;background:#fca5a5}.queue-modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10000;background:#0006;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.queue-modal{background:#fff;border-radius:12px;width:400px;max-width:90vw;padding:24px;box-shadow:0 20px 40px #0003}.queue-modal h3{color:#1e293b;margin-top:0;margin-bottom:12px;font-size:18px}.queue-modal p{color:#475569;margin-bottom:24px;font-size:14px;line-height:1.5}.queue-modal-actions{justify-content:flex-end;gap:12px;display:flex}.queue-modal-actions button{cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.queue-modal-actions .btn-outline{color:#475569;background:0 0;border:1px solid #cbd5e1}.queue-modal-actions .btn-outline:hover{background:#f8fafc}.queue-modal-actions .btn-danger{color:#ef4444;background:#fef2f2;border:1px solid #fecaca}.queue-modal-actions .btn-danger:hover{background:#fee2e2}.queue-modal-actions .btn-danger-strong{color:#fff;background:#ef4444}.queue-modal-actions .btn-danger-strong:hover{background:#dc2626}.queue-progress-bar-container{background:#f1f5f9;border-radius:3px;height:6px;margin-bottom:8px;overflow:hidden}.queue-progress-bar-fill{background:#22c55e;border-radius:3px;height:100%;transition:width .3s}.queue-progress-label{color:#64748b;align-items:center;gap:6px;font-size:12px;display:flex}.spinner{animation:1s linear infinite spin}.queue-ui-pending{color:#64748b;text-align:center;background:#f8fafc;padding:10px 16px;font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.queue-ui-failed{pointer-events:auto;background:#fff;border:1px solid #fecaca;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex;box-shadow:0 10px 25px #0000001a}.queue-failed-header{color:#b91c1c;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.queue-failed-item{background:#fef2f2;border:1px solid #fee2e2;border-radius:8px;flex-direction:column;gap:6px;padding:10px;display:flex}.queue-failed-title{color:#991b1b;font-size:13px;font-weight:600}.queue-failed-error{color:#ef4444;word-break:break-word;font-size:12px;line-height:1.4}.queue-failed-actions{gap:8px;margin-top:4px;display:flex}.queue-failed-actions button{cursor:pointer;border:none;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:600;transition:all .2s}.btn-retry{color:#fff;background:#ef4444}.btn-retry:hover{background:#dc2626}.btn-dismiss{color:#64748b;background:0 0;border:1px solid #cbd5e1!important}.btn-dismiss:hover{background:#f1f5f9}.queue-edit-form{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.queue-edit-form .form-group{flex-direction:column;gap:4px;display:flex}.queue-edit-form label{color:#475569;font-size:12px;font-weight:600}.queue-edit-form input,.queue-edit-form select{border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:8px;font-size:14px}.queue-edit-form input:focus,.queue-edit-form select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.queue-modal-actions .btn-primary{color:#fff;background:#105934}.queue-modal-actions .btn-primary:hover{background:#0d4a2b}:root{--sidebar-bg:#f8faf9;--promo-bg:#0d3d25}body{background-color:var(--background);margin:0;padding:0}.app-container{width:100vw;height:100vh;color:var(--foreground);background-color:#f1f5f9;gap:10px;padding:10px;display:flex;overflow:hidden}.sidebar{background-color:var(--sidebar-bg);border-radius:32px;flex-direction:column;flex-shrink:0;width:280px;height:100%;padding:2.5rem 1.5rem;transition:all .3s;display:flex;box-shadow:0 4px 15px #00000005}.sidebar-header{justify-content:space-between;align-items:center;margin-bottom:2.5rem;transition:all .3s;display:flex;position:relative}.sidebar.collapsed{width:90px;padding:2.5rem 1rem}.sidebar.collapsed .sidebar-header{justify-content:center}.logo{color:#111827;align-items:center;gap:.75rem;font-size:1.4rem;font-weight:700;display:flex;overflow:hidden}.logo-text{color:var(--primary);white-space:nowrap;font-weight:800}.sidebar-toggle-btn{cursor:pointer;width:32px;height:32px;color:var(--primary);background:#fff;border:1px solid #0000000a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex;box-shadow:0 2px 8px #0000000a}.sidebar-toggle-btn:hover{background-color:var(--background);transform:scale(1.05)}.sidebar.collapsed .logo{transition:opacity .2s}.sidebar.collapsed .sidebar-header:hover .logo{opacity:0}.sidebar.collapsed .sidebar-toggle-btn{opacity:0;pointer-events:none;z-index:100;background:#fff;border:1px solid #0000000d;border-radius:10px;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.8);box-shadow:0 4px 12px #00000014}.sidebar.collapsed .sidebar-header:hover .sidebar-toggle-btn{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)scale(1.1)}.nav-section-label{color:#94a3b8;letter-spacing:.1em;opacity:.8;margin-bottom:1rem;padding-left:1.25rem;font-size:.65rem;font-weight:800}.sidebar-nav{flex-direction:column;flex:1;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-thumb{background:#0000000d;border-radius:10px}.nav-item{color:#64748b;border-radius:14px;align-items:center;gap:1.15rem;margin-bottom:.4rem;padding:.9rem 1.5rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.sidebar.collapsed .nav-item{justify-content:center;width:50px;margin:0 auto .25rem;padding:.85rem 0}.nav-item:hover{color:var(--primary);background-color:#10593405}.nav-item.active{color:var(--primary);background:#1059340f}.nav-item.active:before{content:"";background-color:var(--primary);border-radius:0 4px 4px 0;width:4px;height:22px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar.collapsed .nav-item.active:before{width:4px;height:20px}.logout-nav-btn{color:#ef4444;margin-top:1rem}.logout-nav-btn:hover{color:#ef4444;background-color:#fee2e2}.sidebar-footer{border-top:1px solid #0000000d;margin-top:auto;padding:1.5rem}.main-content{background-color:#fff;border-radius:32px;flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden;box-shadow:0 4px 15px #00000005}.top-navbar-container{z-index:100;flex-shrink:0;padding:.6rem 2rem .1rem;position:relative}.top-navbar-card{background-color:#f8fafc;border-radius:24px;justify-content:space-between;align-items:center;padding:.35rem 1rem;display:flex;box-shadow:0 2px 10px #00000005}.mobile-menu-btn,.mobile-close-btn{cursor:pointer;color:var(--primary);background:0 0;border:none;outline:none;justify-content:center;align-items:center;padding:0;display:none}.desktop-only{display:flex}.top-navbar-left{flex:1;align-items:center;gap:1rem;display:flex}.search-wrapper{background-color:#fff;border-radius:16px;align-items:center;gap:.75rem;width:100%;max-width:400px;padding:.5rem 1rem;display:flex;box-shadow:0 2px 5px #00000005}.search-icon{color:#94a3b8}.top-search-input{color:#1e293b;background:0 0;border:none;outline:none;flex:1;font-size:.9rem}.top-search-input::placeholder{color:#94a3b8}.search-hint{color:#64748b;background-color:#f1f5f9;border-radius:8px;justify-content:center;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:flex}.top-navbar-right{align-items:center;gap:.5rem;transition:margin-right .3s;display:flex}.top-navbar-right.electron-controls-offset{margin-right:140px}.circle-btn{color:#64748b;cursor:pointer;background-color:#fff;border:1px solid #0000000a;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:relative;box-shadow:0 2px 5px #00000005}.circle-btn:hover{color:var(--primary);background-color:#f8fafc}.user-profile-widget{cursor:pointer;background-color:#fff;border-radius:16px;align-items:center;gap:.75rem;padding:.4rem .6rem;transition:all .2s;display:flex;position:relative;box-shadow:0 2px 5px #00000005}.user-profile-widget:hover{background-color:#f1f5f9}.profile-chevron{color:#94a3b8;transition:transform .3s}.profile-chevron.open{transform:rotate(90deg)}.profile-dropdown{z-index:9999;background:#fff;border:1px solid #0000000a;border-radius:20px;min-width:240px;padding:.75rem;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 15px 45px #0000001f}.dropdown-section{flex-direction:column;gap:2px;display:flex}.dropdown-primary-btn{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-bottom:.75rem;padding:.85rem;font-size:.85rem;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #10593426}.dropdown-primary-btn:hover{background-color:#0d4a2c;transform:translateY(-1px);box-shadow:0 6px 15px #10593433}.dropdown-header{border-bottom:1px solid #f1f5f9;flex-direction:column;margin-bottom:.5rem;padding:.5rem 1rem 1rem;display:flex}.dropdown-header strong{color:#1e293b;font-size:.9rem}.dropdown-header span{color:#94a3b8;font-size:.75rem}.dropdown-item{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:.75rem;width:100%;padding:.7rem .85rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.dropdown-item:hover{color:var(--primary);background-color:#f8fafc}.dropdown-item.logout{color:#ef4444;background-color:#fff1f2;margin-top:.25rem}.dropdown-item.logout:hover{background-color:#ffe4e6;transform:scale(.98)}.dropdown-divider{background-color:#f1f5f9;height:1px;margin:.5rem .25rem}.user-avatar-wrapper{border:2px solid #fff;border-radius:50%;width:44px;height:44px;overflow:hidden;box-shadow:0 2px 10px #0000001a}.user-avatar-wrapper img{object-fit:cover;width:100%;height:100%}.user-info-text{flex-direction:column;display:flex}.user-name{color:#1e293b;font-size:.95rem;font-weight:700;line-height:1.2}.user-email{color:#94a3b8;font-size:.75rem}.mobile-only{display:none}.content-area{flex-direction:column;flex:1;padding:0 2.5rem 2rem;display:flex;overflow-y:auto}.content-area::-webkit-scrollbar{display:none}.content-area{scrollbar-width:none;-ms-overflow-style:none}@media (width<=1024px){.sidebar{width:250px}}@media (width<=768px){.app-container{border-radius:0;width:100vw;height:100vh;margin:0}.sidebar{z-index:50;position:fixed;left:-280px;box-shadow:10px 0 30px #0000001a}.sidebar.open{left:0}.mobile-overlay{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000004d;display:block;position:fixed;inset:0}.mobile-only{display:flex}.top-navbar-container{padding:1rem 1.5rem .5rem}.top-navbar-card{border-radius:16px;padding:.5rem 1rem}.search-wrapper,.user-info-text{display:none}.mobile-menu-btn,.mobile-close-btn{display:flex}.top-navbar-left{gap:.5rem}.content-area{padding:0 1rem 1.5rem;overflow-y:auto}}.search-wrapper{background-color:#fff;border:1px solid #0000000a;border-radius:9999px;max-width:440px;padding:.35rem 1rem;box-shadow:0 2px 10px #00000005}.search-hint{color:#64748b;background-color:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;padding:.35rem .6rem;font-size:.7rem;font-weight:700;box-shadow:inset 0 1px 2px #00000005}.top-search-input{font-weight:500}.circle-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.user-profile-widget{background-color:#fff;border:1px solid #0000000a;border-radius:9999px;padding:.25rem .75rem .25rem .25rem}.user-profile-widget:hover{background-color:#f8fafc;transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.user-avatar-wrapper{border:1.5px solid #fff;width:32px;height:32px;box-shadow:0 2px 8px #0000001a}.user-name{color:#0f172a;font-size:.95rem}.user-email{color:#94a3b8;font-weight:500}.notif-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10000;background:#0f172a66;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.notif-modal{background:#fff;border:1px solid #fffc;border-radius:32px;flex-direction:column;width:680px;max-width:95%;height:75vh;min-height:550px;max-height:88vh;display:flex;overflow:hidden;box-shadow:0 40px 100px #00000040}.notif-header{background:#f8fafc;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.notif-header .header-content h2{color:#1e293b;margin:0;font-size:1.1rem;font-weight:800}.notif-header .header-content p{color:#64748b;margin:.2rem 0 0;font-size:.75rem}.notif-close-btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.notif-close-btn:hover{color:#1e293b;background:#f1f5f9;transform:rotate(90deg)}.notif-body{background:#fff;flex:1;padding:1.5rem 2rem;overflow-y:auto}.notif-body::-webkit-scrollbar{width:8px}.notif-body::-webkit-scrollbar-track{background:#f8fafc;border-radius:4px}.notif-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.notif-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.empty-notif-circle{color:#cbd5e1;background:#f1f5f9;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:1rem;display:flex}.no-notifications-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem 0;display:flex}.no-notifications-state p{color:#64748b;font-size:.9rem;font-weight:700}@keyframes popIn{0%{opacity:0;transform:scale(.98)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.unread-badge{color:#fff;background-color:#ef4444;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:800;animation:.3s cubic-bezier(.16,1,.3,1) popIn;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 4px #ef44444d}.notif-subbar{background-color:#fff;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.75rem 2rem;display:flex}.notif-tabs{gap:.5rem;display:flex}.notif-tab-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:12px;padding:.4rem .85rem;font-size:.8rem;font-weight:700;transition:all .2s}.notif-tab-btn.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px #10593433}.notif-actions{gap:1rem;display:flex}.notif-action-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;font-size:.8rem;font-weight:700;transition:opacity .2s;display:flex}.notif-action-btn:hover{opacity:.8}.notification-item{background:#fff;border:1px solid #f1f5f9;border-radius:20px;align-items:flex-start;gap:1rem;margin-bottom:.75rem;padding:1.15rem;transition:all .2s;display:flex;position:relative;overflow:hidden}.notification-item.unread{background:#f8fafc;border-color:#cbd5e1}.notification-item:hover{transform:translateY(-2px);box-shadow:0 10px 30px #0000000d}.notif-priority-tag{text-transform:uppercase;border-radius:6px;margin-bottom:6px;padding:2px 8px;font-size:10px;font-weight:800;display:inline-block}.notif-priority-tag.critical{color:#ef4444;background:#fee2e2}.notif-priority-tag.important{color:#d97706;background:#fef3c7}.notif-priority-tag.normal{color:#4f46e5;background:#e0e7ff}.notif-priority-tag.system{color:#9333ea;background:#f3e8ff}.sidebar-version-tag{border-top:1px solid #0000000a;justify-content:center;align-items:center;margin-top:auto;padding-top:1.25rem;display:flex}.version-pill{color:#94a3b8;letter-spacing:.06em;cursor:default;white-space:nowrap;background:#94a3b814;border:1px solid #94a3b826;border-radius:999px;justify-content:center;align-items:center;padding:.3rem .85rem;font-size:.68rem;font-weight:700;transition:all .2s;display:inline-flex}.version-pill:hover{color:var(--primary);background:#1059340d;border-color:#10593426}.version-dot{color:#94a3b8;cursor:default;letter-spacing:0;background:#94a3b814;border:1px solid #94a3b826;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.6rem;font-weight:800;transition:all .2s;display:inline-flex}.version-dot:hover{color:var(--primary);background:#1059340d;border-color:#10593426}html.dark body,html.dark .app-container{background-color:#020617}html.dark .sidebar,html.dark .main-content{background-color:#0f172a}html.dark .sidebar-toggle-btn{color:#f8fafc;background-color:#1e293b;border-color:#334155}html.dark .sidebar-toggle-btn:hover{background-color:#334155}html.dark .nav-item{color:#94a3b8}html.dark .nav-item:hover{color:var(--primary);background-color:#16a34a1a}html.dark .nav-item.active{color:var(--primary);background-color:#16a34a26}html.dark .nav-item.active:before{background-color:var(--primary)}html.dark .top-navbar-card{background-color:#1e293b}html.dark .search-wrapper{background-color:#0f172a;border-color:#334155}html.dark .search-wrapper input{color:#f8fafc}html.dark .search-wrapper input::placeholder{color:#64748b}html.dark .search-hint{color:#94a3b8;background-color:#1e293b;border-color:#334155}html.dark .circle-btn{color:#94a3b8;background-color:#0f172a;border-color:#334155}html.dark .circle-btn:hover{color:var(--primary);background-color:#334155}html.dark .user-profile-widget{background-color:#0f172a;border-color:#334155}html.dark .user-profile-widget:hover{background-color:#334155}html.dark .user-name{color:#f8fafc}html.dark .user-role{color:#94a3b8}html.dark .dropdown-menu{background-color:#1e293b;box-shadow:0 15px 45px #00000080}html.dark .dropdown-header p{color:#f8fafc}html.dark .dropdown-header span,html.dark .dropdown-item{color:#94a3b8}html.dark .dropdown-item:hover{color:var(--primary);background-color:#334155}html.dark .dropdown-divider{background-color:#334155}html.dark .dropdown-item.logout:hover{color:#fca5a5;background-color:#450a0a}html.dark .notif-modal{background-color:#1e293b}html.dark .notif-header{background-color:#0f172a;border-bottom-color:#334155}html.dark .notif-header h3{color:#f8fafc}html.dark .notif-close-btn{color:#94a3b8;background-color:#1e293b;border-color:#334155}html.dark .notif-close-btn:hover{color:#f8fafc;background-color:#334155}html.dark .notif-body{background-color:#1e293b}html.dark .notif-controls{background-color:#0f172a;border-bottom-color:#334155}html.dark .notif-tab-btn{color:#94a3b8;background-color:#1e293b}html.dark .notif-tab-btn.active{background-color:var(--primary);color:#fff}html.dark .notification-item{background-color:#0f172a;border-color:#334155}html.dark .notification-item.unread{background-color:#1e293b;border-color:#475569}html.dark .notif-text p{color:#f8fafc}html.dark .notif-text span{color:#94a3b8}html.dark .version-pill,html.dark .version-dot{background:#f8fafc0d;border-color:#f8fafc1a}html.dark .main-content{background-color:#0f172a!important}.command-palette-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#0006;justify-content:center;align-items:flex-start;padding-top:12vh;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.command-palette-modal{background:var(--background);border:1px solid var(--border);border-radius:24px;flex-direction:column;width:90%;max-width:640px;animation:.15s ease-out slideDown;display:flex;overflow:hidden;box-shadow:0 10px 40px #0003}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.command-palette-input-wrapper{border-bottom:1px solid var(--border);align-items:center;padding:16px 20px;display:flex}.command-palette-input-wrapper svg{color:var(--muted-foreground);margin-right:12px}.command-palette-input{color:var(--foreground);background:0 0;border:none;outline:none;flex:1;font-size:1.1rem}.command-palette-input::placeholder{color:var(--muted-foreground);opacity:.7}.command-palette-body{max-height:400px;padding:8px;overflow-y:auto}.command-palette-body::-webkit-scrollbar{display:none}.command-palette-body{-ms-overflow-style:none;scrollbar-width:none}.command-palette-group{margin-bottom:12px}.command-palette-group-title{text-transform:uppercase;color:var(--muted-foreground);letter-spacing:.05em;margin:8px 12px 4px;font-size:.75rem;font-weight:600}.command-palette-item{cursor:pointer;color:var(--foreground);border-radius:8px;align-items:center;margin:2px 0;padding:10px 12px;text-decoration:none;transition:background .1s;display:flex}.command-palette-item[aria-selected=true]{background:var(--muted)}.command-palette-item[aria-selected=true] .command-palette-item-icon{color:var(--primary)}.command-palette-item-icon{color:var(--muted-foreground);justify-content:center;align-items:center;margin-right:12px;transition:color .1s;display:flex}.command-palette-item-content{flex-direction:column;flex:1;display:flex}.command-palette-item-title{justify-content:space-between;align-items:center;font-size:.9rem;font-weight:500;display:flex}.command-palette-item-title .badge{background:var(--border);color:var(--muted-foreground);border-radius:4px;padding:2px 6px;font-size:.65rem}.command-palette-item-subtitle{color:var(--muted-foreground);margin-top:2px;font-size:.75rem}.command-palette-empty{text-align:center;color:var(--muted-foreground);flex-direction:column;align-items:center;gap:12px;padding:40px;font-size:.9rem;display:flex}.command-palette-empty-icon{opacity:.5}.search-loading-spinner{animation:1s linear infinite spin}.login-screen-grid{background-color:var(--background);grid-template-columns:1fr 1fr;height:100vh;display:grid;overflow:hidden}.login-visual-section{background:linear-gradient(135deg, var(--primary) 0%, #0a3d24 100%);color:#fff;flex-direction:column;justify-content:space-between;padding:3rem;display:flex;position:relative;overflow:hidden}.visual-header{z-index:10}.brand-logo{align-items:center;gap:.75rem;margin-bottom:2rem;font-size:1.25rem;font-weight:700;display:flex}.logo-img-small{object-fit:contain;width:32px;height:32px}.visual-header h1{color:#fff;text-shadow:0 2px 4px #0003;margin-bottom:1rem;font-size:2.5rem;font-weight:800;line-height:1.1}.visual-header p{color:#f0fdf4;opacity:.9;max-width:400px;font-size:1.1rem}.characters-container{flex:1;justify-content:center;align-items:flex-end;padding-bottom:4rem;display:flex}.characters-stage{width:550px;height:400px;position:relative}.character{transform-origin:bottom;transition:all .7s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0}.char-primary{background-color:var(--primary);z-index:1;border-radius:10px 10px 0 0;width:180px;left:70px}.char-slate{z-index:2;background-color:#1e293b;border-radius:8px 8px 0 0;width:120px;height:310px;left:240px}.char-mint{z-index:3;background-color:#86efac;border-radius:120px 120px 0 0;width:240px;height:200px;left:0}.char-gold{z-index:4;background-color:#fef08a;border-radius:70px 70px 0 0;width:140px;height:230px;left:310px}.char-eyes{gap:1rem;transition:all .2s ease-out;display:flex;position:absolute}.eyeball{border-radius:50%;justify-content:center;align-items:center;transition:height .15s ease-in-out;display:flex;overflow:hidden}.pupil{border-radius:50%;transition:transform .1s ease-out}.char-mouth{background-color:#111827;border-radius:99px;width:60px;height:4px;transition:all .2s ease-out;position:absolute}.visual-footer{opacity:.6;justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.footer-links{gap:1.5rem;display:flex}.login-form-section{background-color:#fff;justify-content:center;align-items:center;max-height:100vh;padding:1.5rem;display:flex;overflow-y:hidden}.form-wrapper{width:100%;max-width:420px}.form-header{text-align:center;margin-bottom:1.5rem}.welcome-text{color:#111827;margin-bottom:.25rem;font-size:1.75rem;font-weight:800}.admin-portal-link{color:#64748b;cursor:pointer;z-index:100;background-color:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.85rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:1.5rem;right:1.5rem;box-shadow:0 1px 2px #0000000d}.admin-portal-link:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a}.admin-portal-link svg{color:var(--primary)}.admin-portal-link.active{background-color:var(--primary);border-color:var(--primary);color:#fff}.admin-portal-link.active svg{color:#fff}.subtitle{color:var(--text-secondary);font-size:.95rem}.login-tabs-unified{background-color:#f3f4f6;border-radius:12px;gap:.3rem;margin-bottom:1.5rem;padding:.3rem;display:flex}.mode-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:.75rem;font-size:.9rem;font-weight:600;transition:all .2s}.mode-tab.active{color:var(--primary);background-color:#fff;box-shadow:0 4px 6px -1px #0000001a}.auth-form{flex-direction:column;gap:1rem;display:flex}.field-group{flex-direction:column;gap:.5rem;display:flex}.field-group label{color:#374151;font-size:.85rem;font-weight:600}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon svg{color:#9ca3af;position:absolute;left:1rem}.input-with-icon input{border:1.5px solid #e5e7eb;border-radius:12px;width:100%;height:3.2rem;padding:0 1rem 0 3rem;font-size:.95rem;transition:all .2s}.input-with-icon input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #1059341a}.toggle-pass{color:#9ca3af;cursor:pointer;background:0 0;border:none;position:absolute;right:1rem}.form-utils{justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.remember-me{cursor:pointer;color:#4b5563;align-items:center;gap:.75rem;font-weight:500;display:flex}.remember-me input[type=checkbox]{cursor:pointer;width:1.25rem;height:1.25rem;accent-color:var(--primary);border:1.5px solid #d1d5db;border-radius:4px}.forgot-pass{color:var(--primary);font-weight:600;text-decoration:none}.submit-btn{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.75rem;height:3.2rem;font-size:1rem;font-weight:700;transition:all .2s;display:flex}.submit-btn:hover{background-color:#0d4a2b;transform:translateY(-2px)}.error-box{color:#dc2626;background-color:#fef2f2;border:1px solid #fee2e2;border-radius:12px;margin-bottom:1.5rem;padding:1rem;font-size:.875rem}.form-footer{text-align:center;color:var(--text-secondary);margin-top:1rem;font-size:.85rem}.form-footer a{color:var(--primary);font-weight:700;text-decoration:none}@media (width<=1024px){.login-screen-grid{grid-template-columns:1fr}.login-visual-section{display:none}}.animate-shake{animation:.4s cubic-bezier(.36,.07,.19,.97) both shake}.admin-web-restriction{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;flex-direction:column;align-items:center;gap:1.25rem;padding:2rem;display:flex}.restriction-icon{width:80px;height:80px;color:var(--primary);background:#ecfdf5;border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;display:flex}.admin-web-restriction h3{color:#0f172a;margin:0;font-size:1.5rem;font-weight:800}.admin-web-restriction p{color:#64748b;margin:0;font-size:.95rem;line-height:1.6}.download-btn-wide{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:.75rem;width:100%;height:3.2rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .2s;display:flex;box-shadow:0 8px 20px #10593433}.download-btn-wide:hover{background-color:#0d4a2b;transform:translateY(-2px);box-shadow:0 12px 24px #1059344d}.secondary-link{color:#64748b;cursor:pointer;opacity:.8;background:0 0;border:none;font-size:.85rem;font-weight:600;text-decoration:underline}.secondary-link:hover{color:var(--primary);opacity:1}html.dark .login-form-section{color:#f8fafc;background-color:#0f172a}html.dark .admin-portal-link{color:#94a3b8;background-color:#1e293b;border-color:#334155}html.dark .admin-portal-link:hover{border-color:var(--primary);color:var(--primary)}html.dark .admin-portal-link.active{background-color:var(--primary);border-color:var(--primary);color:#fff}html.dark .mode-toggle-pill{background-color:#1e293b}html.dark .mode-tab{color:#94a3b8}html.dark .mode-tab.active{color:#16a34a;background-color:#334155}html.dark .field-group label{color:#e2e8f0}html.dark .input-with-icon input{color:#f8fafc;background-color:#0f172a;border-color:#334155}html.dark .input-with-icon input:focus{border-color:var(--primary)}html.dark .input-with-icon svg{color:#64748b}html.dark .remember-me label{color:#cbd5e1}html.dark .remember-me input[type=checkbox]{border-color:#475569}html.dark .error-box{color:#fca5a5;background-color:#450a0a;border-color:#7f1d1d}html.dark .subtitle,html.dark .form-footer{color:#94a3b8}html.dark .feature-card{border-color:#334155}html.dark .feature-card h3{color:#f8fafc}html.dark .feature-card p{color:#94a3b8}.google-auth-btn{color:#1f2937;cursor:pointer;background-color:#fff;border:1.5px solid #e5e7eb;border-radius:12px;justify-content:center;align-items:center;gap:.75rem;width:100%;height:3.2rem;margin-bottom:1rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 1px 2px #0000000d}.google-auth-btn:hover:not(:disabled){background-color:#f9fafb;border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 4px 6px -1px #00000014}.google-auth-btn:disabled{opacity:.6;cursor:not-allowed}.google-icon-svg{flex-shrink:0;width:20px;height:20px}.auth-divider{text-align:center;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;align-items:center;margin:1.25rem 0;font-size:.8rem;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid #e2e8f0;flex:1}.auth-divider span{padding:0 .85rem}html.dark .google-auth-btn{color:#f8fafc;box-shadow:none;background-color:#1e293b;border-color:#334155}html.dark .google-auth-btn:hover:not(:disabled){background-color:#283548;border-color:#475569}html.dark .auth-divider{color:#64748b}html.dark .auth-divider:before,html.dark .auth-divider:after{border-bottom-color:#334155}.tour-overlay{z-index:9999;pointer-events:auto;position:fixed;inset:0}.tour-spotlight{z-index:10000;pointer-events:none;border-radius:12px;transition:all .4s cubic-bezier(.4,0,.2,1);position:fixed;box-shadow:0 0 0 9999px #000000a6}.tour-spotlight:after{content:"";pointer-events:none;border:2px solid #4ade8099;border-radius:14px;animation:2s ease-in-out infinite tour-pulse;position:absolute;inset:-5px}@keyframes tour-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.01)}}.tour-tooltip{z-index:10001;color:#fff;background:linear-gradient(145deg,#0c4a27,#105934 40%,#0d3f22);border:1px solid #4ade8026;border-radius:20px;min-width:300px;max-width:380px;padding:0;font-family:Inter,Segoe UI,system-ui,sans-serif;position:fixed;overflow:hidden;box-shadow:0 30px 70px #00000073,0 0 40px #10593433,inset 0 1px #ffffff0d}.tour-tooltip-inner{padding:28px 24px 20px}.tour-step-icon{background:#4ade801f;border:1px solid #4ade8033;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:16px;font-size:24px;display:flex}.tour-title{color:#fff;letter-spacing:-.01em;margin:0 0 8px;font-size:18px;font-weight:700;line-height:1.3}.tour-description{color:#ffffffbf;margin:0;font-size:14px;font-weight:400;line-height:1.65}.tour-footer{background:#00000026;border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.tour-progress{align-items:center;gap:5px;display:flex}.tour-dot{background:#fff3;border-radius:50%;width:7px;height:7px;transition:all .3s}.tour-dot.active{background:#4ade80;transform:scale(1.2);box-shadow:0 0 8px #4ade8066}.tour-dot.completed{background:#4ade8080}.tour-actions{align-items:center;gap:8px;display:flex}.tour-skip-btn{color:#ffffff73;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 10px;font-family:inherit;font-size:13px;transition:all .2s}.tour-skip-btn:hover{color:#fffc;background:#ffffff0f}.tour-back-btn{color:#fffc;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1a;border-radius:10px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s}.tour-back-btn:hover{color:#fff;background:#ffffff1f;border-color:#fff3}.tour-next-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:10px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;box-shadow:0 4px 15px #22c55e4d}.tour-next-btn:hover{background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-1px);box-shadow:0 6px 20px #22c55e66}.tour-next-btn:active{transform:translateY(0)}.tour-arrow{z-index:-1;background:linear-gradient(145deg,#0c4a27,#105934);width:16px;height:16px;position:absolute;transform:rotate(45deg)}.tour-arrow.arrow-top{border-bottom:1px solid #4ade8026;border-right:1px solid #4ade8026;margin-left:-8px;bottom:-8px;left:50%}.tour-arrow.arrow-bottom{border-top:1px solid #4ade8026;border-left:1px solid #4ade8026;margin-left:-8px;top:-8px;left:50%}.tour-arrow.arrow-left{border-top:1px solid #4ade8026;border-right:1px solid #4ade8026;margin-top:-8px;top:50%;right:-8px}.tour-arrow.arrow-right{border-bottom:1px solid #4ade8026;border-left:1px solid #4ade8026;margin-top:-8px;top:50%;left:-8px}.tour-center-modal{z-index:10001;color:#fff;text-align:center;background:linear-gradient(145deg,#0c4a27,#105934 40%,#0d3f22);border:1px solid #4ade8033;border-radius:24px;width:90vw;max-width:440px;font-family:Inter,Segoe UI,system-ui,sans-serif;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 40px 80px #00000080,0 0 60px #10593440,inset 0 1px #ffffff0d}.tour-center-modal .tour-tooltip-inner{padding:40px 32px 24px}.tour-center-modal .tour-step-icon{border-radius:18px;width:64px;height:64px;margin:0 auto 20px;font-size:32px}.tour-center-modal .tour-title{font-size:22px}.tour-center-modal .tour-description{font-size:15px}.tour-center-modal .tour-footer{justify-content:center;gap:12px}.tour-center-modal .tour-next-btn{border-radius:12px;padding:10px 28px;font-size:14px}.tour-celebration-icon{background:linear-gradient(135deg,#4ade8026,#22c55e1a);border:2px solid #4ade8040;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 20px;font-size:40px;animation:.6s ease-out tour-celebrate;display:flex}@keyframes tour-celebrate{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.tour-keyboard-hint{color:#ffffff4d;border-top:1px solid #ffffff0a;justify-content:center;align-items:center;gap:12px;padding:10px 24px;font-size:11px;display:flex}.tour-kbd{color:#ffffff80;background:#ffffff14;border:1px solid #ffffff1a;border-radius:4px;align-items:center;padding:2px 7px;font-family:SF Mono,Fira Code,monospace;font-size:10px;display:inline-flex}@media (width<=768px){.tour-tooltip{min-width:260px;max-width:320px}.tour-tooltip-inner{padding:20px 18px 16px}.tour-title{font-size:16px}.tour-description{font-size:13px}.tour-footer{flex-wrap:wrap;gap:8px;padding:12px 18px}.tour-center-modal{max-width:360px}.tour-center-modal .tour-tooltip-inner{padding:30px 24px 20px}.tour-center-modal .tour-title{font-size:19px}.tour-keyboard-hint{display:none}}@media (width<=480px){.tour-tooltip{min-width:240px;max-width:280px}.tour-center-modal{width:95vw;max-width:320px}}.dashboard-container{flex-direction:column;height:100vh;padding:.75rem 1.5rem .5rem;display:flex;overflow:hidden}.dashboard-header-main{justify-content:space-between;align-items:flex-end;margin-bottom:.25rem;display:flex}.dashboard-header-main h1{color:#111827;margin:0;font-size:1.5rem;font-weight:700}.dashboard-header-main p{color:#9ca3af;margin-top:.15rem;font-size:.8rem}.dashboard-grid-layout{flex:1;grid-template-columns:1.5fr 1fr;gap:1.25rem;min-height:0;display:grid;overflow:hidden}.dashboard-grid-layout.teacher-layout{grid-template-columns:1fr}.stats-row-container{grid-column:1/span 2;align-items:center;gap:1rem;margin-bottom:.25rem;display:flex}.featured-stat-card{color:#fff;background:linear-gradient(135deg,#105934 0%,#0d3d25 100%);border-radius:24px;flex-direction:column;flex-shrink:0;justify-content:space-between;width:140px;height:130px;padding:1rem;transition:transform .3s;display:flex;box-shadow:0 10px 25px -10px #10593466}.featured-stat-card:hover{transform:translateY(-5px)}.featured-stat-card h4{text-transform:uppercase;color:#ffffffb3;letter-spacing:.05em;font-size:.55rem;font-weight:700}.featured-stat-card .value{margin:.1rem 0;font-size:2rem;font-weight:700}.featured-stat-card .footer{opacity:.8;align-items:center;gap:.35rem;font-size:.55rem;line-height:1.1;display:flex}.active-sessions-infobar{scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;flex:1;gap:1rem;padding:.75rem .5rem;display:flex;overflow-x:auto}.active-sessions-infobar::-webkit-scrollbar{display:none}.active-sessions-infobar::-webkit-scrollbar-thumb{background:#0000000d;border-radius:10px}.no-active-sessions{color:#94a3b8;letter-spacing:.02em;background:#eaf1f766;border:1px dashed #e2e8f0;border-radius:20px;justify-content:center;align-items:center;width:100%;height:100%;font-size:.9rem;font-weight:700;display:flex}.stats-separator{opacity:.8;background-color:#e2e8f0;flex-shrink:0;align-self:center;width:1px;height:80px;margin:0 .5rem}.infobar-container{flex:1;align-items:center;min-width:0;display:flex;position:relative;overflow:hidden}.teacher-hero-card{background:#fff;border:1px solid #1059341a;border-radius:28px;flex-direction:column;flex:1;justify-content:space-between;margin-right:1rem;padding:1.25rem 2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #00000005}.teacher-hero-card:before{content:"";background:var(--primary);width:4px;height:100%;position:absolute;top:0;left:0}.teacher-hero-card.upcoming-hero{border-color:#3b82f633}.teacher-hero-card.upcoming-hero:before{background:#3b82f6}.teacher-hero-card.custom-hero:before{background:#eab308}.teacher-hero-card.custom-hero{border-color:#eab3084d}.hero-main{justify-content:space-between;align-items:center;display:flex}.hero-subject-box{align-items:center;gap:1.25rem;display:flex}.hero-subject-box h3{color:#1e293b;margin:0;font-size:1.2rem;font-weight:800;line-height:1.1}.hero-subject-box p{color:#64748b;margin:.1rem 0 0;font-size:.8rem;font-weight:600}.hero-time-box{color:#475569;background:#f8fafc;border-radius:12px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:700;display:flex}.hero-time-box.upcoming{color:#3b82f6;background:#3b82f60d}.hero-footer{align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.hero-tag{color:#105934;letter-spacing:.03em;background:#1059340f;border-radius:8px;padding:.25rem .75rem;font-size:.7rem;font-weight:800}.hero-status-tag{color:#105934;letter-spacing:.05em;align-items:center;gap:.5rem;margin-left:auto;font-size:.65rem;font-weight:800;display:flex}.hero-status-tag .dot{background:#105934;border-radius:50%;width:8px;height:8px}.hero-status-tag.upcoming{color:#3b82f6}.hero-status-tag.upcoming .dot{background:#3b82f6}.infobar-nav-btn{cursor:pointer;z-index:15;color:#fff;visibility:visible;opacity:1;background:#105934;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 12px #10593440}.infobar-nav-btn:hover{background:#0d4a2b;transform:translateY(-50%)scale(1.15);box-shadow:0 6px 16px #10593459}.infobar-nav-btn.left{left:.5rem}.infobar-nav-btn.right{right:.5rem}.session-mini-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:#ffffffb3;border:1px solid #fffc;border-radius:28px;flex-direction:column;flex-shrink:0;justify-content:space-between;width:155px;height:150px;padding:1.15rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #00000005,0 0 0 1px #00000003}.session-mini-card:hover{background:#ffffffd9;transform:translateY(-6px);box-shadow:0 15px 35px #0000000f}.session-mini-card.active{border-color:var(--primary);background-color:#1059340a;border-width:2px}.session-mini-card.upcoming-mini{border-color:#3b82f633}.session-mini-card.upcoming-mini:hover{background-color:#3b82f608}.session-mini-card.custom-mini{background:#fefce8bf;border-color:#eab30859}.session-mini-card.custom-mini:hover{background:#fefce8f2;border-color:#eab3088c;box-shadow:0 15px 35px #eab30814}.session-mini-card.custom-mini.active{background:#fefce8e6;border-width:2px;border-color:#eab308}.session-mini-card.custom-mini .subject{color:#78350f}.session-mini-card.custom-mini .session-card-meta{color:#92400e}.session-card-main{flex-direction:column;gap:.15rem;display:flex}.session-card-main .subject{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:800;line-height:1.1;overflow:hidden}.session-card-main .teacher{color:#64748b;opacity:.85;font-size:.75rem;font-weight:500}.session-card-context{flex-direction:column;gap:.1rem;margin:.35rem 0;display:flex}.session-card-context .location-cam{color:#475569;font-size:.65rem;font-weight:700}.session-card-context .time-range{color:#94a3b8;font-size:.7rem;font-weight:700}.session-card-meta{color:#94a3b8;letter-spacing:.02em;opacity:.9;margin-top:auto;font-size:.65rem;font-weight:700}.session-mini-details .subject{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:700;line-height:1.1;display:block;overflow:hidden}.session-mini-details .room{color:#94a3b8;font-size:.6rem;font-weight:600}.session-sub-info{color:#94a3b8;flex-direction:column;gap:.15rem;margin-top:auto;font-size:.55rem;display:flex}.session-sub-info span{white-space:nowrap;align-items:center;gap:.3rem;display:flex}.mini-stats-group{gap:1rem;margin-left:auto;display:flex}.mini-stat-card{text-align:center;background:#fff;border:1px solid #0000000a;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;width:170px;height:130px;padding:.75rem 1rem;transition:all .3s;display:flex;box-shadow:0 4px 15px #00000005}.mini-stat-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000000d}.clickable-stat-card{cursor:pointer}.clickable-stat-card:focus-visible{outline-offset:3px;outline:3px solid #10593440}.mini-stat-card h4{color:#64748b;text-transform:uppercase;letter-spacing:.02em;margin-bottom:.15rem;font-size:.6rem;font-weight:700}.mini-stat-card .value{color:#1e293b;font-size:1.4rem;font-weight:700;line-height:1.1}.mini-stat-card.grey-card{background:#eaf1f799;border:1px solid #fff6}.stat-meta-tags{gap:.5rem;margin:.5rem 0;display:flex}.meta-tag{color:#475569;letter-spacing:.02em;background:#f1f5f9;border-radius:999px;padding:.25rem .75rem;font-size:.65rem;font-weight:800}.mini-stat-card .footer{color:#94a3b8;margin-top:.25rem;font-size:.7rem}.attendance-progress-card{position:relative;background-repeat:no-repeat!important;background-size:100% 100%!important}.attendance-progress-card h4{z-index:2;color:#64748b;position:relative}.attendance-progress-card .value{z-index:2;color:#1e293b;position:relative}.attendance-progress-card .footer{z-index:2;color:#64748b;position:relative}.analytics-section{background:#fff;border:1px solid #0000000a;border-radius:32px;flex-direction:column;grid-column:1;width:100%;min-height:0;padding:1.5rem;display:flex;overflow:hidden;box-shadow:0 4px 20px #00000005}.dashboard-header-row{justify-content:space-between;align-items:center;margin-bottom:2rem;padding:0 .5rem;display:flex;position:relative}.dashboard-context-header{white-space:nowrap;background:#fff;border:1px solid #0000000d;border-radius:50px;align-items:center;gap:1rem;padding:.6rem 1.5rem;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 4px 15px #00000008}.dashboard-context-header .context-meta{color:var(--primary);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:800}.dashboard-context-header .context-teacher{color:#1e293b;border-left:2px solid #e2e8f0;padding-left:1rem;font-size:.9rem;font-weight:800}.view-all-btn,.refresh-btn{cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;width:auto;min-width:140px;height:42px;padding:0 1.5rem;font-size:14px;font-weight:700;transition:all .2s;display:flex}.view-all-btn{color:#fff;background:#105934;border:none;box-shadow:0 4px 12px #10593426}.view-all-btn:hover{background:#0d4a2b;transform:translateY(-1px);box-shadow:0 6px 15px #10593433}.refresh-btn{color:#1e293b;background:#fff;border:1px solid #e2e8f0}.refresh-btn:hover{color:var(--primary);border-color:var(--primary);background:#f8fafc;transform:translateY(-1px)}.section-header-row h3{color:#1e293b;font-size:1.1rem;font-weight:700}.video-stream-wrapper{aspect-ratio:16/9;background:#000;border-radius:20px;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 50px #0003}.live-video-feed{object-fit:contain;width:100%;height:100%}.video-controls-overlay{opacity:0;background:linear-gradient(#0000,#0006);justify-content:flex-end;padding:1.25rem;transition:opacity .3s;display:flex;position:absolute;bottom:0;left:0;right:0}.video-stream-wrapper:hover .video-controls-overlay{opacity:1}.video-control-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;background:#fff3;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex}.video-control-btn:hover{background:#fff6;transform:scale(1.1)}.analytics-section .section-header-row{margin-bottom:.75rem}.video-feed-container{width:100%;height:100%;position:relative}.ai-status-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;background:#0f172abf;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:.6rem;padding:.5rem 1rem;transition:all .3s;display:flex;position:absolute;top:1rem;left:1rem;box-shadow:0 4px 12px #0003}.ai-status-overlay span{color:#fff;letter-spacing:.02em;font-size:.75rem;font-weight:700}.ai-status-overlay.error{background:#991b1bd9;border-color:#ef444466}.status-dot{border-radius:50%;width:8px;height:8px}.status-dot.online{background:#10b981;box-shadow:0 0 8px #10b981}.status-dot.offline{background:#ef4444}.hero-ai-status{border-radius:10px;align-items:center;gap:.5rem;width:fit-content;margin-top:.75rem;padding:.4rem .8rem;font-size:.7rem;font-weight:700;transition:all .3s;display:flex}.hero-ai-status.active{color:#105934;background:#1059340d}.hero-ai-status.error{color:#b91c1c;background:#ef44440d}.recent-arrivals-section{background:#fff;border:1px solid #0000000a;border-radius:32px;flex-direction:column;flex:1;grid-column:2;min-width:0;height:100%;padding:1.5rem;display:flex;overflow:hidden;box-shadow:0 4px 20px #00000005}.teacher-layout .recent-arrivals-section{grid-column:1}.arrivals-list{flex-direction:column;flex:1;gap:1.25rem;padding-right:.25rem;display:flex;overflow-y:auto}.arrival-item{align-items:center;gap:.75rem;display:flex}.avatar-ring{border-radius:50%;flex-shrink:0;width:36px;height:36px;padding:2px}.avatar-ring img{object-fit:cover;border:1.5px solid #fff;border-radius:50%;width:100%;height:100%}.ring-pink{background-color:#fce7f3;border:1.5px solid #fbcfe8}.ring-green{background-color:#dcfce7;border:1.5px solid #bbf7d0}.ring-blue{background-color:#dbeafe;border:1.5px solid #bfdbfe}.ring-yellow{background-color:#fef9c3;border:1.5px solid #fef08a}.arrival-info{flex:1;min-width:0}.arrival-info h5{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.8rem;font-weight:700;overflow:hidden}.arrival-info p{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.65rem;overflow:hidden}.status-badge-compact{border-radius:6px;flex-shrink:0;padding:.2rem .5rem;font-size:.55rem;font-weight:700}.status-present{color:#166534;background-color:#dcfce7}.status-detected{color:#1d4ed8;background-color:#dbeafe}.status-processing{color:#92400e;background-color:#fef3c7}.arrivals-list::-webkit-scrollbar{width:8px}.arrivals-list::-webkit-scrollbar-track{background:0 0}.arrivals-list::-webkit-scrollbar-thumb{background:#f1f5f9;border-radius:10px}.btn-header-action{cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:9999px;padding:.35rem .7rem;font-size:.65rem;font-weight:600}.dashboard-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;background:#0f172a66;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.dashboard-modal-container{background:#fff;border-radius:30px;flex-direction:column;width:74vw;min-width:min(1080px,100%);max-width:1360px;height:78vh;max-height:900px;display:flex;overflow:hidden;box-shadow:0 30px 60px -12px #0f172a40}.dashboard-modal-header{border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:center;gap:1rem;padding:1.6rem 1.75rem 1.2rem;display:flex}.dashboard-modal-header h3{color:#1e293b;margin:0;font-size:1.25rem;font-weight:800}.dashboard-modal-header p{color:#94a3b8;margin:.15rem 0 0;font-size:.75rem;font-weight:600}.dashboard-modal-close{color:#64748b;cursor:pointer;background:#fff;border:1px solid #f1f5f9;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s;display:flex}.dashboard-modal-close:hover{color:#1e293b;background:#f1f5f9;transform:rotate(90deg)}.dashboard-modal-body{scrollbar-width:none;-ms-overflow-style:none;flex:1;overflow:auto}.dashboard-modal-body::-webkit-scrollbar{display:none}.explorer-grid{background:#fff;flex:1;grid-template-columns:repeat(4,1fr);align-content:start;gap:1.5rem 1.75rem;padding:2rem 2.35rem 2.35rem;display:grid;overflow-y:auto}.explorer-card{cursor:pointer;min-height:225px;box-shadow:none;background:#fff;border:1px solid #e8edf4;border-radius:24px;flex-direction:column;gap:.65rem;padding:1rem;transition:all .3s;display:flex}.explorer-card:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:0 16px 32px #0f172a0f}.explorer-card-header{align-items:flex-start;gap:.7rem;display:flex}.icon-box{background:#eaf3ef;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.header-info{flex-direction:column;gap:.15rem;display:flex}.header-info .subject{color:#1e293b;font-size:.8rem;font-weight:800;line-height:1.1}.header-info .room{color:#71809a;margin-top:.05rem;font-size:.6rem;font-weight:800}.explorer-card-body{border-top:1px solid #eef2f7;flex-direction:column;gap:.35rem;padding:.55rem 0 0;display:flex}.explorer-card-body .detail-row{color:#53637a;align-items:center;gap:.4rem;font-size:.65rem;font-weight:600;display:flex}.explorer-card-body .detail-row svg{color:#94a3b8;flex-shrink:0;width:12px;height:12px}.explorer-card-footer{margin-top:auto;padding-top:0}.live-indicator{color:#105934;align-items:center;gap:.35rem;font-size:.62rem;font-weight:700;display:flex}.live-indicator .dot{background:#16a34a;border-radius:50%;width:6px;height:6px}.present-students-modal{width:76vw;max-width:1400px;height:80vh}.present-students-list{background:#f8fafc;flex-direction:column;gap:.85rem;padding:1.25rem 1.75rem 1.75rem;display:flex}.present-student-item{background:#fff;border:1px solid #eef2f7;border-radius:18px;grid-template-columns:auto minmax(150px,1fr) minmax(220px,1.2fr) auto;align-items:center;gap:.85rem;min-height:72px;padding:.85rem 1rem;transition:all .2s;display:grid}.present-student-item:hover{border-color:#10593429;transform:translateY(-1px);box-shadow:0 10px 24px #0f172a0a}.present-student-main,.present-student-email,.present-student-meta{min-width:0}.present-student-main h5{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.85rem;font-weight:800;overflow:hidden}.present-student-main span{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-size:.68rem;font-weight:700;display:block;overflow:hidden}.present-student-email{color:#64748b;align-items:center;gap:.45rem;font-size:.72rem;font-weight:600;display:flex}.present-student-email svg{color:#cbd5e1;flex-shrink:0}.present-student-email span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.present-student-meta{justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.present-time{color:#64748b;white-space:nowrap;background:#f1f5f9;border-radius:7px;align-items:center;gap:.25rem;padding:.24rem .55rem;font-size:.65rem;font-weight:800;display:flex}.modal-state-message{color:#64748b;justify-content:center;align-items:center;gap:.65rem;min-height:220px;font-size:.85rem;font-weight:700;display:flex}.modal-inline-note{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:.75rem 1rem;font-size:.75rem;font-weight:700}.explorer-card.upcoming{border-color:#3b82f633}.explorer-card.upcoming:hover{background:#3b82f605;border-color:#3b82f6}.live-indicator.scheduled{color:#3b82f6;background:#3b82f61a}.live-indicator.scheduled .dot{background:#3b82f6;box-shadow:0 0 8px #3b82f666}.explorer-card.is-custom{border-color:#eab3084d}.explorer-card.is-custom:hover{background:#eab30805;border-color:#eab308}.live-indicator.custom-yellow{color:#854d0e;background:#eab3081a}.live-indicator.custom-yellow .dot{background:#eab308;box-shadow:0 0 8px #eab30866}@media (width<=1400px){.explorer-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=1100px){.dashboard-modal-container{width:92vw;min-width:0;height:82vh}.explorer-grid{grid-template-columns:repeat(2,1fr)}.present-student-item{grid-template-columns:auto 1fr}.present-student-email,.present-student-meta{grid-column:2}.present-student-meta{justify-content:flex-start}}@media (width<=700px){.dashboard-modal-overlay{padding:1rem}.dashboard-modal-container{border-radius:24px;width:94vw;height:88vh;max-height:88vh}.dashboard-modal-header{padding:1.25rem}.explorer-grid{grid-template-columns:1fr;padding:1rem}.present-students-list{padding:1rem}.present-student-item{align-items:flex-start}.present-student-meta{flex-wrap:wrap}}@media (width<=1200px){.dashboard-grid-layout{grid-template-columns:1fr}.recent-arrivals-section{display:none}}.video-feed-container{position:relative;overflow:hidden}.video-controls-overlay{opacity:0;z-index:30;gap:.75rem;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;bottom:1.25rem;right:1.25rem;transform:translateY(10px)}.video-feed-container:hover .video-controls-overlay{opacity:1;transform:translateY(0)}.control-btn{-webkit-backdrop-filter:blur(12px)saturate(180%);cursor:pointer;color:#fff;background:#ffffff26;border:1px solid #fff3;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .3s;display:flex;box-shadow:0 8px 32px #0000004d}.control-btn:hover{color:#4ade80;background:#ffffff40;border-color:#fff6;transform:scale(1.1);box-shadow:0 0 20px #10593480}.control-btn:active{transform:scale(.95)}.video-feed-container.is-fullscreen{z-index:9999;background:#000;border-radius:0;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0;width:100vw!important;height:100vh!important}.video-feed-container.is-fullscreen .live-video-feed{border-radius:0;width:auto;max-height:100vh;box-shadow:0 0 100px #00000080}.video-feed-container.is-fullscreen .video-controls-overlay{opacity:.4}.video-feed-container.is-fullscreen .video-controls-overlay:hover{opacity:1}.fullscreen-arrivals-overlay{-webkit-backdrop-filter:blur(20px)saturate(180%);z-index:40;background:#0f172a66;border:1px solid #ffffff1a;border-radius:24px;flex-direction:column;gap:1rem;width:240px;max-height:80vh;padding:1.25rem;display:flex;position:absolute;top:50%;left:2rem;transform:translateY(-50%);box-shadow:0 25px 50px -12px #00000080}.overlay-header{text-transform:uppercase;color:#ffffff80;letter-spacing:.1em;border-bottom:1px solid #ffffff1a;padding-bottom:.5rem;font-size:.75rem;font-weight:800}.overlay-list{flex-direction:column;gap:.75rem;padding-right:.5rem;display:flex;overflow-y:auto}.overlay-list::-webkit-scrollbar{width:8px}.overlay-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}.overlay-item{background:#ffffff0d;border-radius:12px;align-items:center;gap:.75rem;padding:.5rem;transition:all .2s;display:flex}.overlay-item:hover{background:#ffffff1a;transform:translate(5px)}.overlay-item .item-info h6{color:#fff;margin:0;font-size:.85rem;font-weight:600}.overlay-item .item-info span{color:#ffffff80;font-size:.7rem}.animate-slide-right{animation:.5s cubic-bezier(.16,1,.3,1) both slideRight}@keyframes slideRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.full-terminal-btn{cursor:pointer;white-space:nowrap;color:#38bdf8;background:#1e293b;border:1px solid #334155;border-radius:999px;justify-content:center;align-items:center;width:auto;min-width:140px;height:42px;padding:0 1.5rem;font-family:monospace;font-size:14px;font-weight:700;transition:all .2s;display:flex}.full-terminal-btn:hover{background:#0f172a;transform:translateY(-1px)}.terminal.btn-header-action{color:#38bdf8;background:#1e293b;border:1px solid #334155;font-family:monospace}.terminal.btn-header-action:hover{background:#0f172a}.recent-arrivals-btn{color:#1e293b;font-weight:700}.recent-arrivals-btn.active{box-shadow:0 2px 6px #10593426;color:#fff!important;background:#105934!important;border-color:#105934!important}.terminal.btn-header-action.active{box-shadow:0 2px 6px #0f172a33;color:#38bdf8!important;background:#0f172a!important;border-color:#334155!important}.recent-arrivals-btn:not(.active),.terminal.btn-header-action:not(.active){opacity:.65;color:#64748b!important;box-shadow:none!important;background:#f8fafc!important;border-color:#e2e8f0!important}.recent-arrivals-btn:not(.active):hover,.terminal.btn-header-action:not(.active):hover{opacity:1;color:#1e293b!important;background:#f1f5f9!important}.terminal-log-view{background:#0f172a;border:1px solid #1e293b;border-radius:20px;flex-direction:column;flex:1;height:100%;min-height:0;margin-top:.5rem;font-family:Courier New,Courier,monospace;display:flex;overflow:hidden;box-shadow:inset 0 2px 10px #0009}.terminal-header{background:#1e293b;border-bottom:1px solid #0f172a;flex-shrink:0;align-items:center;gap:.35rem;padding:.5rem .75rem;display:flex}.terminal-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.terminal-dot.red{background:#ef4444}.terminal-dot.yellow{background:#f59e0b}.terminal-dot.green{background:#10b981}.terminal-title{color:#94a3b8;margin-left:.5rem;font-size:.65rem;font-weight:600}.terminal-body{color:#38bdf8;text-align:left;flex:1;padding:1rem;font-size:.72rem;line-height:1.5;overflow-y:auto}.terminal-line{margin-bottom:.4rem}.terminal-line.command{color:#e2e8f0}.terminal-line.info{color:#94a3b8}.terminal-line.warning{color:#f43f5e}.terminal-line .time{color:#64748b}.terminal-line .tag.green{color:#4ade80;font-weight:700}.terminal-line .name{color:#fbbf24;font-weight:700}.terminal-line .status-present{color:#4ade80}.terminal-line .status-detected{color:#60a5fa}.terminal-line .status-processing{color:#fbbf24}.terminal-line.cursor{color:#38bdf8;animation:1.2s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.terminal-modal-body{flex-direction:column;flex:1;height:100%;display:flex;background:#0f172a!important;padding:1.5rem!important;overflow-y:auto!important}.terminal-modal-body::-webkit-scrollbar{width:12px!important;height:12px!important;display:block!important}.terminal-body::-webkit-scrollbar{width:12px!important;height:12px!important;display:block!important}.terminal-modal-body::-webkit-scrollbar-track{background:#0f172a!important}.terminal-body::-webkit-scrollbar-track{background:#0f172a!important}.terminal-modal-body::-webkit-scrollbar-thumb{background:#475569!important;border:2px solid #0f172a!important;border-radius:10px!important}.terminal-body::-webkit-scrollbar-thumb{background:#475569!important;border:2px solid #0f172a!important;border-radius:10px!important}.terminal-modal-body::-webkit-scrollbar-thumb:hover{background:#64748b!important}.terminal-body::-webkit-scrollbar-thumb:hover{background:#64748b!important}.terminal-modal{background:#0f172a!important;border:1px solid #1e293b!important;box-shadow:0 30px 60px -12px #0009!important}.terminal-modal-header{background:#1e293b!important;border-bottom:1px solid #0f172a!important;padding:1rem 1.75rem!important}.terminal-modal-header .dashboard-modal-close{color:#94a3b8!important;background:0 0!important;border:1px solid #334155!important;width:32px!important;height:32px!important}.terminal-modal-header .dashboard-modal-close:hover{color:#fff!important;background:#27272a!important}html.dark .section-card,html.dark .analytics-section,html.dark .mini-stat-card,html.dark .teacher-hero-card,html.dark .table-container,html.dark .terminal-container{color:#f8fafc!important;background:#1e293b!important;border-color:#334155!important}html.dark h1,html.dark h2,html.dark h3,html.dark .context-meta,html.dark .context-teacher{color:#f8fafc!important}html.dark .view-all-btn,html.dark .full-terminal-btn,html.dark .refresh-btn{color:#f8fafc!important;background:#0f172a!important;border-color:#334155!important}html.dark .view-all-btn:hover,html.dark .full-terminal-btn:hover,html.dark .refresh-btn:hover{background:#334155!important}html.dark .session-mini-card{background:#1e293bcc!important;border-color:#334155!important}html.dark .session-mini-card:hover{background:#334155e6!important}html.dark .terminal-header{border-bottom-color:#334155!important}html.dark .log-entry{color:#94a3b8!important}html.dark .log-entry.connect{color:#4ade80!important}html.dark .log-entry.disconnect{color:#f87171!important}html.dark .log-entry.warning{color:#facc15!important}html.dark .log-entry.error{color:#f87171!important}html.dark .dashboard-container{background:0 0!important}.student-dashboard{background:linear-gradient(135deg,#10593405 0%,#fff0 100%);flex-direction:column;gap:1.25rem;height:calc(100vh - 120px);padding:1.5rem;display:flex;overflow:hidden}.student-dashboard::-webkit-scrollbar{display:none}.student-dashboard{scrollbar-width:none;-ms-overflow-style:none}.stats-grid{flex-shrink:0;grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.stat-card{background:#fff;border:1px solid #1059340f;border-radius:24px;flex-direction:row;align-items:center;gap:1.5rem;padding:1.5rem;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #1059340a}.stat-card:hover{border-color:#10593426;transform:translateY(-2px);box-shadow:0 10px 30px #10593414}.stat-icon-wrapper{border-radius:14px;justify-content:center;align-items:center;width:46px;height:46px;display:flex;box-shadow:0 4px 10px #1059341a}.stat-icon-wrapper.blue{color:var(--primary);background:#f0fdf4}.stat-icon-wrapper.purple{background:var(--accent);color:var(--primary)}.stat-icon-wrapper.orange{color:#4d7c0f;background:#f7fee7}.stat-info h3{color:#1e293b;margin:0;font-size:1.6rem;font-weight:800}.stat-info p{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.8rem;font-weight:600}.attendance-progress-card{border:1px solid #1059341a;transition:background .5s ease-out}.dashboard-main-content{flex:1;grid-template-columns:1.2fr .8fr;gap:1.25rem;min-height:0;display:grid}.section-card{background:#fff;border:1px solid #1059340d;border-radius:28px;flex-direction:column;height:100%;display:flex;overflow:hidden;box-shadow:0 4px 20px #00000005}.section-header{background:linear-gradient(90deg,#10593408,#0000);border-bottom:1px solid #1059340d;flex-shrink:0;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.section-header h2{color:var(--primary);margin:0;font-size:1.1rem;font-weight:800}.section-header svg{color:var(--primary);opacity:.8}.activity-list,.upcoming-list{flex-direction:column;flex:1;gap:.75rem;padding:1.25rem;display:flex;overflow-y:auto}.activity-list::-webkit-scrollbar{width:4px}.upcoming-list::-webkit-scrollbar{width:4px}.activity-list::-webkit-scrollbar-thumb{background:#1059341a;border-radius:10px}.upcoming-list::-webkit-scrollbar-thumb{background:#1059341a;border-radius:10px}.activity-card{background:#fff;border:1px solid #00000008;border-radius:18px;padding:1rem 1.25rem;transition:all .2s}.activity-card:hover{background:#10593403;border-color:#1059341a;transform:translate(4px)}.activity-details h4{color:#1e293b;font-weight:700}.activity-meta span{color:#94a3b8;font-weight:600}.status-label{text-transform:uppercase;letter-spacing:.02em;border-radius:8px;padding:.3rem .6rem;font-size:.7rem;font-weight:800}.status-pending{color:#0369a1;background:#f0f9ff}.status-attended{color:#047857;background:#ecfdf5}.status-missed{color:#b91c1c;background:#fef2f2}.status-cancelled{color:#475569;background:#f8fafc}.status-ongoing{color:#b45309;background:#fffbeb}.filter-group{background:#1059340a;border:1px solid #1059340d;border-radius:12px;gap:.4rem;padding:.25rem;display:flex}.filter-pill{color:#64748b;cursor:pointer;text-transform:uppercase;letter-spacing:.02em;background:0 0;border:none;border-radius:9px;padding:.35rem .8rem;font-size:.7rem;font-weight:700;transition:all .2s}.filter-pill:hover{color:var(--primary);background:#1059340d}.filter-pill.active{background:var(--primary);color:#fff;box-shadow:0 4px 10px #10593433}.schedule-row{border-left:3px solid #0000;border-radius:16px;margin-bottom:.25rem;padding:1rem;transition:all .2s}.schedule-row.custom-session{background:#eab3080a;border-color:#eab3081a #eab3081a #eab3081a #eab308;border-top-style:solid;border-top-width:1px;border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px}.custom-badge{color:#854d0e;letter-spacing:.05em;background:#eab3081a;border-radius:6px;align-items:center;gap:.4rem;margin-bottom:.25rem;padding:.2rem .5rem;font-size:.55rem;font-weight:800;display:inline-flex}.schedule-row.cancelled-session{opacity:.6;background:#f1f5f9;border-color:#e2e8f0 #e2e8f0 #e2e8f0 #94a3b8;border-top-style:solid;border-top-width:1px;border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px}.schedule-row.cancelled-session *{color:#64748b!important}.schedule-row.cancelled-session h4,.schedule-row.cancelled-session p,.schedule-row.cancelled-session span{text-decoration:line-through}.schedule-row.cancelled-session .custom-badge{color:#64748b;background:#e2e8f0;text-decoration:none}.schedule-row.cancelled-session .time-badge{text-decoration:line-through;color:#64748b!important;background:#e2e8f0!important}.schedule-row.is-ended{opacity:.8;background:#f8fafc80}.schedule-row.is-ended .time-badge{color:#94a3b8!important;background:#f1f5f9!important}.schedule-row:hover{border-left-color:var(--primary);background:#10593405}.schedule-row.custom-session:hover{background:#eab30814;border-left-color:#eab308}.time-badge{color:var(--primary);background:#10593414;padding:.2rem .5rem;font-size:.75rem}@media (width<=1100px){.student-dashboard{height:auto;overflow-y:auto}.dashboard-main-content{grid-template-columns:1fr}.section-card{min-height:400px}}@media (width<=768px){.stats-grid{grid-template-columns:1fr}}html.dark .section-card,html.dark .analytics-section,html.dark .mini-stat-card,html.dark .student-hero-card,html.dark .table-container,html.dark .schedule-item{color:#f8fafc!important;background:#1e293b!important;border-color:#334155!important}html.dark h1,html.dark h2,html.dark h3,html.dark .context-meta{color:#f8fafc!important}html.dark .view-all-btn,html.dark .refresh-btn{color:#f8fafc!important;background:#0f172a!important;border-color:#334155!important}html.dark .view-all-btn:hover,html.dark .refresh-btn:hover{background:#334155!important}html.dark .active-sessions-infobar{color:#94a3b8!important;background:#0f172a66!important;border-color:#334155!important}html.dark .stats-separator{background-color:#334155!important}html.dark .mini-stat-card .value{color:#f8fafc!important}html.dark .mini-stat-card .label{color:#94a3b8!important}html.dark .meta-tag{color:#94a3b8!important;background:#0f172a!important}html.dark .schedule-item{background:#1e293bcc!important;border-color:#334155!important}html.dark .schedule-item:hover{background:#334155e6!important}.sess-page{scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent;background:0 0;flex-direction:column;gap:1.5rem;height:100vh;padding:1.5rem 2rem;display:flex;overflow-y:auto}.sess-page::-webkit-scrollbar{width:4px}.sess-page::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:10px}.sess-header{flex-shrink:0;justify-content:space-between;align-items:flex-end;display:flex}.sess-header-left h1{color:#1e293b;margin:0;font-size:1.5rem;font-weight:800}.sess-subtitle{color:#94a3b8;margin:.2rem 0 0;font-size:.8rem;font-weight:500}.sess-new-btn{background:var(--primary,#105934);color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.85rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 14px #10593433}.sess-new-btn:hover{background:#0d4a2b;transform:translateY(-1px);box-shadow:0 6px 18px #10593447}.sess-stats-row{flex-shrink:0;gap:.75rem;display:flex}.sess-stat-pill{border:1px solid #0000;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem 1rem;font-size:.78rem;font-weight:700;display:flex}.pill-val{font-size:1rem;font-weight:800}.pill-label{opacity:.75;font-weight:600}.pill-green{color:#105934;background:#10593412;border-color:#1059341f}.pill-blue{color:#2563eb;background:#3b82f612;border-color:#3b82f61f}.pill-amber{color:#92400e;background:#eab30814;border-color:#eab30826}.pill-red{color:#dc2626;background:#ef444414;border-color:#ef444426}.pill-neutral{color:#475569;background:#64748b0f;border-color:#64748b1f}.pill-dot{background:#16a34a;border-radius:50%;flex-shrink:0;width:8px;height:8px}.pulse-dot{animation:1.5s infinite pulse-ring}@keyframes pulse-ring{0%,to{box-shadow:0 0 #16a34a80}50%{box-shadow:0 0 0 5px #16a34a00}}.sess-loader{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:280px;font-size:.9rem;font-weight:600;display:flex}.sess-empty{color:#94a3b8;background:#fff;border:1px dashed #e2e8f0;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:280px;font-size:.9rem;font-weight:600;display:flex}.sess-groups{flex-direction:column;gap:1.25rem;display:flex}.sess-group{background:#fff;border:1px solid #0000000d;border-radius:20px;overflow:hidden;box-shadow:0 4px 16px #0000000a}.sess-date-header{cursor:pointer;text-align:left;background:#f8fafc;border:none;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;width:100%;padding:.85rem 1.5rem;transition:background .15s;display:flex}.sess-date-header:hover{background:#f1f5f9}.sess-date-header.today-header{background:#1059340a;border-bottom-color:#1059341a}.sess-date-left{align-items:center;gap:.75rem;display:flex}.today-chip{letter-spacing:.08em;color:var(--primary,#105934);background:#1059341a;border-radius:999px;padding:2px 8px;font-size:.55rem;font-weight:900}.upcoming-chip{letter-spacing:.08em;color:#2563eb;background:#3b82f61a;border-radius:999px;padding:2px 8px;font-size:.55rem;font-weight:900}.sess-date-header.future-custom-header{background:#3b82f608;border-bottom-color:#3b82f61a}.sess-date-header.future-custom-header:hover{background:#3b82f60f}.date-text{color:#1e293b;font-size:.82rem;font-weight:800}.date-count{color:#94a3b8;font-size:.72rem;font-weight:600}.chevron{color:#94a3b8;transition:transform .2s}.chevron.open{transform:rotate(180deg)}.sess-cards{flex-direction:column;display:flex}.sess-card{border-bottom:1px solid #f8fafc;transition:background .15s;position:relative}.sess-card:last-child{border-bottom:none}.sess-card:hover{background:#fafbfc}.sess-card.custom-card{background:#fefce880}.sess-card.custom-card:hover{background:#fef9c399}.custom-badge-pill{letter-spacing:.05em;color:#92400e;text-transform:uppercase;white-space:nowrap;background:#eab30826;border:1px solid #eab30840;border-radius:999px;align-items:center;gap:5px;padding:.28rem .75rem;font-size:.65rem;font-weight:800;display:inline-flex}.sess-card-body{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.sess-card-left{flex:1;align-items:center;gap:1rem;min-width:0;display:flex}.sess-type-bar{border-radius:2px;flex-shrink:0;width:3px;height:40px}.bar-green{background:var(--primary,#105934)}.bar-amber{background:#eab308}.sess-card-info{flex:1;min-width:0}.sess-subject{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;margin:0 0 .35rem;font-size:.9rem;font-weight:800;overflow:hidden}.sess-meta-row{flex-wrap:wrap;gap:1rem;display:flex}.sess-meta{color:#64748b;align-items:center;gap:4px;font-size:.72rem;font-weight:600;display:flex}.sess-card-right{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.sess-status-badge{letter-spacing:.05em;white-space:nowrap;text-transform:uppercase;border-radius:999px;align-items:center;gap:5px;padding:.28rem .75rem;font-size:.65rem;font-weight:800;display:inline-flex}.status-active{color:#059669;background:#10b9811f;border:1px solid #10b98133}.status-scheduled{color:#2563eb;background:#3b82f61a;border:1px solid #3b82f633}.status-ended{color:#64748b;background:#64748b14;border:1px solid #64748b26}.status-cancelled{color:#dc2626;background:#ef444414;border:1px solid #ef444426}.live-dot{background:#16a34a;border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:1.5s infinite pulse-ring}.sess-actions{align-items:center;gap:.5rem;display:flex}.act-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:5px;padding:.35rem .85rem;font-size:.72rem;font-weight:700;transition:all .18s;display:flex}.act-primary{color:var(--primary,#105934);background:#1059341a}.act-primary:hover{background:var(--primary,#105934);color:#fff}.act-amber{color:#92400e;background:#eab3081f}.act-amber:hover{color:#fff;background:#eab308}.act-red{color:#dc2626;background:#ef444414}.act-red:hover{color:#fff;background:#ef4444d9}.sess-modal-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.sess-modal{scrollbar-width:none;background:#fff;border-radius:28px;width:100%;max-width:560px;max-height:90vh;padding:2rem 2.25rem;overflow-y:auto;box-shadow:0 30px 80px #0f172a2e}.sess-modal::-webkit-scrollbar{display:none}.att-modal{width:76vw;min-width:min(680px,100%);max-width:760px!important}.sess-modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;display:flex}.sess-modal-header h2{color:#1e293b;margin:0;font-size:1.15rem;font-weight:800}.sess-modal-header p{color:#94a3b8;margin:.2rem 0 0;font-size:.78rem}.modal-close-btn:hover{background:#f1f5f9;transform:rotate(90deg)}.sess-modal-form{flex-direction:column;gap:1rem;display:flex}.form-row-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-field{flex-direction:column;gap:.4rem;display:flex}.form-field label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:.65rem;font-weight:800}.form-field input,.form-field select{color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;outline:none;padding:.65rem .9rem;font-size:.875rem;font-weight:600;transition:border-color .18s}.form-field input:focus,.form-field select:focus{border-color:var(--primary,#105934);background:#fff}.modal-footer-btns{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:.75rem;margin-top:.5rem;padding-top:1rem;display:flex}.modal-cancel-btn{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:10px;padding:.6rem 1.25rem;font-size:.85rem;font-weight:700;transition:background .18s}.modal-cancel-btn:hover{background:#e2e8f0}.modal-submit-btn{background:var(--primary,#105934);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;padding:.6rem 1.5rem;font-size:.85rem;font-weight:700;transition:all .18s;display:flex;box-shadow:0 4px 12px #10593433}.modal-submit-btn:hover{background:#0d4a2b;transform:translateY(-1px)}.attendance-filter-row{align-items:center;gap:.5rem;margin:1rem 0;display:flex}.attendance-filter-btn{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:6px;height:34px;padding:0 14px;font-size:.78rem;font-weight:800;transition:all .18s;display:flex}.attendance-roster-row{background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.animate-spin{animation:.8s linear infinite spin}.webcam-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background:#0f172a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.webcam-modal-content{background:#fff;border-radius:24px;flex-direction:column;width:90vw;max-width:800px;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.webcam-modal-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.webcam-modal-title{align-items:center;gap:.75rem;display:flex}.webcam-modal-title h2{color:#1e293b;margin:0;font-size:1.1rem;font-weight:700}.webcam-modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.webcam-modal-close:hover{color:#ef4444;background:#f1f5f9}.webcam-modal-body{background:#f8fafc;justify-content:center;align-items:center;padding:1.5rem;display:flex}.webcam-viewfinder{aspect-ratio:16/9;background:#0f172a;border-radius:16px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 20px #00000080}.webcam-video,.webcam-preview-img{object-fit:cover;width:100%;height:100%}.webcam-error{text-align:center;color:#ef4444;padding:3rem;font-weight:500}.webcam-modal-footer{background:#fff;border-top:1px solid #f1f5f9;justify-content:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.webcam-btn{cursor:pointer;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.webcam-btn:disabled{opacity:.5;cursor:not-allowed}.webcam-btn.primary{background:var(--primary,#105934);color:#fff}.webcam-btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #10593433}.webcam-btn.secondary{color:#475569;background:#f1f5f9}.webcam-btn.secondary:hover{background:#e2e8f0}.capture-btn{padding:.75rem 2.5rem;font-size:1.05rem}.angle-slot:has(.angle-illustration-img){background:0 0;border:none;box-shadow:0 4px 12px #00000014}.register-container{background-color:var(--background);flex-direction:column;flex:1;height:100%;display:flex}.management-header-row{border-bottom:1px solid var(--border);align-items:center;gap:1.5rem;padding:1.5rem 2.5rem;display:flex}.title-section h1{color:var(--foreground);font-size:1.5rem;font-weight:700}.management-context-pill{border:1px solid var(--border);background:#fff;border-radius:99px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:flex;box-shadow:0 1px 2px #0000000d}.management-context-pill .meta{color:var(--primary);text-transform:uppercase;letter-spacing:.05em;border-right:1px solid var(--border);margin-right:.5rem;padding-right:.5rem}.management-context-pill .title{color:var(--foreground)}.header-actions{margin-left:auto}.action-btn-outline{border:1px solid var(--border);color:var(--muted-foreground);cursor:pointer;background:#fff;border-radius:6px;align-items:center;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.action-btn-outline:hover{background:var(--muted);color:var(--foreground)}.register-grid{flex:1;gap:2rem;padding:2rem 2.5rem;display:flex;overflow:hidden}.register-content{border:1px solid var(--border);background:#fff;border-radius:16px;flex:2;padding:2rem;overflow-y:auto;box-shadow:0 4px 6px -1px #0000000d}.register-content h3{color:var(--foreground);margin-bottom:.5rem;font-size:1.25rem}.register-content p{color:var(--muted-foreground);margin-bottom:2rem;font-size:.9rem}.angle-grid-section{margin-bottom:2rem}.angle-grid-label{color:var(--foreground);align-items:center;gap:6px;margin-bottom:1rem;font-size:.9rem;font-weight:600;display:flex}.soft-req{color:var(--muted-foreground);margin-left:6px;font-size:.75rem;font-weight:400}.angle-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.angle-card{flex-direction:column;gap:.75rem;display:flex}.angle-slot{background:var(--background);border:2px dashed var(--border);aspect-ratio:1;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;width:100%;transition:all .2s;display:flex;position:relative;overflow:hidden}.angle-slot:hover{border-color:var(--primary);background:#f0fdf4}.angle-slot.filled{background:0 0;border:none;box-shadow:0 4px 12px #00000014}.angle-slot:has(.angle-illustration-img){background:0 0;border:none;box-shadow:0 4px 12px #00000014}.angle-illustration-img,.angle-preview-img{object-fit:cover;width:100%;height:100%;transition:transform .3s;position:absolute;top:0;left:0}.angle-slot:hover .angle-illustration-img{transform:scale(1.05)}.angle-badge{text-transform:uppercase;z-index:10;border-radius:4px;padding:3px 6px;font-size:.6rem;font-weight:700;position:absolute;top:8px;right:8px}.angle-badge.recommended{color:#d97706;background:#fef3c7;border:1px solid #fde68a;box-shadow:0 2px 4px #d977061a}.angle-check{color:#fff;z-index:10;background:#22c55e;border-radius:50%;padding:0;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 2px 4px #22c55e4d}.angle-upload-hint{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:28px;height:28px;color:var(--primary);z-index:10;background:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;bottom:8px;right:8px;box-shadow:0 2px 8px #0000001a}.angle-slot:hover .angle-upload-hint{background:var(--primary);color:#fff}.angle-card{flex-direction:column;align-items:center;display:flex;position:relative}.webcam-trigger-btn{color:#64748b;cursor:pointer;z-index:10;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex;position:absolute;top:8px;left:8px;box-shadow:0 2px 4px #0000000d}.webcam-trigger-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.angle-info{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.angle-label{color:var(--foreground);font-size:.85rem;font-weight:600}.angle-label .req{color:#ef4444;margin-left:2px}.angle-tip{color:var(--muted-foreground);font-size:.7rem;line-height:1.3}.info-section{flex-direction:column;gap:1.25rem;display:flex}.form-group label{color:var(--foreground);font-size:.85rem;font-weight:500}.form-group input,.form-group select{border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);background:#f8fafc;padding:.75rem 1rem;font-size:.95rem;transition:all .2s}.form-group input:focus,.form-group select:focus{border-color:var(--primary);background:#fff;outline:none;box-shadow:0 0 0 3px #1059341a}.form-group input::placeholder{color:#94a3b8}.form-actions{justify-content:flex-end;margin-top:2rem;display:flex}.submit-btn{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:background .2s;display:flex}.submit-btn:hover{background:#0d4a2a}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.submit-btn-outline{color:var(--primary);border:2px solid var(--primary);border-radius:var(--radius);cursor:pointer;background:#fff;align-items:center;gap:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.submit-btn-outline:hover{background:#f0fdf4}.staged-batch-section{border-top:1px solid var(--border);margin-top:2rem;padding-top:2rem}.staged-batch-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.staged-batch-header h3{color:var(--foreground);margin:0;font-size:1.1rem}.start-bulk-btn{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:8px;padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;transition:background .2s;display:flex;box-shadow:0 4px 12px #10593433}.start-bulk-btn:hover{background:#0d4a2a}.staged-batch-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.staged-student-card{border:1px solid var(--border);background:#f8fafc;border-radius:12px;align-items:center;gap:1rem;padding:.75rem;display:flex;position:relative}.staged-student-avatar{background:#e2e8f0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden}.staged-student-avatar img{object-fit:cover;width:100%;height:100%}.staged-avatar-placeholder{color:#94a3b8}.staged-student-info h4{color:var(--foreground);margin:0 0 .25rem;font-size:.95rem}.staged-student-info p{color:var(--muted-foreground);margin:0;font-size:.75rem}.staged-remove-btn{border:1px solid var(--border);color:var(--muted-foreground);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 4px #0000001a}.staged-remove-btn:hover{color:#ef4444;background:#fef2f2;border-color:#ef4444}.student-list-panel{border:1px solid var(--border);background:#fff;border-radius:16px;flex-direction:column;flex:1;max-width:350px;display:flex;box-shadow:0 4px 6px -1px #0000000d}.card-header{border-bottom:1px solid var(--border);padding:1.5rem}.card-header h3{color:var(--foreground);margin:0;font-size:1.1rem;font-weight:600}.student-item-mini{border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:1rem 0;display:flex}.student-item-mini:last-child{border-bottom:none}.mini-image{border:2px solid #fff;border-radius:50%;flex-shrink:0;width:40px;height:40px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.mini-image img{object-fit:cover;width:100%;height:100%}.mini-details{flex:1;min-width:0}.mini-details .name{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;margin:0 0 2px;font-size:.85rem;font-weight:600;overflow:hidden}.mini-details .sub{color:var(--muted-foreground);margin:0 0 4px;font-size:.7rem}.angle-count-badge{color:#0284c7;background:#e0f2fe;border-radius:99px;align-items:center;gap:4px;padding:2px 6px;font-size:.65rem;font-weight:600;display:inline-flex}.mini-actions{align-items:center;gap:6px;display:flex}.btn-add-angle{color:var(--primary);cursor:pointer;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:.7rem;font-weight:600;transition:all .2s;display:flex}.btn-add-angle:hover{background:var(--primary);color:#fff}.btn-delete-mini{color:#ef4444;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;justify-content:center;align-items:center;width:26px;height:26px;transition:all .2s;display:flex}.btn-delete-mini:hover{color:#fff;background:#ef4444}.angle-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.angle-modal{background:#fff;border-radius:16px;width:700px;max-width:90vw;padding:2rem;box-shadow:0 20px 25px -5px #0000001a}.angle-modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:2rem;display:flex}.angle-modal-header h3{color:var(--foreground);margin:0 0 .5rem;font-size:1.25rem}.angle-modal-header p{color:var(--muted-foreground);margin:0;font-size:.9rem}.modal-close-btn{width:32px;height:32px;color:var(--muted-foreground);cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.modal-close-btn:hover{color:var(--foreground);background:#e2e8f0}.angle-modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.progress-bar-wrapper{margin-top:2rem}.progress-label{color:var(--primary);margin-bottom:.5rem;font-size:.85rem;font-weight:500}.progress-track{background:#f1f5f9;border-radius:99px;width:100%;height:6px;overflow:hidden}.progress-fill{background:var(--primary);border-radius:99px;height:100%;transition:width .3s}.spreadsheet-upload-btn{color:var(--muted-foreground);cursor:pointer;background:#f1f5f9;border:1px dashed #cbd5e1;border-radius:6px;justify-content:center;align-items:center;gap:6px;width:100%;padding:.5rem .75rem;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.spreadsheet-upload-btn:hover{color:var(--foreground);background:#e2e8f0;border-color:#94a3b8}.spreadsheet-upload-btn.ready{color:var(--primary);background:#f0fdf4;border:1px solid #bbf7d0}.roster-filter-select{width:100%;color:var(--foreground);cursor:pointer;appearance:none;background-color:#f8fafc;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:16px;border:1px solid #e2e8f0;border-radius:8px;outline:none;margin-top:1rem;padding:.6rem 2.5rem .6rem .8rem;font-size:.85rem;transition:all .2s}.roster-filter-select:focus{border-color:var(--primary);background-color:#fff;box-shadow:0 0 0 3px #1059341a}.roster-list-container{flex-direction:column;flex:1;padding:0 1.5rem 1.5rem;display:flex;overflow-y:auto}.roster-loading,.roster-empty-state{color:#94a3b8;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 1rem;display:flex}.roster-empty-state p{margin:0;font-size:.9rem;font-weight:500}.angle-slot.unverified{background-color:#fef2f2!important;border:2px dashed #ef4444!important}.angle-slot.unverified:hover{opacity:.95;background-color:#fee2e2!important}.angle-check.error{padding:3px;color:#fff!important;background-color:#ef4444!important;border-color:#ef4444!important;box-shadow:0 2px 4px #ef44444d!important}.angle-tip.error{color:#ef4444!important;font-weight:600!important}.teacher-slot{border-color:#818cf84d}.teacher-slot:hover{background:#818cf80d;border-color:#818cf8b3}.teacher-slot.filled{border-color:#818cf899}.angle-count-badge.indigo{color:#818cf8;background:#818cf814}.btn-add-angle.indigo{color:#818cf8;background:#818cf81a;border-color:#818cf840}.btn-add-angle.indigo:hover{background:#818cf833}.bg-progress-card.indigo{background:#818cf80d;border-color:#818cf833}.teacher-list-panel{flex-direction:column;max-height:calc(100vh - 160px);display:flex;overflow:hidden}.teacher-item-mini{border-bottom:1px solid #0000000d;align-items:center;gap:.75rem;padding:.65rem 0;display:flex}.mode-btn.indigo-active.active{color:#6366f1}.spreadsheet-upload-btn.ready.teacher-ready{color:#4f46e5;background:#eef2ff;border-color:#c7d2fe}.add-row-btn.teacher-add-row{color:#6366f1;border-color:#6366f1}.add-row-btn.teacher-add-row:hover{background:#eef2ff}.schedule-manager{max-width:1200px;margin:0 auto;padding:2rem}.section-header-row{justify-content:space-between;align-items:center;margin-bottom:2.5rem;display:flex}.section-header-row h1{margin-bottom:.25rem;font-size:1.75rem;font-weight:700}.schedule-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.schedule-card{padding:1.5rem;transition:transform .2s}.schedule-card:hover{transform:translateY(-4px)}.schedule-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.subject-badge{color:var(--primary);background:#6366f11a;border-radius:8px;padding:.4rem .75rem;font-size:.875rem;font-weight:600}.schedule-details{flex-direction:column;gap:1rem;display:flex}.detail-item{color:var(--text-muted);align-items:center;gap:.75rem;font-size:.9375rem;display:flex}.detail-item span{color:#fff}.empty-schedules{text-align:center;color:var(--muted-foreground);flex-direction:column;grid-column:1/-1;align-items:center;gap:1rem;padding:4rem;display:flex}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{scrollbar-width:none;-ms-overflow-style:none;border-radius:32px;width:76vw;min-width:min(1080px,100%);max-width:1400px;height:80vh;max-height:900px;padding:2rem;overflow-y:auto}.modal-content h2{margin-bottom:2rem}.form-grid{flex-direction:column;gap:1.25rem;margin-bottom:2rem;display:flex}.modal-actions{justify-content:flex-end;gap:1rem;display:flex}.timetable-container{background:0 0;flex-direction:column;height:100vh;padding:.5rem 1.5rem 1rem;display:flex;overflow:hidden}.timetable-header{flex-shrink:0;justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding:10px 0;display:flex}.header-info h1{color:#1e293b;margin:0;font-size:1.25rem;font-weight:700}.year-selector-container{align-items:center;gap:.75rem;margin-top:.6rem;display:flex}.year-select-dropdown{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #00000014;border-radius:10px;outline:none;padding:5px 10px;font-size:.82rem;font-weight:700;box-shadow:0 2px 6px #0000000a}.timetable-controls-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;margin-top:.6rem;display:flex}.control-cluster{background:#fff;border:1px solid #0000000f;border-radius:14px;align-items:center;gap:2px;padding:3px 4px;display:flex;box-shadow:0 3px 10px #0000000a}.control-cluster.week-nav{gap:4px;padding:3px 8px}.week-label{color:#1e293b;white-space:nowrap;padding:0 6px;font-size:.75rem;font-weight:700}.today-btn{color:var(--primary)!important;background:#10593414!important;border-radius:8px!important;width:auto!important;padding:0 8px!important;font-size:.68rem!important;font-weight:800!important}.nav-counter{color:#64748b;white-space:nowrap;text-align:center;min-width:48px;padding:0 6px;font-size:.68rem;font-weight:700}.btn-control{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.72rem;font-weight:700;transition:all .18s;display:flex}.btn-control:hover:not(:disabled){color:var(--primary);background:#f1f5f9}.btn-control:disabled{opacity:.3;cursor:not-allowed}.fit-btn{color:#64748b;padding:0 8px;font-weight:800;width:auto!important;font-size:.68rem!important}.fit-btn.fit-active,.add-col-btn{background:var(--primary)!important;color:#fff!important}.btn-edit-mode{cursor:pointer;border-radius:12px;align-items:center;gap:6px;height:36px;padding:0 .85rem;font-size:.8rem;font-weight:800;transition:all .25s;display:flex}.btn-edit-mode.off{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0}.btn-edit-mode.on{background:var(--primary);color:#fff;border:1px solid var(--primary);box-shadow:0 4px 14px #10593433}.timetable-grid-wrapper{background:#fff;border:1px solid #0000000d;border-radius:28px;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #0000000d}.timetable-scroll-area{scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent;flex:1;overflow:auto}.timetable-scroll-area::-webkit-scrollbar{width:5px;height:5px}.timetable-scroll-area::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:10px}.timetable-grid{border-collapse:collapse;table-layout:fixed;min-width:100%;transition:transform .28s cubic-bezier(.16,1,.3,1)}.timetable-grid th,.timetable-grid td{border:1px solid #0000000a;width:130px;min-width:130px;position:relative}.col-accent-bar{border-radius:2px;width:28px;height:3px;margin:0 auto 4px}.time-header{flex-direction:column;align-items:center;gap:1px;padding:10px 8px 8px;display:flex}.time-header .start,.time-header .end{color:#475569;letter-spacing:.02em;font-size:.62rem;font-weight:800}.time-header .separator{color:#cbd5e1;font-size:9px;line-height:1}.slot-mgmt-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;z-index:10;background:#fffffff2;border-bottom:1px solid #0000000d;justify-content:center;align-items:center;gap:4px;height:24px;transition:opacity .2s;display:flex;position:absolute;top:0;left:0;right:0}.time-header:hover .slot-mgmt-overlay{opacity:1;pointer-events:auto}.slot-mgmt-btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.slot-mgmt-btn.edit{color:#64748b;background:#f1f5f9}.slot-mgmt-btn.delete{color:#ef4444;background:#fef2f2}.slot-mgmt-btn:hover{transform:scale(1.1)}.slot-mgmt-btn.edit:hover{color:var(--primary);background:#e2e8f0}.slot-mgmt-btn.delete:hover{background:#fee2e2}.day-name{color:#475569;text-align:center;vertical-align:middle;background:#f8fafc;padding:0;font-size:.72rem;font-weight:700;width:110px!important;min-width:110px!important}.day-cell-inner{flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:8px 6px;display:flex}.day-text{font-size:.72rem;font-weight:700;display:block}.today-badge{letter-spacing:.08em;color:var(--primary);background:#1059341a;border-radius:4px;padding:1px 5px;font-size:.5rem;font-weight:900}.today-row td{background:#10593405!important}.current-time-col{position:relative;background:#1059340a!important}.current-time-col:after{content:"";pointer-events:none;border-left:1px dashed #10593433;border-right:1px dashed #10593433;position:absolute;inset:0}.day-name.today{color:var(--primary);font-weight:900;border-left:5px solid var(--primary)!important;background:#1059341a!important}th.current-time-col{box-shadow:inset 0 10px 20px #1059340d;color:var(--primary)!important;border-top:5px solid var(--primary)!important;background:#1059341f!important}th.current-time-col .time-header .start,th.current-time-col .time-header .end{color:var(--primary);font-weight:900}.today-row td.current-time-col{outline:2px solid var(--primary);outline-offset:-2px;z-index:2;box-shadow:0 0 15px #1059341a;background:#10593414!important}.today-row td.current-time-col:before{content:"LIVE";color:var(--primary);opacity:.6;letter-spacing:.05em;font-size:.45rem;font-weight:900;position:absolute;top:2px;right:4px}.corner-cell{background:#f1f5f9!important}.corner-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;justify-content:center;align-items:center;gap:3px;padding:10px 6px;font-size:.6rem;font-weight:700;display:flex}.corner-slash{opacity:.4}.slot-cell{cursor:default;height:50px;padding:0;transition:background .15s}.edit-active .slot-cell{cursor:pointer}.edit-active .slot-cell:hover{filter:brightness(.96)}.slot-cell.occupied,.slot-cell.custom-cell{padding:4px}.schedule-card{background:var(--primary);color:#fff;border-left:3px solid #ffffff4d;border-radius:8px;flex-direction:column;gap:1px;padding:4px 6px;line-height:1.15;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 10px #10593426}.schedule-card:before{content:"";background:#ffffff0f;border-radius:50%;width:40px;height:40px;position:absolute;top:0;right:0;transform:translate(15px,-15px)}.schedule-card.custom{color:#1e293b;background:linear-gradient(135deg,#fef9c3,#fef3c7);border:1px solid #fde68a;border-left:3px solid #eab308;box-shadow:0 3px 10px #eab3081f}.schedule-card.cancelled-routine,.schedule-card.custom.cancelled-routine{color:#7f1d1d;background:#fee2e2;border:1px solid #fecaca;border-left:3px solid #ef4444;box-shadow:0 3px 10px #ef44441f}.schedule-card .subject{white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:800;overflow:hidden}.schedule-card .teacher,.schedule-card .room-camera{opacity:.88;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:3px;font-size:.6rem;font-weight:600;display:flex;overflow:hidden}.schedule-card .card-header{justify-content:space-between;align-items:flex-start;gap:3px;display:flex}.custom-badge{color:#92400e;background:#eab30833;border-radius:4px;width:fit-content;padding:1px 4px;font-size:.55rem;font-weight:800}.attendance-hover-btn{opacity:0;pointer-events:none;color:var(--primary);white-space:nowrap;cursor:pointer;z-index:5;background:#fff;border:none;border-radius:8px;padding:6px 9px;font-size:.62rem;font-weight:800;transition:opacity .18s,transform .18s;position:absolute;bottom:8px;left:50%;transform:translate(-50%,6px);box-shadow:0 8px 20px #0f172a29}.schedule-card:hover .attendance-hover-btn{opacity:1;pointer-events:auto;transform:translate(-50%)}.student-attendance-chip{background:#ffffffeb;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:6px;right:6px;box-shadow:0 3px 10px #0f172a1f}.student-attendance-chip.present{color:#16a34a}.student-attendance-chip.absent,.student-attendance-chip.cancelled{color:#dc2626}.delete-sched-btn{color:#fff;cursor:pointer;background:#00000014;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .18s;display:flex}.schedule-card.custom .delete-sched-btn{color:#1e293b;background:#00000012}.delete-sched-btn:hover{color:#fff;background:#ef4444b3;transform:scale(1.1)}.add-indicator{color:#cbd5e1;opacity:0;transition:opacity .18s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.edit-active .slot-cell:hover .add-indicator{opacity:1}.legend{gap:1.25rem;display:flex}.legend span{color:#94a3b8;align-items:center;gap:.4rem;font-size:.68rem;font-weight:700;display:flex}.dot{border-radius:50%;width:8px;height:8px}.dot.busy{background:var(--primary)}.dot.custom{background:#eab308}.dot.cancelled{background:#ef4444}.dot.free{background:#e2e8f0;border:1px solid #cbd5e1}.modal-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;background:#0f172a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content.glass{scrollbar-width:none;background:#fff;border-radius:28px;width:76vw;min-width:min(680px,100%);max-width:900px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 40px 100px #00000026}.modal-content.glass h3{color:#1e293b;margin-bottom:.5rem;font-size:1.1rem;font-weight:800}.attendance-modal{width:76vw;min-width:min(680px,100%);max-width:760px!important}.attendance-modal-header,.attendance-filter-row,.attendance-roster-row{align-items:center;display:flex}.attendance-modal-header{justify-content:space-between;gap:1rem}.modal-icon-close{color:#64748b;cursor:pointer;background:#f8fafc;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.attendance-filter-row{gap:.5rem;margin:1rem 0}.attendance-filter-btn{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:6px;height:34px;padding:0 12px;font-size:.78rem;font-weight:800;display:flex}.attendance-filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.attendance-loading,.attendance-empty{color:#64748b;justify-content:center;align-items:center;min-height:140px;font-weight:700;display:flex}.attendance-roster{flex-direction:column;gap:8px;max-height:55vh;display:flex;overflow-y:auto}.attendance-roster-row{background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;gap:12px;padding:10px 12px}.attendance-avatar{object-fit:cover;border-radius:12px;flex-shrink:0;width:40px;height:40px}.attendance-student-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.attendance-student-info strong{color:#1e293b;font-size:.86rem}.attendance-student-info span,.attendance-time{color:#64748b;font-size:.72rem;font-weight:700}.attendance-status-icon.present{color:#16a34a}.attendance-status-icon.absent{color:#dc2626}.slot-info{color:var(--primary);background:#1059340f;border-radius:8px;margin-bottom:1.25rem;padding:5px 12px;font-size:.78rem;font-weight:700;display:inline-block}.form-group{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.form-group input,.form-group select{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;outline:none;padding:.7rem 1rem;font-size:.88rem;font-weight:600;transition:border-color .18s}.form-group input:focus,.form-group select:focus{border-color:var(--primary)}.modal-actions{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1rem;display:flex}.btn-secondary{cursor:pointer;color:#475569;background:#f1f5f9;border:none;border-radius:10px;height:38px;padding:0 1.25rem;font-size:.85rem;font-weight:700;transition:background .18s}.btn-secondary:hover{background:#e2e8f0}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;height:38px;padding:0 1.5rem;font-size:.85rem;font-weight:700;transition:all .18s}.btn-primary:hover{background:#0d4a2b;box-shadow:0 4px 12px #10593433}.animate-scale-in{animation:.18s ease-out scaleIn}.animate-fade-in{animation:.22s ease-out fadeIn}.schedule-card.highlighted-card{animation:2s ease-in-out infinite pulseGlow;border:3px solid #eab308!important;box-shadow:0 0 20px #eab30866!important}@keyframes pulseGlow{0%{box-shadow:0 0 10px #eab3084d}50%{box-shadow:0 0 25px #eab308cc}to{box-shadow:0 0 10px #eab3084d}}html.dark .timetable-container{background:0 0!important}html.dark .timetable-grid-wrapper,html.dark .timetable-body{background:#1e293b!important;border-color:#334155!important}html.dark .day-name{color:#f8fafc!important;background:#0f172a!important;border-color:#334155!important}html.dark .corner-cell{background:#0f172a!important;border-color:#334155!important}html.dark .cell-day,html.dark .cell-slot{border-color:#334155!important}html.dark .year-select-dropdown,html.dark .btn-control,html.dark .btn-edit-mode.off,html.dark .attendance-filter-btn{color:#f8fafc!important;background:#0f172a!important;border-color:#334155!important}html.dark .btn-control:hover:not(:disabled),html.dark .btn-edit-mode.off:hover{color:#fff!important;background:#334155!important}html.dark .legend span{color:#f8fafc!important}html.dark .modal-content.glass{color:#f8fafc!important;background:#1e293b!important;border-color:#334155!important}html.dark .modal-icon-close{color:#f8fafc!important;background:#0f172a!important}html.dark .modal-icon-close:hover{color:#fff!important;background:#f87171!important}html.dark .attendance-roster-row{background:#0f172a!important;border-color:#334155!important}html.dark .form-group select,html.dark .form-group input,html.dark .form-group textarea{color:#f8fafc!important;background:#0f172a!important;border-color:#334155!important}html.dark .empty-slot.is-hovered{background:#ffffff0d!important}html.dark .control-cluster{background:#1e293b!important;border-color:#334155!important}html.dark .timetable-header .week-label,html.dark .time-label{color:#f8fafc!important}html.dark .slot-mgmt-btn.edit{color:#f8fafc!important;background:#0f172a!important}html.dark .slot-mgmt-btn.edit:hover{color:#fff!important;background:#334155!important}.subject-manager-container{flex-direction:column;height:100vh;padding:.5rem 1.5rem 1.5rem;display:flex;overflow:hidden}.subject-table-card{background:#fff;border:1px solid #0000000d;border-radius:32px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden;box-shadow:0 10px 30px #0000000a}.subject-data-table-wrapper{flex:1;overflow-y:auto}.subject-data-table{border-collapse:collapse;width:100%}.subject-data-table th{color:#64748b;text-transform:uppercase;letter-spacing:.05em;text-align:left;z-index:10;background:#f8fafc;padding:1rem 1.5rem;font-size:.7rem;font-weight:700;position:sticky;top:0}.subject-data-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:.85rem 1.5rem}.subject-code-badge{color:#475569;background:#f1f5f9;border-radius:8px;padding:4px 10px;font-size:.75rem;font-weight:800;display:inline-block}.subject-title{color:#1e293b;font-size:.85rem;font-weight:700}.subject-form{flex-direction:column;gap:1.25rem;display:flex}.student-list-container{flex-direction:column;height:100vh;padding:.5rem 1.5rem 1.5rem;display:flex;overflow:hidden}.action-btn-primary,.action-btn-outline{cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;height:40px;padding:0 1.25rem;font-size:.85rem;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.action-btn-primary{background:var(--primary);color:#fff;border:none;box-shadow:0 4px 12px #10593426}.action-btn-primary:hover{background:#0d4a2b;transform:translateY(-1px);box-shadow:0 6px 15px #10593433}.action-btn-outline{color:#1e293b;background:#fff;border:1px solid #e2e8f0}.action-btn-outline:hover{color:var(--primary);border-color:var(--primary);background:#f8fafc;transform:translateY(-1px)}.student-table-card{background:#fff;border:1px solid #0000000d;border-radius:32px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden;box-shadow:0 10px 30px #0000000a}.filter-box{align-items:center;gap:1rem;display:flex}.filter-box select{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;outline:none;padding:.6rem 1rem;font-size:.85rem;font-weight:600}.student-data-table-wrapper{flex:1;overflow-y:auto}.student-data-table{border-collapse:collapse;width:100%}.student-data-table th{color:#64748b;text-transform:uppercase;letter-spacing:.05em;text-align:left;z-index:10;background:#f8fafc;padding:1rem 1.5rem;font-size:.7rem;font-weight:700;position:sticky;top:0}.student-data-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:.85rem 1.5rem}.student-avatar-large{background:#f1f5f9;border-radius:10px;width:40px;height:40px;overflow:hidden}.student-avatar-large img{object-fit:cover;width:100%;height:100%}.student-name{color:#1e293b;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex}.student-email{color:#94a3b8;font-size:.75rem;font-weight:500}.student-id{color:#64748b;font-size:.75rem;font-weight:700}.year-badge{color:var(--primary);background:#1059340d;border-radius:50px;align-self:flex-start;padding:4px 10px;font-size:.65rem;font-weight:800;display:inline-block}.image-upload-square:hover{border-color:var(--primary);color:var(--primary);background:#f1f5f9}.form-row{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.form-group input,.form-group select{color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;outline:none;width:100%;padding:.75rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s}.form-group input:focus,.form-group select:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #1059340d}.teacher-list-container{flex-direction:column;height:100vh;padding:.5rem 1.5rem 1.5rem;display:flex;overflow:hidden}.management-context-pill{white-space:nowrap;background:#fff;border:1px solid #1059341a;border-radius:50px;align-items:center;gap:.6rem;padding:4px 12px;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #10593405}.teacher-table-card{background:#fff;border:1px solid #0000000d;border-radius:32px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden;box-shadow:0 10px 30px #0000000a}.teacher-data-table-wrapper{flex:1;overflow-y:auto}.teacher-data-table{border-collapse:collapse;width:100%}.teacher-data-table th{color:#64748b;text-transform:uppercase;letter-spacing:.05em;text-align:left;z-index:10;background:#f8fafc;padding:1rem 1.5rem;font-size:.7rem;font-weight:700;position:sticky;top:0}.teacher-data-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:.85rem 1.5rem}.teacher-avatar-large{background:#f1f5f9;border-radius:10px;width:40px;height:40px;overflow:hidden}.teacher-avatar-large img{object-fit:cover;width:100%;height:100%}.info-cell{flex-direction:column;gap:2px;display:flex}.teacher-name{color:#1e293b;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex}.teacher-email{color:#94a3b8;font-size:.75rem;font-weight:500}.teacher-id-badge{color:#64748b;font-size:.75rem;font-weight:700}.modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.modal-header-copy{align-items:flex-start;gap:3rem;display:flex}.modal-header-copy h2{max-width:220px}.modal-close-btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s;display:flex}.modal-close-btn:hover{color:#1e293b;background:#f1f5f9;transform:rotate(90deg)}.enrollment-form-grid{grid-template-columns:minmax(220px,.7fr) minmax(360px,1fr);align-items:start;gap:3.25rem;max-width:780px;display:grid}.image-upload-column{flex-direction:column;gap:1rem;display:flex}.image-upload-square{cursor:pointer;color:#94a3b8;background:#f8fafc;border:2px dashed #e2e8f0;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;width:220px;height:220px;transition:all .2s;display:flex;position:relative;overflow:hidden}.image-upload-square:hover{border-color:var(--primary);background:#f1f5f9}.image-upload-square img{object-fit:cover;width:100%;height:100%}.upload-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;text-align:center;font-size:.65rem;font-weight:800}.fields-column{flex-direction:column;gap:1.25rem;display:flex}.modal-actions-row{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:.75rem;max-width:780px;margin-top:2rem;padding-top:1.25rem;display:flex}.face-warning-badge{color:#ff9800;cursor:help;background:#ffa50026;border-radius:12px;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.classroom-manager-container{flex-direction:column;height:100vh;padding:.5rem 1.5rem 1.5rem;display:flex;overflow:hidden}.management-header-row{justify-content:space-between;align-items:baseline;margin-bottom:12px;padding:12px 0 6px;display:flex;position:relative}.management-header-row h1{color:#64748b;margin:0;font-size:1.25rem;font-weight:700}.management-context-pill{white-space:nowrap;background:#fff;border:1px solid #1059341a;border-radius:50px;align-items:center;gap:.6rem;padding:4px 12px;display:flex;box-shadow:0 4px 12px #10593405}.management-context-pill .meta{color:var(--primary);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:800}.management-context-pill .title{color:#1e293b;border-left:1px solid #e2e8f0;padding-left:.6rem;font-size:12px;font-weight:800}.header-actions{align-items:center;gap:.75rem;display:flex}.classroom-table-card{background:#fff;border:1px solid #0000000d;border-radius:32px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden;box-shadow:0 10px 30px #0000000a}.table-controls{border-bottom:1px solid #00000008;justify-content:space-between;align-items:center;gap:2rem;padding:1.5rem;display:flex}.search-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex:1;align-items:center;gap:.75rem;padding:.6rem 1rem;transition:all .2s;display:flex}.search-box:focus-within{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #1059340d}.search-box input{color:#1e293b;background:0 0;border:none;outline:none;width:100%;font-size:.9rem;font-weight:500}.classroom-data-table-wrapper{flex:1;overflow-y:auto}.classroom-data-table{border-collapse:collapse;width:100%}.classroom-data-table th{color:#64748b;text-transform:uppercase;letter-spacing:.05em;text-align:left;z-index:10;background:#f8fafc;padding:1rem 1.5rem;font-size:.7rem;font-weight:700;position:sticky;top:0}.classroom-data-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:.85rem 1.5rem}.room-name-badge{color:var(--primary);background:#1059340d;border-radius:8px;padding:4px 12px;font-size:.75rem;font-weight:800;display:inline-block}.camera-source-text{color:#64748b;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:600}.btn-edit,.btn-delete{cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:6px 12px;font-size:.75rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-edit{color:#475569;background:#f1f5f9;border:none}.btn-delete{color:#dc2626;background:#fef2f2;border:none}.modal-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;background:#0f172a66;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{scrollbar-width:none;-ms-overflow-style:none;background:#fff;border-radius:32px;width:76vw;min-width:min(1080px,100%);max-width:1400px;height:80vh;max-height:900px;padding:1.75rem 2.25rem;position:relative;overflow-y:auto;box-shadow:0 40px 100px #00000026}.modal-content::-webkit-scrollbar{display:none}.modal-header{margin-bottom:1.25rem}.modal-header h2{color:#1e293b;margin:0;font-size:1rem;font-weight:800}.modal-header p{color:#64748b;margin-top:.15rem;font-size:.75rem}.classroom-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:800}.form-group input{color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;outline:none;width:100%;padding:.75rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s}.form-group input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #1059340d}.form-hint{color:#94a3b8;margin-top:-.5rem;font-size:.65rem;line-height:1.4}.modal-actions-row{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:.75rem;margin-top:2rem;padding-top:1.25rem;display:flex}.btn-modal-cancel{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:10px;height:40px;padding:0 1.25rem;font-size:.85rem;font-weight:700}.btn-modal-submit{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.6rem;height:40px;padding:0 1.5rem;font-size:.85rem;font-weight:700;display:flex}.animate-pop-in{animation:.3s cubic-bezier(.16,1,.3,1) popIn}.registration-mode-toggle{background:#f1f5f9;border-radius:8px;padding:4px;display:flex}.mode-btn{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.mode-btn:hover{color:var(--foreground)}.mode-btn.active{color:var(--primary);background:#fff;box-shadow:0 2px 4px #0000000d}.spreadsheet-container{flex-direction:column;flex:1;padding:2rem 2.5rem;display:flex;overflow:hidden}.spreadsheet-header{justify-content:space-between;align-items:flex-end;margin-bottom:1.5rem;display:flex}.spreadsheet-header h3{color:var(--foreground);margin:0 0 .5rem;font-size:1.25rem}.spreadsheet-header p{color:var(--muted-foreground);margin:0;font-size:.9rem}.start-bulk-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.6rem;height:40px;padding:0 1.5rem;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.start-bulk-btn:hover:not(:disabled){box-shadow:0 8px 20px #1059344d}.spreadsheet-table-wrapper{border:1px solid var(--border);background:#fff;border-radius:12px;flex:1;padding:1rem;overflow-y:auto;box-shadow:0 4px 6px -1px #0000000d}.spreadsheet-table{border-collapse:collapse;width:100%}.spreadsheet-table th{text-align:left;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border);padding:.75rem .5rem;font-size:.75rem;font-weight:600}.spreadsheet-table td{border-bottom:1px solid #f1f5f9;padding:.5rem}.spreadsheet-table tr:hover td{background:#f8fafc}.row-index{color:#94a3b8;text-align:center;font-size:.8rem;font-weight:600}.spreadsheet-table input,.spreadsheet-table select{width:100%;color:var(--foreground);background:0 0;border:1px solid #0000;border-radius:6px;padding:.5rem .75rem;font-size:.85rem;transition:all .2s}.spreadsheet-table input:hover,.spreadsheet-table select:hover{background:#f1f5f9}.spreadsheet-table input:focus,.spreadsheet-table select:focus{border:1px solid var(--primary);background:#fff;outline:none;box-shadow:0 0 0 3px #1059341a}.spreadsheet-table input::placeholder{color:#cbd5e1}.spreadsheet-remove-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.spreadsheet-remove-btn:hover{color:#ef4444;background:#fef2f2}.add-row-btn{color:var(--primary);border:1px dashed var(--primary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:1rem;padding:.75rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.add-row-btn:hover{background:#f0fdf4}n html.dark .manager-container,html.dark .list-container,html.dark .content-wrapper,html.dark .page-wrapper,html.dark .table-container,html.dark .students-container{background:0 0!important}html.dark .action-bar,html.dark .toolbar,html.dark .filters-row,html.dark .search-bar,html.dark .search-input-wrapper{background:#1e293b!important;border-color:#334155!important}html.dark .action-bar input,html.dark .toolbar input,html.dark .filters-row input,html.dark .search-bar input,html.dark .filters-row select,html.dark .toolbar select{color:#f8fafc!important;background:#0f172a!important;border-color:#334155!important}html.dark .data-table,html.dark .list-table{color:#f8fafc!important;background:#1e293b!important;border-color:#334155!important}html.dark .data-table th,html.dark .list-table th{color:#f8fafc!important;background:#0f172a!important;border-color:#334155!important}html.dark .data-table td,html.dark .list-table td{color:#f8fafc!important;border-color:#334155!important}html.dark .data-table tr:hover td,html.dark .list-table tr:hover td{background:#33415580!important}html.dark .pagination,html.dark .pagination-controls{background:#1e293b!important;border-color:#334155!important}html.dark .pagination button,html.dark .pagination-controls button,html.dark .btn-secondary,html.dark .btn-outline{color:#f8fafc!important;background:#0f172a!important;border-color:#334155!important}html.dark .pagination button:hover,html.dark .pagination-controls button:hover,html.dark .btn-secondary:hover,html.dark .btn-outline:hover{color:#fff!important;background:#334155!important}html.dark .modal-content,html.dark .dialog-content{color:#f8fafc!important;background:#1e293b!important;border-color:#334155!important}html.dark .modal-header,html.dark .dialog-header{border-bottom-color:#334155!important}html.dark .modal-footer,html.dark .dialog-footer{background:#0f172a!important;border-top-color:#334155!important}html.dark .form-group label,html.dark .form-label{color:#94a3b8!important}html.dark .stats-summary{background:#1e293b!important;border-color:#334155!important}.sub-mgr-container{flex-direction:column;height:100vh;padding:.5rem 1.5rem 1.5rem;display:flex;overflow:hidden}.sub-mgr-header{justify-content:space-between;align-items:baseline;margin-bottom:12px;padding:12px 0 6px;display:flex;position:relative}.sub-mgr-title{color:#64748b;margin:0;font-size:1.25rem;font-weight:700}.sub-mgr-subtitle{color:#94a3b8;margin-top:.25rem;font-size:.85rem}.sub-mgr-content{background:#fff;border:1px solid #0000000d;border-radius:32px;flex-direction:column;flex:1;min-height:0;padding:2rem;display:flex;overflow-y:auto;box-shadow:0 10px 30px #0000000a}.sub-mgr-content h2{color:#64748b;border-bottom:1px solid #00000008;margin:0 0 1rem;padding-bottom:.5rem;font-size:1rem;font-weight:700}.sub-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;display:grid}.sub-card{background:#fff;border:1px solid #0000000d;border-radius:16px;flex-direction:column;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.sub-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000000d,0 4px 6px -2px #00000008}.sub-card-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.sub-card-header h3{color:#0f172a;margin:0;font-size:1.1rem;font-weight:700}.sub-code{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;padding:.35rem .85rem;font-size:.75rem;font-weight:800}.sub-card-body{flex:1}.sub-card-body p{color:#475569;margin:.6rem 0;font-size:.95rem;line-height:1.4}.sub-card-body strong{color:#1e293b;min-width:65px;font-weight:600;display:inline-block}.sub-card-footer{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;padding-top:1.25rem;display:flex}.sub-card-footer button{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.sub-card-footer button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.sub-card-footer button:disabled{opacity:.5;cursor:not-allowed}html.dark .sub-card{background:#0f172a;border-color:#334155}html.dark .sub-mgr-title,html.dark .sub-card-header h3{color:#f8fafc}html.dark .sub-card-body p{color:#cbd5e1}html.dark .sub-card-body strong{color:#f1f5f9}html.dark .sub-card-header,html.dark .sub-card-footer,html.dark .sub-mgr-content h2{border-color:#334155}html.dark .sub-mgr-content{background:#1e293b;border-color:#334155}html.dark .sub-mgr-content h2{color:#e2e8f0}.you-premium-container{background:radial-gradient(circle at 100% 0,#1059340d,#0000),radial-gradient(circle at 0 100%,#10593408,#0000);justify-content:center;align-items:flex-start;min-height:calc(100vh - 80px);padding:2.5rem;display:flex}.profile-split-layout{flex-direction:row;gap:3rem;width:100%;max-width:1400px;display:flex}.profile-left-col{flex:0 0 350px;justify-content:center;align-items:flex-start;display:flex}.profile-right-col{flex-direction:column;flex:1;display:flex}.id-card-wrapper{width:100%;max-width:350px;margin-top:40px;position:relative}.id-card-wrapper:after{content:"";z-index:0;background-color:#105934;border-radius:24px;position:absolute;inset:15px 15px -15px -15px}.id-card-main{z-index:1;background-color:#fff;border-radius:24px;flex-direction:column;align-items:center;padding:2.5rem 1.5rem 1.5rem;display:flex;position:relative;box-shadow:0 10px 30px #0000001a}.lanyard-container{z-index:2;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;top:-100px;left:50%;transform:translate(-50%)}.lanyard-strap{background:#111;border-radius:4px;width:30px;height:80px;position:relative}.id-card-hole{z-index:2;background-color:#f1f5f9;border-radius:10px;width:60px;height:12px;position:absolute;top:15px;left:50%;transform:translate(-50%);box-shadow:inset 0 2px 4px #0000001a}.id-avatar-container{justify-content:center;width:100%;margin-top:.5rem;display:flex}.id-avatar{aspect-ratio:1;object-fit:cover;background-color:#f1f5f9;border-radius:24px;width:100%;box-shadow:0 8px 20px #0000001a}.id-avatar-fallback{aspect-ratio:1;color:#fff;background:linear-gradient(135deg,#105934,#15803d);border-radius:24px;justify-content:center;align-items:center;width:100%;font-size:5rem;font-weight:800;display:flex;box-shadow:0 8px 20px #0000001a}.id-name{color:#0f172a;text-align:center;margin:1.5rem 0 .25rem;font-size:1.5rem;font-weight:900;line-height:1.2}.id-role{color:#105934;letter-spacing:2px;text-transform:uppercase;margin-bottom:1.5rem;font-size:.85rem;font-weight:800}.id-details-section{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:.5rem;width:100%;margin-bottom:1.5rem;display:flex}.id-details-list{flex-direction:column;flex:1;gap:.75rem;display:flex}.id-detail-item{color:#475569;align-items:center;gap:.75rem;font-size:.85rem;font-weight:600;display:flex}.id-detail-item svg{color:#94a3b8}.id-qr-section{flex-direction:column;align-items:center;gap:.5rem;display:flex}.id-qr-box{color:#0f172a;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.id-qr-text{color:#64748b;letter-spacing:.5px;text-transform:uppercase;font-size:.55rem;font-weight:800}.id-footer{color:#cbd5e1;letter-spacing:1px;border-top:1px solid #e2e8f0;justify-content:center;align-items:center;gap:.5rem;width:100%;padding-top:1rem;font-size:.75rem;font-weight:800;display:flex}.identity-card-wrapper{background:#fff;border:1px solid #0000000d;border-radius:32px;width:100%;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000014}.identity-hero{background:linear-gradient(135deg,#0f172a 0%,#105934 100%);justify-content:center;align-items:flex-end;height:200px;display:flex;position:relative}.hero-gradient-overlay{opacity:.1;mix-blend-mode:overlay;background:url(https://www.transparenttextures.com/patterns/carbon-fibre.png);position:absolute;inset:0}.identity-status-floating{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;align-items:center;gap:10px;padding:8px 16px;display:flex;position:absolute;top:24px;right:24px}.identity-status-floating span{color:#fff;letter-spacing:.1em;font-size:.7rem;font-weight:800}.status-dot-pulse{background:#4ade80;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-green;box-shadow:0 0 #4ade8066}.hero-avatar-container{position:relative;bottom:-50px}.premium-avatar-ring{background:#fff;border-radius:50%;padding:6px;box-shadow:0 15px 35px #0000001a}.profile-avatar-main{background:linear-gradient(135deg,#105934,#22c55e);border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;display:flex;overflow:hidden}.profile-avatar-main img{object-fit:cover;width:100%;height:100%}.identity-body{padding:70px 40px 40px}.identity-core-info{text-align:center;margin-bottom:40px}.info-grid-container{flex-direction:column;gap:40px;display:flex}.info-group-title{color:#64748b;letter-spacing:.1em;border-left:4px solid #105934;margin-bottom:20px;padding-left:12px;font-size:.85rem;font-weight:800}.info-card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.premium-info-card{background:#f8fafc;border:1px solid #f1f5f9;border-radius:20px;align-items:center;gap:20px;padding:20px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.premium-info-card:hover{background:#fff;border-color:#105934;transform:translateY(-2px);box-shadow:0 10px 20px #00000008}.card-icon-box{color:#105934;background:#fff;border:1px solid #f1f5f9;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 4px 10px #00000005}.card-text-box label{color:#94a3b8;letter-spacing:.05em;margin-bottom:4px;font-size:.65rem;font-weight:800;display:block}.card-text-box p{color:#1e293b;font-size:1.05rem;font-weight:700}.card-full-width{grid-column:1/-1}.identity-footer{background:#f8fafc;border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:24px 48px;display:flex}.id-watermark{color:#94a3b8;align-items:center;gap:8px;display:flex}.id-watermark span{letter-spacing:.1em;font-size:.7rem;font-weight:800}.id-security-hash{color:#cbd5e1;font-family:Courier New,Courier,monospace;font-size:.75rem;font-weight:700}.profile-loading{color:#105934;flex-direction:column;justify-content:center;align-items:center;height:80vh;display:flex}.profile-spinner{border:4px solid #1059341a;border-top-color:#105934;border-radius:50%;width:50px;height:50px;margin-bottom:20px;animation:1s linear infinite spin}.profile-error{color:#ef4444;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:80vh;padding:20px;display:flex}@keyframes slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:.6s cubic-bezier(.16,1,.3,1) forwards slide-up}html.dark .id-card-wrapper:after{background-color:#15803d}html.dark .id-card-main{background-color:#1e293b;box-shadow:0 10px 40px #0006}html.dark .id-card-hole{background-color:#0f172a;box-shadow:inset 0 2px 6px #00000080}html.dark .id-avatar{background-color:#334155}html.dark .id-name{color:#f8fafc}html.dark .id-role{color:#4ade80}html.dark .id-detail-item{color:#94a3b8}html.dark .id-qr-box{background:#cbd5e1;border-color:#94a3b8}html.dark .id-footer{color:#64748b;border-top-color:#334155}html.dark .identity-card-wrapper{background:#0f172a;border-color:#1e293b}html.dark .id-display-name{color:#f8fafc}html.dark .id-role-badge{color:#16a34a;background:#022c22;border-color:#064e3b}html.dark .premium-info-card{background:#1e293b;border-color:#334155}html.dark .premium-info-card:hover{background:#0f172a;border-color:#16a34a}html.dark .card-icon-box{color:#16a34a;background:#0f172a;border-color:#334155}html.dark .card-text-box p{color:#f8fafc}html.dark .identity-footer{background:#1e293b;border-top-color:#334155}@media (width<=1000px){.profile-split-layout{flex-direction:column;align-items:center}.profile-left-col{flex:none;width:100%;max-width:350px;margin-bottom:2rem}.profile-right-col{width:100%}}.gs-root{color:#1c1917;background:#f8fafc;min-height:100vh;font-family:Inter,sans-serif;overflow-x:hidden}.gs-nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1rem 3rem;display:flex;position:fixed;top:0;left:0;right:0}.gs-nav-logo{color:#105934;align-items:center;gap:.6rem;font-size:1.2rem;font-weight:800;display:flex}.gs-nav-actions{align-items:center;gap:.75rem;display:flex}.gs-btn-ghost{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.95rem;font-weight:600;transition:background .2s,color .2s}.gs-btn-ghost:hover{color:#1c1917;background:#f1f5f9}.gs-btn-primary{color:#fff;cursor:pointer;background:#105934;border:none;border-radius:8px;padding:.6rem 1.4rem;font-size:.95rem;font-weight:700;transition:background .2s,transform .15s}.gs-btn-primary:hover{background:#0a3d22;transform:translateY(-1px)}.gs-hero-text{flex-direction:column;align-items:center;padding-top:1.5rem;display:flex}.gs-badge{color:#105934;letter-spacing:.01em;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:100px;margin-bottom:1.5rem;padding:.4rem 1.2rem;font-size:.85rem;font-weight:600;display:inline-block}.gs-h1{letter-spacing:-.03em;text-align:center;color:#0f172a;margin-bottom:1.5rem;font-size:clamp(2.5rem,5vw,5rem);font-weight:900;line-height:1.1}.gs-h1-accent{color:#105934}.gs-subtitle{color:#64748b;text-align:center;max-width:540px;margin:0 auto 2.5rem;font-size:1.15rem;line-height:1.7}.gs-cta-row{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:2rem;width:100%;margin-bottom:6rem;display:flex}.gs-cta-group{flex-direction:column;align-items:center;gap:.75rem;display:flex}.gs-cta-note{color:#105934;letter-spacing:.05em;text-transform:uppercase;opacity:.9;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:6px;padding:.25rem .75rem;font-size:.75rem;font-weight:700}.gs-cta-primary{color:#fff;cursor:pointer;white-space:nowrap;background:#105934;border:none;border-radius:12px;align-items:center;gap:.75rem;padding:.9rem 2rem;font-size:1.05rem;font-weight:700;text-decoration:none;transition:all .2s;display:flex;box-shadow:0 8px 24px #1059344d}.gs-cta-primary:hover{background:#0a3d22;transform:translateY(-2px);box-shadow:0 12px 28px #10593466}.gs-cta-outline{color:#105934;cursor:pointer;white-space:nowrap;background:#fff;border:2px solid #105934;border-radius:12px;align-items:center;gap:.75rem;padding:.9rem 2rem;font-size:1.05rem;font-weight:700;text-decoration:none;transition:all .2s;display:flex}.gs-cta-outline:hover{background:#ecfdf5;transform:translateY(-2px)}.gs-mockup{background:#111827;border-radius:16px;width:100%;height:100%;display:flex;overflow:hidden}.gs-mock-sidebar{background:#0f172a;border-right:1px solid #1e293b;flex-shrink:0;width:180px;padding:1.2rem 1rem}.gs-mock-logo-row{align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.gs-mock-logo-dot{background:#105934;border-radius:6px;width:24px;height:24px}.gs-mock-logo-text{background:#1e293b;border-radius:4px;width:80px;height:10px}.gs-mock-nav-item{border-radius:8px;align-items:center;gap:.6rem;margin-bottom:.3rem;padding:.55rem .6rem;transition:background .2s;display:flex}.gs-mock-nav-item.active{background:#10593440}.gs-mock-nav-icon{background:#334155;border-radius:4px;flex-shrink:0;width:16px;height:16px}.gs-mock-nav-item.active .gs-mock-nav-icon{background:#105934}.gs-mock-nav-label{background:#1e293b;border-radius:4px;flex:1;height:8px}.gs-mock-nav-item.active .gs-mock-nav-label{background:#334155}.gs-mock-nav-icon-real{color:#475569;flex-shrink:0;align-items:center;display:flex}.gs-mock-nav-item.active .gs-mock-nav-icon-real{color:#86efac}.gs-mock-nav-label-real{color:#475569;white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;font-weight:500;overflow:hidden}.gs-mock-nav-item.active .gs-mock-nav-label-real{color:#e2e8f0;font-weight:600}.gs-mock-page-title{color:#e2e8f0;letter-spacing:.02em;font-size:.72rem;font-weight:700}.gs-mock-main{flex-direction:column;flex:1;gap:.8rem;padding:1rem;display:flex;overflow:hidden}.gs-mock-topbar{justify-content:space-between;align-items:center;display:flex}.gs-mock-search{background:#1e293b;border-radius:8px;width:180px;height:28px}.gs-mock-live-badge{color:#f87171;background:#ef444426;border:1px solid #ef44444d;border-radius:100px;padding:.25rem .6rem;font-size:.65rem;font-weight:700;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.gs-mock-stats{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.gs-mock-stat-card{background:#1e293b;border-radius:10px;align-items:center;gap:.6rem;padding:.7rem .8rem;display:flex}.gs-mock-stat-icon{font-size:1.1rem}.gs-mock-stat-value{color:#f1f5f9;font-size:.95rem;font-weight:700;line-height:1.2}.gs-mock-stat-label{color:#64748b;font-size:.65rem}.gs-mock-camera{border:1px solid #1e293b;border-radius:12px;flex:1;min-height:0;position:relative;overflow:hidden}.gs-mock-camera-overlay{position:absolute;inset:0}.gs-mock-face{border:2px solid #ef4444d9;border-radius:4px;width:44px;height:44px;transition:all .3s;position:absolute;box-shadow:0 0 0 1px #ef44444d,0 0 8px #ef444440}.gs-mock-face.present{border-color:#22c55e;box-shadow:0 0 0 1px #22c55e4d,0 0 12px #22c55e66}.gs-mock-face:after{content:"";color:#fff;background:#ef4444e6;border-radius:3px;width:30px;height:10px;padding:1px 4px;font-size:.5rem;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.gs-mock-face.present:after{background:#22c55ee6}.gs-features{max-width:1200px;margin:0 auto;padding:6rem 2rem}.gs-features-header{text-align:center;margin-bottom:4rem}.gs-features-title{color:#0f172a;letter-spacing:-.03em;margin-bottom:.75rem;font-size:2.5rem;font-weight:800}.gs-features-sub{color:#64748b;margin:0;font-size:1.1rem}.gs-features-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}.gs-feature-card{cursor:default;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:2rem;transition:all .3s}.gs-feature-card:hover{border-color:#bbf7d0;box-shadow:0 12px 40px #1059341a}.gs-feature-icon{color:#105934;background:#ecfdf5;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:1.25rem;transition:transform .3s;display:flex}.gs-feature-card:hover .gs-feature-icon{transform:scale(1.1)}.gs-feature-title{color:#0f172a;margin-bottom:.6rem;font-size:1.15rem;font-weight:700}.gs-feature-desc{color:#64748b;margin:0;font-size:.95rem;line-height:1.7}.gs-cta-banner{background:#0f172a;padding:4rem 2rem}.gs-cta-inner{text-align:center;max-width:700px;margin:0 auto}.gs-cta-title{color:#fff;letter-spacing:-.03em;margin-bottom:1rem;font-size:2.5rem;font-weight:800}.gs-cta-text{color:#94a3b8;margin-bottom:2.5rem;font-size:1.1rem}.gs-cta-big-btn{color:#fff;cursor:pointer;background:#105934;border:none;border-radius:14px;align-items:center;gap:.5rem;padding:1rem 2.5rem;font-size:1.05rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 8px 24px #10593466}.gs-cta-big-btn:hover{background:#0a3d22;transform:translateY(-3px)}.gs-footer{background:#f8fafc;border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:2rem 3rem;display:flex}.gs-footer-brand{color:#105934;align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;display:flex}.gs-footer-dev{color:#64748b;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.gs-dev-link{color:#105934;align-items:center;gap:.35rem;font-weight:600;text-decoration:none;transition:color .2s,transform .2s;display:inline-flex}.gs-dev-link:hover{color:#0a3d22;transform:translateY(-1px)}.gs-dev-logo{object-fit:cover;border:1px solid #bbf7d0;border-radius:50%;width:20px;height:20px}.gs-footer-copy{color:#94a3b8;margin:0;font-size:.85rem}.settings-container{width:100%;padding:2rem 3rem;animation:.3s ease-out fadeIn}.settings-header{text-align:left;margin-bottom:2.5rem}.settings-header h1{color:var(--foreground);margin:0 0 .5rem;font-size:2.5rem;font-weight:800}.settings-header p{color:var(--muted-foreground);margin:0;font-size:1rem}.settings-section{background:var(--card);border:1px solid var(--border);border-radius:16px;margin-bottom:2rem;padding:2rem;box-shadow:0 4px 20px #00000008}.settings-section-title{color:var(--foreground);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;margin:0 0 1.5rem;padding-bottom:1rem;font-size:1.1rem;font-weight:700;display:flex}.settings-row{justify-content:space-between;align-items:center;padding:1.25rem 0;display:flex}.settings-row:not(:last-child){border-bottom:1px solid var(--border)}.settings-info h4{color:var(--foreground);margin:0 0 .25rem;font-size:1rem;font-weight:600}.settings-info p{color:var(--muted-foreground);margin:0;font-size:.85rem}.settings-action{align-items:center;gap:1rem;display:flex}.theme-segmented-control{background:var(--secondary);border:1px solid var(--border);border-radius:12px;padding:.35rem;display:flex}.theme-segment-btn{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.theme-segment-btn:hover{color:var(--foreground)}.theme-segment-btn.active{background:var(--background);color:var(--foreground);box-shadow:0 2px 8px #0000001a}.settings-btn{background:var(--primary);color:var(--primary-foreground);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.settings-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}html.dark .settings-section{background:#0f172a;border-color:#1e293b}html.dark .settings-section-title{border-color:#1e293b}html.dark .settings-row:not(:last-child){border-bottom-color:#1e293b}html.dark .theme-segmented-control{background:#020617;border-color:#1e293b}html.dark .theme-segment-btn.active{background:#1e293b}.toggle-switch{width:44px;height:24px;position:relative}.toggle-input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:var(--secondary);border:1px solid var(--border);border-radius:24px;transition:all .4s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .4s;position:absolute;bottom:2px;left:2px;box-shadow:0 2px 4px #0003}.toggle-input:checked+.toggle-slider{background-color:var(--primary);border-color:var(--primary)}.toggle-input:checked+.toggle-slider:before{transform:translate(20px)}.global-viewer-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:9999;background:#0f172ad1;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.global-viewer-card{background:#0f172a;border:1px solid #ffffff1f;border-radius:24px;flex-direction:column;width:100%;max-width:1200px;height:90vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.global-viewer-header{background:#1e293bcc;border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.global-viewer-file-info{align-items:center;gap:.85rem;display:flex;overflow:hidden}.global-viewer-type-chip{letter-spacing:.5px;border-radius:10px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.7rem;font-weight:800;display:inline-flex}.global-viewer-type-chip.image{color:#4ade80;background:#22c55e26;border:1px solid #22c55e4d}.global-viewer-type-chip.pdf{color:#fca5a5;background:#ef444426;border:1px solid #ef44444d}.global-viewer-type-chip.generic{color:#cbd5e1;background:#94a3b826;border:1px solid #94a3b84d}.global-viewer-title{color:#f8fafc;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.global-viewer-toolbar{align-items:center;gap:.5rem;display:flex}.global-viewer-tool-btn{color:#e2e8f0;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.global-viewer-tool-btn:hover{color:#fff;background:#ffffff29;transform:translateY(-1px)}.global-viewer-tool-btn.primary{color:#fff;background:#105934;border-color:#105934}.global-viewer-tool-btn.primary:hover{background:#0d472a;box-shadow:0 4px 12px #10593466}.global-viewer-divider{background:#ffffff26;width:1px;height:20px;margin:0 .25rem}.global-viewer-close-btn{color:#f87171;cursor:pointer;background:#ef444426;border:1px solid #ef44444d;border-radius:12px;justify-content:center;align-items:center;margin-left:.5rem;padding:.5rem;transition:all .2s;display:flex}.global-viewer-close-btn:hover{color:#fff;background:#ef4444}.global-viewer-body{background:#020617;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.global-viewer-image-stage{justify-content:center;align-items:center;width:100%;height:100%;padding:2rem;display:flex;overflow:auto}.global-viewer-img{object-fit:contain;border-radius:12px;max-width:90%;max-height:90%;transition:transform .25s cubic-bezier(.16,1,.3,1);box-shadow:0 20px 25px -5px #00000080}.global-viewer-pdf-container{background:#fff;width:100%;height:100%}.global-viewer-pdf-iframe{border:none;width:100%;height:100%}.global-viewer-loading,.global-viewer-fallback{color:#94a3b8;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.global-viewer-fallback h4{color:#f8fafc;margin:0;font-size:1.125rem}.global-viewer-fallback p{margin:0;font-size:.9rem}.global-viewer-download-cta{color:#fff;background:#105934;border-radius:14px;align-items:center;gap:.5rem;margin-top:.5rem;padding:.65rem 1.25rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.global-viewer-download-cta:hover{background:#0d472a;transform:translateY(-1px)}.bag-container{background-color:#f8fafc;width:100%;height:100vh;font-family:Inter,sans-serif;display:flex}.bag-sidebar{background-color:#fff;border-right:1px solid #e2e8f0;flex-direction:column;width:260px;padding:1.5rem 1rem;display:flex}.bag-sidebar-title{color:#1e293b;align-items:center;gap:.5rem;margin-bottom:2rem;font-size:1.25rem;font-weight:700;display:flex}.bag-nav{flex-direction:column;flex:1;gap:.5rem;display:flex}.bag-nav-item{color:#64748b;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-weight:500;transition:all .2s;display:flex}.bag-nav-item:hover{color:#0f172a;background-color:#f1f5f9}.bag-nav-item.active{color:#4338ca;background-color:#e0e7ff}.bag-nav-item svg{width:20px;height:20px}.bag-storage-info{border-top:1px solid #e2e8f0;margin-top:auto;padding-top:1.5rem}.bag-main{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.bag-header{background-color:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;height:70px;padding:0 2rem;display:flex}.bag-breadcrumbs{color:#334155;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;display:flex}.bag-breadcrumbs .crumb{cursor:pointer;transition:color .2s}.bag-breadcrumbs .crumb:hover{color:#4338ca}.bag-breadcrumbs .separator{color:#94a3b8}.bag-actions{align-items:center;gap:1rem;display:flex}.bag-action-btn{cursor:pointer;border:1px solid #0000;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;transition:all .2s;display:flex}.bag-action-btn.primary{color:#fff;background-color:#4338ca}.bag-action-btn.primary:hover{background-color:#3730a3}.bag-action-btn.secondary{color:#475569;background-color:#fff;border-color:#cbd5e1}.bag-action-btn.secondary:hover{background-color:#f8fafc}.bag-content{flex:1;padding:2rem;position:relative;overflow-y:auto}.bag-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;display:grid}.bag-list{flex-direction:column;gap:.5rem;display:flex}.empty-state{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100%;display:flex}.empty-state svg{color:#cbd5e1;width:64px;height:64px}.bag-item-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;flex-direction:column;padding:1rem;transition:all .2s;display:flex;position:relative}.bag-item-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.bag-item-icon{border-radius:.5rem;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1rem;display:flex}.bag-item-icon.folder{color:#4338ca;background-color:#e0e7ff}.bag-item-icon.image{color:#15803d;background-color:#dcfce7}.bag-item-icon.pdf{color:#b91c1c;background-color:#fee2e2}.bag-item-icon.file{color:#475569;background-color:#f1f5f9}.bag-item-icon img{object-fit:cover;border-radius:.5rem;width:100%;height:100%}.bag-item-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;margin-bottom:.25rem;font-size:.9rem;font-weight:500;overflow:hidden}.bag-item-meta{color:#64748b;font-size:.75rem}.bag-item-menu{color:#94a3b8;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex;position:absolute;top:.5rem;right:.5rem}.bag-item-card:hover .bag-item-menu{opacity:1}.bag-item-menu:hover{color:#1e293b;background-color:#f1f5f9}.bag-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.bag-modal{background:#fff;border-radius:1rem;width:400px;padding:1.5rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.bag-modal-title{color:#0f172a;margin-bottom:1.5rem;font-size:1.25rem;font-weight:600}.bag-modal-input{border:1px solid #cbd5e1;border-radius:.5rem;width:100%;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.bag-modal-input:focus{border-color:#4338ca;outline:none;box-shadow:0 0 0 3px #4338ca1a}.bag-modal-actions{justify-content:flex-end;gap:.75rem;display:flex}.preview-modal-overlay{z-index:2000;background-color:#0f172ae6;flex-direction:column;display:flex;position:fixed;inset:0}.preview-modal-header{color:#fff;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;height:60px;padding:0 1.5rem;display:flex}.preview-modal-title{font-weight:500}.preview-modal-actions{gap:1rem;display:flex}.preview-icon-btn{color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-radius:.25rem;padding:.5rem;transition:all .2s}.preview-icon-btn:hover{color:#fff;background-color:#ffffff1a}.preview-modal-content{flex:1;justify-content:center;align-items:center;padding:2rem;display:flex;overflow:hidden}.preview-image{object-fit:contain;max-width:100%;max-height:100%}.preview-iframe{background:#fff;border:none;width:100%;height:100%}.bag-dropzone-overlay{color:#4338ca;z-index:50;background-color:#4338ca0d;border:2px dashed #4338ca;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;margin:1rem;display:flex;position:absolute;inset:0}.bag-dropzone-overlay svg{width:64px;height:64px;margin-bottom:1rem}.context-menu{z-index:1000;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;flex-direction:column;gap:.25rem;min-width:150px;padding:.5rem;display:flex;position:fixed;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.context-menu button,.context-menu a{text-align:left;color:#334155;cursor:pointer;background:0 0;border:none;border-radius:.25rem;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;font-size:.875rem;text-decoration:none;transition:background-color .2s;display:flex}.context-menu button:hover,.context-menu a:hover{background-color:#f1f5f9}.context-menu button.text-red-600{color:#dc2626}.context-menu button.text-red-600:hover{background-color:#fef2f2}.pad-dashboard-container{background:0 0;flex-direction:column;height:100%;padding:2rem;display:flex}.pad-dashboard-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.pad-dashboard-header h2{color:#0f172a;margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.pad-dashboard-header p{color:#64748b;margin:0;font-size:.95rem}.pad-empty-state{color:#64748b;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.pad-empty-state .empty-icon{color:#cbd5e1;margin-bottom:1rem}.pad-empty-state h3{color:#334155;margin:0 0 .5rem;font-size:1.25rem}.pad-empty-state p{margin:0 0 1.5rem}.pad-loading-state{color:#64748b;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;display:flex}.pad-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem;padding-bottom:2rem;display:grid}.pad-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;min-height:160px;padding:1.25rem;transition:all .2s;display:flex}.pad-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.pad-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.pad-icon{color:var(--primary-color,#10b981)}.pad-delete-btn{color:#94a3b8;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.pad-card:hover .pad-delete-btn{opacity:1}.pad-delete-btn:hover{color:#ef4444;background:#fee2e2}.pad-card-body{flex:1}.pad-card-body h3{color:#1e293b;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1.1rem;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.pad-card-footer{color:#94a3b8;align-items:center;gap:.5rem;margin-top:1rem;font-size:.85rem;display:flex}.smart-pad-wrapper{background-color:var(--bg-color);width:100%;height:100vh;display:flex;overflow:hidden}.pad-editor-container{background:#fff;border-radius:16px;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #00000005}.pad-editor-header{z-index:10;pointer-events:auto;align-items:center;gap:.5rem;display:flex;position:absolute;top:16px;left:68px}.pad-header-left{align-items:center;gap:.5rem;max-width:100%;display:flex}.pad-title-input{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:6px;outline:none;width:100%;min-width:100px;max-width:150px;padding:.25rem .5rem;font-size:1.1rem;font-weight:600;transition:background-color .2s;overflow:hidden}.icon-btn-ghost{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.icon-btn-ghost:hover{color:#1e293b;background:#f1f5f9}.pad-title-input:hover,.pad-title-input:focus{background:#f8fafc}.pad-save-status{align-items:center;font-size:.85rem;font-weight:500;display:flex}.status-text{align-items:center;gap:.35rem;display:flex}.status-text.saved{color:#10b981}.status-text.saving{color:#94a3b8}.status-text.error{color:#ef4444}.pad-editor-canvas{flex-direction:column;flex:1;display:flex;overflow:hidden}.smart-pad-wrapper .excalidraw{--color-primary:#105934;--color-primary-darker:#0d4a2b;--color-primary-darkest:#0a3a22;--color-primary-light:#d6e8df;--color-primary-light-darker:#c2dccf;--color-surface-primary-container:#ebf5ee;--color-on-primary-container:#0d4a2b;--color-surface-high:#e6f0eb;--color-surface-mid:#f1f5f3;--color-surface-low:#f4f7f5}html.dark .smart-pad-wrapper .excalidraw{--color-primary:#16a34a;--color-primary-darker:#15803d;--color-primary-darkest:#166534;--color-primary-light:#22c55e;--color-primary-light-darker:#4ade80;--color-surface-primary-container:#113620;--color-on-primary-container:#4ade80;--color-surface-high:#1e293b;--color-surface-mid:#0f172a;--color-surface-low:#0b1120}.smart-pad-wrapper .excalidraw .layer-ui__wrapper .App-menu__left .sidebar-trigger,.smart-pad-wrapper .excalidraw .layer-ui__wrapper .sidebar-trigger[title*=Library],.smart-pad-wrapper .excalidraw .layer-ui__wrapper .sidebar-trigger{display:none!important}.smart-pad-wrapper .excalidraw .sidebar-container,.smart-pad-wrapper .excalidraw .layer-ui__sidebar,.smart-pad-wrapper .excalidraw .sidebar{border-right:1px solid var(--sidebar-border-color,var(--color-gray-20));z-index:999!important;border-left:none!important;left:0!important;right:auto!important;box-shadow:4px 0 16px #0000001a!important}.smart-pad-wrapper .excalidraw .sidebar__dock{display:none!important}.picker-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#0a0f1466;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.picker-modal{background-color:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border-color);flex-direction:column;width:90%;max-width:600px;height:70vh;max-height:500px;display:flex;overflow:hidden;box-shadow:0 10px 40px #0003}.picker-header{border-bottom:1px solid var(--border-color);background-color:var(--surface-light);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.picker-title{align-items:center;gap:.75rem;display:flex}.picker-title-icon{color:var(--primary-color)}.picker-title h3{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:600}.close-btn{color:var(--text-tertiary);transition:all .2s}.close-btn:hover{color:var(--text-primary);background-color:var(--bg-color);border-radius:50%}.picker-nav-bar{border-bottom:1px solid var(--border-color);background-color:var(--bg-color);justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.picker-nav-left,.picker-nav-right{align-items:center;display:flex}.upload-device-btn{background-color:var(--primary-color);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.upload-device-btn:hover:not(:disabled){background-color:var(--primary-color-dark);transform:translateY(-1px);box-shadow:0 4px 12px #10a37f33}.upload-device-btn:disabled{opacity:.7;cursor:not-allowed}.back-btn{color:var(--primary-color);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:.25rem;padding:.25rem .5rem;font-weight:500;transition:all .2s;display:flex}.back-btn:hover{background-color:#10a37f1a}.current-location{color:var(--text-secondary);font-size:.9rem;font-weight:500}.picker-content{background-color:var(--bg-color);flex:1;padding:1.5rem;overflow-y:auto}.picker-loading,.picker-empty{height:100%;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.picker-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1.5rem;display:grid}.picker-item{border-radius:var(--radius-md);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem;transition:all .2s;display:flex}.picker-item:hover{background-color:var(--surface-light);transform:translateY(-2px)}.item-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:48px;height:48px;transition:all .2s;display:flex}.folder-icon{color:#3b82f6;background-color:#3b82f61a}.picker-item:hover .folder-icon{background-color:#3b82f633}.file-icon{color:var(--primary-color);background-color:#10a37f1a}.picker-item:hover .file-icon{background-color:#10a37f33}.item-name{color:var(--text-primary);word-break:break-word;-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;max-width:100%;font-size:.85rem;display:-webkit-box;overflow:hidden}.ai-assistant-widget{background-color:var(--surface-bg,#fff);border:1px solid var(--border-color,#e2e8f0);z-index:1000;cursor:grab;border-radius:12px;flex-direction:column;width:350px;height:500px;display:flex;position:absolute;bottom:64px;right:70px;overflow:hidden;box-shadow:0 4px 24px #00000026}.ai-assistant-widget.embedded{width:100%;height:100%;box-shadow:none;cursor:default;border:none;border-radius:0;position:static}.ai-assistant-widget:active{cursor:grabbing}.ai-widget-header{border-bottom:1px solid var(--border-color,#e2e8f0);background-color:var(--surface-low,#f8fafc);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}html.dark .ai-widget-header{background-color:var(--surface-low,#0f172a)}.ai-widget-title{color:var(--text-color,#0f172a);align-items:center;gap:8px;font-size:.95rem;font-weight:600;display:flex}.ai-widget-close{color:var(--text-muted,#64748b);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.ai-widget-close:hover{color:var(--text-color,#000);background-color:#0000000d}html.dark .ai-widget-close:hover{background-color:#ffffff1a}.ai-widget-messages{background-color:var(--bg-color,#fff);cursor:default;flex-direction:column;flex:1;gap:12px;min-height:200px;padding:16px;display:flex;overflow-y:auto}.ai-empty-state{text-align:center;height:100%;color:var(--text-muted,#64748b);flex-direction:column;justify-content:center;align-items:center;padding:20px;font-size:.9rem;display:flex}.ai-message{flex-direction:column;max-width:85%;display:flex}.ai-message.user{align-self:flex-end}.ai-message.bot{align-self:flex-start}.ai-message-content{word-break:break-word;border-radius:12px;padding:10px 14px;font-size:.9rem;line-height:1.4}.ai-message.user .ai-message-content{background-color:var(--primary-color,#16a34a);color:#fff;border-bottom-right-radius:4px}.ai-message.bot .ai-message-content{background-color:var(--surface-mid,#f1f5f9);color:var(--text-color,#0f172a);border:1px solid var(--border-color,#e2e8f0);border-bottom-left-radius:4px}html.dark .ai-message.bot .ai-message-content{background-color:var(--surface-mid,#1e293b);border-color:var(--border-color,#334155)}.ai-cursor{background-color:currentColor;width:6px;height:14px;margin-left:4px;animation:1s step-end infinite blink;display:inline-block}.ai-insert-btn{color:var(--primary-color,#16a34a);border:1px solid var(--primary-color,#16a34a);cursor:pointer;background-color:#0000;border-radius:12px;align-self:flex-start;align-items:center;gap:4px;margin-top:6px;padding:4px 8px;font-size:.75rem;font-weight:500;transition:all .2s;display:flex}.ai-insert-btn:hover{background-color:var(--primary-color,#16a34a);color:#fff}.ai-diagram-label{color:var(--primary-color,#16a34a);margin-bottom:4px;font-size:.75rem;font-weight:600}.ai-diagram-preview pre{white-space:pre-wrap;background-color:#0000000d;border-radius:4px;max-height:120px;padding:8px;font-size:.75rem;overflow:hidden}html.dark .ai-diagram-preview pre{background-color:#ffffff0d}.ai-widget-input-area{border-top:1px solid var(--border-color,#e2e8f0);background-color:var(--surface-low,#f8fafc);cursor:default;gap:8px;padding:12px;display:flex}html.dark .ai-widget-input-area{background-color:var(--surface-low,#0f172a)}.ai-widget-input-area input{border:1px solid var(--border-color,#e2e8f0);background-color:var(--bg-color,#fff);color:var(--text-color,#0f172a);border-radius:20px;outline:none;flex:1;padding:8px 16px;font-size:.9rem;transition:border-color .2s}.ai-widget-input-area input:focus{border-color:var(--primary-color,#16a34a)}.ai-send-btn{background-color:var(--primary-color,#16a34a);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.ai-send-btn:hover:not(:disabled){opacity:.9;transform:scale(1.05)}.ai-send-btn:disabled{background-color:var(--text-muted,#94a3b8);cursor:not-allowed}.ai-spin{animation:1s linear infinite spin}.markdown-body{font-size:.9rem;line-height:1.5}.markdown-body p{margin-top:0;margin-bottom:8px}.markdown-body p:last-child{margin-bottom:0}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:8px;padding-left:20px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin-top:12px;margin-bottom:8px;font-size:1em;font-weight:600}.markdown-body strong{font-weight:700}.document-sidebar{background-color:var(--surface-bg);border-left:1px solid var(--border-color);flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px;display:flex}.sidebar-header h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:.9rem;font-weight:600}.attach-btn{color:var(--primary-color);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:background-color .2s;display:flex}.attach-btn:hover{background-color:rgba(var(--primary-color-rgb), .1)}.document-list{flex:1;padding:8px;overflow-y:auto}.empty-state{text-align:center;color:var(--text-tertiary);padding:24px 16px;font-size:.9rem}.sidebar-loading{color:var(--text-secondary);justify-content:center;padding:32px 0;display:flex}.document-item{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;margin-bottom:4px;padding:10px 12px;transition:all .2s;display:flex}.document-item:hover{background-color:var(--hover-bg)}.document-item.active{background-color:rgba(var(--primary-color-rgb), .05);border-color:rgba(var(--primary-color-rgb), .2)}.doc-icon{color:var(--primary-color);align-items:center;margin-right:12px;display:flex}.doc-info{flex-direction:column;display:flex;overflow:hidden}.doc-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:.85rem;font-weight:500;overflow:hidden}.doc-status{color:var(--text-tertiary);align-items:center;gap:4px;font-size:.75rem;display:flex}.status-success{color:#10b981}.status-error{color:#ef4444}.spin-icon{animation:1s linear infinite spin}.immersive-ai-menu{z-index:2000;background-color:var(--surface-bg,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:12px;flex-direction:column;gap:6px;min-width:250px;margin-top:-15px;padding:6px;display:flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}html.dark .immersive-ai-menu{z-index:9999;pointer-events:auto;border-radius:12px;font-family:inherit;transition:all .2s cubic-bezier(.175,.885,.32,1.275);position:absolute;overflow:hidden;box-shadow:0 4px 20px #00000026}.immersive-ai-menu.expanded{background-color:var(--surface-bg,#fff);border:1px solid var(--border-color,#e2e8f0);flex-direction:column;gap:12px;min-width:280px;padding:12px;display:flex}html.dark .immersive-ai-menu.expanded{background-color:#232329;border-color:#3b3b4f}.immersive-ai-menu.collapsed{box-shadow:none;min-width:unset;background:0 0;border:none;padding:0}.magic-wand-trigger{color:#fff;cursor:pointer;background-color:#5b5377;border:1px solid #6b6387;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex;box-shadow:0 4px 12px #0003}.magic-wand-trigger:hover{background-color:#6a6286;transform:scale(1.05)}.magic-wand-trigger:active{transform:scale(.95)}.immersive-ai-quick-actions{gap:4px;display:flex}.ai-quick-action{color:var(--text-color,#0f172a);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:.8rem;font-weight:500;transition:all .2s;display:flex}html.dark .ai-quick-action{color:var(--text-primary,#e2e8f0)}.ai-quick-action:hover{background-color:var(--surface-mid,#f1f5f9);color:var(--primary-color,#16a34a)}html.dark .ai-quick-action:hover{background-color:var(--surface-mid,#1e293b)}.immersive-ai-input-wrapper{background-color:var(--bg-color,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-radius:8px;align-items:center;padding:4px 4px 4px 10px;display:flex}html.dark .immersive-ai-input-wrapper{background-color:var(--bg-color,#0b1120);border-color:var(--border-color,#1e293b)}.immersive-ai-input-wrapper input{color:var(--text-color,#0f172a);background:0 0;border:none;outline:none;flex:1;padding:4px 0;font-size:.85rem}html.dark .immersive-ai-input-wrapper input{color:var(--text-primary,#e2e8f0)}.ai-custom-send-btn{background:var(--primary-color,#16a34a);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;transition:opacity .2s;display:flex}.ai-custom-send-btn:disabled{opacity:.5;cursor:not-allowed}.ai-custom-send-btn:hover:not(:disabled){opacity:.9}.immersive-ai-generating{color:var(--primary-color,#16a34a);justify-content:center;align-items:center;gap:8px;padding:12px;font-size:.85rem;font-weight:500;display:flex}.share-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;background-color:#0f172a80;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.share-modal-content{background-color:var(--background,#fff);border:1px solid var(--border,#e2e8f0);width:100%;max-width:480px;color:var(--foreground,#1e293b);box-sizing:border-box;border-radius:24px;padding:1.75rem 2rem;font-family:inherit;position:relative;box-shadow:0 25px 50px -12px #0000002e}.share-modal-header{border-bottom:1px solid var(--border,#e2e8f0);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.share-modal-header-title{color:#105934;align-items:center;gap:.6rem;font-size:1.15rem;font-weight:700;display:flex}.share-header-icon{color:#105934}.share-modal-close{background:var(--muted,#f1f5f9);color:var(--muted-foreground,#64748b);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.45rem;transition:all .2s;display:flex}.share-modal-close:hover{color:#fff;background-color:#ef4444}.share-body-wrapper{flex-direction:column;gap:1.25rem;display:flex}.share-section{text-align:center;background:var(--muted,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:18px;flex-direction:column;align-items:center;padding:1.25rem 1rem;display:flex}.share-section-icon-badge{color:#105934;background:#1059341a;border-radius:16px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:.75rem;display:flex}.share-section-icon-badge.secondary{color:#2563eb;background:#3b82f61a}.share-section h3{color:var(--foreground,#1e293b);margin:0 0 .35rem;font-size:1rem;font-weight:700}.share-desc{color:var(--muted-foreground,#64748b);margin:0 0 .25rem;font-size:.875rem}.share-desc-sub{color:var(--muted-foreground,#94a3b8);margin:0 0 1rem;font-size:.775rem;line-height:1.4}.share-btn{cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.7rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.share-btn.primary{color:#fff;background-color:#105934;box-shadow:0 4px 12px #10593440}.share-btn.primary:hover{background-color:#0d472a;transform:translateY(-1px);box-shadow:0 6px 16px #10593459}.share-btn.secondary{background-color:var(--background,#fff);color:var(--foreground,#1e293b);border:1px solid var(--border,#cbd5e1)}.share-btn.secondary:hover{background-color:var(--muted,#f1f5f9);color:#105934;border-color:#105934}.share-btn:disabled{opacity:.7;cursor:not-allowed}.share-divider{text-align:center;margin:.25rem 0;position:relative}.share-divider:before{content:"";background-color:var(--border,#e2e8f0);z-index:1;height:1px;position:absolute;top:50%;left:0;right:0}.share-divider span{background-color:var(--background,#fff);color:var(--muted-foreground,#94a3b8);letter-spacing:1px;z-index:2;padding:0 12px;font-size:.75rem;font-weight:700;position:relative}.share-active-session{flex-direction:column;gap:1.25rem;display:flex}.share-input-group{flex-direction:column;gap:.4rem;display:flex}.share-input-group label{color:var(--foreground,#1e293b);font-size:.825rem;font-weight:600}.share-mode-toggle-group{flex-direction:column;gap:.4rem;display:flex}.share-mode-chip{border:1px solid var(--border,#e2e8f0);background:var(--muted,#f8fafc);color:var(--muted-foreground,#64748b);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:.5rem;padding:.6rem .85rem;font-size:.825rem;font-weight:600;transition:all .2s;display:flex}.share-mode-chip:hover{color:var(--foreground,#1e293b);border-color:#105934}.share-mode-chip.active{color:#105934;background:#10593414;border-color:#105934}.share-input{background-color:var(--muted,#f8fafc);border:1px solid var(--border,#cbd5e1);color:var(--foreground,#1e293b);box-sizing:border-box;border-radius:14px;outline:none;width:100%;padding:.7rem 1rem;font-size:.9rem;transition:all .2s}.share-input:focus{border-color:#105934;box-shadow:0 0 0 3px #10593426}.share-link-wrapper{align-items:center;display:flex;position:relative}.share-link-input{padding-right:110px}.share-copy-btn{color:#fff;cursor:pointer;background-color:#105934;border:none;border-radius:10px;align-items:center;gap:4px;padding:.45rem .85rem;font-size:.8rem;font-weight:600;transition:all .2s;display:flex;position:absolute;right:6px}.share-copy-btn:hover{background-color:#0d472a}.share-qr-container{justify-content:center;margin:.5rem 0;display:flex}.share-qr-box{border:1px solid var(--border,#e2e8f0);background:#fff;border-radius:18px;padding:1rem;display:inline-block;box-shadow:0 4px 12px #0000000d}.share-footer-note{background:#1059340d;border:1px solid #10593426;border-radius:14px;padding:.85rem 1rem}.share-footer-note p{color:var(--muted-foreground,#64748b);align-items:center;gap:.4rem;margin:0;font-size:.775rem;line-height:1.4;display:flex}.inline-lock-icon{color:#105934;flex-shrink:0}.share-action-row{justify-content:center;display:flex}.share-btn.stop-session{color:#dc2626;background-color:#ef444414;border:1px solid #ef44444d;border-radius:14px}.share-btn.stop-session:hover{color:#fff;background-color:#dc2626}.spin{animation:1s linear infinite spin}.excalidraw .Spinner{--spinner-color:var(--icon-fill-color);justify-content:center;align-items:center;height:100%;margin-left:auto;margin-right:auto;display:flex}.excalidraw .Spinner svg{animation:1.6s linear infinite rotate;animation-delay:var(--spinner-delay);transform-origin:50%}.excalidraw .Spinner circle{stroke:var(--spinner-color);stroke-linecap:round;animation:1.6s linear infinite dash}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1 300;stroke-dashoffset:0}50%{stroke-dasharray:150 300;stroke-dashoffset:-200px}to{stroke-dasharray:1 300;stroke-dashoffset:-280px}}.excalidraw .ToolIcon{border-radius:var(--border-radius-lg);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;align-items:center;display:inline-flex;position:relative}.excalidraw .ToolIcon__hidden{display:none!important}.excalidraw .ToolIcon.fillable .ToolIcon_type_radio:checked+.ToolIcon__icon,.excalidraw .ToolIcon.fillable .ToolIcon_type_checkbox:checked+.ToolIcon__icon{--icon-fill-color:var(--color-on-primary-container)}.excalidraw .ToolIcon.fillable .ToolIcon_type_radio:checked+.ToolIcon__icon svg,.excalidraw .ToolIcon.fillable .ToolIcon_type_checkbox:checked+.ToolIcon__icon svg{fill:var(--icon-fill-color)}.excalidraw .ToolIcon .ToolIcon_type_radio:checked+.ToolIcon__icon,.excalidraw .ToolIcon .ToolIcon_type_checkbox:checked+.ToolIcon__icon{background:var(--color-surface-primary-container);--keybinding-color:var(--color-on-primary-container)}.excalidraw .ToolIcon .ToolIcon_type_radio:checked+.ToolIcon__icon svg,.excalidraw .ToolIcon .ToolIcon_type_checkbox:checked+.ToolIcon__icon svg{color:var(--color-on-primary-container)}.excalidraw .ToolIcon .ToolIcon__keybinding{bottom:4px;right:4px}.excalidraw .ToolIcon .ToolIcon__icon:hover{background:var(--button-hover-bg)}.excalidraw .ToolIcon .ToolIcon__icon:active{background:var(--button-hover-bg);border:1px solid var(--button-active-border)}.excalidraw .ToolIcon .ToolIcon__icon:active svg{color:var(--color-on-primary-container)}.excalidraw .ToolIcon .ToolIcon__icon[aria-disabled=true]{background:initial;border:none}.excalidraw .ToolIcon .ToolIcon__icon[aria-disabled=true] svg{color:var(--color-disabled)}.excalidraw .ToolIcon--plain{background-color:#0000}.excalidraw .ToolIcon--plain .ToolIcon__icon{width:2rem;height:2rem}.excalidraw .ToolIcon_type_radio,.excalidraw .ToolIcon_type_checkbox{opacity:0;pointer-events:none;position:absolute}.excalidraw .ToolIcon__icon{box-sizing:border-box;width:var(--default-button-size);height:var(--default-button-size);color:var(--icon-fill-color);border-radius:var(--border-radius-lg);justify-content:center;align-items:center;display:flex}.excalidraw .ToolIcon__icon+.ToolIcon__label{margin-inline-start:0}.excalidraw .ToolIcon__icon svg{width:var(--default-icon-size);height:var(--default-icon-size);color:var(--icon-fill-color);position:relative}.excalidraw .ToolIcon__label{color:var(--icon-fill-color);font-family:var(--ui-font);text-overflow:ellipsis;align-items:center;margin:0 .8em;display:flex}.excalidraw .ToolIcon__label .Spinner{margin-left:.6em}.excalidraw .ToolIcon_size_small .ToolIcon__icon{width:2rem;height:2rem;font-size:.8em}.excalidraw .ToolIcon_type_button,.excalidraw .Modal .ToolIcon_type_button{font-size:inherit;background-color:initial;border:none;margin:0;padding:0}.excalidraw .ToolIcon_type_button:focus-visible,.excalidraw .Modal .ToolIcon_type_button:focus-visible{box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .ToolIcon_type_button.ToolIcon--selected,.excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected{background-color:var(--button-gray-2)}.excalidraw .ToolIcon_type_button.ToolIcon--selected:active,.excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected:active,.excalidraw .ToolIcon_type_button:active,.excalidraw .Modal .ToolIcon_type_button:active{background-color:var(--button-gray-3)}.excalidraw .ToolIcon_type_button:disabled,.excalidraw .Modal .ToolIcon_type_button:disabled{cursor:default}.excalidraw .ToolIcon_type_button:disabled:active,.excalidraw .ToolIcon_type_button:disabled:focus-visible,.excalidraw .ToolIcon_type_button:disabled:hover,.excalidraw .Modal .ToolIcon_type_button:disabled:active,.excalidraw .Modal .ToolIcon_type_button:disabled:focus-visible,.excalidraw .Modal .ToolIcon_type_button:disabled:hover{background-color:initial;box-shadow:none;border:none}.excalidraw .ToolIcon_type_button:disabled svg,.excalidraw .Modal .ToolIcon_type_button:disabled svg{color:var(--color-disabled)}.excalidraw .ToolIcon_type_button--show,.excalidraw .Modal .ToolIcon_type_button--show{visibility:visible}.excalidraw .ToolIcon_type_button--hide,.excalidraw .Modal .ToolIcon_type_button--hide{display:none!important}.excalidraw .ToolIcon_type_floating,.excalidraw .ToolIcon_type_floating:hover,.excalidraw .ToolIcon_type_floating:active{background-color:#0000}.excalidraw .ToolIcon_type_floating .ToolIcon__icon{background-color:var(--button-gray-1);width:2rem;height:2rem}.excalidraw .ToolIcon_type_floating .ToolIcon__icon:hover{background-color:var(--button-gray-2)}.excalidraw .ToolIcon_type_floating .ToolIcon__icon:active{background-color:var(--button-gray-3)}.excalidraw .ToolIcon__keybinding{color:var(--keybinding-color);font-size:.625rem;font-family:var(--ui-font);-webkit-user-select:none;user-select:none;position:absolute;bottom:2px;right:3px}:root[dir=ltr] .excalidraw .unlocked-icon{left:2px}:root[dir=rtl] .excalidraw .unlocked-icon{right:2px}.excalidraw .App-toolbar-container .ToolIcon__icon{width:var(--lg-button-size);height:var(--lg-button-size)}@media screen and (width<=450px){.excalidraw .App-toolbar-container .ToolIcon__icon{width:1.8rem;height:1.8rem}}@media screen and (width<=379px){.excalidraw .App-toolbar-container .ToolIcon__icon{width:1.5rem;height:1.5rem}}.excalidraw .App-toolbar-container .ToolIcon__icon svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .App-toolbar-container .ToolIcon__LaserPointer .ToolIcon__icon,.excalidraw .App-toolbar-container .ToolIcon__MagicButton .ToolIcon__icon{width:var(--default-button-size);height:var(--default-button-size)}.excalidraw button.standalone{width:var(--button-width,var(--default-button-size));height:var(--button-height,var(--default-button-size));box-sizing:border-box;border-style:solid;border-width:1px;border-color:var(--button-border,var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg,var(--island-bg-color));color:var(--button-color,var(--color-on-surface));font-family:var(--ui-font);justify-content:center;align-items:center;padding:0;display:flex}.excalidraw button.standalone:hover{background-color:var(--button-hover-bg,var(--island-bg-color));border-color:var(--button-hover-border,var(--button-border,var(--default-border-color)));color:var(--button-hover-color,var(--button-color,var(--text-primary-color,inherit)))}.excalidraw button.standalone:active{background-color:var(--button-active-bg,var(--island-bg-color));border-color:var(--button-active-border,var(--color-primary-darkest))}.excalidraw button.standalone.active{background-color:var(--button-selected-bg,var(--color-surface-primary-container));border-color:var(--button-selected-border,var(--color-surface-primary-container))}.excalidraw button.standalone.active:hover{background-color:var(--button-selected-hover-bg,var(--color-surface-primary-container))}.excalidraw button.standalone.active svg{color:var(--button-color,var(--color-on-primary-container))}.excalidraw button.standalone svg{width:var(--default-icon-size);height:var(--default-icon-size)}.excalidraw button.standalone>*{pointer-events:none}.excalidraw .excalidraw-eye-dropper-container,.excalidraw .excalidraw-eye-dropper-backdrop{width:100%;height:100%;z-index:var(--zIndex-eyeDropperBackdrop);touch-action:none;position:absolute}.excalidraw .excalidraw-eye-dropper-container{pointer-events:none}.excalidraw .excalidraw-eye-dropper-backdrop{pointer-events:all}.excalidraw .excalidraw-eye-dropper-preview{pointer-events:none;width:3rem;height:3rem;z-index:var(--zIndex-eyeDropperPreview);border:1px solid var(--default-border-color);filter:var(--theme-filter);border-radius:1rem;position:fixed}.excalidraw .excalidraw-eye-dropper-trigger{cursor:pointer;width:1.25rem;height:1.25rem;color:var(--icon-fill-color);border-radius:.5rem;margin-left:-2px;margin-right:-4px;padding:4px}.excalidraw .excalidraw-eye-dropper-trigger:hover{background:var(--button-hover-bg)}.excalidraw .excalidraw-eye-dropper-trigger.selected{color:var(--color-primary);background:var(--color-primary-light)}.excalidraw .Island{--padding:0;box-sizing:border-box;background-color:var(--island-bg-color);box-shadow:var(--shadow-island);border-radius:var(--border-radius-lg);padding:calc(var(--padding) * var(--space-factor));transition:box-shadow .5s ease-in-out;position:relative}.excalidraw .Island.zen-mode{box-shadow:none}.excalidraw .focus-visible-none:focus-visible{outline:none!important}.excalidraw .color-picker__heading{text-align:left;padding:0 .5rem;font-size:.75rem}.excalidraw .color-picker-container{grid-template-columns:1fr 20px 1.625rem;align-items:center;padding:.25rem 0;display:grid}.excalidraw--mobile.excalidraw .color-picker-container{max-width:11rem}.excalidraw .color-picker__top-picks{justify-content:space-between;display:flex}.excalidraw .color-picker__button{--radius:.25rem;border:1px solid var(--color-gray-30);border-radius:var(--radius);width:1.35rem;height:1.35rem;filter:var(--theme-filter);background-color:var(--swatch-color);box-sizing:border-box;background-position:0;margin:0;padding:0;font-family:inherit;position:relative}.excalidraw .color-picker__button:hover:after{content:"";box-shadow:0 0 0 1px var(--color-gray-30);border-radius:calc(var(--radius) + 1px);filter:var(--theme-filter);position:absolute;inset:-2px}.excalidraw .color-picker__button.active .color-picker__button-outline{box-shadow:0 0 0 1px var(--color-primary-darkest);z-index:1;border-radius:calc(var(--radius) + 1px);filter:var(--theme-filter);position:absolute;inset:-2px}.excalidraw .color-picker__button:focus-visible{outline:none}.excalidraw .color-picker__button:focus-visible:after{content:"";border:3px solid var(--focus-highlight-color);border-radius:calc(var(--radius) + 1px);position:absolute;inset:-4px}.excalidraw .color-picker__button:focus-visible.active .color-picker__button-outline{display:none}.excalidraw .color-picker__button--large{--radius:.5rem;width:1.875rem;height:1.875rem}.excalidraw .color-picker__button.is-transparent{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==)}.excalidraw .color-picker__button--no-focus-visible{border:0}.excalidraw .color-picker__button--no-focus-visible:after{display:none}.excalidraw .color-picker__button--no-focus-visible:focus-visible{outline:none!important}.excalidraw .color-picker__button.active-color{border-radius:calc(var(--radius) + 1px);width:1.625rem;height:1.625rem}.excalidraw .color-picker__button__hotkey-label{filter:none;font-size:11px;position:absolute;bottom:4px;right:4px}.excalidraw .color-picker{background:var(--popup-bg-color);border:0 solid #ffffff40;border-radius:4px;position:absolute;box-shadow:0 1px 4px #00000040}:root[dir=ltr] .excalidraw .color-picker{left:-5.5px}:root[dir=rtl] .excalidraw .color-picker{right:-5.5px}.excalidraw .color-picker-control-container{grid-template-columns:auto 1fr;align-items:center;column-gap:.5rem;display:grid}.excalidraw .color-picker-control-container+.popover{position:static}.excalidraw .color-picker-popover-container{margin-top:-.25rem}:root[dir=ltr] .excalidraw .color-picker-popover-container{margin-left:.5rem}:root[dir=rtl] .excalidraw .color-picker-popover-container{margin-left:-3rem}.excalidraw .color-picker-triangle{border-style:solid;border-width:0 9px 10px;border-color:transparent transparent var(--popup-bg-color);width:0;height:0;position:absolute;top:10px}:root[dir=ltr] .excalidraw .color-picker-triangle{left:-14px;transform:rotate(270deg)}:root[dir=rtl] .excalidraw .color-picker-triangle{right:-14px;transform:rotate(90deg)}.excalidraw .color-picker-triangle-shadow{border-color:#0000 #0000 #0000001a}:root[dir=ltr] .excalidraw .color-picker-triangle-shadow{left:-14px}:root[dir=rtl] .excalidraw .color-picker-triangle-shadow{right:-16px}.excalidraw .color-picker-content{outline:none;flex-direction:column;gap:.75rem;display:flex}.excalidraw .color-picker-content--default{grid-gap:.25rem;border-radius:4px;grid-template-columns:repeat(5,1.875rem);padding:.5rem;display:grid}.excalidraw .color-picker-content--default:focus{box-shadow:0 0 0 2px var(--focus-highlight-color);outline:none}.excalidraw .color-picker-content--canvas{flex-direction:column;padding:.25rem;display:flex}.excalidraw .color-picker-content--canvas-title{color:#868e96;padding:0 .25rem;font-size:12px}.excalidraw .color-picker-content--canvas-colors{padding:.5rem 0}.excalidraw .color-picker-content--canvas-colors .color-picker-swatch{margin:0 .25rem}.excalidraw .color-picker-content .color-input-container{grid-column:1/span 5}.excalidraw .color-picker-swatch{cursor:pointer;box-sizing:border-box;width:1.875rem;height:1.875rem;filter:var(--theme-filter);border:1px solid #ddd;border-radius:4px;margin:0;position:relative;background-color:currentColor!important}.excalidraw .color-picker-swatch:focus{border-color:var(--select-highlight-color);box-shadow:0 0 4px 1px}.excalidraw .color-picker-transparent{border-radius:4px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0000001a}.excalidraw .color-picker-transparent,.excalidraw .color-picker-label-swatch{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==) 0}.excalidraw .color-picker-hash{height:var(--default-button-size);border:1px solid var(--default-border-color);box-sizing:border-box;color:var(--input-label-color);border-right:0;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem .5rem .5rem .75rem;display:flex;position:relative}:root[dir=ltr] .excalidraw .color-picker-hash{border-radius:var(--border-radius-lg) 0 0 var(--border-radius-lg)}:root[dir=rtl] .excalidraw .color-picker-hash{border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0;border-right:1px solid var(--default-border-color);border-left:0}.excalidraw .color-input-container{display:flex}.excalidraw .color-input-container:focus-within{box-shadow:0 0 0 1px var(--color-primary-darkest);border-radius:var(--border-radius-lg)}.excalidraw .color-picker__input-label{border:1px solid var(--default-border-color);box-sizing:border-box;border-radius:8px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;margin:8px;padding:0 12px;display:grid}.excalidraw .color-picker__input-label:focus-within{box-shadow:0 0 0 1px var(--color-primary-darkest);border-radius:var(--border-radius-lg)}.excalidraw .color-picker__input-hash{padding:0 .25rem}.excalidraw .color-picker-input{box-sizing:border-box;width:100%;color:var(--text-primary-color);height:var(--default-button-size);border:0;border:1px solid var(--default-border-color);letter-spacing:.4px;appearance:none;background-color:#0000;border-left:0;outline:none;margin:0;padding:.5rem .5rem .5rem .25rem;font-family:inherit;font-size:.875rem}:root[dir=ltr] .excalidraw .color-picker-input{border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0}:root[dir=rtl] .excalidraw .color-picker-input{border-radius:var(--border-radius-lg) 0 0 var(--border-radius-lg);border-left:1px solid var(--default-border-color);border-right:0}.excalidraw .color-picker-input:focus-visible{box-shadow:none}.excalidraw .color-picker-label-swatch-container{border:1px solid var(--default-border-color);border-radius:var(--border-radius-lg);width:var(--default-button-size);height:var(--default-button-size);box-sizing:border-box;overflow:hidden}.excalidraw .color-picker-label-swatch{width:var(--button-width,var(--default-button-size));height:var(--button-height,var(--default-button-size));box-sizing:border-box;border-style:solid;border-width:1px;border-color:var(--button-border,var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg,var(--island-bg-color));color:var(--button-color,var(--color-on-surface));font-family:var(--ui-font);filter:var(--theme-filter);justify-content:center;align-items:center;padding:.625rem;display:flex;position:relative;overflow:hidden;background-color:var(--swatch-color)!important;border:0!important}.excalidraw .color-picker-label-swatch svg{width:var(--button-width,var(--lg-icon-size));height:var(--button-height,var(--lg-icon-size))}.excalidraw .color-picker-label-swatch:hover{background-color:var(--button-hover-bg,var(--island-bg-color));border-color:var(--button-hover-border,var(--button-border,var(--default-border-color)));color:var(--button-hover-color,var(--button-color,var(--text-primary-color,inherit)))}.excalidraw .color-picker-label-swatch:active{background-color:var(--button-active-bg,var(--island-bg-color));border-color:var(--button-active-border,var(--color-primary-darkest))}.excalidraw .color-picker-label-swatch.active{background-color:var(--button-selected-bg,var(--color-surface-primary-container));border-color:var(--button-selected-border,var(--color-surface-primary-container))}.excalidraw .color-picker-label-swatch.active:hover{background-color:var(--button-selected-hover-bg,var(--color-surface-primary-container))}.excalidraw .color-picker-label-swatch.active svg{color:var(--button-color,var(--color-on-primary-container))}.excalidraw .color-picker-label-swatch:after{content:"";background:var(--swatch-color);width:100%;height:100%;position:absolute;top:0;left:0}.excalidraw .color-picker-keybinding{font-size:.7em;position:absolute;bottom:2px}:root[dir=ltr] .excalidraw .color-picker-keybinding{right:2px}:root[dir=rtl] .excalidraw .color-picker-keybinding{left:2px}.excalidraw--mobile.excalidraw .color-picker-keybinding{display:none}.excalidraw .color-picker-type-canvasBackground .color-picker-keybinding{color:#aaa}.excalidraw .color-picker-type-elementBackground .color-picker-keybinding{color:#fff}.excalidraw .color-picker-swatch[aria-label=transparent] .color-picker-keybinding{color:#aaa}.excalidraw .color-picker-type-elementStroke .color-picker-keybinding{color:#d4d4d4}.excalidraw.theme--dark .color-picker-type-elementBackground .color-picker-keybinding,.excalidraw.theme--dark .color-picker-swatch[aria-label=transparent] .color-picker-keybinding{color:#000}.excalidraw .picker{background:var(--popup-bg-color);box-shadow:var(--shadow-island);border:0 solid #ffffff40;border-radius:4px;padding:.5rem;position:absolute}:root[dir=rtl] .excalidraw .picker{padding:.4rem}.excalidraw .picker-container button,.excalidraw .picker button{justify-content:center;align-items:center;display:flex;position:relative}.excalidraw .picker-container button:focus-visible,.excalidraw .picker button:focus-visible{background-color:var(--button-gray-2);outline:#0000}.excalidraw .picker-container button:focus-visible svg,.excalidraw .picker button:focus-visible svg{opacity:1}.excalidraw .picker-container button:hover,.excalidraw .picker button:hover{background-color:var(--button-gray-2)}.excalidraw .picker-container button:active,.excalidraw .picker button:active{background-color:var(--button-gray-3)}.excalidraw .picker-container button:disabled,.excalidraw .picker button:disabled{cursor:not-allowed}.excalidraw .picker-container button svg,.excalidraw .picker button svg{pointer-events:none;width:36px;height:18px;margin:0}.excalidraw .picker button{padding:.25rem .28rem .35rem .25rem}.excalidraw .picker-content{grid-gap:.5rem;border-radius:4px;grid-template-columns:repeat(4,auto);display:grid}.excalidraw .picker-collapsible{padding:.5rem 0;font-size:.75rem}.excalidraw .picker-keybinding{color:var(--keybinding-color);font-size:.7em;position:absolute;bottom:2px}:root[dir=ltr] .excalidraw .picker-keybinding{right:2px}:root[dir=rtl] .excalidraw .picker-keybinding{left:2px}.excalidraw--mobile.excalidraw .picker-keybinding{display:none}.excalidraw .picker-type-canvasBackground .picker-keybinding{color:#aaa}.excalidraw .picker-type-elementBackground .picker-keybinding{color:#fff}.excalidraw .picker-swatch[aria-label=transparent] .picker-keybinding{color:#aaa}.excalidraw .picker-type-elementStroke .picker-keybinding{color:#d4d4d4}.excalidraw.theme--dark .picker-type-elementBackground .picker-keybinding,.excalidraw.theme--dark .picker-swatch[aria-label=transparent] .picker-keybinding{color:#000}.excalidraw{--list-border-color:var(--color-gray-20)}.excalidraw .QuickSearch__wrapper{border-bottom:1px solid var(--list-border-color);height:2.6rem;position:relative}.excalidraw .QuickSearch__wrapper svg{width:1.25rem;height:1.25rem;color:var(--color-gray-40);z-index:1;position:absolute;top:47.5%;left:.75rem;transform:translateY(-50%)}.excalidraw.theme--dark{--list-border-color:var(--color-gray-80)}.excalidraw.theme--dark .QuickSearch__wrapper{border-bottom:none}.excalidraw .QuickSearch__input{box-sizing:border-box;width:100%;font-size:.875rem;position:absolute;top:0;left:0;border:0!important;padding-left:2.5rem!important;padding-right:.75rem!important}.excalidraw .QuickSearch__input::placeholder{color:var(--color-gray-40)}.excalidraw .QuickSearch__input:focus{box-shadow:none!important}.excalidraw .ScrollableList__wrapper{border:none;font-size:.875rem;overflow-y:auto;position:static!important}.excalidraw .ScrollableList__wrapper>.empty,.excalidraw .ScrollableList__wrapper>.hint{color:var(--color-gray-60);text-align:center;justify-content:center;align-items:center;padding:.5rem;font-size:.75rem;line-height:150%;display:flex;overflow:hidden}.excalidraw .FontPicker__container{grid-template-columns:calc(1rem + 3 * var(--default-button-size)) 1rem 1fr;align-items:center;display:grid}.excalidraw--mobile.excalidraw .FontPicker__container{max-width:calc(2rem + 4 * var(--default-button-size))}.excalidraw{--slider-thumb-size:16px}.excalidraw .range-wrapper{padding-top:10px;padding-bottom:30px;position:relative}.excalidraw .range-input{-webkit-appearance:none;background:var(--color-slider-track);border-radius:2px;outline:none;width:100%;height:4px}.excalidraw .range-input::-webkit-slider-thumb{appearance:none;width:var(--slider-thumb-size);height:var(--slider-thumb-size);background:var(--color-slider-thumb);cursor:pointer;border:none;border-radius:50%}.excalidraw .range-input::-moz-range-thumb{width:var(--slider-thumb-size);height:var(--slider-thumb-size);background:var(--color-slider-thumb);cursor:pointer;border:none;border-radius:50%}.excalidraw .value-bubble{color:var(--text-primary-color);font-size:12px;position:absolute;bottom:0;transform:translate(-50%)}.excalidraw .zero-label{color:var(--text-primary-color);font-size:12px;position:absolute;bottom:0;left:4px}.excalidraw-tooltip{--ui-font:Assistant, system-ui, BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;font-family:var(--ui-font);z-index:var(--zIndex-popup);box-sizing:border-box;pointer-events:none;word-wrap:break-word;text-align:center;color:#fff;background:#000;border-radius:6px;padding:8px;font-size:13px;font-weight:500;line-height:1.5;display:none;position:fixed}.excalidraw-tooltip.excalidraw-tooltip--visible{display:block}.excalidraw-tooltip-wrapper{display:flex}.excalidraw-tooltip-icon{width:.9em;height:.9em;margin-top:1px;margin-left:5px;display:flex}.excalidraw--mobile.excalidraw-tooltip-icon{display:none}.excalidraw .TextInput{display:inline-block}.ProjectName{align-items:center;margin:auto;display:flex}.ProjectName .TextInput{text-align:center;text-overflow:ellipsis;width:200px;height:calc(1rem - 3px);margin-left:8px;overflow:hidden}.ProjectName .TextInput--readonly{background:0 0;border:none;width:auto;max-width:200px;padding-left:2px}.ProjectName .TextInput--readonly:hover{background:0 0}.excalidraw .Checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;align-items:center;margin:4px .3em;display:flex}.excalidraw .Checkbox:hover:not(.is-checked) .Checkbox-box:not(:focus){box-shadow:0 0 0 2px #4dabf7}.excalidraw .Checkbox:hover:not(.is-checked) .Checkbox-box:not(:focus) svg{opacity:.3;display:block}.excalidraw .Checkbox:active .Checkbox-box{box-shadow:inset 0 0 2px 1px #1c7ed6!important}.excalidraw .Checkbox:hover .Checkbox-box{background-color:#d0ebff33}.excalidraw .Checkbox.is-checked .Checkbox-box{background-color:#d0ebff}.excalidraw .Checkbox.is-checked .Checkbox-box svg{display:block}.excalidraw .Checkbox.is-checked:hover .Checkbox-box{background-color:#a5d8ff}.excalidraw .Checkbox .Checkbox-box{color:#1c7ed6;background-color:#0000;border:0;border-radius:4px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;margin:0 1em;padding:0;display:flex;box-shadow:0 0 0 2px #1c7ed6}.excalidraw .Checkbox .Checkbox-box:focus{box-shadow:0 0 0 3px #1c7ed6}.excalidraw .Checkbox .Checkbox-box svg{stroke-width:3px;width:16px;height:16px;display:none}.excalidraw .Checkbox .Checkbox-label{align-items:center;display:flex}.excalidraw .Checkbox .excalidraw-tooltip-icon{width:1em;height:1em}.excalidraw .Avatar{width:var(--avatar-size,1.5rem);height:var(--avatar-size,1.5rem);outline-offset:2px;cursor:pointer;color:var(--color-gray-90);border-radius:100%;flex:none;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;line-height:1;display:flex;position:relative}.excalidraw .Avatar:active{transform:scale(.94)}.excalidraw .Avatar-img{border-radius:100%;width:100%;height:100%}.excalidraw .Avatar:before{content:"";border-radius:100%;position:absolute;inset:-3px}.excalidraw .Avatar.is-followed:before{border-color:var(--color-primary-hover);box-shadow:0 0 0 1px var(--color-primary-hover)}.excalidraw .Avatar.is-current-user{cursor:auto}.excalidraw-hyperlinkContainer{z-index:var(--zIndex-hyperlinkContainer);background:var(--island-bg-color);border-radius:var(--border-radius-md);box-sizing:border-box;justify-content:space-between;align-items:center;min-height:42px;display:flex;position:absolute;box-shadow:0 2px 4px #0000004d}.excalidraw-hyperlinkContainer-input,.excalidraw-hyperlinkContainer button{z-index:100}.excalidraw-hyperlinkContainer-input,.excalidraw-hyperlinkContainer-link{height:24px;font-size:.9rem;font-weight:500;line-height:24px;font-family:var(--ui-font);padding:0 8px}.excalidraw-hyperlinkContainer-input{width:18rem;color:var(--text-primary-color);background-color:#0000;border:none;outline:none;box-shadow:none!important}.excalidraw-hyperlinkContainer-link{text-overflow:ellipsis;white-space:nowrap;max-width:15rem;overflow:hidden}.excalidraw-hyperlinkContainer button{color:#228be6;font-weight:500;background-color:#0000!important}.excalidraw-hyperlinkContainer button.excalidraw-hyperlinkContainer--remove{color:#c92a2a}.excalidraw-hyperlinkContainer--remove .ToolIcon__icon svg{color:#fa5252}.excalidraw-hyperlinkContainer .ToolIcon__icon{width:2rem;height:2rem}.excalidraw-hyperlinkContainer__buttons{flex:none}.excalidraw .Dialog{-webkit-user-select:text;user-select:text;cursor:auto}.excalidraw .Dialog__title{text-align:left;border-bottom:1px solid var(--dialog-border-color);margin:0 0 1.5rem;padding:0 0 .75rem;font-size:1.25rem}.excalidraw .Dialog__close{color:var(--color-gray-40);cursor:pointer;background-color:#0000;border:0;margin:0;line-height:0;position:absolute;top:.75rem;right:.5rem}.excalidraw .Dialog__close:hover{color:var(--color-gray-60)}.excalidraw .Dialog__close:active{color:var(--color-gray-40)}.excalidraw .Dialog__close svg{width:1.5rem;height:1.5rem}.excalidraw .Dialog__close+.Dialog__content{--offset:28px;height:calc(100% - var(--offset))!important;margin-top:var(--offset)!important}.excalidraw .Dialog--fullscreen .Dialog__close{top:1.25rem;right:1.25rem}.excalidraw.excalidraw-modal-container{z-index:var(--zIndex-modal);position:absolute}.excalidraw .Modal{padding:calc(var(--space-factor) * 10);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:auto}.excalidraw .Modal .Island{box-shadow:none;border:0;border-radius:0;padding:2.5rem}.excalidraw .Modal.animations-disabled .Modal__background{animation:none}.excalidraw .Modal.animations-disabled .Modal__content{opacity:1;animation:none}.excalidraw .Modal__background{z-index:1;background-color:#12121233;animation:.1s linear forwards Modal__background__fade-in;position:fixed;inset:0}.excalidraw .Modal__content{z-index:2;width:100%;max-width:var(--max-width);opacity:0;background:var(--island-bg-color);border:1px solid var(--dialog-border-color);max-height:100%;box-shadow:var(--modal-shadow);box-sizing:border-box;border-radius:.75rem;animation:25ms ease-out forwards Modal__content_fade-in;position:relative;overflow-y:auto;transform:translateY(10px)}.excalidraw .Modal__content:focus{outline:none}@keyframes Modal__background__fade-in{0%{opacity:0}to{opacity:1}}@keyframes Modal__content_fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.excalidraw .Modal__close{color:var(--icon-fill-color);cursor:pointer;background-color:#0000;border:0;margin:0;padding:.375rem;line-height:0;position:absolute;top:1rem;right:1rem}.excalidraw .Modal__close svg{width:1.5rem;height:1.5rem}.excalidraw .Dialog--fullscreen .Modal{padding:0}.excalidraw .Dialog--fullscreen .Modal__content{border:0;border-radius:0;max-width:100%;position:absolute;inset:0}.excalidraw .Stack{--gap:0;gap:calc(var(--space-factor) * var(--gap));display:grid}.excalidraw .Stack_vertical{grid-template-columns:auto;grid-auto-rows:min-content;grid-auto-flow:row}.excalidraw .Stack_horizontal{grid-template-rows:auto;grid-auto-columns:min-content;grid-auto-flow:column}.excalidraw .confirm-dialog-buttons{justify-content:flex-end;column-gap:.5rem;display:flex}.excalidraw .Dialog__action-button{border:1px solid var(--default-border-color);border-radius:var(--border-radius-lg);letter-spacing:.4px;height:3rem;color:inherit;-webkit-user-select:none;user-select:none;background-color:#0000;align-items:center;column-gap:.5rem;padding:.5rem 1.5rem;font-family:inherit;font-size:.875rem;font-weight:600;display:flex;position:relative}.excalidraw .Dialog__action-button svg{width:1rem;height:1rem;display:block}.excalidraw .Dialog__action-button--danger{background-color:var(--color-danger);border-color:var(--color-danger);color:#fff}.excalidraw .Dialog__action-button--primary{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.excalidraw.theme--dark .Dialog__action-button--danger,.excalidraw.theme--dark .Dialog__action-button--primary{color:var(--color-gray-100)}.excalidraw .publish-library__fields{flex-direction:column;display:flex}.excalidraw .publish-library__fields label{justify-content:space-between;align-items:center;padding:1em 0;display:flex}.excalidraw .publish-library__fields label span{color:#868e96;font-size:1rem;font-weight:500}.excalidraw .publish-library__fields label input,.excalidraw .publish-library__fields label textarea{width:70%;font-family:var(--ui-font);padding:.6em}.excalidraw .publish-library__fields label .required{color:#e03131;margin:.2rem}.excalidraw .publish-library__buttons{justify-content:flex-end;gap:.5rem;padding:.2rem 0;display:flex}.excalidraw .publish-library__buttons .ToolIcon__icon{width:auto;min-width:2.5rem;font-size:1rem}.excalidraw .publish-library__buttons .ToolIcon_type_button{margin-left:1rem;padding:0 .5rem}.excalidraw .publish-library__buttons--confirm.ToolIcon_type_button{background-color:#228be6}.excalidraw .publish-library__buttons--confirm.ToolIcon_type_button:hover{background-color:#1971c2}.excalidraw .publish-library__buttons--cancel.ToolIcon_type_button{background-color:#adb5bd}.excalidraw .publish-library__buttons--cancel.ToolIcon_type_button:hover{background-color:#868e96}.excalidraw .publish-library__buttons .ToolIcon__icon{color:#fff}.excalidraw .publish-library__buttons .ToolIcon__icon .Spinner{--spinner-color:#fff}.excalidraw .publish-library__buttons .ToolIcon__icon .Spinner svg{padding:.5rem}.excalidraw .publish-library .selected-library-items{flex-wrap:wrap;display:flex}.excalidraw .publish-library .selected-library-items .single-library-item-wrapper{width:9rem}.excalidraw .publish-library-warning{color:#fa5252}.excalidraw .publish-library-note{padding:1em 0;font-size:14px;font-style:italic;display:block}.excalidraw .single-library-item{position:relative}.excalidraw .single-library-item-status{color:#f03e3e;background:#ffffffe6;border-radius:.2rem;padding:.1rem .2rem;font-size:.7rem;position:absolute;top:.3rem;left:.3rem}.excalidraw .single-library-item__svg{border:1px solid var(--button-gray-2);background-color:#fff;width:7.5rem;height:7.5rem;padding:.3rem}.excalidraw .single-library-item__svg svg{width:100%;height:100%}.excalidraw .single-library-item .ToolIcon__icon{background-color:#fff;width:auto;height:auto;margin:0 .5rem}.excalidraw .single-library-item .ToolIcon,.excalidraw .single-library-item .ToolIcon_type_button:hover{background-color:#fff}.excalidraw .single-library-item .required,.excalidraw .single-library-item .error{color:#e03131;margin:.2rem;font-size:1rem;font-weight:700}.excalidraw .single-library-item .error{margin:0;padding:.3em 0;font-weight:500}.excalidraw .single-library-item--remove{position:absolute;top:.2rem;right:1rem}.excalidraw .single-library-item--remove .ToolIcon__icon{background-color:#fa5252;margin:0}.excalidraw .single-library-item--remove .ToolIcon__icon:hover{background-color:#f03e3e}.excalidraw .single-library-item--remove .ToolIcon__icon:active{background-color:#e03131}.excalidraw .single-library-item--remove svg{color:#fff;border-radius:.3em;width:1rem;height:1rem;padding:.26rem}.excalidraw .dropdown-menu{margin-top:.5rem;position:absolute;top:100%}.excalidraw .dropdown-menu--mobile{row-gap:.75rem;width:100%;left:0}.excalidraw .dropdown-menu--mobile .dropdown-menu-container{box-sizing:border-box;box-shadow:var(--shadow-island);border-radius:var(--border-radius-lg);padding:8px;transition:box-shadow .5s ease-in-out;position:relative}.excalidraw .dropdown-menu--mobile .dropdown-menu-container.zen-mode{box-shadow:none}.excalidraw .dropdown-menu .dropdown-menu-container{background-color:var(--island-bg-color);--gap:2;max-height:calc(100vh - 150px);overflow-y:auto}.excalidraw .dropdown-menu .dropdown-menu-item-base{color:var(--color-on-surface);box-sizing:border-box;column-gap:.625rem;width:100%;font-family:inherit;font-size:.875rem;font-weight:400;display:flex}.excalidraw .dropdown-menu.manual-hover .dropdown-menu-item:hover{background-color:#0000}.excalidraw .dropdown-menu.manual-hover .dropdown-menu-item--hovered{background-color:var(--button-hover-bg)!important}.excalidraw .dropdown-menu.manual-hover .dropdown-menu-item--selected{background-color:var(--color-primary-light)!important}.excalidraw .dropdown-menu.fonts{max-height:calc(17.95rem + 14px);margin-top:1rem}@media screen and (width>=1921px){.excalidraw .dropdown-menu.fonts{max-height:calc(19.7rem + 14px)}}.excalidraw .dropdown-menu.fonts .dropdown-menu-item-base{display:inline-flex}.excalidraw .dropdown-menu.fonts .dropdown-menu-group:not(:first-child){margin-top:1rem}.excalidraw .dropdown-menu.fonts .dropdown-menu-group-title{text-align:left;margin:0 0 .5rem;font-size:.75rem;font-weight:400;line-height:1.3}.excalidraw .dropdown-menu .dropdown-menu-item{cursor:pointer;border-radius:var(--border-radius-md);background-color:#0000;border:1px solid #0000;align-items:center;width:calc(100% - 2px);height:2rem;margin:1px;padding:0 .5rem}@media screen and (width>=1921px){.excalidraw .dropdown-menu .dropdown-menu-item{height:2.25rem}}.excalidraw .dropdown-menu .dropdown-menu-item__text{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.75rem;width:100%;display:flex;overflow:hidden}.excalidraw .dropdown-menu .dropdown-menu-item__shortcut{opacity:.5;margin-inline-start:auto}.excalidraw .dropdown-menu .dropdown-menu-item__shortcut--orphaned{text-align:right;padding:0 .625rem;font-size:.875rem}.excalidraw .dropdown-menu .dropdown-menu-item--selected{background:var(--color-primary-light);--icon-fill-color:var(--color-primary-darker)}.excalidraw .dropdown-menu .dropdown-menu-item:hover{background-color:var(--button-hover-bg);text-decoration:none}.excalidraw .dropdown-menu .dropdown-menu-item:active{background-color:var(--button-hover-bg);border-color:var(--color-brand-active)}.excalidraw .dropdown-menu .dropdown-menu-item svg{width:1rem;height:1rem;display:block}.excalidraw .dropdown-menu .dropdown-menu-item-bare{justify-content:space-between;align-items:center;height:2rem}@media screen and (width>=1921px){.excalidraw .dropdown-menu .dropdown-menu-item-bare{height:2.25rem}}.excalidraw .dropdown-menu .dropdown-menu-item-bare svg{width:1rem;height:1rem;display:block}.excalidraw .dropdown-menu .dropdown-menu-item-custom{margin-top:.5rem}.excalidraw .dropdown-menu .dropdown-menu-group-title{text-align:left;margin:10px 0;font-size:14px;font-weight:500}.excalidraw .dropdown-menu-button{width:var(--button-width,var(--default-button-size));height:var(--button-height,var(--default-button-size));box-sizing:border-box;border-style:solid;border-width:1px;border-color:var(--button-border,var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg,var(--island-bg-color));color:var(--button-color,var(--color-on-surface));font-family:var(--ui-font);width:var(--lg-button-size);height:var(--lg-button-size);--background:var(--color-surface-mid);background-color:var(--background);justify-content:center;align-items:center;padding:.625rem;display:flex}.excalidraw .dropdown-menu-button:hover{background-color:var(--button-hover-bg,var(--island-bg-color));border-color:var(--button-hover-border,var(--button-border,var(--default-border-color)));color:var(--button-hover-color,var(--button-color,var(--text-primary-color,inherit)))}.excalidraw .dropdown-menu-button:active{background-color:var(--button-active-bg,var(--island-bg-color));border-color:var(--button-active-border,var(--color-primary-darkest))}.excalidraw .dropdown-menu-button.active{background-color:var(--button-selected-bg,var(--color-surface-primary-container));border-color:var(--button-selected-border,var(--color-surface-primary-container))}.excalidraw .dropdown-menu-button.active:hover{background-color:var(--button-selected-hover-bg,var(--color-surface-primary-container))}.excalidraw .dropdown-menu-button.active svg{color:var(--button-color,var(--color-on-primary-container))}.excalidraw.theme--dark.excalidraw .dropdown-menu-button{--background:var(--color-surface-high)}.excalidraw.theme--dark.excalidraw .dropdown-menu-button:hover{--background:#363541}.excalidraw .dropdown-menu-button:hover{--background:var(--color-surface-high);background-color:var(--background);text-decoration:none}.excalidraw .dropdown-menu-button:active{border-color:var(--color-primary)}.excalidraw .dropdown-menu-button svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .dropdown-menu-button--mobile{width:var(--default-button-size);height:var(--default-button-size);border:none;margin:0;padding:0}.excalidraw .library-unit{box-sizing:border-box;border-radius:var(--border-radius-lg);border:1px solid #0000;justify-content:center;align-items:center;width:55px;height:55px;display:flex;position:relative}.excalidraw .library-unit svg{pointer-events:none}.excalidraw .library-unit--hover{border-color:var(--color-primary)}.excalidraw .library-unit--selected{border-color:var(--color-primary);border-width:1px}.excalidraw .library-unit--skeleton{opacity:.5;background:linear-gradient(-45deg,var(--color-gray-10),var(--color-gray-20),var(--color-gray-10));background-size:200% 200%;animation:.2s linear library-unit__skeleton-opacity-animation}.excalidraw.theme--dark .library-unit--skeleton{background-image:linear-gradient(-45deg,var(--color-gray-100),var(--color-gray-80),var(--color-gray-100))}.excalidraw .library-unit__dragger{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.excalidraw .library-unit__dragger>svg{filter:var(--theme-filter);flex-grow:1;max-width:100%;max-height:100%}.excalidraw .library-unit__checkbox-container,.excalidraw .library-unit__checkbox-container:hover,.excalidraw .library-unit__checkbox-container:active{color:var(--icon-fill-color);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:.5rem;display:flex;position:absolute;bottom:2rem;left:2rem}.excalidraw .library-unit__checkbox-container input,.excalidraw .library-unit__checkbox-container:hover input,.excalidraw .library-unit__checkbox-container:active input{cursor:pointer}.excalidraw .library-unit__checkbox{margin:0;position:absolute;top:.125rem;right:.125rem}.excalidraw .library-unit__checkbox .Checkbox-box{background-color:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:4px;width:1rem;height:1rem;margin:0;padding:2px;box-shadow:none!important}.excalidraw .library-unit__checkbox.Checkbox:hover .Checkbox-box{background-color:var(--color-primary-light)}.excalidraw .library-unit__checkbox.is-checked .Checkbox-box{background-color:var(--color-primary)!important}.excalidraw .library-unit__checkbox.is-checked .Checkbox-box svg{color:var(--color-primary-light)}.excalidraw .library-unit__removeFromLibrary>svg{width:16px;height:16px}.excalidraw .library-unit__adder{background-color:var(--color-primary);border-radius:var(--border-radius-md);pointer-events:none;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;animation:1s ease-in infinite library-unit__adder-animation;display:flex;position:absolute;transform:scale(1)}.excalidraw .library-unit__adder svg{color:var(--color-primary-light);width:1rem;height:1rem}.excalidraw .library-unit:active .library-unit__adder{animation:none;transform:scale(.8)}.excalidraw .library-unit__active{cursor:pointer}@keyframes library-unit__adder-animation{0%{transform:scale(.85)}50%{transform:scale(1)}to{transform:scale(.85)}}@keyframes library-unit__skeleton-opacity-animation{0%{opacity:0}75%{opacity:0}to{opacity:.5}}.excalidraw{--container-padding-y:1.5rem;--container-padding-x:.75rem}.excalidraw .library-menu-items__no-items{text-align:center;color:var(--color-gray-70);width:100%;font-size:.875rem;line-height:1.5}.excalidraw .library-menu-items__no-items__label{color:var(--color-primary);margin-bottom:.75rem;font-size:1.125rem;font-weight:700}.excalidraw.theme--dark .library-menu-items__no-items{color:var(--color-gray-40)}.excalidraw .library-menu-items-container{flex-direction:column;flex:1 1 0;justify-content:center;width:100%;height:100%;margin:0;display:flex;position:relative;overflow-y:auto}.excalidraw .library-menu-items-container>div{padding-left:.75rem;padding-right:.75rem}.excalidraw .library-menu-items-container__row{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.excalidraw .library-menu-items-container__items{padding:var(--container-padding-y) 0;flex:1;row-gap:.5rem;margin-bottom:1rem;overflow:hidden auto}.excalidraw .library-menu-items-container__header{color:var(--color-primary);box-sizing:border-box;width:100%;margin-bottom:.75rem;padding-right:4rem;font-size:1.125rem;font-weight:700}.excalidraw .library-menu-items-container__header--excal{margin-top:2rem}.excalidraw .library-menu-items-container__grid{grid-gap:1rem;grid-template-columns:1fr 1fr 1fr 1fr;display:grid}.excalidraw .library-menu-items-container .separator{width:100%;color:var(--text-primary-color);align-items:center;margin:.6em .2em;font-size:.9rem;font-weight:500;display:flex}.excalidraw .library-menu-items-private-library-container{width:100%;min-height:3.75rem}.excalidraw .layer-ui__library{flex-direction:column;flex:auto;display:flex}.excalidraw .library-actions-counter{background-color:var(--color-primary);color:var(--color-primary-light);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:1rem;height:1rem;font-size:.625rem;font-weight:700;display:flex;position:absolute;bottom:-.25rem;right:-.25rem}.excalidraw .layer-ui__library-message{flex-direction:column;flex-grow:1;justify-content:center;align-items:center;min-width:200px;padding:2rem;display:flex}.excalidraw .layer-ui__library-message span{font-size:.8em}.excalidraw .publish-library-success .Dialog__content{flex-direction:column;display:flex}.excalidraw .publish-library-success-close.ToolIcon_type_button{background-color:#228be6;align-self:flex-end}.excalidraw .publish-library-success-close.ToolIcon_type_button:hover{background-color:#1971c2}.excalidraw .publish-library-success-close.ToolIcon_type_button .ToolIcon__icon{color:#fff;width:auto;padding:0 .5rem;font-size:1rem}.excalidraw .library-menu-control-buttons{justify-content:center;align-items:center;gap:.625rem;display:flex;position:relative}.excalidraw .library-menu-control-buttons--at-bottom:before{content:"";background:var(--sidebar-border-color);width:calc(100% - 1.5rem);height:1px;position:absolute;top:-1px}.excalidraw .library-menu-browse-button{height:var(--lg-button-size);border-radius:var(--border-radius-lg);background-color:var(--color-primary);color:#fff;text-align:center;white-space:nowrap;flex:1;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex;position:relative;overflow:hidden;text-decoration:none!important}.excalidraw .library-menu-browse-button:hover{background-color:var(--color-brand-hover)}.excalidraw .library-menu-browse-button:active{background-color:var(--color-brand-active)}.excalidraw.theme--dark .library-menu-browse-button{color:var(--color-gray-100)}.excalidraw.excalidraw--mobile .library-menu-browse-button{height:var(--default-button-size)}.excalidraw .layer-ui__library .dropdown-menu{width:auto;top:initial;right:0;left:initial;margin-bottom:.625rem;bottom:100%}.excalidraw .layer-ui__library .dropdown-menu .dropdown-menu-container{width:196px;box-shadow:var(--library-dropdown-shadow);border-radius:var(--border-radius-lg);padding:.25rem .5rem}.excalidraw .layer-ui__library .library-menu-dropdown-container{position:relative}.excalidraw .layer-ui__library .library-menu-dropdown-container--in-heading{z-index:1;padding:0;position:absolute;top:1rem;right:.75rem}.excalidraw .layer-ui__library .library-menu-dropdown-container--in-heading .dropdown-menu{top:100%}.excalidraw{--ExcTextField--color:var(--color-on-surface);--ExcTextField--label-color:var(--color-on-surface);--ExcTextField--background:var(--color-surface-low);--ExcTextField--readonly--background:var(--color-surface-high);--ExcTextField--readonly--color:var(--color-on-surface);--ExcTextField--border:var(--color-gray-20);--ExcTextField--readonly--border:var(--color-border-outline-variant);--ExcTextField--border-hover:var(--color-brand-hover);--ExcTextField--border-active:var(--color-brand-active);--ExcTextField--placeholder:var(--color-border-outline-variant)}.excalidraw .ExcTextField{position:relative}.excalidraw .ExcTextField svg{width:1.25rem;height:1.25rem;color:var(--color-gray-40);z-index:1;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.excalidraw .ExcTextField--fullWidth{flex-grow:1;width:100%}.excalidraw .ExcTextField__label{color:var(--ExcTextField--label-color);-webkit-user-select:none;user-select:none;margin-bottom:.25rem;font-family:Assistant;font-size:.875rem;font-style:normal;font-weight:600;line-height:150%}.excalidraw .ExcTextField__input{box-sizing:border-box;background:var(--ExcTextField--background);border:1px solid var(--ExcTextField--border);border-radius:.5rem;flex-direction:row;align-items:center;height:3rem;padding:0 .75rem;display:flex}.excalidraw .ExcTextField__input:not(.excalidraw .ExcTextField__input--readonly):hover{border-color:var(--ExcTextField--border-hover)}.excalidraw .ExcTextField__input:not(.excalidraw .ExcTextField__input--readonly):active,.excalidraw .ExcTextField__input:not(.excalidraw .ExcTextField__input--readonly):focus-within{border-color:var(--ExcTextField--border-active)}.excalidraw .ExcTextField__input input{height:1.5rem;color:var(--ExcTextField--color);text-overflow:ellipsis;background:0 0;border:none;outline:none;align-items:center;width:100%;margin:0;padding:0;font-family:Assistant;font-size:1rem;font-style:normal;font-weight:400;line-height:150%;display:flex}.excalidraw .ExcTextField__input input:not(:focus):hover{background-color:initial}.excalidraw .ExcTextField__input input:focus{outline:initial;box-shadow:initial}.excalidraw .ExcTextField__input--readonly{background:var(--ExcTextField--readonly--background);border-color:var(--ExcTextField--readonly--border)}.excalidraw .ExcTextField__input--readonly input{color:var(--ExcTextField--readonly--color)}.excalidraw .ExcTextField--hasIcon .ExcTextField__input{padding-left:2.5rem}.excalidraw .excalidraw-button{width:var(--button-width,var(--default-button-size));height:var(--button-height,var(--default-button-size));box-sizing:border-box;border-style:solid;border-width:1px;border-color:var(--button-border,var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg,var(--island-bg-color));color:var(--button-color,var(--color-on-surface));font-family:var(--ui-font);justify-content:center;align-items:center;padding:.625rem;display:flex}.excalidraw .excalidraw-button svg{width:var(--button-width,var(--lg-icon-size));height:var(--button-height,var(--lg-icon-size))}.excalidraw .excalidraw-button:hover{background-color:var(--button-hover-bg,var(--island-bg-color));border-color:var(--button-hover-border,var(--button-border,var(--default-border-color)));color:var(--button-hover-color,var(--button-color,var(--text-primary-color,inherit)))}.excalidraw .excalidraw-button:active{background-color:var(--button-active-bg,var(--island-bg-color));border-color:var(--button-active-border,var(--color-primary-darkest))}.excalidraw .excalidraw-button.active{background-color:var(--button-selected-bg,var(--color-surface-primary-container));border-color:var(--button-selected-border,var(--color-surface-primary-container))}.excalidraw .excalidraw-button.active:hover{background-color:var(--button-selected-hover-bg,var(--color-surface-primary-container))}.excalidraw .excalidraw-button.active svg{color:var(--button-color,var(--color-on-primary-container))}.zoom-actions,.undo-redo-buttons{background-color:var(--island-bg-color);border-radius:var(--border-radius-lg);box-shadow:0 0 0 1px var(--color-surface-lowest)}.zoom-button,.undo-redo-buttons button{width:var(--lg-button-size);height:var(--lg-button-size);background-color:var(--color-surface-low)!important;border-radius:0!important;font-size:.875rem!important}.zoom-button svg,.undo-redo-buttons button svg{width:var(--lg-icon-size)!important;height:var(--lg-icon-size)!important}.zoom-button .ToolIcon__icon,.undo-redo-buttons button .ToolIcon__icon{width:100%;height:100%}.reset-zoom-button{color:var(--text-primary-color);justify-content:center;border-left:0!important;border-right:0!important;width:3.75rem!important;padding:0 .625rem!important}.zoom-out-button{border-top-left-radius:var(--border-radius-lg)!important;border-bottom-left-radius:var(--border-radius-lg)!important}:root[dir=rtl] .zoom-out-button{transform:scaleX(-1)}.zoom-out-button .ToolIcon__icon{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.zoom-in-button{border-top-right-radius:var(--border-radius-lg)!important;border-bottom-right-radius:var(--border-radius-lg)!important}:root[dir=rtl] .zoom-in-button{transform:scaleX(-1)}.zoom-in-button .ToolIcon__icon{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.undo-redo-buttons .undo-button-container button{border-top-left-radius:var(--border-radius-lg)!important;border-bottom-left-radius:var(--border-radius-lg)!important;border-right:0!important}:root[dir=rtl] .undo-redo-buttons .undo-button-container button{transform:scaleX(-1)}.undo-redo-buttons .undo-button-container button .ToolIcon__icon{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.undo-redo-buttons .redo-button-container button{border-top-right-radius:var(--border-radius-lg)!important;border-bottom-right-radius:var(--border-radius-lg)!important}:root[dir=rtl] .undo-redo-buttons .redo-button-container button{transform:scaleX(-1)}.undo-redo-buttons .redo-button-container button .ToolIcon__icon{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.excalidraw .command-palette-dialog{-webkit-user-select:none;user-select:none}.excalidraw .command-palette-dialog .Modal__content{height:auto;max-height:100%}@media screen and (width>=861px){.excalidraw .command-palette-dialog .Modal__content{height:100%;max-height:750px}}.excalidraw .command-palette-dialog .Modal__content .Island{height:100%;padding:1.5rem}.excalidraw .command-palette-dialog .Modal__content .Dialog__content{flex-direction:column;height:100%;display:flex}.excalidraw .command-palette-dialog .shortcuts-wrapper{justify-content:center;align-items:center;gap:1.5rem;margin-top:12px;display:flex}.excalidraw .command-palette-dialog .shortcut{justify-content:center;align-items:center;gap:.25rem;height:16px;font-size:10px;display:flex}.excalidraw .command-palette-dialog .shortcut .shortcut-wrapper{display:flex}.excalidraw .command-palette-dialog .shortcut .shortcut-plus{margin:0 4px}.excalidraw .command-palette-dialog .shortcut .shortcut-key{background-color:var(--color-primary-light);border-radius:4px;justify-content:center;align-items:center;height:16px;padding:0 4px;display:flex}.excalidraw .command-palette-dialog .shortcut .shortcut-desc{color:var(--color-gray-50);margin-left:4px}.excalidraw .command-palette-dialog .commands{box-sizing:border-box;color:var(--popup-text-color);-webkit-user-select:none;user-select:none;margin-top:12px;overflow-y:auto}.excalidraw .command-palette-dialog .commands .command-category{flex-direction:column;margin-right:.25rem;padding:12px 0;display:flex}.excalidraw .command-palette-dialog .commands .command-category-title{align-items:center;margin-bottom:6px;font-size:1rem;font-weight:600;display:flex}.excalidraw .command-palette-dialog .commands .command-item{color:var(--popup-text-color);box-sizing:border-box;border-radius:var(--border-radius-lg);cursor:pointer;justify-content:space-between;align-items:center;height:2.5rem;padding:0 .5rem;display:flex}.excalidraw .command-palette-dialog .commands .command-item:active{background-color:var(--color-surface-low)}.excalidraw .command-palette-dialog .commands .command-item .name{align-items:center;gap:.25rem;display:flex}.excalidraw .command-palette-dialog .commands .item-selected{background-color:var(--color-surface-mid)}.excalidraw .command-palette-dialog .commands .item-disabled{opacity:.3;cursor:not-allowed}.excalidraw .command-palette-dialog .commands .no-match{justify-content:center;align-items:center;margin-top:36px;display:flex}.excalidraw .command-palette-dialog .icon{width:16px;height:16px;margin-right:6px}.excalidraw .popover{z-index:10;outline:none;padding:5px 0;position:absolute}.excalidraw .context-menu{-webkit-user-select:none;user-select:none;background-color:var(--popup-secondary-bg-color);border:1px solid var(--button-gray-3);cursor:default;border-radius:4px;margin:-.25rem 0 0 .125rem;padding:.5rem 0;list-style:none;position:relative;box-shadow:0 3px 10px #0003}.excalidraw .context-menu button{color:var(--popup-text-color)}.excalidraw .context-menu-item{text-align:start;white-space:nowrap;background-color:#0000;border:none;border-radius:0;grid-template-columns:1fr .2fr;align-items:center;width:100%;min-width:9.5rem;margin:0;padding:.25rem 1rem .25rem 1.25rem;font-family:inherit;display:grid;position:relative}.excalidraw .context-menu-item.checkmark:before{content:"✓";margin-bottom:1px;position:absolute;left:6px}.excalidraw .context-menu-item.dangerous .context-menu-item__label{color:#f03e3e}.excalidraw .context-menu-item .context-menu-item__label{justify-self:start;margin-inline-end:20px}.excalidraw .context-menu-item .context-menu-item__shortcut{opacity:.6;justify-self:end;font-family:inherit;font-size:.7rem}.excalidraw .context-menu-item:hover{color:var(--popup-bg-color);background-color:var(--select-highlight-color)}.excalidraw .context-menu-item:hover.dangerous{background-color:#fa5252}.excalidraw .context-menu-item:hover.dangerous .context-menu-item__label{color:var(--popup-bg-color)}.excalidraw .context-menu-item:focus{z-index:1}.excalidraw--mobile.excalidraw .context-menu-item{display:block}.excalidraw--mobile.excalidraw .context-menu-item .context-menu-item__label{margin-inline-end:0}.excalidraw--mobile.excalidraw .context-menu-item .context-menu-item__shortcut{display:none}.excalidraw .context-menu-item-separator{border:none;border-top:1px solid #adb5bd}.excalidraw{--RadioGroup-background:var(--island-bg-color);--RadioGroup-border:var(--color-surface-high);--RadioGroup-choice-color-off:var(--color-primary);--RadioGroup-choice-color-off-hover:var(--color-brand-hover);--RadioGroup-choice-background-off:var(--island-bg-color);--RadioGroup-choice-background-off-active:var(--color-surface-high);--RadioGroup-choice-color-on:var(--color-surface-lowest);--RadioGroup-choice-background-on:var(--color-primary);--RadioGroup-choice-background-on-hover:var(--color-brand-hover);--RadioGroup-choice-background-on-active:var(--color-brand-active)}.excalidraw .RadioGroup{box-sizing:border-box;background:var(--RadioGroup-background);border:1px solid var(--RadioGroup-border);border-radius:10px;flex-direction:row;align-items:flex-start;padding:3px;display:flex}.excalidraw .RadioGroup__choice{width:32px;height:24px;color:var(--RadioGroup-choice-color-off);background:var(--RadioGroup-choice-background-off);-webkit-user-select:none;user-select:none;letter-spacing:.4px;border-radius:8px;justify-content:center;align-items:center;font-family:Assistant;font-size:.75rem;font-style:normal;font-weight:600;line-height:100%;transition:all 75ms ease-out;display:flex;position:relative}.excalidraw .RadioGroup__choice:hover{color:var(--RadioGroup-choice-color-off-hover)}.excalidraw .RadioGroup__choice:active{background:var(--RadioGroup-choice-background-off-active)}.excalidraw .RadioGroup__choice.active{color:var(--RadioGroup-choice-color-on);background:var(--RadioGroup-choice-background-on)}.excalidraw .RadioGroup__choice.active:hover{background:var(--RadioGroup-choice-background-on-hover)}.excalidraw .RadioGroup__choice.active:active{background:var(--RadioGroup-choice-background-on-active)}.excalidraw .RadioGroup__choice input{z-index:1;appearance:none;cursor:pointer;border-radius:8px;width:100%;height:100%;margin:0;padding:0;position:absolute}.excalidraw{--Switch-disabled-color:var(--color-border-outline);--Switch-disabled-toggled-background:var(--color-border-outline-variant);--Switch-disabled-border:var(--color-border-outline-variant);--Switch-track-background:var(--island-bg-color);--Switch-thumb-background:var(--color-on-surface);--Switch-hover-background:var(--color-brand-hover);--Switch-active-background:var(--color-brand-active)}.excalidraw .Switch{box-sizing:border-box;background:var(--Switch-track-background);border:1px solid var(--Switch-disabled-color);border-radius:12px;width:40px;height:20px;transition-property:background,border;transition-duration:.15s;transition-timing-function:ease-out;position:relative}.excalidraw .Switch:hover{background:var(--Switch-track-background);border:1px solid var(--Switch-hover-background)}.excalidraw .Switch:active{border:1px solid var(--Switch-active-background)}.excalidraw .Switch.toggled{background:var(--color-primary);border:1px solid var(--color-primary)}.excalidraw .Switch.toggled:hover{background:var(--color-primary-darker);border:1px solid var(--color-primary-darker)}.excalidraw .Switch.disabled{background:var(--Switch-track-background);border:1px solid var(--Switch-disabled-border)}.excalidraw .Switch.disabled.toggled{background:var(--Switch-disabled-toggled-background);border:1px solid var(--Switch-disabled-toggled-background)}.excalidraw .Switch:before{content:"";box-sizing:border-box;pointer-events:none;background:var(--Switch-thumb-background);border-radius:100%;width:10px;height:10px;transition:all .15s ease-out;display:block;position:absolute;top:4px;left:4px}.excalidraw .Switch:active:before{width:12px}.excalidraw .Switch.toggled:before{background:var(--Switch-track-background);width:14px;height:14px;top:2px;left:22px}.excalidraw .Switch.toggled:active:before{width:16px;left:20px}.excalidraw .Switch.disabled:before,.excalidraw .Switch.disabled.toggled:before{background:var(--Switch-disabled-color)}.excalidraw .Switch input{appearance:none;cursor:pointer;border-radius:12px;width:100%;height:100%;margin:0}.excalidraw .Switch input:disabled{cursor:unset}.excalidraw{--ImageExportModal-preview-border:#d6d6d6}.excalidraw.theme--dark{--ImageExportModal-preview-border:#5c5c5c}.excalidraw .ImageExportModal{-webkit-user-select:none;user-select:none;flex-direction:row;justify-content:space-between;display:flex}.excalidraw .ImageExportModal h3{margin:0;padding:0;font-family:Assistant;font-size:1.313rem;font-style:normal;font-weight:700;line-height:130%}.excalidraw--mobile.excalidraw .ImageExportModal h3,.excalidraw .ImageExportModal>h3{display:none}.excalidraw--mobile.excalidraw .ImageExportModal>h3{display:block}.excalidraw--mobile.excalidraw .ImageExportModal{flex-direction:column;height:calc(100vh - 5rem)}.excalidraw .ImageExportModal__preview{box-sizing:border-box;flex-direction:column;align-items:center;width:55%;height:360px;margin-right:1.5rem;display:flex}.excalidraw--mobile.excalidraw .ImageExportModal__preview{max-width:unset;margin-right:unset;width:100%;height:unset;flex-grow:1}.excalidraw .ImageExportModal__preview__filename>input{margin-top:1rem}.excalidraw .ImageExportModal__preview__canvas{box-sizing:border-box;border:1px solid var(--ImageExportModal-preview-border);background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==) 0;border-radius:12px;flex-grow:1;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex;overflow:hidden}.excalidraw .ImageExportModal__preview__canvas>canvas{max-width:calc(100% - 2rem);max-height:calc(100% - 2rem);filter:none!important}.excalidraw--mobile.excalidraw .ImageExportModal__preview__canvas>canvas{max-height:100%}.excalidraw--mobile.excalidraw .ImageExportModal__preview__canvas{max-width:unset;margin-top:24px}.excalidraw .ImageExportModal__settings{flex-flow:column wrap;gap:18px;display:flex}.excalidraw--mobile.excalidraw .ImageExportModal__settings{margin-left:unset;flex-direction:row;align-content:flex-start;gap:6px 34px;margin-top:1rem}.excalidraw .ImageExportModal__settings__setting{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.excalidraw--mobile.excalidraw .ImageExportModal__settings__setting{align-items:start;justify-content:unset;flex-direction:column;height:52px}.excalidraw .ImageExportModal__settings__setting__label{flex-direction:row;align-items:center;font-family:Assistant;font-size:1rem;font-weight:600;line-height:150%;display:flex}.excalidraw .ImageExportModal__settings__setting__label svg{width:20px;height:20px;margin-left:10px}.excalidraw .ImageExportModal__settings__setting__content{align-items:center;height:100%;display:flex}.excalidraw .ImageExportModal__settings__buttons{flex-flow:wrap;flex-grow:1;align-content:flex-end;align-items:flex-end;gap:11px;display:flex}.excalidraw--mobile.excalidraw .ImageExportModal__settings__buttons{flex-basis:100%;justify-content:center;padding-top:32px}@keyframes successStatusAnimation{0%{transform:scale(.35)}50%{transform:scale(1.25)}to{transform:scale(1)}}.excalidraw .ExcButton{--text-color:transparent;--border-color:transparent;--back-color:transparent;color:var(--text-color);background-color:var(--back-color);border-color:var(--border-color);font-family:var(--font-family);-webkit-user-select:none;user-select:none;border-style:solid;border-width:1px;border-radius:.5rem}.excalidraw .ExcButton:hover{transition:all .15s ease-out}.excalidraw .ExcButton .Spinner{--spinner-color:var(--color-surface-lowest)}.excalidraw .ExcButton .ExcButton__statusIcon{visibility:visible;width:1.2rem;height:1.2rem;animation:.5s cubic-bezier(.3,1,.6,1) successStatusAnimation;position:absolute}.excalidraw .ExcButton.ExcButton--status-loading,.excalidraw .ExcButton.ExcButton--status-success{pointer-events:none}.excalidraw .ExcButton.ExcButton--status-loading .ExcButton__contents,.excalidraw .ExcButton.ExcButton--status-success .ExcButton__contents{visibility:hidden}.excalidraw .ExcButton[disabled]{pointer-events:none}.excalidraw .ExcButton,.excalidraw .ExcButton__contents{flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.excalidraw .ExcButton--color-primary.ExcButton--variant-filled{--text-color:var(--color-surface-lowest);--back-color:var(--color-primary)}.excalidraw .ExcButton--color-primary.ExcButton--variant-filled .Spinner{--spinner-color:var(--text-color)}.excalidraw .ExcButton--color-primary.ExcButton--variant-filled:hover{--back-color:var(--color-brand-hover)}.excalidraw .ExcButton--color-primary.ExcButton--variant-filled:active{--back-color:var(--color-brand-active)}.excalidraw .ExcButton--color-primary.ExcButton--variant-outlined,.excalidraw .ExcButton--color-primary.ExcButton--variant-icon{--text-color:var(--color-primary);--border-color:var(--color-primary);--back-color:transparent}.excalidraw .ExcButton--color-primary.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-primary.ExcButton--variant-icon .Spinner{--spinner-color:var(--text-color)}.excalidraw .ExcButton--color-primary.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-primary.ExcButton--variant-icon:hover{--text-color:var(--color-brand-hover);--border-color:var(--color-brand-hover)}.excalidraw .ExcButton--color-primary.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-primary.ExcButton--variant-icon:active{--text-color:var(--color-brand-active);--border-color:var(--color-brand-active)}.excalidraw .ExcButton--color-danger.ExcButton--variant-filled{--text-color:var(--color-danger-text);--back-color:var(--color-danger-dark)}.excalidraw .ExcButton--color-danger.ExcButton--variant-filled .Spinner{--spinner-color:var(--text-color)}.excalidraw .ExcButton--color-danger.ExcButton--variant-filled:hover{--back-color:var(--color-danger-darker)}.excalidraw .ExcButton--color-danger.ExcButton--variant-filled:active{--back-color:var(--color-danger-darkest)}.excalidraw .ExcButton--color-danger.ExcButton--variant-outlined,.excalidraw .ExcButton--color-danger.ExcButton--variant-icon{--text-color:var(--color-danger);--border-color:var(--color-danger);--back-color:transparent}.excalidraw .ExcButton--color-danger.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-danger.ExcButton--variant-icon .Spinner{--spinner-color:var(--text-color)}.excalidraw .ExcButton--color-danger.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-danger.ExcButton--variant-icon:hover{--text-color:var(--color-danger-darkest);--border-color:var(--color-danger-darkest)}.excalidraw .ExcButton--color-danger.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-danger.ExcButton--variant-icon:active{--text-color:var(--color-danger-darker);--border-color:var(--color-danger-darker)}.excalidraw .ExcButton--color-success.ExcButton--variant-filled{--text-color:var(--color-success-text);--back-color:var(--color-success)}.excalidraw .ExcButton--color-success.ExcButton--variant-filled .Spinner{--spinner-color:var(--color-success)}.excalidraw .ExcButton--color-success.ExcButton--variant-filled:hover{--back-color:var(--color-success-darker)}.excalidraw .ExcButton--color-success.ExcButton--variant-filled:active{--back-color:var(--color-success-darkest)}.excalidraw .ExcButton--color-success.ExcButton--variant-outlined,.excalidraw .ExcButton--color-success.ExcButton--variant-icon{--text-color:var(--color-success-contrast);--border-color:var(--color-success-contrast);--back-color:transparent}.excalidraw .ExcButton--color-success.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-success.ExcButton--variant-icon .Spinner{--spinner-color:var(--color-success-contrast)}.excalidraw .ExcButton--color-success.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-success.ExcButton--variant-icon:hover{--text-color:var(--color-success-contrast-hover);--border-color:var(--color-success-contrast-hover)}.excalidraw .ExcButton--color-success.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-success.ExcButton--variant-icon:active{--text-color:var(--color-success-contrast-active);--border-color:var(--color-success-contrast-active)}.excalidraw .ExcButton--color-muted.ExcButton--variant-filled{--text-color:var(--island-bg-color);--back-color:var(--color-gray-50)}.excalidraw .ExcButton--color-muted.ExcButton--variant-filled .Spinner{--spinner-color:var(--text-color)}.excalidraw .ExcButton--color-muted.ExcButton--variant-filled:hover{--back-color:var(--color-gray-60)}.excalidraw .ExcButton--color-muted.ExcButton--variant-filled:active{--back-color:var(--color-gray-80)}.excalidraw .ExcButton--color-muted.ExcButton--variant-outlined,.excalidraw .ExcButton--color-muted.ExcButton--variant-icon{--text-color:var(--color-muted-background);--border-color:var(--color-muted);--back-color:var(--island-bg-color)}.excalidraw .ExcButton--color-muted.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-muted.ExcButton--variant-icon .Spinner{--spinner-color:var(--text-color)}.excalidraw .ExcButton--color-muted.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-muted.ExcButton--variant-icon:hover{--text-color:var(--color-muted-background-darker);--border-color:var(--color-muted-darker)}.excalidraw .ExcButton--color-muted.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-muted.ExcButton--variant-icon:active{--text-color:var(--color-muted-background-darker);--border-color:var(--color-muted-darkest)}.excalidraw .ExcButton--color-warning.ExcButton--variant-filled{--text-color:black;--back-color:var(--color-warning-dark)}.excalidraw .ExcButton--color-warning.ExcButton--variant-filled .Spinner{--spinner-color:var(--text-color)}.excalidraw .ExcButton--color-warning.ExcButton--variant-filled:hover{--back-color:var(--color-warning-darker)}.excalidraw .ExcButton--color-warning.ExcButton--variant-filled:active{--back-color:var(--color-warning-darkest)}.excalidraw .ExcButton--color-warning.ExcButton--variant-outlined,.excalidraw .ExcButton--color-warning.ExcButton--variant-icon{--text-color:var(--color-warning-dark);--border-color:var(--color-warning-dark);--back-color:var(--input-bg-color)}.excalidraw .ExcButton--color-warning.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-warning.ExcButton--variant-icon .Spinner{--spinner-color:var(--text-color)}.excalidraw .ExcButton--color-warning.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-warning.ExcButton--variant-icon:hover{--text-color:var(--color-warning-darker);--border-color:var(--color-warning-darker)}.excalidraw .ExcButton--color-warning.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-warning.ExcButton--variant-icon:active{--text-color:var(--color-warning-darkest);--border-color:var(--color-warning-darkest)}.excalidraw .ExcButton--size-large{letter-spacing:.4px;min-height:3rem;padding:.5rem 1.5rem;font-size:.875rem;font-weight:600}.excalidraw .ExcButton--size-large .ExcButton__contents{gap:.75rem}.excalidraw .ExcButton--size-medium{letter-spacing:normal;min-height:2.5rem;padding:.5rem 1rem;font-size:.75rem;font-weight:600}.excalidraw .ExcButton--size-medium .ExcButton__contents{gap:.5rem}.excalidraw .ExcButton--variant-icon{width:3rem;padding:.5rem .75rem}.excalidraw .ExcButton--fullWidth{width:100%}.excalidraw .ExcButton__icon{width:1.25rem;height:1.25rem}.excalidraw .FixedSideContainer{pointer-events:none;position:absolute}.excalidraw .FixedSideContainer>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .FixedSideContainer_side_top{left:var(--editor-container-padding);top:var(--editor-container-padding);right:var(--editor-container-padding);bottom:var(--editor-container-padding)}.excalidraw .FixedSideContainer_side_top.zen-mode{right:42px}.excalidraw .HintViewer{pointer-events:none;box-sizing:border-box;text-align:center;width:100%;max-width:100%;color:var(--color-gray-40);flex-direction:column;justify-content:center;margin-top:.5rem;font-size:.75rem;display:flex;position:absolute;top:100%;left:0}.excalidraw--mobile.excalidraw .HintViewer{padding-right:2rem;position:static}.excalidraw .HintViewer>span{padding:.25rem}.excalidraw.theme--dark .HintViewer{color:var(--color-gray-60)}.excalidraw--mobile.excalidraw .PasteChartDialog .Island{flex-direction:column;display:flex}.excalidraw .PasteChartDialog .container{flex-wrap:wrap;justify-content:space-around;align-items:center;display:flex}.excalidraw--mobile.excalidraw .PasteChartDialog .container{flex-direction:column;justify-content:center}.excalidraw .PasteChartDialog .ChartPreview{text-align:center;background:0 0;border:1px solid #ced4da;border-radius:2px;justify-content:center;align-items:center;width:192px;height:128px;margin:8px;padding:1px;display:flex}.excalidraw .PasteChartDialog .ChartPreview div{display:inline-block}.excalidraw .PasteChartDialog .ChartPreview svg{max-width:186px;max-height:120px}.excalidraw .PasteChartDialog .ChartPreview:hover{border:2px solid #339af0;padding:0}.excalidraw .HelpDialog .Modal__content{max-width:960px}.excalidraw .HelpDialog h3{margin:1.5rem 0;font-size:1.125rem;font-weight:700}.excalidraw .HelpDialog__header{flex-wrap:wrap;gap:.75rem;display:flex}.excalidraw .HelpDialog__btn{--background:var(--color-surface-mid);background-color:var(--background);border:1px solid var(--background);border-radius:var(--border-radius-lg);color:var(--text-primary-color);letter-spacing:.4px;align-items:center;column-gap:.5rem;padding:.625rem 1rem;font-size:.75rem;font-weight:600;display:flex}.excalidraw.theme--dark.excalidraw .HelpDialog__btn{--background:var(--color-surface-high)}.excalidraw.theme--dark.excalidraw .HelpDialog__btn:hover{--background:#363541}.excalidraw .HelpDialog__btn:hover{--background:var(--color-surface-high);text-decoration:none}.excalidraw .HelpDialog__btn:active{border-color:var(--color-primary)}.excalidraw .HelpDialog__link-icon{line-height:0}.excalidraw .HelpDialog__link-icon svg{width:1rem;height:1rem}.excalidraw .HelpDialog__islands-container{grid-column-gap:1.5rem;grid-row-gap:2rem;display:grid}@media screen and (width>=1024px){.excalidraw .HelpDialog__islands-container{grid-template-columns:1fr 1fr}.excalidraw .HelpDialog__island--tools{grid-area:1/1/2/2}.excalidraw .HelpDialog__island--view{grid-area:2/1/3/2}.excalidraw .HelpDialog__island--editor{grid-area:1/2/3/3}}.excalidraw .HelpDialog__island h4{margin:0 0 .625rem;font-size:1rem;font-weight:700}.excalidraw .HelpDialog__island-content{border:1px solid var(--dialog-border-color);border-radius:var(--border-radius-lg)}.excalidraw .HelpDialog__shortcut{border-bottom:1px solid var(--dialog-border-color);justify-content:space-between;align-items:center;column-gap:.5rem;padding:.375rem .75rem;font-size:.875rem;display:flex}.excalidraw .HelpDialog__shortcut:last-child{border-bottom:none}.excalidraw .HelpDialog__key-container{flex-shrink:0;align-items:center;column-gap:.25rem;display:flex}.excalidraw .HelpDialog__key{box-sizing:border-box;background-color:var(--color-primary-light);border-radius:var(--border-radius-md);word-break:keep-all;align-items:center;padding:.5rem;font-family:inherit;font-size:.625rem;line-height:1;display:flex}.excalidraw{--avatar-size:1.75rem;--avatarList-gap:.625rem;--userList-padding:var(--space-factor);--userlist-hint-bg-color:var(--color-gray-10);--userlist-hint-heading-color:var(--color-gray-80);--userlist-hint-text-color:var(--color-gray-60);--userlist-collaborators-border-color:var(--color-gray-20)}.excalidraw .UserList__wrapper{justify-content:flex-end;align-items:center;width:100%;display:flex;pointer-events:none!important}.excalidraw .UserList{pointer-events:none;padding:var(--userList-padding);justify-content:flex-end;align-items:center;gap:var(--avatarList-gap);box-sizing:border-box;--max-size:calc(var(--avatar-size) * var(--max-avatars,2) + var(--avatarList-gap) * (var(--max-avatars,2) - 1) + var(--userList-padding) * 2);max-height:var(--max-size);max-width:var(--max-size);flex-wrap:wrap;display:flex}.excalidraw .UserList>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .UserList_mobile{justify-content:normal;max-width:none;max-height:none;margin:.5rem 0;padding:0}.excalidraw .UserList__more{width:var(--avatar-size,1.5rem);height:var(--avatar-size,1.5rem);outline-offset:2px;cursor:pointer;color:var(--color-gray-100);background-color:var(--color-gray-20);border-radius:100%;flex:none;justify-content:center;align-items:center;font-size:.625rem;font-weight:700;line-height:1;display:flex;position:relative;border:0!important}.excalidraw .UserList__more:active{transform:scale(.94)}.excalidraw .UserList__more-img{border-radius:100%;width:100%;height:100%}.excalidraw .UserList__more:before{content:"";border-radius:100%;position:absolute;inset:-3px}.excalidraw .UserList__more.is-followed:before{border-color:var(--color-primary-hover);box-shadow:0 0 0 1px var(--color-primary-hover)}.excalidraw .UserList__more.is-current-user{cursor:auto}.excalidraw .UserList__collaborator-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.excalidraw .UserList__collaborator--avatar-only{flex:none;display:flex;position:relative}.excalidraw .UserList__collaborator--avatar-only .UserList__collaborator-status-icon{--size:14px;width:var(--size);height:var(--size);flex:none;display:flex;position:absolute;bottom:-.25rem;right:-.25rem}.excalidraw .UserList__collaborator--avatar-only .UserList__collaborator-status-icon svg{width:var(--size);height:var(--size);flex:none}.excalidraw .UserList__collaborator-status-icons{flex:none;justify-content:flex-end;gap:.25rem;min-width:2.25rem;margin-left:auto;display:flex}.excalidraw .UserList__collaborator.is-muted .UserList__collaborator-status-icon-microphone-muted{color:var(--color-danger);filter:drop-shadow(0 0 #00000080)}.excalidraw .UserList__collaborator-status-icon-speaking-indicator{box-sizing:border-box;flex-flow:row;justify-content:space-between;align-items:center;width:1rem;padding:0 3px;display:flex}.excalidraw .UserList__collaborator-status-icon-speaking-indicator div{background-color:#a2f1a6;width:.125rem;height:.4rem}.excalidraw .UserList__collaborator-status-icon-speaking-indicator div:first-of-type{animation:1s ease-in-out -.45s infinite speaking-indicator-anim}.excalidraw .UserList__collaborator-status-icon-speaking-indicator div:nth-of-type(2){animation:1s ease-in-out -.9s infinite speaking-indicator-anim}.excalidraw .UserList__collaborator-status-icon-speaking-indicator div:nth-of-type(3){animation:1s ease-in-out -.15s infinite speaking-indicator-anim}@keyframes speaking-indicator-anim{0%,to{transform:scaleY(1)}50%{transform:scaleY(2)}}.excalidraw.theme--dark{--userlist-hint-bg-color:var(--color-gray-90);--userlist-hint-heading-color:var(--color-gray-30);--userlist-hint-text-color:var(--color-gray-40);--userlist-collaborators-border-color:var(--color-gray-80)}.excalidraw .UserList__collaborators{max-height:50vh;top:auto}.excalidraw .Card{text-align:center;flex-direction:column;align-items:center;max-width:290px;margin:1em;display:flex}.excalidraw .Card .Card-icon{background:var(--card-color);color:#fff;border-radius:50%;flex:none;padding:1.4rem;font-size:2.6em;display:flex}.excalidraw .Card .Card-icon svg{width:2.8rem;height:2.8rem}.excalidraw .Card .Card-details{min-height:90px;margin-bottom:auto;padding:0 1em;font-size:.96em}.excalidraw .Card .Card-button.ToolIcon_type_button{background-color:var(--card-color);height:2.5rem;margin-top:1em;margin-bottom:.3em}.excalidraw .Card .Card-button.ToolIcon_type_button:hover{background-color:var(--card-color-darker)}.excalidraw .Card .Card-button.ToolIcon_type_button:active{background-color:var(--card-color-darkest)}.excalidraw .Card .Card-button.ToolIcon_type_button .ToolIcon__label{color:#fff}.excalidraw .Card .Card-button.ToolIcon_type_button .Spinner{--spinner-color:#fff}.excalidraw .ExportDialog__preview{--preview-padding:calc(var(--space-factor) * 4);text-align:center;padding:var(--preview-padding);margin-bottom:calc(var(--space-factor) * 3);background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==) 0;justify-content:center;align-items:center;display:flex}.excalidraw .ExportDialog__preview canvas{max-width:calc(100% - var(--preview-padding) * 2);max-height:25rem}.excalidraw.theme--dark .ExportDialog__preview canvas{filter:none}.excalidraw .ExportDialog__actions{grid-gap:calc(var(--space-factor) * 2);align-items:top;justify-content:space-between;width:100%;display:flex}.excalidraw--mobile.excalidraw .ExportDialog{flex-direction:column;display:flex}.excalidraw--mobile.excalidraw .ExportDialog__actions{flex-direction:column;align-items:center}.excalidraw--mobile.excalidraw .ExportDialog__actions>*{margin-bottom:calc(var(--space-factor) * 3)}.excalidraw--mobile.excalidraw .ExportDialog__preview canvas{max-height:30vh}.excalidraw--mobile.excalidraw .ExportDialog__dialog,.excalidraw--mobile.excalidraw .ExportDialog__dialog .Island{box-sizing:border-box;height:100%}.excalidraw--mobile.excalidraw .ExportDialog__dialog .Island{overflow-y:auto}.excalidraw .ExportDialog--json .ExportDialog-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));justify-items:center;row-gap:2em;display:grid}@media (width<=460px){.excalidraw .ExportDialog--json .ExportDialog-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.excalidraw .ExportDialog--json .ExportDialog-cards .Card-details{min-height:40px}}.excalidraw .ExportDialog--json .ExportDialog-cards .ProjectName{flex-direction:column;align-items:flex-start;width:fit-content;margin:1em auto}.excalidraw .ExportDialog--json .ExportDialog-cards .ProjectName .TextInput{width:auto}.excalidraw .ExportDialog--json .ExportDialog-cards .ProjectName-label{margin:.625em 0;font-weight:700}.excalidraw button.ExportDialog-imageExportButton{background-color:var(--button-color);color:#fff;border:0;border-radius:1rem;justify-content:center;align-items:center;width:5rem;height:5rem;margin:0 .2em;padding:0;font-family:Cascadia;font-size:1.8em;display:flex;box-shadow:0 3px 5px -1px #00000047,0 6px 10px #00000024}.excalidraw button.ExportDialog-imageExportButton:hover{background-color:var(--button-color-darker)}.excalidraw button.ExportDialog-imageExportButton:active{background-color:var(--button-color-darkest);box-shadow:none}.excalidraw button.ExportDialog-imageExportButton svg{width:.9em}.excalidraw .sidebar-trigger{width:var(--button-width,var(--default-button-size));height:var(--button-height,var(--default-button-size));box-sizing:border-box;border-style:solid;border-width:1px;border-color:var(--button-border,var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg,var(--island-bg-color));color:var(--button-color,var(--color-on-surface));font-family:var(--ui-font);box-shadow:0 0 0 1px var(--color-surface-lowest);background-color:var(--color-surface-low);width:auto;height:var(--lg-button-size);letter-spacing:.4px;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.625rem;font-size:.75rem;line-height:0;display:flex}.excalidraw .sidebar-trigger:hover{background-color:var(--button-hover-bg,var(--island-bg-color));border-color:var(--button-hover-border,var(--button-border,var(--default-border-color)));color:var(--button-hover-color,var(--button-color,var(--text-primary-color,inherit)))}.excalidraw .sidebar-trigger:active{background-color:var(--button-active-bg,var(--island-bg-color));border-color:var(--button-active-border,var(--color-primary-darkest))}.excalidraw .sidebar-trigger.active{background-color:var(--button-selected-bg,var(--color-surface-primary-container));border-color:var(--button-selected-border,var(--color-surface-primary-container))}.excalidraw .sidebar-trigger.active:hover{background-color:var(--button-selected-hover-bg,var(--color-surface-primary-container))}.excalidraw .sidebar-trigger.active svg{color:var(--button-color,var(--color-on-primary-container))}.excalidraw .sidebar-trigger:active{box-shadow:0 0 0 1px var(--color-brand-active)}.excalidraw .sidebar-trigger svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .sidebar-trigger__label-element{align-self:flex-start}.excalidraw .default-sidebar-trigger .sidebar-trigger__label{white-space:nowrap;display:block}.excalidraw.excalidraw--mobile .default-sidebar-trigger .sidebar-trigger__label{display:none}.excalidraw .sidebar{z-index:5;box-sizing:border-box;background-color:var(--sidebar-bg-color);box-shadow:var(--sidebar-shadow);pointer-events:var(--ui-pointerEvents);width:calc(var(--right-sidebar-width) - var(--space-factor) * 2);border-left:1px solid var(--sidebar-border-color);border-radius:0;flex-direction:column;margin:0;padding:0;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden}:root[dir=rtl] .excalidraw .sidebar{left:0;right:auto}.excalidraw .sidebar--docked{box-shadow:none}:root[dir=rtl] .excalidraw .sidebar{border-right:1px solid var(--sidebar-border-color);border-left:0}.excalidraw .sidebar__header{box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;padding:1rem .75rem;display:flex;position:relative}.excalidraw .sidebar__header:after{content:"";background:var(--sidebar-border-color);width:calc(100% - 1.5rem);height:1px;position:absolute;bottom:-1px}.excalidraw .sidebar__header__buttons{align-items:center;gap:0;margin-left:auto;display:flex}.excalidraw .sidebar__header__buttons button{width:var(--button-width,var(--default-button-size));height:var(--button-height,var(--default-button-size));box-sizing:border-box;border-style:solid;border-width:1px;border-color:var(--button-border,var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg,var(--island-bg-color));color:var(--button-color,var(--color-on-surface));font-family:var(--ui-font);--button-bg:transparent;width:var(--lg-button-size);height:var(--lg-button-size);justify-content:center;align-items:center;padding:0;display:flex;border:0!important}.excalidraw .sidebar__header__buttons button:hover{background-color:var(--button-hover-bg,var(--island-bg-color));border-color:var(--button-hover-border,var(--button-border,var(--default-border-color)));color:var(--button-hover-color,var(--button-color,var(--text-primary-color,inherit)))}.excalidraw .sidebar__header__buttons button:active{background-color:var(--button-active-bg,var(--island-bg-color));border-color:var(--button-active-border,var(--color-primary-darkest))}.excalidraw .sidebar__header__buttons button.active{background-color:var(--button-selected-bg,var(--color-surface-primary-container));border-color:var(--button-selected-border,var(--color-surface-primary-container))}.excalidraw .sidebar__header__buttons button.active:hover{background-color:var(--button-selected-hover-bg,var(--color-surface-primary-container))}.excalidraw .sidebar__header__buttons button.active svg{color:var(--button-color,var(--color-on-primary-container))}.excalidraw .sidebar__header__buttons button svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .sidebar__header__buttons button:hover{background:var(--button-hover-bg,var(--island-bg-color))}.excalidraw .sidebar__header__buttons .sidebar__dock.selected svg{stroke:var(--color-primary);fill:var(--color-primary)}.excalidraw .sidebar-tabs-root{flex-direction:column;flex:auto;padding:1rem 0;display:flex}.excalidraw .sidebar-tabs-root [role=tabpanel]{outline:none;flex-direction:column;flex:auto;display:flex}.excalidraw .sidebar-tabs-root [role=tabpanel][data-state=inactive]{display:none!important}.excalidraw .sidebar-tabs-root [role=tablist]{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:1rem;display:grid}.excalidraw .sidebar-tabs-root>.sidebar__header{padding-top:0;padding-bottom:1rem}.excalidraw .sidebar-tab-trigger{--button-width:auto;--button-bg:transparent;--button-hover-bg:transparent;--button-active-bg:var(--color-primary);--button-hover-color:var(--color-primary);--button-hover-border:var(--color-primary)}.excalidraw .sidebar-tab-trigger[data-state=active]{--button-bg:var(--color-primary);--button-hover-bg:var(--color-primary-darker);--button-hover-color:var(--color-icon-white);--button-border:var(--color-primary);color:var(--color-icon-white)}.excalidraw .default-sidebar{flex-direction:column;display:flex}.excalidraw .default-sidebar .sidebar-triggers{border:1px solid var(--sidebar-border-color);background:var(--default-bg-color);border-radius:.625rem;gap:0;margin-top:-3px;margin-bottom:-3px;padding:2px;display:flex}.excalidraw .default-sidebar .sidebar-triggers .sidebar-tab-trigger{height:var(--lg-button-size);width:var(--lg-button-size);border:none}.excalidraw .ActiveFile .ActiveFile__fileName{align-items:center;display:flex}.excalidraw .ActiveFile .ActiveFile__fileName span{text-overflow:ellipsis;white-space:nowrap;width:9.3em;overflow:hidden}.excalidraw .ActiveFile .ActiveFile__fileName svg{width:1.15em;margin-inline-end:.3em;transform:scaleY(.9)}.excalidraw .OverwriteConfirm{isolation:isolate;flex-direction:column;align-items:center;gap:.75rem;display:flex}.excalidraw .OverwriteConfirm h3{color:var(--text-primary-color);align-self:flex-start;margin:0;font-size:1.3125rem;font-weight:700;line-height:130%}.excalidraw .OverwriteConfirm__Description{box-sizing:border-box;background:var(--color-danger-background);width:100%;color:var(--color-danger-color);border-radius:.5rem;flex-direction:row;align-items:center;gap:1rem;padding:2.5rem;font-family:Assistant;font-size:1rem;font-style:normal;font-weight:400;line-height:150%;display:flex}.excalidraw--mobile.excalidraw .OverwriteConfirm__Description{text-align:center;flex-direction:column}.excalidraw .OverwriteConfirm__Description__spacer{flex-grow:1}.excalidraw .OverwriteConfirm__Description__icon{box-sizing:border-box;background:var(--color-danger-icon-background);border-radius:2.5rem;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;padding:.75rem;display:flex}.excalidraw .OverwriteConfirm__Description__icon svg{color:var(--color-danger-icon-color);width:1.5rem;height:1.5rem}.excalidraw .OverwriteConfirm__Description.OverwriteConfirm__Description--color-warning{background:var(--color-warning-background);color:var(--color-warning-color)}.excalidraw .OverwriteConfirm__Description.OverwriteConfirm__Description--color-warning .OverwriteConfirm__Description__icon{background:var(--color-warning-icon-background);flex:none}.excalidraw .OverwriteConfirm__Description.OverwriteConfirm__Description--color-warning .OverwriteConfirm__Description__icon svg{color:var(--color-warning-icon-color)}.excalidraw .OverwriteConfirm__Actions{flex-direction:row;justify-content:center;place-items:stretch stretch;gap:1.5rem;display:flex}.excalidraw--mobile.excalidraw .OverwriteConfirm__Actions{flex-direction:column}.excalidraw .OverwriteConfirm__Actions__Action{flex-direction:column;flex-grow:0;flex-basis:50%;align-items:center;gap:.75rem;padding:1.5rem;display:flex}.excalidraw .OverwriteConfirm__Actions__Action__content{text-align:center;height:100%;font-size:.875rem}.excalidraw .OverwriteConfirm__Actions__Action h4{color:var(--text-primary-color);margin:0;font-size:1.125rem;font-weight:700;line-height:130%}.excalidraw .layer-ui__search{flex-direction:column;flex:1 0 auto;padding:8px 0 0;display:flex}.excalidraw .layer-ui__search-header{justify-content:space-between;align-items:center;padding:0 .75rem;display:flex}.excalidraw .layer-ui__search-header .ExcTextField{flex:1 0 auto}.excalidraw .layer-ui__search-header .ExcTextField__input{border-radius:var(--border-radius-md);background-color:#f5f5f9;border:0}.excalidraw.theme--dark.excalidraw .layer-ui__search-header .ExcTextField__input{background-color:#31303b}.excalidraw .layer-ui__search-header .ExcTextField__input input::placeholder{font-size:.9rem}.excalidraw .layer-ui__search-count{justify-content:space-between;align-items:center;margin:0 .75rem .25rem;padding:8px 8px 0;font-size:.8em;display:flex}.excalidraw .layer-ui__search-count .result-nav{display:flex}.excalidraw .layer-ui__search-count .result-nav .result-nav-btn{--button-border:transparent;width:36px;height:36px}.excalidraw .layer-ui__search-count .result-nav .result-nav-btn:active{background-color:var(--color-surface-high)}.excalidraw .layer-ui__search-count .result-nav .result-nav-btn:first-child{margin-right:4px}.excalidraw .layer-ui__search-result-container{flex-direction:column;flex:1 1 0;gap:.125rem;display:flex;overflow-y:auto}.excalidraw .layer-ui__result-item{cursor:pointer;border-radius:var(--border-radius-md);border:1px solid #0000;outline:none;flex:none;align-items:center;min-height:2rem;margin:0 .75rem;padding:.25rem .75rem;display:flex}.excalidraw .layer-ui__result-item .text-icon{width:1rem;height:1rem;margin-right:.75rem}.excalidraw .layer-ui__result-item .preview-text{text-overflow:ellipsis;word-break:break-all;flex:1;max-height:48px;line-height:24px;overflow:hidden}.excalidraw .layer-ui__result-item:hover{background-color:var(--color-surface-high)}.excalidraw .layer-ui__result-item:active{border-color:var(--color-primary)}.excalidraw .layer-ui__result-item.active{background-color:var(--color-surface-high)}.excalidraw .dialog-mermaid-title{margin-block:.25rem;padding-inline:2.5rem;font-size:1.25rem;font-weight:700}.excalidraw .Modal.Dialog.ttd-dialog{padding:1.25rem}.excalidraw .Modal.Dialog.ttd-dialog.Dialog--fullscreen{margin-top:0}.excalidraw .Modal.Dialog.ttd-dialog .Island{height:100%;box-shadow:none;flex-direction:column;flex:auto;display:flex;padding-inline:0!important}.excalidraw .Modal.Dialog.ttd-dialog .Modal__content{height:auto;max-height:100%}@media screen and (width>=861px){.excalidraw .Modal.Dialog.ttd-dialog .Modal__content{height:100%;max-height:750px}}.excalidraw .Modal.Dialog.ttd-dialog .Dialog__content{flex:auto}.excalidraw .ttd-dialog-desc{margin-bottom:1.5rem;font-size:15px;font-style:italic;font-weight:500}.excalidraw .ttd-dialog-tabs-root{flex-direction:column;width:100%;height:100%;display:flex}.excalidraw .ttd-dialog-tab-trigger{color:var(--color-on-surface);letter-spacing:.4px;background-color:#0000;border:0;height:2.875rem;margin:0;padding:0 1rem;font-family:inherit;font-size:.875rem;font-weight:600}.excalidraw .ttd-dialog-tab-trigger[data-state=active]{border-bottom:2px solid var(--color-primary)}.excalidraw .ttd-dialog-triggers{border-bottom:1px solid var(--color-surface-high);margin-bottom:1.5rem;padding-inline:2.5rem}.excalidraw .ttd-dialog-content{flex-direction:column;height:100%;padding-inline:2.5rem;display:flex}.excalidraw .ttd-dialog-content[hidden]{display:none}.excalidraw .ttd-dialog-input{resize:none;border-radius:var(--border-radius-lg);border:1px solid var(--dialog-border-color);white-space:pre-wrap;box-sizing:border-box;width:auto;height:10rem;padding:.85rem;font-family:monospace}@media screen and (width>=861px){.excalidraw .ttd-dialog-input{width:100%;height:100%}}.excalidraw .ttd-dialog-output-wrapper{box-sizing:border-box;border-radius:var(--border-radius-lg);border:1px solid var(--dialog-border-color);background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==) 0;flex-grow:1;justify-content:center;align-items:center;width:auto;height:400px;padding:.85rem;display:flex;position:relative}@media screen and (width>=861px){.excalidraw .ttd-dialog-output-wrapper{width:100%;height:200px}}.excalidraw .ttd-dialog-output-wrapper canvas{max-width:100%;max-height:100%}.excalidraw .ttd-dialog-output-canvas-container{flex-grow:1;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.excalidraw .ttd-dialog-output-error{color:red;word-break:break-word;text-align:center;z-index:10;width:100%;height:100%;max-height:100%;font-size:30px;font-weight:700;position:absolute;overflow:auto}.excalidraw .ttd-dialog-output-error p{text-align:left;white-space:pre-wrap;padding:0 10px;font-family:Cascadia;font-size:.875rem;font-weight:500}.excalidraw .ttd-dialog-panels{height:100%}@media screen and (width>=861px){.excalidraw .ttd-dialog-panels{grid-template-columns:1fr 1fr;gap:4rem;display:grid}}.excalidraw .ttd-dialog-panel{flex-direction:column;width:100%;display:flex}.excalidraw .ttd-dialog-panel__header{align-items:center;gap:1rem;margin:0 4px 4px;display:flex}.excalidraw .ttd-dialog-panel__header label{font-size:14px;font-style:normal;font-weight:600}.excalidraw .ttd-dialog-panel:first-child .ttd-dialog-panel-button-container:not(.invisible){margin-bottom:4rem}@media screen and (width>=861px){.excalidraw .ttd-dialog-panel .ttd-dialog-panel-button-container:not(.invisible){margin-bottom:.5rem!important}}.excalidraw .ttd-dialog-panel textarea{resize:none;border-radius:var(--border-radius-lg);border:1px solid var(--dialog-border-color);white-space:pre-wrap;box-sizing:border-box;width:100%;height:100%;padding:.85rem;font-family:monospace}@media screen and (width<=861px){.excalidraw .ttd-dialog-panel textarea{width:auto;height:10rem}}.excalidraw .ttd-dialog-panel-button-container{margin-top:1rem;margin-bottom:.5rem}.excalidraw .ttd-dialog-panel-button-container.invisible .ttd-dialog-panel-button{display:none}@media screen and (width>=861px){.excalidraw .ttd-dialog-panel-button-container.invisible .ttd-dialog-panel-button{visibility:hidden;display:block}}.excalidraw .ttd-dialog-panel-button{position:relative}.excalidraw .ttd-dialog-panel-button.excalidraw-button{color:#fff;background-color:var(--color-primary);width:100%;height:2.5rem;font-family:inherit;font-size:12px;font-weight:600}.excalidraw .ttd-dialog-panel-button.excalidraw-button:hover{background-color:var(--color-primary-darker)}.excalidraw .ttd-dialog-panel-button.excalidraw-button:active{background-color:var(--color-primary-darkest)}.excalidraw .ttd-dialog-panel-button.excalidraw-button:disabled{opacity:.5;cursor:not-allowed}.excalidraw .ttd-dialog-panel-button.excalidraw-button:disabled:hover{background-color:var(--color-primary)}@media screen and (width>=861px){.excalidraw .ttd-dialog-panel-button.excalidraw-button{width:auto;min-width:7.5rem}}.excalidraw.theme--dark.excalidraw .ttd-dialog-panel-button.excalidraw-button{color:var(--color-gray-100)}.excalidraw .ttd-dialog-panel-button div{display:contents}.excalidraw .ttd-dialog-panel-button div.invisible{visibility:hidden}.excalidraw .ttd-dialog-panel-button div.Spinner{--spinner-color:white;position:absolute;inset:0;display:flex!important}.excalidraw.theme--dark.excalidraw .ttd-dialog-panel-button div.Spinner{--spinner-color:var(--color-gray-100)}.excalidraw .ttd-dialog-panel-button div span{padding-left:.5rem;display:flex}.excalidraw .ttd-dialog-submit-shortcut{opacity:.6;gap:.125rem;margin-inline-start:.5rem;font-size:.625rem;display:flex}.excalidraw .ttd-dialog-submit-shortcut__key{border:1px solid gray;border-radius:4px;padding:2px 3px}.excalidraw .drag-input-container{width:100%;display:flex}.excalidraw .drag-input-container:focus-within{box-shadow:0 0 0 1px var(--color-primary-darkest);border-radius:var(--border-radius-md)}.excalidraw .disabled{opacity:.5;pointer-events:none}.excalidraw .drag-input-label{border:1px solid var(--default-border-color);box-sizing:border-box;min-width:1rem;height:2rem;color:var(--popup-text-color);border-right:0;flex-shrink:0;justify-content:center;align-items:center;padding:0 .5rem 0 .75rem;display:flex;position:relative}:root[dir=ltr] .excalidraw .drag-input-label{border-radius:var(--border-radius-md) 0 0 var(--border-radius-md)}:root[dir=rtl] .excalidraw .drag-input-label{border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;border-right:1px solid var(--default-border-color);border-left:0}.excalidraw .drag-input{box-sizing:border-box;width:100%;color:var(--text-primary-color);border:0;border:1px solid var(--default-border-color);letter-spacing:.4px;appearance:none;background-color:#0000;border-left:0;outline:none;height:2rem;margin:0;padding:.5rem .5rem .5rem .25rem;font-family:inherit;font-size:.875rem}:root[dir=ltr] .excalidraw .drag-input{border-radius:0 var(--border-radius-md) var(--border-radius-md) 0}:root[dir=rtl] .excalidraw .drag-input{border-radius:var(--border-radius-md) 0 0 var(--border-radius-md);border-left:1px solid var(--default-border-color);border-right:0}.excalidraw .drag-input:focus-visible{box-shadow:none}.exc-stats{width:204px;z-index:var(--zIndex-layerUI);pointer-events:var(--ui-pointerEvents);font-size:12px;position:absolute;top:60px}:root[dir=rtl] .exc-stats{left:12px;right:initial}.exc-stats h2{margin-block:.83em;font-size:1.5em;font-weight:700}.exc-stats h3{white-space:nowrap;margin:0;font-size:1.17em;font-weight:700}.exc-stats__rows{flex-direction:column;gap:.3125rem;display:flex}.exc-stats__row{justify-content:space-between;align-items:center;gap:4px;display:grid}.exc-stats__row div+div{text-align:right}.exc-stats__row--heading{text-align:center;margin:.25rem 0;font-weight:700}.exc-stats .title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.exc-stats .title h2{margin:0}.exc-stats .close{cursor:pointer;width:16px;height:16px}.exc-stats .close svg{width:100%;height:100%}.excalidraw .ElementLinkDialog{top:var(--editor-container-padding);left:var(--editor-container-padding);z-index:var(--zIndex-modal);box-shadow:var(--shadow-island);background-color:var(--island-bg-color);border-radius:10px;flex-direction:column;justify-content:space-between;padding:1.5rem;display:flex;position:absolute}.excalidraw--mobile.excalidraw .ElementLinkDialog{box-sizing:border-box;z-index:5;width:calc(100% - 1rem);margin-left:.5rem;margin-right:.5rem;left:0}.excalidraw .ElementLinkDialog .ElementLinkDialog__header{margin-bottom:1.5rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__header h2{margin-top:0;margin-bottom:.5rem}.excalidraw--mobile.excalidraw .ElementLinkDialog .ElementLinkDialog__header h2{font-size:1.25rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__header p{margin:0}.excalidraw--mobile.excalidraw .ElementLinkDialog .ElementLinkDialog__header p{font-size:.875rem}.excalidraw--mobile.excalidraw .ElementLinkDialog .ElementLinkDialog__header{margin-bottom:1rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__input{display:flex}.excalidraw .ElementLinkDialog .ElementLinkDialog__input .ElementLinkDialog__input-field{flex:1}.excalidraw .ElementLinkDialog .ElementLinkDialog__input .ElementLinkDialog__remove{color:#c92a2a;margin-left:1rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__input .ElementLinkDialog__remove .ToolIcon__icon{width:2rem;height:2rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__input .ElementLinkDialog__remove .ToolIcon__icon svg{color:#fa5252}.excalidraw .ElementLinkDialog .ElementLinkDialog__actions{justify-content:flex-end;margin-top:1.5rem;display:flex}.excalidraw--mobile.excalidraw .ElementLinkDialog .ElementLinkDialog__actions{margin-top:1rem;font-size:.875rem}.excalidraw .layer-ui__wrapper.animate{transition:width .1s ease-in-out}.excalidraw .layer-ui__wrapper{pointer-events:none;width:100%;height:100%;z-index:var(--zIndex-layerUI);position:absolute}.excalidraw .layer-ui__wrapper__top-right{justify-content:flex-end;gap:.75rem;width:100%;display:flex;pointer-events:none!important}.excalidraw .layer-ui__wrapper__top-right>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .layer-ui__wrapper__footer{width:100%}.excalidraw .layer-ui__wrapper__footer-right{z-index:100;display:flex}.excalidraw .layer-ui__wrapper .zen-mode-transition{transition:transform .5s ease-in-out}:root[dir=ltr] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-left{transform:translate(-999px)}:root[dir=ltr] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-right,:root[dir=rtl] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-left{transform:translate(999px)}:root[dir=rtl] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-right{transform:translate(-999px)}.excalidraw .layer-ui__wrapper .zen-mode-transition.layer-ui__wrapper__footer-left--transition-bottom{transform:translateY(92px)}.excalidraw .layer-ui__wrapper .disable-zen-mode{opacity:0;visibility:hidden;font-family:var(--ui-font);border-radius:var(--border-radius-lg);border:1px solid var(--default-border-color);background-color:var(--island-bg-color);color:var(--text-primary-color);padding:10px;font-size:.75rem;font-weight:500;line-height:1;transition:visibility linear,opacity .5s;position:absolute;bottom:0}[dir=ltr] .excalidraw .layer-ui__wrapper .disable-zen-mode{right:1rem}[dir=rtl] .excalidraw .layer-ui__wrapper .disable-zen-mode{left:1rem}.excalidraw .layer-ui__wrapper .disable-zen-mode:hover{background-color:var(--button-hover-bg)}.excalidraw .layer-ui__wrapper .disable-zen-mode:active{border-color:var(--color-primary)}.excalidraw .layer-ui__wrapper .disable-zen-mode--visible{opacity:1;visibility:visible;pointer-events:var(--ui-pointerEvents);transition:visibility 0s linear .8s,opacity .5s .8s}.excalidraw .layer-ui__wrapper .layer-ui__wrapper__footer-left>*,.excalidraw .layer-ui__wrapper .footer-center>*,.excalidraw .layer-ui__wrapper .layer-ui__wrapper__footer-right>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .layer-ui__wrapper .layer-ui__wrapper__footer-right{margin-top:auto;margin-bottom:auto}.excalidraw .App-toolbar.zen-mode .ToolIcon__keybinding,.excalidraw .App-toolbar.zen-mode .HintViewer{display:none}.excalidraw .App-toolbar__divider{background-color:var(--default-border-color);align-self:center;width:1px;height:1.5rem;margin:0 .25rem}.excalidraw--mobile.excalidraw .App-toolbar__divider{margin:0}.excalidraw .App-toolbar__extra-tools-trigger{box-shadow:none;background-color:#0000;border:0}.excalidraw .App-toolbar__extra-tools-trigger:active{background-color:var(--button-hover-bg);box-shadow:0 0 0 1px var(--button-active-border,var(--color-primary-darkest)) inset}.excalidraw .App-toolbar__extra-tools-trigger--selected,.excalidraw .App-toolbar__extra-tools-trigger--selected:hover{background:var(--color-primary-light);color:var(--color-primary)}.excalidraw .App-toolbar__extra-tools-dropdown{z-index:1;min-width:11.875rem;margin-top:.375rem;right:0}.excalidraw .Toast{background-color:var(--button-gray-1);box-sizing:border-box;cursor:default;text-align:center;z-index:999999;border-radius:4px;width:300px;margin-left:-150px;padding:4px 0;animation:.5s fade-in;position:absolute;bottom:10px;left:50%}.excalidraw .Toast .Toast__message{color:var(--popup-text-color);white-space:pre-wrap;padding:0 1.6rem}.excalidraw .Toast .close{padding:.4rem;position:absolute;top:0;right:0}.excalidraw .Toast .close .ToolIcon__icon{width:1.2rem;height:1.2rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.excalidraw .SVGLayer{pointer-events:none;width:100vw;height:100vh;z-index:var(--zIndex-svgLayer);position:fixed;top:0;left:0}.excalidraw .SVGLayer svg{image-rendering:auto;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.excalidraw .excalidraw-canvas-buttons{z-index:var(--zIndex-canvasButtons);background:var(--island-bg-color);border-radius:var(--border-radius-lg);flex-direction:column;gap:.375rem;display:flex;position:absolute;box-shadow:0 2px 4px #0000004d}.excalidraw .follow-mode{box-sizing:border-box;pointer-events:none;border:2px solid var(--color-primary-hover);z-index:9999;justify-content:center;align-items:flex-end;display:flex;position:absolute}.excalidraw .follow-mode__badge{background-color:var(--color-primary-hover);color:var(--color-primary-light);pointer-events:all;border-radius:.5rem;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.25rem .5rem;font-size:.75rem;display:flex}.excalidraw .follow-mode__badge__label{white-space:pre-wrap;line-height:1;display:flex}.excalidraw .follow-mode__badge__username{white-space:nowrap;text-overflow:ellipsis;max-width:100px;display:block;overflow:hidden}.excalidraw .follow-mode__disconnect-btn{all:unset;cursor:pointer;border-radius:.25rem}.excalidraw .follow-mode__disconnect-btn:hover{background-color:var(--color-primary-darker)}.excalidraw .follow-mode__disconnect-btn:active{background-color:var(--color-primary-darkest)}.excalidraw .follow-mode__disconnect-btn svg{width:1rem;height:1rem;display:block}.visually-hidden{clip:rect(1px,1px,1px,1px);white-space:nowrap;-webkit-user-select:none;user-select:none;width:1px;height:1px;overflow:hidden;position:absolute!important}.LoadingMessage{z-index:999;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.LoadingMessage .Spinner{font-size:2.8em}.LoadingMessage .LoadingMessage-text{margin-top:1em;font-size:.8em}.LoadingMessage--dark{color:#ced4da;background-color:#121212}.excalidraw{--theme-filter:none;--button-destructive-bg-color:#ffe3e3;--button-destructive-color:#c92a2a;--button-gray-1:#e9ecef;--button-gray-2:#ced4da;--button-gray-3:#adb5bd;--button-special-active-bg-color:#ebfbee;--dialog-border-color:var(--color-gray-20);--dropdown-icon:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"292.4\" height=\"292.4\" viewBox=\"0 0 292 292\"><path d=\"M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z\"/></svg>");--focus-highlight-color:#a5d8ff;--icon-fill-color:var(--color-on-surface);--icon-green-fill-color:#2b8a3e;--default-bg-color:#fff;--input-bg-color:#fff;--input-border-color:#ced4da;--input-hover-bg-color:#f1f3f5;--input-label-color:#495057;--island-bg-color:#fff;--keybinding-color:var(--color-gray-40);--link-color:#1c7ed6;--overlay-bg-color:#ffffffe0;--popup-bg-color:var(--island-bg-color);--popup-secondary-bg-color:#f1f3f5;--popup-text-color:#000;--popup-text-inverted-color:#fff;--select-highlight-color:#339af0;--shadow-island:0px 0px .931014px 0px #0000002b, 0px 0px 3.12708px 0px #00000014, 0px 7px 14px 0px #0000000d;--button-hover-bg:var(--color-surface-high);--button-active-bg:var(--color-surface-high);--button-active-border:var(--color-brand-active);--default-border-color:var(--color-surface-high);--default-button-size:2rem;--default-icon-size:1rem;--lg-button-size:2.25rem;--lg-icon-size:1rem;--editor-container-padding:1rem;--scrollbar-thumb:var(--button-gray-2);--scrollbar-thumb-hover:var(--button-gray-3);--color-slider-track:#ccf;--color-slider-thumb:var(--color-gray-80);--modal-shadow:0px 100px 80px #00000012, 0px 41.7776px 33.4221px #0000000d, 0px 22.3363px 17.869px #0000000b, 0px 12.5216px 10.0172px #00000009, 0px 6.6501px 5.32008px #00000007, 0px 2.76726px 2.21381px #00000005;--avatar-border-color:var(--color-gray-20);--sidebar-shadow:0px 100px 80px #00000012, 0px 41.7776px 33.4221px #0000000d, 0px 22.3363px 17.869px #0000000b, 0px 12.5216px 10.0172px #00000009, 0px 6.6501px 5.32008px #00000007, 0px 2.76726px 2.21381px #00000005;--sidebar-border-color:var(--color-surface-high);--sidebar-bg-color:var(--island-bg-color);--library-dropdown-shadow:0px 15px 6px #00000003, 0px 8px 5px #0000000d, 0px 4px 4px #00000017, 0px 1px 2px #0000001a, 0px 0px 0px #0000001a;--space-factor:.25rem;--text-primary-color:var(--color-on-surface);--color-selection:#6965db;--color-icon-white:#fff;--color-primary:#6965db;--color-primary-darker:#5b57d1;--color-primary-darkest:#4a47b1;--color-primary-light:#e3e2fe;--color-primary-light-darker:#d7d5ff;--color-primary-hover:#5753d0;--color-gray-10:#f5f5f5;--color-gray-20:#ebebeb;--color-gray-30:#d6d6d6;--color-gray-40:#b8b8b8;--color-gray-50:#999;--color-gray-60:#7a7a7a;--color-gray-70:#5c5c5c;--color-gray-80:#3d3d3d;--color-gray-85:#242424;--color-gray-90:#1e1e1e;--color-gray-100:#121212;--color-disabled:var(--color-gray-40);--color-warning:#fceeca;--color-warning-dark:#f5c354;--color-warning-darker:#f3ab2c;--color-warning-darkest:#ec8b14;--color-text-warning:var(--text-primary-color);--color-danger:#db6965;--color-danger-dark:#db6965;--color-danger-darker:#d65550;--color-danger-darkest:#d1413c;--color-danger-text:black;--color-danger-background:#fff0f0;--color-danger-icon-background:#ffdad6;--color-danger-color:#700000;--color-danger-icon-color:#700000;--color-warning-background:var(--color-warning);--color-warning-icon-background:var(--color-warning-dark);--color-warning-color:var(--text-primary-color);--color-warning-icon-color:var(--text-primary-color);--color-muted:var(--color-gray-30);--color-muted-darker:var(--color-gray-60);--color-muted-darkest:var(--color-gray-100);--color-muted-background:var(--color-gray-80);--color-muted-background-darker:var(--color-gray-100);--color-promo:var(--color-primary);--color-success:#cafccc;--color-success-darker:#bafabc;--color-success-darkest:#a5eba8;--color-success-text:#268029;--color-success-contrast:#65bb6a;--color-success-contrast-hover:#6bcf70;--color-success-contrast-active:#6edf74;--color-logo-icon:var(--color-primary);--color-logo-text:#190064;--border-radius-md:.375rem;--border-radius-lg:.5rem;--color-surface-high:#f1f0ff;--color-surface-mid:#f2f2f7;--color-surface-low:#ececf4;--color-surface-lowest:#fff;--color-on-surface:#1b1b1f;--color-brand-hover:#5753d0;--color-on-primary-container:#030064;--color-brand-active:#4440bf;--color-border-outline:#767680;--color-border-outline-variant:#c5c5d0;--color-surface-primary-container:#e0dfff;--color-badge:#0b6513;--background-color-badge:#d3ffd2}@media screen and (device-width>=1921px){.excalidraw{--lg-button-size:2.5rem;--lg-icon-size:1.25rem;--default-button-size:2.25rem;--default-icon-size:1.25rem}}.excalidraw.theme--dark.theme--dark-background-none{background:0 0}.excalidraw.theme--dark{--theme-filter:invert(93%) hue-rotate(180deg);--button-destructive-bg-color:#5a0000;--button-destructive-color:#ffa8a8;--button-gray-1:#363636;--button-gray-2:#272727;--button-gray-3:#222;--button-special-active-bg-color:#204624;--dialog-border-color:var(--color-gray-80);--dropdown-icon:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"292.4\" height=\"292.4\" viewBox=\"0 0 292 292\"><path fill=\"%23ced4da\" d=\"M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z\"/></svg>");--focus-highlight-color:#228be6;--icon-green-fill-color:#69db7c;--default-bg-color:#121212;--input-bg-color:#121212;--input-border-color:#2e2e2e;--input-hover-bg-color:#181818;--input-label-color:#e9ecef;--island-bg-color:#232329;--keybinding-color:var(--color-gray-60);--link-color:#4dabf7;--overlay-bg-color:#343a401f;--popup-secondary-bg-color:#222;--popup-text-color:#ced4da;--popup-text-inverted-color:#2c2c2c;--select-highlight-color:#4dabf7;--shadow-island:0px 0px .931014px 0px #0000002b, 0px 0px 3.12708px 0px #00000014, 0px 7px 14px 0px #0000000d;--modal-shadow:0px 100px 80px #00000012, 0px 41.7776px 33.4221px #0000000d, 0px 22.3363px 17.869px #0000000b, 0px 12.5216px 10.0172px #00000009, 0px 6.6501px 5.32008px #00000007, 0px 2.76726px 2.21381px #00000005;--avatar-border-color:var(--color-gray-85);--scrollbar-thumb:#343a40;--scrollbar-thumb-hover:#495057;--color-slider-track:#504d7a;--color-selection:#3530c4;--color-icon-white:var(--color-gray-90);--color-primary:#a8a5ff;--color-primary-darker:#b2aeff;--color-primary-darkest:#beb9ff;--color-primary-light:#4f4d6f;--color-primary-light-darker:#43415e;--color-primary-hover:#bbb8ff;--color-disabled:var(--color-gray-70);--color-text-warning:var(--color-gray-80);--color-danger:#ffa8a5;--color-danger-dark:#672120;--color-danger-darker:#8f2625;--color-danger-darkest:#ac2b29;--color-danger-text:#fbcbcc;--color-danger-background:#fbcbcc;--color-danger-icon-background:#672120;--color-danger-color:#261919;--color-danger-icon-color:#fbcbcc;--color-warning-background:var(--color-warning);--color-warning-icon-background:var(--color-warning-dark);--color-warning-color:var(--color-gray-80);--color-warning-icon-color:var(--color-gray-80);--color-muted:var(--color-gray-80);--color-muted-darker:var(--color-gray-60);--color-muted-darkest:var(--color-gray-20);--color-muted-background:var(--color-gray-40);--color-muted-background-darker:var(--color-gray-20);--color-logo-text:#e2dfff;--color-surface-high:#31303b;--color-surface-low:#232329;--color-surface-mid:#18181b;--color-surface-lowest:#121212;--color-on-surface:#e3e3e8;--color-brand-hover:#bbb8ff;--color-on-primary-container:#e0dfff;--color-brand-active:#d0ccff;--color-border-outline:#8e8d9c;--color-border-outline-variant:#46464f;--color-surface-primary-container:#403e6a}:root{--zIndex-canvas:1;--zIndex-interactiveCanvas:2;--zIndex-svgLayer:3;--zIndex-wysiwyg:3;--zIndex-canvasButtons:3;--zIndex-layerUI:4;--zIndex-eyeDropperBackdrop:5;--zIndex-eyeDropperPreview:6;--zIndex-hyperlinkContainer:7;--zIndex-modal:1000;--zIndex-popup:1001;--zIndex-toast:999999;--sab:env(safe-area-inset-bottom);--sal:env(safe-area-inset-left);--sar:env(safe-area-inset-right);--sat:env(safe-area-inset-top)}body.excalidraw-cursor-resize,body.excalidraw-cursor-resize a:hover,body.excalidraw-cursor-resize *{cursor:ew-resize}.excalidraw{--ui-font:Assistant, system-ui, BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;font-family:var(--ui-font);color:var(--text-primary-color);-webkit-user-select:none;user-select:none;width:100%;height:100%;display:flex;position:relative;inset:0;overflow:hidden}.excalidraw button{cursor:pointer;-webkit-user-select:none;user-select:none}.excalidraw:focus{outline:none}.excalidraw .excalidraw-link,.excalidraw a{color:var(--link-color);-webkit-user-select:none;user-select:none;cursor:pointer;font-weight:500;text-decoration:none}.excalidraw .excalidraw-link:hover,.excalidraw a:hover{text-decoration:underline}.excalidraw .excalidraw-link:active,.excalidraw a:active{text-decoration:none}.excalidraw canvas{touch-action:none;image-rendering:pixelated;image-rendering:-moz-crisp-edges;z-index:var(--zIndex-canvas)}.excalidraw canvas.interactive{z-index:var(--zIndex-interactiveCanvas)}.excalidraw__canvas-wrapper,.excalidraw__canvas.static{pointer-events:none}.excalidraw__canvas{position:absolute}.excalidraw__embeddable{border:0;width:100%;height:100%}.excalidraw__embeddable-container{z-index:2;transform-origin:0 0;pointer-events:none;position:absolute}.excalidraw.theme--dark canvas{filter:var(--theme-filter)}.excalidraw .FixedSideContainer{padding-top:var(--sat,0);padding-right:var(--sar,0);padding-bottom:var(--sab,0);padding-left:var(--sal,0)}.excalidraw .panelRow{justify-content:space-between;display:flex}.excalidraw .panelColumn{flex-direction:column;row-gap:.75rem;display:flex}.excalidraw .panelColumn h3,.excalidraw .panelColumn legend,.excalidraw .panelColumn .control-label{color:var(--text-primary-color);margin:0 0 .25rem;font-size:.75rem;font-weight:400;display:block}.excalidraw .panelColumn .control-label input{width:100%;display:block}.excalidraw .panelColumn legend{padding:0}.excalidraw .panelColumn .iconSelectList{flex-wrap:wrap;position:relative}.excalidraw .panelColumn .buttonList{flex-wrap:wrap;gap:.5rem;display:flex}.excalidraw .panelColumn .buttonList label{font-size:.75rem}.excalidraw .panelColumn .buttonList input[type=radio],.excalidraw .panelColumn .buttonList input[type=button]{opacity:0;pointer-events:none;position:absolute}.excalidraw .panelColumn .buttonList .iconRow{margin-top:8px}.excalidraw .panelColumn fieldset{border:none;margin:0;padding:0}.excalidraw .divider{background-color:#e9ecef;width:1px;margin:1px}.excalidraw .welcome-screen-menu-item:focus-visible,.excalidraw .dropdown-menu-item:focus-visible,.excalidraw button:focus-visible,.excalidraw .buttonList label:focus-within,.excalidraw input:focus-visible{box-shadow:0 0 0 1px var(--color-brand-hover);outline:#0000}.excalidraw .buttonList .ToolIcon__icon{all:unset!important;display:flex!important}.excalidraw .buttonList button{background-color:#0000}.excalidraw .buttonList label,.excalidraw .buttonList button,.excalidraw .buttonList .zIndexButton{width:var(--button-width,var(--default-button-size));height:var(--button-height,var(--default-button-size));box-sizing:border-box;border-style:solid;border-width:1px;border-color:var(--button-border,var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg,var(--island-bg-color));color:var(--button-color,var(--color-on-surface));font-family:var(--ui-font);justify-content:center;align-items:center;padding:0;display:flex}.excalidraw .buttonList label:hover,.excalidraw .buttonList button:hover,.excalidraw .buttonList .zIndexButton:hover{background-color:var(--button-hover-bg,var(--island-bg-color));border-color:var(--button-hover-border,var(--button-border,var(--default-border-color)));color:var(--button-hover-color,var(--button-color,var(--text-primary-color,inherit)))}.excalidraw .buttonList label:active,.excalidraw .buttonList button:active,.excalidraw .buttonList .zIndexButton:active{background-color:var(--button-active-bg,var(--island-bg-color));border-color:var(--button-active-border,var(--color-primary-darkest))}.excalidraw .buttonList label.active,.excalidraw .buttonList button.active,.excalidraw .buttonList .zIndexButton.active{background-color:var(--button-selected-bg,var(--color-surface-primary-container));border-color:var(--button-selected-border,var(--color-surface-primary-container))}.excalidraw .buttonList label.active:hover,.excalidraw .buttonList button.active:hover,.excalidraw .buttonList .zIndexButton.active:hover{background-color:var(--button-selected-hover-bg,var(--color-surface-primary-container))}.excalidraw .buttonList label.active svg,.excalidraw .buttonList button.active svg,.excalidraw .buttonList .zIndexButton.active svg{color:var(--button-color,var(--color-on-primary-container))}.excalidraw .buttonList label svg,.excalidraw .buttonList button svg,.excalidraw .buttonList .zIndexButton svg{width:var(--default-icon-size);height:var(--default-icon-size)}.excalidraw .App-top-bar{z-index:var(--zIndex-layerUI);flex-direction:column;align-items:center;display:flex}.excalidraw .App-bottom-bar{--bar-padding:calc(4 * var(--space-factor));padding-top:max(var(--bar-padding),var(--sat,0));padding-right:var(--sar,0);padding-bottom:var(--sab,0);padding-left:var(--sal,0);z-index:4;pointer-events:none;align-items:flex-end;display:flex;position:absolute;inset:0}.excalidraw .App-bottom-bar>.Island{box-sizing:border-box;pointer-events:var(--ui-pointerEvents);flex-direction:column;width:100%;min-width:100%;max-width:100%;max-height:100%;display:flex}.excalidraw .App-bottom-bar>.Island .panelColumn{padding:8px 8px 0}.excalidraw .App-toolbar{width:100%}.excalidraw .App-toolbar .eraser.ToolIcon:hover{--icon-fill-color:#fff;--keybinding-color:#fff}.excalidraw .App-toolbar .eraser.active{background-color:var(--color-primary)}.excalidraw .App-toolbar-content{justify-content:space-between;align-items:center;padding:8px;display:flex}.excalidraw .App-toolbar-content .dropdown-menu--mobile{top:auto;bottom:55px}.excalidraw .App-mobile-menu{box-sizing:border-box;width:100%;margin-bottom:var(--bar-padding);overflow:visible auto}.excalidraw .App-menu{color:var(--icon-fill-color);display:grid}.excalidraw .shapes-section{justify-content:center;display:flex;pointer-events:none!important}.excalidraw .shapes-section>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .App-menu_top{grid-gap:2rem;cursor:default;grid-template-columns:1fr 2fr 1fr;align-items:flex-start;pointer-events:none!important}.excalidraw .App-menu_top>*{pointer-events:var(--ui-pointerEvents)}@media (width>=1536px){.excalidraw .App-menu_top{grid-gap:3rem;grid-template-columns:1fr 1fr 1fr}}.excalidraw .App-menu_top>:first-child{justify-self:flex-start}.excalidraw .App-menu_top>:last-child{justify-self:flex-end}.excalidraw .App-menu_bottom{cursor:default;box-sizing:border-box;justify-content:space-between;align-items:flex-start;padding:0 1rem;display:flex;position:absolute;bottom:1rem;pointer-events:none!important}.excalidraw .App-menu_bottom--transition-left section{width:185px}.excalidraw .App-menu_bottom section{display:flex}.excalidraw .App-menu_bottom>:first-child{justify-self:flex-start}.excalidraw .App-menu_bottom>:last-child{justify-self:flex-end}.excalidraw .App-menu_left{grid-template-rows:1fr auto 1fr;height:100%}.excalidraw .App-menu_right{grid-template-rows:1fr;height:100%}.excalidraw .App-menu__left{box-sizing:border-box;width:12.5rem;padding:.75rem;position:absolute;overflow-y:auto}.excalidraw .dropdown-select{padding:0;height:1.5rem;color:var(--icon-fill-color);background-color:var(--button-gray-1);border-radius:var(--space-factor);border:1px solid var(--button-gray-2);appearance:none;background-image:var(--dropdown-icon);background-position:right .7rem top 50%,0 0;background-repeat:no-repeat;background-size:.65em,100%;outline:none;padding-inline:.5rem 1.5rem;font-family:inherit;font-size:.8rem}:root[dir=rtl] .excalidraw .dropdown-select{background-position:.7rem 50%,0 0}.excalidraw .dropdown-select:focus{box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .dropdown-select:hover,.excalidraw .dropdown-select:active{background-color:var(--button-gray-2)}.excalidraw .dropdown-select__language{background-color:var(--island-bg-color);cursor:pointer;height:2rem;border-color:var(--default-border-color)!important}.excalidraw .dropdown-select__language:hover{background-color:var(--island-bg-color)}.excalidraw .scroll-back-to-content{border-radius:var(--border-radius-lg);background-color:var(--island-bg-color);color:var(--icon-fill-color);border:1px solid var(--default-border-color);pointer-events:var(--ui-pointerEvents);padding:10px 20px;font-family:inherit;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.excalidraw .scroll-back-to-content:hover{background-color:var(--button-hover-bg)}.excalidraw .scroll-back-to-content:active{border:1px solid var(--button-active-border)}.excalidraw .help-icon{width:var(--button-width,var(--default-button-size));height:var(--button-height,var(--default-button-size));box-sizing:border-box;border-style:solid;border-width:1px;border-color:var(--button-border,var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg,var(--island-bg-color));color:var(--button-color,var(--color-on-surface));font-family:var(--ui-font);box-shadow:0 0 0 1px var(--color-surface-lowest);background-color:var(--color-surface-low);width:var(--lg-button-size);height:var(--lg-button-size);border:none;justify-content:center;align-items:center;padding:.625rem;display:flex}.excalidraw .help-icon:hover{background-color:var(--button-hover-bg,var(--island-bg-color));border-color:var(--button-hover-border,var(--button-border,var(--default-border-color)));color:var(--button-hover-color,var(--button-color,var(--text-primary-color,inherit)))}.excalidraw .help-icon:active{background-color:var(--button-active-bg,var(--island-bg-color));border-color:var(--button-active-border,var(--color-primary-darkest))}.excalidraw .help-icon.active{background-color:var(--button-selected-bg,var(--color-surface-primary-container));border-color:var(--button-selected-border,var(--color-surface-primary-container))}.excalidraw .help-icon.active:hover{background-color:var(--button-selected-hover-bg,var(--color-surface-primary-container))}.excalidraw .help-icon.active svg{color:var(--button-color,var(--color-on-primary-container))}.excalidraw .help-icon:active{box-shadow:0 0 0 1px var(--color-brand-active)}.excalidraw .help-icon svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .reset-zoom-button{font-family:var(--ui-font)}.excalidraw .finalize-button{margin-top:auto;margin-bottom:auto;grid-auto-flow:column;gap:.4em;margin-inline-start:.6em;display:grid}.excalidraw .undo-redo-buttons,.excalidraw .eraser-buttons{margin-top:auto;margin-bottom:auto;grid-auto-flow:column;margin-inline-start:.6em;display:grid}.excalidraw--mobile.excalidraw aside{display:none}.excalidraw--mobile.excalidraw .scroll-back-to-content{bottom:calc(80px + var(--sab,0));z-index:-1}:root[dir=rtl] .excalidraw .rtl-mirror{transform:scaleX(-1)}.excalidraw .zen-mode-visibility{visibility:visible;opacity:1;width:auto;height:auto;transition:opacity .5s}.excalidraw .zen-mode-visibility.zen-mode-visibility--hidden{visibility:hidden;opacity:0;width:0;height:0;transition:opacity .5s}.excalidraw .disable-pointerEvents{pointer-events:none!important}.excalidraw.excalidraw--view-mode .App-menu{justify-content:space-between;display:flex}.excalidraw input.is-redacted{-webkit-text-security:disc}.excalidraw input[type=text],.excalidraw textarea:not(.excalidraw-wysiwyg){color:var(--text-primary-color);border:1.5px solid var(--input-border-color);white-space:nowrap;border-radius:var(--space-factor);background-color:var(--input-bg-color);padding:.75rem}.excalidraw input[type=text]:not(:focus):hover,.excalidraw textarea:not(.excalidraw-wysiwyg):not(:focus):hover{border-color:var(--color-brand-hover)}.excalidraw input[type=text]:focus,.excalidraw textarea:not(.excalidraw-wysiwyg):focus{border-color:var(--color-brand-hover);outline:none}@media print{.excalidraw .App-bottom-bar,.excalidraw .FixedSideContainer,.excalidraw .layer-ui__wrapper{display:none}}.excalidraw ::-webkit-scrollbar{width:4px;height:3px}.excalidraw select::-webkit-scrollbar{width:10px}.excalidraw ::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:10px}.excalidraw ::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.excalidraw ::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb)}.excalidraw .mobile-misc-tools-container{top:calc(5rem - var(--editor-container-padding));right:calc(var(--editor-container-padding) * -1);border:1px solid var(--sidebar-border-color);border-top-left-radius:var(--border-radius-lg);border-bottom-left-radius:var(--border-radius-lg);background-color:var(--island-bg-color);border-right:0;flex-direction:column;display:flex;position:absolute;overflow:hidden}.excalidraw .mobile-misc-tools-container .ToolIcon__icon{border-radius:0;width:2rem;height:2rem}.excalidraw .mobile-misc-tools-container .default-sidebar-trigger{border:0}.excalidraw .App-toolbar--mobile{max-width:98vw;overflow:visible}.excalidraw .App-toolbar--mobile .ToolIcon__keybinding{display:none}.excalidraw .UserList-Wrapper{text-align:left;border:none;margin:0;padding:0}.excalidraw .UserList-Wrapper legend{margin:0 0 .25rem;padding:0;font-size:.75rem;font-weight:400;display:block}.excalidraw .main-menu-trigger{box-shadow:0 0 0 1px var(--color-surface-lowest);background-color:var(--color-surface-low);border:none}.excalidraw .main-menu-trigger:active{box-shadow:0 0 0 1px var(--color-brand-active)}.excalidraw .App-mobile-menu,.excalidraw .App-menu__left{--button-border:transparent;--button-bg:var(--color-surface-mid)}.excalidraw.theme--dark.excalidraw .App-mobile-menu,.excalidraw.theme--dark.excalidraw .App-menu__left{--button-hover-bg:#363541;--button-bg:var(--color-surface-high)}.excalidraw .App-menu__left .buttonList{padding:.25rem 0}.excalidraw .excalidraw__paragraph{margin:1rem 0}.excalidraw .Modal__content .excalidraw__paragraph:first-child{margin-top:0}.excalidraw .Modal__content .excalidraw__paragraph+.excalidraw__paragraph{margin-top:0}.ErrorSplash.excalidraw{-webkit-user-select:text;user-select:text;justify-content:center;align-items:center;min-height:100vh;padding:20px 0;display:flex;overflow:auto}.ErrorSplash.excalidraw .ErrorSplash-messageContainer{background-color:#ffe3e3;border:3px solid #c92a2a;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex}.ErrorSplash.excalidraw .ErrorSplash-paragraph{max-width:600px;margin:15px 0}.ErrorSplash.excalidraw .ErrorSplash-paragraph.align-center{text-align:center}.ErrorSplash.excalidraw .bigger,.ErrorSplash.excalidraw .bigger button{font-size:1.1em}.ErrorSplash.excalidraw .smaller,.ErrorSplash.excalidraw .smaller button{font-size:.9em}.ErrorSplash.excalidraw .ErrorSplash-details{flex-direction:column;align-items:flex-start;display:flex}.ErrorSplash.excalidraw .ErrorSplash-details textarea{width:100%;margin:10px 0;font-family:Cascadia;font-size:.8em}.excalidraw__embeddable-container .excalidraw__embeddable-container__inner{border-radius:var(--embeddable-radius);justify-content:center;align-items:center;display:flex;overflow:hidden}.excalidraw__embeddable-container .excalidraw__embeddable__outer{width:100%;height:100%}.excalidraw__embeddable-container .excalidraw__embeddable__outer>*{border-radius:var(--embeddable-radius)}.excalidraw__embeddable-container .excalidraw__embeddable-hint{z-index:1;color:#fff;letter-spacing:.6px;background:#00000080;border-radius:12px;padding:1rem 1.6rem;font-family:Assistant;font-weight:700;position:absolute}@font-face{font-family:Assistant;src:url(./Assistant-Regular-DVxZuzxb.woff2)format("woff2");font-weight:400;style:normal;display:swap}@font-face{font-family:Assistant;src:url(./Assistant-Medium-DrcxCXg3.woff2)format("woff2");font-weight:500;style:normal;display:swap}@font-face{font-family:Assistant;src:url(./Assistant-SemiBold-SCI4bEL9.woff2)format("woff2");font-weight:600;style:normal;display:swap}@font-face{font-family:Assistant;src:url(./Assistant-Bold-gm-uSS1B.woff2)format("woff2");font-weight:700;style:normal;display:swap}.footer-center{pointer-events:none;justify-content:flex-start;width:100%;margin-inline-end:.6rem;display:flex}.footer-center>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .ExcalidrawLogo{--logo-icon--xs:2rem;--logo-text--xs:1.5rem;--logo-icon--small:2.5rem;--logo-text--small:1.75rem;--logo-icon--normal:3rem;--logo-text--normal:2.2rem;--logo-icon--large:90px;--logo-text--large:65px;align-items:center;display:flex}.excalidraw .ExcalidrawLogo svg{flex:none}.excalidraw .ExcalidrawLogo .ExcalidrawLogo-icon{width:auto;color:var(--color-logo-icon)}.excalidraw .ExcalidrawLogo .ExcalidrawLogo-text{width:auto;color:var(--color-logo-text);margin-left:.75rem}.excalidraw .ExcalidrawLogo.is-xs .ExcalidrawLogo-icon{height:var(--logo-icon--xs)}.excalidraw .ExcalidrawLogo.is-xs .ExcalidrawLogo-text{height:var(--logo-text--xs)}.excalidraw .ExcalidrawLogo.is-small .ExcalidrawLogo-icon{height:var(--logo-icon--small)}.excalidraw .ExcalidrawLogo.is-small .ExcalidrawLogo-text{height:var(--logo-text--small)}.excalidraw .ExcalidrawLogo.is-normal .ExcalidrawLogo-icon{height:var(--logo-icon--normal)}.excalidraw .ExcalidrawLogo.is-normal .ExcalidrawLogo-text{height:var(--logo-text--normal)}.excalidraw .ExcalidrawLogo.is-large .ExcalidrawLogo-icon{height:var(--logo-icon--large)}.excalidraw .ExcalidrawLogo.is-large .ExcalidrawLogo-text{height:var(--logo-text--large)}.excalidraw .excalifont{font-family:Excalifont,Xiaolai}.excalidraw .welcome-screen-decor{pointer-events:none;color:var(--color-gray-40)}.excalidraw .welcome-screen-decor a{--color:var(--color-primary);color:var(--color);margin-bottom:-6px;text-decoration:none}.excalidraw.theme--dark .welcome-screen-decor{color:var(--color-gray-60)}@media (height<=599px){.excalidraw .welcome-screen-decor-hint{display:none!important}}@media (width<=1024px),(width<=800px){.excalidraw .welcome-screen-decor-hint .welcome-screen-decor--help,.excalidraw .welcome-screen-decor-hint .welcome-screen-decor--menu{display:none}}.excalidraw .welcome-screen-decor-hint--help{display:flex;position:absolute;bottom:100%;right:0}:root[dir=rtl] .excalidraw .welcome-screen-decor-hint--help{left:0;right:auto}.excalidraw .welcome-screen-decor-hint--help svg{width:85px;height:71px;margin-top:.5rem;transform:scaleX(-1)rotate(80deg)}:root[dir=rtl] .excalidraw .welcome-screen-decor-hint--help svg{transform:rotate(80deg)}.excalidraw .welcome-screen-decor-hint--toolbar{align-items:baseline;margin-top:2.5rem;display:flex;position:absolute;top:100%;left:50%;transform:translate(-50%)}.excalidraw .welcome-screen-decor-hint--toolbar .welcome-screen-decor-hint__label{width:120px;position:relative;top:-.5rem}.excalidraw .welcome-screen-decor-hint--toolbar svg{width:38px;height:78px}:root[dir=rtl] .excalidraw .welcome-screen-decor-hint--toolbar svg{transform:scaleX(-1)}.excalidraw .welcome-screen-decor-hint--menu{margin-top:.25rem;align-items:flex-end;gap:.5rem;width:320px;margin-inline-start:.6rem;font-size:1rem;display:flex;position:absolute;top:100%}.excalidraw .welcome-screen-decor-hint--menu svg{width:41px;height:94px}:root[dir=rtl] .excalidraw .welcome-screen-decor-hint--menu svg{transform:scaleX(-1)}@media (width<=860px){.excalidraw .welcome-screen-decor-hint--menu .welcome-screen-decor-hint__label{max-width:160px}}.excalidraw .welcome-screen-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:2rem;display:flex;position:absolute;inset:1rem}.excalidraw .welcome-screen-center__logo{align-items:center;column-gap:.75rem;font-size:2.25rem;display:flex}.excalidraw .welcome-screen-center__heading{text-align:center;font-size:1.125rem}.excalidraw .welcome-screen-menu{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.excalidraw .welcome-screen-menu-item{box-sizing:border-box;pointer-events:var(--ui-pointerEvents);color:var(--color-gray-50);border-radius:var(--border-radius-md);grid-template-columns:calc(var(--default-icon-size) + .5rem) 1fr 3rem;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;width:100%;min-width:300px;max-width:400px;padding:.75rem;font-size:.875rem;display:grid}.excalidraw .welcome-screen-menu-item__text{text-align:left;align-items:center;column-gap:.5rem;margin-right:auto;display:flex}.excalidraw .welcome-screen-menu-item__icon{width:var(--default-icon-size);height:var(--default-icon-size)}.excalidraw .welcome-screen-menu-item__shortcut{color:var(--color-gray-40);margin-left:auto;font-size:.75rem}.excalidraw .welcome-screen-menu-item:hover{background:var(--button-hover-bg);text-decoration:none}.excalidraw .welcome-screen-menu-item:hover .welcome-screen-menu-item__shortcut,.excalidraw .welcome-screen-menu-item:hover .welcome-screen-menu-item__icon,.excalidraw .welcome-screen-menu-item:hover .welcome-screen-menu-item__text{color:var(--color-gray-100)}.excalidraw .welcome-screen-menu-item:active{background:var(--button-hover-bg);border-color:var(--color-brand-active)}.excalidraw .welcome-screen-menu-item:active .welcome-screen-menu-item__shortcut,.excalidraw .welcome-screen-menu-item:active .welcome-screen-menu-item__icon,.excalidraw .welcome-screen-menu-item:active .welcome-screen-menu-item__text{color:var(--color-gray-100)}.excalidraw.theme--dark .welcome-screen-menu-item,.excalidraw.theme--dark .welcome-screen-menu-item__shortcut{color:var(--color-gray-60)}.excalidraw.theme--dark .welcome-screen-menu-item:hover{background-color:var(--color-surface-low)}.excalidraw.theme--dark .welcome-screen-menu-item:hover .welcome-screen-menu-item__icon,.excalidraw.theme--dark .welcome-screen-menu-item:hover .welcome-screen-menu-item__shortcut,.excalidraw.theme--dark .welcome-screen-menu-item:hover .welcome-screen-menu-item__text,.excalidraw.theme--dark .welcome-screen-menu-item:active .welcome-screen-menu-item__icon,.excalidraw.theme--dark .welcome-screen-menu-item:active .welcome-screen-menu-item__shortcut,.excalidraw.theme--dark .welcome-screen-menu-item:active .welcome-screen-menu-item__text{color:var(--color-gray-10)}@media (height<=599px){.excalidraw .welcome-screen-center{margin-top:4rem}}@media (height>=600px) and (height<=900px){.excalidraw .welcome-screen-center{margin-top:8rem}}@media (height<=500px),(width<=320px){.excalidraw .welcome-screen-center{display:none}}.excalidraw .collab-button{--button-bg:var(--color-primary);--button-color:var(--color-surface-lowest);--button-border:var(--color-primary);--button-width:var(--lg-button-size);--button-height:var(--lg-button-size);--button-hover-bg:var(--color-primary-darker);--button-hover-border:var(--color-primary-darker);--button-active-bg:var(--color-primary-darker);box-shadow:0 0 0 1px var(--color-surface-lowest);flex-shrink:0}.excalidraw .collab-button.active.active{background-color:#0fb884;border-color:#0fb884}.excalidraw .collab-button.active.active svg{color:#fff}.excalidraw .collab-button.active.active:hover,.excalidraw .collab-button.active.active:active{background-color:#0fb884;border-color:#0fb884}.excalidraw .CollabButton.is-collaborating{background-color:var(--button-special-active-bg-color)}.excalidraw .CollabButton.is-collaborating .ToolIcon__icon svg,.excalidraw .CollabButton.is-collaborating .ToolIcon__label{color:var(--icon-green-fill-color)}.excalidraw .CollabButton-collaborators{color:#2b8a3e;background-color:#b2f2bb;border-radius:50%;min-width:1em;min-height:1em;padding:3px;font-family:Cascadia;font-size:.6rem;line-height:1;position:absolute;bottom:-5px}:root[dir=ltr] .excalidraw .CollabButton-collaborators{right:-5px}:root[dir=rtl] .excalidraw .CollabButton-collaborators{left:-5px}.chat-layout{-webkit-backdrop-filter:blur(20px);background:#fff6;border:1px solid #ffffff80;border-radius:20px;height:calc(100vh - 120px);margin:20px;display:flex;overflow:hidden;box-shadow:0 15px 35px #0000000d,inset 0 0 0 1px #fff3}.chat-sidebar{background:#fff9;border-right:1px solid #fff6;flex-direction:column;width:320px;display:flex}.sidebar-header{background:#fff3;border-bottom:1px solid #0000000d;align-items:center;gap:12px;padding:24px;display:flex}.sidebar-icon{color:var(--primary)}.sidebar-title{color:#1e293b;margin:0;font-family:Inter,sans-serif;font-size:1.25rem;font-weight:700}.group-list{flex-direction:column;flex:1;gap:8px;padding:16px;display:flex;overflow-y:auto}.group-list::-webkit-scrollbar{width:6px}.group-list::-webkit-scrollbar-thumb{background:#0000001a;border-radius:10px}.group-item{cursor:pointer;background:#ffffff80;border:1px solid #0000;border-radius:16px;align-items:center;gap:16px;padding:16px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.group-item:hover{background:#fffc;transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.group-item.active{background:var(--primary);color:#fff;box-shadow:0 8px 20px #10593433}.group-avatar{width:44px;height:44px;color:var(--primary);background:#1059341a;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex}.group-item.active .group-avatar{color:#fff;background:#fff3}.group-info{flex-direction:column;gap:4px;display:flex}.sidebar-filters{border-bottom:1px solid #0000000d;flex-direction:column;gap:12px;padding:0 16px 16px;display:flex}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:#94a3b8;position:absolute;left:12px}.node-search-input{background:#fffc;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:10px 10px 10px 36px;font-size:.85rem;transition:all .2s}.node-search-input:focus{border-color:var(--primary-color,#1e293b);background:#fff;outline:none;box-shadow:0 0 0 2px #1e293b1a}.filter-dropdowns{gap:8px;display:flex}.node-filter-select{color:#475569;cursor:pointer;background:#fffc;border:1px solid #e2e8f0;border-radius:8px;flex:1;padding:8px;font-size:.8rem;transition:all .2s}.node-filter-select:hover{background:#fff}.node-filter-select:focus{border-color:var(--primary-color,#1e293b);outline:none}.group-name{color:#0f172a;font-size:1rem;font-weight:600}.group-item.active .group-name{color:#fff}.group-meta{color:#64748b;font-size:.8rem}.group-item.active .group-meta{color:#fffc}.chat-main{background:0 0;flex-direction:column;flex:1;display:flex;position:relative}.chat-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#fff6;border-bottom:1px solid #0000000d;align-items:center;gap:16px;padding:20px 24px;display:flex}.header-avatar{background:var(--primary);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.4rem;font-weight:700;display:flex;box-shadow:0 4px 10px #10593433}.header-info h3{color:#0f172a;margin:0 0 4px;font-size:1.25rem}.header-info span{color:#64748b;font-size:.85rem;font-weight:500}.chat-messages{scroll-behavior:smooth;background:#f8fafc4d;flex:1;padding:24px;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-thumb{background:#00000026;border-radius:10px}.empty-chat-state{color:#64748b;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.empty-icon{width:80px;height:80px;color:var(--primary);background:#fff9;border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:flex;box-shadow:0 10px 25px #1059341a}.empty-chat-state h3{color:#1e293b;margin:0 0 8px}.messages-container{flex-direction:column;gap:20px;display:flex}.message-wrapper{gap:12px;max-width:85%;display:flex}.message-wrapper.align-left{align-self:flex-start}.message-wrapper.align-right{flex-direction:row-reverse;align-self:flex-end}.message-avatar img{object-fit:cover;border:2px solid #fff;border-radius:50%;width:36px;height:36px;box-shadow:0 2px 5px #0000001a}.message-content-box{flex-direction:column;gap:4px;display:flex}.align-right .message-content-box{align-items:flex-end}.message-header{align-items:center;gap:8px;margin-left:4px;display:flex}.sender-name{color:#475569;font-size:.85rem;font-weight:600}.role-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:12px;align-items:center;gap:4px;padding:2px 6px;font-size:.65rem;font-weight:700;display:flex}.role-badge.admin{color:#ef4444;background:#ef44441a}.role-badge.teacher{color:#3b82f6;background:#3b82f61a}.role-badge.student{color:var(--primary);background:#1059341a}.message-bubble{border-radius:18px;padding:12px 18px;font-size:.95rem;line-height:1.5;position:relative;box-shadow:0 4px 15px #0000000d}.align-left .message-bubble{color:#1e293b;background:#fff;border:1px solid #00000008;border-top-left-radius:4px}.align-right .message-bubble{background:linear-gradient(135deg, var(--primary), #1a7444);color:#fff;border-top-right-radius:4px}.message-footer{color:#94a3b8;margin-top:4px;padding:0 4px;font-size:.7rem}.chat-input-wrapper{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff80;border-top:1px solid #0000000d;padding:20px 24px}.chat-input-area{background:#fff;border:1px solid #0000000d;border-radius:24px;align-items:center;gap:12px;padding:8px 12px;transition:all .3s;display:flex;box-shadow:0 8px 25px #0000000d}.chat-input-area:focus-within{border-color:#10593433;box-shadow:0 10px 30px #1059341a}.attach-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.attach-btn:hover{color:#475569;background:#f1f5f9}.chat-input-container{flex:1;align-items:center;display:flex}.chat-input-container input{color:#1e293b;background:0 0;border:none;outline:none;width:100%;padding:10px;font-size:1rem}.chat-input-container input::placeholder{color:#94a3b8}.send-btn{color:#94a3b8;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.send-btn.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px #1059344d}.send-btn.active:hover{background:#156d40;transform:scale(1.05)}.no-active-group{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.placeholder-icon{opacity:.5;margin-bottom:20px}.chat-loading-screen{height:calc(100vh - 120px);color:var(--primary);flex-direction:column;justify-content:center;align-items:center;display:flex}.spinner{margin-bottom:16px;animation:1s linear infinite spin}.animate-fade-in-up{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeInUp}.chat-date-separator{justify-content:center;margin:16px 0;display:flex}.chat-date-separator span{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#ffffffb3;border:1px solid #ffffff80;border-radius:20px;padding:6px 16px;font-size:.75rem;font-weight:600;box-shadow:0 2px 10px #0000000d}.attachment-carousel-container{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:20;background:#ffffffe6;border:1px solid #fff9;border-radius:16px;align-items:center;gap:12px;max-width:calc(100% - 48px);margin-bottom:16px;padding:12px;display:flex;position:absolute;bottom:100%;left:24px;overflow-x:auto;box-shadow:0 10px 30px #0000001a}.preview-card{flex-shrink:0;position:relative}.close-preview-btn{color:#64748b;cursor:pointer;z-index:10;background:#fff;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 5px #0000001a}.close-preview-btn:hover{color:#fff;background:#ef4444;border-color:#ef4444}.preview-image{object-fit:cover;border:1px solid #0000000d;border-radius:8px;width:80px;height:80px}.preview-file{background:#f1f5f9;border-radius:8px;align-items:center;gap:12px;padding:8px 16px;display:flex}.preview-file .file-icon{color:var(--primary)}.preview-file .file-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:.85rem;font-weight:500;overflow:hidden}.message-attachments-grid{flex-direction:column;gap:8px;margin-top:8px;display:flex}.message-attachments-grid.multi-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.attachment-image-link{display:block}.attachment-image{object-fit:cover;cursor:pointer;border-radius:12px;width:100%;max-width:300px;height:auto;transition:transform .2s;box-shadow:0 4px 10px #0000001a}.attachment-image:hover{transform:scale(1.02)}.attachment-file-link{color:inherit;background:#0000000d;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:500;text-decoration:none;transition:background .2s;display:inline-flex}.align-right .attachment-file-link{background:#fff3}.attachment-file-link:hover{background:#0000001a}.align-right .attachment-file-link:hover{background:#ffffff4d}.optimistic-message{opacity:.6;filter:grayscale(20%)}.optimistic-loading{color:#64748b;align-items:center;gap:6px;margin-top:8px;font-size:.75rem;font-style:italic;display:flex}.align-right .optimistic-loading{color:#fffc}.typing-indicator{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);color:#64748b;z-index:15;background:#fffffff2;border:1px solid #0000000d;border-radius:12px;align-items:center;gap:6px;margin-bottom:8px;padding:8px 16px;font-size:.8rem;display:flex;position:absolute;bottom:100%;left:24px;box-shadow:0 -4px 20px #00000014}.typing-dot{background-color:#94a3b8;border-radius:50%;width:4px;height:4px;animation:1.4s ease-in-out infinite both typingBounce}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.read-receipt-dot{vertical-align:middle;border:1px solid #ffffff80;border-radius:50%;width:8px;height:8px;margin-left:6px;display:inline-block}.quoted-message{border-left:4px solid var(--primary-color,#1e293b);opacity:.9;background:#0000000d;border-radius:4px 8px 8px 4px;margin-bottom:6px;padding:6px 10px;font-size:.85rem}.own-message .quoted-message{background:#ffffff26;border-left-color:#fffc}.quoted-sender{color:inherit;margin-bottom:2px;font-weight:700;display:block}.quoted-text{white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin:0;overflow:hidden}.reply-preview-container{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid #0000000d;border-left:4px solid var(--primary-color,#1e293b);z-index:15;background:#fffffff2;border-radius:12px;justify-content:space-between;align-items:center;width:calc(100% - 48px);margin-bottom:16px;padding:10px 16px;display:flex;position:absolute;bottom:100%;left:24px;box-shadow:0 -4px 20px #00000014}.reply-preview-content{flex-direction:column;max-width:90%;display:flex;overflow:hidden}.reply-preview-sender{color:var(--primary-color,#1e293b);margin-bottom:2px;font-size:.85rem;font-weight:700}.reply-preview-text{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.85rem;overflow:hidden}.close-reply-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.close-reply-btn:hover{color:#ef4444;background:#0000000d}.chat-input-wrapper{position:relative}.node-shared-drop-card{background:#1059340f;border:1px solid #10593433;border-radius:16px;flex-direction:column;gap:.4rem;min-width:260px;max-width:360px;margin:.25rem 0;padding:.85rem 1rem;display:flex}.node-shared-drop-header{color:#105934;align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;display:flex}.node-shared-drop-badge{letter-spacing:.5px}.node-shared-drop-author{color:var(--muted-foreground,#64748b);font-weight:500}.node-shared-drop-title{color:var(--foreground,#1e293b);margin:0;font-size:.95rem;font-weight:600;line-height:1.3}.node-shared-drop-body{color:var(--muted-foreground,#64748b);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.85rem;line-height:1.4;display:-webkit-box;overflow:hidden}.node-shared-drop-btn{color:#fff;cursor:pointer;background:#105934;border:none;border-radius:12px;align-self:flex-start;align-items:center;gap:.4rem;margin-top:.35rem;padding:.4rem .85rem;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.node-shared-drop-btn:hover{background:#0d472a;transform:translateY(-1px);box-shadow:0 4px 10px #10593433}.drop-page{flex-direction:column;height:calc(100vh - 64px);display:flex;overflow:hidden}.drop-container{flex:1;gap:2rem;width:100%;max-width:1400px;margin:0 auto;padding:1rem 2rem 2rem;display:flex;overflow:hidden}.drop-feed-column{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;will-change:scroll-position;flex-direction:column;flex:3;gap:1.5rem;height:100%;min-height:0;padding-right:.5rem;display:flex;overflow-y:auto}.drop-feed-column::-webkit-scrollbar{width:6px}.drop-feed-column::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:4px}.drop-comment-column{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:2;display:flex;overflow:hidden;box-shadow:0 4px 12px #00000005}.drop-header{justify-content:space-between;align-items:center;width:100%;max-width:1400px;margin:0 auto;padding:1.25rem 2rem .5rem;display:flex}.drop-header-left-group{align-items:center;gap:1rem;display:flex}.drop-compact-create-btn{color:#fff;cursor:pointer;opacity:0;pointer-events:none;background:#105934;border:none;border-radius:16px;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.85rem;font-weight:600;transition:opacity .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1);display:flex;transform:translate(-10px)scale(.9)}.drop-compact-create-btn.visible{opacity:1;pointer-events:auto;transform:translate(0)scale(1)}.drop-compact-create-btn:hover{background:#0d472a;box-shadow:0 4px 12px #10593440}.drop-header-title{color:var(--foreground);align-items:center;gap:.75rem;font-size:1.75rem;font-weight:700;display:flex}.drop-create-card.minimized{background:var(--background);border:1px solid var(--border);border-radius:calc(var(--radius) * 1.5);cursor:pointer;align-items:center;gap:1rem;padding:1rem 1.25rem;transition:background-color .2s,border-color .2s;display:flex;box-shadow:0 2px 4px #00000005}.drop-create-card.minimized:hover{background:var(--muted)}.drop-create-placeholder{background:var(--muted);border:1px solid var(--border);color:var(--muted-foreground);cursor:pointer;border-radius:20px;flex:1;padding:.75rem 1.25rem;font-size:.95rem}.drop-create-card.minimized:hover .drop-create-placeholder{background:var(--background);border-color:var(--primary)}.drop-create-action-chip{color:#fff;cursor:pointer;background:#105934;border:none;border-radius:16px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.drop-create-card.minimized:hover .drop-create-action-chip{opacity:.9;transform:translateY(-1px)}.drop-create-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:20px;padding:.5rem 1.25rem;font-weight:600;transition:background-color .2s}.drop-create-btn:hover:not(:disabled){background-color:#2563eb}.drop-create-btn:disabled{opacity:.7;cursor:not-allowed}.drop-sort-tabs{gap:.5rem;margin-top:.5rem;display:flex}.drop-sort-tab{color:var(--muted-foreground);cursor:pointer;background:var(--background);border:none;border:1px solid var(--border);border-radius:20px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.drop-sort-tab:hover{color:#105934;background:#1059340f;border-color:#10593433}.drop-sort-tab.active{color:#105934;background:#1059341f;border-color:#1059344d}.drop-feed{flex-direction:column;gap:1.5rem;display:flex}.drop-card{background:var(--background);border:1px solid var(--border);border-radius:calc(var(--radius) * 1.5);cursor:pointer;flex-direction:column;gap:.65rem;padding:1rem 1.25rem;transition:transform .2s,box-shadow .2s,border-color .2s;animation:.4s ease-out fadeIn;display:flex;box-shadow:0 2px 4px #00000005}.drop-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000000a}.drop-card.selected{border-color:#105934;box-shadow:0 0 0 2px #1059342e,0 4px 12px #0000000a}.drop-card-header{justify-content:space-between;align-items:flex-start;display:flex}.drop-meta{color:var(--muted-foreground);align-items:center;gap:.75rem;font-size:.875rem;display:flex}.drop-avatar{object-fit:cover;background-color:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:600;display:flex}.drop-author-info{flex-direction:column;display:flex}.drop-author-name{color:var(--foreground);font-size:1rem;font-weight:600}.drop-author-sub{align-items:center;gap:.5rem;font-size:.75rem;display:flex}.drop-role-badge{text-transform:uppercase;border-radius:12px;padding:.125rem .375rem;font-size:.65rem;font-weight:700}.drop-role-badge.teacher{color:#3b82f6;background-color:#3b82f626}.drop-role-badge.student{color:#22c55e;background-color:#22c55e26}.drop-role-badge.admin{color:#f59e0b;background-color:#f59e0b26}.drop-card-body{flex-direction:column;gap:.5rem;display:flex}.drop-card-title{color:var(--foreground);margin:0;font-size:1.125rem;font-weight:600}.drop-card-text{color:var(--foreground);opacity:.9;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.95rem;line-height:1.5;display:-webkit-box;overflow:hidden}.drop-card.selected .drop-card-text{-webkit-line-clamp:unset}.drop-card-footer{border-top:1px solid var(--border);align-items:center;gap:1.5rem;margin-top:.5rem;padding-top:1rem;display:flex}.drop-action-group{background:var(--muted);border-radius:20px;align-items:center;padding:.25rem .75rem;display:flex}.drop-vote-btn{cursor:pointer;color:var(--muted-foreground);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.drop-vote-btn:hover{color:var(--foreground);background-color:#0000000d}html.dark .drop-vote-btn:hover{background-color:#ffffff0d}.drop-vote-btn.upvoted{color:#22c55e}.drop-vote-btn.downvoted{color:#ef4444}.drop-vote-score{color:var(--foreground);text-align:center;min-width:20px;margin:0 .5rem;font-size:.875rem;font-weight:600}.drop-action-btn{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:20px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.drop-action-btn:hover{color:#105934;background-color:#10593414}.comment-panel-header{border-bottom:1px solid var(--border);background:var(--background);z-index:10;justify-content:space-between;align-items:center;padding:1.5rem;display:flex;position:sticky;top:0}.comment-panel-header h3{margin:0;font-size:1.125rem;font-weight:600}.comment-panel-close{cursor:pointer;color:var(--muted-foreground);background:0 0;border:none;border-radius:50%;padding:.5rem}.comment-panel-close:hover{background:var(--muted);color:var(--foreground)}.comment-panel-content{flex-direction:column;flex:1;gap:0;padding:.5rem 1rem;display:flex;overflow-y:auto}.comment-item{align-items:center;gap:.5rem;padding:0;display:flex}.comment-item .drop-avatar{flex-shrink:0;width:28px;height:28px;font-size:11px}.comment-dot{color:var(--muted-foreground);font-size:.75rem}.comment-thread{flex-direction:column;padding-top:.75rem;display:flex}.comment-content-area{padding-left:2.25rem}.comment-children{border-left:2px solid var(--border);margin-left:.875rem;padding-left:1.25rem;transition:border-color .2s}.comment-children:hover{border-left-color:var(--muted-foreground)}.comment-avatar{object-fit:cover;background-color:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:flex}.comment-body-wrapper{flex-direction:column;flex:1;display:flex}.comment-header{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.comment-author{color:var(--foreground);font-size:.875rem;font-weight:600}.comment-time{color:var(--muted-foreground);font-size:.75rem}.comment-text{color:var(--foreground);white-space:pre-wrap;font-size:.95rem;line-height:1.5}.comment-footer{align-items:center;gap:.25rem;margin-top:.25rem;display:flex}.comment-vote-group{align-items:center;gap:.25rem;display:flex}.comment-vote-btn{cursor:pointer;color:var(--muted-foreground);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;display:flex}.comment-vote-btn:hover{background:#0000000d}html.dark .comment-vote-btn:hover{background:#ffffff0d}.comment-vote-btn.upvoted{color:#22c55e}.comment-vote-btn.downvoted{color:#ef4444}.comment-vote-score{font-size:.75rem;font-weight:600}.comment-delete-btn{cursor:pointer;color:var(--muted-foreground);background:0 0;border:none;font-size:.75rem;font-weight:600}.comment-delete-btn:hover{color:#ef4444}.comment-action-btn{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:700;display:flex}.comment-action-btn:hover{background:var(--muted);color:var(--foreground)}.comment-action-btn.delete-btn:hover{color:#ef4444;background:#ef44441a}.comment-panel-input-area{border-top:1px solid var(--border);background:var(--background);padding:1rem 1.5rem}.comment-replying-banner{color:#105934;background:#1059341a;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.375rem .75rem;font-size:.8rem;font-weight:600;display:flex}.comment-replying-banner button{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:.125rem;display:flex}.comment-replying-banner button:hover{background:#10593433}.comment-input-wrapper{align-items:center;gap:.5rem;display:flex}.comment-textarea{background:var(--muted);border:1px solid var(--border);color:var(--foreground);resize:none;border-radius:20px;outline:none;flex:1;min-height:40px;max-height:120px;padding:.65rem 1rem;font-size:.925rem;transition:all .2s}.comment-textarea:focus{background:var(--background);border-color:#105934;box-shadow:0 0 0 2px #10593426}.comment-attach-btn{color:#105934;cursor:pointer;background-color:#10593414;border:1px solid #10593433;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.comment-attach-btn:hover:not(:disabled){color:#0d472a;background-color:#10593429;transform:translateY(-1px);box-shadow:0 4px 10px #10593426}.comment-attach-btn:disabled{opacity:.5;cursor:not-allowed}.comment-submit-btn{color:#fff;cursor:pointer;background-color:#105934;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.comment-submit-btn:hover:not(:disabled){background-color:#0d472a;transform:translateY(-1px);box-shadow:0 4px 12px #10593440}.comment-submit-btn:disabled{opacity:.4;cursor:not-allowed}.drop-attachments-wrapper{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.drop-image-gallery{border-radius:12px;gap:4px;width:100%;max-height:400px;display:grid;overflow:hidden}.drop-image-gallery.count-1{grid-template-columns:1fr}.drop-image-gallery.count-2{grid-template-columns:1fr 1fr}.drop-image-gallery.count-3{grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr}.drop-image-gallery.count-3 .drop-gallery-item:first-child{grid-row:span 2}.drop-image-gallery.count-4{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.drop-gallery-item{cursor:pointer;background:var(--muted);min-height:140px;position:relative;overflow:hidden}.drop-gallery-img{object-fit:cover;width:100%;height:100%;max-height:400px;transition:transform .25s;display:block}.drop-gallery-item:hover .drop-gallery-img{transform:scale(1.03)}.drop-gallery-overlay{color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex;position:absolute;inset:0}.drop-files-list{flex-wrap:wrap;gap:.5rem;display:flex}.drop-file-chip{background:var(--muted);border:1px solid var(--border);color:var(--primary);border-radius:20px;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:background .2s;display:inline-flex}.drop-file-chip:hover{background:var(--border)}.drop-file-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.drop-lightbox-overlay{z-index:99999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-user-select:none;user-select:none;background:#000000e0;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.drop-lightbox-close{color:#fff;cursor:pointer;z-index:100001;-webkit-app-region:no-drag;background:#0009;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex;position:absolute;top:55px;right:25px}.drop-lightbox-close:hover{background:#ef4444d9;border-color:#ef4444;transform:scale(1.05)}.drop-lightbox-nav{color:#fff;cursor:pointer;z-index:100001;-webkit-app-region:no-drag;background:#0009;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.drop-lightbox-nav.prev{left:25px}.drop-lightbox-nav.next{right:25px}.drop-lightbox-nav:hover{background:var(--primary);border-color:var(--primary);transform:translateY(-50%)scale(1.1)}.drop-lightbox-counter{color:#fff;z-index:100001;letter-spacing:.05em;background:#000000a6;border:1px solid #fff3;border-radius:20px;padding:.4rem 1rem;font-size:.85rem;font-weight:600;position:absolute;top:55px;left:50%;transform:translate(-50%)}.drop-lightbox-content{justify-content:center;align-items:center;max-width:90vw;max-height:90vh;display:flex}.drop-lightbox-img{object-fit:contain;border-radius:8px;max-width:100%;max-height:88vh;box-shadow:0 20px 50px #00000080}.modal-attachments-list,.comment-attachments-list{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;margin-bottom:.5rem;display:flex}.modal-attachment-chip,.comment-attachment-chip{align-items:center;display:inline-flex;position:relative}.modal-attachment-chip .attachment-thumb,.comment-attachment-chip .attachment-thumb{object-fit:cover;cursor:pointer;border:1px solid var(--border);border-radius:8px;width:56px;height:56px}.modal-attachment-chip .remove-attachment-btn,.comment-attachment-chip .remove-attachment-btn{color:#fff;cursor:pointer;background:#ef4444e6;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;top:-6px;right:-6px}.drop-card-actions-wrapper{position:relative}.drop-menu-trigger-btn{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.drop-menu-trigger-btn:hover{background:var(--muted);color:var(--foreground)}.drop-menu-dropdown{background:var(--background);border:1px solid var(--border);z-index:100;border-radius:12px;flex-direction:column;min-width:160px;margin-top:.35rem;padding:.35rem;display:flex;position:absolute;top:100%;right:0;box-shadow:0 10px 25px #00000026}.drop-menu-item{width:100%;color:var(--foreground);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:.6rem;padding:.6rem .85rem;font-size:.875rem;font-weight:500;transition:background .15s;display:flex}.drop-menu-item:hover{background:var(--muted)}.drop-menu-item.delete-option:hover{color:#ef4444;background:#ef44441a}.drop-header-dropdown-wrapper{display:inline-block;position:relative}.drop-header-title-btn{color:var(--foreground);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:.65rem;padding:.35rem .65rem;font-size:1.75rem;font-weight:800;transition:background .2s;display:flex}.drop-header-title-btn:hover{background:var(--muted)}.drop-header-chevron{color:var(--muted-foreground);transition:transform .25s}.drop-header-chevron.open{transform:rotate(180deg)}.drop-header-menu{background:var(--background);border:1px solid var(--border);z-index:1000;border-radius:14px;flex-direction:column;min-width:210px;margin-top:.5rem;padding:.4rem;display:flex;position:absolute;top:100%;left:0;box-shadow:0 15px 35px #0000002e}.drop-header-menu-item{width:100%;color:var(--foreground);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:.75rem;padding:.7rem 1rem;font-size:.95rem;font-weight:600;transition:all .15s;display:flex}.drop-header-menu-item:hover{background:var(--muted)}.drop-header-menu-item.active{color:#2563eb;background:#2563eb1a}.drop-action-btn.saved{color:#2563eb}.drop-action-btn.reposted{color:#10b981}.drop-action-btn.reposted:hover{background:#10b9811a}.drop-action-btn.unhide-btn{color:#10b981}.drop-action-btn.unhide-btn:hover{background:#10b9811a}.drop-action-btn.restore-btn{color:#10b981}.drop-action-btn.restore-btn:hover{background:#10b9811a}.drop-role-badge.deleted-badge{color:#ef4444;background:#ef444426;border:1px solid #ef44444d}.drop-admin-toggle-wrapper{background:var(--muted);border:1px solid var(--border);border-radius:12px;gap:.5rem;width:fit-content;margin-bottom:1rem;padding:.25rem;display:flex}.drop-admin-toggle-tab{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.45rem .85rem;font-size:.85rem;font-weight:600;transition:all .2s}.drop-admin-toggle-tab:hover{color:var(--foreground)}.drop-admin-toggle-tab.active{background:var(--background);color:#2563eb;box-shadow:0 2px 8px #00000014}.drop-empty-state{text-align:center;color:var(--muted-foreground);flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100%;padding:4rem 2rem;display:flex}.drop-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.drop-modal{background:var(--background);border-radius:calc(var(--radius) * 2);border:1px solid var(--border);flex-direction:column;width:90%;max-width:600px;animation:.3s cubic-bezier(.16,1,.3,1) modalPop;display:flex;overflow:hidden;box-shadow:0 20px 40px #0003}.drop-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.drop-modal-header h3{color:var(--foreground);margin:0;font-size:1.25rem;font-weight:700}.drop-modal-close{background:var(--muted);color:var(--muted-foreground);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.drop-modal-close:hover{background:var(--border);color:var(--foreground)}.drop-modal-body{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.drop-modal-user{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.drop-modal-username{color:var(--foreground);font-weight:600}.drop-modal-input{color:var(--foreground);background:0 0;border:none;outline:none;padding:0;font-size:1.125rem;font-weight:600}.drop-modal-input::placeholder{color:var(--muted-foreground);opacity:.7}.drop-modal-textarea{color:var(--foreground);resize:vertical;background:0 0;border:none;outline:none;min-height:150px;padding:0;font-size:1rem}.drop-modal-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}@keyframes modalPop{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (width<=1024px){.drop-container{flex-direction:column;height:auto;overflow:visible}.drop-feed-column{overflow-y:visible}.drop-comment-column{z-index:100;width:100%;max-width:400px;transition:transform .3s;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.drop-comment-column.open{transform:translate(0)}}#root{width:100%}
