@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box}:root{--primary-h:212;--primary-s:80%;--primary-l:42%;--primary:hsl(var(--primary-h), var(--primary-s), var(--primary-l));--primary-soft:hsl(var(--primary-h), var(--primary-s), 96%);--secondary:#1e293b;--text-main:#0f172a;--text-muted:#64748b;--bg-main:#f8fafc;--bg-card:#fff;--border-color:#e2e8f0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text-main);background-color:var(--bg-main);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-smoothing:grayscale;font-family:Plus Jakarta Sans,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500;transition:color .2s}a:hover{color:#535bf2}body{width:100%;min-width:320px;min-height:100vh;margin:0;display:block;overflow-x:hidden}h1{font-size:3.2em;line-height:1.1}button{color:inherit;cursor:pointer;background-color:#0000;border:none;border-radius:8px;padding:0;font-family:inherit;font-size:1em;font-weight:500;transition:background-color .18s,color .18s}button:focus-visible{outline-offset:2px;outline:2px solid #646cff99}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0000004d}@media (width>=710px) and (width<=1210px){aside.sidebar-aside{height:auto;bottom:0}}input,textarea,select{color:inherit;background-color:#0000;font-size:1rem}.academic-container .custom-input,.settings-container .custom-input,.modal-content .custom-input{background-color:#fff}input::placeholder,textarea::placeholder{color:#94a3b8}.form-grid-premium,.form-grid-responsive{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:1.25rem;display:grid}.modal-span-full{grid-column:1/-1}.modal-span-2{grid-column:span 2}.discipline-config-grid{grid-template-columns:repeat(auto-fill,minmax(min(450px,100%),1fr));gap:1.25rem;display:grid}@media (width<=768px){.modal-span-2{grid-column:auto}}@media (width<=500px){.form-grid-premium,.form-grid-responsive{grid-template-columns:1fr}.modal-span-full{grid-column:auto}.discipline-config-grid{grid-template-columns:1fr}}.sidebar-aside{background:var(--primary-color,#1565c0);z-index:1100;flex-direction:column;height:100vh;transition:width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;overflow:hidden auto;box-shadow:4px 0 24px #0000002e}.sidebar-aside::-webkit-scrollbar{width:4px}.sidebar-aside::-webkit-scrollbar-track{background:0 0}.sidebar-aside::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.sidebar-aside::-webkit-scrollbar-thumb:hover{background:#ffffff59}.sidebar-aside.is-expanded{width:260px;padding:1rem;left:0}.sidebar-aside.is-collapsed{width:72px;padding:1rem .5rem;left:0}.sidebar-header{color:#fff;border-bottom:1px solid #ffffff1f;align-items:center;margin-bottom:1rem;padding:.75rem 0 1.25rem;display:flex;position:relative}.sidebar-aside.is-collapsed .sidebar-header{flex-direction:column;justify-content:center;padding:.75rem 0}.sidebar-aside.is-expanded .sidebar-header{flex-direction:row;justify-content:flex-start}.sidebar-brand{align-items:center;gap:.875rem;width:100%;min-width:0;display:flex}.sidebar-brand-avatar{background:#ffffff26;border:2px solid #ffffff4d;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0003,inset 0 1px #fff3}.sidebar-brand-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.sidebar-brand-avatar-initials{color:#fff;letter-spacing:-.5px;text-shadow:0 1px 3px #0003;font-size:1rem;font-weight:800;line-height:1}.sidebar-brand-info{flex-direction:column;gap:.1rem;min-width:0;display:flex;overflow:hidden}.sidebar-brand-name{color:#fff;letter-spacing:-.3px;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;line-height:1.25;display:block;overflow:hidden}.sidebar-brand-subtitle{color:#ffffff80;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:500;display:block}.sidebar-aside.is-collapsed .sidebar-brand{justify-content:center}.sidebar-aside.is-collapsed .sidebar-brand-avatar{border-radius:10px;width:40px;height:40px}.sidebar-aside.is-collapsed .sidebar-brand-avatar-initials{font-size:.85rem}.sidebar-section-header{color:#ffffff73;text-transform:uppercase;letter-spacing:.09em;margin-top:1.25rem;margin-bottom:.35rem;padding-left:.75rem;font-size:.68rem;font-weight:700}.sidebar-section-header.is-collapsed{border-bottom:1px solid #ffffff12;height:0;margin:.6rem 0 .4rem;padding:0;overflow:hidden}.sidebar-aside.is-expanded .sidebar-section-header{border-top:1px solid #ffffff14;margin-top:.5rem;padding-top:1.1rem}.sidebar-aside.is-expanded .sidebar-section-header:first-of-type{border-top:none;margin-top:.5rem;padding-top:0}.sidebar-nav-link{color:#ffffffb8;box-sizing:border-box;background-color:#0000;border:none;border-radius:10px;outline:none;align-items:center;gap:.75rem;width:100%;margin-bottom:.2rem;padding:.65rem .85rem;font-size:.9rem;font-weight:400;line-height:1.4;text-decoration:none;transition:background-color .18s,color .18s,box-shadow .18s;display:flex}.sidebar-nav-link:hover{color:#fffffff2;background-color:#ffffff21}.sidebar-nav-link.active{color:#fff;background-color:#fff3;font-weight:600;box-shadow:0 2px 8px #0000001f,inset 0 1px #ffffff26}.sidebar-aside.is-collapsed .sidebar-nav-link{border-radius:10px;justify-content:center;gap:0;padding:.65rem}.sidebar-sub-link{color:#ffffff9e;box-sizing:border-box;background-color:#0000;border:none;border-radius:8px;outline:none;align-items:center;gap:.75rem;width:100%;margin-bottom:.15rem;padding:.5rem .75rem .5rem 2.25rem;font-size:.845rem;font-weight:400;line-height:1.4;text-decoration:none;transition:background-color .18s,color .18s;display:flex}.sidebar-aside.is-collapsed .sidebar-sub-link{border-radius:8px;justify-content:center;gap:0;padding:.55rem}.sidebar-sub-link:hover{color:#ffffffe6;background-color:#ffffff1a}.sidebar-sub-link.active{color:#fff;background-color:#ffffff26;font-weight:600}.sidebar-accordion-button{color:#ffffffb8;cursor:pointer;text-align:left;box-sizing:border-box;background-color:#0000;border:none;border-radius:10px;outline:none;justify-content:space-between;align-items:center;gap:.75rem;width:100%;margin-bottom:.2rem;padding:.65rem .85rem;font-family:inherit;font-size:.9rem;font-weight:400;line-height:1.4;transition:background-color .18s,color .18s;display:flex}.sidebar-accordion-button:hover{color:#fffffff2;background-color:#ffffff21}.sidebar-accordion-button-label{align-items:center;gap:.75rem;min-width:0;display:flex}.sidebar-accordion-button-chevron{flex-shrink:0;transition:transform .18s}.sidebar-accordion-button.is-open .sidebar-accordion-button-chevron{transform:rotate(180deg)}.sidebar-accordion-panel{margin-top:.2rem;margin-bottom:.65rem;padding-left:.15rem}.sidebar-empty-state{color:#ffffffb8;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;margin-top:.35rem;margin-bottom:.65rem;margin-left:.4rem;padding:.75rem .85rem;font-size:.8rem;line-height:1.4}.sidebar-payment-btn{color:#ffffffb8;cursor:pointer;text-align:left;box-sizing:border-box;background-color:#0000;border:none;border-radius:10px;outline:none;justify-content:space-between;align-items:center;gap:.75rem;width:100%;margin-bottom:.2rem;padding:.65rem .85rem;font-family:inherit;font-size:.9rem;font-weight:400;line-height:1.4;transition:background-color .18s,color .18s;display:flex}.sidebar-aside.is-collapsed .sidebar-payment-btn{justify-content:center;gap:0;padding:.65rem}.sidebar-payment-btn:hover{color:#fffffff2;background-color:#ffffff21}.sidebar-user-card{background:#0000001f;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:.75rem;margin:0 0 1rem;padding:.7rem;transition:background-color .18s;display:flex}.sidebar-user-card:hover{background:#0000002e}.sidebar-user-photo-container{background:#ffffff26;border:2px solid #ffffff59;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.sidebar-aside.is-collapsed .sidebar-user-card{background:0 0;border-color:#0000;justify-content:center;margin-bottom:.75rem;padding:0}.sidebar-aside.is-collapsed .sidebar-user-card:hover{background:0 0}.sidebar-aside.is-collapsed .sidebar-user-photo-container{border:2px solid #fff6;width:38px;height:38px}.sidebar-user-info{overflow:hidden}.sidebar-user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:700;overflow:hidden}.sidebar-user-role{color:#ffffff8c;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.72rem;overflow:hidden}@media (width<=768px){.sidebar-aside.is-mobile-collapsed{left:-280px}}@keyframes spin{to{transform:rotate(360deg)}}.button{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.625rem 1.25rem;font-family:inherit;font-size:.925rem;font-weight:600;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),filter .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.button:disabled,.button.is-loading{cursor:not-allowed;box-shadow:none;filter:none;color:#94a3b8;background-color:#f1f5f9;border-color:#e2e8f0;transform:none}.button:active:not(:disabled){transition-duration:50ms;transform:translateY(0)scale(.98)}.button-primary{background-color:var(--secondary-color,#0f172a);color:#fff;box-shadow:0 1px 2px #0000000d,0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.button-primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.button-secondary{color:#334155;background-color:#fff;border-color:#e2e8f0;box-shadow:0 1px 2px #0000000d}.button-secondary:hover:not(:disabled){background-color:#f8fafc;transform:translateY(-2px)}.button-danger{color:#fff;background-color:#ef4444;box-shadow:0 1px 2px #8b00001a}.button-danger:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-2px)}.button-ghost{color:#64748b;width:auto;box-shadow:none;background-color:#0000;padding:.5rem}.button-ghost:hover:not(:disabled){color:#0f172a;background-color:#f1f5f9}.animate-spin{width:1rem;height:1rem;margin-right:.5rem;animation:1s linear infinite spin}.main-header{color:#333;z-index:1000;background-color:#fff;justify-content:space-between;align-items:center;height:64px;transition:all .3s;display:flex;box-shadow:0 2px 4px #0000000d}.header-left{flex-shrink:0;align-items:center;gap:1rem;display:flex}.school-badge{color:#1976d2;white-space:nowrap;background-color:#e3f2fd;border-radius:16px;padding:.25rem .75rem;font-size:.875rem;font-weight:500}.header-right{flex-shrink:0;align-items:center;gap:1.5rem;display:flex}.notifications-wrapper{z-index:1250;align-items:center;gap:.75rem;display:flex;position:relative}.notifications-trigger{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s;display:inline-flex;position:relative}.notifications-trigger:hover{color:#2563eb;background:#3b82f614}.notifications-badge{color:#fff;background:#ef4444;border:1.5px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.65rem;font-weight:800;display:inline-flex;position:absolute;top:-3px;right:-3px}.notifications-popover{z-index:1300;background:#fff;border:1px solid #e2e8f0;border-radius:18px;flex-direction:column;width:380px;max-width:calc(100vw - 2rem);display:flex;position:absolute;top:calc(100% + .75rem);right:0;overflow:hidden;box-shadow:0 24px 50px #0f172a24}.notifications-popover-header{border-bottom:1px solid #f1f5f9;padding:1rem 1.1rem}.notifications-popover-header strong{color:#0f172a;font-size:.95rem;display:block}.notifications-popover-header span{color:#64748b;font-size:.78rem}.notifications-popover-list{flex-direction:column;gap:.6rem;max-height:360px;padding:.75rem;display:flex;overflow-y:auto}.notifications-item{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:100%;padding:.85rem .9rem;transition:all .2s}.notifications-item.unread{background:#fffbeb;border-color:#fde68a}.notifications-item:hover{border-color:#bfdbfe;transform:translateY(-1px);box-shadow:0 8px 18px #0f172a14}.notifications-item-top{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.35rem;display:flex}.notifications-item-title{align-items:center;gap:.4rem;min-width:0;display:flex;overflow:hidden}.notifications-item-title strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.notifications-dot{background:#f59e0b;border-radius:999px;flex-shrink:0;width:8px;height:8px}.notifications-item p{color:#475569;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8rem;line-height:1.45;overflow:hidden}.notifications-item-meta{color:#94a3b8;flex-wrap:wrap;gap:.5rem .75rem;margin-top:.55rem;font-size:.7rem;display:flex}.notifications-item-meta span{align-items:center;gap:.2rem;display:inline-flex}.notifications-empty{text-align:center;color:#94a3b8;flex-direction:column;align-items:center;gap:.4rem;padding:1rem;font-size:.85rem;display:flex}.notifications-popover-footer{background:#fbfdff;border-top:1px solid #f1f5f9;padding:.75rem}.notifications-view-all{color:#1d4ed8;background:#eff6ff;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-height:42px;padding:.7rem .85rem;font-size:.86rem;font-weight:800;text-decoration:none;transition:all .2s;display:flex}.notifications-view-all:hover{color:#1e40af;background:#dbeafe;transform:translateY(-1px)}.user-profile-container{text-align:right;white-space:nowrap;align-items:center;gap:8px;line-height:1.2;display:flex}.user-info-text{flex-direction:column;display:flex}.student-selector-wrapper{align-items:center;display:flex;position:relative}.student-selector-container{background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:.4rem;padding:.4rem .6rem;display:flex;position:relative}.student-selector-select{color:#1e293b;cursor:pointer;appearance:none;z-index:1;background-color:#0000;border:none;outline:none;padding-right:1.2rem;font-size:.875rem;font-weight:600}@media (width<=768px){.header-right{gap:.75rem}.notifications-popover{width:320px}}@media (width<=500px){.main-header{padding:0 .75rem}.school-badge,.header-responsible .user-info-text,.user-info-text span{display:none}.user-info-text>div:first-child{white-space:nowrap;text-overflow:ellipsis;max-width:130px;overflow:hidden}.header-right{gap:.5rem}.notifications-trigger{width:32px;height:32px}.notifications-popover{width:calc(100vw - 2rem);position:fixed;top:60px;left:50%;right:auto;transform:translate(-50%)}.student-selector-select{text-overflow:ellipsis;max-width:100px}.student-selector-container{padding:.4rem .5rem}.logout-text{display:none}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-overlay.contained{z-index:50;border-radius:inherit;position:absolute}.modal-overlay.offset-sidebar{left:var(--sidebar-width,0);z-index:1050;transition:left .3s cubic-bezier(.4,0,.2,1)}.modal-content{background-color:#fff;border-radius:12px;flex-direction:column;width:100%;max-height:90vh;margin:2rem;padding:1.5rem;animation:.3s ease-out slideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.modal-title{color:#333;margin:0;font-size:1.25rem}.modal-close-btn{cursor:pointer;color:#757575;background:0 0;border:none;padding:.25rem;font-size:1.5rem;line-height:1}.modal-body{flex:1;padding-right:8px;overflow-y:auto}.modal-footer{border-top:1px solid #f3f4fb;margin-top:auto;padding-top:1.25rem}@media (width<=500px){.modal-content{width:95%;max-width:95vw;margin:1rem;padding:1.25rem 1rem}.modal-title{font-size:1.1rem}}.modal-title{font-size:1.1rem}.input-container{width:100%;margin-bottom:1.25rem}.input-label{color:#444;align-items:center;gap:.4rem;min-height:1.25rem;margin-bottom:.4rem;font-size:.875rem;font-weight:600;display:flex}.input-wrapper{width:100%;position:relative}.input-icon{color:#94a3b8;pointer-events:none;z-index:1;align-items:center;display:flex;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.custom-input{color:#333;box-sizing:border-box;background-color:#0000;border:1.5px solid #e0e0e0;border-radius:10px;outline:none;width:100%;padding:.75rem 1rem;font-size:.95rem;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out,background-color .2s ease-in-out;transform:translateZ(0)}.custom-input.has-icon{padding-left:2.8rem}.custom-input.has-error{border-color:#f44336}.custom-input:focus{background-color:#fff;border-color:#42a5f5;box-shadow:0 0 0 3px #42a5f526}.custom-input:hover:not(:focus){border-color:#ccc}.custom-input::placeholder{color:#94a3b8}.input-error-message{color:#f44336;margin-top:.4rem;font-size:.8rem;display:block}@keyframes fadeInScale{0%{opacity:0;transform:scale(.98)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.login-shell{box-sizing:border-box;background-color:#0000;justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;font-family:Inter,system-ui,sans-serif;display:flex;position:relative;overflow:hidden auto}.login-bg-overlay{z-index:0;background-position:50%;background-size:cover;position:fixed;inset:0}.login-card{z-index:1;background-color:#fff;border-radius:24px;width:100%;max-width:1000px;max-height:min(700px,95vh);animation:.6s cubic-bezier(.16,1,.3,1) fadeInScale;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #0000004d}.login-visual{color:#fff;background-position:50%;background-size:cover;flex-direction:column;flex:1;justify-content:center;padding:3rem;display:flex;position:relative}.login-form{background-color:#fff;flex-direction:column;flex:1;justify-content:center;padding:3rem;display:flex}.login-form-inner{width:100%;max-width:340px;margin:0 auto}.login-footer{text-align:center;color:#94a3b8;margin-top:2.5rem;font-size:.8125rem}@media (width<=425px){.login-shell{justify-content:center;align-items:center;padding:.875rem}.login-card{border-radius:34px;flex-direction:column;max-width:480px;max-height:none;overflow:hidden}.login-visual{display:none}.login-form{padding:2rem 1.5rem 1.75rem}.login-form-inner{max-width:none}}.auth-card{transition:box-shadow .4s,transform .4s}.auth-card:hover{transform:translateY(-2px);box-shadow:0 0 45px #1565c080}.forgot-shell{box-sizing:border-box;background-color:#0000;justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;font-family:Inter,system-ui,sans-serif;display:flex;position:relative;overflow:hidden auto}.forgot-bg-overlay{z-index:0;background-position:50%;background-size:cover;position:fixed;inset:0}.forgot-card{z-index:1;background-color:#fff;border-radius:24px;width:100%;max-width:1000px;max-height:min(700px,95vh);animation:.6s cubic-bezier(.16,1,.3,1) fadeInScale;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #0000004d}.forgot-visual{color:#fff;background-position:50%;background-size:cover;flex-direction:column;flex:1;justify-content:center;padding:3rem;display:flex;position:relative}.forgot-form{background-color:#fff;flex-direction:column;flex:1;justify-content:center;padding:2rem;display:flex;position:relative;overflow-y:auto}.forgot-form-inner{width:100%;max-width:340px;margin:0 auto}.forgot-header{margin-bottom:2rem}.forgot-header h1{color:var(--secondary-color,#1e293b);letter-spacing:-.5px;margin-bottom:.25rem;font-size:1.75rem;font-weight:800}.forgot-header p{color:#64748b;margin:0;font-size:.9375rem}.forgot-alert{border-radius:10px;align-items:center;gap:.625rem;margin-bottom:1.5rem;padding:.875rem;font-size:.8125rem;display:flex}.forgot-alert.error{color:#991b1b;background-color:#fef2f2;border:1px solid #fee2e2;animation:.4s ease-in-out shake}.forgot-alert.success{color:#166534;background-color:#f0fdf4;border:1px solid #dcfce7}.forgot-footer{text-align:center;margin-top:2rem}@media (width<=425px){.forgot-shell{justify-content:center;align-items:center;padding:.875rem}.forgot-card{border-radius:34px;flex-direction:column;max-width:480px;max-height:none;overflow:hidden}.forgot-visual{display:none}.forgot-form{padding:1.75rem 1.25rem 1.5rem}.forgot-form-inner{max-width:none}.forgot-header{margin-bottom:1.1rem}.forgot-header h1{margin-bottom:.15rem;font-size:1.45rem}.forgot-header p{font-size:.875rem;line-height:1.4}.forgot-form .input-container{margin-bottom:.85rem}.forgot-form .input-container label{margin-bottom:.25rem;font-size:.82rem}.forgot-form .custom-input{padding:.68rem .9rem;font-size:.92rem}.forgot-form .forgot-alert{margin-bottom:1rem;padding:.75rem .85rem}.forgot-footer{margin-top:1.25rem}}@media (width<=360px){.forgot-shell{padding:.75rem}.forgot-card{border-radius:30px}.forgot-form{padding:1.35rem .75rem 1.1rem}}.dashboard-container{max-width:1440px;margin:0 auto;animation:.5s ease-out fadeIn}.dashboard-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;padding-bottom:2rem;display:flex}.dashboard-welcome h1{color:#0f172a;letter-spacing:-.03em;margin:0;font-size:2.5rem;font-weight:800}.dashboard-welcome p{color:#64748b;margin:.5rem 0 0;font-size:1.1rem;font-weight:500}.dashboard-date{text-align:right}.dashboard-main-grid{grid-template-columns:1fr 340px;gap:2.5rem;display:grid}.dashboard-left-col{flex-direction:column;gap:3rem;display:flex}.dashboard-right-col{background-color:#fff;border:1px solid #e2e8f0;border-radius:24px;height:fit-content;padding:2rem;position:sticky;top:2rem}.dashboard-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.dashboard-actions-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.metric-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:20px;flex-direction:column;gap:1rem;padding:1.5rem;transition:all .3s;display:flex;box-shadow:0 2px 4px #00000005}.action-card{cursor:pointer;text-align:left;background-color:#fff;border:1px solid #e2e8f0;border-radius:24px;flex-direction:column;gap:1rem;width:100%;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}@media (width<=500px){.dashboard-container{padding:1rem}.dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem}.dashboard-header h1{font-size:1.75rem}.dashboard-date{text-align:left}.dashboard-main-grid{grid-template-columns:1fr;gap:2rem}.dashboard-left-col{order:2;gap:2rem}.dashboard-right-col{order:1;padding:1.25rem;position:static}.dashboard-kpi-grid,.dashboard-actions-grid{grid-template-columns:1fr;gap:1rem}.dashboard-welcome p{font-size:1rem}}.table-container{background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;width:100%;overflow-x:auto;box-shadow:0 4px 6px -1px #0000000d}.custom-table{border-collapse:collapse;text-align:left;width:100%}.custom-table th{color:#64748b;text-transform:uppercase;letter-spacing:.05em;background-color:#f8fafc;border-bottom:2px solid #e2e8f0;padding:1rem;font-size:.75rem;font-weight:700}.custom-table td{color:#1e293b;border-bottom:1px solid #f1f5f9;padding:1rem;font-size:.875rem}.custom-table tr:hover td{background-color:#f8fafc}.mobile-table-container{scroll-behavior:smooth;flex-direction:column;gap:1rem;max-height:calc(100vh - 140px);padding-bottom:3rem;padding-right:.5rem;display:flex;overflow-y:auto}.mobile-card{background-color:#fff;border:1px solid #f1f5f9;border-radius:16px;flex-direction:column;gap:1rem;padding:1.25rem;display:flex;box-shadow:0 4px 6px -1px #0000000d}.mobile-card-header{border-bottom:1px solid #f8fafc;padding-bottom:.75rem}.mobile-card-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.mobile-field-label{color:#94a3b8;text-transform:uppercase;margin-bottom:.25rem;font-size:.65rem;font-weight:700}.mobile-card-value{color:#334155;font-size:.875rem;font-weight:500}.mobile-card-actions{border-top:1px solid #f8fafc;justify-content:flex-end;gap:.5rem;padding-top:.75rem;display:flex}.mobile-table-container::-webkit-scrollbar{width:6px}.mobile-table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.mobile-table-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.mobile-table-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.table-empty-state{text-align:center;color:#94a3b8;background-color:#fff;border:1px solid #f1f5f9;border-radius:16px;padding:3rem}.table-loading-overlay{background-color:#ffffffb3;border-radius:12px;justify-content:center;align-items:center;padding:4rem;display:flex}@media (width<=500px){.mobile-card-grid{grid-template-columns:1fr;gap:.75rem}.mobile-card-value{font-size:.8rem}}.pagination-container{background-color:#fff;border-top:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.pagination-info{color:#64748b;font-size:.875rem}.pagination-info-bold{color:#1e293b;font-weight:600}.pagination-controls{align-items:center;gap:.5rem;display:flex}.pagination-nav-group{gap:.5rem;display:flex}.pagination-nav-btn{color:#64748b;cursor:pointer;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;padding:.5rem;transition:all .2s;display:flex}.pagination-nav-btn:hover:not(:disabled){color:#1e293b;background-color:#f8fafc;border-color:#cbd5e1}.pagination-nav-btn:disabled{color:#cbd5e1;cursor:not-allowed}.pagination-pages{align-items:center;gap:.5rem;display:flex}.page-number-btn{color:#64748b;cursor:pointer;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.page-number-btn:hover:not(.active){background-color:#f8fafc;border-color:#cbd5e1}.page-number-btn.active{background-color:var(--primary-color,#1565c0);border-color:var(--primary-color,#1565c0);color:#fff;cursor:default}.pagination-limit{color:#64748b;align-items:center;gap:.5rem;font-size:.875rem;display:flex;position:relative}.limit-select-btn{color:#1e293b;cursor:pointer;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:.25rem;padding:.5rem .75rem;font-weight:600;transition:all .2s;display:flex}.limit-select-btn:hover{background-color:#f8fafc;border-color:#cbd5e1}.limit-menu{z-index:10;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:80px;margin-bottom:.5rem;position:absolute;bottom:100%;right:0;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.limit-menu-option{text-align:center;color:#64748b;cursor:pointer;background:0 0;border:none;width:100%;padding:.625rem 1rem;font-size:.875rem;transition:all .2s}.limit-menu-option:hover{color:var(--primary-color,#1565c0);background-color:#f8fafc}.limit-menu-option.active{color:var(--primary-color,#1565c0);background-color:#eff6ff;font-weight:600}@media (width<=500px){.pagination-container{text-align:center;flex-direction:column;align-items:center;padding:1.5rem 1rem}.pagination-controls{flex-direction:column;gap:1.25rem;width:100%}.pagination-nav-group{justify-content:center;width:100%}.pagination-pages{justify-content:center;gap:.5rem;width:100%}.pagination-limit{justify-content:center;width:100%;margin-top:.5rem}}.pagination-container.pagination-transparent{background-color:#0000;border-top:none;padding:1.25rem 0 0}.pagination-container.pagination-transparent .pagination-nav-btn,.pagination-container.pagination-transparent .page-number-btn,.pagination-container.pagination-transparent .limit-select-btn{background-color:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 2px #00000005}.pagination-container.pagination-transparent .page-number-btn.active{background-color:var(--primary-color,#1565c0);border-color:var(--primary-color,#1565c0);box-shadow:none;color:#fff}.pagination-container-elegant{justify-content:center;align-items:center;gap:1.5rem;margin-top:1rem;padding:.5rem 0;display:flex}.pagination-btn-elegant{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 1px 2px #0000000d}.pagination-btn-elegant:hover:not(:disabled){color:#6366f1;background:#f8fafc;border-color:#6366f1;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.pagination-btn-elegant:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.pagination-info-elegant{color:#64748b;font-size:.875rem}.pagination-info-elegant strong{color:#1e293b}@media (width<=500px){.pagination-container-elegant{flex-direction:column;gap:.75rem}}.classlist-container{padding:0}.classlist-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.classlist-filters-container{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.classlist-search-row{flex-wrap:wrap;align-items:flex-start;gap:1rem;display:flex}.classlist-advanced-filters{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1.25rem;display:grid}@media (width<=500px){.details-discipline-grid,.schedule-pills-grid,.discipline-config-grid{grid-template-columns:1fr;padding-left:0;padding-right:0}.modal-body-container{box-sizing:border-box;width:100%;padding-left:0;padding-right:0;overflow-x:hidden}.details-discipline-grid>div{box-sizing:border-box;width:100%;min-width:0}.schedule-row-item{border-bottom:1px solid #e5e7eb;flex-direction:column;gap:.75rem;padding-bottom:.75rem;display:flex;position:relative}.time-select-group{grid-template-columns:1fr 1fr;gap:.5rem}.time-select-group span{display:none}}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.change-password-container{box-sizing:border-box;background-color:#0000;justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;font-family:Inter,system-ui,sans-serif;display:flex;position:relative;overflow:hidden}.change-password-bg{z-index:0;background-position:50%;background-size:cover;position:fixed;inset:0}.change-password-card{z-index:1;background-color:#fff;border-radius:24px;width:100%;max-width:1050px;height:auto;max-height:96vh;animation:.6s cubic-bezier(.16,1,.3,1) fadeInScale;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.change-password-info{color:#fff;background-position:50%;background-size:cover;flex-direction:column;flex:1;justify-content:center;padding:3rem;display:flex;position:relative}.change-password-form-panel{scroll-behavior:smooth;background-color:#fff;flex-direction:column;flex:1;justify-content:flex-start;padding:2.5rem 3.5rem;display:flex;position:relative;overflow-y:auto}.change-password-form-inner{flex-direction:column;gap:1rem;width:100%;max-width:380px;margin:auto;padding:1rem 0;display:flex}.pwd-checklist{animation:.25s slideDown}@media (width>=768px) and (width<=1024px){.change-password-info{padding:1.5rem}.change-password-form-panel{padding:2rem}.change-password-form-panel h1{font-size:1.5rem}.change-password-info h2{font-size:1.75rem}.change-password-info p{margin-bottom:1.5rem}}@media (width<=768px){.change-password-info{display:none}.change-password-form-panel{flex:unset;width:100%;padding:2rem 1.5rem}}@media (width<=425px){.change-password-container{padding:.75rem}.change-password-card{border-radius:20px;max-width:100%;max-height:100dvh;box-shadow:0 10px 25px #0000001a}.change-password-form-panel{padding:1.75rem 1.25rem}.change-password-form-panel h1{font-size:1.5rem}.change-password-form-panel p{font-size:.875rem}.change-password-form-panel input{font-size:1rem}.change-password-form-panel button{height:3.25rem}}.school-balance-top-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}@media (width<=500px){.school-balance-top-grid{grid-template-columns:1fr;justify-items:center;gap:1rem;margin-bottom:1.5rem}}.school-balance-top-card{color:#fff;border-radius:24px;flex-direction:column;justify-content:space-between;gap:1.25rem;min-height:200px;padding:1.75rem;transition:transform .3s,box-shadow .3s;display:flex}.school-balance-top-card.pix{background:linear-gradient(135deg,#1565c0 0%,#0d47a1 100%);box-shadow:0 10px 30px #1565c033}.school-balance-top-card.boletos{background:linear-gradient(135deg,#059669 0%,#065f46 100%);box-shadow:0 10px 30px #05966933}.school-balance-top-card-label{opacity:.9;align-items:center;gap:.6rem;margin-bottom:.75rem;font-size:.95rem;font-weight:500;display:flex}.school-balance-top-card-amount{letter-spacing:-1.5px;margin-bottom:.25rem;font-size:2.75rem;font-weight:800}.school-balance-top-card-subtitle{opacity:.8;font-size:.85rem}.school-balance-top-card-button{cursor:pointer;border:none;border-radius:12px;align-items:center;gap:.6rem;width:fit-content;padding:.75rem 1.5rem;font-size:.95rem;font-weight:800;transition:all .2s;display:flex}.school-balance-top-card-button.pix{color:#1565c0;background-color:#fff;box-shadow:0 4px 12px #0000001a}.school-balance-top-card-button.boletos{color:#059669;background-color:#fff;box-shadow:0 4px 12px #0000001a}.school-balance-top-card-button:disabled{color:#fff6;cursor:not-allowed;box-shadow:none;background:#ffffff26}.school-balance-top-card-button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 15px #00000026}@media (width<=500px){.school-balance-top-card{width:100%;max-width:380px;min-height:unset;text-align:center;align-items:center;gap:1.5rem;padding:1.5rem}.school-balance-top-card-label{justify-content:center}.school-balance-top-card-amount{font-size:2.25rem}.school-balance-top-card-button{justify-content:center;width:100%}}.school-balance-summary-grid{gap:.85rem;margin-bottom:1.25rem}.school-balance-summary-card{border-radius:16px;padding:1rem}.school-balance-summary-card-number{font-size:1.25rem}.animate-spin-custom{animation:1s linear infinite spin}.modal-overlay-custom{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-overlay-blur{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background-color:#0f172abf;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1rem;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.modal-content-custom{background-color:#fff;border-radius:12px;width:100%;max-width:500px;padding:.5rem;box-shadow:0 20px 25px -5px #0000001a}.modal-content-large{background-color:#fff;border:1px solid #f1f5f9;border-radius:24px;width:100%;max-width:500px;padding:2rem;position:relative;box-shadow:0 25px 50px -12px #00000040}.academic-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:16px;min-height:500px;padding:2rem;box-shadow:0 1px 3px #0000000d}.discipline-selector-container{background-color:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:2rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000000d}.tabs-header{border-bottom:2px solid #f1f5f9;width:100%;margin-bottom:2.5rem;display:flex;overflow-x:auto}.tab-button{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.25rem;min-width:80px;padding:.75rem .5rem;font-weight:600;transition:all .2s;display:flex}.tab-button.active{color:var(--primary-color,#1565c0);border-bottom-color:var(--primary-color,#1565c0);background-color:#1565c00d}.tab-label{font-size:.85rem}.tab-description,.tab-bg-icon,.tab-accent-bar{display:none}@media (width>=1024px){.tabs-header{border-bottom:none;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2.5rem;display:grid;overflow:visible}.tab-button{cursor:pointer;text-align:left;background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;outline:none;flex-direction:column;flex:1;align-items:flex-start;min-width:220px;padding:1.25rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.tab-button:hover{background-color:#fff;border-color:#cbd5e1;transform:translateY(-2px)}.tab-button.active{border-color:var(--primary-color,#1565c0);border-bottom:2px solid var(--primary-color,#1565c0);background:#fff;box-shadow:0 10px 15px -3px #1565c01a}.tab-content-wrapper{z-index:1;grid-template-columns:24px 1fr;align-items:flex-start;gap:.85rem;width:100%;display:grid}.tab-icon-box{color:#64748b;justify-content:center;align-items:center;height:24px;transition:color .2s;display:flex}.tab-text-box{flex-direction:column;gap:.25rem;display:flex}.tab-label{color:#0c121e;font-size:.95rem;font-weight:700;line-height:1.2;transition:color .2s;display:block}.tab-description{color:#94a3b8;white-space:normal;margin:0;font-size:.75rem;font-weight:500;line-height:1.4;transition:color .2s;display:block}.tab-bg-icon{color:var(--primary-color,#1565c0);opacity:.15;z-index:0;display:flex;position:absolute;bottom:.75rem;right:1rem}.tab-accent-bar{background:var(--primary-color,#1565c0);width:4px;height:100%;display:block;position:absolute;top:0;left:0}.tab-button.active .tab-icon-box,.tab-button.active .tab-label{color:var(--primary-color,#1565c0)}.tab-button.active .tab-description{color:#1e293b}}.agenda-panel{background:linear-gradient(#fff 0%,#fbfdff 100%);border:1px solid #e2e8f0;border-radius:24px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 8px 30px #0f172a0d}.agenda-panel-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.agenda-panel-header h3{color:#0f172a;margin:0;font-size:1.65rem;font-weight:800}.agenda-panel-header p{color:#64748b;margin:.35rem 0 0;font-size:.95rem}.agenda-panel-badge{color:#2563eb;white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .8rem;font-size:.82rem;font-weight:700;display:inline-flex}.agenda-list{flex-direction:column;gap:1rem;display:flex}.agenda-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #cbd5e1;border-radius:18px;padding:1.15rem 1.2rem;transition:all .2s;box-shadow:0 1px 3px #0f172a0d}.agenda-card.unread{background:#fffdf3;border-color:#fce7a0}.agenda-card:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0f172a14}.agenda-card-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.agenda-chip{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;padding:.3rem .7rem;font-size:.7rem;font-weight:800;display:inline-flex}.agenda-chip.scope-school{color:#0f766e;background:#ecfeff}.agenda-chip.scope-class{color:#2563eb;background:#eff6ff}.agenda-status{border-radius:999px;padding:.3rem .65rem;font-size:.75rem;font-weight:800}.agenda-status.read{color:#64748b;background:#f1f5f9}.agenda-status.unread{color:#1d4ed8;background:#dbeafe}.agenda-card h4{color:#0f172a;margin:0 0 .5rem;font-size:1.05rem;font-weight:800}.agenda-card p{color:#475569;margin:0;font-size:.95rem;line-height:1.6}.agenda-card-meta{color:#94a3b8;flex-wrap:wrap;gap:.5rem .9rem;margin-top:.8rem;font-size:.76rem;font-weight:600;display:flex}.agenda-card-meta span{align-items:center;gap:.3rem;display:inline-flex}.agenda-empty{text-align:center;color:#64748b;background:#f8fafc;border:1px dashed #dbe4f0;border-radius:18px;flex-direction:column;align-items:center;gap:.45rem;padding:2rem;display:flex}.agenda-empty strong{color:#0f172a;font-size:1rem}.loading-container-academic{color:#64748b;flex-direction:column;justify-content:center;align-items:center;height:60vh;display:flex}.loading-spinner-academic{color:#3b82f6;margin-bottom:1rem}.horizontal-scroll-container{-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:.75rem;margin-bottom:.5rem;padding-bottom:.75rem;display:flex;overflow-x:auto}.horizontal-scroll-container::-webkit-scrollbar{height:6px}.horizontal-scroll-container::-webkit-scrollbar-track{background:0 0}.horizontal-scroll-container::-webkit-scrollbar-thumb{background-color:#1565c026;border:1px solid #0000;border-radius:20px}.horizontal-scroll-container::-webkit-scrollbar-thumb:hover{background-color:#1565c04d}.tabs-header::-webkit-scrollbar{display:none}.content-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.activity-module-header{border-bottom:1px solid #f1f5f9;align-items:baseline;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.5rem;display:flex}.activity-count-badge-text{color:#94a3b8;font-size:.72rem;font-weight:700}.student-activities-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;margin-bottom:2rem;padding-top:.75rem;display:grid}.student-activity-card{background-color:#fff;border:1px solid #f1f5f9;border-top:5px solid #0000;border-radius:20px;flex-direction:column;width:100%;min-height:240px;padding:1.5rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:0 1px 4px #00000008}.student-activity-card:hover{border-color:#3b82f6;transform:translateY(-3px);box-shadow:0 8px 15px #0000000f}.student-activity-card.online{border-top-color:#10b981}.student-activity-card.offline{border-top-color:#f43f5e}.student-activity-card-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.student-activity-status-badge{letter-spacing:-.01em;border-radius:20px;align-items:center;gap:.4rem;padding:.3rem .8rem;font-size:.72rem;font-weight:700;display:flex}.student-activity-status-badge.status-graded{color:#166534;background-color:#dcfce7}.student-activity-status-badge.status-submitted{color:#1d4ed8;background-color:#eff6ff}.student-activity-status-badge.status-pending{color:#b45309;background-color:#fffbeb;border:1px solid #fef3c7}.student-activity-status-badge.status-expired{color:#dc2626;background-color:#fee2e2;border:1px solid #fecaca}.student-activity-type-tag{text-transform:uppercase;letter-spacing:.02em;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:.35rem .65rem;font-size:.65rem;font-weight:900;line-height:1;display:inline-flex}.student-activity-type-tag.online{color:#10b981;background-color:#ecfdf5;border:1px solid #d1fae5}.student-activity-type-tag.offline{color:#f43f5e;background-color:#fff1f2;border:1px solid #ffe4e6}.student-activity-due-date{color:#94a3b8;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;display:flex}.student-activity-title{color:#1e293b;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.5rem;font-size:1rem;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.student-activity-description-short{color:#64748b;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:1.5rem;font-size:.9rem;line-height:1.6;display:-webkit-box;overflow:hidden}.student-activity-card-footer{border-top:1px solid #f8fafc;justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem;display:flex}.student-activity-points{flex-direction:column;display:flex}.student-activity-points .label{color:#94a3b8;text-transform:uppercase;white-space:nowrap;font-size:.65rem;font-weight:700}.student-activity-points .value{color:#334155;font-size:.9rem;font-weight:800}.student-btn-action-primary{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;width:120px;padding:.5rem .75rem;font-size:.8rem;font-weight:700;transition:all .2s;display:flex}.student-btn-action-primary:hover{background-color:#2563eb;transform:translateY(-1px)}.student-btn-action-secondary{color:#64748b;cursor:pointer;background-color:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;width:120px;padding:.4rem .75rem;font-size:.8rem;font-weight:700;transition:all .2s;display:flex}.student-btn-action-secondary svg{flex-shrink:0;display:block}.student-btn-action-secondary:hover{color:#3b82f6;background-color:#f8fafc;border-color:#3b82f6;transform:translateY(-1px)}.student-btn-action-secondary.highlight{color:#fff;background-color:#0f172a}.student-submission-link-badge-compact{color:#10b981;background-color:#ecfdf5;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;text-decoration:none;display:flex}.student-replace-btn-icon{color:#3b82f6;cursor:pointer;opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.student-replace-btn-icon:hover{opacity:1}.student-activity-status-blocked-tag{color:#94a3b8;background-color:#f1f5f9;border-radius:8px;padding:.4rem .6rem;font-size:.7rem;font-weight:800}.student-activity-status-blocked-tag.late{color:#ef4444;background-color:#fee2e2}.modal-overlay-custom{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#0f172ab3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content-custom{background-color:#fff;border-radius:20px;flex-direction:column;width:100%;max-width:650px;max-height:95vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.modal-body{flex-direction:column;gap:.75rem;padding:1rem 1.5rem;display:flex;overflow-y:auto}@media (width>=1024px){.modal-content-custom{max-width:1000px}.modal-content-sections-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:1.5rem;display:grid}.modal-section{flex-direction:column;height:100%;margin-bottom:0;display:flex}.modal-description-box,.feedback-box{flex:1}}.submission-stat-bar{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-around;margin-bottom:1rem;padding:1.25rem;display:flex}.stat-item{flex-direction:column;align-items:center;gap:.25rem;display:flex}.stat-value{color:#1e293b;font-size:1.25rem;font-weight:800}.stat-value.score-high{color:#10b981}.stat-value.score-low{color:#ef4444}.modal-info-grid{background-color:#fff;border:1px solid #f1f5f9;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:.5rem;padding:1rem;display:grid}.modal-info-item{flex-direction:column;gap:.35rem;display:flex}.modal-info-item label{color:#94a3b8;text-transform:uppercase;letter-spacing:.025em;align-items:center;gap:.35rem;font-size:.65rem;font-weight:800;display:flex}.modal-info-value{color:#334155;font-size:.85rem;font-weight:700;line-height:1.3}.modal-section{margin-bottom:1rem}.modal-section-label{color:#64748b;text-transform:uppercase;letter-spacing:.025em;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-left:.25rem;font-size:.7rem;font-weight:800;display:flex}.modal-description-box{color:#475569;word-break:break-word;background-color:#f1f5f9;border-radius:12px;padding:1.25rem;font-size:.95rem;line-height:1.6}.feedback-box{color:#1e293b;word-break:break-word;background-color:#fff;border:2px solid #e2e8f0;border-radius:16px;min-height:120px;max-height:200px;padding:1.25rem;font-size:1rem;font-weight:500;line-height:1.6;overflow-y:auto;box-shadow:inset 0 2px 4px #00000005}.feedback-box::-webkit-scrollbar{width:6px}.feedback-box::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.feedback-box::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.feedback-box::-webkit-scrollbar-thumb:hover{background:#94a3b8}.feedback-content{white-space:pre-wrap}.feedback-empty{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem;display:flex}.feedback-empty svg{opacity:.3}.grades-header-container{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.grades-summary-box{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:1.5rem;padding:.5rem 1rem;display:flex}.grades-grid-container{grid-template-columns:minmax(0,1.45fr) minmax(0,.9fr);align-items:stretch;gap:1rem;margin-bottom:1.25rem;display:grid}.grades-chart-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;display:grid}.grades-quick-stats-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.grades-chart-label{font-size:.72rem}.grades-chart-value{font-size:1.1rem}.grades-chart-badge{padding:.3rem .6rem;font-size:.72rem}.grades-bimesters-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.attendance-header-container{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem;display:flex}.attendance-status-badge{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:.85rem;min-width:220px;padding:.85rem 1rem;display:flex}.attendance-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.attendance-main-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:1rem;margin-bottom:1.5rem;display:grid}.attendance-indicator-grid{grid-template-columns:minmax(0,1.6fr) minmax(180px,.8fr);align-items:center;gap:1rem;display:grid}.attendance-table-container{background-color:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.attendance-table-th{padding:1.15rem 1rem;font-size:.82rem}.attendance-table-td{padding:1rem}@media (width<=768px){.academic-card{padding:1rem}.tab-button span{display:none}.horizontal-scroll-container{padding-bottom:10px}.horizontal-scroll-container::-webkit-scrollbar{height:5px;display:block}.horizontal-scroll-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.horizontal-scroll-container::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:10px}}@media (width<=500px){.student-academic-page .tabs-header{border-bottom:none;grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:1.5rem;display:grid;overflow:visible}.student-academic-page .tabs-header .tab-button{background-color:#f8fafc;border:1.5px solid #e2e8f0;border-radius:14px;flex-direction:column;flex:none;justify-content:center;align-items:center;min-width:0;height:auto;padding:.85rem .5rem;transition:all .2s;display:flex}.student-academic-page .tabs-header .tab-button.active{border-color:var(--primary-color,#1565c0);border-bottom:1.5px solid var(--primary-color,#1565c0);background-color:#fff;box-shadow:0 4px 12px #1565c014}.student-academic-page .tab-content-wrapper{flex-direction:column;align-items:center;gap:.35rem;display:flex}.student-academic-page .tab-icon-box{color:#94a3b8;justify-content:center;align-items:center;height:20px;display:flex}.student-academic-page .tab-button.active .tab-icon-box{color:var(--primary-color,#1565c0)}.student-academic-page .tab-text-box{text-align:center;flex-direction:column;align-items:center;display:flex}.student-academic-page .tab-label{color:#64748b;text-transform:uppercase;letter-spacing:.02em;font-size:.68rem;font-weight:800;line-height:1.2;display:block}.student-academic-page .tab-button.active .tab-label{color:var(--primary-color,#1565c0)}.student-academic-page .tab-description,.student-academic-page .tab-bg-icon,.student-academic-page .tab-accent-bar{display:none!important}.student-academic-page .academic-card{min-height:auto;padding:1.25rem}.student-academic-page .content-section-header{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.student-academic-page .content-section-header h3{margin-bottom:.25rem;font-size:1.25rem}.student-academic-page .content-section-header p{font-size:.85rem;line-height:1.4}.student-academic-page .professor-badge{text-align:center;width:100%;padding:.4rem .75rem;font-size:.72rem}.student-academic-page .content-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.student-academic-page .activity-module-header{flex-direction:column;align-items:flex-start;gap:.35rem;padding-bottom:.75rem}.student-academic-page .student-activities-grid{flex-direction:column;gap:1rem}.student-activity-card{max-width:100%;padding:1.25rem}.student-activity-card-header{flex-wrap:wrap;gap:.75rem}.student-activity-title{-webkit-line-clamp:unset;font-size:1.05rem}.student-activity-description-short{-webkit-line-clamp:2}.student-activity-card-footer{flex-wrap:wrap;gap:1rem}.student-activity-points{width:100%;margin-bottom:.5rem}.student-btn-action-primary{flex:1;justify-content:center}.modal-overlay-custom,.modal-overlay-blur{padding:.75rem}.modal-content-custom,.modal-content-large{border-radius:20px;flex-direction:column;width:100%;max-height:90vh;display:flex}.modal-header{padding:1rem 1.25rem}.modal-body{flex:1;gap:1.25rem;padding:1rem;overflow-y:auto}.modal-info-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:1.5rem}.modal-score-box{margin-bottom:1.25rem;padding:.85rem}.modal-actual-score{font-size:1.85rem}.modal-section{margin-bottom:1.25rem}.modal-section-label{margin-bottom:.4rem;font-size:.62rem}.modal-description-box{padding:.85rem;font-size:.85rem}.feedback-box{min-height:70px;padding:1rem;font-size:.88rem}.modal-footer{flex-direction:column;padding:.85rem 1rem}.modal-footer button{width:100%;max-width:none;padding:.75rem}.modal-info-value{font-size:.9rem}.student-academic-page .grades-header-container{flex-direction:column;align-items:flex-start;gap:1rem}.student-academic-page .grades-summary-box{justify-content:space-between;width:100%}.student-academic-page .grades-grid-container{grid-template-columns:1fr}.student-academic-page .grades-chart-grid{gap:.5rem}.student-academic-page .grades-quick-stats-grid{grid-template-columns:1fr}.student-academic-page .grades-chart-label{word-wrap:break-word;font-size:.6rem}.student-academic-page .grades-chart-value{font-size:.95rem}.student-academic-page .grades-chart-badge{text-align:center;padding:.2rem .3rem;font-size:.55rem;line-height:1.1}.student-academic-page .grades-bimesters-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.agenda-panel{border-radius:18px;padding:1.1rem}.agenda-panel-header{flex-direction:column;align-items:flex-start}.agenda-panel-header h3{font-size:1.25rem}.agenda-card{padding:1rem}.student-academic-page .attendance-header-container{flex-direction:column;gap:1rem}.student-academic-page .attendance-status-badge{justify-content:flex-start;width:100%}.student-academic-page .attendance-stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.student-academic-page .attendance-main-grid{grid-template-columns:1fr}.student-academic-page .attendance-indicator-grid{grid-template-columns:1fr;gap:1.25rem}.student-academic-page .attendance-table-container{overflow-x:auto}.student-academic-page .attendance-table-th,.student-academic-page .attendance-table-td{padding:.75rem .5rem}}.section-title{color:#64748b;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid #f1f5f9;align-items:center;gap:.6rem;margin-bottom:1.5rem;padding-bottom:.5rem;font-size:.75rem;font-weight:700;display:flex}.field-label{color:#475569;align-items:center;gap:.5rem;min-height:1.25rem;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:flex}.custom-select{color:#1e293b;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394A3B8' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:1.2em;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;width:100%;height:45px;padding:.75rem 1rem;font-size:.95rem;transition:all .2s}.login-info-box{color:#64748b;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:.75rem;margin-top:1.25rem;padding:1rem;font-size:.875rem;line-height:1.5;display:flex}.field-group-responsive{flex-direction:row;align-items:flex-end;gap:.5rem;display:flex}.checkbox-container-responsive{margin-top:1.65rem}.add-button-responsive{width:auto;min-width:120px}.input-responsive{flex:1}.filter-group{flex-direction:column;gap:.4rem;display:flex}.filter-label{color:#64748b;text-transform:uppercase;font-size:.75rem;font-weight:700}.filter-select{color:#1e293b;cursor:pointer;background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;width:100%;height:38px;padding:0 .75rem;font-size:.875rem}.discipline-select{color:#333;box-sizing:border-box;appearance:none;background-color:#fff;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='%23a0aec0' 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 1rem center;background-repeat:no-repeat;background-size:1.2em;border:1.5px solid #e0e0e0;border-radius:10px;outline:none;width:100%;padding:.75rem 1rem;font-size:.95rem;transition:all .2s ease-in-out}.discipline-label{color:#444;align-items:center;gap:.4rem;min-height:1.25rem;margin-bottom:.4rem;font-size:.875rem;font-weight:600;display:flex}.discipline-textarea{color:#333;box-sizing:border-box;resize:vertical;background-color:#0000;border:1.5px solid #e0e0e0;border-radius:10px;outline:none;width:100%;min-height:100px;padding:.75rem 1rem;font-family:inherit;font-size:.95rem}.table-cell-nowrap{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:100%;display:inline-block;overflow:hidden}@media (width<=540px){.field-group-responsive{flex-direction:column;align-items:stretch;gap:.75rem}.checkbox-container-responsive{margin-top:0}.add-button-responsive,.input-responsive{width:100%}}.teacher-finance-page{max-width:1200px;margin:0 auto;padding:2rem}.teacher-finance-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.teacher-finance-header h1{color:#1e293b;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;display:flex}.month-selector{color:#1e293b;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;padding:.6rem 1.2rem;font-size:.95rem}.month-selector:focus{border-color:var(--primary-color,#1565c0)}.toggle-values-btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s;display:flex}.toggle-values-btn:hover{color:#334155;background:#f1f5f9}.teacher-finance-loading,.teacher-finance-empty{text-align:center;color:#64748b;padding:4rem 2rem;font-size:1.1rem}.finance-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.finance-card{background:#fff;border:1px solid #f1f5f9;border-radius:14px;align-items:center;gap:1rem;padding:1.25rem;display:flex;box-shadow:0 2px 8px #0000000f}.finance-card-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.finance-card-icon.salary{color:#2e7d32;background:#e8f5e9}.finance-card-icon.projected{color:#1565c0;background:#e3f2fd}.finance-card-icon.teaching{color:#e65100;background:#fff3e0}.finance-card-icon.planning{color:#7b1fa2;background:#f3e5f5}.finance-card-content{flex-direction:column;display:flex}.finance-card-label{color:#64748b;text-transform:uppercase;letter-spacing:.02em;font-size:.8rem;font-weight:500}.finance-card-value{color:#1e293b;margin-top:.15rem;font-size:1.35rem;font-weight:700}.finance-card-sub{color:#94a3b8;margin-top:.15rem;font-size:.75rem}.finance-info-bar{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;gap:2rem;margin-bottom:2rem;padding:1rem 1.25rem;font-size:.9rem;display:flex}.finance-section{margin-bottom:2rem}.finance-section h2{color:#334155;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.15rem;font-weight:600;display:flex}.finance-section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.finance-section-header h2{margin-bottom:0}.finance-table{border-collapse:collapse;background:#fff;border-radius:10px;width:100%;overflow:hidden;box-shadow:0 1px 4px #0000000a}.finance-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.03em;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.75rem 1rem;font-size:.8rem;font-weight:600}.finance-table td{color:#334155;border-bottom:1px solid #f1f5f9;padding:.75rem 1rem;font-size:.9rem}.finance-table tbody tr:hover{background:#f8fafc}.empty-message{color:#94a3b8;text-align:center;padding:2rem 1rem;font-size:.9rem}.delete-btn{color:#ef4444;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.3rem;transition:background .15s}.delete-btn:hover{background:#fee2e2}@media (width<=768px){.teacher-finance-page{padding:1rem}.teacher-finance-header{flex-direction:column;align-items:flex-start;gap:1rem}.finance-cards{grid-template-columns:1fr 1fr}.finance-info-bar{flex-direction:column;gap:.5rem}.finance-table{font-size:.8rem}}@media (width<=480px){.finance-cards{grid-template-columns:1fr}}.truncated-text{transition:all .2s}.truncated-text:hover{opacity:.85}.truncated-text-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.truncated-text-modal-content{background:#fff;border-radius:12px;flex-direction:column;width:90%;max-width:600px;max-height:80vh;animation:.3s slideUp;display:flex;position:relative;box-shadow:0 20px 60px #0000004d}.truncated-text-modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;display:flex}.truncated-text-modal-header h2{color:#0f172a;margin:0;font-size:1.1rem;font-weight:700}.truncated-text-modal-close{color:#6b7280;cursor:pointer;background:#f3f4f6;border:none;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;transition:all .2s;display:flex}.truncated-text-modal-close:hover{color:#1f2937;background:#e5e7eb}.truncated-text-modal-body{flex:1;padding:1.5rem;overflow-y:auto}.truncated-text-modal-body p{color:#475569;white-space:pre-wrap;word-break:break-word;margin:0;font-size:.95rem;line-height:1.6}@media (width<=640px){.truncated-text-modal-content{border-radius:10px;width:95%;max-height:90vh}.truncated-text-modal-header,.truncated-text-modal-body{padding:1.25rem}}.academic-container{max-width:1400px;margin:0 auto;padding:2rem 1rem}.page-title{color:#1e293b;letter-spacing:-.025em;margin-bottom:.5rem;font-size:2.25rem;font-weight:800;transition:font-size .2s}.page-subtitle{color:#64748b;font-size:1.5rem;transition:font-size .2s}.page-title-section{justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-block:1.5rem;display:flex}.page-title-copy{min-width:0}.academic-title-row .page-subtitle{margin-bottom:0}.back-button{cursor:pointer;color:#475569;background:#f1f5f9;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:600;transition:all .2s;display:flex}.back-button:hover{color:#1e293b;background:#e2e8f0}.tabs-container{background-color:#0000;border-radius:0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;width:100%;margin-bottom:2.5rem;padding:0;display:grid}.modal-overlay-container{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009;justify-content:center;align-items:center;padding:.75rem;display:flex;position:fixed;inset:0}.modal-content-container{background-color:#fff;border-radius:20px;width:98%;max-width:650px;max-height:95vh;padding:1.5rem;animation:.3s ease-out modalSlideUp;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tab-button{cursor:pointer;text-align:left;background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;outline:none;flex-direction:column;flex:1;align-items:flex-start;min-width:220px;padding:1.25rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.tab-button:hover{background-color:#fff;border-color:#cbd5e1;transform:translateY(-2px)}.tab-content-wrapper{z-index:1;grid-template-columns:24px 1fr;align-items:flex-start;gap:.85rem;width:100%;display:grid}.tab-icon-box{color:#64748b;justify-content:center;align-items:center;height:24px;transition:color .2s;display:flex}.tab-text-box{flex-direction:column;gap:.25rem;display:flex}.academic-container .tabs-container .tab-button .tab-label{color:#0c121e;visibility:visible;opacity:1;font-size:.95rem;font-weight:700;line-height:1.2;transition:color .2s;display:block}.tab-description{color:#94a3b8;white-space:normal;margin:0;font-size:.75rem;font-weight:500;line-height:1.4;transition:color .2s}.tab-bg-icon{color:var(--primary-color,#1565c0);opacity:.15;z-index:0;position:absolute;bottom:.75rem;right:1rem}.tab-accent-bar{background:var(--primary-color,#1565c0);width:4px;height:100%;position:absolute;top:0;left:0}.tab-button.active{border-color:var(--primary-color,#1565c0);background:#fff;box-shadow:0 10px 15px -3px #1565c01a}.tab-button.active .tab-icon-box,.academic-container .tab-button.active .tab-label{color:var(--primary-color,#1565c0)}.tab-button.active .tab-description{color:#1e293b}@media (width<=768px){.page-title-section{flex-direction:column;align-items:flex-start}.btn-agenda-digital{justify-content:center;width:100%}.tabs-container{grid-template-columns:1fr;gap:.75rem}.tab-button{min-width:0;min-height:auto;padding:1.15rem 1.25rem}.tab-content-wrapper{align-items:center;gap:1.25rem}.tab-text-box{flex-direction:column;gap:.1rem;display:flex}.academic-container .tabs-container .tab-button .tab-label{visibility:visible;opacity:1;font-size:.9rem;font-weight:800;display:block}.tab-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;line-height:1.25;display:-webkit-box;overflow:hidden}.tab-bg-icon{display:none}}.main-content-box{background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;min-height:400px;padding:1.5rem}.inactive-warning-box{color:#9a3412;background-color:#fff7ed;border:1px solid #ffedd5;border-radius:12px;align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem 1.5rem;display:flex}.inactive-warning-title{font-weight:700;display:block}.inactive-warning-text{font-size:.9rem}.empty-state-card{text-align:center;color:#64748b;background-color:#f8fafc;border:2px dashed #cbd5e1;border-radius:24px;padding:5rem 2rem}.empty-state-title{color:#475569;margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.btn-new-content{color:#fff;cursor:pointer;background-color:#10b981;border:none;border-radius:12px;align-items:center;gap:.625rem;padding:.75rem 1.25rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 6px -1px #10b98133}.btn-new-content:hover{background-color:#059669;transform:translateY(-1px)}.tab-fade-in{animation:.3s ease-out fadeIn}.activity-module-header{border-bottom:2px solid #f1f5f9;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}.activity-count-badge{color:#94a3b8;white-space:nowrap;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;padding:.25rem .625rem;font-size:.75rem;font-weight:700}.modal-row-wrapper{gap:1rem;display:flex}.submission-stat-bar{align-items:center;gap:2rem;display:flex}.student-submission-row{align-items:center;gap:1rem;display:flex}.student-submission-row>div:first-child{flex:150px}.student-submission-row>div:nth-child(2){flex:2 200px}.student-submission-row>div:last-child{align-items:center;gap:.5rem;display:flex}.modal-header-wrapper{justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;display:flex}.modal-close-btn{cursor:pointer;color:#94a3b8;background:0 0;border:none;justify-content:center;align-items:center;transition:color .2s;display:flex}.modal-close-btn:hover{color:#64748b}.period-grades-desktop-view{background-color:#fff;border:1px solid #e2e8f0;border-radius:20px;display:block;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.grades-table{border-collapse:collapse;width:100%}.grades-table thead tr{background-color:#f8fafc;border-bottom:1px solid #e2e8f0}.grades-table th{text-align:center;color:#64748b;text-transform:uppercase;letter-spacing:.05em;padding:1.25rem 1rem;font-size:.75rem;font-weight:800}.grades-table th:first-child{text-align:left;width:30%;padding-left:1.5rem}.grades-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:1rem}.grades-table td:first-child{color:#1e293b;padding-left:1.5rem;font-weight:700}.grade-average{font-size:1.1rem;font-weight:800}.grade-average.approved{color:#10b981}.grade-average.rejected{color:#f43f5e}.grade-average.pending{color:#94a3b8}.status-badge{letter-spacing:.025em;border-radius:999px;padding:.35rem .85rem;font-size:.7rem;font-weight:800}.status-badge.approved{color:#16a34a;background-color:#f0fdf4;border:1px solid #bbf7d0}.status-badge.rejected{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca}.status-pending{color:#94a3b8;font-size:.8rem;font-weight:600}.period-grades-mobile-view{display:none}@media (width<=768px){.period-grades-desktop-view{display:none}.period-grades-mobile-view{display:block}}.student-grade-card{background-color:#fff;border:1px solid #f1f5f9;border-radius:22px;margin-bottom:1.25rem;padding:1.5rem;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000008}.student-grade-card:before{content:"";opacity:.8;background:#3b82f6;width:4px;height:100%;position:absolute;top:0;left:0}.student-grade-card h3{color:#0f172a;align-items:center;gap:.75rem;margin-bottom:1.25rem;font-size:1.1rem;font-weight:800;display:flex}.grade-inputs-grid{grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.5rem;display:grid}.grade-input-item{flex-direction:column;gap:.5rem;display:flex}.grade-input-item label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:800}.grade-card-footer{border-top:1px solid #f8fafc;justify-content:space-between;align-items:center;padding-top:1.25rem;display:flex}.attendance-header-wrapper{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.attendance-filter-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:20px;align-items:flex-end;gap:1.5rem;margin-bottom:2.5rem;padding:1.5rem;display:flex;box-shadow:0 4px 6px -1px #00000005}.filter-group{flex-direction:column;flex:1;gap:.625rem;max-width:300px;display:flex}.filter-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.5rem;font-size:.75rem;font-weight:800;display:flex}.filter-date-input{color:#1e293b;border:1px solid #e2e8f0;border-radius:12px;outline:none;width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:500;transition:all .2s}.filter-date-input:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.btn-load-attendance{color:#3b82f6;cursor:pointer;background-color:#fff;border:2px solid #3b82f6;border-radius:12px;align-items:center;gap:.625rem;height:48px;padding:.75rem 1.5rem;font-weight:700;transition:all .2s;display:flex}.btn-load-attendance:hover{background-color:#eff6ff;transform:translateY(-1px)}.toggle-all-present{cursor:pointer;-webkit-user-select:none;user-select:none;color:#475569;white-space:nowrap;align-items:center;gap:.75rem;height:48px;font-size:.9375rem;font-weight:700;display:flex}.toggle-switch{cursor:pointer;background-color:#cbd5e1;border-radius:9999px;flex-shrink:0;width:56px;height:30px;transition:background-color .25s;position:relative}.toggle-switch.active{background-color:#10b981}.toggle-thumb{background-color:#fff;border-radius:50%;width:24px;height:24px;transition:transform .25s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000026}.toggle-switch.active .toggle-thumb{transform:translate(26px)}.attendance-stats-compact{background-color:#f8fafc;border:1px solid #f1f5f9;border-radius:14px;gap:2rem;margin-left:auto;padding:.5rem 1.5rem;display:flex}.stat-item{flex-direction:column;align-items:center;display:flex}.stat-label{color:#94a3b8;text-transform:uppercase;font-size:.65rem;font-weight:800}.stat-value.present{color:#10b981}.stat-value.absent{color:#f43f5e}.attendance-stats-wrapper{gap:1.5rem;margin-left:auto;display:flex}.attendance-cards-container{flex-direction:column;gap:1.25rem;margin-top:1.5rem;display:flex}.attendance-student-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:20px;justify-content:space-between;align-items:center;padding:1.5rem;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #00000005}.attendance-card-info{flex-direction:column;flex:1;gap:.5rem;display:flex}.attendance-card-info h3{color:#1e293b;margin:0;font-size:1.15rem;font-weight:700}.attendance-note-input{color:#64748b;background-color:#0000;border:none;border-bottom:1px solid #f1f5f9;outline:none;width:100%;max-width:400px;padding:.35rem 0;font-size:.85rem;transition:border-color .2s}.attendance-note-input:focus{border-color:#3b82f6}.attendance-status-grid{gap:.75rem;display:flex}.attendance-status-btn{color:#94a3b8;cursor:pointer;background-color:#fff;border:2px solid #f1f5f9;border-radius:14px;outline:none;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:85px;height:70px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.attendance-status-btn span{text-transform:uppercase;letter-spacing:.025em;font-size:.65rem;font-weight:800}.attendance-status-btn.present.selected{color:#16a34a;background-color:#f0fdf4;border-color:#16a34a;box-shadow:0 4px 12px #16a34a26}.attendance-status-btn.absent.selected{color:#dc2626;background-color:#fef2f2;border-color:#dc2626;box-shadow:0 4px 12px #dc262626}.attendance-status-btn.late.selected{color:#d97706;background-color:#fffbeb;border-color:#d97706;box-shadow:0 4px 12px #d9770626}.attendance-status-btn.justified.selected{color:#2563eb;background-color:#eff6ff;border-color:#2563eb;box-shadow:0 4px 12px #2563eb26}.empty-attendance-state{text-align:center;color:#64748b;background-color:#f8fafc;border:2px dashed #cbd5e1;border-radius:28px;flex-direction:column;align-items:center;gap:1rem;padding:5rem 2rem;display:flex}.empty-attendance-state svg{opacity:.2;margin-bottom:.5rem}.empty-attendance-state h3{color:#475569;margin:0}@media (width<=600px){.attendance-filter-card{flex-direction:column;align-items:stretch;gap:1.25rem;padding:1.25rem}.filter-group{max-width:100%}.attendance-stats-compact{justify-content:space-around;margin-left:0;padding:1rem}.attendance-student-card{flex-direction:column;align-items:stretch;gap:1.25rem;padding:1.25rem}.attendance-status-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.attendance-status-btn{width:100%;height:65px}}.tab-header-title{color:#1e293b;letter-spacing:-.025em;font-size:1.5rem;font-weight:800}.tab-header-subtitle{color:#64748b;margin-top:.25rem;font-size:.95rem}.module-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:24px;transition:all .2s;overflow:hidden;box-shadow:0 4px 6px -1px #00000005}.module-card:hover{transform:translateY(-2px);box-shadow:0 12px 20px -5px #0000000d}.content-date-badge{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.72rem;font-weight:800}.module-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.module-card-actions{gap:.5rem;display:flex}.material-item{background-color:#fff;border:1px solid #f1f5f9;border-radius:12px;justify-content:space-between;align-items:center;width:fit-content;min-width:200px;max-width:450px;padding:.6rem 1rem;display:flex;box-shadow:0 1px 2px #00000005}.delete-material-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:700;transition:color .2s;display:flex}.delete-material-btn:hover{color:#f43f5e}.activities-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;margin-bottom:2.5rem;padding-top:.75rem;display:grid}.activity-card{background-color:#fff;border:1px solid #f1f5f9;border-top:5px solid #0000;border-radius:20px;flex-direction:column;width:100%;min-height:240px;padding:1.5rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:0 1px 4px #00000008}.activity-card:hover{border-color:#3b82f6;transform:translateY(-3px);box-shadow:0 8px 15px #0000000f}.activity-card.online{border-top-color:#10b981}.activity-card.offline{border-top-color:#f43f5e}.module-card-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.activity-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.activity-meta{align-items:center;gap:.5rem;display:flex}.type-tag{text-transform:uppercase;letter-spacing:.02em;border-radius:8px;justify-content:center;align-items:center;padding:.35rem .65rem;font-size:.65rem;font-weight:900;line-height:1;display:inline-flex}.type-tag.online{color:#10b981;background-color:#ecfdf5;border:1px solid #d1fae5}.type-tag.offline{color:#f43f5e;background-color:#fff1f2;border:1px solid #ffe4e6}.activity-due-date{color:#94a3b8;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;display:flex}.activity-title{color:#1e293b;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.5rem;font-size:1rem;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.activity-description-short{color:#64748b;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:1.5rem;font-size:.9rem;line-height:1.6;display:-webkit-box;overflow:hidden}.activity-card-footer{border-top:1px solid #f8fafc;justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem;display:flex}.activity-points{flex-direction:column;display:flex}.activity-points .label{color:#94a3b8;text-transform:uppercase;white-space:nowrap;font-size:.65rem;font-weight:700}.activity-points .value{color:#334155;font-size:.9rem;font-weight:800}.btn-view-submissions{color:#fff;cursor:pointer;background-color:#1e293b;border:none;border-radius:10px;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.btn-view-submissions:hover{background-color:#0f172a;transform:scale(1.03)}.submission-modal{flex-direction:column;width:98%;max-width:900px;max-height:95vh;display:flex}.submission-stat-bar{background-color:#f8fafc;border:1px solid #f1f5f9;border-radius:16px;gap:1rem;margin-bottom:1.5rem;padding:.85rem 1.25rem;display:flex}.stat-item{flex-direction:column;flex:1;gap:.25rem;display:flex}.stat-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.025em;font-size:.7rem;font-weight:700}.stat-value{font-size:1.15rem;font-weight:800}.stat-value.average{color:#3b82f6}.stat-value.delivery{color:#10b981}.submission-list{flex-direction:column;flex:1;gap:.75rem;margin-bottom:1.5rem;padding-right:.5rem;display:flex;overflow-y:auto}.submission-list::-webkit-scrollbar{width:6px}.submission-list::-webkit-scrollbar-track{background:#f1f5f9}.submission-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.student-submission-row{background-color:#fff;border:1px solid #f1f5f9;border-radius:12px;grid-template-columns:180px 1fr 120px;align-items:center;gap:1rem;padding:.75rem 1rem;transition:all .2s;display:grid}.student-submission-row:hover{border-color:#e2e8f0;box-shadow:0 2px 8px #00000008}.student-info{flex-direction:column;gap:.15rem;display:flex}.student-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:700;overflow:hidden}.view-submission-link{color:#3b82f6;align-items:center;gap:.35rem;font-size:.7rem;font-weight:800;text-decoration:none;transition:color .2s;display:inline-flex}.view-submission-link:hover{color:#2563eb}.no-submission-text{color:#94a3b8;align-items:center;gap:.25rem;font-size:.7rem;font-weight:700;display:flex}.feedback-input{resize:vertical;border:1.5px solid #f1f5f9;border-radius:12px;outline:none;width:100%;min-height:60px;padding:.75rem 1rem;font-family:inherit;font-size:.85rem;line-height:1.5;transition:all .2s}.feedback-input:focus{background-color:#f0f7ff;border-color:#3b82f6}.score-container{align-items:center;gap:.5rem;display:flex}.score-input{text-align:center;border:1.5px solid #f1f5f9;border-radius:10px;outline:none;width:64px;padding:.5rem;font-size:.75rem;font-weight:700;transition:all .2s}.score-input:focus{background-color:#f0fdf4;border-color:#10b981}.max-score-display{color:#94a3b8;font-size:.65rem;font-weight:600}@media (width>=1024px){.score-input{width:70px;padding:.65rem;font-size:.85rem}.max-score-display{font-size:.75rem}}@media (width<=500px){.academic-container{background-color:#f8fafc;padding:1rem .75rem}.academic-container .page-header{margin-bottom:1.25rem}.page-title-section{box-shadow:none;text-align:left;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:.8rem;margin-bottom:2rem;padding:0 .5rem}.academic-container .page-title{color:#0f172a;margin-bottom:.25rem;font-size:1.5rem}.academic-container .page-subtitle{color:#64748b;font-size:.95rem}.academic-container .main-content-box{background:0 0;border:none;padding:0}.section-header{flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:1.5rem;padding:0 .25rem}.section-header .tab-header-title{font-size:1.15rem}.submission-modal .tab-header-title{font-size:1.2rem;line-height:1.3}.submission-modal .tab-header-subtitle{font-size:.8rem}.submission-modal .submission-stat-bar{gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem}.section-header .tab-header-subtitle{font-size:.85rem}.section-header .btn-new-content{justify-content:center;width:100%;padding:.85rem}.btn-agenda-digital{width:100%}.agenda-modal-overlay{padding:.6rem}.agenda-modal-content{border-radius:18px;padding:1rem}.agenda-modal-tabs{grid-template-columns:1fr}.agenda-modal-footer{flex-direction:column}.agenda-secondary-btn,.agenda-primary-btn{width:100%}}.module-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:18px;margin-bottom:2rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.module-card-header{background-color:#f8fafc;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:flex-start;padding:1.5rem;display:flex}.module-title-group{align-items:flex-start;gap:1rem;display:flex}.module-icon-container{color:#3b82f6;background-color:#fff;border-radius:12px;padding:.75rem;box-shadow:0 2px 4px #0000000d}.module-card-title{color:#1e293b;margin:0;font-size:1.2rem;font-weight:700}.module-card-description{color:#64748b;margin-top:.375rem;font-size:.925rem;line-height:1.5}.module-section-header-inner{color:#475569;align-items:center;gap:.5rem;display:flex}.module-section-label{text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:700}.materials-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.material-item{background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;transition:all .2s;display:flex}.material-item:hover{background-color:#f8fafc;border-color:#3b82f6}.academic-container .materials-grid{grid-template-columns:1fr;gap:.6rem}.academic-container .material-item{background-color:#f8fafc;border:1px solid #f1f5f9;border-radius:14px;padding:.8rem}.academic-container .material-item a{font-size:.88rem}.academic-container .activities-grid{flex-direction:column;gap:1rem}.academic-container .activity-card{width:100%;max-width:100%;padding:1.25rem}.activity-module-header{flex-direction:column;align-items:flex-start;gap:.5rem}.student-submission-row{grid-template-columns:1fr;gap:1rem}.score-container{justify-content:flex-end}.module-card-header{gap:1rem;padding:1.25rem}.module-card-title{font-size:1.05rem}.module-card-description{font-size:.825rem;line-height:1.4}.module-section-label{font-size:.75rem}.module-card-body{padding:1.25rem}.btn-agenda-digital{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#5b3df5 0%,#4f46e5 55%,#4338ca 100%);border:none;border-radius:14px;align-items:center;gap:.6rem;margin-top:.25rem;padding:.8rem 1.1rem;font-size:.95rem;font-weight:700;transition:transform .2s,box-shadow .2s,filter .2s;display:inline-flex;box-shadow:0 10px 20px #4f46e52e}.btn-agenda-digital:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 14px 26px #4f46e538}.agenda-modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1200;background:#0f172a9e;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.agenda-modal-content{background:#fff;border-radius:24px;width:min(760px,100%);max-height:min(90vh,900px);padding:1.4rem 1.4rem 1.2rem;animation:.24s ease-out modalSlideUp;overflow:auto;box-shadow:0 30px 70px #0f172a3d}.agenda-modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.agenda-modal-title{letter-spacing:-.03em;color:#0f172a;margin:0;font-size:1.3rem;font-weight:800}.agenda-modal-subtitle{color:#64748b;margin:.3rem 0 0;font-size:.92rem}.agenda-modal-close{color:#64748b;cursor:pointer;background:#f8fafc;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex}.agenda-modal-close:hover{color:#4338ca;background:#eef2ff}.agenda-modal-tabs{background:#f8fafc;border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-bottom:1.1rem;padding:.45rem;display:grid}.agenda-modal-tab{color:#64748b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;padding:.78rem .85rem;font-size:.9rem;font-weight:700;transition:all .2s;display:inline-flex}.agenda-modal-tab:hover{color:#1e293b;background:#ffffffbf}.agenda-modal-tab.active{color:#4338ca;background:#fff;border-color:#e2e8f0;box-shadow:0 6px 16px #0f172a0f}.agenda-modal-body{flex-direction:column;gap:1rem;display:flex}.agenda-field-label{text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:.4rem;font-size:.78rem;font-weight:800;display:block}.agenda-field{color:#0f172a;background:#fff;border:1px solid #dbe3ef;border-radius:14px;outline:none;width:100%;padding:.9rem 1rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.agenda-field:focus{border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e51a}.agenda-textarea{resize:vertical;min-height:160px}.agenda-modal-footer{justify-content:flex-end;gap:.75rem;padding-top:.3rem;display:flex}.agenda-secondary-btn,.agenda-primary-btn{cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:.55rem;padding:.9rem 1.15rem;font-size:.92rem;font-weight:700;transition:transform .2s,opacity .2s,background .2s;display:inline-flex}.agenda-secondary-btn{color:#475569;background:#f8fafc;border:1px solid #e2e8f0}.agenda-secondary-btn:hover{color:#1e293b;background:#eef2ff}.agenda-primary-btn{color:#fff;background:linear-gradient(135deg,#5b3df5 0%,#4f46e5 100%);box-shadow:0 14px 26px #4f46e52e}.agenda-primary-btn:hover:not(:disabled){transform:translateY(-1px)}.agenda-primary-btn:disabled{opacity:.7;cursor:not-allowed}.agenda-history-panel{min-height:340px}.agenda-history-loading,.agenda-empty-state{text-align:center;color:#64748b;background:#f8fafc;border:1px dashed #dbe3ef;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:340px;padding:2rem;display:flex}.agenda-spinner{border:3px solid #e2e8f0;border-top-color:#4f46e5;border-radius:50%;width:34px;height:34px;animation:.9s linear infinite spin}.agenda-history-list{flex-direction:column;gap:.9rem;display:flex}.agenda-history-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:1rem 1.05rem;transition:transform .18s,box-shadow .18s,border-color .18s;overflow:hidden;box-shadow:0 6px 16px #0f172a0a}.agenda-history-card:hover{border-color:#5a3df52e;transform:translateY(-1px);box-shadow:0 14px 30px #0f172a1f}.agenda-history-card-top{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.65rem;display:flex}.agenda-history-target{color:#4338ca;text-transform:uppercase;letter-spacing:.05em;background:#eef2ff;border-radius:999px;align-items:center;margin-bottom:.45rem;padding:.25rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.agenda-history-card h4{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:800;overflow:hidden}.agenda-history-card.is-expanded h4{white-space:normal;overflow-wrap:break-word;overflow:visible}.agenda-history-date{color:#94a3b8;white-space:nowrap;flex-shrink:0;font-size:.8rem;font-weight:700}.agenda-history-body{color:#475569;cursor:pointer;margin:0 0 .8rem;font-size:.95rem;line-height:1.55}.agenda-history-body:hover{opacity:.85}.agenda-history-body-full{color:#475569;white-space:normal;overflow-wrap:break-word;margin:0 0 .8rem;font-size:.95rem;line-height:1.55}.agenda-history-body-wrapper{margin-bottom:.8rem}.agenda-history-meta{color:#64748b;flex-wrap:wrap;gap:.6rem;font-size:.8rem;font-weight:700;display:flex}.agenda-history-meta span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:.35rem .6rem}@media (width<=500px){.agenda-modal-overlay{padding:.4rem}.agenda-modal-content{border-radius:20px;width:100%;max-height:95vh;padding:1rem 1rem .8rem}.agenda-modal-header{margin-bottom:.8rem}.agenda-modal-title{font-size:1.15rem}.agenda-modal-subtitle{margin-top:.2rem;font-size:.8rem}.agenda-modal-close{border-radius:8px;width:32px;height:32px}.agenda-modal-close svg{width:16px;height:16px}.agenda-modal-tabs{border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;margin-bottom:.8rem;padding:.3rem}.agenda-modal-tab{text-align:center;border-radius:8px;flex-direction:column;gap:.2rem;padding:.5rem .2rem;font-size:.72rem;line-height:1.1}.agenda-modal-tab svg{width:14px;height:14px}.agenda-modal-body{gap:.75rem}.agenda-field-label{margin-bottom:.2rem;font-size:.7rem}.agenda-field{border-radius:10px;padding:.65rem .8rem;font-size:.85rem}.agenda-textarea{min-height:110px}.agenda-modal-footer{flex-direction:column;gap:.5rem;padding-top:.2rem}.agenda-secondary-btn,.agenda-primary-btn{border-radius:10px;width:100%;height:42px;padding:.75rem;font-size:.85rem}}.profile-form-actions{justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}@media (width<=500px){.profile-form-actions{flex-direction:column;align-items:stretch}.profile-form-actions button{justify-content:center;width:100%}}input::-ms-reveal{display:none}input::-ms-clear{display:none}input::-webkit-contacts-auto-fill-button{visibility:hidden;pointer-events:none;display:none;position:absolute;right:0}input::-webkit-credentials-auto-fill-button{visibility:hidden;pointer-events:none;display:none;position:absolute;right:0}.payment-history-container{width:100%}.payment-history-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.payment-history-filters{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.payment-total-badge{color:#1565c0;background-color:#e3f2fd;border-radius:10px;margin-left:auto;padding:.5rem 1rem;font-size:.95rem;font-weight:700}.payment-table-container{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #0000000d}.payment-table thead tr{background:var(--primary-color,#1565c0);color:#fff}.payment-table th{text-align:left;padding:1rem;font-size:.9rem;font-weight:600}.payment-table th:nth-child(3){text-align:right}.payment-table th:nth-child(5){text-align:center}.payment-table tbody tr{border-bottom:1px solid #f1f5f9}.payment-table tbody tr:nth-child(2n){background-color:#f8fafc}.payment-table tbody tr:nth-child(odd){background-color:#fff}.payment-table td{color:#475569;padding:.9rem 1rem;font-size:.9rem}.payment-table td:first-child{color:#334155;font-weight:600}.payment-table td:nth-child(3){color:#2e7d32;text-align:right;font-weight:700}.payment-table td:nth-child(5){text-align:center}.method-badge{border-radius:6px;align-items:center;gap:.4rem;padding:.25rem .6rem;font-size:.82rem;font-weight:600;display:inline-flex}.status-badge{color:#2e7d32;background-color:#e8f5e9;border-radius:6px;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.82rem;font-weight:600;display:inline-flex}.payment-table tfoot tr{background-color:#e3f2fd;border-top:2px solid #1565c0}.payment-table tfoot td{color:var(--primary-color,#1565c0);padding:.9rem 1rem;font-weight:700}.payment-table tfoot td:nth-child(2){text-align:right;font-size:1.05rem;font-weight:800}@media (width<=500px){.payment-history-header{flex-direction:column;align-items:flex-start;gap:1rem}.payment-history-header button{justify-content:center;width:100%}.payment-history-filters{flex-direction:column;align-items:stretch}.payment-history-filters>div{width:100%}.payment-history-container .payment-table-container{box-shadow:none;background:0 0}.payment-total-badge{text-align:center;order:-1;width:100%;margin-bottom:.5rem}.payment-table,.payment-table thead,.payment-table tbody,.payment-table th,.payment-table td,.payment-table tr{display:block}.payment-table thead tr{position:absolute;top:-9999px;left:-9999px}.payment-table tr{background:#fff;border:1px solid #f1f5f9;border-radius:16px;margin-bottom:1.25rem;padding:1rem;transition:transform .2s;box-shadow:0 2px 8px #0000000a}.payment-table tr:active{transform:scale(.98)}.payment-table td{text-align:right;border:none;border-bottom:1px solid #f8fafc;justify-content:flex-end;align-items:center;min-height:2.5rem;padding-left:45%;display:flex;position:relative}.payment-table td:last-child{border-bottom:none}.payment-table td:before{content:attr(data-label);white-space:nowrap;text-align:left;color:#94a3b8;text-transform:uppercase;letter-spacing:.025em;width:40%;padding-right:10px;font-size:.75rem;font-weight:700;position:absolute;left:0}.payment-table tfoot{display:none}}@media (width>=1024px){.payment-table{border-collapse:collapse;table-layout:fixed;width:100%}.payment-table th,.payment-table td{padding:1rem 1.25rem}.payment-table th:first-child,.payment-table td:first-child{width:15%}.payment-table th:nth-child(2),.payment-table td:nth-child(2){width:25%}.payment-table th:nth-child(3),.payment-table td:nth-child(3){text-align:right;width:20%}.payment-table th:nth-child(4),.payment-table td:nth-child(4){width:20%}.payment-table th:nth-child(5),.payment-table td:nth-child(5){text-align:center;width:20%}.payment-table tfoot td:first-child{text-align:left;padding-left:1.25rem;font-weight:800}.payment-table tfoot td:nth-child(2){text-align:right;padding-right:1.25rem}}.irpf-report-container{width:100%}.irpf-report-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.irpf-filters-container{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.irpf-total-badge{color:#fff;background:linear-gradient(135deg,#1565c0,#1976d2);border-radius:10px;margin-left:auto;padding:.5rem 1.25rem;font-size:1rem;font-weight:700;box-shadow:0 2px 8px #1565c04d}.irpf-filter-group{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.irpf-filter-select-wrapper,.irpf-filter-info{background:#fff;border:1.5px solid #cbd5e1;border-radius:10px;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.irpf-filter-select{color:#1e293b;cursor:pointer;background:0 0;border:none;outline:none;min-width:100px;font-size:.9rem;font-weight:600}.irpf-empty-state{text-align:center;background:#fff;border:2px dashed #eee;border-radius:16px;padding:5rem 2rem}.irpf-empty-state-title{color:#666;font-size:1.1rem;font-weight:500}.irpf-table-card-header{color:#fff;background:linear-gradient(135deg,#1565c0,#1976d2);align-items:center;gap:.75rem;padding:1rem 1.5rem;font-size:1rem;font-weight:700;display:flex}.irpf-table thead tr{background:#f8fafc;border-bottom:2px solid #e2e8f0}.irpf-table th{text-align:left;color:#334155;padding:.9rem 1rem;font-size:.88rem;font-weight:700}.irpf-table th:nth-child(4){text-align:right}.irpf-table th:nth-child(5){text-align:center}.irpf-table tbody tr{border-bottom:1px solid #f1f5f9}.irpf-table tbody tr:nth-child(2n){background-color:#f8fafc}.irpf-table tbody tr:nth-child(odd){background-color:#fff}.irpf-table td{color:#475569;padding:.85rem 1rem;font-size:.88rem}.irpf-table td:first-child{color:#334155;font-size:.9rem;font-weight:600}.irpf-table td:nth-child(4){color:#2e7d32;text-align:right;font-size:.95rem;font-weight:700}.irpf-table td:nth-child(5){text-align:center}.irpf-pago-badge{color:#2e7d32;background:#e8f5e9;border-radius:6px;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.8rem;font-weight:600;display:inline-flex}.irpf-deduction-note{color:#94a3b8;background:#f8fafc;border-top:1px solid #e2e8f0;padding:.75rem 1.5rem;font-size:.8rem;font-style:italic}.irpf-footer-total{color:#1e293b;background-color:#f1f5f9;border-top:2px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;font-size:.95rem;display:flex}@media (width<=500px){.irpf-report-header{flex-direction:column;align-items:stretch}.irpf-report-header button{justify-content:center;width:100%}.irpf-filters-container{flex-direction:column;align-items:stretch}.irpf-total-badge{text-align:center;order:-1;width:100%;margin-bottom:.5rem;margin-left:0}.irpf-report-container .irpf-table-card{box-shadow:none;background:0 0}.irpf-report-container .irpf-table-card-header{border-radius:12px;margin-bottom:1rem}.irpf-table,.irpf-table thead,.irpf-table tbody,.irpf-table th,.irpf-table td,.irpf-table tr{display:block}.irpf-table thead{position:absolute;top:-9999px;left:-9999px}.irpf-table tr{background:#fff;border:1px solid #f1f5f9;border-radius:16px;margin-bottom:1.25rem;padding:1.2rem;box-shadow:0 2px 8px #0000000a}.irpf-table td{text-align:right;border:none;border-bottom:1px solid #f8fafc;justify-content:flex-end;align-items:center;min-height:2.8rem;padding-left:45%;display:flex;position:relative}.irpf-table td:last-child{border-bottom:none}.irpf-table td:before{content:attr(data-label);text-align:left;color:#94a3b8;text-transform:uppercase;letter-spacing:.025em;width:40%;font-size:.75rem;font-weight:700;position:absolute;left:0}.irpf-footer-total{display:none}.irpf-report-container .irpf-deduction-note{text-align:center;background:0 0;border-top:none;padding:.5rem 0}}@media (width>=1024px){.irpf-table{border-collapse:collapse;table-layout:fixed;width:100%}.irpf-table th,.irpf-table td{padding:1rem 1.25rem}.irpf-table th:first-child,.irpf-table td:first-child{width:15%}.irpf-table th:nth-child(2),.irpf-table td:nth-child(2),.irpf-table th:nth-child(3),.irpf-table td:nth-child(3){width:20%}.irpf-table th:nth-child(4),.irpf-table td:nth-child(4){text-align:right;width:25%}.irpf-table th:nth-child(5),.irpf-table td:nth-child(5){text-align:center;width:20%}.irpf-table td:nth-child(4){padding-right:1.5rem}.irpf-total-row-label{text-align:left;padding-left:1.25rem;font-weight:800}.irpf-total-row-value{text-align:right;padding-right:1.5rem;font-weight:800}}.library-card-content{align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;display:flex}.library-card-icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.library-card-info{flex:1;min-width:0}.library-card-dates{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.library-card-status{white-space:nowrap;border-style:solid;border-width:1px;border-radius:10px;flex-shrink:0;align-items:center;gap:.4rem;padding:.5rem .875rem;font-size:.8rem;font-weight:700;display:flex}@media (width<=500px){.library-card-content{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.25rem}.library-card-icon{width:48px;height:48px}.library-card-info{width:100%}.library-card-dates{flex-direction:column;align-items:flex-start;gap:.5rem}.library-card-status{justify-content:center;width:100%}}.history-section{margin-top:3rem}.history-title{color:#1e293b;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.25rem;font-weight:700;display:flex}.history-table-container{background-color:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.history-table{border-collapse:collapse;text-align:left;width:100%}.history-table th{color:#64748b;text-transform:uppercase;letter-spacing:.025em;background-color:#f8fafc;border-bottom:1px solid #e2e8f0;padding:1rem 1.5rem;font-size:.85rem;font-weight:600}.history-table td{color:#1e293b;border-bottom:1px solid #f1f5f9;padding:1rem 1.5rem;font-size:.9rem}.history-table tr:last-child td{border-bottom:none}.history-status-badge{border-radius:9999px;align-items:center;gap:.25rem;padding:.25rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex}.status-returned{color:#059669;background-color:#d1fae5}@media (width<=768px){.history-table th:nth-child(3),.history-table td:nth-child(3){display:none}}.responsible-agenda-page{width:100%}.responsible-agenda-shell{--agenda-bg:#f6f7fb;--agenda-surface:#fff;--agenda-border:#dfe6f1;--agenda-muted:#7b8796;--agenda-text:#0f172a;--agenda-primary:#5a3df5;--agenda-primary-deep:#4529dd;--agenda-primary-soft:#f4f0ff;--agenda-blue:#2563eb;--agenda-blue-soft:#eff6ff;--agenda-amber:#f59e0b;--agenda-amber-soft:#fff7e8;--agenda-orange:#ea580c;--agenda-orange-soft:#fff4ed;--agenda-purple:#9333ea;--agenda-purple-soft:#f6eeff;width:100%;min-height:calc(100vh - 2rem);color:var(--agenda-text);flex-direction:column;gap:1rem;padding:.25rem 0 1rem;display:flex;position:relative}.responsible-agenda-shell:before{content:"";z-index:-1;background:radial-gradient(circle at 0 0,#5a3df514,#0000 30%),linear-gradient(#ffffffe6,#f6f7fb);border-radius:28px;position:absolute;inset:0}.responsible-agenda-topbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.responsible-agenda-topbar-controls{align-items:center;gap:.65rem;display:inline-flex}.responsible-agenda-title{align-items:center;gap:.65rem;min-width:0;display:flex}.responsible-agenda-title-icon{width:1.9rem;height:1.9rem;color:var(--agenda-primary);background:var(--agenda-primary-soft);border-radius:.55rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;box-shadow:inset 0 0 0 1px #5a3df514}.responsible-agenda-title h1{letter-spacing:-.02em;color:#0b1020;margin:0;font-size:1.25rem;font-weight:850}.responsible-agenda-week-nav{border:1px solid var(--agenda-border);background:#fffffff2;border-radius:.9rem;align-items:center;gap:.15rem;min-height:2.75rem;padding:.25rem .5rem;display:inline-flex;box-shadow:0 10px 22px #0f172a0d}.responsible-agenda-week-nav button{color:#9aa5b1;cursor:pointer;background:0 0;border:0;border-radius:.6rem;justify-content:center;align-items:center;width:2rem;height:2rem;transition:background-color .18s,color .18s,transform .18s;display:inline-flex}.responsible-agenda-week-nav button:hover{color:#64748b;background:#f4f6fb}.responsible-agenda-week-nav button:active{transform:translateY(1px)}.responsible-agenda-week-nav span{text-align:center;color:#334155;min-width:15.5rem;font-size:.92rem;font-weight:600}.responsible-agenda-days-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;display:grid}.responsible-agenda-read-filter{border:1px solid var(--agenda-border);background:#ffffffeb;border-radius:.85rem;align-items:center;gap:.5rem;width:fit-content;padding:.3rem;display:inline-flex;box-shadow:0 10px 22px #0f172a0d}.responsible-agenda-filter-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:.65rem;padding:.55rem .9rem;font-size:.82rem;font-weight:800;transition:background-color .2s,color .2s,box-shadow .2s,transform .2s}.responsible-agenda-filter-btn:hover{color:#334155;background:#f8fafc}.responsible-agenda-filter-btn.is-active{background:linear-gradient(180deg, var(--agenda-primary), var(--agenda-primary-deep));color:#fff;box-shadow:0 8px 16px #5a3df538}.responsible-agenda-filter-btn.is-active:active{transform:translateY(1px)}.responsible-agenda-filter-btn-mark-all{color:#1e293b;background:#fff;border:1px solid #dbe6f4;margin-left:.1rem;font-weight:700}.responsible-agenda-filter-btn-mark-all:hover:not(:disabled){color:#0f172a;background:#f1f5f9}.responsible-agenda-filter-btn-mark-all:disabled{opacity:.5;cursor:not-allowed}.responsible-agenda-weekend-toggle{border:1px solid var(--agenda-border);color:#334155;-webkit-user-select:none;user-select:none;background:#ffffffe6;border-radius:.75rem;align-items:center;gap:.5rem;width:fit-content;padding:.5rem .7rem;font-size:.82rem;font-weight:700;display:inline-flex;box-shadow:0 6px 14px #0f172a0d}.responsible-agenda-weekend-toggle input{width:1rem;height:1rem;accent-color:var(--agenda-primary);cursor:pointer}.responsible-agenda-day-card{border:1px solid var(--agenda-border);text-align:left;cursor:pointer;background:#fffffffa;border-radius:.95rem;min-height:5.15rem;padding:.85rem .85rem .8rem;transition:transform .18s,box-shadow .18s,border-color .18s,background-color .18s;box-shadow:0 8px 18px #0f172a0f}.responsible-agenda-day-card:hover{border-color:#c9d5e6;transform:translateY(-1px);box-shadow:0 12px 24px #0f172a14}.responsible-agenda-day-card.is-selected{background:linear-gradient(180deg, var(--agenda-primary), var(--agenda-primary-deep));border-color:#0000;box-shadow:0 14px 28px #5a3df538}.responsible-agenda-day-label{letter-spacing:.07em;text-transform:uppercase;color:#93a0b4;font-size:.74rem;font-weight:850}.responsible-agenda-day-label.is-selected{color:#ffffffc7}.responsible-agenda-day-date{color:#101828;align-items:center;gap:.45rem;margin-top:.15rem;font-size:1.04rem;font-weight:800;display:flex}.responsible-agenda-day-date.is-selected{color:#fff}.responsible-agenda-today-badge{color:#5468ff;background:#e9edff;border-radius:999px;min-height:1.1rem;padding:.1rem .42rem;font-size:.62rem;font-weight:850;line-height:1}.responsible-agenda-day-card.is-selected .responsible-agenda-today-badge{color:#fff;background:#ffffff2e}.responsible-agenda-day-footer{justify-content:space-between;align-items:center;margin-top:.68rem;display:flex}.responsible-agenda-day-dots{align-items:center;gap:.28rem;display:flex}.responsible-agenda-dot{border-radius:999px;width:.48rem;height:.48rem;display:inline-block}.responsible-agenda-dot.is-selected{opacity:.9}.responsible-agenda-dot.tone-note{background:var(--agenda-blue)}.responsible-agenda-dot.tone-warning{background:var(--agenda-amber)}.responsible-agenda-dot.tone-observation{background:var(--agenda-orange)}.responsible-agenda-dot.tone-communication{background:var(--agenda-purple)}.responsible-agenda-dot.unread{background:#ff6b6b;margin-left:auto}.responsible-agenda-empty-label{color:#c4cedc;font-size:.74rem;font-weight:650}.responsible-agenda-empty-label.is-selected{color:#ffffffb8}.responsible-agenda-divider{align-items:center;gap:.85rem;margin-top:.05rem;display:flex}.responsible-agenda-divider span{background:#94a3b847;flex:1;height:1px}.responsible-agenda-divider strong{letter-spacing:.11em;text-transform:uppercase;color:#64748b;flex-shrink:0;font-size:.85rem;font-weight:850}.responsible-agenda-content{flex-direction:column;gap:.9rem;display:flex}.responsible-agenda-entry-list{flex-direction:column;gap:.85rem;display:flex}.responsible-agenda-entry-card{border:1px solid var(--agenda-border);background:var(--agenda-surface);text-align:left;appearance:none;cursor:pointer;border-radius:1rem;width:100%;padding:0;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 24px #0f172a12}.responsible-agenda-entry-card:hover{border-color:#5a3df52e;transform:translateY(-1px);box-shadow:0 14px 30px #0f172a1f}.responsible-agenda-entry-card.is-unread{box-shadow:0 12px 28px #5a3df51f}.responsible-agenda-entry-card.is-unread:hover{border-color:#5a3df547;box-shadow:0 14px 30px #5a3df529}.responsible-agenda-entry-bar{width:100%;height:.22rem;position:absolute;top:0;left:0}.responsible-agenda-entry-card.tone-note .responsible-agenda-entry-bar{background:var(--agenda-blue)}.responsible-agenda-entry-card.tone-warning .responsible-agenda-entry-bar{background:var(--agenda-amber)}.responsible-agenda-entry-card.tone-observation .responsible-agenda-entry-bar{background:var(--agenda-orange)}.responsible-agenda-entry-card.tone-communication .responsible-agenda-entry-bar{background:var(--agenda-purple)}.responsible-agenda-entry-body{width:100%;min-width:0;padding:1rem 1.15rem 1.05rem}.responsible-agenda-entry-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.responsible-agenda-chip{white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;min-height:1.5rem;padding:.18rem .58rem;font-size:.73rem;font-weight:850;line-height:1;display:inline-flex}.responsible-agenda-chip.tone-note{color:#1d4ed8;background:var(--agenda-blue-soft)}.responsible-agenda-chip.tone-warning{color:#b45309;background:var(--agenda-amber-soft)}.responsible-agenda-chip.tone-observation{color:#ea580c;background:var(--agenda-orange-soft)}.responsible-agenda-chip.tone-communication{color:#7c3aed;background:var(--agenda-purple-soft)}.responsible-agenda-status{flex-shrink:0;align-items:center;gap:.32rem;font-size:.74rem;font-weight:700;display:inline-flex}.responsible-agenda-status.is-read{color:#94a3b8}.responsible-agenda-status.is-unread{color:#6d28d9}.responsible-agenda-status-dot{background:#8b5cf6;border-radius:999px;width:.48rem;height:.48rem;display:inline-block}.responsible-agenda-entry-body h3{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.98rem;font-weight:800;line-height:1.35;overflow:hidden}.responsible-agenda-entry-card.is-expanded .responsible-agenda-entry-body h3{white-space:normal;overflow-wrap:break-word;overflow:visible}.responsible-agenda-entry-card.is-expanded .responsible-agenda-entry-body p{white-space:normal;overflow-wrap:break-word}.responsible-agenda-entry-body p{color:#475569;margin:.35rem 0 0;font-size:.92rem;line-height:1.55}.responsible-agenda-meta{color:#8a97ad;flex-wrap:wrap;align-items:center;gap:.35rem .7rem;margin-top:.75rem;font-size:.79rem;font-weight:600;display:flex}.responsible-agenda-meta span{align-items:center;gap:.3rem;display:inline-flex}.responsible-agenda-empty-state{min-height:13rem;color:var(--agenda-muted);text-align:center;background:#ffffffbf;border:1px dashed #94a3b873;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;padding:1.5rem;display:flex}.responsible-agenda-empty-state strong{color:#0f172a;font-size:1rem;font-weight:850}.responsible-agenda-empty-state span{max-width:38rem;line-height:1.55}.responsible-agenda-unread-pill{z-index:10;color:#475569;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border:1px solid #94a3b847;border-radius:999px;align-items:center;gap:.45rem;padding:.7rem .95rem;font-size:.84rem;font-weight:800;display:inline-flex;position:fixed;bottom:1.4rem;right:1.4rem;box-shadow:0 16px 28px #0f172a24}.responsible-agenda-unread-dot{background:#ef4444;border-radius:999px;width:.6rem;height:.6rem;box-shadow:0 0 0 4px #ef44441f}.responsible-agenda-entry-body .truncated-text{color:#475569;margin:.35rem 0 0;font-size:.92rem;line-height:1.55}.responsible-agenda-entry-body .truncated-text:hover{opacity:.8}@media (width<=1180px){.responsible-agenda-days-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.responsible-agenda-shell{gap:.85rem;min-height:auto;padding-top:0}.responsible-agenda-topbar{flex-direction:column;align-items:stretch}.responsible-agenda-topbar-controls{flex-direction:column;align-items:stretch;gap:.5rem}.responsible-agenda-weekend-toggle{justify-content:center;width:100%}.responsible-agenda-week-nav{justify-content:space-between;width:100%}.responsible-agenda-week-nav span{min-width:0;font-size:.82rem}.responsible-agenda-days-grid{grid-template-columns:1fr}.responsible-agenda-read-filter{justify-content:stretch;width:100%}.responsible-agenda-filter-btn{text-align:center;flex:1}.responsible-agenda-day-card{min-height:4.75rem}.responsible-agenda-entry-head{flex-direction:column;align-items:flex-start}.responsible-agenda-entry-card{border-radius:.9rem}.responsible-agenda-entry-body{padding:.95rem 1rem 1rem}.responsible-agenda-unread-pill{bottom:.85rem;right:.85rem}}.academic-management-header{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.academic-management-header-copy{flex:1;min-width:0}.academic-agenda-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#5a3cf0 0%,#4b35d1 100%);border:none;border-radius:14px;align-self:center;align-items:center;gap:.55rem;padding:.9rem 1.1rem;font-weight:800;transition:transform .2s,box-shadow .2s,filter .2s;display:inline-flex;box-shadow:0 10px 20px #5a3cf038}.academic-agenda-btn:hover{filter:brightness(1.02);transform:translateY(-1px);box-shadow:0 14px 26px #5a3cf047}.academic-agenda-btn:focus-visible{outline-offset:2px;outline:3px solid #5a3cf040}.academic-tab-btn:focus,.academic-tab-btn:focus-visible{box-shadow:none!important;outline:none!important}@media (width<=768px){.academic-management-header{flex-direction:column;align-items:flex-start}.academic-agenda-btn{justify-content:center;width:100%}}.canteen-inventory-container{max-width:100%;padding:1rem 1.5rem;animation:.5s ease-out fadeIn}.inventory-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.header-titles h2{color:#333;margin:0;font-size:1.5rem;font-weight:700}.header-titles p{color:#64748b;margin-top:.25rem;font-size:.875rem}.header-actions{gap:1rem;display:flex}.inventory-filters{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;display:flex}.filters-header{align-items:center;gap:1rem;display:flex}.search-box{background:#f1f5f9;border-radius:8px;flex:1;align-items:center;height:45px;padding:0 1rem;transition:all .3s;display:flex}.search-box input{color:#1e293b;background:0 0;border:none;outline:none;width:100%;height:100%;padding:0 .5rem;font-size:.9rem}.clear-filters-btn{white-space:nowrap;height:45px;color:#64748b!important;box-shadow:none!important;background:#f1f5f9!important;border:none!important;border-radius:8px!important;padding:0 1.5rem!important;font-size:.875rem!important;font-weight:500!important}.clear-filters-btn:hover{background:#e2e8f0!important}.filters-options{gap:2rem;display:flex}.filter-group{flex-direction:column;gap:.5rem;width:250px;display:flex}.filter-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:700}.filter-select{color:#1e293b;cursor:pointer;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394A3B8' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;border:1px solid #e2e8f0;border-radius:8px;outline:none;width:100%;height:40px;padding:0 .75rem;font-size:.875rem;transition:all .2s}.inventory-form{flex-direction:column;gap:1.25rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.form-group label{color:#475569;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.custom-select{background:#fff;border:1px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:.75rem;font-size:.95rem}.modal-footer{justify-content:stretch;gap:1rem;padding-top:1rem;display:flex}.modal-footer button{white-space:nowrap;flex:1}.loading-state,.empty-state{text-align:center;color:#94a3b8;grid-column:1/-1;padding:4rem}.empty-state p{margin-top:1rem;font-weight:600}.categories-side-panel{z-index:1100;background:#fff;flex-direction:column;width:450px;height:100vh;transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-10px 0 30px #0000000d}.categories-side-panel.open{transform:translate(0)}.panel-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:2rem;display:flex}.panel-header h3{color:#1e293b;margin:0;font-size:1.25rem;font-weight:700}.close-panel-btn{cursor:pointer;color:#64748b;background:#f1f5f9;border:none;border-radius:8px;padding:.5rem;transition:all .2s;display:flex}.close-panel-btn:hover{color:#1e293b;background:#e2e8f0}.panel-content{flex-direction:column;flex:1;gap:1rem;padding:2rem;display:flex;overflow-y:auto}.panel-footer{background:#f8fafc;border-top:1px solid #f1f5f9;gap:1rem;padding:1.5rem 2rem;display:flex}.panel-footer button{white-space:nowrap;flex:1;justify-content:center;align-items:center;display:flex}.panel-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1090;opacity:0;visibility:hidden;background:#0f172a4d;transition:all .3s;position:fixed;inset:0 0 0 260px}.panel-backdrop.open{opacity:1;visibility:visible}@media (width<=1250px){.panel-backdrop{left:80px}}@media (width<=768px){.panel-backdrop{left:0}.categories-side-panel{width:100%}}.category-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;padding:1.25rem;transition:all .2s;display:flex}.category-card:hover{background:#f8fafc;border-color:#6366f1;transform:translateY(-2px);box-shadow:0 4px 12px #6366f114}.category-info{flex-direction:column;gap:.25rem;display:flex}.category-name{color:#1e293b;font-size:1rem;font-weight:600}.category-actions{gap:.5rem;display:flex}.local-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1200;opacity:0;visibility:hidden;background:#0f172a4d;align-items:center;transition:all .3s;display:flex;position:fixed;inset:0 0 0 260px}.local-modal-overlay.open{opacity:1;visibility:visible}.local-modal-content{background:#fff;border-radius:16px;flex-direction:column;width:90%;max-width:500px;margin-left:18rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden;transform:scale(.95);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.local-modal-overlay.open .local-modal-content{transform:scale(1)}.local-modal-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.local-modal-header h3{color:#1e293b;margin:0;font-size:1.25rem;font-weight:700}.local-modal-body{padding:2rem}.local-modal-footer{background:#f8fafc;border-top:1px solid #f1f5f9;gap:1rem;padding:1.5rem 2rem;display:flex}.local-modal-footer button{white-space:nowrap;flex:1}@media (width<=1250px){.local-modal-overlay{left:80px}}@media (width<=768px){.local-modal-overlay{left:0}}:root{--pos-primary:#6366f1;--pos-primary-dark:#4f46e5;--pos-primary-light:#eef2ff;--pos-success:#10b981;--pos-warning:#f59e0b;--pos-danger:#ef4444;--pos-bg:transparent;--pos-card-bg:#fff;--pos-text-main:#1e293b;--pos-text-sub:#475569;--pos-text-muted:#94a3b8;--pos-border:#e2e8f0;--pos-border-light:#f1f5f9;--pos-radius-sm:10px;--pos-radius:16px;--pos-radius-lg:20px;--pos-shadow-sm:0 1px 3px 0 #00000012;--pos-shadow:0 4px 12px -2px #0000001a;--pos-shadow-lg:0 12px 32px -4px #0000001f;--pos-transition:all .22s cubic-bezier(.4, 0, .2, 1)}.canteen-pos-container{background:var(--pos-bg);grid-template-columns:1fr 370px;gap:0;height:calc(100vh - 64px - 4.5rem);padding:0;font-family:Inter,sans-serif;display:grid;overflow:hidden}.canteen-pos-container .pos-main{scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent;flex-direction:column;gap:1.25rem;height:100%;padding:1.5rem 1.75rem;display:flex;overflow-y:auto}.canteen-pos-container .pos-main::-webkit-scrollbar{width:5px}.canteen-pos-container .pos-main::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:99px}.canteen-pos-container .pos-header{flex-direction:column;gap:1rem;display:flex}.header-titles h2{color:var(--pos-text-main);letter-spacing:-.02em;margin:0;font-family:Outfit,sans-serif;font-size:1.6rem;font-weight:800}.header-titles p{color:var(--pos-text-muted);margin:.2rem 0 0;font-size:.85rem}.search-wrapper{position:relative}.search-wrapper .search-icon{color:var(--pos-text-muted);pointer-events:none;z-index:2;transition:var(--pos-transition);position:absolute;top:50%;left:1.1rem;transform:translateY(-50%)}.search-wrapper:focus-within .search-icon{color:var(--pos-primary)}.search-wrapper input{border:1.5px solid var(--pos-border);border-radius:var(--pos-radius);background:var(--pos-card-bg);width:100%;color:var(--pos-text-main);box-shadow:var(--pos-shadow-sm);transition:var(--pos-transition);outline:none;padding:.9rem 1rem .9rem 3rem;font-family:Inter,sans-serif;font-size:.95rem}.search-wrapper input::placeholder{color:var(--pos-text-muted)}.search-wrapper input:focus{border-color:var(--pos-primary);box-shadow:0 0 0 3px #6366f11f}.categories-pills{scrollbar-width:none;gap:.6rem;padding-bottom:2px;display:flex;overflow-x:auto}.categories-pills::-webkit-scrollbar{display:none}.category-pill{background:var(--pos-card-bg);border:1.5px solid var(--pos-border);color:var(--pos-text-sub);cursor:pointer;white-space:nowrap;transition:var(--pos-transition);box-shadow:var(--pos-shadow-sm);border-radius:100px;padding:.5rem 1.2rem;font-family:Inter,sans-serif;font-size:.85rem;font-weight:600}.category-pill:hover{border-color:var(--pos-primary);color:var(--pos-primary);background:var(--pos-primary-light)}.category-pill.active{background:var(--pos-primary);border-color:var(--pos-primary);color:#fff;box-shadow:0 4px 10px #6366f147}.products-grid-pos{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));align-content:start;gap:1rem;padding-bottom:1.5rem;display:grid}.product-card-pos{background:var(--pos-card-bg);border:1.5px solid var(--pos-border-light);border-radius:var(--pos-radius);transition:var(--pos-transition);cursor:pointer;box-shadow:var(--pos-shadow-sm);flex-direction:column;padding:1.1rem;display:flex;position:relative;overflow:hidden}.product-card-pos:before{content:"";opacity:0;transition:var(--pos-transition);background:linear-gradient(135deg,#6366f108 0%,#0000 60%);position:absolute;inset:0}.product-card-pos:hover{border-color:var(--pos-primary);transform:translateY(-3px);box-shadow:0 8px 20px -6px #6366f133}.product-card-pos:hover:before{opacity:1}.product-card-pos:active{transform:translateY(-1px)}.product-card-pos.skeleton{pointer-events:none;background:linear-gradient(90deg,#f1f5f9 25%,#e8edf5 50%,#f1f5f9 75%) 0 0/200% 100%;border:none;min-height:140px;animation:1.4s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.product-icon-area{background:var(--pos-primary-light);border-radius:var(--pos-radius-sm);width:40px;height:40px;color:var(--pos-primary);transition:var(--pos-transition);justify-content:center;align-items:center;margin-bottom:.85rem;display:flex}.product-card-pos:hover .product-icon-area{background:var(--pos-primary);color:#fff}.product-price-tag{color:var(--pos-primary);letter-spacing:-.01em;margin-bottom:.3rem;font-family:Outfit,sans-serif;font-size:1.2rem;font-weight:800}.product-name-title{color:var(--pos-text-main);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 auto;padding-bottom:.75rem;font-family:Inter,sans-serif;font-size:.88rem;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.product-card-footer{border-top:1px solid var(--pos-border-light);justify-content:space-between;align-items:center;margin-top:.75rem;padding-top:.65rem;display:flex}.stock-indicator{color:var(--pos-text-muted);align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;display:flex}.stock-dot{background:var(--pos-success);border-radius:50%;flex-shrink:0;width:6px;height:6px}.product-card-pos.low-stock .stock-dot{background:var(--pos-warning)}.product-card-pos.out-of-stock .stock-dot{background:var(--pos-danger)}.add-button-hint{background:var(--pos-primary-light);width:28px;height:28px;color:var(--pos-primary);opacity:0;transition:var(--pos-transition);border-radius:8px;justify-content:center;align-items:center;display:flex;transform:scale(.7)}.product-card-pos:hover .add-button-hint{opacity:1;transform:scale(1)}.product-card-pos.out-of-stock{opacity:.45;cursor:not-allowed;filter:grayscale(.6)}.canteen-pos-container .pos-sidebar{border-left:1px solid var(--pos-border-light);background:#fff;flex-direction:column;display:flex;overflow:hidden}.student-selector{border-bottom:1px solid var(--pos-border-light);background:#fafbff;padding:1.25rem 1.5rem}.student-selector h3{color:var(--pos-text-muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:.5rem;margin:0 0 .85rem;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:700;display:flex}.selector-wrapper{position:relative}.selector-wrapper input{border-radius:var(--pos-radius-sm);border:1.5px solid var(--pos-border);width:100%;color:var(--pos-text-main);transition:var(--pos-transition);box-shadow:var(--pos-shadow-sm);background:#fff;outline:none;padding:.7rem 2.5rem .7rem .9rem;font-family:Inter,sans-serif;font-size:.9rem}.selector-wrapper input:focus{border-color:var(--pos-primary);box-shadow:0 0 0 3px #6366f11a}.clear-student{color:var(--pos-text-muted);cursor:pointer;width:22px;height:22px;transition:var(--pos-transition);background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.clear-student:hover{color:var(--pos-text-main);background:#e2e8f0}.student-dropdown{border:1.5px solid var(--pos-border);border-radius:var(--pos-radius-sm);box-shadow:var(--pos-shadow-lg);z-index:100;background:#fff;max-height:220px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.dropdown-item{cursor:pointer;border-bottom:1px solid var(--pos-border-light);padding:.7rem 1rem;transition:background .15s}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:#f8faff}.dropdown-message{text-align:center;color:var(--pos-text-muted);padding:1rem;font-size:.85rem}.dropdown-item .name{color:var(--pos-text-main);font-size:.9rem;font-weight:600}.dropdown-item .balance{color:var(--pos-primary);margin-top:2px;font-size:.78rem;font-weight:500}.student-details-card{background:var(--pos-primary-light);border-radius:var(--pos-radius-sm);flex-direction:column;gap:.45rem;margin-top:.85rem;padding:.85rem;display:flex}.student-details-card .detail{justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.student-details-card .detail span{color:var(--pos-text-sub);font-weight:500}.student-details-card .detail strong{color:var(--pos-primary-dark);font-family:Outfit,sans-serif;font-weight:700}.cart-section{flex-direction:column;flex:1;min-height:0;padding:1.25rem 1.5rem;display:flex;overflow:hidden}.cart-header{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.cart-header h3{color:var(--pos-text-muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:.5rem;margin:0;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:700;display:flex}.cart-count{color:var(--pos-primary);background:var(--pos-primary-light);border-radius:99px;padding:.2rem .6rem;font-size:.78rem;font-weight:700}.cart-items{scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent;flex-direction:column;flex:1;gap:0;padding-right:2px;display:flex;overflow-y:auto}.cart-items::-webkit-scrollbar{width:4px}.cart-items::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:99px}.empty-cart{color:#cbd5e1;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;height:100%;padding:2rem 0;font-size:.85rem;display:flex}.cart-item{border-bottom:1px solid var(--pos-border-light);justify-content:space-between;align-items:center;padding:.85rem 0;display:flex}.cart-item:last-child{border-bottom:none}.item-info .name{color:var(--pos-text-main);font-size:.87rem;font-weight:600}.item-info .price{color:var(--pos-text-muted);margin-top:2px;font-size:.78rem}.item-qty{background:var(--pos-border-light);border-radius:8px;flex-shrink:0;align-items:center;gap:.5rem;padding:.3rem .4rem;display:flex}.item-qty button{cursor:pointer;width:22px;height:22px;color:var(--pos-primary);box-shadow:var(--pos-shadow-sm);transition:var(--pos-transition);background:#fff;border:none;border-radius:5px;justify-content:center;align-items:center;display:flex}.item-qty button:hover{background:var(--pos-primary);color:#fff}.item-qty span{text-align:center;min-width:18px;color:var(--pos-text-main);font-family:Outfit,sans-serif;font-size:.9rem;font-weight:700}.cart-summary{border-top:1.5px solid var(--pos-border-light);flex-direction:column;flex-shrink:0;gap:.85rem;padding-top:1rem;display:flex}.total-row{justify-content:space-between;align-items:baseline;display:flex}.total-row span{color:var(--pos-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.total-row strong{color:var(--pos-text-main);letter-spacing:-.02em;font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:800}.payment-options{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.pay-option{border-radius:var(--pos-radius-sm);border:1.5px solid var(--pos-border);cursor:pointer;color:var(--pos-text-muted);transition:var(--pos-transition);background:#fff;flex-direction:column;align-items:center;gap:.35rem;padding:.65rem .5rem;font-family:Inter,sans-serif;font-size:.75rem;font-weight:700;display:flex}.pay-option:hover{border-color:var(--pos-primary);color:var(--pos-primary);background:var(--pos-primary-light)}.pay-option.active{border-color:var(--pos-primary);background:var(--pos-primary-light);color:var(--pos-primary);box-shadow:0 0 0 2px #6366f126}.finalize-btn{border-radius:var(--pos-radius-sm);letter-spacing:.01em;padding:.85rem;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:700}.spinning{animation:1s linear infinite spin}.canteen-hub-container{max-width:100%;animation:.4s ease-out fadeIn}.hub-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.header-text h2{color:#333;margin:0;font-size:1.5rem;font-weight:700}.header-text p{color:#64748b;margin-top:.25rem;font-size:.875rem}.hub-overview{grid-template-columns:2fr 1fr;gap:1.5rem;margin-bottom:2rem;display:grid}.wallet-card{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border-radius:24px;flex-direction:column;justify-content:space-between;padding:2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 25px -5px #4f46e566}.wallet-card:after{content:"";pointer-events:none;background:#ffffff1a;border-radius:50%;width:300px;height:300px;position:absolute;top:-50%;right:-20%}.wallet-icon{background:#fff3;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1.5rem;display:flex}.wallet-info .label{opacity:.8;margin-bottom:.25rem;font-size:.9rem;font-weight:500;display:block}.wallet-info .value{margin:0;font-size:2.5rem;font-weight:800}.wallet-stats{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.wallet-stat-item{background:#00000026;border-radius:99px;align-items:center;gap:.5rem;padding:.4rem .9rem;display:flex}.wallet-stat-item .label{opacity:.75;margin:0;font-size:.78rem}.wallet-stat-item .limit-value{font-size:.85rem;font-weight:700}.wallet-stat-item .limit-value.available{color:#86efac}.info-card{background:#fff;border:1px solid #f1f5f9;border-radius:24px;flex-direction:column;justify-content:center;gap:.75rem;padding:2rem;display:flex;box-shadow:0 4px 6px -1px #0000000d}.info-icon{color:#f59e0b;background:#fffbeb;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.info-text .label{color:#64748b;font-size:.9rem;font-weight:600;display:block}.info-text .value{color:#1e293b;margin:0;font-size:1.75rem;font-weight:800}.info-sub{color:#94a3b8;margin-top:.25rem;font-size:.78rem;display:block}.history-full-section{background:#fff;border:1px solid #f1f5f9;border-radius:24px;padding:2rem;box-shadow:0 4px 6px -1px #0000000d}.section-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.header-title-group{align-items:center;gap:.75rem;display:flex}.header-title-group h3{color:#1e293b;margin:0;font-size:1.15rem;font-weight:700}.header-title-group svg{color:#6366f1}.history-header-right{align-items:center;gap:1rem;display:flex}.history-filters{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:.75rem;padding:.35rem;display:flex}.filter-item{align-items:center;display:flex;position:relative}.filter-item span{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;pointer-events:none;z-index:5;font-size:.6rem;font-weight:800;line-height:1.2;position:absolute;top:.5rem;left:.85rem}.filter-item select{color:#1e293b;cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right .75rem center no-repeat;border:1px solid #0000;border-radius:10px;outline:none;min-width:140px;padding:1.4rem 2.25rem .5rem .85rem;font-size:.8125rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #00000008}.filter-item select:hover:not(:disabled){border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 4px 12px -2px #0000000d}.filter-item select:focus{background-color:#fff;border-color:#6366f1;box-shadow:0 0 0 4px #6366f114}.filter-item select:disabled{color:#94a3b8;cursor:not-allowed;opacity:.7;box-shadow:none;background-color:#f1f5f9}.history-count{color:#64748b;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:.6rem 1rem;font-size:.75rem;font-weight:700}.history-table-wrapper{overflow-x:auto}.history-table{border-collapse:collapse;width:100%;font-size:.875rem}.history-table thead tr{border-bottom:2px solid #f1f5f9}.history-table th{text-align:left;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;padding:.75rem 1rem;font-size:.75rem;font-weight:700}.history-table tbody tr{border-bottom:1px solid #f8fafc;transition:background .15s}.history-table tbody tr:last-child{border-bottom:none}.history-table tbody tr:hover{background:#f8fafc}.history-table td{vertical-align:middle;padding:1rem}.col-date{color:#1e293b;white-space:nowrap;font-weight:600}.col-time{color:#94a3b8;margin-top:2px;font-size:.75rem;font-weight:400;display:block}.col-items{color:#475569;max-width:300px}.col-status{white-space:nowrap}.status-badge{border-radius:99px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.75rem;font-weight:700;display:inline-flex}.status-badge.paid{color:#16a34a;background:#f0fdf4}.type-tag{text-transform:uppercase;letter-spacing:.05em;border-radius:6px;padding:.25rem .6rem;font-size:.7rem;font-weight:700}.type-tag.balance{color:#2563eb;background:#eff6ff;border:1px solid #dbeafe}.type-tag.credit{color:#d97706;background:#fffbeb;border:1px solid #fef3c7}.col-amount{text-align:right;white-space:nowrap;font-weight:700}.col-amount.paid{color:#10b981}.col-amount.limit-amount{color:#d97706}.empty-list{text-align:center;color:#94a3b8;flex-direction:column;align-items:center;padding:4rem 1.5rem;font-size:.875rem;font-weight:500;display:flex}.loading-state{color:#94a3b8;justify-content:center;align-items:center;gap:.75rem;padding:3rem;font-size:.875rem;display:flex}.loading-spinner{border:2px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.deposit-form{flex-direction:column;gap:1.5rem;display:flex}.deposit-info{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;gap:.75rem;padding:1rem;display:flex}.deposit-info p{margin:0;font-size:.85rem;line-height:1.4}.quick-amounts{gap:.75rem;display:flex}.quick-amounts button{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex:1;padding:.75rem;font-weight:700;transition:all .2s}.quick-amounts button:hover{color:#6366f1;background:#f5f3ff;border-color:#6366f1}@media (width<=768px){.hub-overview{grid-template-columns:1fr}.history-table th:nth-child(2),.history-table td:nth-child(2){display:none}}.pix-payment-container{color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:24px;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;animation:.4s ease-out fadeIn;display:flex;box-shadow:0 4px 6px -1px #0000000d}.pix-card-header{border-bottom:1px dashed #cbd5e1;flex-direction:column;align-items:center;gap:.5rem;width:100%;padding-bottom:1.25rem;display:flex}.pix-icon-wrapper{background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:.5rem;display:flex;box-shadow:0 10px 15px -3px #6366f14d}.pix-card-header span{color:#1e293b;font-size:1.25rem;font-weight:800}.pix-info-section{text-align:center;flex-direction:column;gap:.75rem;width:100%;display:flex}.pix-amount-badge{color:#4f46e5;background:#eef2ff;border:1px solid #6366f133;border-radius:12px;width:100%;padding:.75rem 1.5rem;font-size:1.1rem;display:inline-block}.pix-info-section p{color:#64748b;margin:0;font-size:.9rem;line-height:1.5}.pix-copy-button{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:14px;justify-content:center;align-items:center;gap:.75rem;width:100%;padding:1.1rem;font-size:1rem;font-weight:700;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 6px -1px #4f46e533}.pix-copy-button:hover{color:#fff;background:#4338ca;transform:translateY(-2px);box-shadow:0 10px 15px -3px #4f46e54d}.pix-copy-button:active{transform:scale(.98)}.payment-methods-selection{flex-direction:column;gap:1.25rem;animation:.3s ease-out fadeIn;display:flex}.selection-label{color:#475569;margin-bottom:.5rem;font-size:.95rem}.method-option{cursor:pointer;border:2px solid #f1f5f9;border-radius:16px;align-items:center;gap:1rem;padding:1.25rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.method-option.active{background:#f5f3ff;border-color:#6366f1}.method-option:not(.disabled):hover{border-color:#6366f1;transform:translateY(-2px);box-shadow:0 10px 15px -3px #6366f11a}.method-option.disabled{opacity:.6;cursor:not-allowed;background:#f8fafc}.method-icon-wrapper{border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.method-icon-wrapper.pix{color:#fff;background:#32bcad}.method-icon-wrapper.card{color:#fff;background:#64748b}.method-details{flex-direction:column;display:flex}.method-name{color:#1e293b;font-size:1rem;font-weight:700}.method-desc{color:#64748b;font-size:.8rem}.method-badge{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:#6366f1;border-radius:99px;padding:.25rem .6rem;font-size:.65rem;font-weight:800;position:absolute;top:1rem;right:1.25rem}.low-stock-item{padding:.5rem 0}.stock-bar-container{background-color:#f1f5f9;border-radius:100px;width:100%;height:6px;margin-top:.75rem;overflow:hidden}.stock-bar{background:linear-gradient(90deg,#ef4444 0%,#f59e0b 100%);border-radius:100px;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.metric-card:hover{border-color:var(--pos-primary);transform:translateY(-4px);box-shadow:0 10px 20px -5px #0000000d}.dashboard-container{padding-bottom:3rem}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}body{color:#333;background-color:#f5f5f5}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}button{cursor:pointer;font-family:inherit}input,button,select,textarea{font-family:inherit}
