:root[data-theme=light]{--brand-red:#ba1f33;--brand-black:#fff;--brand-white:#1c1c1c;--brand-whitePure:#1c1c1c;--brand-off_white:#f6f6f6;--system-alert:#fbf111;--system-error:red;--system-success:#15cd11;--background:#fff;--backgroundTwo:#fff;--backgroundExtremelyLight:#f6f6f605;--backgroundDarkGray:#222;--backgroundLightGray:#666;--backgroundGrayAlmostWhite:#fff;--backgroundVeryLight:#1c1c1c14;--brand-blackSpecial:#f6f6f6}:root[data-theme=dark]{--brand-red:#ba1f33;--brand-black:#1c1c1c;--brand-white:#fff;--brand-whitePure:#ffffffbf;--brand-off_white:#f6f6f6;--system-alert:#fbf111;--system-error:red;--system-success:#15cd11;--background:#2b2b2b;--backgroundTwo:#222;--backgroundExtremelyLight:#f6f6f605;--backgroundDarkGray:#222;--backgroundLightGray:#f0f0f0;--backgroundGrayAlmostWhite:#f6f6f60a;--backgroundVeryLight:#f6f6f614;--brand-blackSpecial:#1c1c1c}input:-webkit-autofill{appearance:none;-webkit-text-fill-color:#acacac80}input:-webkit-autofill:hover{appearance:none;-webkit-text-fill-color:#acacac80}input:-webkit-autofill:focus{appearance:none;-webkit-text-fill-color:#acacac80}textarea:-webkit-autofill{appearance:none;-webkit-text-fill-color:#acacac80}textarea:-webkit-autofill:hover{appearance:none;-webkit-text-fill-color:#acacac80}textarea:-webkit-autofill:focus{appearance:none;-webkit-text-fill-color:#acacac80}select:-webkit-autofill{appearance:none;-webkit-text-fill-color:#acacac80}select:-webkit-autofill:hover{appearance:none;-webkit-text-fill-color:#acacac80}select:-webkit-autofill:focus{appearance:none;-webkit-text-fill-color:#acacac80}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:#141414;margin:0}a{text-decoration:none}ul{padding-left:0}ul li{list-style:none}.application{overflow:hidden}.target-message-success{position:fixed;top:13%;left:50%;transform:translate(-50%,-15%)}@media (width<=1024px){.target-message-success{top:20%}}.target-message-success{color:#fafafa;text-align:center;z-index:99999;background-color:#27ae60;border-radius:10px;padding:22px 64px;font-family:Lexend,system-ui,sans-serif;font-size:18px;font-style:normal;font-weight:500;line-height:125%}.target-message-error{position:fixed;top:13%;left:50%;transform:translate(-50%,-15%)}@media (width<=1024px){.target-message-error{top:20%}}.target-message-error{color:#fafafa;text-align:center;z-index:9999;background-color:#c0392b;border-radius:10px;padding:22px 64px;font-family:Lexend,system-ui,sans-serif;font-size:18px;font-style:normal;font-weight:500;line-height:125%}.target-health-success-message{transform:translate(-50%,-20%);top:20%!important}.container__panel{max-width:960px;margin:128px auto;padding:0 24px}.container__panel .panel__header{grid-auto-flow:column;justify-content:space-between;align-items:center;gap:24px;width:100%;display:grid}.container__panel .panel__header h1{color:#fafafa;margin:0;font-family:Lexend,system-ui,sans-serif;font-size:36px;font-weight:400;line-height:100%}.container__panel .panel__header a{color:#1c1c1c;letter-spacing:.25px;text-align:right;background:0 0;border-radius:4px;width:auto;height:auto;padding:8px;font-family:Lexend,system-ui,sans-serif;font-size:14px;font-weight:500;transition:background .5s ease-in-out;display:inline-block;position:relative}.container__panel .panel__header a:hover{background:#f2f2f21a;transition:background .5s ease-in-out}.container__panel .panel__header a:before{content:"";background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='mask0_56_707' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_56_707)'%3E%3Cpath d='M7 7.5L8.425 8.9L6.325 11L21.5 11V13L6.325 13L8.4 15.1L6.975 16.5L2.5 12L7 7.5Z' fill='%23ACACAC'/%3E%3C/g%3E%3C/svg%3E%0A");width:24px;height:24px;display:block;position:absolute;top:5px;left:-24px}.container-big__panel{max-width:1920px;margin:128px auto;padding:0 24px}.container-big__panel .panel__header{grid-auto-flow:column;justify-content:space-between;align-items:center;gap:24px;width:100%;display:grid}.container-big__panel .panel__header h1{color:#fafafa;margin:0;font-family:Lexend,system-ui,sans-serif;font-size:36px;font-weight:400;line-height:100%}.container-big__panel .panel__header a{color:#1c1c1c;letter-spacing:.25px;text-align:right;background:0 0;border-radius:4px;width:auto;height:auto;padding:8px;font-family:Lexend,system-ui,sans-serif;font-size:14px;font-weight:500;transition:background .5s ease-in-out;display:inline-block;position:relative}.container-big__panel .panel__header a:hover{background:#f2f2f21a;transition:background .5s ease-in-out}.container-big__panel .panel__header a:before{content:"";background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='mask0_56_707' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_56_707)'%3E%3Cpath d='M7 7.5L8.425 8.9L6.325 11L21.5 11V13L6.325 13L8.4 15.1L6.975 16.5L2.5 12L7 7.5Z' fill='%23ACACAC'/%3E%3C/g%3E%3C/svg%3E%0A");width:24px;height:24px;display:block;position:absolute;top:5px;left:-24px}.modal__wrap{z-index:99;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#10182066;justify-content:center;align-items:center;width:100vw;height:100vh;padding:24px;display:flex;position:fixed;inset:0}.modal__wrap .modal__main{background:#f2f2f20a;border-radius:4px;width:100%;max-width:960px;padding:32px;position:relative}.modal__wrap .modal__main .modal__close{appearance:none;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cmask id='mask0_1_50' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_1_50)'%3E%3Cpath d='M6.4 19L5 17.6L10.6 12L5 6.4L6.4 5L12 10.6L17.6 5L19 6.4L13.4 12L19 17.6L17.6 19L12 13.4L6.4 19Z' fill='%23F2F2F2'/%3E%3C/g%3E%3C/svg%3E");border:none;width:24px;height:24px;position:absolute;top:16px;right:16px}.error-inline{color:#ba1f33;font-family:JetBrains Mono,monospace;font-size:12px;font-style:normal;font-weight:400;line-height:18px}.input-border-error{border:1px solid #ba1f33!important}.required-field{color:#ba1f33}.input-icon-error{position:absolute;top:41.7%;right:10px}.input-icon-error:before{content:"";background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_3182_13244)'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM13 17H11V15H13V17ZM13 13H11V7H13V13Z' fill='%23EB5757'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_3182_13244'%3E%3Crect width='24' height='24' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");width:24px;height:24px;display:table}.offline-default{opacity:0}.loading-page-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;background-color:#0000004d;width:100%;height:100vh;position:fixed;top:0;left:0}.loading-page-icon{z-index:9999;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.loading-page-icon img{width:91px!important;height:91px!important}.popup-success--message{z-index:9999;text-shadow:1px 1px 1px #383838;cursor:pointer;color:#fff;opacity:0;background-color:#4caf50;border-left:5px solid #569310;border-radius:8px;padding:0 22px;font-family:Lexend,system-ui,sans-serif;font-size:16px;font-style:normal;position:fixed;top:20px;right:20px;transform:translate(120%)}.popup-success--enter{animation:.4s ease-out forwards slideInRight}.popup-success--leave{animation:.4s ease-in forwards slideOutRight}@keyframes slideInRight{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(120%)}}.popup-error--message{z-index:9999;text-shadow:1px 1px 1px #383838;cursor:pointer;color:#fff;opacity:0;background-color:#d50c56;border-left:5px solid #840132;border-radius:8px;padding:0 22px;font-family:Lexend,system-ui,sans-serif;font-size:16px;font-style:normal;position:fixed;top:20px;right:20px;transform:translate(120%)}.popup-error--enter{animation:.4s ease-out forwards slideInRightError}.popup-error--leave{animation:.4s ease-in forwards slideOutRightError}@keyframes slideInRightError{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRightError{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(120%)}}::-webkit-scrollbar-thumb{background:#94a3b8b3 padding-box padding-box;border:3px solid #ffffffb3;border-radius:999px}*{scrollbar-width:thin;scrollbar-color:#94a3b8b3 transparent}:root{--primary-50:#fff7ed;--primary-100:#ffedd5;--primary-200:#fed7aa;--primary-300:#fdba74;--primary-400:#fb923c;--primary-500:#f97316;--primary-600:#ea580c;--primary-700:#c2410c;--primary-800:#9a3412;--primary-900:#7c2d12;--slate-25:#fcfcfd;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--slate-950:#020617;--success-50:#ecfdf5;--success-100:#d1fae5;--success-200:#a7f3d0;--success-500:#10b981;--success-600:#059669;--success-700:#047857;--warning-50:#fffbeb;--warning-100:#fef3c7;--warning-200:#fde68a;--warning-500:#f59e0b;--warning-600:#d97706;--error-50:#fef2f2;--error-100:#fee2e2;--error-500:#ef4444;--error-600:#dc2626;--info-50:#eff6ff;--info-100:#dbeafe;--info-200:#bfdbfe;--info-500:#3b82f6;--info-600:#2563eb;--info-700:#1d4ed8;--purple-50:#faf5ff;--purple-100:#f3e8ff;--purple-200:#e9d5ff;--purple-500:#a855f7;--purple-600:#9333ea;--purple-700:#7c3aed;--gradient-primary:linear-gradient(135deg, #f97316 0%, #ea580c 100%);--gradient-primary-hover:linear-gradient(135deg, #ea580c 0%, #c2410c 100%);--gradient-dark:linear-gradient(180deg, #1e293b 0%, #0f172a 100%);--gradient-card:linear-gradient(180deg, #fff 0%, #fafafa 100%);--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 4px 6px -1px #0f172a14, 0 2px 4px -2px #0f172a0a;--shadow-lg:0 10px 15px -3px #0f172a14, 0 4px 6px -4px #0f172a0a;--shadow-xl:0 20px 25px -5px #0f172a1a, 0 8px 10px -6px #0f172a0a;--shadow-2xl:0 25px 50px -12px #0f172a33;--shadow-card:0 1px 3px #0000000d, 0 1px 2px #00000008;--shadow-card-hover:0 10px 40px #00000014;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-3xl:24px;--radius-full:9999px;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-back:cubic-bezier(.34, 1.56, .64, 1);--transition-fast:.15s var(--ease-out-expo);--transition-normal:.25s var(--ease-out-expo);--transition-slow:.4s var(--ease-out-expo);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{color:var(--slate-800);background:#f5f7fa;min-height:100vh;font-family:Lexend,system-ui,sans-serif;line-height:1.6}.font-serif{font-family:Lexend,system-ui,sans-serif}::selection{background:var(--primary-200);color:var(--primary-900)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes modalSlide{0%{opacity:0;transform:translateY(-20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.animate-modal{animation:modalSlide .3s var(--ease-out-expo)}.animate-fade{animation:fadeIn .2s var(--ease-out-expo)}.animate-slide{animation:slideInLeft .3s var(--ease-out-expo)}.animate-slide-up{animation:slideUp .3s var(--ease-out-expo)}.app-container{background:#f5f7fa;min-height:100vh}.main-content{padding:var(--space-6);min-height:100vh;animation:fadeIn .4s var(--ease-out-expo);margin-left:240px}.sidebar{background:var(--gradient-dark);color:#fff;width:240px;height:100%;padding:var(--space-5);z-index:50;flex-direction:column;display:flex;position:fixed;top:0;left:0}.sidebar-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-8);padding:var(--space-2) 0;display:flex}.sidebar-logo{background:var(--gradient-primary);border-radius:var(--radius-lg);justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 4px 12px #f973164d}.sidebar-logo svg{color:#fff}.sidebar-title{letter-spacing:-.01em;color:#fff;font-size:1.125rem;font-weight:700}.sidebar-subtitle{color:var(--slate-400);font-size:.75rem;font-weight:500}.sidebar-nav{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.nav-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);color:var(--slate-400);cursor:pointer;transition:var(--transition-normal);background:0 0;border:none;font-family:inherit;font-size:.875rem;font-weight:500;display:flex;position:relative}.nav-item:hover{color:#fff;background:#ffffff0d}.nav-item.active{background:var(--primary-500);color:#fff;box-shadow:0 4px 12px #f9731640}.sidebar-footer{padding-top:var(--space-4);margin-top:var(--space-4);border-top:1px solid #ffffff14}.user-info{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);transition:var(--transition-normal);display:flex}.user-info:hover{background:#ffffff0d}.user-avatar{background:var(--gradient-primary);border-radius:var(--radius-lg);justify-content:center;align-items:center;width:40px;height:40px;font-size:.875rem;font-weight:700;display:flex}.user-name{color:#fff;font-size:.875rem;font-weight:600}.user-role{color:var(--slate-400);font-size:.75rem}.welcome-banner{background:var(--gradient-primary);border-radius:var(--radius-2xl);padding:var(--space-6);color:#fff;margin-bottom:var(--space-6);position:relative;overflow:hidden}.welcome-icon{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.welcome-icon svg{color:#fff}.welcome-text h1{letter-spacing:-.01em;margin-bottom:var(--space-1);font-size:1.5rem;font-weight:700}.welcome-text p{color:#fffc;font-size:.9rem}.filter-group{gap:var(--space-1);flex-direction:column;display:flex}.filter-select-banner{padding:var(--space-2) var(--space-4);padding-right:var(--space-8);border-radius:var(--radius-lg);color:#fff;cursor:pointer;appearance:none;min-width:130px;transition:var(--transition-fast);background:#ffffff26 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' 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") right 10px center no-repeat;border:1px solid #fff3;font-family:inherit;font-size:.9rem;font-weight:500}.filter-select-banner option{background:var(--slate-800);color:#fff}.welcome-title{font-size:1.5rem;font-weight:700}.welcome-subtitle{color:#fffc}.stats-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-card);border:1px solid var(--slate-100);transition:var(--transition-normal);background:#fff;padding:35px;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--slate-300);border-radius:var(--radius-full) 0 0 var(--radius-full);width:4px;position:absolute;top:0;bottom:0;left:0}.stat-card:first-child:before{background:var(--info-500)}.stat-card:nth-child(2):before{background:var(--purple-500)}.stat-card:nth-child(3):before{background:var(--success-500)}.stat-card:nth-child(4):before{background:var(--warning-500)}.stat-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.stat-card-content{justify-content:space-between;align-items:flex-start;display:flex}.stat-info{flex-direction:column;display:flex}.stat-label{color:var(--slate-500);margin-bottom:var(--space-1);text-transform:capitalize;font-size:.75rem;font-weight:500}.stat-value{color:var(--slate-800);letter-spacing:-.02em;font-size:1.75rem;font-weight:800;line-height:1}.stat-value.green{color:var(--success-600)}.stat-value.amber{color:var(--primary-600)}.stat-value.blue{color:var(--info-600)}.stat-value.purple{color:var(--purple-600)}.stat-icon{border-radius:var(--radius-lg);width:44px;height:44px;transition:var(--transition-normal);justify-content:center;align-items:center;display:flex}.stat-card:hover .stat-icon{transform:scale(1.05)}.stat-icon.blue{background:var(--info-100);color:var(--info-600)}.stat-icon.purple{background:var(--purple-100);color:var(--purple-600)}.stat-icon.green{background:var(--success-100);color:var(--success-600)}.stat-icon.amber{background:var(--warning-100);color:var(--warning-600)}.card{border-radius:var(--radius-xl);box-shadow:var(--shadow-card);border:1px solid var(--slate-100);transition:var(--transition-normal);background:#fff;overflow:hidden}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--slate-100);background:linear-gradient(135deg,#1e293b 0%,#334155 100%)!important}.card-title{color:var(--slate-800);align-items:center;gap:var(--space-2);font-size:.9rem;font-weight:700;display:flex}.card-title svg{color:var(--slate-400);width:18px;height:18px}.card-body{padding:var(--space-4) var(--space-5)}.event-card{padding:var(--space-4);border-bottom:1px solid var(--slate-100);transition:var(--transition-fast);flex-direction:column;display:flex}.event-card:last-child{border-bottom:none}.event-card:hover{background:var(--slate-50)}.event-time{color:var(--primary-500);margin-bottom:var(--space-1);font-size:.8rem;font-weight:600}.event-title{color:var(--slate-800);margin-bottom:var(--space-1);font-size:.9rem;font-weight:600}.event-subtitle{color:var(--slate-500);font-size:.8rem;line-height:1.4}.event-icon{padding:var(--space-2);border-radius:var(--radius-md);width:fit-content;margin-bottom:var(--space-2)}.event-icon.blue{background:var(--info-100);color:var(--info-600)}.event-icon.purple{background:var(--purple-100);color:var(--purple-600)}.event-icon.amber{background:var(--warning-100);color:var(--warning-600)}.pending-card{padding:var(--space-4);border-bottom:1px solid var(--slate-100);transition:var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.pending-card:last-child{border-bottom:none}.pending-card:hover{background:var(--slate-50)}.pending-info{flex-direction:column;display:flex}.pending-name{color:var(--slate-800);font-size:.9rem;font-weight:600}.pending-period{color:var(--slate-500);font-size:.8rem}.pending-right{align-items:flex-end;gap:var(--space-1);flex-direction:column;display:flex}.pending-amount{color:var(--success-600);background:var(--success-50);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:.9rem;font-weight:700}.pending-action{color:var(--primary-500);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;font-size:.75rem;font-weight:600}.pending-action:hover{color:var(--primary-600);text-decoration:underline}.history-card{padding:var(--space-4);border-bottom:1px solid var(--slate-100);transition:var(--transition-fast)}.history-card:last-child{border-bottom:none}.history-card:hover{background:var(--slate-50)}.history-time{color:var(--primary-500);margin-bottom:var(--space-1);font-size:.8rem;font-weight:600}.history-title{color:var(--slate-800);margin-bottom:var(--space-1);font-size:.9rem;font-weight:600}.history-subtitle{color:var(--slate-500);font-size:.8rem}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-normal);border:none;font-family:inherit;font-size:.875rem;font-weight:600;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 12px #f9731640}.btn-primary:hover{background:var(--gradient-primary-hover);transform:translateY(-1px);box-shadow:0 6px 20px #f9731659}.btn-secondary{color:var(--slate-700);border:1px solid var(--slate-200);background:#fff}.btn-secondary:hover{background:var(--slate-50);border-color:var(--slate-300)}.btn-success{background:linear-gradient(135deg, var(--success-500) 0%, var(--success-600) 100%);color:#fff;box-shadow:0 4px 12px #10b98140}.btn-success:hover{transform:translateY(-1px);box-shadow:0 6px 20px #10b98159}.btn-dark{background:var(--gradient-dark);color:#fff}.btn-dark:hover{transform:translateY(-1px)}.btn-ghost{color:var(--slate-600);padding:var(--space-2);background:0 0}.btn-ghost:hover{background:var(--slate-100);color:var(--slate-800)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:.8rem}.btn-icon{padding:var(--space-2);color:var(--slate-400);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none}.btn-icon:hover{background:var(--slate-100);color:var(--primary-600)}.btn-icon.danger:hover{background:var(--error-50);color:var(--error-600)}.form-group{margin-bottom:var(--space-4)}.form-label{color:var(--slate-700);margin-bottom:var(--space-2);font-size:.8rem;font-weight:600;display:block}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--slate-200);border-radius:var(--radius-lg);color:var(--slate-800);transition:var(--transition-fast);background:#fff;font-family:inherit;font-size:.9rem}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--slate-300)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 3px #f973161a}.form-input::placeholder{color:var(--slate-400)}.form-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.form-actions{justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--slate-100);margin-top:var(--space-4);display:flex}.small-select{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--slate-200);color:var(--slate-700);cursor:pointer;transition:var(--transition-fast);appearance:none;min-width:140px;padding-right:var(--space-10);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right 12px center no-repeat;font-family:inherit;font-size:.875rem;font-weight:500}.small-select:hover{border-color:var(--slate-300)}.small-select:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 3px #f973161a}.file-upload{border:2px dashed var(--slate-300);border-radius:var(--radius-xl);padding:var(--space-8);text-align:center;cursor:pointer;transition:var(--transition-normal);background:var(--slate-50);flex-direction:column!important;align-items:center!important;width:100%!important;display:flex!important}.file-upload:hover{border-color:var(--primary-400);background:var(--primary-50)}.file-upload-text{color:var(--slate-600);margin-top:var(--space-3);font-size:.9rem;font-weight:500}.file-upload-hint{color:var(--slate-400);margin-top:var(--space-1);font-size:.8rem}.search-container{position:relative}.search-icon{left:var(--space-4);color:var(--slate-400);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input{padding-left:var(--space-10)}.table-container{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{padding:var(--space-3) var(--space-5);text-align:left;color:var(--slate-500);text-transform:uppercase;letter-spacing:.05em;background:var(--slate-50);border-bottom:1px solid var(--slate-200);font-size:.7rem;font-weight:700}.table td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--slate-100)}.table tbody tr{transition:var(--transition-fast)}.table tbody tr:hover{background:var(--slate-50)}.table tbody tr:last-child td{border-bottom:none}.table-cell-primary{color:var(--slate-800);font-weight:600}.table-cell-secondary{color:var(--slate-500);font-size:.8rem}.badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;display:inline-flex}.badge-blue{background:var(--info-100);color:var(--info-700)}.badge-purple{background:var(--purple-100);color:var(--purple-700)}.badge-green{background:var(--success-100);color:var(--success-700)}.badge-amber{background:var(--warning-100);color:var(--warning-600)}.badge-red{background:var(--error-100);color:var(--error-600)}.modal-overlay{z-index:100;padding:var(--space-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .15s var(--ease-out-expo);background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);width:100%;max-height:90vh;animation:modalSlide .3s var(--ease-out-expo);background:#fff;overflow:hidden}.modal-sm{max-width:400px}.modal-md{max-width:520px}.modal-lg{max-width:680px}.modal-xl{max-width:860px}.modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--slate-100);justify-content:space-between;align-items:center;display:flex}.modal-title{color:var(--slate-800);font-size:1.125rem;font-weight:700}.modal-close{padding:var(--space-2);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);color:var(--slate-400);background:0 0;border:none}.modal-close:hover{background:var(--slate-100);color:var(--slate-600)}.modal-body{padding:var(--space-6);max-height:calc(90vh - 140px);overflow-y:auto}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--slate-100);background:var(--slate-50);justify-content:flex-end;gap:var(--space-3);display:flex}.calendar-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.calendar-title{color:var(--slate-800);font-size:1.125rem;font-weight:700}.calendar-nav-btn{border:1px solid var(--slate-200);border-radius:var(--radius-lg);cursor:pointer;width:36px;height:36px;transition:var(--transition-fast);color:var(--slate-600);background:#fff;justify-content:center;align-items:center;display:flex}.calendar-weekdays{margin-bottom:var(--space-2);grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-day{min-height:90px;padding:var(--space-2);border:1px solid var(--slate-200);border-radius:var(--radius-lg);transition:var(--transition-fast);cursor:pointer;background:#fff}.calendar-day:hover{border-color:var(--primary-300);background:var(--slate-50)}.calendar-day.empty{background:var(--slate-50);cursor:default;border-color:#0000}.calendar-day.today{border-color:var(--primary-400);background:var(--primary-50)}.calendar-day-number{color:var(--slate-600);font-size:.8rem;font-weight:600}.calendar-day.today .calendar-day-number{color:var(--primary-600);font-weight:700}.calendar-events{margin-top:var(--space-1);flex-direction:column;gap:2px;display:flex}.calendar-event{padding:2px var(--space-2);border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;font-size:.65rem;font-weight:500;overflow:hidden}.calendar-event.aula{background:var(--info-100);color:var(--info-700)}.calendar-event.evento{background:var(--purple-100);color:var(--purple-700)}.calendar-event.other{background:var(--slate-100);color:var(--slate-600)}.calendar-more{color:var(--slate-400);font-size:.65rem;font-weight:500}.document-item{padding:var(--space-4) var(--space-5);transition:var(--transition-fast);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;display:flex}.document-item:hover{background:var(--slate-50)}.document-info{align-items:center;gap:var(--space-3);display:flex}.document-icon{border-radius:var(--radius-lg);justify-content:center;align-items:center;width:44px;height:44px;display:flex;overflow:hidden}.document-icon.contract{background:var(--warning-100);color:var(--warning-600)}.document-icon.receipt{background:var(--success-100);color:var(--success-600)}.receipt-thumb{object-fit:cover;width:100%;height:100%}.pdf-thumb{flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;height:100%;font-size:10px;font-weight:700;display:flex}.document-name{color:var(--slate-800);font-size:.875rem;font-weight:600}.document-meta{color:var(--slate-500);font-size:.8rem}.document-actions{gap:var(--space-2);display:flex}.attendance-grid{gap:var(--space-3);grid-template-columns:repeat(5,1fr);display:grid}.attendance-item{background:var(--success-50);border:1px solid var(--success-200);border-radius:var(--radius-xl);padding:var(--space-4);text-align:center;transition:var(--transition-fast)}.attendance-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.attendance-check{color:var(--success-600);margin-bottom:var(--space-2);justify-content:center;align-items:center;display:flex}.attendance-date{color:var(--slate-800);font-size:.8rem;font-weight:600}.attendance-notes{color:var(--slate-500);margin-top:var(--space-1);font-size:.7rem}.receipt{border-radius:var(--radius-xl);border:1px solid var(--slate-200);background:#fff;overflow:hidden}.receipt-header{text-align:center;padding:var(--space-6);background:var(--slate-50);border-bottom:1px solid var(--slate-100)}.receipt-logo{justify-content:center;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.receipt-title{color:var(--slate-800);font-size:1.25rem;font-weight:700}.receipt-address{color:var(--slate-500);font-size:.8rem}.receipt-divider{border-top:2px solid var(--slate-200);border-bottom:2px solid var(--slate-200);padding:var(--space-4) 0;margin:var(--space-4) 0;text-align:center;background:var(--slate-50)}.receipt-divider h3{color:var(--slate-800);font-size:1rem;font-weight:700}.receipt-number{color:var(--slate-500);font-size:.8rem}.receipt-details{padding:0 var(--space-6);margin-bottom:var(--space-5)}.receipt-row{padding:var(--space-2) 0;border-bottom:1px dashed var(--slate-200);justify-content:space-between;display:flex}.receipt-row:last-child{border-bottom:none}.receipt-label{color:var(--slate-600);font-weight:500}.receipt-value{color:var(--slate-800);font-weight:600}.receipt-total{border-top:2px solid var(--slate-300);padding-top:var(--space-4);margin-top:var(--space-4);font-size:1.125rem}.receipt-total .receipt-value{color:var(--success-600);font-weight:800}.receipt-footer{border-top:1px solid var(--slate-200);padding:var(--space-5);text-align:center;background:var(--slate-50)}.receipt-declaration{color:var(--slate-500);margin-bottom:var(--space-4);font-size:.8rem}.receipt-signature{justify-content:center;display:flex}.receipt-signature-line{border-bottom:1px solid var(--slate-400);width:180px;margin-bottom:var(--space-2)}.receipt-signature-label{color:var(--slate-600);font-size:.8rem;font-weight:500}.receipt-actions{justify-content:center;gap:var(--space-3);padding:var(--space-4);display:flex}.summary-grid{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.summary-card{border-radius:var(--radius-xl);padding:var(--space-5);position:relative;overflow:hidden;padding:25px!important}.summary-card.green{background:linear-gradient(135deg, var(--success-50) 0%, var(--success-100) 100%);border:1px solid var(--success-200)}.summary-card.amber{background:linear-gradient(135deg, var(--warning-50) 0%, var(--warning-100) 100%);border:1px solid var(--warning-200)}.summary-card.blue{background:linear-gradient(135deg, var(--info-50) 0%, var(--info-100) 100%);border:1px solid var(--info-200)}.summary-label{text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--space-1);font-size:.75rem;font-weight:600}.summary-label.green{color:var(--success-700)}.summary-label.amber{color:var(--warning-600)}.summary-label.blue{color:var(--info-700)}.summary-value{letter-spacing:-.02em;font-size:1.5rem;font-weight:800}.summary-value.green{color:var(--success-700)}.summary-value.amber{color:var(--warning-600)}.summary-value.blue{color:var(--info-700)}.section-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.section-header--docs{margin-top:22px;margin-bottom:48px}.section-title{color:var(--slate-800);font-size:1.25rem;font-weight:700}.grid-2{gap:var(--space-5);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.space-y-6>*+*{margin-top:var(--space-6)}.space-y-4>*+*{margin-top:var(--space-4)}.space-y-3>*+*{margin-top:var(--space-3)}.space-y-1>*+*{margin-top:var(--space-1)}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.text-slate-400{color:var(--slate-400)}.text-slate-500{color:var(--slate-500)}.text-slate-600{color:var(--slate-600)}.text-slate-700{color:var(--slate-700)}.text-slate-800{color:var(--slate-800)}.text-primary-500{color:var(--primary-500)}.text-primary-600{color:var(--primary-600)}.text-success-600{color:var(--success-600)}.text-success-700{color:var(--success-700)}.text-error-600{color:var(--error-600)}.bg-white{background-color:#fff}.bg-slate-50{background-color:var(--slate-50)}.bg-slate-100{background-color:var(--slate-100)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-5{padding-left:var(--space-5);padding-right:var(--space-5)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-5{padding-top:var(--space-5);padding-bottom:var(--space-5)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.border{border:1px solid var(--slate-200)}.border-t{border-top:1px solid var(--slate-200)}.border-b{border-bottom:1px solid var(--slate-200)}.border-l{border-left:1px solid var(--slate-200)}.border-r{border-right:1px solid var(--slate-200)}.divide-y>*+*{border-top:1px solid var(--slate-100)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.transition-all{transition:all var(--transition-normal)}.transition-colors{transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast)}.hover\:bg-slate-50:hover{background-color:var(--slate-50)}.hover\:bg-slate-100:hover{background-color:var(--slate-100)}.hover\:bg-primary-50:hover{background-color:var(--primary-50)}.hover\:shadow-md:hover{box-shadow:var(--shadow-md)}.hover\:shadow-lg:hover{box-shadow:var(--shadow-lg)}@media (width<=1400px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=1200px){.grid-3,.summary-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=1024px){.sidebar{width:220px}.main-content{padding:var(--space-5);margin-left:220px}.grid-2{grid-template-columns:1fr}.welcome-content{gap:var(--space-4);flex-direction:column}.welcome-filters{width:100%}.filter-select-banner{flex:1}}@media (width<=768px){.sidebar{transition:transform var(--transition-normal);transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{padding:var(--space-4);margin-left:0}.stats-grid,.grid-3,.summary-grid,.form-grid{grid-template-columns:1fr}.attendance-grid{grid-template-columns:repeat(2,1fr)}.calendar-day{min-height:70px}.welcome-banner{padding:var(--space-5)}.welcome-filters{flex-direction:column}}@media (width<=480px){.main-content{padding:var(--space-3)}.card-body,.stat-card{padding:var(--space-4)}.stat-value{font-size:1.5rem}.calendar-day{min-height:50px;padding:var(--space-1)}.calendar-event{display:none}.attendance-grid{grid-template-columns:1fr}}@media print{.sidebar,.btn,.no-print{display:none!important}.main-content{margin-left:0;padding:0}.card{box-shadow:none;break-inside:avoid;border:1px solid #000}body{color:#000;background:#fff}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.calendar-container{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000000d,0 1px 2px #00000008}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:0;padding:1rem 1.5rem;display:flex;background:linear-gradient(135deg,#1e293b 0%,#334155 100%)!important;border-top-left-radius:10px!important;border-top-right-radius:10px!important}.calendar-title{color:#fff;letter-spacing:-.01em;font-size:1.25rem;font-weight:700}.calendar-nav{gap:.5rem;display:flex}.calendar-nav-btn{cursor:pointer;color:#fff;background:#ffffff26;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.calendar-nav-btn:hover{background:#ffffff40;border-color:#ffffff4d}.calendar-nav-btn svg{stroke:#fff}.calendar-weekdays{background:#f8fafc;border-bottom:1px solid #e2e8f0;grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekday{text-align:center;color:#64748b;text-transform:uppercase;letter-spacing:.05em;padding:.75rem .5rem;font-size:.75rem;font-weight:700}.calendar-grid{background:#fff;grid-template-columns:repeat(7,1fr);display:grid}.calendar-day{cursor:pointer;background:#fff;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;min-height:110px;padding:.5rem;transition:background-color .15s;position:relative}.calendar-day:nth-child(7n){border-right:none}.calendar-day:hover{background:#f8fafc}.calendar-day.empty{cursor:default;background:#f8fafc}.calendar-day.empty:hover{background:#f8fafc}.calendar-day.today{background:#fff7ed}.calendar-day.today .calendar-day-number{color:#fff;background:#f97316;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-weight:700;display:flex}.calendar-day-number{color:#334155;margin-bottom:.375rem;font-size:.875rem;font-weight:600}.calendar-events{flex-direction:column;gap:3px;margin-top:.25rem;display:flex}.calendar-event{cursor:pointer;border-radius:6px;flex-direction:column;gap:1px;padding:4px 6px;font-size:.7rem;font-weight:500;line-height:1.3;transition:all .15s;display:flex}.calendar-event:hover{transform:scale(1.02);box-shadow:0 2px 8px #00000026}.calendar-event.aula{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)}.calendar-event.aula-especial,.calendar-event.ensaio{color:#fff;background:linear-gradient(135deg,#a855f7 0%,#9333ea 100%)}.calendar-event.evento{color:#fff;background:linear-gradient(135deg,#f97316 0%,#ea580c 100%)}.calendar-event.outro,.calendar-event.other{color:#fff;background:linear-gradient(135deg,#64748b 0%,#475569 100%)}.calendar-event-time{opacity:.9;font-size:.65rem;font-weight:600}.calendar-event-title{white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;font-weight:500;overflow:hidden}.calendar-more{color:#64748b;text-align:center;cursor:pointer;padding:2px 4px;font-size:.65rem;font-weight:600}.calendar-more:hover{color:#f97316}.calendar-legend{background:#f8fafc;border-top:1px solid #e2e8f0;align-items:center;gap:1.5rem;padding:1rem 1.5rem;display:flex}.calendar-legend-item{color:#475569;align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;display:flex}.calendar-legend-color{border-radius:4px;width:14px;height:14px}.calendar-legend-color.aula{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)}.calendar-legend-color.aula-especial{background:linear-gradient(135deg,#a855f7 0%,#9333ea 100%)}.calendar-legend-color.evento{background:linear-gradient(135deg,#f97316 0%,#ea580c 100%)}.upcoming-events-section{margin-top:1.5rem}.upcoming-events-section .card-title{color:#1e293b;margin-bottom:1rem;font-size:1rem;font-weight:700}.upcoming-event-item{border-bottom:1px solid #f1f5f9;align-items:center;gap:1rem;padding:1rem;transition:background-color .15s;display:flex}.upcoming-event-item:last-child{border-bottom:none}.upcoming-event-item:hover{background:#f8fafc}.upcoming-event-icon{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.upcoming-event-icon.blue{color:#2563eb;background:#dbeafe}.upcoming-event-icon.purple{color:#9333ea;background:#f3e8ff}.upcoming-event-icon.orange{color:#ea580c;background:#ffedd5}.upcoming-event-content{flex:1}.upcoming-event-title{color:#1e293b;font-size:.9rem;font-weight:600}.upcoming-event-subtitle{color:#64748b;margin-top:2px;font-size:.8rem}.upcoming-event-datetime{text-align:right}.upcoming-event-date{color:#1e293b;font-size:.875rem;font-weight:600}.upcoming-event-time{color:#64748b;font-size:.8rem}@media (width<=1024px){.calendar-day{min-height:90px;padding:.375rem}.calendar-event{padding:3px 5px;font-size:.65rem}.calendar-legend{flex-wrap:wrap;gap:1rem}}@media (width<=768px){.calendar-day{min-height:70px;padding:.25rem}.calendar-day-number{font-size:.75rem}.calendar-event-title{display:none}.calendar-event{padding:2px 4px}.calendar-event-time{font-size:.6rem}.calendar-weekday{padding:.5rem .25rem;font-size:.65rem}.calendar-header{padding:.75rem 1rem}.calendar-title{font-size:1rem}}@media (width<=480px){.calendar-day{min-height:50px}.calendar-event{display:none}.calendar-day.has-events:after{content:"";background:#f97316;border-radius:50%;width:6px;height:6px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.calendar-legend{display:none}}.client-card-header{padding:1.25rem;position:relative;background:linear-gradient(135deg,#1e293b 0%,#334155 100%)!important}@media (width<=1200px){.clients-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}}@media (width<=768px){.clients-grid{grid-template-columns:1fr}.clients-section-header{flex-direction:column;gap:1rem}.clients-section-header .btn{width:100%}.client-card-footer{flex-direction:column}}@media (width<=480px){.client-card-body{padding:1rem}.client-contact-value{font-size:.8rem}}.card:has(.document-item){border-radius:var(--radius-2xl);border:1px solid var(--slate-100);box-shadow:var(--shadow-card);overflow:hidden}.card:has(.document-item) .card-header{background:var(--gradient-primary);border-bottom:none;padding:18px 20px;position:relative}.card:has(.document-item) .card-header .event-icon{border:1px solid #ffffff38;border-radius:14px;padding:10px;color:#fff!important;background:#ffffff2e!important}.card:has(.document-item) .card-header h3{letter-spacing:-.01em;font-size:1.05rem;color:#fff!important}.card:has(.document-item) .card-header p{letter-spacing:.02em;background:#ffffff2e;border:1px solid #ffffff38;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:700;position:absolute;top:18px;right:18px;color:#ffffffeb!important;margin:0!important}.card:has(.document-item) .divide-y{background:var(--slate-50);padding:14px}.card:has(.document-item) .divide-y>*+*{margin-top:10px;border-top:none!important}.card:has(.document-item) .document-item{border:1px solid var(--slate-100);box-shadow:var(--shadow-xs);transition:var(--transition-normal);background:#fff;border-radius:16px;padding:14px 16px}.card:has(.document-item) .document-item:hover{box-shadow:var(--shadow-md);background:#fff;transform:translateY(-1px)}.card:has(.document-item) .document-info{gap:12px}.card:has(.document-item) .document-icon{background:var(--info-100);width:46px;height:46px;color:var(--info-600);border-radius:14px}.card:has(.document-item) .document-icon.contract{background:var(--warning-100);color:var(--warning-600)}.card:has(.document-item) .receipt-thumb{object-fit:cover;width:100%;height:100%}.card:has(.document-item) .pdf-thumb{background:var(--error-100);color:var(--error-600);letter-spacing:.04em;font-weight:800}.card:has(.document-item) .document-name{color:var(--slate-800);font-size:.92rem;font-weight:750}.card:has(.document-item) .document-meta{color:var(--slate-600);background:var(--slate-50);border:1px solid var(--slate-200);border-radius:999px;align-items:center;gap:8px;margin-top:6px;padding:4px 10px;font-size:.78rem;font-weight:650;display:inline-flex}.card:has(.document-item) .document-actions{gap:8px}.card:has(.document-item) .document-actions .btn-icon{border:1px solid var(--slate-200);width:36px;height:36px;color:var(--slate-500);transition:var(--transition-fast);background:#fff;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.card:has(.document-item) .document-actions .btn-icon:hover{background:var(--slate-50);border-color:var(--slate-300);color:var(--primary-600);transform:translateY(-1px)}.card:has(.document-item) .document-actions .btn-icon.danger:hover{background:var(--error-50);border-color:var(--error-100);color:var(--error-600)}.section--description--docs{color:#949393;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:300}.clients-section-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.clients-section-title h2{color:#1e293b;margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.clients-section-title p{color:#64748b;font-size:.9rem}.clients-search-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.75rem 1.25rem;display:flex;box-shadow:0 1px 3px #0000000d}.clients-search-container svg{color:#94a3b8;flex-shrink:0}.clients-search-input{color:#334155;background:0 0;border:none;outline:none;width:100%;font-size:.9rem}.clients-search-input::placeholder{color:#94a3b8}.clients-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem;display:grid}.client-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;transition:all .2s;overflow:hidden;box-shadow:0 1px 3px #0000000d,0 1px 2px #00000008}.client-card:hover{transform:translateY(-2px);box-shadow:0 10px 40px #00000014}.client-card-header{background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);padding:1.25rem;position:relative}.client-card-header-content{justify-content:space-between;align-items:flex-start;display:flex}.client-card-name{color:#fff;margin-bottom:.25rem;font-size:1.25rem;font-weight:700}.client-card-date{color:#fffc;margin-bottom:.75rem;font-size:.8rem}.client-card-badge{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border-radius:6px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.client-card-menu{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem;transition:background .15s}.client-card-menu:hover{background:#ffffff26}.client-card-body{padding:1.25rem}.client-contact-row{border-bottom:1px solid #f1f5f9;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.client-contact-row:last-of-type{border-bottom:none}.client-contact-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.client-contact-icon.email{color:#4f46e5;background:#e0e7ff}.client-contact-icon.phone{color:#059669;background:#d1fae5}.client-contact-icon svg{width:18px;height:18px}.client-contact-info{flex:1;min-width:0}.client-contact-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:500}.client-contact-value{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;overflow:hidden}.client-info-section{border-top:1px solid #f1f5f9;margin-top:.5rem;padding-top:.75rem}.client-info-row{justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.client-info-label{color:#64748b;font-size:.75rem}.client-info-value{color:#1e293b;font-size:.9rem;font-weight:600}.client-info-value.price{color:#059669;font-size:1.1rem;font-weight:700}.client-card-footer{background:#fafafa;border-top:1px solid #f1f5f9;gap:.75rem;padding:1rem 1.25rem;display:flex}.client-btn{cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.8rem;font-weight:600;transition:all .15s;display:flex}.client-btn-edit{color:#f97316;background:#fff;border:1px solid #f97316}.client-btn-edit:hover{background:#fff7ed}.client-btn-details{color:#475569;background:#fff;border:1px solid #e2e8f0}.client-btn-details:hover{background:#f8fafc;border-color:#cbd5e1}.client-btn svg{width:16px;height:16px}.client-dropdown{z-index:10;background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:150px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 10px 40px #00000026}.client-dropdown-item{color:#475569;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.85rem;transition:background .15s;display:flex}.client-dropdown-item:hover{background:#f8fafc}.client-dropdown-item.danger{color:#dc2626}.client-dropdown-item.danger:hover{background:#fef2f2}.clients-empty{text-align:center;color:#64748b;padding:4rem 2rem}.clients-empty-icon{color:#94a3b8;background:#f1f5f9;border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1rem;display:flex}.clients-empty-title{color:#475569;margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.clients-empty-text{color:#94a3b8;font-size:.9rem}@media (width<=1200px){.clients-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}}@media (width<=768px){.clients-grid{grid-template-columns:1fr}.clients-section-header{flex-direction:column;gap:1rem}.clients-section-header .btn{width:100%}.client-card-footer{flex-direction:column}}@media (width<=480px){.client-card-body{padding:1rem}.client-contact-value{font-size:.8rem}}.space-y-6:has(.summary-grid){isolation:isolate;position:relative}.space-y-6:has(.summary-grid):before{content:"";top:calc(-1 * var(--space-6));left:calc(-1 * var(--space-6));right:calc(-1 * var(--space-6));background:var(--gradient-primary);z-index:-1;border-radius:0 0 24px 24px;height:230px;position:absolute}.space-y-6:has(.summary-grid) .section-header{padding:10px 0 6px}.space-y-6:has(.summary-grid) .section-title{color:#fff;letter-spacing:-.01em;font-weight:800}.space-y-6:has(.summary-grid) .btn.btn-primary{border:1px solid #ffffff2e;box-shadow:0 10px 30px #0000002e}.space-y-6:has(.summary-grid) .summary-grid{gap:18px;margin-top:10px}.space-y-6:has(.summary-grid) .summary-card{border-radius:18px;min-height:92px;padding:18px 18px 18px 22px;position:relative;overflow:hidden;box-shadow:0 12px 35px #00000014;border:1px solid var(--slate-100)!important;background:#fff!important}.space-y-6:has(.summary-grid) .summary-card.green{border-radius:18px;min-height:92px;padding:18px 18px 18px 22px;position:relative;overflow:hidden;box-shadow:0 12px 35px #00000014;border:1px solid var(--slate-100)!important;background:#fff!important}.space-y-6:has(.summary-grid) .summary-card.amber{border-radius:18px;min-height:92px;padding:18px 18px 18px 22px;position:relative;overflow:hidden;box-shadow:0 12px 35px #00000014;border:1px solid var(--slate-100)!important;background:#fff!important}.space-y-6:has(.summary-grid) .summary-card.blue{border-radius:18px;min-height:92px;padding:18px 18px 18px 22px;position:relative;overflow:hidden;box-shadow:0 12px 35px #00000014;border:1px solid var(--slate-100)!important;background:#fff!important}.space-y-6:has(.summary-grid) .summary-card:before{content:"";background:var(--slate-300);border-radius:999px;width:4px;position:absolute;top:0;bottom:0;left:0}.space-y-6:has(.summary-grid) .summary-card.green:before{background:var(--success-500)}.space-y-6:has(.summary-grid) .summary-card.amber:before{background:var(--warning-500)}.space-y-6:has(.summary-grid) .summary-card.blue:before{background:var(--info-500)}.space-y-6:has(.summary-grid) .summary-card:after{content:"";background:var(--slate-100);border-radius:14px;width:44px;height:44px;position:absolute;top:16px;right:16px}.space-y-6:has(.summary-grid) .summary-card.green:after{background:#10b9811f}.space-y-6:has(.summary-grid) .summary-card.amber:after{background:#f59e0b24}.space-y-6:has(.summary-grid) .summary-card.blue:after{background:#3b82f61f}.space-y-6:has(.summary-grid) .summary-label{letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.72rem;font-weight:900;color:var(--slate-500)!important}.space-y-6:has(.summary-grid) .summary-value{letter-spacing:-.02em;font-size:1.75rem;font-weight:900;color:var(--slate-900)!important}.space-y-6:has(.summary-grid) .card:has(.table){border:1px solid var(--slate-100);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px #0000000f}.space-y-6:has(.summary-grid) .card:has(.table) .card-header{border-bottom:1px solid var(--slate-100);background:#fff;padding:16px 20px}.space-y-6:has(.summary-grid) .card:has(.table) .table th{background:var(--slate-50);border-bottom:1px solid var(--slate-200);letter-spacing:.08em;color:var(--slate-500);padding:14px 20px;font-size:.7rem;font-weight:900}.space-y-6:has(.summary-grid) .card:has(.table) .table td{border-bottom:1px solid var(--slate-100);vertical-align:middle;padding:18px 20px}.space-y-6:has(.summary-grid) .card:has(.table) .table tbody tr:hover{background:#fff7ed}.space-y-6:has(.summary-grid) .card:has(.table) .pending-action{color:var(--primary-600);font-weight:800}.space-y-6:has(.summary-grid) .card:has(.table) .pending-action:hover{color:var(--primary-700)}.attendance-section-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.attendance-section-title h2{color:#1e293b;margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.attendance-section-title p{color:#64748b;font-size:.9rem}.attendance-student-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000000d,0 1px 2px #00000008}.attendance-card-header{background:linear-gradient(135deg,#1e293b 0%,#334155 100%);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.attendance-card-header-left{align-items:center;gap:1rem;display:flex}.attendance-student-avatar{color:#ffffffb3;background:#ffffff1a;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.attendance-student-avatar svg{width:24px;height:24px}.attendance-student-info h3{color:#fff;margin-bottom:.125rem;font-size:1.125rem;font-weight:700}.attendance-student-instrument{color:#ffffffb3;font-size:.85rem}.attendance-student-cycle{color:#ffffff80;margin-top:.25rem;font-size:.75rem}.attendance-stats-badges{flex-wrap:wrap;gap:.5rem;display:flex}.attendance-stat-badge{border-radius:8px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;display:flex}.attendance-stat-badge svg{width:14px;height:14px}.attendance-stat-badge.presencas{color:#fff;background:#059669}.attendance-stat-badge.faltas{color:#fff;background:#dc2626}.attendance-stat-badge.licencas{color:#fff;background:#f59e0b}.attendance-stat-badge.frequencia{color:#fff;background:#2563eb}.attendance-progress-section{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:1rem 1.5rem}.attendance-progress-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.attendance-progress-label{color:#64748b;font-size:.8rem;font-weight:500}.attendance-progress-count{color:#1e293b;font-size:.8rem;font-weight:600}.attendance-progress-bar{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden}.attendance-progress-fill{background:linear-gradient(90deg,#10b981 0%,#059669 100%);border-radius:4px;height:100%;transition:width .3s}.attendance-history-section{padding:1.5rem}.attendance-history-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.attendance-history-title{color:#1e293b;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.attendance-history-title svg{color:#64748b;width:18px;height:18px}.attendance-expand-btn{color:#64748b;cursor:pointer;background:0 0;border:none;font-size:.8rem;font-weight:500;transition:color .15s}.attendance-expand-btn:hover{color:#f97316}.attendance-cycle-badge{color:#fff;background:#1e293b;border-radius:6px;margin-bottom:.75rem;padding:.25rem .625rem;font-size:.7rem;font-weight:600;display:inline-block}.attendance-history-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;display:grid}.attendance-record-card{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1rem;transition:all .15s;display:flex}.attendance-record-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98126}.attendance-record-card.falta{background:#fef2f2;border-color:#fecaca}.attendance-record-card.falta:hover{box-shadow:0 4px 12px #dc262626}.attendance-record-card.licenca{background:#fffbeb;border-color:#fde68a}.attendance-record-card.licenca:hover{box-shadow:0 4px 12px #f59e0b26}.attendance-record-header{justify-content:space-between;align-items:center;width:100%;display:flex}.attendance-record-icon{border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.attendance-record-icon.presente{color:#fff;background:#10b981}.attendance-record-icon.falta{color:#fff;background:#dc2626}.attendance-record-icon.licenca{color:#fff;background:#f59e0b}.attendance-record-icon svg{width:16px;height:16px}.attendance-record-badge{border-radius:6px;padding:.2rem .5rem;font-size:.65rem;font-weight:600}.attendance-record-badge.presente{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.attendance-record-badge.falta{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.attendance-record-badge.licenca{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.attendance-record-date{color:#1e293b;font-size:.85rem;font-weight:600}.attendance-record-time{color:#64748b;font-size:.7rem}.attendance-card-footer{background:#fff;border-top:1px solid #e2e8f0;gap:.75rem;padding:1rem 1.5rem;display:flex}.attendance-btn{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.8rem;font-weight:600;transition:all .15s;display:flex}.attendance-btn-register{color:#f97316;background:#fff;border:1px solid #f97316}.attendance-btn-register:hover{background:#fff7ed}.attendance-btn-report{color:#475569;background:#fff;border:1px solid #e2e8f0}.attendance-btn-report:hover{background:#f8fafc;border-color:#cbd5e1}.attendance-btn svg{width:16px;height:16px}.attendance-modal-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.attendance-modal-student-card{cursor:pointer;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:1rem;transition:all .15s}.attendance-modal-student-card:hover,.attendance-modal-student-card.selected{background:#fff7ed;border-color:#f97316}.attendance-modal-student-name{color:#1e293b;margin-bottom:.25rem;font-weight:600}.attendance-modal-student-instrument{color:#64748b;font-size:.8rem}.attendance-empty{text-align:center;color:#64748b;padding:4rem 2rem}.attendance-empty-icon{color:#94a3b8;background:#f1f5f9;border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1rem;display:flex}.attendance-empty-icon svg{width:32px;height:32px}.attendance-empty-title{color:#475569;margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.attendance-empty-text{color:#94a3b8;font-size:.9rem}@media (width<=1024px){.attendance-card-header{flex-direction:column;align-items:flex-start;gap:1rem}.attendance-stats-badges{width:100%}}@media (width<=768px){.attendance-section-header{flex-direction:column;gap:1rem}.attendance-section-header .btn{width:100%}.attendance-history-grid{grid-template-columns:repeat(2,1fr)}.attendance-card-footer{flex-direction:column}.attendance-btn{width:100%}}@media (width<=480px){.attendance-history-grid{grid-template-columns:1fr}.attendance-stats-badges{flex-direction:column}.attendance-stat-badge{justify-content:center}}.receipts-section-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.receipts-section-title h2{color:#1e293b;margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.receipts-section-title p{color:#64748b;font-size:.9rem}.receipts-filters-row{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.receipts-search-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex:1;align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex;box-shadow:0 1px 3px #0000000d}.receipts-search-container svg{color:#94a3b8;flex-shrink:0;width:18px;height:18px}.receipts-search-input{color:#334155;background:0 0;border:none;outline:none;width:100%;font-size:.9rem}.receipts-search-input::placeholder{color:#94a3b8}.receipts-filter-select{color:#334155;cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right 12px center no-repeat;border:1px solid #e2e8f0;border-radius:12px;min-width:180px;padding:.75rem 2.5rem .75rem 1rem;font-size:.9rem}.receipts-filter-select:focus{border-color:#f97316;outline:none}.receipts-total-badge{background:linear-gradient(135deg,#1e293b 0%,#334155 100%);border-radius:12px;min-width:140px;padding:.75rem 1.25rem}.receipts-total-badge-label{color:#ffffffb3;text-transform:uppercase;letter-spacing:.03em;font-size:.7rem}.receipts-total-badge-value{color:#fff;font-size:1.5rem;font-weight:800}.receipts-summary-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.receipts-summary-card{border-radius:16px;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex;position:relative;overflow:hidden}.receipts-summary-card.green{background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.receipts-summary-card.amber{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.receipts-summary-card.blue{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)}.receipts-summary-content{z-index:1}.receipts-summary-label{color:#ffffffd9;margin-bottom:.25rem;font-size:.8rem}.receipts-summary-value{color:#fff;font-size:1.5rem;font-weight:800}.receipts-summary-icon{color:#fff;background:#ffffff26;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.receipts-summary-icon svg{width:24px;height:24px}.receipts-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;display:grid}.receipt-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;transition:all .2s;overflow:hidden;box-shadow:0 1px 3px #0000000d}.receipt-card:hover{transform:translateY(-2px);box-shadow:0 10px 40px #00000014}.receipt-card-header{background:linear-gradient(135deg,#1e293b 0%,#334155 100%);justify-content:space-between;align-items:flex-start;padding:1rem 1.25rem;display:flex}.receipt-card-header-left{align-items:flex-start;gap:.75rem;display:flex}.receipt-card-icon{color:#ffffffb3;background:#ffffff1a;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.receipt-card-icon svg{width:18px;height:18px}.receipt-card-info h4{color:#fff;margin-bottom:.125rem;font-size:1rem;font-weight:700}.receipt-card-reference{color:#fff9;font-size:.8rem}.receipt-card-badge{border-radius:6px;padding:.25rem .625rem;font-size:.7rem;font-weight:600}.receipt-card-badge.pago{color:#fff;background:#10b981}.receipt-card-badge.pendente{color:#fff;background:#f59e0b}.receipt-card-body{padding:1.25rem}.receipt-card-row{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.receipt-card-row:last-of-type{margin-bottom:0}.receipt-card-row svg{color:#94a3b8;flex-shrink:0;width:16px;height:16px}.receipt-card-row-label{color:#64748b;font-size:.85rem}.receipt-card-row-value{color:#1e293b;margin-left:auto;font-size:.9rem;font-weight:600}.receipt-card-row-value.price{color:#059669;font-size:1rem}.receipt-method-badge{color:#1d4ed8;background:#dbeafe;border-radius:6px;margin-top:.75rem;padding:.25rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.receipt-card-footer{background:#fafafa;border-top:1px solid #f1f5f9;gap:.5rem;padding:1rem 1.25rem;display:flex}.receipt-btn{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.8rem;font-weight:500;transition:all .15s;display:flex}.receipt-btn-view{color:#475569;background:#fff;border:1px solid #e2e8f0;flex:1}.receipt-btn-view:hover{background:#f8fafc;border-color:#cbd5e1}.receipt-btn-download,.receipt-btn-print{color:#475569;background:#fff;border:1px solid #e2e8f0;width:36px;height:36px;padding:0}.receipt-btn-download:hover,.receipt-btn-print:hover{background:#f8fafc;border-color:#cbd5e1}.receipt-btn svg{width:16px;height:16px}.receipts-empty{text-align:center;color:#64748b;padding:4rem 2rem}.receipts-empty-icon{color:#94a3b8;background:#f1f5f9;border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1rem;display:flex}.receipts-empty-icon svg{width:32px;height:32px}.receipts-empty-title{color:#475569;margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.receipts-empty-text{color:#94a3b8;font-size:.9rem}@media (width<=1200px){.receipts-summary-grid{grid-template-columns:repeat(2,1fr)}.receipts-summary-card:last-child{grid-column:span 2}}@media (width<=768px){.receipts-section-header{flex-direction:column;gap:1rem}.receipts-section-header .btn{width:100%}.receipts-filters-row{flex-direction:column}.receipts-search-container,.receipts-filter-select{width:100%}.receipts-total-badge{text-align:center;width:100%}.receipts-summary-grid{grid-template-columns:1fr}.receipts-summary-card:last-child{grid-column:span 1}.receipts-grid{grid-template-columns:1fr}}@media (width<=480px){.receipt-card-footer{flex-wrap:wrap}.receipt-btn-view{flex:none;width:100%}.receipt-btn-download,.receipt-btn-print{flex:1}}.financial-section-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.financial-section-title h2{color:#1e293b;margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.financial-section-title p{color:#64748b;font-size:.9rem}.financial-summary-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.financial-summary-card{border-radius:16px;flex-direction:column;justify-content:space-between;min-height:140px;padding:1.5rem;display:flex;position:relative;overflow:hidden}.financial-summary-card.green{background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.financial-summary-card.amber{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.financial-summary-card.blue{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)}.financial-card-header{justify-content:space-between;align-items:flex-start;display:flex}.financial-card-icon{color:#fff;background:#fff3;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.financial-card-icon svg{width:22px;height:22px}.financial-card-badge{color:#fff;background:#fff3;border-radius:6px;padding:.25rem .625rem;font-size:.7rem;font-weight:600}.financial-card-content{margin-top:auto}.financial-card-label{color:#ffffffd9;margin-bottom:.25rem;font-size:.85rem}.financial-card-value{color:#fff;font-size:1.75rem;font-weight:800;line-height:1.2}.financial-card-subtitle{color:#ffffffb3;margin-top:.5rem;font-size:.75rem}.financial-charts-grid{grid-template-columns:2fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.financial-chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.5rem;box-shadow:0 1px 3px #0000000d}.financial-chart-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.financial-chart-title{color:#1e293b;font-size:1rem;font-weight:700}.financial-chart-subtitle{color:#64748b;margin-top:.125rem;font-size:.8rem}.financial-chart-legend{gap:1rem;display:flex}.financial-legend-item{color:#64748b;align-items:center;gap:.375rem;font-size:.75rem;display:flex}.financial-legend-dot{border-radius:50%;width:8px;height:8px}.financial-legend-dot.green{background:#10b981}.financial-legend-dot.red{background:#ef4444}.financial-bar-chart{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-end;height:200px;padding:0 .5rem;display:flex}.financial-bar-group{flex-direction:column;flex:1;align-items:center;gap:.5rem;display:flex}.financial-bars{align-items:flex-end;gap:4px;height:180px;display:flex}.financial-bar{border-radius:4px 4px 0 0;width:24px;transition:height .3s}.financial-bar.receita{background:linear-gradient(#10b981 0%,#059669 100%)}.financial-bar.despesa{background:linear-gradient(#ef4444 0%,#dc2626 100%)}.financial-bar-label{color:#64748b;font-size:.7rem;font-weight:500}.financial-donut-container{flex-direction:column;align-items:center;padding:1rem 0;display:flex}.financial-donut{background:conic-gradient(#10b981 0deg 180deg,#f59e0b 180deg 270deg,#ef4444 270deg 360deg);border-radius:50%;width:160px;height:160px;margin-bottom:1.5rem;position:relative}.financial-donut:before{content:"";background:#fff;border-radius:50%;width:100px;height:100px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.financial-donut-legend{width:100%}.financial-donut-item{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.financial-donut-item:last-child{border-bottom:none}.financial-donut-label{color:#475569;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.financial-donut-dot{border-radius:50%;width:10px;height:10px}.financial-donut-dot.pagos{background:#10b981}.financial-donut-dot.pendentes{background:#f59e0b}.financial-donut-dot.atrasados{background:#ef4444}.financial-donut-value{color:#1e293b;font-size:.9rem;font-weight:700}.financial-filters-row{gap:1rem;margin-bottom:1.5rem;display:flex}.financial-search-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex:1;align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex;box-shadow:0 1px 3px #0000000d}.financial-search-container svg{color:#94a3b8;flex-shrink:0;width:18px;height:18px}.financial-search-input{color:#334155;background:0 0;border:none;outline:none;width:100%;font-size:.9rem}.financial-search-input::placeholder{color:#94a3b8}.financial-filter-select{color:#334155;cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right 12px center no-repeat;border:1px solid #e2e8f0;border-radius:12px;min-width:180px;padding:.75rem 2.5rem .75rem 1rem;font-size:.9rem}.financial-students-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.financial-students-header{border-bottom:1px solid #e2e8f0;padding:1.25rem 1.5rem}.financial-students-title{color:#1e293b;font-size:1rem;font-weight:700}.financial-students-list{padding:0}.financial-student-item{border-bottom:1px solid #f1f5f9;align-items:center;gap:1rem;padding:1.25rem 1.5rem;transition:background .15s;display:flex}.financial-student-item:last-child{border-bottom:none}.financial-student-item:hover{background:#f8fafc}.financial-student-avatar{color:#64748b;background:#e2e8f0;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.financial-student-avatar svg{width:24px;height:24px}.financial-student-info{flex:1;min-width:0}.financial-student-name{color:#1e293b;margin-bottom:.125rem;font-size:.95rem;font-weight:600}.financial-student-instrument{color:#64748b;margin-bottom:.375rem;font-size:.8rem}.financial-student-dates{align-items:center;gap:1rem;font-size:.75rem;display:flex}.financial-student-date{color:#94a3b8;align-items:center;gap:.25rem;display:flex}.financial-student-date svg{width:12px;height:12px}.financial-student-date.paid{color:#10b981}.financial-student-value{text-align:right;margin-right:1rem}.financial-student-amount{color:#1e293b;font-size:1.1rem;font-weight:700}.financial-student-reference{color:#94a3b8;font-size:.75rem}.financial-student-actions{align-items:center;gap:.5rem;display:flex}.financial-status-badge{border:1px solid;border-radius:8px;padding:.375rem .75rem;font-size:.75rem;font-weight:600}.financial-status-badge.pago{color:#15803d;background:#dcfce7;border-color:#bbf7d0}.financial-status-badge.pendente{color:#b45309;background:#fef3c7;border-color:#fde68a}.financial-status-badge.atrasado{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.financial-method-badge{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:.375rem .625rem;font-size:.7rem;font-weight:600}.financial-btn-details{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.8rem;font-weight:500;transition:all .15s;display:flex}.financial-btn-details:hover{background:#f8fafc;border-color:#cbd5e1}.financial-btn-details svg{width:14px;height:14px}@media (width<=1200px){.financial-summary-grid{grid-template-columns:repeat(2,1fr)}.financial-summary-card:last-child{grid-column:span 2}.financial-charts-grid{grid-template-columns:1fr}}@media (width<=768px){.financial-section-header{flex-direction:column;gap:1rem}.financial-section-header .btn{width:100%}.financial-summary-grid{grid-template-columns:1fr}.financial-summary-card:last-child{grid-column:span 1}.financial-filters-row{flex-direction:column}.financial-filter-select{width:100%}.financial-student-item{flex-wrap:wrap}.financial-student-value{text-align:left;order:3;width:100%;margin:.75rem 0 0 60px}.financial-student-actions{order:4;width:100%;margin-top:.75rem;margin-left:60px}}@media (width<=480px){.financial-card-value{font-size:1.5rem}.financial-bar{width:16px}.financial-donut{width:120px;height:120px}.financial-donut:before{width:70px;height:70px}}.welcome-banner{color:#fff;background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);border-radius:20px;margin-bottom:1.5rem;padding:1.5rem 2rem;position:relative;overflow:hidden}.welcome-banner:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff1a 0%,#0000 70%);width:300px;height:300px;position:absolute;top:-50%;right:-10%}.welcome-content{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.welcome-left{align-items:center;gap:1rem;display:flex}.welcome-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.welcome-icon svg{color:#fff;width:26px;height:26px}.welcome-text h1,.welcome-title{letter-spacing:-.01em;margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.welcome-text p,.welcome-subtitle{color:#ffffffd9;font-size:.9rem}.welcome-filters{gap:.75rem;display:flex}.filter-group{flex-direction:column;gap:.25rem;display:flex}.filter-group label{text-transform:uppercase;letter-spacing:.05em;color:#ffffffb3;font-size:.65rem;font-weight:600}.filter-select-banner{color:#fff;cursor:pointer;appearance:none;background:#ffffff26 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right 8px center no-repeat;border:1px solid #ffffff40;border-radius:10px;min-width:120px;padding:.5rem 2rem .5rem .875rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .15s}.filter-select-banner:hover{background-color:#fff3;border-color:#ffffff59}.filter-select-banner:focus{background-color:#ffffff40;border-color:#fff6;outline:none}.filter-select-banner option{color:#fff;background:#1e293b}.dashboard-filter--by--month--and--year{display:none!important}.dashboard-stats-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.dashboard-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000a}.dashboard-stat-card:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.dashboard-stat-card.blue:before{background:#3b82f6}.dashboard-stat-card.purple:before{background:#a855f7}.dashboard-stat-card.green:before{background:#10b981}.dashboard-stat-card.amber:before{background:#f59e0b}.dashboard-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.dashboard-stat-info{flex-direction:column;display:flex}.dashboard-stat-label{color:#64748b;text-transform:capitalize;margin-bottom:.25rem;font-size:.75rem;font-weight:500}.dashboard-stat-value{color:#1e293b;font-size:1.75rem;font-weight:800;line-height:1.1}.dashboard-stat-value.green{color:#059669}.dashboard-stat-value.amber{color:#d97706}.dashboard-stat-icon{border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.dashboard-stat-icon.blue{color:#3b82f6;background:#eff6ff}.dashboard-stat-icon.purple{color:#a855f7;background:#faf5ff}.dashboard-stat-icon.green{color:#10b981;background:#ecfdf5}.dashboard-stat-icon.amber{color:#f59e0b;background:#fffbeb}.dashboard-stat-icon svg{width:24px;height:24px}.dashboard-content-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.dashboard-content-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;height:420px;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000000a}.dashboard-card-header{border-bottom:1px solid #f1f5f9;flex-shrink:0;align-items:center;gap:.5rem;padding:1rem 1.25rem;display:flex}.dashboard-card-header svg{color:#64748b;width:18px;height:18px}.dashboard-card-title{color:#1e293b;font-size:.9rem;font-weight:700}.dashboard-card-body{flex:1;padding:.5rem;overflow-y:auto}.dashboard-event-item{cursor:pointer;border-radius:12px;padding:1rem;transition:background .15s}.dashboard-event-item:hover{background:#f8fafc}.dashboard-event-date{color:#f97316;margin-bottom:.375rem;font-size:.75rem;font-weight:600}.dashboard-event-title{color:#1e293b;margin-bottom:.25rem;font-size:.9rem;font-weight:600;line-height:1.3}.dashboard-event-subtitle{color:#64748b;font-size:.8rem;line-height:1.4}.dashboard-payment-item{border-radius:12px;justify-content:space-between;align-items:center;padding:1rem;transition:background .15s;display:flex}.dashboard-payment-item:hover{background:#f8fafc}.dashboard-payment-info{flex-direction:column;display:flex}.dashboard-payment-name{color:#1e293b;margin-bottom:.125rem;font-size:.9rem;font-weight:600}.dashboard-payment-reference{color:#64748b;font-size:.8rem}.dashboard-payment-right{flex-direction:column;align-items:flex-end;gap:.375rem;display:flex}.dashboard-payment-amount{color:#059669;background:#ecfdf5;border-radius:8px;padding:.25rem .625rem;font-size:.95rem;font-weight:700}.dashboard-payment-action{color:#f97316;cursor:pointer;background:0 0;border:none;padding:0;font-size:.7rem;font-weight:600;transition:color .15s}.dashboard-payment-action:hover{color:#ea580c;text-decoration:underline}.dashboard-empty-state{text-align:center;color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:3rem 1.5rem;display:flex}.dashboard-empty-state svg{opacity:.5;width:40px;height:40px;margin-bottom:.75rem}.dashboard-empty-state p{font-size:.85rem}@media (width<=1400px){.dashboard-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=1200px){.dashboard-content-grid{grid-template-columns:repeat(2,1fr)}.dashboard-content-card:last-child{grid-column:span 2}}@media (width<=1024px){.welcome-content{flex-direction:column;align-items:flex-start;gap:1rem}.welcome-filters{width:100%}.filter-select-banner{flex:1}}@media (width<=768px){.dashboard-stats-grid,.dashboard-content-grid{grid-template-columns:1fr}.dashboard-content-card:last-child{grid-column:span 1}.welcome-banner{padding:1.25rem 1.5rem}.welcome-text h1,.welcome-title{font-size:1.25rem}.welcome-filters{flex-direction:column;gap:.5rem}.filter-group{flex-direction:row;align-items:center;gap:.75rem}.filter-select-banner{flex:1}}@media (width<=480px){.dashboard-stat-card{padding:1rem 1.25rem}.dashboard-stat-value{font-size:1.5rem}.dashboard-stat-icon{width:40px;height:40px}.dashboard-content-card{height:350px}}.db-banner{color:#fff!important;box-shadow:none!important;background:linear-gradient(135deg,#f97316 0%,#ea580c 100%)!important;border:none!important;border-radius:16px!important;margin-bottom:1.5rem!important;padding:1.25rem 1.5rem!important}.db-banner-content{justify-content:space-between!important;align-items:center!important;display:flex!important}.db-banner-left{align-items:center!important;gap:1rem!important;display:flex!important}.db-banner-icon{background:#fff3!important;border-radius:12px!important;justify-content:center!important;align-items:center!important;width:48px!important;height:48px!important;display:flex!important}.db-banner-icon svg{color:#fff!important;width:24px!important;height:24px!important}.db-banner-title{color:#fff!important;margin:0 0 .125rem!important;font-size:1.35rem!important;font-weight:700!important}.db-banner-subtitle{color:#ffffffd9!important;margin:0!important;font-size:.875rem!important}.db-banner-filters{gap:.75rem!important;display:flex!important}.db-filter-group{flex-direction:column!important;gap:.25rem!important;display:flex!important}.db-filter-label{text-transform:uppercase!important;letter-spacing:.05em!important;color:#ffffffb3!important;font-size:.65rem!important;font-weight:600!important}.db-filter-select{color:#fff!important;cursor:pointer!important;appearance:none!important;background:#ffffff26 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right 8px center no-repeat!important;border:1px solid #ffffff40!important;border-radius:8px!important;min-width:110px!important;padding:.5rem 2rem .5rem .75rem!important;font-size:.875rem!important;font-weight:600!important}.db-filter-select:hover{background-color:#ffffff40!important}.db-filter-select option{color:#fff!important;background:#1e293b!important}.db-stats-row{grid-template-columns:repeat(4,1fr)!important;gap:1rem!important;margin-bottom:1.5rem!important;display:grid!important}.db-stat-box{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:16px!important;justify-content:space-between!important;align-items:center!important;padding:35px!important;transition:all .2s!important;display:flex!important;position:relative!important;overflow:hidden!important;box-shadow:0 1px 3px #0000000d!important}.db-stat-box:before{content:""!important;border-radius:0!important;width:4px!important;position:absolute!important;top:0!important;bottom:0!important;left:0!important}.db-stat-box--blue:before{background:#3b82f6!important}.db-stat-box--purple:before{background:#a855f7!important}.db-stat-box--green:before{background:#10b981!important}.db-stat-box--orange:before{background:#f59e0b!important}.db-stat-box:hover{transform:translateY(-2px)!important;box-shadow:0 4px 12px #0000001a!important}.db-stat-text{flex-direction:column!important;gap:.25rem!important;display:flex!important}.db-stat-label{color:#64748b!important;margin:0!important;font-size:.8rem!important;font-weight:500!important}.db-stat-number{color:#1e293b!important;margin:0!important;font-size:1.75rem!important;font-weight:800!important;line-height:1.1!important}.db-stat-number--green{color:#059669!important}.db-stat-number--orange{color:#d97706!important}.db-stat-icon{border-radius:12px!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;width:44px!important;height:44px!important;display:flex!important}.db-stat-icon--blue{color:#2563eb!important;background:#dbeafe!important}.db-stat-icon--purple{color:#9333ea!important;background:#f3e8ff!important}.db-stat-icon--green{color:#059669!important;background:#d1fae5!important}.db-stat-icon--orange{color:#d97706!important;background:#fef3c7!important}.db-stat-icon svg{width:22px!important;height:22px!important}.db-cards-row{grid-template-columns:repeat(3,1fr)!important;gap:1rem!important;display:grid!important}.db-card{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:16px!important;flex-direction:column!important;min-height:380px!important;max-height:450px!important;display:flex!important;overflow:hidden!important;box-shadow:0 1px 3px #0000000d!important}.db-card-head{background:#fff!important;border-bottom:1px solid #f1f5f9!important;flex-shrink:0!important;align-items:center!important;gap:.5rem!important;padding:1rem 1.25rem!important;display:flex!important}.db-card-head svg{color:#64748b!important;width:18px!important;height:18px!important}.db-card-head-title{color:#1e293b!important;margin:0!important;font-size:.9rem!important;font-weight:700!important}.db-card-content{flex:1!important;padding:.5rem!important;overflow-y:auto!important}.db-event{cursor:pointer!important;border-radius:10px!important;padding:.875rem 1rem!important;transition:background .15s!important}.db-event:hover{background:#f8fafc!important}.db-event-date{color:#f97316!important;margin-bottom:.375rem!important;font-size:.75rem!important;font-weight:600!important}.db-event-title{color:#1e293b!important;margin-bottom:.25rem!important;font-size:.875rem!important;font-weight:600!important;line-height:1.35!important}.db-event-desc{color:#64748b!important;font-size:.8rem!important;line-height:1.4!important}.db-payment{border-radius:10px!important;justify-content:space-between!important;align-items:center!important;padding:1rem!important;transition:background .15s!important;display:flex!important}.db-payment:hover{background:#f8fafc!important}.db-payment-info{flex-direction:column!important;gap:.125rem!important;display:flex!important}.db-payment-name{color:#1e293b!important;font-size:.875rem!important;font-weight:600!important}.db-payment-ref{color:#64748b!important;font-size:.8rem!important}.db-payment-right{flex-direction:column!important;align-items:flex-end!important;gap:.375rem!important;display:flex!important}.db-payment-value{color:#059669!important;font-size:.95rem!important;font-weight:700!important}.db-payment-btn{color:#f97316!important;cursor:pointer!important;background:0 0!important;border:none!important;padding:0!important;font-size:.7rem!important;font-weight:600!important}.db-payment-btn:hover{color:#ea580c!important;text-decoration:underline!important}.db-empty{text-align:center!important;color:#94a3b8!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;height:100%!important;padding:3rem 1.5rem!important;display:flex!important}.db-empty svg{opacity:.4!important;width:36px!important;height:36px!important;margin-bottom:.75rem!important}.db-empty p{margin:0!important;font-size:.85rem!important}@media (width<=1400px){.db-stats-row{grid-template-columns:repeat(2,1fr)!important}}@media (width<=1200px){.db-cards-row{grid-template-columns:repeat(2,1fr)!important}.db-cards-row .db-card:last-child{grid-column:span 2!important}}@media (width<=1024px){.db-banner-content{flex-direction:column!important;align-items:flex-start!important;gap:1rem!important}.db-banner-filters{width:100%!important}.db-filter-select{flex:1!important}}@media (width<=768px){.db-stats-row,.db-cards-row{grid-template-columns:1fr!important}.db-cards-row .db-card:last-child{grid-column:span 1!important}}.stat-item{flex-direction:row!important;align-items:center!important;column-gap:5px!important;display:flex!important}.stat-item.presente{background-color:#03ae78!important}.stat-item.falta{background-color:#e92154!important}.stat-item.ciclos{background-color:#834dec!important}.stat-item.frequencia{background-color:#039ae2!important}.stat-item .stat-value{color:#fff!important;font-size:12px!important;font-weight:300!important}.stat-item .stat-label{color:#fff!important;margin-bottom:0!important}.student-avatar{background-color:#242f42!important}.student-actions .btn-success{background-color:#03ae78!important}.cycle-progress-bar{background-color:#2b394f!important}.cycle-progress-bar .progress-info{color:#fff!important}.progress-track{background-color:#cacaca!important}.focused-section{flex-direction:column;gap:24px;display:flex}.section-heading-row{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.section-description{color:#64748b;margin:6px 0 0;font-size:15px}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:8px;padding:18px;display:flex;box-shadow:0 1px 2px #0f172a0a}.summary-label{color:#64748b;font-size:13px;font-weight:600}.summary-card strong{color:#0f172a;font-size:28px;line-height:1}.search-row{color:#7890b2;background:#fff;border:1px solid #dbe3ee;border-radius:8px;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 16px;display:flex}.search-row input{color:#0f172a;border:0;outline:0;width:100%;min-width:0;font-size:15px}.students-card{background:#fff;border:1px solid #dbe3ee;border-radius:8px;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.student-row{border-bottom:1px solid #edf2f7;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:18px 24px;display:grid}.student-row:last-child{border-bottom:0}.student-avatar-soft{color:#475569;background:#eef3f8;border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.student-main{min-width:0}.student-main h3,.student-main p{margin:0}.student-main h3{color:#0f172a;font-size:16px;font-weight:700}.student-main p,.student-main span{color:#64748b;font-size:14px}.student-fee{color:#0f172a;white-space:nowrap;font-size:15px;font-weight:700}.row-actions{gap:8px;display:flex}.empty-state{color:#64748b;text-align:center;margin:0;padding:36px 24px}.dashboard-modal-overlay{z-index:1000;background:#0f172a7a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dashboard-modal{background:#fff;border-radius:8px;width:min(760px,100%);max-height:min(760px,100vh - 48px);overflow:auto;box-shadow:0 24px 80px #0f172a3d}.dashboard-modal-header{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.dashboard-modal-header h3{color:#0f172a;margin:0;font-size:18px}.dashboard-modal-body{padding:24px}.student-form{flex-direction:column;gap:18px;display:flex}@media (width<=860px){.section-heading-row,.student-row{grid-template-columns:1fr}.section-heading-row{align-items:stretch}.summary-grid{grid-template-columns:1fr}.student-row{justify-items:start}}.login-container--custom{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.login-container--custom:before{content:"";background:radial-gradient(circle,#f59e0b08 0%,#0000 50%);width:200%;height:200%;animation:30s linear infinite rotate;position:absolute;top:-50%;left:-50%}.login-container--custom:after{content:"";filter:blur(40px);background:radial-gradient(circle,#f59e0b14 0%,#0000 70%);border-radius:50%;width:300px;height:300px;position:absolute;top:10%;right:10%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-radius:24px;width:100%;max-width:420px;padding:3rem 2.5rem;animation:.5s ease-out slideUp;position:relative;box-shadow:0 25px 50px -12px #0006,0 0 0 1px #ffffff1a}.login-title{text-align:center;margin-bottom:.5rem}.login-title h1{color:#1f2937;letter-spacing:-.025em;margin:0;font-size:1.875rem;font-weight:700}.login__information{text-align:center;margin-bottom:2rem}.login__information p{color:#6b7280;margin:0;font-size:.9375rem}.login__form{flex-direction:column;gap:1.25rem;display:flex}.login__form input[type=email],.login__form input[type=password],.login__form input[type=text],.login__form .input,.login__form .form-input{color:#1f2937;box-sizing:border-box;background:#f8fafc;border:2px solid #e5e7eb;border-radius:12px;outline:none;width:100%;padding:.875rem 1rem;font-size:.9375rem;transition:all .2s}.login__form input:hover{background:#fff;border-color:#d1d5db}.login__form input:focus{background:#fff;border-color:#f59e0b;box-shadow:0 0 0 4px #f59e0b1a}.input-password-icon{width:100%;position:relative}.input-password-icon input{width:100%;padding-right:3rem}.input-password-icon .eye-icon{cursor:pointer;opacity:.5;width:20px;height:20px;transition:opacity .2s;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.input-password-icon .eye-icon:hover{opacity:.8}.login-forgot__password{text-align:right;margin-top:-.5rem}.login__forgot{color:#f59e0b;font-size:.8125rem;font-weight:500;text-decoration:none;transition:color .2s}.login__forgot:hover{color:#d97706;text-decoration:underline}.login__btn{margin-top:.5rem}.login__btn .btn-success,.login__btn button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border:none;border-radius:12px;width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:0 4px 14px #f59e0b66}.login__btn .btn-success:hover,.login__btn button:hover{background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b80}.login__btn .btn-success:active,.login__btn button:active{transform:translateY(0);box-shadow:0 2px 10px #f59e0b66}.login-register--custom{text-align:center;border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1.5rem}.login-register--custom a,.login-register--custom span{color:#6b7280;font-size:.875rem;text-decoration:none;transition:color .2s}.target-message-error,.alert-error{color:#b91c1c;text-align:center;background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);border:1px solid #fecaca;border-radius:12px;margin-bottom:1rem;padding:.875rem 1rem;font-size:.875rem;font-weight:500;animation:.4s shake}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.target-message-success{color:#15803d;text-align:center;background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);border:1px solid #86efac;border-radius:12px;margin-bottom:1rem;padding:.875rem 1rem;font-size:.875rem;font-weight:500}@media (width<=480px){.login-container--custom{padding:1rem}.login{border-radius:20px;padding:2rem 1.5rem}.login-title h1{font-size:1.5rem}.login__form input{padding:.75rem .875rem}.login__btn button{padding:.75rem 1.25rem}}:root{--bg:#08080a;--panel:#0b0b0e;--card:#0d0d10;--card-hover:#101014;--inset:#0a0a0d;--chip:#17171c;--hairline:#16161a;--row-line:#14141a;--border:#23232b;--border-strong:#2a2a32;--text:#f2f2f4;--text-2:#a0a0aa;--text-3:#8a8a94;--accent:#f97316;--accent-hover:#fb8b3c;--accent-soft:#fba25a;--accent-bg:#f973161f;--accent-border:#f9731652;--accent-text:#f0be95;--ok:#7bc48f;--ok-solid:#4ea46a;--danger:#e0645e;--danger-border:#b4433f;--r-sm:8px;--r-md:11px;--r-lg:14px;--r-xl:16px;--font-ui:"Lexend", system-ui, sans-serif;--font-mono:"JetBrains Mono", monospace}.student-app-shell{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-ui)}.student-sidebar{z-index:80;border-right:1px solid var(--hairline);background:#0a0a0cfa;flex-direction:column;align-items:center;gap:34px;width:72px;padding:20px 0;display:flex;position:fixed;inset:0 auto 0 0}.student-sidebar-logo{background:var(--accent);border-radius:var(--r-sm);color:#080809;place-items:center;width:34px;height:34px;display:grid}.student-sidebar-nav{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.student-nav-item{border-radius:var(--r-md);width:56px;min-height:58px;color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;gap:5px;display:grid;position:relative}.student-nav-item.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.student-nav-icon{place-items:center;display:grid;position:relative}.student-nav-icon span{background:var(--accent);color:#080809;min-width:17px;height:17px;font-family:var(--font-mono);border-radius:999px;place-items:center;font-size:10px;font-weight:700;display:grid;position:absolute;top:-9px;right:-10px}.student-nav-item small{color:inherit;font-size:10px;line-height:1}.student-more-wrap{display:none}.student-sidebar-footer{border-top:1px solid var(--hairline);flex-direction:column;align-items:center;gap:28px;width:100%;margin-top:auto;padding-top:28px;display:flex}.student-mini-avatar,.student-sidebar-logout{border:1px solid var(--border);background:var(--chip);width:34px;height:34px;color:var(--text);border-radius:50%;place-items:center;display:grid}.student-sidebar-logout{border-radius:var(--r-sm);color:var(--text-2);cursor:pointer;background:0 0}.student-main-content{min-width:0;max-width:100%;min-height:100dvh;margin-left:72px;padding:clamp(34px,4vw,52px) clamp(28px,4vw,50px) 60px;overflow-x:clip}.student-toast{z-index:1200;width:min(360px,100vw - 32px);min-height:50px;color:var(--text);border:1px solid var(--border);border-radius:var(--r-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;will-change:opacity, transform;background:#121216f0;align-items:center;gap:12px;padding:14px 16px;display:inline-flex;position:fixed;top:28px;right:28px;box-shadow:0 18px 42px #00000052}.student-toast svg{flex:none}.student-toast span{color:inherit;font-size:13.5px;font-weight:600;line-height:1.35}.student-toast--success{color:#86efac;background:#0a1c12f0;border-color:#4ade8073}.student-toast--error{color:#fca5a5;background:#230e10f0;border-color:#f8717173}.student-toast.is-entering{animation:.36s cubic-bezier(.16,1,.3,1) both student-toast-in}.student-toast.is-leaving{animation:.42s cubic-bezier(.7,0,.84,0) both student-toast-out}@keyframes student-toast-in{0%{opacity:0;transform:translate(22px,-18px)scale(.98)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes student-toast-out{0%{opacity:1;transform:translate(0,0)scale(1)}to{opacity:0;transform:translate(22px,-18px)scale(.98)}}@media (width<=720px){.student-toast{width:calc(100vw - 32px);top:16px;right:16px}}.student-page-header{border-bottom:1px solid var(--hairline);margin-bottom:26px;padding-bottom:30px}.student-eyebrow{color:var(--accent);font-family:var(--font-mono);letter-spacing:.32em;text-transform:uppercase;margin:0 0 14px;font-size:10px;font-weight:700;line-height:1}.student-page-header h1{color:var(--text);margin:0;font-size:clamp(34px,4vw,44px);font-weight:300;line-height:1.02}.student-page-header p:last-child,.student-muted{color:var(--text-2);margin:10px 0 0;font-size:15px;line-height:1.55}.student-section-stack{flex-direction:column;gap:20px;display:flex}.student-signature-alert,.student-payment-hero{border:1px solid var(--accent-border);border-radius:var(--r-lg);background:#f9731614;justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.student-signature-alert h2{color:var(--text);margin:0;font-size:17px;font-weight:700}.student-signature-alert p:last-child{color:var(--text-2);margin:7px 0 0;font-size:14px}.student-primary-button,.student-question-form button,.student-lesson-status button{background:var(--accent);border-radius:var(--r-sm);color:#080809;cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 20px;font-size:14px;font-weight:800;display:inline-flex}.student-primary-button:disabled,.student-question-form button:disabled{cursor:not-allowed;opacity:.55}.student-stats-grid{background:var(--card);border:1px solid var(--hairline);border-radius:var(--r-lg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.student-stats-grid article{border-right:1px solid var(--hairline);min-height:136px;padding:24px}.student-stats-grid article:last-child{border-right:0}.student-stats-grid p,.student-payments-table header span,.student-question-form label{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.26em;text-transform:uppercase;margin:0;font-size:10px}.student-stats-grid p span,.student-payments-table article span,.student-board-card li span{color:var(--accent)}.student-stats-grid strong{color:var(--text);margin-top:20px;font-size:42px;font-weight:300;line-height:1;display:block}.student-stats-grid strong.green{color:#6bd28f}.student-stats-grid strong.orange{color:var(--accent)}.student-stats-grid small{color:var(--text-2);margin-top:10px;font-size:13px;display:block}.student-panel-grid{grid-template-columns:minmax(0,1fr) minmax(0,.96fr);gap:20px;display:grid}.student-card-panel,.student-cycle-card,.student-board-card,.student-question-form,.student-question-card,.student-loading-card,.student-password-card,.student-password-gate{background:var(--card);border:1px solid var(--hairline);border-radius:var(--r-lg)}.student-card-panel{min-height:274px;padding:24px}.student-card-panel h2,.student-password-card h2,.student-questions h2{color:var(--text);margin:0;font-size:17px;font-weight:800}.student-card-panel>p{color:var(--text-2);margin:8px 0 28px;font-size:14px}.student-cycle-row{justify-content:space-between;gap:18px;margin-bottom:14px;display:flex}.student-cycle-row span{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;font-size:11px}.student-cycle-row strong{color:var(--accent-text);font-size:13px}.student-cycle-segments{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.student-payment-preview{gap:52px;margin-top:24px;display:flex}.student-payment-preview span{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;font-size:10px;display:block}.student-payment-preview strong{color:var(--text);font-family:var(--font-mono);margin-top:8px;font-size:18px;font-weight:500;display:block}.student-panel-title-row,.student-cycle-card header,.student-question-form div,.student-payment-hero{justify-content:space-between;align-items:center;gap:16px;display:flex}.student-panel-title-row button{color:var(--accent);cursor:pointer;font-family:var(--font-mono);letter-spacing:.26em;text-transform:uppercase;background:0 0;border:0;font-size:10px}.student-note-preview{border-top:1px solid var(--hairline);padding:16px 0}.student-note-preview h3,.student-board-card h2,.student-question-card h3{color:var(--text);margin:10px 0 0;font-size:15px;font-weight:800}.student-note-preview p,.student-board-card p,.student-question-card p,.student-questions>div>p,.student-empty-copy{color:var(--text-2);margin:8px 0 0;font-size:14px;line-height:1.55}.student-tag,.signed-pill,.student-question-card span{border:1px solid var(--border);border-radius:var(--r-xs);min-height:22px;color:var(--text-2);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:6px;padding:0 9px;font-size:9px;display:inline-flex}.student-tag.revisao,.student-question-card span.waiting{border-color:var(--accent-border);color:var(--accent)}.student-tag.anotacao,.student-question-card span.answered{color:#6bd28f;border-color:#6bd28f59}.student-filter-row{flex-wrap:wrap;gap:9px;display:flex}.student-filter-row button{border:1px solid var(--border);border-radius:var(--r-sm);min-height:38px;color:var(--text-2);cursor:pointer;background:0 0;padding:0 16px;font-size:13px}.student-filter-row button.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.student-board-list,.student-cycles-list{flex-direction:column;gap:14px;display:flex}.student-board-card{padding:22px}.student-board-card>div{align-items:center;gap:10px;display:flex}.student-board-card small,.student-note-preview small{color:var(--text-3);font-family:var(--font-mono);font-size:10px}.student-board-card small.new{color:var(--accent);letter-spacing:.22em;text-transform:uppercase}.student-board-card ul{border-top:1px solid var(--hairline);margin:18px 0 0;padding:18px 0 0;list-style:none}.student-board-card li{color:var(--text-2);gap:14px;margin-top:12px;font-size:14px;display:flex}.student-empty-state{color:var(--text-2)}.student-empty-state h2,.student-empty-state h3{color:var(--text)}.student-questions{flex-direction:column;gap:14px;margin-top:18px;display:flex}.student-question-form,.student-question-card,.student-password-card{padding:22px}.student-question-form textarea{resize:vertical;border:0;border-bottom:1px solid var(--hairline);width:100%;min-height:88px;color:var(--text);font:inherit;background:0 0;outline:0;margin-top:18px;padding:0}.student-question-form div{margin-top:16px}.student-question-form span{color:var(--text-2);font-size:13px}.student-form-error{color:#ff8a8a;margin:10px 0 0;font-size:13px}.student-question-card>div{align-items:center;gap:10px;display:flex}.student-question-card small{color:var(--text-3);font-family:var(--font-mono);font-size:10px}.student-answer{border-top:1px solid var(--hairline);margin:18px -22px -22px;padding:20px 22px}.student-answer>span{background:var(--accent);color:#080809;border:0;border-radius:50%;justify-content:center;width:24px;height:24px;padding:0}.student-cycle-card{overflow:hidden}.student-cycle-card.active{border-color:var(--accent-border)}.student-cycle-card header{border-bottom:1px solid var(--hairline);padding:20px 22px}.student-cycle-card header div{align-items:baseline;gap:12px;display:flex}.student-cycle-card header span{color:var(--accent);font-family:var(--font-mono);font-size:10px}.student-cycle-card header h2{color:var(--text);margin:0;font-size:16px}.student-cycle-card header small{color:var(--text-2);font-family:var(--font-mono)}.student-cycle-card header>strong{color:#6bd28f;font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;font-size:10px;font-weight:500}.student-cycle-card.active header>strong{color:var(--accent)}.student-lessons-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px;display:grid}.student-lesson-card{border:1px solid var(--border);border-radius:var(--r-md);background:#111115;grid-template-columns:auto 1fr auto;gap:14px;min-height:120px;padding:16px;display:grid}.student-lesson-number{border:1px solid var(--border);border-radius:var(--r-xs);width:24px;height:24px;color:var(--text-2);font-family:var(--font-mono);place-items:center;font-size:11px;display:grid}.student-lesson-main strong{color:var(--text);font-family:var(--font-mono);font-size:15px;font-weight:500;display:inline-block}.student-lesson-main span{color:var(--text-3);font-family:var(--font-mono);margin-left:8px;font-size:10px}.student-lesson-main p{color:var(--text-2);margin:10px 0 0;font-size:13px;line-height:1.45}.student-lesson-status{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.present-dot{color:#6bd28f;white-space:nowrap;font-size:12px}.present-dot:before{content:"";vertical-align:middle;background:#6bd28f;border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block}.signed-pill{min-height:24px;color:var(--text-2)}button.signed-pill{cursor:pointer;background:0 0}.signed-pill.muted{color:var(--text-3);border-color:var(--hairline)}.student-lesson-status button{min-height:30px;padding:0 13px;font-size:12px}.student-lesson-status button.signed-pill{border-color:var(--border);color:var(--text-2);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;background:0 0;font-size:9px;font-weight:500}.student-lesson-status button.signed-pill:hover{border-color:var(--accent-border);color:var(--accent)}.student-signature-view-modal{width:min(520px,100%)}.student-signature-preview{background:var(--inset);border:1px solid var(--accent-border);border-radius:var(--r-sm);place-items:center;min-height:180px;margin-top:22px;display:grid}.student-signature-preview img{filter:brightness(4.2)contrast(1.2)saturate(1.15);max-width:100%;max-height:170px}.student-payment-hero{min-height:130px}.student-payment-hero strong{color:var(--text);font-size:34px;font-weight:300;line-height:1;display:block}.student-payment-hero span,.student-payment-hero small{color:var(--text-2);margin-top:10px;font-size:14px;display:block}.student-payment-hero>div:last-child{width:min(46%,680px)}.student-payments-table{gap:0;display:grid}.student-payments-table header,.student-payments-table article{border-bottom:1px solid var(--hairline);grid-template-columns:minmax(180px,1fr) 170px 90px 130px 170px;align-items:center;gap:20px;padding:16px 14px;display:grid}.student-payments-table article{color:var(--text);font-family:var(--font-mono);font-size:14px}.student-payments-table strong{border:1px solid var(--border);border-radius:var(--r-xs);letter-spacing:.2em;text-transform:uppercase;align-items:center;min-height:24px;padding:0 10px;font-size:10px;font-weight:500;display:inline-flex}.student-payments-table strong.open{border-color:var(--accent-border);color:var(--accent)}.student-payments-table strong.paid{color:#6bd28f;border-color:#6bd28f59}.student-password-card{margin-bottom:20px}.student-password-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.student-password-form input{border:0;border-bottom:1px solid var(--hairline);min-height:42px;color:var(--text);background:0 0;outline:0}.student-password-form button{background:var(--accent);border-radius:var(--r-sm);color:#080809;cursor:pointer;border:0;min-height:42px;font-weight:800}.student-password-gate-backdrop{z-index:260;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#000000c2;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.student-password-gate{width:min(460px,100%);padding:clamp(24px,5vw,34px);box-shadow:0 24px 70px #0000008c,0 0 0 1px #f9731614}.student-password-gate h2{color:var(--text);letter-spacing:-.03em;margin:0;font-size:clamp(26px,6vw,34px);font-weight:300;line-height:1.05}.student-password-gate-form{gap:18px;margin-top:26px;display:grid}.student-password-gate-form input{border:0;border-bottom:1px solid var(--border);min-height:46px;color:var(--text);font:inherit;background:0 0;border-radius:0;outline:0}.student-password-gate-form input::placeholder{color:var(--text-3)}.student-password-gate-form input:focus{border-bottom-color:var(--accent)}.student-password-gate-form button{background:var(--accent);border-radius:var(--r-sm);color:#080809;cursor:pointer;border:0;min-height:48px;margin-top:6px;font-size:14px;font-weight:800}.student-password-gate-form button:disabled{cursor:not-allowed;opacity:.62}.student-loading-card{color:var(--text-2);padding:28px}.student-skeleton-line{background:linear-gradient(90deg,#17171c 0%,#24242b 48%,#17171c 100%) 0 0/220% 100%;border-radius:999px;width:100%;height:12px;animation:1.25s ease-in-out infinite student-skeleton-shimmer;display:block;overflow:hidden}.student-skeleton-line.short{width:34%}.student-skeleton-line.medium{width:56%}.student-skeleton-line.value{border-radius:var(--r-xs);width:120px;height:38px}.student-skeleton-line.avatar{border-radius:var(--r-sm);flex:0 0 36px;width:36px;height:36px}.student-skeleton-line.button{border-radius:var(--r-sm);width:110px;height:42px}.student-skeleton-line.tall{border-radius:var(--r-xs);height:76px}.student-skeleton-line.bubble{border-radius:var(--r-md);width:min(520px,62%);height:110px}.student-skeleton-line.bubble.right{justify-self:end}.student-skeleton-line.bubble.left{justify-self:start}.student-skeleton-line.segments{height:4px;margin-top:24px}.student-skeleton-card,.student-skeleton-stats{background:var(--card);border:1px solid var(--hairline);border-radius:var(--r-lg)}.student-skeleton-card{padding:24px}.student-skeleton-stats{grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.student-skeleton-stats article{border-right:1px solid var(--hairline);align-content:start;gap:18px;min-height:136px;padding:24px;display:grid}.student-skeleton-stats article:last-child{border-right:0}.student-skeleton-panel-grid{grid-template-columns:minmax(0,1fr) minmax(0,.96fr);gap:20px;display:grid}.student-skeleton-panel-grid .student-skeleton-card{align-content:start;gap:18px;min-height:274px;display:grid}.student-skeleton-two-cols{grid-template-columns:repeat(2,minmax(0,120px));gap:28px;margin-top:16px;display:grid}.student-skeleton-lessons .student-skeleton-card{padding:0;overflow:hidden}.student-skeleton-section-head{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;display:flex}.student-skeleton-lessons-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:22px;display:grid}.student-skeleton-lesson,.student-skeleton-thread{align-items:center;gap:12px;display:flex}.student-skeleton-lesson{border:1px solid var(--hairline);border-radius:var(--r-md);min-height:92px;padding:16px}.student-skeleton-lesson>div,.student-skeleton-thread>div{gap:10px;width:100%;display:grid}.student-skeleton-payment-hero{border-color:var(--accent-border);background:#f9731614;justify-content:space-between;align-items:center;gap:24px;min-height:130px;display:flex}.student-skeleton-payment-hero>div{gap:14px;width:min(46%,680px);display:grid}.student-skeleton-table{padding:0}.student-skeleton-table>div{border-bottom:1px solid var(--hairline);grid-template-columns:minmax(180px,1fr) 170px 90px 130px 170px;align-items:center;gap:20px;padding:18px 14px;display:grid}.student-skeleton-table>div:last-child{border-bottom:0}.student-skeleton-messages{grid-template-columns:320px minmax(0,1fr);gap:14px;min-height:580px;display:grid}.student-skeleton-inbox{align-content:start;gap:0;padding:0;display:grid;overflow:hidden}.student-skeleton-filter{border-bottom:1px solid var(--hairline);flex-wrap:wrap;gap:8px;padding:16px;display:flex}.student-skeleton-filter .student-skeleton-line{border-radius:var(--r-sm);width:84px;height:36px}.student-skeleton-inbox .student-skeleton-thread{border-bottom:1px solid var(--hairline);padding:16px}.student-skeleton-conversation{align-content:start;gap:26px;padding:20px;display:grid}.student-skeleton-composer{border-top:1px solid var(--hairline);gap:14px;padding-top:18px;display:grid}@keyframes student-skeleton-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.student-modal-backdrop{z-index:200;background:#000000b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.student-modal{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);width:min(430px,100%);padding:26px;position:relative}.student-modal-close{background:var(--chip);border:1px solid var(--border);border-radius:var(--r-sm);width:34px;height:34px;color:var(--text-2);cursor:pointer;place-items:center;display:grid;position:absolute;top:16px;right:16px}.student-modal h2{color:var(--text);margin:0;font-size:24px;font-weight:400}.student-signature-pad{margin:22px 0}.student-signature-toolbar{color:var(--text-2);justify-content:space-between;margin-bottom:10px;font-size:13px;display:flex}.student-signature-toolbar button{color:var(--accent);cursor:pointer;background:0 0;border:0}.student-signature-canvas-wrap{border:1px solid var(--accent-border);border-radius:var(--r-sm);background:#0b0b0d;height:170px;position:relative}.student-signature-canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;display:block}.student-signature-placeholder{color:var(--text-3);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}@media (width<=1180px){.student-lessons-grid,.student-stats-grid,.student-skeleton-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.student-panel-grid,.student-skeleton-panel-grid{grid-template-columns:1fr}.student-skeleton-stats article:nth-child(2){border-right:0}.student-skeleton-stats article:nth-child(-n+2){border-bottom:1px solid var(--hairline)}}@media (width<=820px){.student-sidebar{border-right:0;border-bottom:1px solid var(--hairline);flex-direction:row;justify-content:space-between;gap:12px;width:100%;height:58px;padding:0 18px;inset:0 0 auto}.student-sidebar-nav{box-sizing:border-box;border-top:1px solid var(--hairline);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0a0cf5;grid-template-columns:repeat(5,minmax(0,1fr));place-items:center;gap:0;width:100%;max-width:100vw;height:70px;padding:8px 10px;display:grid;position:fixed;bottom:0;left:0;right:0;overflow:visible}.student-nav-item{justify-self:center;width:min(76px,100%);min-width:0;min-height:52px}.student-nav-overflow{display:none}.student-more-wrap{place-items:center;width:100%;min-width:0;display:grid;position:relative}.student-mobile-more{width:min(76px,100%)}.student-more-menu{z-index:95;border:1px solid var(--border);border-radius:var(--r-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0d0d10fa;gap:6px;width:min(230px,100vw - 24px);padding:8px;display:grid;position:fixed;bottom:78px;right:12px;box-shadow:0 18px 50px #0000007a}.student-more-menu button{min-width:0;min-height:46px;color:var(--text-2);border-radius:var(--r-sm);font-family:var(--font-ui);text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:0 12px;font-size:12px;font-weight:500;display:grid}.student-more-menu button svg{justify-self:center}.student-more-menu button.active{color:var(--accent);background:var(--accent-bg);border-color:var(--accent-border)}.student-nav-item small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;overflow:hidden}.student-sidebar-footer{border-top:0;flex-direction:row;gap:12px;width:auto;margin-top:0;padding-top:0}.student-main-content{margin-left:0;padding:92px 18px 96px}.student-payment-hero,.student-signature-alert,.student-panel-title-row,.admin-post-actions,.student-question-form div{flex-direction:column;align-items:stretch}.admin-post-grid,.admin-post-grid.three{grid-template-columns:minmax(0,1fr)}.student-payment-hero>div:last-child{width:100%}.student-skeleton-payment-hero{flex-direction:column;align-items:stretch}.student-skeleton-payment-hero>div{width:100%}.student-payments-table{gap:12px}.student-payments-table header{display:none}.student-payments-table article{border:1px solid var(--hairline);border-radius:var(--r-md);grid-template-columns:1fr 1fr}.student-skeleton-table{background:0 0;border:0;gap:12px;padding:0;display:grid}.student-skeleton-table>div{border:1px solid var(--hairline);border-radius:var(--r-md);grid-template-columns:1fr 1fr}.student-skeleton-messages{grid-template-columns:minmax(0,1fr);min-height:0}.student-password-form{grid-template-columns:1fr}}@media (width<=560px){.student-page-header h1{font-size:32px}.student-stats-grid,.student-skeleton-stats,.student-lessons-grid,.student-skeleton-lessons-grid{grid-template-columns:1fr}.student-stats-grid article,.student-skeleton-stats article{border-right:0;border-bottom:1px solid var(--hairline);min-height:112px}.student-stats-grid article:last-child,.student-skeleton-stats article:last-child{border-bottom:0}.student-skeleton-line.bubble{width:100%}.student-lesson-card{grid-template-columns:auto 1fr}.student-lesson-status{grid-column:2;align-items:flex-start}.student-payment-preview{gap:24px}}html{background:var(--bg)}body{font-family:var(--font-ui);color:var(--text-2);background:var(--bg);font-variant-numeric:tabular-nums;font-size:14.5px;font-weight:400;line-height:1.6}button,input,textarea,select{font-family:var(--font-ui);font-variant-numeric:tabular-nums}.app-container{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-variant-numeric:tabular-nums}.dashboard-session-loading{background:var(--bg);min-height:100vh}@keyframes skeleton-pulse{0%{background-position:120% 0}to{background-position:-120% 0}}.skeleton-line{background:linear-gradient(90deg,#17171cb8 0%,#2a2a32db 46%,#17171cb8 100%) 0 0/220% 100%;border-radius:999px;max-width:100%;animation:1.25s ease-in-out infinite skeleton-pulse;display:block}.skeleton-section{color:#0000}.skeleton-header{min-height:92px}.skeleton-eyebrow{width:142px;height:11px;margin-bottom:16px}.skeleton-title{width:min(360px,72vw);height:38px}.skeleton-copy{width:170px;height:13px}.skeleton-copy-wide{width:min(320px,72vw);margin-top:12px}.skeleton-button{border-radius:var(--r-sm);width:140px;height:43px}.skeleton-label{width:108px;height:11px}.skeleton-number{width:82px;height:40px;margin-top:18px}.skeleton-number-small{width:44px;height:26px}.skeleton-card-title{width:170px;height:17px;margin-bottom:10px}.skeleton-list{flex-direction:column;display:flex}.skeleton-list-row{border-bottom:1px solid var(--row-line);grid-template-columns:36px minmax(120px,1fr) minmax(140px,38%);align-items:center;gap:14px;min-height:68px;padding:16px 22px;display:grid}.skeleton-list-row:last-child{border-bottom:0}.skeleton-avatar,.skeleton-logo,.skeleton-footer-avatar{border-radius:var(--r-sm)}.skeleton-avatar{width:38px;height:38px}.skeleton-list-copy{flex-direction:column;gap:9px;min-width:0;display:flex}.skeleton-name{width:min(146px,100%);height:15px}.skeleton-track{border-radius:2px;width:100%;height:4px}.skeleton-student-metric{flex-direction:column;gap:12px;min-width:108px;display:flex}.skeleton-search{pointer-events:none}.skeleton-search-icon{width:18px;height:18px}.skeleton-search-text{width:min(320px,72vw);height:15px}.skeleton-students-table{gap:0}.skeleton-student-row{pointer-events:none}.skeleton-index{width:25px;height:11px}.skeleton-phone{justify-self:end;width:132px;height:13px}.skeleton-cycle{width:112px;height:13px}.skeleton-date{width:88px;height:13px}.skeleton-price{justify-self:end;width:74px;height:13px}.skeleton-action{border-radius:var(--r-sm);width:65px;height:36px}.skeleton-action-wide{width:94px;height:38px}.skeleton-sidebar .nav-item{cursor:default;pointer-events:none}.skeleton-logo{width:34px;height:34px}.skeleton-sidebar-title{width:112px;height:15px}.skeleton-sidebar-subtitle{width:84px;height:11px;margin-top:9px}.skeleton-nav-icon{width:17px;height:17px}.skeleton-nav-label{width:34px;height:9px}.skeleton-footer-button,.skeleton-footer-avatar{width:34px;height:34px}.skeleton-footer-avatar{border-radius:50%}.skeleton-attendance-card{pointer-events:none}.skeleton-stat{gap:8px!important}.main-content{background:var(--bg)}.sidebar{background:var(--panel);border-right:1px solid var(--hairline);color:var(--text)}.sidebar-logo,.user-avatar{background:var(--accent);color:var(--bg);border-radius:var(--r-sm);box-shadow:none}.sidebar-title{color:var(--text);letter-spacing:-.01em;font-size:15.5px;font-weight:500}.sidebar-subtitle,.user-role{color:var(--text-3);font-size:12.5px;font-weight:400}.nav-item{color:var(--text-2);letter-spacing:-.01em;box-shadow:none;border:1px solid #0000;font-size:13px;font-weight:500}.nav-item:hover{background:var(--card-hover);color:var(--text)}.nav-item.active{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-border);box-shadow:none}.nav-item.active svg{color:var(--accent)}.sidebar-footer{border-top-color:var(--hairline)}.user-name{color:var(--text);letter-spacing:-.01em;font-size:15px;font-weight:500}.section-eyebrow{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 0 12px;font-size:10.5px;font-weight:500;line-height:1.45}.section-title{margin:0;color:var(--text)!important;font-family:var(--font-ui)!important;letter-spacing:-.03em!important;font-size:clamp(28px,3.6vw,36px)!important;font-weight:300!important;line-height:1.05!important}.section-description{color:var(--text-2);font-size:14.5px;font-weight:400;line-height:1.6}.summary-grid{background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--r-lg);gap:1px;overflow:hidden}.summary-card{background:var(--card);box-shadow:none;border:0;border-radius:0;padding:22px}.summary-label{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.14em;text-transform:uppercase;font-size:10.5px;font-weight:500;line-height:1.5}.summary-label b{color:var(--accent);font-weight:500}.summary-card strong{color:var(--text);letter-spacing:-.035em;font-size:38px;font-weight:300;line-height:1}.search-row,.students-card,.dashboard-modal,.form-input,.form-select,.form-textarea{background:var(--card);border-color:var(--border);color:var(--text);box-shadow:none}.search-row{border-radius:var(--r-sm);color:var(--text-3)}.search-row input{color:var(--text);background:0 0;font-size:14.5px}.search-row input::placeholder,.form-input::placeholder,.form-textarea::placeholder{color:var(--text-3)}.students-card{border-radius:var(--r-lg)}.student-row{border-bottom-color:var(--row-line)}.student-row:hover{background:var(--card-hover)}.student-avatar-soft{color:var(--text);background:var(--chip);border:1px solid var(--border)}.student-main h3{color:var(--text);letter-spacing:-.01em;font-size:15.5px;font-weight:500}.student-main p,.student-main span,.empty-state{color:var(--text-2);font-size:13px;font-weight:400}.student-fee{color:var(--text);font-family:var(--font-mono);font-size:14px;font-weight:400}.btn,.status-btn,.signature-clear-btn{font-family:var(--font-ui)!important;letter-spacing:0!important;border-radius:var(--r-sm)!important;box-shadow:none!important;font-size:13.5px!important;font-weight:600!important}.btn-primary,.btn-success{background:var(--accent)!important;color:var(--bg)!important}.btn-primary:hover,.btn-success:hover{background:var(--accent-hover)!important}.btn-secondary,.btn-ghost,.btn-outline{color:var(--text-2)!important;border:1px solid var(--border)!important;background:0 0!important}.btn-secondary:hover,.btn-ghost:hover,.btn-outline:hover{background:var(--card-hover)!important;color:var(--text)!important;border-color:var(--border-strong)!important}.btn-danger{background:var(--danger)!important;color:var(--text)!important}.btn-icon,.modal-close-btn,.record-action-btn{color:var(--text-3);box-shadow:none;background:0 0;border:1px solid #0000}.btn-icon:hover,.modal-close-btn:hover,.record-action-btn:hover{color:var(--text);background:var(--chip);border-color:var(--border)}.btn-icon.danger:hover,.record-action-btn.delete:hover{color:var(--danger)}.dashboard-modal-overlay,.attendance-modal-overlay{z-index:1000!important;-webkit-backdrop-filter:blur(3px)!important;backdrop-filter:blur(3px)!important;background:#040406c7!important;place-items:center!important;padding:18px!important;display:grid!important;position:fixed!important;inset:0!important;overflow:hidden auto!important}.dashboard-modal-overlay{place-items:center!important;padding:16px!important;overflow-y:auto!important}.dashboard-modal,.attendance-modal{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:var(--r-xl)!important;box-shadow:none!important}.dashboard-modal-header,.attendance-modal-header,.attendance-modal-footer,.form-actions{background:var(--card)!important;border-color:var(--hairline)!important}.dashboard-modal-header h3,.attendance-modal-header h3{color:var(--text)!important;letter-spacing:-.03em!important;font-size:26px!important;font-weight:300!important}.form-label,.modal-field label,.stat-label{font-family:var(--font-mono)!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--text-3)!important;font-size:10px!important;font-weight:500!important;line-height:1.5!important}.form-input,.form-select,.form-textarea,.modal-input,.modal-textarea,.filter-select{border:0!important;border-bottom:1px solid var(--border)!important;color:var(--text)!important;box-shadow:none!important;background:0 0!important;border-radius:0!important;font-size:14.5px!important;line-height:1.6!important}.form-input:focus,.form-select:focus,.form-textarea:focus,.modal-input:focus,.modal-textarea:focus,.filter-select:focus{border-bottom-color:var(--accent)!important;box-shadow:none!important;outline:none!important}.attendance-section,.students-list{color:var(--text)}.section-header{border-bottom:1px solid var(--hairline);padding-bottom:26px}.student-attendance-card,.cycle-card,.no-students,.no-records{background:var(--card)!important;border:1px solid var(--hairline)!important;border-radius:var(--r-lg)!important;box-shadow:none!important}.student-card-header,.cycle-header{background:var(--card)!important;border-bottom:1px solid var(--hairline)!important}.student-avatar{background:var(--chip)!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:var(--r-md)!important}.student-name{color:var(--text)!important;letter-spacing:-.01em!important;font-size:15.5px!important;font-weight:500!important}.student-instrument,.cycle-progress,.record-time,.record-notes,.no-students,.no-records,.delete-note,.modal-student-info span,.signature-view-info span{color:var(--text-2)!important;font-size:13px!important;font-weight:400!important}.stat-item{background:var(--chip)!important;border:1px solid var(--border)!important;border-radius:var(--r-sm)!important}.stat-value,.cycle-number,.record-date,.delete-record-info strong,.modal-student-info strong,.signature-view-info strong{color:var(--text)!important;font-family:var(--font-mono)!important;font-size:14px!important;font-weight:400!important}.cycle-progress-bar,.modal-student-info,.delete-record-info,.signature-view-info{background:var(--inset)!important;border-color:var(--hairline)!important;color:var(--text-2)!important}.progress-info,.record-status-label,.cycle-badge,.aula-number,.empty-slot-content,.signature-indicator{font-family:var(--font-mono)!important;letter-spacing:.1em!important;text-transform:uppercase!important;font-size:10.5px!important;font-weight:500!important}.progress-track,.progress-dot.empty,.attendance-record.empty-slot{background:var(--border)!important}.progress-fill,.progress-dot.filled,.aula-number{background:var(--accent)!important;color:var(--bg)!important}.progress-dot{background:var(--card)!important;border-color:var(--border-strong)!important}.cycle-card.current,.cycle-card.complete{border-color:var(--accent-border)!important;background:var(--card)!important}.cycle-badge.complete,.cycle-badge.paid,.status-btn.active.presente{color:var(--ok)!important;background:#7bc48f1f!important;border-color:#7bc48f59!important}.cycle-badge.in-progress,.cycle-alert,.status-btn.active.justificado,.signature-indicator{border-radius:var(--r-xs)!important;white-space:nowrap!important;background:var(--accent-bg)!important;border:1px solid #0000!important;border-color:var(--accent-border)!important;min-height:28px!important;color:var(--accent-text)!important;align-items:center!important;gap:6px!important;padding:5px 10px!important;line-height:1!important;display:inline-flex!important}.signature-indicator.request{border-color:var(--accent-border)!important;color:var(--accent)!important;cursor:pointer!important;background:#f973161a!important}.signature-indicator.pending{cursor:default!important;background:var(--chip)!important;border-color:var(--border)!important;color:var(--text-2)!important;opacity:1!important}.signature-indicator.request:hover{background:var(--accent-bg)!important;color:var(--accent)!important;border-color:#f973167a!important}.signature-label-short{display:none!important}.status-btn.active.falta{color:var(--danger)!important;background:#e0645e1f!important;border-color:#e0645e59!important}.attendance-record{background:var(--card)!important;border-color:var(--hairline)!important;border-radius:var(--r-sm)!important;box-shadow:none!important}.attendance-record.status-presente{border-color:#7bc48f52!important}.attendance-record.status-falta{border-color:#e0645e52!important}.attendance-record.status-justificado{border-color:var(--accent-border)!important}.attendance-record:hover{background:var(--card-hover)!important;transform:none!important}.attendance-record.status-presente .record-status-icon,.attendance-record.status-presente .record-status-label,.attendance-record.status-presente .aula-number{color:var(--ok)!important}.attendance-record.status-falta .record-status-icon,.attendance-record.status-falta .record-status-label,.attendance-record.status-falta .aula-number{color:var(--danger)!important}.attendance-record.status-justificado .record-status-icon,.attendance-record.status-justificado .record-status-label,.attendance-record.status-justificado .aula-number{color:var(--accent-text)!important}.attendance-record .aula-number{background:0 0!important;border:1px solid!important}.attendance-section .record-actions{gap:5px!important}.attendance-section .record-action-btn{background:var(--chip)!important;border:1px solid var(--border)!important;width:28px!important;height:28px!important;color:var(--text-2)!important;box-shadow:none!important;border-radius:6px!important;place-items:center!important;padding:0!important;display:grid!important}.attendance-section .record-action-btn svg{width:14px!important;height:14px!important}.attendance-section .record-action-btn:hover,.attendance-section .record-action-btn.edit:hover{background:var(--card-hover)!important;border-color:var(--border-strong)!important;color:var(--accent)!important;transform:none!important}.attendance-section .record-action-btn.delete:hover{color:var(--danger)!important;background:#e0645e1a!important;border-color:#e0645e57!important}.signature-pad-wrapper,.signature-view-container{background:var(--inset)!important;border-color:var(--accent-border)!important}.signature-view-container{border:1px solid var(--accent-border)!important;border-radius:var(--r-sm)!important;place-items:center!important;min-height:172px!important;display:grid!important}.signature-image{filter:brightness(4.2)contrast(1.2)saturate(1.15)!important;opacity:.96!important;max-width:100%!important;max-height:150px!important}.signature-placeholder{color:var(--accent-text)!important}.signature-line{background:var(--accent)!important}.attendance-modal{width:min(488px,100vw - 32px)!important;max-height:calc(100dvh - 36px)!important;color:var(--text)!important;overflow:hidden auto!important}.attendance-modal .attendance-modal-header{border-bottom:0!important;padding:30px 66px 0 28px!important;display:block!important;position:relative!important}.attendance-modal .modal-eyebrow{color:var(--accent)!important;font-family:var(--font-mono)!important;letter-spacing:.2em!important;text-transform:uppercase!important;margin:0 0 12px!important;font-size:10px!important;font-weight:500!important;line-height:1.4!important}.attendance-modal .attendance-modal-header h3{color:var(--text)!important;font-family:var(--font-ui)!important;letter-spacing:-.03em!important;margin:0!important;font-size:26px!important;font-weight:300!important;line-height:1.05!important}.attendance-modal .modal-subtitle{color:var(--text-2)!important;margin:12px 0 0!important;font-size:13.5px!important;font-weight:400!important;line-height:1.45!important}.attendance-modal .modal-close-btn{background:var(--chip)!important;border:1px solid var(--border)!important;border-radius:var(--r-sm)!important;width:32px!important;height:32px!important;color:var(--text-2)!important;box-shadow:none!important;place-items:center!important;padding:0!important;display:grid!important;position:absolute!important;top:25px!important;right:28px!important}.attendance-modal .attendance-modal-body{flex-direction:column!important;gap:24px!important;padding:30px 28px 24px!important;display:flex!important}.attendance-modal .modal-student-field{gap:11px!important}.attendance-modal .modal-student-info{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:var(--r-sm)!important;grid-template-columns:34px minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;min-height:62px!important;padding:12px 14px!important;display:grid!important}.attendance-modal .modal-student-avatar{background:var(--chip)!important;border:1px solid var(--border)!important;border-radius:var(--r-sm)!important;width:34px!important;height:34px!important;color:var(--text)!important;font-family:var(--font-mono)!important;place-items:center!important;font-size:13px!important;font-weight:500!important;display:grid!important}.attendance-modal .modal-student-copy{flex-direction:column!important;min-width:0!important;display:flex!important}.attendance-modal .modal-student-info strong{color:var(--text)!important;letter-spacing:-.01em!important;font-size:15.5px!important;font-weight:500!important;line-height:1.25!important}.attendance-modal .modal-student-info span{color:var(--text-2)!important;margin-top:3px!important;font-size:13px!important;font-weight:400!important;line-height:1.35!important}.attendance-modal .modal-student-change{color:var(--text-3)!important;font-size:12.5px!important;font-weight:400!important}.attendance-modal .modal-field-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;display:grid!important}.attendance-modal .modal-field{min-width:0;flex-direction:column!important;gap:11px!important;display:flex!important}.attendance-modal .modal-field label,.attendance-modal .signature-label{color:var(--text-3)!important;font-family:var(--font-mono)!important;letter-spacing:.22em!important;text-transform:uppercase!important;align-items:center!important;gap:7px!important;font-size:9.5px!important;font-weight:500!important;line-height:1!important;display:inline-flex!important}.attendance-modal .signature-label{color:var(--text-2)!important}.attendance-modal .signature-label svg{color:var(--accent)!important}.attendance-modal .modal-input,.attendance-modal .modal-textarea{box-sizing:border-box!important;border:0!important;border-bottom:1px solid var(--border)!important;width:100%!important;min-height:44px!important;color:var(--text)!important;font-family:var(--font-ui)!important;letter-spacing:-.01em!important;background:0 0!important;border-radius:0!important;padding:2px 0 12px!important;font-size:15px!important;font-weight:400!important;line-height:1.45!important}.attendance-modal .modal-textarea{resize:none!important;min-height:86px!important}.attendance-modal .modal-input::placeholder,.attendance-modal .modal-textarea::placeholder{color:var(--text-3)!important}.attendance-modal input[type=date].modal-input,.attendance-modal input[type=time].modal-input{appearance:none}.attendance-modal input[type=date].modal-input::-webkit-calendar-picker-indicator{opacity:.72;filter:invert(.72);cursor:pointer}.attendance-modal input[type=time].modal-input::-webkit-calendar-picker-indicator{opacity:.72;filter:invert(.72);cursor:pointer}.attendance-modal .status-buttons{grid-template-columns:1fr!important;gap:10px!important;display:grid!important}.attendance-modal .status-btn{border:1px solid var(--border)!important;border-radius:var(--r-sm)!important;min-height:51px!important;color:var(--text-2)!important;font-family:var(--font-ui)!important;box-shadow:none!important;text-align:center!important;background:0 0!important;flex-direction:row!important;justify-content:center!important;align-items:center!important;gap:8px!important;padding:12px 14px!important;font-size:13.5px!important;font-weight:600!important;display:flex!important}.attendance-modal .status-btn svg{flex:none!important;width:16px!important;height:16px!important}.attendance-modal .status-btn.active.presente{color:var(--ok)!important;background:#7bc48f1f!important;border-color:#7bc48f73!important}.attendance-modal .status-btn.active.falta{color:var(--danger)!important;background:#e0645e1f!important;border-color:#e0645e73!important}.attendance-modal .status-btn.active.justificado{background:var(--accent-bg)!important;border-color:var(--accent-border)!important;color:var(--accent-text)!important}.attendance-modal .signature-pad-container{flex-direction:column!important;gap:12px!important;display:flex!important}.attendance-modal .signature-pad-header{grid-template-columns:minmax(0,1fr) max-content!important;align-items:center!important;gap:14px!important;display:grid!important}.attendance-modal .signature-label{min-width:0!important;color:var(--text-3)!important}.attendance-modal .signature-clear-btn{border:1px solid var(--border)!important;border-radius:var(--r-sm)!important;min-height:34px!important;color:var(--text-2)!important;font-family:var(--font-ui)!important;box-shadow:none!important;background:0 0!important;justify-self:end!important;align-items:center!important;gap:6px!important;padding:8px 12px!important;font-size:13px!important;font-weight:500!important;display:inline-flex!important}.attendance-modal .signature-clear-btn:hover{color:var(--text)!important;border-color:var(--border-strong)!important;background:var(--card-hover)!important}.attendance-modal .signature-pad-wrapper{background:var(--inset)!important;border:1px dashed var(--accent-border)!important;border-radius:var(--r-sm)!important;overscroll-behavior:contain!important;touch-action:none!important;-webkit-user-select:none!important;user-select:none!important;width:100%!important;min-height:166px!important;position:relative!important;overflow:hidden!important}.attendance-modal .signature-canvas{overscroll-behavior:contain!important;touch-action:none!important;-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;width:100%!important;height:166px!important;display:block!important}.attendance-modal .signature-placeholder{pointer-events:none!important;color:var(--text-3)!important;font-family:var(--font-ui)!important;text-align:center!important}.attendance-modal .signature-placeholder span{color:var(--text-2)!important;font-size:13.5px!important;font-weight:400!important}.attendance-modal .signature-placeholder small{display:none!important}.attendance-modal .attendance-modal-footer{background:var(--card)!important;border-top:0!important;justify-content:flex-start!important;gap:10px!important;padding:3px 28px 28px!important;display:flex!important}.attendance-modal .attendance-modal-footer .btn{min-width:96px!important;min-height:44px!important;padding:12px 18px!important}.attendance-modal .modal-cycle-notice{background:var(--accent-bg)!important;border:1px solid var(--accent-border)!important;border-radius:var(--r-sm)!important;color:var(--accent-text)!important;padding:14px 16px!important;font-size:13px!important;font-weight:400!important;line-height:1.55!important}.student-entry-modal{box-sizing:border-box!important;background:var(--card)!important;border:1px solid var(--border-strong)!important;border-radius:var(--r-xl)!important;width:min(540px,100vw - 32px)!important;max-height:min(720px,100vh - 48px)!important;margin:auto!important;padding:26px!important}.student-entry-modal .dashboard-modal-header{position:relative;border-bottom:0!important;padding:0 34px 24px 0!important;display:block!important}.student-entry-modal .modal-eyebrow{color:var(--accent);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;margin:0 0 14px;font-size:10.5px;font-weight:500;line-height:1.4}.student-entry-modal .dashboard-modal-header h3{color:var(--text)!important;letter-spacing:-.03em!important;margin:0!important;font-size:26px!important;font-weight:300!important;line-height:1.05!important}.student-entry-modal .dashboard-modal-header p:not(.modal-eyebrow){color:var(--text-2);margin:10px 0 0;font-size:14.5px;line-height:1.55}.student-entry-modal .modal-close-btn{opacity:.72;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:-5px;right:-7px}.student-entry-modal .dashboard-modal-body{padding:0!important}.student-modal-form{width:100%;flex-direction:column!important;gap:22px!important;display:flex!important}.student-modal-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px!important}.student-modal-form .form-group{width:100%;min-width:0;flex-direction:column!important;margin-bottom:0!important;display:flex!important}.student-modal-form .form-label{color:var(--text-3)!important;font-family:var(--font-mono)!important;letter-spacing:.18em!important;text-transform:uppercase!important;margin-bottom:10px!important;font-size:10px!important;font-weight:500!important}.student-modal-form .form-input,.student-modal-form .form-textarea{letter-spacing:-.01em;min-height:42px;box-sizing:border-box!important;border:0!important;border-bottom:1px solid var(--border)!important;width:100%!important;color:var(--text)!important;background:0 0!important;padding:4px 0 11px!important;font-size:15px!important;font-weight:400!important}.student-modal-form .form-input:focus,.student-modal-form .form-textarea:focus{border-bottom-color:var(--accent)!important}.student-modal-form .form-input::placeholder,.student-modal-form .form-textarea::placeholder{color:var(--text-2)!important}.student-modal-form .form-textarea{resize:none;min-height:72px}.student-modal-form input[type=date].form-input{appearance:none;line-height:1.6!important}.student-modal-form input[type=date].form-input::-webkit-calendar-picker-indicator{opacity:.72;filter:invert(.72);cursor:pointer;margin:0;padding:0}.student-extra-grid{margin-top:-4px}.student-temp-password-field{gap:9px}.student-temp-password-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.student-temp-password-generate{border:1px solid var(--accent-border);border-radius:var(--r-sm);min-height:42px;color:var(--accent);cursor:pointer;background:#f973161a;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-size:13px;font-weight:600;display:inline-flex}.student-temp-password-generate:hover{border-color:var(--accent);background:#f9731629}.form-hint{color:var(--text-3);font-size:12.5px;line-height:1.45}.student-status-field{flex-direction:column;gap:10px;display:flex}.student-status-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.student-status-option{border:1px solid var(--border);border-radius:var(--r-sm);min-height:42px;color:var(--text-2);cursor:pointer;background:0 0;padding:10px 14px;font-size:13px;font-weight:500}.student-status-option.active{color:var(--ok);background:#7bc48f1f;border-color:#7bc48f57}.student-status-option.active.muted{color:var(--accent);background:#f973161a;border-color:#f973164d}.student-modal-form .form-actions{border-top:0!important;justify-content:flex-end!important;gap:10px!important;margin-top:4px!important;padding-top:4px!important;display:flex!important}.student-modal-form .form-actions .btn{min-width:96px;min-height:44px;padding:12px 18px!important}.student-modal-form .form-actions .btn-primary{min-width:124px}.student-delete-modal{width:min(460px,100vw - 32px)!important;max-height:calc(100dvh - 48px)!important;margin:auto!important;padding:24px!important;overflow:hidden auto!important}.student-delete-header{justify-content:space-between;align-items:flex-start;min-height:38px;display:flex;position:relative}.student-delete-icon{border-radius:var(--r-sm);width:38px;height:38px;color:var(--danger);background:#e0645e1a;border:1px solid #e0645e47;place-items:center;display:grid}.student-delete-modal .modal-close-btn{place-items:center;width:32px;height:32px;display:grid}.student-delete-body{padding-top:18px}.student-delete-body .modal-eyebrow{color:var(--accent);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;margin:0 0 12px;font-size:10.5px;font-weight:500;line-height:1.4}.student-delete-body h3{color:var(--text);letter-spacing:-.03em;margin:0;font-size:28px;font-weight:300;line-height:1.05}.student-delete-body>p{color:var(--text-2);margin:12px 0 0;font-size:14.5px;line-height:1.55}.student-delete-body>p strong{color:var(--text);font-weight:500}.student-delete-summary{background:var(--chip);border:1px solid var(--border);border-radius:var(--r-md);align-items:center;gap:14px;min-height:72px;margin-top:22px;padding:15px;display:flex}.student-delete-summary>div:last-child{flex-direction:column;gap:4px;min-width:0;display:flex}.student-delete-summary strong{color:var(--text);letter-spacing:-.01em;font-size:15.5px;font-weight:500;line-height:1.25}.student-delete-summary span{color:var(--text-2);font-size:13px;line-height:1.35}.student-delete-warning{border-radius:var(--r-sm);color:var(--text-2);background:#e0645e14;border:1px solid #e0645e3d;margin-top:14px;padding:13px 14px;font-size:13px;line-height:1.5}.student-delete-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.student-delete-actions .btn{min-width:112px;min-height:44px;padding:12px 18px!important}.student-delete-actions .btn-danger{min-width:132px;border:1px solid var(--danger-border)!important}.login-container--custom{background:var(--bg)!important;font-family:var(--font-ui)!important}.login-container--custom:before,.login-container--custom:after{display:none!important}.login{color:var(--text);background:var(--card)!important;border:1px solid var(--hairline)!important;border-radius:var(--r-xl)!important;box-shadow:none!important}.login-title h1{color:var(--text)!important;letter-spacing:-.03em!important;font-size:clamp(28px,3.6vw,36px)!important;font-weight:300!important;line-height:1.05!important}.login__information p,.login-register--custom a,.login-register--custom span{color:var(--text-2)!important;font-size:14.5px!important;line-height:1.6!important}.login__form input[type=email],.login__form input[type=password],.login__form input[type=text],.login__form .input,.login__form .form-input{border:0!important;border-bottom:1px solid var(--border)!important;color:var(--text)!important;font-family:var(--font-ui)!important;box-shadow:none!important;background:0 0!important;border-radius:0!important;font-size:14.5px!important;line-height:1.6!important}.login__form input::placeholder{color:var(--text-3)!important}.login__form input:hover,.login__form input:focus{border-bottom-color:var(--accent)!important;box-shadow:none!important;background:0 0!important}.login__forgot{color:var(--accent)!important;font-family:var(--font-mono)!important;letter-spacing:.14em!important;text-transform:uppercase!important;font-size:10.5px!important;font-weight:500!important}.login__btn .btn-success,.login__btn button{background:var(--accent)!important;color:var(--bg)!important;border-radius:var(--r-sm)!important;box-shadow:none!important;font-family:var(--font-ui)!important;font-size:14px!important;font-weight:600!important}.login__btn .btn-success:hover,.login__btn button:hover{background:var(--accent-hover)!important;box-shadow:none!important;transform:none!important}.login-register--custom{border-top-color:var(--hairline)!important}.login-register--custom a:hover{color:var(--accent)!important}.auth-recovery-page{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-ui);justify-content:center;align-items:center;padding:72px 16px;display:flex}.auth-recovery-card{background:var(--card);border:1px solid var(--hairline);border-radius:var(--r-xl);width:min(370px,100%);color:var(--text);padding:34px 24px}.auth-recovery-header{margin-bottom:30px}.auth-recovery-eyebrow{color:var(--accent);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;margin:0 0 14px;font-size:10px;font-weight:500;line-height:1}.auth-recovery-header h1,.remember-title{color:var(--text);letter-spacing:-.03em;margin:0;font-size:clamp(28px,3.6vw,36px);font-weight:300;line-height:1.05}.auth-recovery-header p:not(.auth-recovery-eyebrow),.remember-phrase,.recover-text{color:var(--text-2);margin:12px 0 0;font-size:14.5px;line-height:1.6}.auth-recovery-form{flex-direction:column;gap:23px;display:flex}.auth-recovery-form .form-control{margin:0}.auth-recovery-form .form-control label{display:none}.auth-recovery-form input[type=email],.auth-recovery-form input[type=password],.auth-recovery-form input[type=text]{border:0;border-bottom:1px solid var(--border);width:100%;min-height:48px;color:var(--text);font-family:var(--font-ui);box-shadow:none;background:0 0;border-radius:0;outline:none;padding:0;font-size:14.5px;line-height:1.6}.auth-recovery-form input::placeholder{color:var(--text-3)}.auth-recovery-form input:hover,.auth-recovery-form input:focus{border-bottom-color:var(--accent)}.auth-recovery-submit{background:var(--accent);border:1px solid var(--accent);border-radius:var(--r-sm);width:100%;min-height:48px;color:var(--bg);cursor:pointer;font-family:var(--font-ui);margin-top:5px;padding:12px 18px;font-size:14px;font-weight:600}.auth-recovery-submit:hover{background:var(--accent-hover)}.auth-recovery-submit:disabled{cursor:wait;opacity:.72}.auth-recovery-footer{border-top:1px solid var(--hairline);text-align:center;margin-top:36px;padding-top:24px}.auth-recovery-footer a{color:var(--text-2);font-size:14px;line-height:1.5;text-decoration:none}.auth-recovery-footer a:hover{color:var(--accent)}.register-page{min-height:100dvh}.register-card{width:min(430px,100%);padding:34px 26px}.register-header{margin-bottom:28px}.register-header p:not(.auth-recovery-eyebrow){color:var(--text-2);margin:12px 0 0;font-size:14.5px;line-height:1.6}.register-form{gap:25px}.register-fields{flex-direction:column;gap:18px;display:flex}.register-form .form-control{margin:0}.register-form .form-control label{display:none}.register-form input[type=email],.register-form input[type=password],.register-form input[type=tel],.register-form input[type=text]{border:0;border-bottom:1px solid var(--border);width:100%;min-height:47px;color:var(--text);font-family:var(--font-ui);box-shadow:none;background:0 0;border-radius:0;outline:none;padding:0;font-size:14.5px;font-weight:400;line-height:1.6}.register-form input::placeholder{color:var(--text-3)}.register-form input:hover,.register-form input:focus{border-bottom-color:var(--accent)}.register-form input:disabled{cursor:not-allowed;opacity:.76}.register-submit{margin-top:2px}.register-submit:disabled{cursor:not-allowed}.register-footer{margin-top:32px}.student-portal{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-ui);padding:clamp(28px,5vw,72px) 16px}.student-portal-card{background:var(--card);border:1px solid var(--hairline);border-radius:var(--r-xl);width:min(760px,100%);margin:0 auto;padding:clamp(24px,4vw,34px)}.student-portal-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.student-portal-header h1{color:var(--text);letter-spacing:-.03em;margin:0;font-size:clamp(28px,3.6vw,38px);font-weight:300;line-height:1.05}.student-portal-header p:not(.auth-recovery-eyebrow){max-width:520px;color:var(--text-2);margin:12px 0 0;font-size:14.5px;line-height:1.6}.student-portal-logout{border:1px solid var(--border);border-radius:var(--r-sm);min-height:42px;color:var(--text-2);cursor:pointer;background:0 0;padding:10px 16px;font-size:13px;font-weight:600}.student-portal-logout:hover{border-color:var(--accent-border);color:var(--accent)}.student-portal-notice{border:1px solid var(--accent-border);border-radius:var(--r-md);color:var(--accent-text);background:#f973161a;margin-bottom:20px;padding:14px 16px;font-size:14px;line-height:1.5}.student-portal-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:18px;padding-top:4px;display:grid}.student-portal-form .auth-recovery-submit{margin:0}@media (width<=759px){.student-portal-header,.student-portal-form{grid-template-columns:1fr}.student-portal-header{flex-direction:column}.student-portal-logout{width:100%}}@media (width<=560px){.register-page{align-items:flex-start;padding:96px 16px 40px}.register-card{padding:30px 24px}.register-header h1{font-size:28px}}.app-container{min-height:100vh}.main-content{min-height:100vh;margin-left:68px!important;padding:clamp(22px,3vw,40px) clamp(20px,3vw,40px)!important}.sidebar{align-items:center;gap:30px;width:68px!important;padding:20px 0!important}.sidebar-header{justify-content:center;margin-bottom:0!important;padding:0!important}.sidebar-header>div:not(.sidebar-logo){display:none}.sidebar-logo{width:34px!important;height:34px!important}.sidebar-logo svg{stroke-width:2.5px;width:15px;height:15px;color:var(--bg)!important}.sidebar-nav{align-items:center;width:100%;gap:12px!important}.nav-item{flex-direction:column;justify-content:center;min-height:55px;border-radius:var(--r-md)!important;gap:6px!important;width:52px!important;padding:9px 0!important}.nav-icon,.nav-label{display:block}.nav-icon-wrap{color:inherit;place-items:center;display:grid;position:relative}.nav-icon{color:inherit;stroke-width:2px;width:17px!important;height:17px!important}.nav-badge{background:var(--accent);color:#080809;min-width:17px;height:17px;font-family:var(--font-mono);border-radius:999px;place-items:center;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:grid;position:absolute;top:-10px;right:-11px}.nav-label{max-width:48px;color:inherit;overflow-wrap:anywhere;font-size:9.5px;font-weight:400;line-height:1.2}.sidebar-footer{flex-direction:column;align-items:center;gap:30px;width:100%;display:flex;border-top:1px solid var(--hairline)!important;margin-top:auto!important;padding-top:30px!important}.sidebar-add-button,.sidebar-logout-button{width:34px;height:34px;color:var(--text-2);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;background:0 0;place-items:center;display:grid}.sidebar-add-button{border-style:dashed}.sidebar-add-button:hover,.sidebar-logout-button:hover{color:var(--accent);border-color:var(--accent-border);background:var(--accent-bg)}.sidebar-logout-label{display:none}.user-info{background:0 0!important;padding:0!important}.user-avatar{border:1px solid var(--border);font-family:var(--font-mono);font-size:12px;font-weight:500;background:var(--chip)!important;width:34px!important;height:34px!important;color:var(--text)!important;border-radius:50%!important}.general-section{flex-direction:column;gap:26px;display:flex}.general-header{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:26px;display:flex}.overview-metrics{background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--r-lg);grid-template-columns:repeat(5,minmax(132px,1fr));gap:1px;display:grid;overflow:hidden}.overview-metric{background:var(--card);flex-direction:column;justify-content:center;min-height:136px;padding:22px;display:flex}.overview-label{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.14em;text-transform:uppercase;font-size:10.5px;font-weight:500;line-height:1.5}.overview-label b{color:var(--accent);font-weight:500}.overview-metric strong{color:var(--text);letter-spacing:-.035em;margin-top:12px;font-size:38px;font-weight:300;line-height:1}.overview-metric.is-positive strong{color:var(--ok)}.overview-metric.is-warm strong,.overview-metric.is-accent strong{color:var(--accent)}.overview-metric p{color:var(--text-2);margin:8px 0 0;font-size:13px;line-height:1.35}.overview-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.overview-panel{background:var(--card);border:1px solid var(--hairline);border-radius:var(--r-lg);min-height:292px;overflow:hidden}.overview-panel-header{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:flex-start;gap:16px;min-height:82px;padding:20px 22px;display:flex}.overview-panel-header h3{color:var(--text);letter-spacing:-.01em;margin:0;font-size:15.5px;font-weight:500;line-height:1.25}.overview-panel-header p{color:var(--text-2);margin:4px 0 0;font-size:13px;line-height:1.45}.overview-panel-header>span{font-family:var(--font-mono);color:var(--accent);font-size:11px;font-weight:500}.overview-cycle-list,.overview-frequency-list{flex-direction:column;display:flex}.overview-cycle-row{border-bottom:1px solid var(--row-line);grid-template-columns:36px minmax(120px,1fr) minmax(180px,38%) auto;align-items:center;gap:14px;min-height:68px;padding:16px 22px;display:grid}.overview-cycle-row:last-child,.overview-frequency-row:last-child{border-bottom:0}.overview-avatar{background:var(--chip);border:1px solid var(--border);border-radius:var(--r-sm);width:36px;height:36px;color:var(--text);font-family:var(--font-mono);place-items:center;font-size:13px;font-weight:500;display:grid}.overview-student{flex-direction:column;min-width:0;display:flex}.overview-student strong,.overview-frequency-top strong{color:var(--text);letter-spacing:-.01em;font-size:15.5px;font-weight:500;line-height:1.3}.overview-student span{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:13px;line-height:1.35;overflow:hidden}.overview-cycle-segments{grid-template-columns:repeat(4,minmax(28px,1fr));align-items:center;gap:4px;display:grid}.overview-cycle-segments span{background:var(--border);border-radius:2px;height:4px}.overview-cycle-segments span.filled{background:var(--accent)}.overview-price{color:var(--text);font-family:var(--font-mono);white-space:nowrap;font-size:13px;font-weight:400}.overview-frequency-row{border-bottom:1px solid var(--row-line);padding:16px 22px 14px}.overview-frequency-top{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px;display:flex}.overview-frequency-top span{color:var(--text-2);font-family:var(--font-mono);white-space:nowrap;font-size:12px;font-weight:400}.overview-frequency-track{background:var(--border);height:3px;overflow:hidden}.overview-frequency-track span{background:var(--ok-solid);height:100%;display:block}.overview-empty{color:var(--text-2);margin:0;padding:22px;font-size:13px}.students-section{gap:26px}.students-section .section-heading-row{border-bottom:1px solid var(--hairline);align-items:flex-end;padding-bottom:26px}.students-section .section-description{margin-top:6px}.students-section .btn-primary{min-width:120px;min-height:43px;padding:12px 20px!important}.students-metrics{flex-wrap:wrap;align-items:flex-start;gap:clamp(34px,7vw,82px);display:flex}.students-metrics article{flex-direction:column;gap:7px;min-width:108px;display:flex}.students-metrics span{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.18em;text-transform:uppercase;font-size:10.5px;font-weight:500;line-height:1.45}.students-metrics strong{color:var(--text);letter-spacing:-.035em;font-size:30px;font-weight:300;line-height:1}.students-search{min-height:42px;color:var(--text-3);border-bottom:1px solid var(--hairline);align-items:center;gap:12px;display:flex}.students-search input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:14.5px;font-weight:400;line-height:1.6}.students-search input::placeholder{color:var(--text-2)}.students-table{--students-actions-column:228px;flex-direction:column;display:flex}.students-table-header{grid-template-columns:42px 40px minmax(220px, 1fr) minmax(132px, 150px) minmax(92px, 112px) minmax(128px, 156px) minmax(96px, 122px) var(--students-actions-column);border-bottom:1px solid var(--row-line);align-items:center;gap:14px;min-height:31px;padding:0 12px 8px;display:grid}.students-table-header span{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:500;line-height:1}.students-table-header span:first-child{grid-column:3}.students-table-header span:nth-child(2){grid-column:4}.students-table-header span:nth-child(3){grid-column:5;justify-self:center}.students-table-header span:nth-child(4){grid-column:6;justify-self:center}.students-table-header span:nth-child(5){grid-column:7}.students-table-header span{justify-self:start}.students-table-header span:last-child{justify-self:end}.students-section .student-row{grid-template-columns:42px 40px minmax(220px, 1fr) minmax(132px, 150px) minmax(92px, 112px) minmax(128px, 156px) minmax(96px, 122px) var(--students-actions-column);border-bottom:1px solid var(--row-line);align-items:center;gap:14px;min-height:73px;padding:17px 12px;display:grid}.students-section .student-row:hover{background:var(--card-hover)}.students-section .student-row.is-inactive{opacity:.72}.students-section .student-row.is-inactive:hover{opacity:1}.student-index{color:var(--accent);font-family:var(--font-mono);font-size:10.5px;font-weight:500}.students-section .student-avatar-soft{background:var(--chip);border:1px solid var(--border);border-radius:var(--r-sm);width:38px;height:38px;color:var(--text);font-family:var(--font-mono);place-items:center;font-size:13px;font-weight:500;display:grid}.student-name-line{align-items:center;gap:8px;min-width:0;display:flex}.student-number-badge{color:var(--accent);font-family:var(--font-mono);letter-spacing:0;white-space:nowrap;font-size:9px}.students-section .student-main h3{min-width:0;color:var(--text);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:15.5px;font-weight:500;line-height:1.25;overflow:hidden}.student-status-badge{border:1px solid var(--border);min-height:20px;color:var(--text-3);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;background:#a1a1aa14;border-radius:999px;align-items:center;padding:4px 7px;font-size:9px;font-weight:500;line-height:1;display:inline-flex}.students-section .student-main p{color:var(--text-2);margin-top:2px;font-size:13px;line-height:1.35}.student-cycle-cell{grid-template-columns:minmax(70px,1fr) max-content;align-items:center;gap:10px;min-width:0;display:grid}.student-cycle-segments{grid-template-columns:repeat(4,minmax(12px,1fr));align-items:center;gap:4px;display:grid}.student-cycle-segments span{background:var(--border);border-radius:999px;height:4px}.student-cycle-segments span.filled{background:var(--accent)}.student-cycle-cell>span,.student-last-class{color:var(--text-2);font-family:var(--font-mono);white-space:nowrap;font-size:12.5px;font-weight:400;line-height:1}.student-last-class{text-align:center;justify-self:stretch}.student-phone{color:var(--text-2);font-family:var(--font-mono);text-align:right;white-space:nowrap;font-size:12.5px;font-weight:400}.students-section .student-fee{color:var(--text);font-family:var(--font-mono);text-align:right;white-space:nowrap;font-size:13px;font-weight:400}.students-section .row-actions{justify-content:flex-end;gap:6px;display:flex}.student-action-button{border:1px solid var(--border);border-radius:var(--r-sm);min-width:64px;min-height:36px;color:var(--text-2);cursor:pointer;background:0 0;padding:9px 12px;font-size:13px;font-weight:500}.student-action-button:hover{color:var(--text);border-color:var(--border-strong);background:var(--card-hover)}.student-action-button.danger:hover{color:var(--danger);border-color:var(--danger-border)}.student-action-button.status-toggle:hover{color:var(--accent);border-color:var(--accent-border);background:var(--accent-bg)}.student-action-button.status-toggle.activate{color:var(--ok);border-color:#7bc48f4d}.student-action-button.status-toggle.activate:hover{background:#7bc48f1a;border-color:#7bc48f6b}.questions-section{gap:22px;width:100%}.questions-section .section-heading-row{border-bottom:1px solid var(--hairline);align-items:flex-start;padding-bottom:27px}.questions-feedback{color:var(--accent);margin:-6px 0 0;font-size:13px}.questions-list{flex-direction:column;gap:14px;display:flex}.question-admin-card{background:var(--card);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:22px}.question-admin-card header,.question-answer-form div{justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-post-composer{gap:18px;display:grid}.admin-post-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.admin-post-grid.three{align-items:stretch}.admin-post-grid label,.admin-post-field{gap:9px;min-width:0;display:grid}.admin-post-grid span,.admin-post-field span{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;font-size:10px}.admin-post-grid input,.admin-post-grid select,.admin-post-grid textarea,.admin-post-field input,.admin-post-field select,.admin-post-field textarea{border:0;border-bottom:1px solid var(--hairline);width:100%;min-width:0;min-height:42px;color:var(--text);font:inherit;background:0 0;border-radius:0;outline:0;padding:0}.admin-post-grid textarea,.admin-post-field textarea{resize:vertical;min-height:86px;padding-top:12px}.admin-post-grid select:disabled{color:var(--text-3);cursor:not-allowed;opacity:.6}.admin-post-grid input::placeholder,.admin-post-grid textarea::placeholder,.admin-post-field input::placeholder,.admin-post-field textarea::placeholder{color:var(--text-3)}.admin-post-actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.admin-post-actions span{color:var(--text-2);font-size:13px}.admin-post-actions.compact{border-top:1px solid var(--row-line);margin-top:16px;padding-top:14px}.question-list-title h3{color:var(--text);margin:10px 0 0;font-size:17px;font-weight:700}.question-student-summary{align-items:center;gap:12px;min-width:0;display:flex}.question-student-summary strong,.question-admin-card h3{color:var(--text);margin:0;font-size:15.5px;font-weight:600;line-height:1.25;display:block}.question-student-summary span,.question-admin-card p{color:var(--text-2);font-size:13.5px;line-height:1.55}.question-admin-body strong{color:var(--text);font-weight:600}.question-status{border:1px solid var(--accent-border);border-radius:var(--r-xs);min-height:24px;color:var(--accent);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;align-items:center;padding:0 9px;font-size:9px;display:inline-flex}.question-status.answered{color:var(--ok);border-color:#7bc48f59}.question-admin-body{border-top:1px solid var(--row-line);margin-top:18px;padding-top:18px}.question-admin-body small,.question-answer-form label,.question-answer-form span{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;font-size:10px}.question-answer-form{margin-top:18px}.question-answer-form textarea{resize:vertical;border:0;border-top:1px solid var(--row-line);border-bottom:1px solid var(--hairline);width:100%;min-height:88px;color:var(--text);font:inherit;background:0 0;outline:0;margin-top:12px;padding:14px 0}.question-answer-form textarea::placeholder{color:var(--text-3)}.question-answer-form div{margin-top:14px}.questions-section .students-metrics{background:var(--card);border:1px solid var(--hairline);border-radius:var(--r-lg);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;min-height:108px;display:grid;overflow:hidden}.questions-section .students-metrics article{border-right:1px solid var(--hairline);min-height:108px;padding:24px 22px}.questions-section .students-metrics article:last-child{border-right:0}.questions-section .students-metrics strong{margin-top:15px;font-size:32px}.admin-post-composer{gap:0;padding:0;overflow:hidden}.admin-post-composer-header{border-bottom:1px solid var(--hairline);align-items:center;min-height:82px;padding:20px 22px;display:flex}.admin-post-composer-header h3{font-size:16px}.admin-post-block,.admin-post-field,.admin-study-plan{margin:0 22px}.admin-post-block{gap:12px;padding-top:25px;display:grid}.admin-post-block+.admin-post-block{padding-top:23px}.admin-post-block>span,.admin-study-plan>p{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:10px}.admin-segmented-row{flex-wrap:wrap;gap:8px;display:flex}.admin-segmented-row button{border:1px solid var(--border);border-radius:var(--r-sm);min-height:40px;color:var(--text-2);cursor:pointer;background:0 0;padding:0 16px;font-size:13.5px}.admin-segmented-row button.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.admin-student-select{max-width:420px;margin:2px 0 0}.admin-study-plan{border:1px solid var(--border);border-radius:var(--r-lg);background:#111115;margin-top:22px;padding:20px}.admin-study-plan .admin-post-grid{margin-top:16px}.admin-post-composer>.admin-post-actions{border-top:1px solid var(--hairline);min-height:74px;margin-top:22px;padding:17px 22px}.admin-post-actions .btn{min-width:112px;min-height:42px}.question-list-title{border-bottom:1px solid var(--hairline);padding:0 0 18px}.question-list-title h3{color:var(--text);font-family:var(--font-ui);letter-spacing:-.01em;align-items:baseline;gap:12px;margin:0;font-size:16px;font-weight:700;line-height:1.2;display:flex}.question-list-title h3 span{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.08em;font-size:10px;font-weight:400;line-height:1}.admin-publication-card{color:var(--text);font-family:var(--font-ui);background:#0d0d10;padding:0;overflow:hidden}.admin-publication-card header{align-items:flex-start;padding:19px 20px 17px}.admin-publication-card header>div:first-child{min-width:0}.admin-publication-card h3{color:var(--text);font-family:var(--font-ui);letter-spacing:-.01em;margin:0;font-size:15px;font-weight:700;line-height:1.25}.admin-publication-card header p{color:#c8c8d0;max-width:760px;font-family:var(--font-ui);letter-spacing:0;margin:7px 0 0;font-size:13px;font-weight:400;line-height:1.48}.admin-post-meta{align-items:center;gap:10px;margin-bottom:13px;display:flex}.admin-publication-card .question-status{min-height:21px;font-family:var(--font-mono);letter-spacing:.22em;border-radius:5px;padding:0 8px;font-size:8.5px;font-weight:500;line-height:1}.admin-post-meta small{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.04em;font-size:10px;font-weight:400;line-height:1}.admin-post-target{color:var(--text-2);white-space:nowrap;align-items:center;gap:8px;padding-top:1px;display:inline-flex}.admin-post-target span{background:var(--chip);border:1px solid var(--border);border-radius:var(--r-xs);width:20px;height:20px;color:var(--text-2);font-family:var(--font-mono);place-items:center;font-size:10px;display:grid}.admin-post-target strong{color:#b7b7c1;font-family:var(--font-ui);letter-spacing:0;font-size:13px;font-weight:400;line-height:1}.admin-publication-plan{border-top:1px solid var(--row-line);grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:16px 20px 18px;display:grid}.admin-publication-plan p{color:#d6d6dc;font-family:var(--font-ui);letter-spacing:0;margin:0;font-size:13px;font-weight:400;line-height:1.45}.admin-publication-plan span{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;margin-bottom:10px;font-size:9px;font-weight:400;line-height:1;display:block}.admin-publication-card .admin-post-actions.compact{border-top:1px solid var(--row-line);min-height:58px;margin-top:0;padding:12px 20px}.admin-publication-card .admin-post-actions.compact span{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;font-size:9.5px;font-weight:400;line-height:1}.admin-publication-card .student-action-button{color:#b7b7c1;min-height:34px;font-family:var(--font-ui);padding:0 16px;font-size:12.5px;font-weight:500}.admin-question-card{color:var(--text);font-family:var(--font-ui);background:#0d0d10;padding:0;overflow:hidden}.admin-question-card.pending{border-color:var(--accent-border)}.admin-question-card header{align-items:flex-start;min-height:58px;padding:18px 22px 12px}.admin-question-card .question-student-summary{gap:10px}.admin-question-card .student-avatar-soft{background:var(--chip);width:26px;height:26px;color:var(--text);font-family:var(--font-mono);border-radius:7px;place-items:center;font-size:10px;font-weight:600;line-height:1;display:grid}.admin-question-card .question-student-summary>div:last-child{align-items:baseline;gap:10px;display:flex}.admin-question-card .question-student-summary strong{color:var(--text);font-family:var(--font-ui);letter-spacing:-.01em;font-size:14px;font-weight:700;line-height:1.25}.admin-question-card .question-student-summary span{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.03em;font-size:10px;font-weight:400;line-height:1}.admin-question-card>header>.question-status{min-height:24px;font-family:var(--font-mono);letter-spacing:.24em;border-radius:5px;padding:0 10px;font-size:8.5px;font-weight:500;line-height:1}.admin-question-card .question-admin-body{border-top:0;margin:0;padding:0 22px 23px}.admin-question-card .question-admin-body p{color:var(--text);font-family:var(--font-ui);letter-spacing:-.01em;margin:0;font-size:14px;font-weight:600;line-height:1.55}.admin-question-card .question-answer-form{border-top:1px solid var(--row-line);margin-top:0;padding:22px}.admin-question-card .question-answer-form textarea{border-top:0;border-bottom-color:var(--border);min-height:52px;color:var(--text);font-family:var(--font-ui);margin-top:0;padding:0 0 13px;font-size:13.5px;font-weight:400;line-height:1.45}.admin-question-card .question-answer-form textarea::placeholder{color:var(--text-3)}.admin-question-card .question-answer-form div{margin-top:14px}.admin-question-card .question-answer-form span{color:#9c9ca6;font-family:var(--font-ui);letter-spacing:0;text-transform:none;font-size:12.5px;font-weight:400;line-height:1.4}.admin-question-card .student-action-button.status-toggle{background:var(--accent);border-color:var(--accent);color:#080809;justify-content:center;min-width:105px;min-height:38px;padding:0 18px;font-size:12.5px;font-weight:800}.admin-question-card .student-action-button.status-toggle:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#080809}.question-status.pending,.post-type-licao{border-color:var(--accent-border);color:var(--accent)}.post-type-aviso{color:#f0928d;border-color:#e0645e59}.post-type-material{border-color:var(--border);color:var(--text-2)}.post-type-anotacao{color:var(--ok);border-color:#7bc48f59}.main-content .questions-section .section-title{letter-spacing:-.03em!important;font-size:36px!important}.main-content .questions-section .section-description{max-width:none;margin-top:9px!important}.main-content .questions-section .students-metrics span{letter-spacing:.22em!important}.main-content .questions-section .admin-post-composer-header h3{font-size:16px!important;font-weight:700!important}.main-content .questions-section .admin-post-composer-header p{margin-top:7px!important}.main-content .questions-section .admin-post-block>span,.main-content .questions-section .admin-post-field>span,.main-content .questions-section .admin-study-plan>p{letter-spacing:.24em!important;font-size:10px!important}.main-content .questions-section .admin-segmented-row{gap:8px!important}.main-content .questions-section .admin-segmented-row button{min-height:40px!important;padding:0 16px!important}.main-content .questions-section .admin-post-field{gap:13px!important;margin-top:22px!important}.main-content .questions-section .admin-post-field input{min-height:36px!important}.main-content .questions-section .admin-post-field textarea{min-height:84px!important;padding-top:12px!important}.main-content .questions-section .admin-study-plan{margin-top:22px!important;padding:20px!important}.main-content .questions-section .admin-study-plan .admin-post-grid{gap:22px!important;margin-top:16px!important}.main-content .questions-section .admin-study-plan textarea{min-height:58px!important}.main-content .questions-section .admin-post-composer>.admin-post-actions{min-height:74px;margin-top:22px!important;padding:17px 22px!important}.main-content .questions-section .questions-list{gap:14px!important}.main-content .questions-section .question-list-title{padding:0 0 18px!important}.main-content .questions-section .question-admin-card{border-radius:var(--r-lg)}.admin-messages-section{flex-direction:column;gap:18px;width:100%;display:flex}.messages-heading-row{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:flex-start;gap:24px;min-height:100px;padding-bottom:25px;display:flex}.messages-heading-row .section-title{font-size:36px!important}.messages-top-stats{grid-template-columns:repeat(3,max-content);gap:30px;padding-top:5px;display:grid}.messages-top-stats article{min-width:70px}.messages-top-stats span{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;font-size:9px;font-weight:400;line-height:1;display:block}.messages-top-stats strong{color:var(--text);font-family:var(--font-ui);margin-top:8px;font-size:22px;font-weight:300;line-height:1;display:block}.messages-top-stats article:first-child strong{color:var(--accent)}.messages-top-stats article:nth-child(2) strong{color:var(--text)}.messages-top-stats article:last-child strong{color:var(--ok)}.messages-layout{grid-template-columns:320px minmax(0,1fr);gap:16px;height:calc(100dvh - 196px);min-height:560px;display:grid}.messages-inbox,.messages-conversation{background:var(--card);border:1px solid var(--hairline);border-radius:var(--r-lg);min-width:0;overflow:hidden}.messages-inbox{grid-template-rows:auto minmax(0,1fr) auto;align-self:stretch;min-height:0;display:grid}.messages-inbox>.pagination-controls{border-top:1px solid var(--hairline);padding:10px 12px}.messages-filter-row{border-bottom:1px solid var(--hairline);flex-wrap:wrap;gap:8px;padding:16px;display:flex}.messages-thread-search{border:1px solid var(--border);border-radius:var(--r-sm);width:100%;min-height:34px;color:var(--text-3);background:#0c0c0f;align-items:center;gap:8px;padding:0 10px;display:flex}.messages-thread-search:focus-within{border-color:var(--accent-border);color:var(--accent)}.messages-thread-search input{width:100%;min-width:0;color:var(--text);font-family:var(--font-ui);background:0 0;border:0;outline:0;padding:0;font-size:12.5px}.messages-thread-search input::placeholder{color:var(--text-3)}.messages-filter-row button,.messages-composer-tabs button{border:1px solid var(--border);border-radius:var(--r-sm);min-height:34px;color:var(--text-2);cursor:pointer;font-family:var(--font-ui);background:0 0;padding:0 14px;font-size:13px;font-weight:500}.messages-filter-row button.active,.messages-composer-tabs button.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.messages-thread-list{overscroll-behavior:contain;scrollbar-color:var(--border-strong) transparent;scrollbar-gutter:stable;scrollbar-width:thin;flex-direction:column;min-height:0;max-height:100%;display:flex;overflow-y:auto}.messages-thread-list::-webkit-scrollbar{width:5px}.messages-thread-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.messages-thread-empty{color:var(--text-3);text-align:center;margin:auto;padding:24px 16px;font-size:12.5px}.messages-thread-group-label{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;padding:15px 14px 8px;font-size:8px;font-weight:500;line-height:1;display:block}.messages-thread-group-label+.messages-thread{border-top:1px solid var(--row-line)}.messages-thread{border:0;border-bottom:1px solid var(--row-line);min-height:68px;color:var(--text);cursor:pointer;text-align:left;background:0 0;grid-template-columns:36px minmax(0,1fr) max-content;align-items:center;gap:12px;padding:12px 14px;display:grid;position:relative}.messages-thread.active{box-shadow:inset 2px 0 0 var(--accent);background:#f9731614}.messages-thread-avatar{background:var(--chip);border:1px solid var(--border);border-radius:var(--r-sm);width:36px;height:36px;color:var(--text);font-family:var(--font-mono);place-items:center;font-size:12px;font-weight:600;display:grid}.messages-thread-avatar.general{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.messages-thread-avatar.study{color:var(--ok);background:#7bc48f1a;border-color:#7bc48f4d}.messages-thread-avatar svg{pointer-events:none}.messages-thread.study-plan-thread .messages-thread-copy b{color:var(--ok)}.messages-thread-copy{gap:6px;min-width:0;display:grid}.messages-thread-copy strong{min-width:0;color:var(--text);letter-spacing:-.01em;align-items:center;gap:7px;font-size:14.5px;font-weight:700;line-height:1.15;display:flex}.messages-thread-copy strong>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.messages-thread-copy strong>em{color:var(--text-3);font-family:var(--font-mono);flex:none;font-size:9px;font-style:normal;font-weight:500}.messages-thread-copy small{min-width:0;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:400;line-height:1.2;overflow:hidden}.messages-thread-copy b{color:var(--accent);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;margin-right:7px;font-size:9px;font-weight:500}.messages-thread-date{color:var(--text-3);font-family:var(--font-mono);align-self:start;margin-top:7px;font-size:10px}.messages-thread-dot{background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:14px;left:51px}.messages-conversation{grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid}.messages-conversation-header{border-bottom:1px solid var(--hairline);grid-template-columns:36px minmax(0,1fr) max-content;align-items:center;gap:14px;min-height:72px;padding:18px 20px;display:grid}.messages-back-button{background:var(--chip);border:1px solid var(--border);border-radius:var(--r-sm);width:34px;height:34px;color:var(--text-2);cursor:pointer;place-items:center;display:none}.messages-back-button:hover,.messages-back-button:focus-visible{border-color:var(--accent-border);color:var(--accent)}.messages-conversation-header h3{color:var(--text);letter-spacing:-.01em;margin:0;font-size:15.5px;font-weight:700;line-height:1.2}.messages-conversation-header p{color:var(--text-2);margin:5px 0 0;font-size:13px;line-height:1.2}.messages-pending-badge{border:1px solid var(--accent-border);min-height:24px;color:var(--accent);font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;border-radius:6px;align-items:center;padding:0 10px;font-size:8.5px;display:inline-flex}.messages-conversation-body{flex-direction:column;gap:14px;min-height:0;padding:18px 20px 24px;display:flex;overflow-y:auto}.messages-empty{color:var(--text-3);margin:auto;font-size:13px}.message-bubble{border:1px solid var(--border);border-radius:var(--r-lg);max-width:68%;padding:16px;position:relative;overflow:visible}.message-bubble.incoming{background:#101014;align-self:flex-start}.message-bubble.outgoing{border-color:var(--accent-border);background:#f973161a;align-self:flex-end}.message-bubble.compact{max-width:54%}.message-bubble.is-study-plan{width:min(860px,88%);max-width:88%}.message-bubble>span,.message-remove-btn{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;font-size:9px;font-weight:400}.message-bubble h3{color:var(--text);margin:12px 0 0;font-size:15px;font-weight:700;line-height:1.25}.message-bubble p{color:var(--text);margin:8px 0 0;font-size:13.5px;line-height:1.5}.message-plan{border-top:1px solid var(--row-line);grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;padding-top:14px;display:grid}.message-plan span{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;margin-bottom:7px;font-size:8.5px;display:block}.message-study-objective{border-left:2px solid var(--accent-border);margin-top:12px;padding:10px 0 2px 13px}.message-study-objective>span,.message-study-summary small,.message-study-plan h4,.message-study-plan li p small,.message-study-note>span{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:8px;font-weight:500;line-height:1.2}.message-study-objective p{margin-top:6px}.message-study-plan{border-top:1px solid var(--row-line);margin-top:16px;padding-top:14px}.message-study-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-bottom:18px;display:grid}.message-study-summary>span{gap:5px;min-width:0;padding-right:18px;display:grid}.message-study-summary>span+span{border-left:1px solid var(--row-line);padding-left:18px;padding-right:0}.message-study-summary small,.message-study-summary strong{display:block}.message-study-summary strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:650;overflow:hidden}.message-study-plan h4{color:var(--accent);margin:0}.message-study-plan ol{gap:0;margin:8px 0 0;padding:0;list-style:none;display:grid}.message-study-plan li{grid-template-columns:28px minmax(0,1fr);gap:10px;padding:12px 0;display:grid}.message-study-plan li+li{border-top:1px solid var(--row-line)}.message-study-plan li>span{color:var(--accent);font-family:var(--font-mono);padding-top:3px;font-size:9px;font-weight:600}.message-study-plan li strong{color:var(--text);font-size:13.5px;font-weight:650}.message-study-plan li p{color:var(--text-2);gap:3px;margin-top:7px;font-size:12.5px;display:grid}.message-study-plan li p small{display:block}.message-study-note{border-top:1px solid var(--row-line);border-left:2px solid var(--accent-border);padding:12px 0 2px 13px;margin-top:4px!important}.message-study-note>span{margin-bottom:6px;display:block}.message-remove-btn{cursor:pointer;background:0 0;border:0;margin-top:16px;padding:0}.message-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.message-bubble.has-context-menu{cursor:context-menu;-webkit-touch-callout:none}.message-action-menu{top:var(--menu-y);left:var(--menu-x);z-index:120;background:#111115;border:1px solid #292933;border-radius:8px;width:208px;padding:8px;position:fixed;box-shadow:0 22px 48px #0000006b}.message-action-menu button{width:100%;min-height:42px;color:var(--text);font-family:var(--font-ui);letter-spacing:0;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:12px;padding:0 12px;font-size:13px;font-weight:700;display:flex}.message-action-menu button:hover{background:#ffffff0b}.message-action-menu button+button{margin-top:2px}.message-action-menu button.danger{color:#ff6969;border-top:1px solid var(--hairline);border-radius:0 0 6px 6px;margin-top:8px;padding-top:8px}.message-action-menu button.danger:hover{background:#ef44441a}.message-actions button,.message-edit-form button{min-height:28px;color:var(--text-2);border:1px solid var(--border);border-radius:var(--r-xs);font-family:var(--font-ui);letter-spacing:0;cursor:pointer;background:#ffffff05;padding:0 10px;font-size:11.5px;font-weight:700;transition:border-color .18s,color .18s,background .18s}.message-actions button:hover,.message-edit-form button:hover{color:var(--accent);border-color:var(--accent-border);background:#f9731614}.message-actions button:disabled,.message-edit-form button:disabled{cursor:not-allowed;opacity:.55}.message-edit-form{gap:10px;margin-top:12px;display:grid}.message-edit-form input,.message-edit-form textarea{width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--r-xs);font-family:var(--font-ui);letter-spacing:0;background:#0d0d11;outline:none;font-size:13px;font-weight:500}.message-edit-form input{min-height:38px;padding:0 12px}.message-edit-form textarea{resize:vertical;min-height:92px;padding:11px 12px;line-height:1.45}.message-edit-form input:focus,.message-edit-form textarea:focus{border-color:var(--accent-border)}.message-edit-form>div{justify-content:flex-end;gap:8px;display:flex}.messages-composer{border-top:1px solid var(--hairline);padding:16px 20px}.messages-composer-tabs{flex-wrap:wrap;gap:8px;display:flex}.messages-composer input,.messages-composer textarea{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);font:inherit;background:0 0;border-radius:0;outline:0;padding:0}.messages-composer input{min-height:44px;margin-top:14px}.messages-composer textarea{resize:vertical;min-height:62px;margin-top:12px;padding-top:10px}.messages-composer input::placeholder,.messages-composer textarea::placeholder{color:var(--text-3)}.messages-composer>div:last-child{justify-content:space-between;align-items:center;gap:16px;margin-top:14px;display:flex}.messages-composer>div:last-child span{color:var(--text-2);font-size:13px}.messages-composer .btn{min-width:96px;min-height:40px}.study-plan-composer{border:1px solid var(--accent-border);border-radius:var(--r-sm);gap:20px;margin-top:14px;padding:16px;display:grid}.study-plan-composer label,.study-plan-notes>span{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px;font-size:8.5px;display:block}.study-plan-search{border:1px solid var(--border);border-radius:var(--r-sm);width:min(280px,100%);min-height:36px;color:var(--text-3);align-items:center;gap:8px;padding:0 10px;display:flex}.study-plan-search input,.study-plan-exercises input{min-height:34px;margin:0;padding:0 6px}.study-plan-search input{border:0}.study-plan-student-picker>div:last-child,.study-plan-period>div{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.study-plan-student-picker button,.study-plan-period button{border:1px solid var(--border);border-radius:var(--r-sm);min-height:36px;color:var(--text-2);cursor:pointer;background:0 0;align-items:center;gap:7px;padding:0 11px;display:inline-flex}.study-plan-student-picker button.active,.study-plan-period button.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.study-plan-student-picker button>span{background:var(--chip);border:1px solid var(--border);border-radius:var(--r-sm);width:22px;height:22px;color:var(--text);font-family:var(--font-mono);place-items:center;font-size:9px;display:grid}.study-plan-student-picker button small{color:var(--text-3);font-family:var(--font-mono);font-size:9px}.study-plan-exercises{gap:8px;display:grid}.study-plan-exercises>div{grid-template-columns:28px minmax(150px,1fr) minmax(180px,1fr) 30px;align-items:center;gap:8px;display:grid}.study-plan-exercises>div>span{color:var(--accent);font-family:var(--font-mono);font-size:9px}.study-plan-exercises>div>button,.study-plan-exercises>button{color:var(--text-3);cursor:pointer;border:0}.study-plan-exercises>div>button{background:0 0;place-items:center;width:30px;height:30px;padding:0;display:grid}.study-plan-exercises>button{width:max-content;color:var(--accent);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;background:0 0;align-items:center;gap:7px;padding:6px 0;font-size:9px;display:inline-flex}.study-plan-notes textarea{min-height:58px;margin:0}.study-plan-attachments{border-top:1px solid var(--row-line);padding-top:16px}.study-plan-attachments .messages-attachment-controls{margin-top:0}@media (width<=720px){.study-plan-composer{gap:16px;min-width:0;padding:12px}.study-plan-search{width:100%}.study-plan-student-picker>div:last-child{overscroll-behavior:contain;max-height:156px;overflow-y:auto}.study-plan-student-picker button{max-width:100%}.study-plan-student-picker button small{flex:none}.study-plan-exercises>div{grid-template-columns:24px minmax(0,1fr) 30px;align-items:start}.study-plan-exercises>div input:nth-of-type(2){grid-column:2/3}.study-plan-exercises>div>button{width:36px;height:36px}.study-plan-period button{min-height:40px}}.messages-file-input{display:none!important}.messages-attachment-controls{align-items:center;gap:10px;margin-top:12px;display:flex}.messages-attach-button{min-height:34px;color:var(--text-2);border:1px solid var(--border);border-radius:var(--r-xs);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:0 11px;display:inline-flex}.messages-attach-button:hover,.messages-attach-button:focus-visible{color:var(--accent);border-color:var(--accent-border)}.messages-attach-button:disabled{cursor:not-allowed;opacity:.5}.messages-attachment-controls small{color:var(--text-3);font-family:var(--font-mono);font-size:9px}.messages-selected-files{border-top:1px solid var(--row-line);border-bottom:1px solid var(--row-line);gap:1px;margin-top:10px;display:grid}.messages-selected-files>div{grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:10px;min-width:0;min-height:36px;display:grid}.messages-selected-files>div+div{border-top:1px solid var(--row-line)}.messages-selected-files span{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.messages-selected-files button{width:28px;height:28px;color:var(--text-3);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.messages-selected-files button:hover,.messages-selected-files button:focus-visible{color:#ff6969}.message-attachments{border-top:1px solid var(--row-line);margin-top:14px;display:grid}.message-attachment{width:100%;min-width:0;min-height:46px;color:var(--text-2);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:22px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:0;text-decoration:none;display:grid}.message-attachment+.message-attachment{border-top:1px solid var(--row-line)}.message-attachment>span{gap:3px;min-width:0;display:grid}.message-attachment strong,.message-attachment small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message-attachment strong{color:var(--text);font-size:12px;font-weight:600}.message-attachment small{color:var(--text-3);font-family:var(--font-mono);font-size:8.5px}.message-attachment:hover,.message-attachment:focus-visible{color:var(--accent)}.message-attachment.disabled{cursor:not-allowed;opacity:.5}@keyframes attachment-preview-enter{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes attachment-preview-spin{to{transform:rotate(360deg)}}@keyframes global-music-loader-spin{to{transform:rotate(360deg)}}@keyframes global-music-loader-pulse{0%,to{opacity:.78;transform:translateY(1px)scale(.96)}50%{opacity:1;transform:translateY(-2px)scale(1.04)}}.global-music-loader{z-index:5000;cursor:progress;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#05050761;place-items:center;display:grid;position:fixed;inset:0}.global-music-loader-content{border:1px solid var(--border-strong);background:#0d0d10;border-radius:8px;justify-items:center;gap:12px;min-width:148px;padding:18px 22px;display:grid;box-shadow:0 18px 48px #0000006b}.global-music-loader-mark{place-items:center;width:58px;height:58px;display:grid;position:relative}.global-music-loader-mark:before{content:"";border:1px solid var(--border);border-top-color:var(--accent);border-right-color:var(--accent-border);border-radius:50%;animation:.9s linear infinite global-music-loader-spin;position:absolute;inset:0}.global-music-loader-mark i{color:var(--accent);font-family:Times New Roman,serif;font-size:41px;font-style:normal;line-height:1;animation:1.1s ease-in-out infinite global-music-loader-pulse}.global-music-loader-content strong{color:var(--text-2);letter-spacing:0;font-size:11px;font-weight:600}@media (prefers-reduced-motion:reduce){.global-music-loader-mark:before,.global-music-loader-mark i{animation:none}}.attachment-preview-backdrop{z-index:400;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#030305db;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.attachment-preview-modal{border:1px solid var(--border);background:#0c0c0f;border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(1120px,100%);height:min(880px,100dvh - 40px);animation:.22s ease-out attachment-preview-enter;display:grid;overflow:hidden;box-shadow:0 28px 80px #0000008c}.attachment-preview-header{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:18px;min-width:0;min-height:70px;padding:14px 16px 14px 20px;display:flex}.attachment-preview-header>div:first-child{min-width:0}.attachment-preview-header span{color:var(--accent);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;margin-bottom:5px;font-size:8px;font-weight:600;display:block}.attachment-preview-header h2{color:var(--text);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:600;overflow:hidden}.attachment-preview-actions{align-items:center;gap:8px;display:flex}.attachment-preview-actions a,.attachment-preview-actions button{width:38px;height:38px;color:var(--text-2);border:1px solid var(--border);cursor:pointer;background:#121217;border-radius:6px;place-items:center;padding:0;display:grid}.attachment-preview-actions a:hover,.attachment-preview-actions a:focus-visible,.attachment-preview-actions button:hover,.attachment-preview-actions button:focus-visible{color:var(--accent);border-color:var(--accent-border)}.attachment-preview-body{background:#16161a;place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.attachment-preview-body.is-image{background-image:linear-gradient(45deg,#151519 25%,#0000 25%),linear-gradient(-45deg,#151519 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#151519 75%),linear-gradient(-45deg,#0000 75%,#151519 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;padding:22px}.attachment-preview-body.is-image>img{object-fit:contain;width:100%;min-width:0;height:100%;min-height:0;display:block}.attachment-preview-body>iframe{background:#fff;border:0;width:100%;height:100%}.attachment-preview-body>.attachment-docx-frame{width:min(920px,100%);box-shadow:0 0 36px #00000038}.attachment-preview-state{max-width:420px;color:var(--text-2);text-align:center;justify-items:center;gap:9px;padding:28px;display:grid}.attachment-preview-state strong{color:var(--text);font-size:15px}.attachment-preview-state span{font-size:13px;line-height:1.5}.attachment-preview-state.error svg{color:#ff6969}.attachment-preview-state .spin{color:var(--accent);animation:.8s linear infinite attachment-preview-spin}.student-materials-section{gap:26px;display:grid}.student-materials-skeleton-usage>div:first-child{grid-template-columns:minmax(140px,1fr) 92px;display:grid}.student-materials-skeleton-label{width:170px;max-width:100%;height:9px}.student-materials-skeleton-value{justify-self:end;width:92px;height:14px}.student-materials-skeleton-progress{border-radius:0;height:3px;margin-top:10px}.student-materials-skeleton-toolbar .student-material-filters{display:flex}.student-materials-skeleton-filter{border-radius:6px;flex:none;width:58px;height:36px}.student-materials-skeleton-filter:first-child{width:57px}.student-materials-skeleton-filter:last-child{width:80px}.student-materials-skeleton-search{width:min(220px,80%);height:12px}.student-materials-skeleton-toggle{border-radius:6px;width:74px;height:36px}.student-materials-skeleton-card{min-height:224px}.student-materials-skeleton-preview{border-radius:0;width:100%;height:148px}.student-materials-skeleton-card-info{align-content:center;gap:9px;min-height:74px;padding:11px 14px;display:grid}.student-materials-skeleton-card-info .student-skeleton-line{height:10px}.student-materials-summary{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.student-materials-usage{width:min(360px,100%);margin-left:auto}.student-materials-usage>div:first-child,.student-materials-usage p{justify-content:space-between;align-items:center;gap:18px;display:flex}.student-materials-usage span,.student-materials-usage p{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:9px}.student-materials-usage strong{color:var(--text);font-family:var(--font-ui);letter-spacing:0;text-transform:none;font-size:15px;font-weight:500}.student-materials-usage strong small{color:var(--text-2);font-size:11px;font-weight:400}.student-materials-usage p{letter-spacing:0;text-transform:none;margin:8px 0 0}.student-materials-usage p strong{color:var(--text-2);font-family:var(--font-mono);font-size:9px}.student-materials-progress{background:var(--border);height:3px;margin-top:10px;overflow:hidden}.student-materials-progress span{background:var(--accent);height:100%;display:block}.student-materials-toolbar{border-bottom:1px solid var(--hairline);grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:14px;min-width:0;padding-bottom:12px;display:grid}.student-material-filters{align-items:center;gap:7px;display:flex}.student-material-filters button{min-height:36px;color:var(--text-2);border:1px solid var(--border);font-family:var(--font-ui);cursor:pointer;background:0 0;border-radius:6px;padding:0 13px;font-size:12px;font-weight:600}.student-material-filters button.active{color:var(--accent);background:var(--accent-bg);border-color:var(--accent-border)}.student-material-search{min-width:0;color:var(--text-3);align-items:center;gap:8px;display:flex}.student-material-search input{width:100%;min-width:0;height:36px;color:var(--text);font-family:var(--font-ui);background:0 0;border:0;outline:none;padding:0;font-size:13px}.student-material-search input::placeholder{color:var(--text-3)}.student-material-view-toggle{border:1px solid var(--border);border-radius:6px;grid-template-columns:repeat(2,36px);display:grid;overflow:hidden}.student-material-view-toggle button{width:36px;height:34px;color:var(--text-3);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.student-material-view-toggle button+button{border-left:1px solid var(--border)}.student-material-view-toggle button.active{color:var(--accent);background:var(--accent-bg)}.student-material-grid{grid-template-columns:repeat(auto-fill,minmax(190px,225px));justify-content:start;gap:14px;display:grid}.student-material-card{background:var(--card);border:1px solid var(--hairline);border-radius:8px;min-width:0;overflow:hidden}.student-material-preview{width:100%;height:148px;color:var(--text-3);border:0;border-bottom:1px solid var(--hairline);cursor:pointer;background:#141419;align-content:center;place-items:center;padding:18px 16px 0;display:grid;position:relative}.student-material-type-badge,.student-material-kind{color:#ea8580;min-width:34px;height:22px;font-family:var(--font-mono);letter-spacing:.08em;background:#e0645e14;border:1px solid #e0645e61;border-radius:4px;place-items:center;padding:0 7px;font-size:8px;display:inline-grid}.student-material-type-badge{z-index:1;position:absolute;top:10px;left:10px}.student-material-preview.type-word>.student-material-type-badge,.student-material-kind.type-word{color:#93aef5;background:#6378be1a;border-color:#6378be61}.student-material-preview.type-image>.student-material-type-badge,.student-material-kind.type-image{color:var(--ok);background:#4ea46a1a;border-color:#4ea46a61}.student-material-document-preview{color:#202024;background:#f2f0ea;flex-direction:column;align-items:stretch;gap:7px;width:min(134px,78%);height:116px;padding:15px 13px;display:flex;box-shadow:0 8px 22px #0000002e}.student-material-document-preview strong{color:#202024;text-align:left;text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;font-family:Arial,sans-serif;font-size:8px;line-height:1.25;overflow:hidden}.student-material-document-preview i{background:#d8d3c8;width:100%;height:3px;display:block}.student-material-document-preview i:nth-of-type(2){width:88%}.student-material-document-preview i:nth-of-type(3){width:70%}.student-material-document-preview i:nth-of-type(4){width:82%}.student-material-image-preview{width:100%;height:100%;color:var(--text-3);font-family:var(--font-mono);letter-spacing:.12em;place-items:center;font-size:9px;display:grid}.student-material-card-info{grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:9px;min-width:0;min-height:74px;padding:11px 10px 11px 14px;display:grid}.student-material-card-info>button:first-child{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:7px;padding:0;display:grid}.student-material-card-info strong,.student-material-card-info small{text-overflow:ellipsis;overflow:hidden}.student-material-card-info strong{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.student-material-card-info small{white-space:nowrap}.student-material-received{color:var(--text-3);font-family:var(--font-mono);white-space:nowrap;font-size:8px;display:none}.student-material-card-info strong{color:var(--text);font-size:12px;font-weight:600}.student-material-card-info small{color:var(--text-3);font-family:var(--font-mono);font-size:8px}.student-material-delete,.student-material-icon-button{width:34px;height:34px;color:var(--text-3);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;place-items:center;padding:0;display:grid}.student-material-delete:hover,.student-material-delete:focus-visible{color:var(--danger);border-color:var(--danger-border)}.student-material-grid.is-list{border:1px solid var(--hairline);border-radius:8px;grid-template-columns:1fr;gap:0;overflow:hidden}.student-material-grid.is-list .student-material-card{background:0 0;border:0;border-radius:0;grid-template-columns:54px minmax(0,1fr);display:grid}.student-material-grid.is-list .student-material-card+.student-material-card{border-top:1px solid var(--hairline)}.student-material-grid.is-list .student-material-preview{background:0 0;border:0;height:68px;padding:0 0 0 16px}.student-material-grid.is-list .student-material-document-preview,.student-material-grid.is-list .student-material-image-preview{display:none}.student-material-grid.is-list .student-material-type-badge{position:static}.student-material-grid.is-list .student-material-card-info{grid-template-columns:minmax(0,1fr) auto 34px;min-height:68px;padding:10px 14px}.student-material-grid.is-list .student-material-card-info>button:first-child{gap:6px}.student-material-grid.is-list .student-material-card-info strong{text-overflow:ellipsis;white-space:nowrap;display:block}.student-material-grid.is-list .student-material-card-info small>span{display:none}.student-material-grid.is-list .student-material-received{display:block}.student-material-empty{min-height:190px;color:var(--text-3);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.student-material-empty strong{color:var(--text);font-size:14px}.student-material-empty span{font-size:12px}.student-pending-materials{gap:12px;margin-top:6px;display:grid}.student-pending-materials>header{align-items:baseline;gap:10px;display:flex}.student-pending-materials h2{color:var(--text);margin:0;font-size:15px;font-weight:600}.student-pending-materials>header>span{color:var(--text-3);font-family:var(--font-mono);font-size:8px}.student-pending-materials>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.student-pending-materials article{border:1px dashed var(--border);border-radius:8px;grid-template-columns:auto minmax(0,1fr) 34px auto;align-items:center;gap:10px;min-width:0;min-height:64px;padding:10px;display:grid}.student-pending-materials article>div{gap:5px;min-width:0;display:grid}.student-pending-materials article strong,.student-pending-materials article small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-pending-materials article strong{color:var(--text);font-size:11px}.student-pending-materials article small{color:var(--text-3);font-size:9px}.student-material-save{color:#080809;background:var(--accent);border:1px solid var(--accent);min-height:34px;font-family:var(--font-ui);cursor:pointer;border-radius:6px;align-items:center;gap:7px;padding:0 11px;font-size:11px;font-weight:700;display:inline-flex}.student-material-save:disabled{cursor:wait;opacity:.6}.student-workspace-section{gap:22px;display:grid}.student-workspace-overview{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:end;gap:28px;display:grid}.student-workspace-stats{align-items:center;gap:22px;display:flex}.student-workspace-stats>span{color:var(--text-2);align-items:center;gap:7px;font-size:12px;display:inline-flex}.student-workspace-stats svg{color:var(--accent)}.student-workspace-stats strong{color:var(--text);font-size:14px}.student-workspace-usage>div:first-child{justify-content:space-between;align-items:center;gap:16px;display:flex}.student-workspace-usage>div:first-child>span{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:8px}.student-workspace-usage strong{color:var(--text);font-size:14px;font-weight:600}.student-workspace-usage small{color:var(--text-2);font-size:10px;font-weight:400}.student-workspace-toolbar{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:12px;min-width:0;padding:12px 0;display:grid}.student-workspace-tabs{gap:7px;display:flex}.student-workspace-tabs button{min-height:36px;color:var(--text-2);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.student-workspace-tabs button.active{color:var(--accent);background:var(--accent-bg);border-color:var(--accent-border)}.student-workspace-search{min-width:0;color:var(--text-3);align-items:center;gap:8px;display:flex}.student-workspace-search input{width:100%;min-width:0;height:36px;color:var(--text);background:0 0;border:0;outline:0;padding:0;font-size:13px}.student-workspace-primary{white-space:nowrap;align-items:center;gap:7px;min-height:38px;display:inline-flex}.student-workspace-actions{justify-content:flex-end;align-items:center;gap:9px;display:flex}.student-workspace-view-toggle{border:1px solid var(--border);border-radius:6px;grid-template-columns:repeat(2,38px);display:grid;overflow:hidden}.student-workspace-view-toggle button{width:38px;height:36px;color:var(--text-3);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.student-workspace-view-toggle button+button{border-left:1px solid var(--border)}.student-workspace-view-toggle button.active{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent), inset 0 -2px 0 var(--accent);z-index:1;background:#ff6b0d24}.student-workspace-file-input{display:none}.student-workspace-notes{gap:18px;display:grid}.student-note-editor-backdrop{z-index:1320;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000bd;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.student-note-editor-modal{border:1px solid var(--border-strong);border-radius:var(--r-md);background:#0d0d10;grid-template-rows:auto minmax(0,1fr) auto;width:min(720px,100%);max-height:min(720px,100dvh - 40px);display:grid;overflow:hidden;box-shadow:0 28px 80px #0000007a}.student-note-editor-modal>header{border-bottom:1px solid var(--hairline);grid-template-columns:42px minmax(0,1fr) 36px;align-items:center;gap:12px;min-height:76px;padding:16px 18px;display:grid}.student-note-editor-icon{color:#080809;background:var(--accent);border-radius:6px;place-items:center;width:42px;height:42px;display:grid}.student-note-editor-modal>header div{min-width:0}.student-note-editor-modal>header small,.student-note-editor-body label>span{color:var(--accent);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;font-size:8px;display:block}.student-note-editor-modal>header h2{color:var(--text);margin:5px 0 0;font-size:17px;font-weight:700}.student-note-editor-modal>header>button,.student-note-card footer button,.student-personal-file-actions button{width:34px;height:34px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.student-note-editor-body{grid-template-rows:auto minmax(210px,1fr);gap:18px;min-height:0;padding:20px;display:grid;overflow-y:auto}.student-file-rename-modal{grid-template-rows:auto auto auto;width:min(540px,100%)}.student-file-rename-body{gap:9px;padding:24px 20px 26px;display:grid}.student-file-rename-body>label{color:var(--accent);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;font-size:8px}.student-file-rename-body>div{border-bottom:1px solid var(--border);align-items:center;min-width:0;min-height:48px;display:flex}.student-file-rename-body input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;padding:0;font-size:16px;font-weight:650}.student-file-rename-body>div>span{color:var(--text-3);flex:none;font-size:14px}.student-file-rename-body>small{color:var(--text-3);font-size:11px}.student-note-editor-body label{grid-template-rows:auto minmax(0,1fr);gap:8px;min-height:0;display:grid}.student-note-editor-body input,.student-note-editor-body textarea{width:100%;color:var(--text);border:0;border-bottom:1px solid var(--border);background:0 0;outline:0}.student-note-editor-body input{min-height:48px;padding:0;font-size:16px;font-weight:650}.student-note-editor-body textarea{border:1px solid var(--border);resize:none;background:#0a0a0d;border-radius:6px;min-height:210px;padding:12px;font-size:13.5px;line-height:1.65}.student-note-editor-modal>footer{border-top:1px solid var(--hairline);justify-content:flex-end;align-items:center;gap:10px;padding:14px 18px;display:flex}.student-note-pin-action,.student-note-cancel{min-height:34px;color:var(--text-2);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.student-note-pin-action.active{color:var(--accent);border-color:var(--accent-border);background:var(--accent-bg)}.student-note-editor-modal>footer>span{color:var(--text-3);font-family:var(--font-mono);margin-right:auto;font-size:9px}.student-note-cancel{color:var(--text-2);background:0 0;border-color:#0000}.student-note-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.student-note-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-sm);grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:160px;display:grid}.student-note-card:has(.student-note-open span svg){border-color:var(--accent-border)}.student-note-open{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-content:start;gap:10px;padding:15px;display:grid}.student-note-open>span{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:6px;font-size:8px;display:flex}.student-note-open>span svg,.student-note-card footer button.active{color:var(--accent)}.student-note-open strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.student-note-open p{color:var(--text-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:12.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.student-note-card>footer{border-top:1px solid var(--row-line);justify-content:flex-end;padding:6px 8px;display:flex}.student-note-grid.is-list{border-top:1px solid var(--row-line);grid-template-columns:minmax(0,1fr);gap:0}.student-note-grid.is-list .student-note-card{border:0;border-bottom:1px solid var(--row-line);background:0 0;border-radius:0;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) auto;min-height:74px}.student-note-grid.is-list .student-note-card:has(.student-note-open span svg){box-shadow:inset 2px 0 0 var(--accent)}.student-note-grid.is-list .student-note-open{grid-template-columns:92px minmax(150px,.35fr) minmax(0,1fr);align-content:center;align-items:center;gap:18px;padding:13px 16px}.student-note-grid.is-list .student-note-open p{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.student-note-grid.is-list .student-note-card>footer{border-top:0;border-left:1px solid var(--row-line);align-items:center;padding:0 10px}.student-note-card footer button:hover,.student-personal-file-actions button:last-child:hover{color:var(--danger);background:#e0645e14}.student-note-card footer button:first-child:hover,.student-personal-file-actions button:first-child:hover{color:var(--accent);background:var(--accent-bg)}.student-personal-files{border-top:1px solid var(--row-line);display:grid}.student-personal-files article{border-bottom:1px solid var(--row-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;min-height:66px;display:grid}.student-personal-file-actions{align-items:center;gap:2px;display:flex}.student-personal-file-open{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;padding:10px 0;display:grid}.student-personal-file-open>span{width:38px;height:38px;color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:6px;place-items:center;display:grid}.student-personal-file-open>div{gap:5px;min-width:0;display:grid}.student-personal-file-open strong,.student-personal-file-open small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-personal-file-open strong{color:var(--text);font-size:13px}.student-personal-file-open small{color:var(--text-3);font-size:10px}.student-workspace-empty{min-height:220px;color:var(--text-3);border-top:1px solid var(--row-line);border-bottom:1px solid var(--row-line);align-content:center;place-items:center;gap:8px;display:grid}.student-workspace-empty strong{color:var(--text);font-size:14px}@media (width<=900px){.student-workspace-overview{grid-template-columns:minmax(0,1fr)}.student-workspace-toolbar{grid-template-columns:minmax(0,1fr) auto}.student-workspace-tabs{grid-column:1/-1}}@media (width<=560px){.student-workspace-overview,.student-workspace-section{gap:18px}.student-workspace-stats{flex-direction:column;align-items:flex-start;gap:10px}.student-workspace-toolbar{grid-template-columns:minmax(0,1fr)}.student-workspace-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.student-workspace-tabs button,.student-workspace-primary{justify-content:center;min-height:42px}.student-workspace-actions{width:100%}.student-workspace-primary{flex:auto}.student-workspace-search{border:1px solid var(--border);border-radius:6px;min-height:42px;padding:0 10px}.student-note-grid{grid-template-columns:minmax(0,1fr)}.student-note-grid.is-list .student-note-open{grid-template-columns:minmax(0,1fr);gap:6px;padding:12px}.student-note-grid.is-list .student-note-open p{max-width:100%}.student-note-editor-backdrop{padding:12px}.student-note-editor-modal{max-height:calc(100dvh - 24px)}.student-note-editor-modal>header{grid-template-columns:40px minmax(0,1fr) 34px;padding:14px}.student-note-editor-icon{width:40px;height:40px}.student-note-editor-body{grid-template-rows:auto minmax(240px,1fr);gap:14px;padding:14px}.student-note-editor-modal>footer{grid-template-columns:auto minmax(0,1fr);padding:12px 14px 14px;display:grid}.student-note-editor-modal>footer>span{text-align:right;margin-right:0}.student-note-cancel,.student-note-editor-modal>footer .btn{width:100%}}.material-confirm-backdrop{z-index:1300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.material-confirm-modal{isolation:isolate;width:min(420px,100%);color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 24px 70px #0000007a}.material-confirm-modal>header{grid-template-columns:44px minmax(0,1fr) 34px;align-items:center;gap:12px;padding:20px 20px 14px;display:grid}.material-confirm-modal>header>span{color:#080809;background:var(--accent);border:1px solid var(--accent);border-radius:6px;place-items:center;width:44px;height:44px;display:grid}.material-confirm-modal>header div{min-width:0}.material-confirm-modal>header small{color:var(--accent);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-size:8px;display:block}.material-confirm-modal>header h2{margin:0;font-size:17px}.material-confirm-modal>header button{width:34px;height:34px;color:var(--text-3);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;place-items:center;padding:0;display:grid}.material-confirm-content{gap:12px;padding:6px 20px 20px;display:grid}.material-confirm-file{min-width:0;color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:6px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.material-confirm-file>span{gap:4px;min-width:0;display:grid}.material-confirm-file strong,.material-confirm-file small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.material-confirm-file strong{color:var(--text);font-size:12px}.material-confirm-file small{color:var(--accent-text);font-family:var(--font-mono);text-transform:uppercase;font-size:8px}.material-confirm-content p{color:var(--text-2);margin:0;font-size:12px;line-height:1.6}.material-confirm-modal>footer{border-top:1px solid var(--hairline);justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px 20px;display:flex}.material-confirm-modal>footer .btn-primary{justify-content:center;align-items:center;gap:8px;display:inline-flex}.material-confirm-later{min-height:38px;color:var(--text-3);font-family:var(--font-ui);cursor:pointer;background:0 0;border:0;padding:0 10px;font-size:12px;font-weight:600}.material-confirm-later:hover,.material-confirm-later:focus-visible{color:var(--text)}.material-confirm-later:disabled{cursor:wait;opacity:.55}.material-remove-modal>header>span{color:#fff;background:var(--danger);border-color:var(--danger)}.material-remove-action{color:#fff;background:var(--danger);border:1px solid var(--danger);min-height:38px;font-family:var(--font-ui);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex}.material-remove-action:disabled{cursor:wait;opacity:.6}@media (width<=1180px){.student-material-grid{grid-template-columns:repeat(auto-fill,minmax(190px,225px))}.student-pending-materials>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.student-materials-summary{flex-direction:column-reverse;align-items:stretch}.student-materials-usage{width:100%;margin-left:0}.student-materials-toolbar{grid-template-columns:minmax(0,1fr) auto}.student-material-filters{overscroll-behavior-x:contain;scrollbar-width:none;grid-column:1/-1;padding-bottom:2px;overflow-x:auto}.student-material-filters::-webkit-scrollbar{display:none}.student-material-filters button{white-space:nowrap;flex:none}.student-material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-pending-materials>div{grid-template-columns:1fr}}@media (width<=560px){.student-materials-section{gap:20px}.student-materials-skeleton-card{min-height:76px}.student-materials-skeleton-preview{height:76px}.student-materials-toolbar{gap:10px}.student-material-search{border:1px solid var(--border);border-radius:6px;min-height:40px;padding:0 10px}.student-material-view-toggle{grid-template-columns:repeat(2,40px)}.student-material-view-toggle button{width:40px;height:40px}.student-material-grid{grid-template-columns:1fr}.student-material-card{border-radius:6px;grid-template-columns:76px minmax(0,1fr);display:grid}.student-material-preview{border:0;border-right:1px solid var(--hairline);height:76px;padding:0}.student-material-document-preview,.student-material-image-preview{display:none}.student-material-type-badge{position:static}.student-material-received{display:none}.student-material-card-info{min-height:76px}.student-pending-materials article{grid-template-columns:auto minmax(0,1fr) 34px}.student-pending-materials>header{flex-wrap:wrap;justify-content:space-between;align-items:center}.student-material-save{grid-column:1/-1;justify-content:center;min-height:40px}.material-confirm-backdrop{align-items:end;padding:12px}.material-confirm-modal{grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100dvh - 24px);display:grid}.material-confirm-modal>header{grid-template-columns:40px minmax(0,1fr) 36px;gap:10px;padding:16px 14px 12px}.material-confirm-modal>header>span{width:40px;height:40px}.material-confirm-modal>header h2{font-size:15px}.material-confirm-content{padding:6px 14px 16px;overflow-y:auto}.material-confirm-modal>footer{padding:12px 14px 14px}.material-confirm-modal>footer .btn-primary,.material-remove-action{min-height:42px}}@media (width<=760px){.attachment-preview-backdrop{padding:0}.attachment-preview-modal{border:0;border-radius:0;width:100%;height:100dvh}.attachment-preview-header{min-height:64px;padding:12px 10px 12px 16px}.attachment-preview-header h2{font-size:13px}.attachment-preview-actions a,.attachment-preview-actions button{width:36px;height:36px}.attachment-preview-body.is-image{padding:12px}}.admin-messages-section,.admin-messages-section button,.admin-messages-section input,.admin-messages-section textarea{font-family:var(--font-ui);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:geometricprecision}.admin-messages-section .section-eyebrow{color:var(--accent);font-family:var(--font-mono);letter-spacing:.26em;margin:0 0 13px;font-size:10px;font-weight:600;line-height:1}.admin-messages-section .section-title{color:var(--text)!important;font-family:var(--font-ui)!important;letter-spacing:0!important;font-size:36px!important;font-weight:300!important;line-height:1.05!important}.admin-messages-section .messages-top-stats span{color:#85858f;font-family:var(--font-mono);letter-spacing:.26em;font-size:8.5px;font-weight:400;line-height:1}.admin-messages-section .messages-top-stats strong{color:var(--text);font-family:var(--font-ui);letter-spacing:0;font-size:22px;font-weight:300;line-height:1}.admin-messages-section .messages-top-stats article:first-child strong{color:var(--accent)}.admin-messages-section .messages-top-stats article:last-child strong{color:var(--ok)}.admin-messages-section .messages-filter-row button,.admin-messages-section .messages-composer-tabs button{color:#a7a7b0;font-family:var(--font-ui);letter-spacing:0;font-size:13px;font-weight:500;line-height:1}.admin-messages-section .messages-filter-row button.active,.admin-messages-section .messages-composer-tabs button.active{color:var(--accent);font-weight:500}.admin-messages-section .messages-thread{font-family:var(--font-ui)}.admin-messages-section .messages-thread-copy strong,.admin-messages-section .messages-conversation-header h3{color:var(--text);font-family:var(--font-ui);letter-spacing:0;font-size:14.5px;font-weight:700;line-height:1.2}.admin-messages-section .messages-thread-copy small,.admin-messages-section .messages-conversation-header p{color:#a1a1ab;font-family:var(--font-ui);letter-spacing:0;font-size:12.5px;font-weight:400;line-height:1.25}.admin-messages-section .messages-thread-copy b{color:var(--accent);font-family:var(--font-mono);letter-spacing:.22em;margin-right:7px;font-size:8.5px;font-weight:500;line-height:1;display:inline-block}.admin-messages-section .messages-thread-date{color:#85858f;font-family:var(--font-mono);letter-spacing:.02em;font-size:9.5px;font-weight:400;line-height:1}.admin-messages-section .messages-thread-avatar{color:var(--text);font-family:var(--font-mono);letter-spacing:0;font-size:11px;font-weight:600;line-height:1}.admin-messages-section .messages-pending-badge{color:var(--accent);font-family:var(--font-mono);letter-spacing:.26em;font-size:8px;font-weight:500;line-height:1}.admin-messages-section .message-bubble{color:var(--text);font-family:var(--font-ui)}.admin-messages-section .admin-post-meta{align-items:center;gap:9px;margin-bottom:11px}.admin-messages-section .message-bubble>span,.admin-messages-section .message-remove-btn,.admin-messages-section .admin-post-meta small{color:#85858f;font-family:var(--font-mono);letter-spacing:.18em;font-size:8.5px;font-weight:400;line-height:1}.admin-messages-section .message-bubble .question-status{min-height:21px;font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;border-radius:5px;align-items:center;padding:0 8px;font-size:8px;font-weight:500;line-height:1;display:inline-flex}.admin-messages-section .message-bubble h3{color:var(--text);font-family:var(--font-ui);letter-spacing:0;font-size:15px;font-weight:700;line-height:1.25}.admin-messages-section .message-bubble p{color:#f0f0f2;font-family:var(--font-ui);letter-spacing:0;font-size:13.5px;font-weight:400;line-height:1.5}.admin-messages-section .message-bubble.incoming p{color:#f2f2f4;font-size:13.5px;font-weight:500;line-height:1.45}.admin-messages-section .message-plan span{color:#85858f;font-family:var(--font-mono);letter-spacing:.24em;font-size:8px;font-weight:400;line-height:1}.admin-messages-section .message-plan p{color:#eeeeef;font-family:var(--font-ui);letter-spacing:0;font-size:13px;font-weight:400;line-height:1.45}.admin-messages-section .messages-composer input,.admin-messages-section .messages-composer textarea{color:var(--text);font-family:var(--font-ui);letter-spacing:0;font-size:14px;font-weight:400;line-height:1.45}.admin-messages-section .messages-composer{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin;height:100%;min-height:0;max-height:none;overflow:hidden auto}.admin-messages-section .messages-composer.is-expanded{flex-direction:column;display:flex}.admin-messages-section .messages-composer.is-expanded>textarea{resize:none;flex:auto;min-height:80px}.admin-messages-section .messages-conversation.has-expanded-composer{grid-template-rows:auto minmax(96px,30%) minmax(0,1fr)}.admin-messages-section .messages-conversation.has-compact-composer{grid-template-rows:auto minmax(0,1fr) auto}.admin-messages-section .messages-conversation.has-study-plan{grid-template-rows:auto minmax(72px,12%) minmax(0,1fr)}.admin-messages-section .messages-conversation.has-study-plan .messages-composer{height:100%;max-height:none}.admin-messages-section .messages-composer.is-compact{height:auto;padding-block:12px;overflow:visible}.admin-messages-section .messages-composer.is-compact>textarea{resize:none;min-height:46px;max-height:88px;margin-top:8px;padding-top:8px}.admin-messages-section .messages-composer.is-compact>div:last-child{margin-top:8px;padding:8px 0 0}.admin-messages-section .messages-composer::-webkit-scrollbar{width:6px}.admin-messages-section .messages-composer::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.admin-messages-section .messages-composer>div:last-child{border-top:1px solid var(--hairline);padding:12px 0 16px}.admin-messages-section .messages-composer input::placeholder,.admin-messages-section .messages-composer textarea::placeholder{color:#8f8f99;font-weight:400}.admin-messages-section .messages-composer>div:last-child span{color:#a1a1ab;font-family:var(--font-ui);letter-spacing:0;font-size:12.5px;font-weight:400;line-height:1.3}.admin-messages-section .messages-composer .btn{color:#080809!important;font-family:var(--font-ui)!important;letter-spacing:0!important;font-size:13px!important;font-weight:800!important;line-height:1!important}@media (width<=1079px){.focused-section.admin-messages-section{min-width:0}.admin-messages-section .messages-heading-row{flex-direction:column;align-items:stretch;gap:22px;min-height:0}.admin-messages-section .messages-top-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%;padding-top:0}.admin-messages-section .messages-top-stats article{min-width:0}.admin-messages-section .messages-layout{grid-template-columns:minmax(0,1fr);height:auto;min-height:0;display:block}.admin-messages-section .messages-layout.conversation-open{height:calc(100dvh - 250px);min-height:0;overflow:hidden}.admin-messages-section .messages-layout:not(.conversation-open) .messages-conversation{display:none}.admin-messages-section .messages-layout:not(.conversation-open) .messages-inbox{height:min(680px,100dvh - 250px);min-height:420px}.admin-messages-section .messages-layout.conversation-open .messages-inbox{display:none}.admin-messages-section .messages-layout.conversation-open .messages-conversation{grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;max-height:100%;display:grid;overflow:hidden}.admin-messages-section .messages-layout.conversation-open .messages-conversation.has-study-plan{grid-template-rows:auto minmax(72px,12%) minmax(0,1fr)}.admin-messages-section .messages-layout.conversation-open .messages-conversation.has-expanded-composer{grid-template-rows:auto minmax(96px,30%) minmax(0,1fr)}.admin-messages-section .messages-layout.conversation-open .messages-conversation.has-compact-composer{grid-template-rows:auto minmax(0,1fr) auto}.admin-messages-section .messages-inbox{min-height:0}.admin-messages-section .messages-thread-list{max-height:min(58dvh,620px)}.admin-messages-section .messages-composer-tabs{overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.admin-messages-section .messages-composer-tabs::-webkit-scrollbar{display:none}.admin-messages-section .messages-composer-tabs button{white-space:nowrap;flex:none}.admin-messages-section .messages-conversation{min-height:640px}.admin-messages-section .messages-layout.conversation-open .messages-conversation{min-height:0}.admin-messages-section .messages-layout.conversation-open .messages-conversation-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.admin-messages-section .messages-conversation-header{grid-template-columns:34px 36px minmax(0,1fr)}.admin-messages-section .messages-conversation-header>div{min-width:0}.admin-messages-section .messages-conversation-header p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-messages-section .messages-back-button{display:grid}}@media (width<=759px){.admin-messages-section .messages-layout{display:block}.admin-messages-section .messages-layout.conversation-open{height:calc(100dvh - 164px);min-height:0;overflow:hidden}.admin-messages-section .messages-layout:not(.conversation-open) .messages-conversation{display:none}.admin-messages-section .messages-layout:not(.conversation-open) .messages-inbox{height:max(360px,100dvh - 220px);min-height:0;max-height:680px}.admin-messages-section .messages-layout.conversation-open .messages-inbox{display:none}.admin-messages-section .messages-layout.conversation-open .messages-conversation{grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;max-height:100%;display:grid;overflow:hidden}.admin-messages-section .messages-thread-list{max-height:min(58dvh,520px)}.admin-messages-section .messages-back-button{display:grid}.admin-messages-section .messages-heading-row .section-title{font-size:32px!important}.admin-messages-section .messages-top-stats{gap:14px}.admin-messages-section .messages-top-stats span{letter-spacing:.2em;font-size:7.5px}.admin-messages-section .messages-top-stats strong{font-size:20px}.admin-messages-section .messages-filter-row{padding:12px}.admin-messages-section .messages-thread-search{min-height:40px}.admin-messages-section .messages-filter-row button,.admin-messages-section .messages-composer-tabs button{min-height:36px;padding:0 12px}.admin-messages-section .messages-thread{grid-template-columns:36px minmax(0,1fr) max-content;min-height:66px;padding:12px}.admin-messages-section .messages-thread-copy strong{gap:5px}.admin-messages-section .messages-thread-copy strong>em{font-size:8.5px}.admin-messages-section .messages-conversation{min-height:min(680px,100dvh - 126px)}.admin-messages-section .messages-layout.conversation-open .messages-conversation{min-height:0}.admin-messages-section .messages-layout.conversation-open .messages-conversation-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:14px 12px 18px;overflow-y:auto}.admin-messages-section .messages-conversation-header{grid-template-columns:34px 36px minmax(0,1fr);gap:10px;padding:12px}.admin-messages-section .messages-pending-badge{grid-column:1/-1;justify-self:start}.admin-messages-section .message-bubble,.admin-messages-section .message-bubble.compact{max-width:100%;padding:13px}.admin-messages-section .message-bubble.is-study-plan{width:100%}.admin-messages-section .message-plan{grid-template-columns:minmax(0,1fr)}.admin-messages-section .messages-composer>div:last-child{flex-direction:column;align-items:stretch}.admin-messages-section .messages-composer .btn{width:100%}.admin-messages-section .messages-composer{padding:12px}.admin-messages-section .messages-composer.is-compact>div:last-child{flex-direction:row;align-items:center}.admin-messages-section .messages-composer.is-compact>div:last-child span{display:none}.admin-messages-section .messages-composer.is-compact .btn{width:auto;min-width:92px}}.student-messages-section{gap:0}.student-messages-layout{height:calc(100dvh - 244px);min-height:580px}.student-messages-inbox .messages-thread{cursor:pointer}.student-messages-conversation .messages-conversation-body{padding:18px 20px 28px}.student-messages-empty-panel{place-items:center;min-height:100%;padding:24px;display:grid}.student-messages-empty-panel>div{max-width:310px;color:var(--text-2);text-align:center;justify-items:center;gap:10px;display:grid}.student-messages-empty-panel h3{color:var(--text);margin:2px 0 0;font-size:17px;font-weight:800}.student-messages-empty-panel p{color:var(--text-2);margin:0;font-size:13.5px;line-height:1.55}.student-question-composer label{color:#85858f;font-family:var(--font-mono);letter-spacing:.26em;text-transform:uppercase;margin:0 0 2px;font-size:8.5px;font-weight:400;line-height:1;display:block}.student-question-composer textarea{min-height:74px}.student-question-composer .student-form-error{color:var(--danger);font-family:var(--font-ui);letter-spacing:0;margin:10px 0 0;font-size:12.5px;font-weight:500;line-height:1.35}@media (width<=1079px){.student-messages-layout{grid-template-columns:minmax(0,1fr);height:auto;min-height:0;display:block}.student-messages-layout.conversation-open{height:calc(100dvh - 250px);min-height:0;overflow:hidden}.student-messages-layout:not(.conversation-open) .student-messages-conversation,.student-messages-layout.conversation-open .student-messages-inbox{display:none}.student-messages-layout.conversation-open .student-messages-conversation{grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;max-height:100%;display:grid;overflow:hidden}.student-messages-inbox{min-height:0}.student-messages-inbox .messages-thread-list{max-height:min(58dvh,620px)}.student-messages-conversation{min-height:640px}.student-messages-layout.conversation-open .student-messages-conversation{min-height:0}.student-messages-layout.conversation-open .messages-conversation-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.student-messages-conversation .messages-conversation-header{grid-template-columns:34px 36px minmax(0,1fr)}.questions-section .students-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.questions-section .students-metrics article:nth-child(2){border-right:0}.questions-section .students-metrics article:nth-child(-n+2){border-bottom:1px solid var(--hairline)}.admin-publication-card header,.admin-question-card header,.admin-post-actions{flex-direction:column;align-items:stretch}.admin-publication-plan{grid-template-columns:minmax(0,1fr)}}@media (width<=759px){.student-messages-layout{display:block}.student-messages-layout.conversation-open{height:calc(100dvh - 164px);min-height:0;overflow:hidden}.student-messages-layout:not(.conversation-open) .student-messages-conversation,.student-messages-layout.conversation-open .student-messages-inbox{display:none}.student-messages-layout.conversation-open .student-messages-conversation{grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;max-height:100%;display:grid;overflow:hidden}.student-messages-inbox .messages-thread-list{max-height:min(58dvh,520px)}.student-messages-conversation{min-height:min(680px,100dvh - 126px)}.student-messages-layout.conversation-open .student-messages-conversation{min-height:0}.student-messages-layout.conversation-open .messages-conversation-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:14px 12px 18px;overflow-y:auto}.student-messages-conversation .messages-conversation-header{grid-template-columns:34px 36px minmax(0,1fr);gap:10px;padding:12px}.student-messages-conversation .messages-pending-badge{grid-column:1/-1;justify-self:start}.student-messages-conversation .message-bubble,.student-messages-conversation .message-bubble.compact{max-width:100%}.student-messages-conversation .message-bubble.is-study-plan{width:100%}.student-messages-conversation .message-plan{grid-template-columns:minmax(0,1fr)}.student-question-composer>div:last-child{flex-direction:column;align-items:stretch}.student-question-composer{padding:12px}.student-question-composer .btn{width:100%}.questions-section .students-metrics{grid-template-columns:minmax(0,1fr)}.questions-section .students-metrics article{border-right:0;border-bottom:1px solid var(--hairline)}.questions-section .students-metrics article:last-child{border-bottom:0}.admin-post-composer-header,.admin-publication-card header,.admin-question-card header,.admin-question-card .question-admin-body,.admin-question-card .question-answer-form{padding-left:18px;padding-right:18px}.admin-post-block,.admin-post-field,.admin-study-plan{margin-left:18px;margin-right:18px}}.pagination-controls{justify-content:flex-end;align-items:center;gap:14px;padding-top:4px;display:flex}.pagination-summary,.pagination-page{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:500;line-height:1}.pagination-actions{align-items:center;gap:8px;display:flex}.pagination-button{border:1px solid var(--border);border-radius:var(--r-sm);width:34px;height:34px;color:var(--text-2);cursor:pointer;background:0 0;place-items:center;display:grid}.pagination-button:hover:not(:disabled){background:var(--card-hover);border-color:var(--border-strong);color:var(--text)}.pagination-button:disabled{cursor:not-allowed;opacity:.38}.attendance-section{flex-direction:column;gap:22px;display:flex}.attendance-section .section-header{border-bottom:1px solid var(--hairline)!important;justify-content:space-between!important;align-items:flex-end!important;gap:16px!important;margin-bottom:0!important;padding-bottom:26px!important;display:flex!important}.attendance-section .section-description{margin:6px 0 0!important}.attendance-section .section-header .btn-primary{min-width:140px;min-height:43px;padding:12px 20px!important}.attendance-section .section-header .btn-primary:disabled{cursor:not-allowed;opacity:.45}.attendance-section .students-list{flex-direction:column!important;gap:14px!important;display:flex!important}@media (width>=1081px){.attendance-section .students-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important;gap:14px!important;display:grid!important}}.attendance-section .cycle-card{overflow:hidden!important}.attendance-section .cycle-alert{border:0!important;border-top:1px solid var(--hairline)!important;min-height:38px!important;color:var(--accent-text)!important;font-family:var(--font-ui)!important;letter-spacing:0!important;text-transform:none!important;background:0 0!important;border-radius:0!important;align-items:center!important;gap:8px!important;margin:0!important;padding:10px 14px!important;font-size:13px!important;font-weight:500!important;display:flex!important}.attendance-section .attendance-record.empty-slot{background:var(--inset)!important;border:1px dashed var(--border)!important;min-height:46px!important}.attendance-section .attendance-record.empty-slot .empty-slot-content{color:var(--text-2)!important;font-family:var(--font-ui)!important;letter-spacing:0!important;text-transform:none!important;align-items:baseline!important;gap:8px!important;font-size:13px!important;font-weight:500!important;line-height:1.2!important;display:flex!important}.attendance-section .attendance-record.empty-slot .empty-hint{color:var(--text-3)!important;font-family:var(--font-ui)!important;letter-spacing:0!important;text-transform:none!important;font-size:12px!important}.attendance-section .signature-indicator{border-color:var(--border)!important;max-width:152px!important;min-height:26px!important;color:var(--accent-text)!important;background:0 0!important;padding:4px 8px!important}.attendance-section .signature-indicator.pending{border-color:var(--border)!important;color:var(--text-2)!important;background:0 0!important}.attendance-section .signature-indicator:hover,.attendance-section .signature-indicator.request:hover{background:var(--accent-bg)!important;border-color:var(--accent-border)!important}.attendance-section .signature-indicator svg{flex:none!important;width:12px!important;height:12px!important}.attendance-section .cycle-open-student-btn{border:1px solid var(--border)!important;border-radius:var(--r-sm)!important;width:100%!important;min-height:42px!important;color:var(--text-2)!important;cursor:pointer!important;font-family:var(--font-ui)!important;background:0 0!important;justify-content:center!important;align-items:center!important;margin-top:2px!important;padding:0 14px!important;font-size:13px!important;font-weight:600!important;display:inline-flex!important}.attendance-section .cycle-open-student-btn:hover,.attendance-section .cycle-open-student-btn:focus-visible{border-color:var(--border-strong)!important;color:var(--text)!important}@media (width<=760px){.attendance-section .attendance-record.empty-slot .empty-slot-content{flex-direction:column!important;align-items:flex-start!important;gap:3px!important}.attendance-section .signature-indicator{max-width:136px!important}}.attendance-section .cycle-card{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:var(--r-lg)!important}.attendance-section .cycle-card.current,.attendance-section .cycle-card.complete{background:var(--card)!important;border-color:var(--border)!important}.attendance-section .cycle-header{border-bottom:1px solid var(--hairline)!important;background:0 0!important;padding:16px 20px!important}.attendance-section .cycle-badge{background:0 0!important;border:0!important}.attendance-section .cycle-records{gap:0!important;padding:0!important}.attendance-section .attendance-record{border:0!important;border-bottom:1px solid var(--hairline)!important;background:0 0!important;border-radius:0!important;align-items:center!important;gap:12px!important;min-height:58px!important;padding:0 20px!important;display:grid!important}.attendance-section .attendance-record:last-child{border-bottom:0!important}.attendance-section .record-status-icon{display:none!important}.attendance-section .aula-number{width:auto!important;height:auto!important;color:var(--accent)!important;font-family:var(--font-mono)!important;letter-spacing:.12em!important;background:0 0!important;border:0!important;font-size:10px!important;font-weight:600!important;display:block!important}.attendance-section .record-datetime{align-items:baseline!important;gap:8px!important;min-width:0!important;display:flex!important}.attendance-section .record-status-label{color:var(--ok)!important;font-family:var(--font-ui)!important;letter-spacing:0!important;text-transform:none!important;align-items:center!important;gap:6px!important;font-size:12px!important;font-weight:500!important;line-height:1!important;display:inline-flex!important}.attendance-section .record-status-label:before{content:""!important;background:currentColor!important;border-radius:50%!important;width:5px!important;height:5px!important}.attendance-section .signature-indicator{max-width:132px!important;min-height:26px!important;color:var(--accent-text)!important;background:0 0!important;border:0!important;padding:0!important;font-size:9px!important}.attendance-section .signature-indicator:hover,.attendance-section .signature-indicator.request:hover{color:var(--accent)!important;background:0 0!important}.attendance-section .signature-indicator.request{color:var(--accent)!important;background:0 0!important;border:0!important}.attendance-section .signature-indicator.pending{color:var(--text-2)!important;background:0 0!important;border:0!important}.attendance-section .record-notes{min-width:0!important;color:var(--text-3)!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:12px!important;overflow:hidden!important}.attendance-section .cycle-alert{border-top:1px solid var(--hairline)!important;min-height:38px!important;color:var(--accent-text)!important;padding:10px 20px!important}.attendance-section .cycle-open-student-btn{width:100%!important;min-height:42px!important;margin-top:10px!important}@media (width>=761px){.attendance-section .attendance-record{grid-template-columns:34px minmax(150px,max-content) max-content max-content minmax(0,1fr) max-content!important}.attendance-section .record-info{display:contents!important}.attendance-section .record-actions{justify-content:flex-end!important;align-items:center!important;gap:6px!important;display:flex!important}}.attendance-section .cycle-status{flex-wrap:wrap!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important;display:flex!important}.attendance-section .cycle-payment-badge{border:1px solid var(--accent-border);border-radius:var(--r-xs);min-height:26px;color:var(--accent-text);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;align-items:center;padding:0 9px;font-size:8px;display:inline-flex}.attendance-section .cycle-payment-badge.paid{color:var(--ok);background:#7bc48f14;border-color:#7bc48f52}.attendance-section .cycle-payment-action{color:#080809;background:var(--accent);border:1px solid var(--accent);border-radius:var(--r-xs);min-height:30px;font-family:var(--font-ui);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:10px;font-weight:700;display:inline-flex}.attendance-section .cycle-payment-action.paid{color:var(--text-2);border-color:var(--border);background:0 0}.attendance-section .cycle-payment-action svg{width:14px;height:14px}.attendance-section .cycle-payment-action:disabled{cursor:wait;opacity:.6}.student-cycle-card header>strong.open,.student-payment-preview strong.open{color:var(--accent)}.student-cycle-card header>strong.paid,.student-payment-preview strong.paid{color:var(--ok)}@media (width<=760px){.attendance-section .cycle-header{grid-template-columns:1fr!important}.attendance-section .cycle-status{justify-content:flex-start!important;justify-self:stretch!important}.attendance-section .attendance-record{grid-template-columns:28px minmax(0,1fr)!important;gap:10px!important;min-height:74px!important;padding:12px 14px!important}.attendance-section .record-info{grid-template-columns:minmax(0,1fr) max-content!important;gap:8px 10px!important;display:grid!important}.attendance-section .signature-indicator,.attendance-section .record-notes{grid-column:1/-1!important;justify-self:start!important}}.attendance-section .student-attendance-card{background:var(--card)!important;border:1px solid var(--hairline)!important;border-radius:var(--r-lg)!important;cursor:pointer!important;overflow:hidden!important;box-shadow:0 24px 58px #00000080,0 8px 20px #00000057,0 0 0 1px #ffffff09!important}.attendance-section .student-attendance-card.selected{border-color:#f973169e!important;box-shadow:0 26px 64px #0000008f,0 10px 24px #00000061,0 0 0 1px #f9731633,0 0 28px #f973160f!important}.attendance-section .student-attendance-card:focus-visible{outline-offset:3px!important;outline:1px solid #f97316c7!important}.attendance-section .student-card-body{cursor:default!important}.attendance-section .student-card-header{min-height:90px;background:var(--card)!important;border-bottom:1px solid var(--hairline)!important;grid-template-columns:minmax(260px,1fr) minmax(292px,auto) auto!important;align-items:center!important;gap:clamp(18px,2.6vw,34px)!important;padding:20px 20px 18px!important;display:grid!important}.attendance-section .student-info-row{min-width:0;align-items:center!important;gap:15px!important;display:flex!important}.attendance-section .student-avatar{flex:0 0 40px;background:var(--chip)!important;border:1px solid var(--border)!important;border-radius:var(--r-sm)!important;width:40px!important;height:40px!important;color:var(--text)!important;font-family:var(--font-mono)!important;place-items:center!important;font-size:13px!important;font-weight:500!important;display:grid!important}.attendance-section .student-details{min-width:0}.attendance-section .student-name{color:var(--text)!important;letter-spacing:-.01em!important;font-size:15.5px!important;font-weight:500!important;line-height:1.25!important}.attendance-section .student-instrument{color:var(--text-2)!important;margin-top:3px!important;font-size:13px!important;line-height:1.35!important}.attendance-section .student-stats{grid-template-columns:repeat(4,minmax(56px,auto))!important;align-items:center!important;gap:clamp(18px,1.9vw,30px)!important;display:grid!important}.attendance-section .stat-item{background:0 0!important;border:0!important;border-radius:0!important;align-items:flex-start!important;min-width:52px!important;padding:0!important}.attendance-section .stat-value{color:var(--text)!important;font-family:var(--font-ui)!important;letter-spacing:-.02em!important;margin:0 0 8px!important;font-size:20px!important;font-weight:300!important;line-height:1!important}.attendance-section .stat-item.presente .stat-value{color:var(--ok)!important}.attendance-section .stat-item.ciclos .stat-value{color:var(--accent-soft)!important}.attendance-section .stat-label{color:var(--text-3)!important;font-family:var(--font-mono)!important;letter-spacing:.18em!important;text-transform:uppercase!important;font-size:9.5px!important;font-weight:500!important;line-height:1!important}.attendance-section .student-actions{justify-content:flex-end!important;align-items:center!important;gap:8px!important;display:flex!important}.attendance-section .student-actions .btn{white-space:nowrap;min-height:38px;padding:10px 16px!important}.attendance-section .student-actions .btn-success{min-width:90px;background:var(--accent)!important;color:#0a0a0b!important}.attendance-section .student-actions .btn-ghost{min-width:94px;color:var(--text-2)!important;border:1px solid var(--border)!important;background:0 0!important}.attendance-section .cycle-progress-bar{background:var(--card)!important;color:var(--text-2)!important;border-bottom:0!important;grid-template-columns:116px minmax(240px,1fr) minmax(140px,auto)!important;align-items:center!important;gap:14px!important;padding:16px 20px!important;display:grid!important}.attendance-section .progress-info{color:var(--text-3)!important;margin:0!important;display:block!important}.attendance-section .progress-info span{font-family:var(--font-mono)!important;letter-spacing:.18em!important;text-transform:uppercase!important;font-size:10.5px!important;font-weight:500!important}.attendance-cycle-segments{grid-template-columns:repeat(4,minmax(48px,1fr));align-items:center;gap:4px;display:grid}.attendance-cycle-segments span{background:var(--border);border-radius:2px;height:4px;display:block}.attendance-cycle-segments span.filled{background:var(--accent)}.cycle-current-status{color:var(--text-2);white-space:nowrap;justify-self:end;font-size:13px;font-weight:400}.cycle-current-status.warning{color:var(--accent-text)}@media (width>=1081px){.attendance-section .student-card-header{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"student student""stats actions"!important;align-items:center!important;gap:18px!important;min-height:0!important}.attendance-section .student-info-row{grid-area:student!important}.attendance-section .student-stats{grid-area:stats!important;grid-template-columns:repeat(4,minmax(44px,auto))!important;gap:clamp(14px,1.2vw,22px)!important;min-width:0!important}.attendance-section .student-actions{grid-area:actions!important;min-width:190px!important}.attendance-section .student-actions .btn{padding:10px 14px!important}.attendance-section .cycle-progress-bar{grid-template-columns:116px minmax(0,1fr) max-content!important}}@media (width>=1081px) and (width<=1360px){.attendance-section .students-list{gap:12px!important}.attendance-section .student-card-header{gap:16px 14px!important;padding:18px 18px 16px!important}.attendance-section .student-avatar{flex-basis:38px!important;width:38px!important;height:38px!important;font-size:12px!important}.attendance-section .student-name{font-size:14.5px!important}.attendance-section .student-instrument{font-size:12.5px!important}.attendance-section .student-stats{grid-template-columns:repeat(4,minmax(34px,auto))!important;gap:10px!important}.attendance-section .stat-item{min-width:34px!important}.attendance-section .stat-value{margin-bottom:6px!important;font-size:18px!important}.attendance-section .stat-label{letter-spacing:.12em!important;font-size:8.2px!important}.attendance-section .student-actions{gap:7px!important;min-width:168px!important}.attendance-section .student-actions .btn{min-height:36px!important;padding:9px 12px!important;font-size:12.5px!important}.attendance-section .student-actions .btn-success,.attendance-section .student-actions .btn-ghost{min-width:80px!important}.attendance-section .cycle-progress-bar{grid-template-columns:98px minmax(0,1fr) max-content!important;gap:10px!important;padding:14px 18px!important}.attendance-section .progress-info span{letter-spacing:.15em!important;font-size:9px!important}.attendance-cycle-segments{gap:3px!important}.cycle-current-status{font-size:12px!important}}.attendance-section .student-card-body{border-top:1px solid var(--hairline);padding:16px 20px 20px!important}.attendance-section .cycles-container{gap:12px!important}.attendance-section .no-students{justify-content:center;min-height:140px}.attendance-students-list{flex-direction:column!important;gap:14px!important;display:flex!important}.attendance-student-card{background:var(--card)!important;border:1px solid var(--hairline)!important;border-radius:var(--r-lg)!important;box-shadow:none!important;overflow:hidden!important}.attendance-student-card:has(.attendance-progress-warning){border-color:#f973169e!important}.attendance-card-header{background:var(--card)!important;border-bottom:1px solid var(--hairline)!important;grid-template-columns:minmax(260px,1fr) minmax(292px,auto) auto!important;align-items:center!important;gap:clamp(18px,2.6vw,34px)!important;min-height:90px!important;padding:20px 20px 18px!important;display:grid!important}.attendance-card-header-left{min-width:0;align-items:center!important;gap:15px!important;display:flex!important}.attendance-student-avatar{flex:0 0 40px;background:var(--chip)!important;border:1px solid var(--border)!important;border-radius:var(--r-sm)!important;width:40px!important;height:40px!important;color:var(--text)!important;place-items:center!important;display:grid!important}.attendance-student-avatar svg{width:18px!important;height:18px!important;color:var(--text)!important}.attendance-student-info h3{color:var(--text)!important;letter-spacing:-.01em!important;margin:0!important;font-size:15.5px!important;font-weight:500!important;line-height:1.25!important}.attendance-student-instrument,.attendance-student-cycle{color:var(--text-2)!important;margin:3px 0 0!important;font-size:13px!important;line-height:1.35!important}.attendance-stats-badges{grid-template-columns:repeat(4,minmax(56px,auto))!important;align-items:center!important;gap:clamp(18px,1.9vw,30px)!important;display:grid!important}.attendance-stat-badge{min-width:52px!important;color:var(--text)!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important;padding:0!important;display:flex!important}.attendance-stat-badge svg{display:none!important}.attendance-stat-badge.presencas{color:var(--ok)!important}.attendance-stat-badge.licencas{color:var(--accent-soft)!important}.attendance-stat-badge.faltas,.attendance-stat-badge.frequencia{color:var(--text)!important}.attendance-stat-badge{font-family:var(--font-mono)!important;letter-spacing:.18em!important;text-transform:uppercase!important;font-size:9.5px!important;font-weight:500!important;line-height:1!important}.attendance-card-actions,.attendance-card-footer{background:0 0!important;border:0!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important;padding:0!important;display:flex!important}.attendance-card-actions .btn,.attendance-btn{white-space:nowrap;min-width:90px;border-radius:var(--r-sm)!important;min-height:38px!important;box-shadow:none!important;padding:10px 16px!important}.attendance-card-actions .btn:first-child,.attendance-btn-register{background:var(--accent)!important;border:1px solid var(--accent)!important;color:#0a0a0b!important}.attendance-expand-btn,.attendance-btn-report{min-width:94px;border:1px solid var(--border)!important;color:var(--text-2)!important;background:0 0!important}.attendance-progress-section{background:var(--card)!important;color:var(--text-2)!important;border:0!important;grid-template-columns:116px minmax(240px,1fr) minmax(140px,auto)!important;align-items:center!important;gap:14px!important;padding:16px 20px!important;display:grid!important}.attendance-progress-header{display:contents!important}.attendance-progress-label{color:var(--text-3)!important;font-family:var(--font-mono)!important;letter-spacing:.18em!important;text-transform:uppercase!important;font-size:10.5px!important;font-weight:500!important;line-height:1!important}.attendance-progress-count,.attendance-progress-warning{white-space:nowrap;justify-self:end;color:var(--accent-text)!important;font-family:var(--font-ui)!important;letter-spacing:0!important;font-size:13px!important;font-weight:400!important;line-height:1.35!important}.attendance-progress-bar{background:0 0!important;border-radius:0!important;grid-template-columns:repeat(4,minmax(48px,1fr))!important;gap:4px!important;height:4px!important;display:grid!important;overflow:visible!important}.attendance-progress-bar:before,.attendance-progress-bar:after{content:none!important}.attendance-progress-fill{background:var(--accent)!important;height:4px!important;box-shadow:none!important;border-radius:2px!important}@media (width<=1080px){.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-metric:last-child{grid-column:1/-1}.overview-panels{grid-template-columns:1fr}.skeleton-list-row{grid-template-columns:36px minmax(120px,1fr) minmax(120px,32%)}.students-table-header,.student-cycle-cell,.student-last-class,.skeleton-cycle,.skeleton-date{display:none!important}.students-section .student-row{grid-template-columns:32px 38px minmax(0,1fr) minmax(158px,auto)!important;grid-template-areas:"index avatar main phone""index avatar main fee"". .actions actions"!important;gap:8px 12px!important;min-height:118px!important;padding:18px 0 16px!important}.students-section .student-index{grid-area:index!important;align-self:center!important}.students-section .student-avatar-soft{grid-area:avatar!important;align-self:center!important}.students-section .student-main{grid-area:main!important;min-width:0!important}.student-phone{text-overflow:ellipsis!important;grid-area:phone!important;justify-self:end!important;min-width:0!important;max-width:168px!important;overflow:hidden!important}.students-section .student-fee{grid-area:fee!important;justify-self:end!important}.students-section .row-actions{grid-area:actions!important;justify-content:flex-end!important;place-self:end!important;min-width:226px!important;padding-top:6px!important}.students-section .student-action-button{min-width:70px!important;padding:9px 10px!important}.skeleton-student-row .skeleton-phone{grid-area:phone!important;width:118px!important}.skeleton-student-row .skeleton-price{grid-area:fee!important;width:72px!important}.attendance-section .student-card-header{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"student actions""stats stats"!important;align-items:start!important;gap:18px!important}.attendance-section .student-info-row{grid-area:student!important}.attendance-section .student-stats{grid-area:stats!important;grid-template-columns:repeat(4,minmax(86px,1fr))!important;gap:14px!important;width:100%!important}.attendance-section .student-actions{grid-area:actions!important}.attendance-section .stat-item{align-items:flex-start!important;min-width:0!important}.attendance-section .stat-label{white-space:normal!important;overflow-wrap:anywhere!important}.attendance-section .cycle-progress-bar{grid-template-columns:116px minmax(0,1fr) max-content!important}}@media (width>=761px) and (width<=1080px){.attendance-section .student-card-body{border-top:1px solid var(--hairline)!important;background:var(--card)!important;padding:0 16px 16px!important}.attendance-section .cycles-container{gap:14px!important;padding-top:15px!important}.attendance-section .cycle-card{background:0 0!important;border:0!important;border-radius:0!important;overflow:visible!important}.attendance-section .cycle-card.current,.attendance-section .cycle-card.complete{background:0 0!important;border-color:#0000!important}.attendance-section .cycle-header{background:0 0!important;border:0!important;grid-template-columns:minmax(0,1fr) max-content!important;align-items:center!important;gap:12px!important;min-height:28px!important;padding:0!important;display:grid!important}.attendance-section .cycle-info{align-items:baseline!important;gap:7px!important;min-width:0!important;display:flex!important}.attendance-section .cycle-index{color:var(--accent)!important;font-family:var(--font-mono)!important;letter-spacing:.08em!important;font-size:10.5px!important;font-weight:500!important;line-height:1!important}.attendance-section .cycle-number{color:var(--text)!important;font-family:var(--font-ui)!important;letter-spacing:-.01em!important;font-size:14px!important;font-weight:500!important;line-height:1.2!important}.attendance-section .cycle-progress{color:var(--text-3)!important;font-family:var(--font-ui)!important;letter-spacing:0!important;text-transform:none!important;font-size:12px!important;line-height:1.2!important}.attendance-section .cycle-status{justify-self:end!important}.attendance-section .cycle-badge{min-height:0!important;color:var(--ok)!important;font-family:var(--font-mono)!important;letter-spacing:.17em!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important;font-size:9px!important;font-weight:500!important;line-height:1!important}.attendance-section .cycle-badge.in-progress{color:var(--accent-text)!important}.attendance-section .cycle-badge svg{display:none!important}.attendance-section .cycle-records{flex-direction:column!important;gap:9px!important;padding:8px 0 0!important;display:flex!important}.attendance-section .attendance-record{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:var(--r-sm)!important;min-height:50px!important;box-shadow:none!important;grid-template-columns:26px minmax(0,1fr)!important;align-items:center!important;gap:11px!important;padding:9px 12px!important;display:grid!important}.attendance-section .attendance-record.empty-slot{background:var(--inset)!important;border-style:dashed!important}.attendance-section .aula-number{border:1px solid var(--border)!important;width:24px!important;height:24px!important;color:var(--text-2)!important;letter-spacing:0!important;background:0 0!important;border-radius:7px!important;font-size:11px!important;position:static!important}.attendance-section .record-status-icon{display:none!important}.attendance-section .record-info{text-align:left!important;grid-template-columns:minmax(0,1fr) max-content!important;align-items:center!important;gap:5px 10px!important;min-width:0!important;display:grid!important}.attendance-section .record-datetime{align-items:baseline!important;gap:8px!important;min-width:0!important;display:flex!important}.attendance-section .record-date{color:var(--text)!important;font-family:var(--font-ui)!important;letter-spacing:0!important;font-size:14px!important;font-weight:400!important;line-height:1.2!important}.attendance-section .record-time{color:var(--text-3)!important;font-family:var(--font-mono)!important;font-size:10.5px!important;line-height:1!important}.attendance-section .record-status-label{font-family:var(--font-ui)!important;letter-spacing:0!important;text-transform:none!important;justify-self:end!important;align-items:center!important;gap:6px!important;font-size:12px!important;font-weight:500!important;line-height:1!important;display:inline-flex!important}.attendance-section .record-status-label:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.attendance-section .signature-indicator{color:var(--accent-text)!important;background:0 0!important;border:0!important;justify-self:end!important;padding:0!important;font-size:9px!important}.attendance-section .record-notes{min-width:0!important;color:var(--text-2)!important;font-family:var(--font-ui)!important;letter-spacing:0!important;text-transform:none!important;font-size:12px!important;line-height:1.35!important}.attendance-section .record-actions,.attendance-section .cycle-alert{display:none!important}}@media (width<=760px){.app-container,.student-app-shell,.dashboard-modal-overlay,.student-modal-backdrop,.material-confirm-backdrop,.student-note-editor-backdrop,.attachment-preview-backdrop{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.app-container input,.app-container textarea,.app-container [contenteditable=true],.student-app-shell input,.student-app-shell textarea,.student-app-shell [contenteditable=true],.dashboard-modal-overlay input,.dashboard-modal-overlay textarea,.student-modal-backdrop input,.student-modal-backdrop textarea,.student-note-editor-backdrop input,.student-note-editor-backdrop textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.main-content{margin-left:0!important;padding:72px 16px 110px!important}.sidebar{border-right:0;border-bottom:1px solid var(--hairline);border-top:0;flex-direction:row;justify-content:space-between;gap:12px;top:0;bottom:auto;right:0;width:100%!important;height:49px!important;padding:0 16px!important;display:flex!important;position:fixed!important;left:0!important;transform:none!important}.sidebar-header{flex:auto;justify-content:flex-start;gap:10px;display:flex}.sidebar-header>div:not(.sidebar-logo){display:block}.sidebar-title{font-size:15px;line-height:1.1}.sidebar-subtitle{display:none}.sidebar-logo{width:30px!important;height:30px!important}.dashboard-skeleton-shell .skeleton-logo{width:30px;height:30px}.dashboard-skeleton-shell .skeleton-sidebar-title{width:96px;height:14px}.dashboard-skeleton-shell .skeleton-sidebar-subtitle,.dashboard-skeleton-shell .skeleton-nav-label{display:none}.sidebar-nav{z-index:70;border-top:1px solid var(--hairline);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b0b0ef5;grid-template-columns:repeat(4,1fr);place-items:center;height:68px;display:grid;position:fixed;bottom:0;left:0;right:0;gap:0!important;padding:8px 12px!important}.nav-item{min-height:50px;gap:0!important;width:min(124px,100%)!important;padding:0!important}.nav-label{display:none}.nav-icon{width:17px!important;height:17px!important}.sidebar-footer{flex-direction:row;flex:none;gap:14px;border-top:0!important;width:auto!important;margin-top:0!important;padding-top:0!important}.dashboard-skeleton-shell .sidebar-footer .skeleton-footer-button:first-child{z-index:80;border-radius:50%;width:56px;height:56px;position:fixed;bottom:82px;right:18px}.dashboard-skeleton-shell .sidebar-footer .skeleton-footer-button:last-child{width:38px;height:11px}.sidebar-add-button{z-index:80;position:fixed;bottom:82px;right:18px;box-shadow:0 10px 24px #00000061;background:var(--accent)!important;color:#0a0a0b!important;border:0!important;border-radius:50%!important;width:56px!important;height:56px!important}.user-info{display:flex!important}.user-avatar{font-size:11px;width:29px!important;height:29px!important}.sidebar-logout-button{width:auto;height:auto;color:var(--text-2);background:0 0;border:0;padding:0}.sidebar-logout-button svg{display:none}.sidebar-logout-label{color:inherit;font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;font-size:10px;font-weight:500;line-height:1;display:block}.general-header,.section-heading-row{flex-direction:column;align-items:stretch}.general-header{gap:18px;padding-bottom:26px}.skeleton-header{min-height:0}.skeleton-eyebrow{width:132px;height:10px;margin-bottom:17px}.skeleton-title{border-radius:var(--r-sm);width:min(318px,84vw);height:64px}.skeleton-copy-wide{width:min(300px,74vw)}.general-header .btn-primary,.section-heading-row .btn-primary{align-self:flex-start}.students-section{gap:26px!important}.students-section .section-heading-row{gap:14px!important;padding-bottom:26px!important}.students-section .section-description{max-width:330px}.students-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;gap:10px!important;display:grid!important}.skeleton-student-metric{background:var(--card)!important;border:1px solid var(--hairline)!important;border-radius:var(--r-md)!important;min-width:0!important;min-height:94px!important;padding:17px 16px!important}.students-metrics article{background:var(--card)!important;border:1px solid var(--hairline)!important;border-radius:var(--r-md)!important;gap:9px!important;min-width:0!important;min-height:94px!important;padding:17px 16px!important}.students-metrics strong{font-size:25px!important}.students-search{min-height:47px!important;margin-top:4px!important}.students-table{gap:10px!important}.pagination-controls{justify-content:space-between;margin-top:10px;padding:12px 6px 28px}.pagination-summary,.pagination-page{font-size:10px}.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-metric{min-height:128px;padding:19px}.overview-metric:last-child{grid-column:1/-1}.summary-grid{grid-template-columns:1fr}.overview-cycle-row{grid-template-columns:36px minmax(0,1fr) minmax(120px,38%);align-items:center;padding:16px 22px}.overview-price{grid-column:2}.overview-cycle-segments{grid-column:3}.overview-frequency-top{flex-direction:row;align-items:baseline;gap:10px}.skeleton-list-row{grid-template-columns:38px minmax(0,1fr);gap:13px;padding:16px 20px}.skeleton-list-row .skeleton-track{grid-column:1/-1}.attendance-section .student-card-header{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:none!important;align-items:stretch!important;gap:20px!important;min-height:0!important;padding:16px 16px 18px!important}.attendance-section .student-info-row,.attendance-section .student-stats,.attendance-section .student-actions{grid-area:auto!important}.attendance-section .student-stats{border-top:1px solid var(--row-line)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:17px 26px!important;width:100%!important;padding-top:20px!important}.attendance-section .stat-item{flex-direction:column!important;align-items:flex-start!important;gap:8px!important;min-width:0!important;display:flex!important}.attendance-section .stat-value{margin:0!important;font-size:20px!important;line-height:1!important}.attendance-section .stat-label{font-size:9.5px!important;line-height:1!important;display:block!important}.attendance-section .student-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;justify-content:stretch!important;gap:8px!important;width:100%!important;display:grid!important}.attendance-section .student-actions .btn{width:100%!important;min-width:0!important;min-height:43px!important;padding:12px 14px!important}.attendance-section .cycle-progress-bar{border-top:1px solid var(--hairline)!important;grid-template-columns:max-content minmax(0,1fr)!important;gap:14px!important;padding:16px!important;overflow:hidden!important}.attendance-section .progress-info{min-width:0!important}.attendance-section .progress-info span{white-space:nowrap!important}.attendance-cycle-segments{grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important;min-width:0!important}.attendance-cycle-segments span{min-width:0!important}.cycle-current-status{grid-column:1/-1;justify-self:start}.attendance-section .student-card-body{border-top:1px solid var(--hairline)!important;background:var(--card)!important;padding:0 16px 16px!important}.attendance-section .cycles-container{gap:14px!important;padding-top:15px!important}.attendance-section .cycle-card{background:0 0!important;border:0!important;border-radius:0!important;overflow:visible!important}.attendance-section .cycle-card.current,.attendance-section .cycle-card.complete{background:0 0!important;border-color:#0000!important}.attendance-section .cycle-header{background:0 0!important;border:0!important;grid-template-columns:minmax(0,1fr) max-content!important;align-items:center!important;gap:12px!important;min-height:28px!important;padding:0!important;display:grid!important}.attendance-section .cycle-info{align-items:baseline!important;gap:7px!important;min-width:0!important;display:flex!important}.attendance-section .cycle-index{color:var(--accent)!important;font-family:var(--font-mono)!important;letter-spacing:.08em!important;font-size:10.5px!important;font-weight:500!important;line-height:1!important}.attendance-section .cycle-number{color:var(--text)!important;font-family:var(--font-ui)!important;letter-spacing:-.01em!important;font-size:14px!important;font-weight:500!important;line-height:1.2!important}.attendance-section .cycle-progress{color:var(--text-3)!important;font-family:var(--font-ui)!important;letter-spacing:0!important;text-transform:none!important;font-size:12px!important;line-height:1.2!important}.attendance-section .cycle-status{justify-self:end!important}.attendance-section .cycle-badge{min-height:0!important;color:var(--ok)!important;font-family:var(--font-mono)!important;letter-spacing:.17em!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important;font-size:9px!important;font-weight:500!important;line-height:1!important}.attendance-section .cycle-badge.in-progress{color:var(--accent-text)!important}.attendance-section .cycle-badge svg{display:none!important}.attendance-section .cycle-records{flex-direction:column!important;gap:9px!important;padding:8px 0 0!important;display:flex!important}.attendance-section .attendance-record{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:var(--r-sm)!important;min-height:50px!important;box-shadow:none!important;grid-template-columns:26px minmax(0,1fr)!important;align-items:center!important;gap:11px!important;padding:9px 12px!important;display:grid!important}.attendance-section .attendance-record.empty-slot{background:var(--inset)!important;border-style:dashed!important}.attendance-section .aula-number{border:1px solid var(--border)!important;width:24px!important;height:24px!important;color:var(--text-2)!important;letter-spacing:0!important;background:0 0!important;border-radius:7px!important;font-size:11px!important;position:static!important}.attendance-section .record-status-icon{display:none!important}.attendance-section .record-info{text-align:left!important;grid-template-columns:minmax(0,1fr) max-content!important;align-items:center!important;gap:5px 10px!important;min-width:0!important;display:grid!important}.attendance-section .record-datetime{align-items:baseline!important;gap:8px!important;min-width:0!important;display:flex!important}.attendance-section .record-date{color:var(--text)!important;font-family:var(--font-ui)!important;letter-spacing:0!important;font-size:14px!important;font-weight:400!important;line-height:1.2!important}.attendance-section .record-time{color:var(--text-3)!important;font-family:var(--font-mono)!important;font-size:10.5px!important;line-height:1!important}.attendance-section .record-status-label{font-family:var(--font-ui)!important;letter-spacing:0!important;text-transform:none!important;justify-self:end!important;align-items:center!important;gap:6px!important;font-size:12px!important;font-weight:500!important;line-height:1!important;display:inline-flex!important}.attendance-section .record-status-label:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.attendance-section .signature-indicator{color:var(--accent-text)!important;background:0 0!important;border:0!important;justify-self:end!important;padding:0!important;font-size:9px!important}.attendance-section .record-notes{min-width:0!important;color:var(--text-2)!important;font-family:var(--font-ui)!important;letter-spacing:0!important;text-transform:none!important;font-size:12px!important;line-height:1.35!important}.attendance-section .record-actions,.attendance-section .cycle-alert{display:none!important}.attendance-progress-section{grid-template-columns:max-content minmax(0,1fr)!important;overflow:hidden!important}.attendance-progress-bar{grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important;min-width:0!important}.skeleton-attendance-card .cycle-progress-bar{grid-template-columns:max-content minmax(0,1fr)!important}.skeleton-attendance-card .cycle-progress-bar .skeleton-copy{grid-column:1/-1}.attendance-modal{width:calc(100vw - 32px)!important;max-width:488px!important;max-height:calc(100dvh - 48px)!important;overflow:hidden auto!important}.attendance-modal .attendance-modal-header{padding:30px 66px 0 28px!important}.attendance-modal .attendance-modal-body{gap:24px!important;padding:30px 28px 24px!important}.attendance-modal .modal-field-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}.attendance-modal .status-buttons{gap:10px!important}.attendance-modal .status-btn{min-height:50px!important}.attendance-modal .signature-pad-header{grid-template-columns:minmax(0,1fr) max-content!important;align-items:center!important;gap:14px!important;display:grid!important}.attendance-modal .signature-pad-wrapper{min-height:166px!important}.attendance-modal .attendance-modal-footer{flex-direction:row!important;justify-content:flex-start!important;gap:10px!important;padding:3px 28px 28px!important}.attendance-modal .attendance-modal-footer .btn{width:auto!important;min-width:94px!important}.students-section .student-row{background:var(--card)!important;border:1px solid var(--hairline)!important;border-radius:var(--r-lg)!important;grid-template-columns:29px 40px minmax(92px,.78fr) minmax(0,1fr)!important;grid-template-areas:"index avatar main main""fee fee actions actions"!important;gap:0 13px!important;min-height:0!important;padding:16px!important;display:grid!important;overflow:hidden!important}.students-section .student-index{grid-area:index!important;align-self:start!important;padding-top:12px!important}.students-section .student-avatar-soft{grid-area:avatar!important;align-self:start!important}.students-section .student-main{min-width:0;grid-area:main!important;align-self:center!important}.students-section .desktop-status-badge,.student-phone{display:none!important}.students-section .student-fee{border-top:1px solid var(--row-line)!important;text-align:left!important;flex-direction:column!important;grid-area:fee!important;place-self:stretch stretch!important;gap:4px!important;margin-top:12px!important;padding-top:12px!important;display:flex!important}.students-section .student-fee:before{content:"Mensalidade";color:var(--text-3);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:500;line-height:1}.students-section .row-actions{border-top:1px solid var(--row-line)!important;grid-area:actions!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;place-self:stretch stretch!important;gap:8px!important;min-width:0!important;margin-top:12px!important;padding-top:12px!important;display:grid!important}.students-section .student-action-button{min-width:0!important;min-height:38px!important;padding:9px 8px!important;font-size:12px!important}.student-entry-modal{width:calc(100vw - 32px)!important;max-width:380px!important;max-height:calc(100dvh - 88px)!important;padding:22px!important;overflow:hidden auto!important}.student-modal-form .form-grid{grid-template-columns:minmax(0,1fr);gap:22px!important}.student-modal-form .form-actions{flex-direction:column-reverse;gap:10px!important;margin-top:2px!important}.student-modal-form .form-actions .btn{width:100%;min-width:0}.student-delete-modal{width:calc(100vw - 32px)!important;max-width:380px!important;max-height:calc(100dvh - 88px)!important;padding:22px!important}.student-delete-body h3{font-size:26px!important}.student-delete-summary{align-items:flex-start}.student-delete-actions{flex-direction:column-reverse;gap:10px!important;margin-top:22px!important}.student-delete-actions .btn{width:100%;min-width:0}}@media (width<=1080px){.attendance-section .record-info{grid-template-columns:minmax(0,1fr) max-content!important;grid-template-areas:"datetime status""notes signature"!important;align-items:center!important}.attendance-section .record-datetime{white-space:nowrap!important;flex-direction:row!important;grid-area:datetime!important;align-items:baseline!important;gap:8px!important}.attendance-section .record-status-label{grid-area:status!important;align-self:center!important}.attendance-section .signature-indicator{border:1px solid var(--border)!important;min-height:24px!important;color:var(--accent-text)!important;font-family:var(--font-mono)!important;letter-spacing:.14em!important;text-transform:uppercase!important;background:0 0!important;border-radius:7px!important;grid-area:signature!important;justify-self:end!important;align-items:center!important;gap:5px!important;margin-top:0!important;padding:5px 8px!important;font-size:9px!important;font-weight:500!important;line-height:1!important;display:inline-flex!important}.attendance-section .signature-indicator svg{width:10px!important;height:10px!important}.attendance-section .record-notes{grid-area:notes!important}.attendance-section .cycle-open-student-btn{border:1px solid var(--border)!important;border-radius:var(--r-sm)!important;width:100%!important;min-height:44px!important;color:var(--text-2)!important;cursor:pointer!important;font-family:var(--font-ui)!important;background:0 0!important;margin-top:4px!important;padding:12px 16px!important;font-size:13px!important;font-weight:500!important}.attendance-section .cycle-open-student-btn:hover,.attendance-section .cycle-open-student-btn:focus-visible{color:var(--text)!important;border-color:var(--border-strong)!important;background:var(--card-hover)!important;outline:none!important}.attendance-section .cycle-index{color:var(--accent)!important;font-family:var(--font-mono)!important;letter-spacing:.08em!important;font-size:10px!important;font-weight:500!important;line-height:1!important}.attendance-section .cycle-number{color:var(--text)!important;font-family:var(--font-ui)!important;letter-spacing:-.01em!important;font-size:14px!important;font-weight:600!important;line-height:1.2!important}.attendance-section .cycle-progress{color:var(--text-3)!important;font-family:var(--font-mono)!important;letter-spacing:.03em!important;font-size:10.5px!important;font-weight:400!important;line-height:1!important}.attendance-section .cycle-badge{color:var(--ok)!important;font-family:var(--font-mono)!important;letter-spacing:.18em!important;font-size:9px!important;font-weight:500!important;line-height:1!important}.attendance-section .record-date{color:var(--text)!important;font-family:var(--font-ui)!important;letter-spacing:0!important;font-size:14px!important;font-weight:400!important;line-height:1.2!important}.attendance-section .record-time{color:var(--text-3)!important;font-family:var(--font-mono)!important;letter-spacing:.03em!important;font-size:10px!important;font-weight:400!important;line-height:1!important}.attendance-section .record-status-label{color:var(--ok)!important;font-family:var(--font-ui)!important;letter-spacing:0!important;font-size:12px!important;font-weight:500!important;line-height:1!important}.attendance-section .record-status-label.status-falta{color:var(--danger)!important}.attendance-section .record-status-label.status-justificado{color:var(--accent-text)!important}.attendance-section .signature-indicator{color:var(--text-2)!important;font-family:var(--font-mono)!important;letter-spacing:.14em!important;font-size:9px!important;font-weight:500!important;line-height:1!important}}@media (width<=760px){.app-container,.dashboard-skeleton-shell{width:100%!important;max-width:none!important;margin:0!important;overflow-x:hidden!important}.app-container .main-content,.dashboard-skeleton-shell .main-content{box-sizing:border-box!important;width:100%!important;max-width:none!important;margin-left:0!important;padding-left:16px!important;padding-right:16px!important}.app-container .sidebar,.dashboard-skeleton-shell .sidebar{width:100%!important;max-width:none!important;margin:0!important}.app-container .focused-section,.app-container .students-section,.dashboard-skeleton-shell .focused-section,.dashboard-skeleton-shell .students-section,.app-container .students-section .section-heading-row,.dashboard-skeleton-shell .students-section .section-heading-row{box-sizing:border-box!important;width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}.app-container .students-section .section-heading-row>div,.dashboard-skeleton-shell .students-section .section-heading-row>div{width:100%!important;max-width:none!important;margin-left:0!important}}.attendance-section .signature-indicator{border:1px solid var(--accent-border)!important;border-radius:var(--r-xs)!important;background:var(--accent-bg)!important;max-width:190px!important;min-height:28px!important;color:var(--accent-text)!important;white-space:nowrap!important;align-items:center!important;gap:6px!important;padding:5px 10px!important;display:inline-flex!important}.attendance-section .signature-indicator span{text-overflow:ellipsis!important;min-width:0!important;overflow:hidden!important}.attendance-section .signature-indicator.request{border-color:var(--accent-border)!important;color:var(--accent)!important;background:#f973161a!important}.attendance-section .signature-indicator.pending{background:var(--chip)!important;border-color:var(--border)!important;color:var(--text-2)!important}@media (width<=1080px){.attendance-section .signature-label-full{display:none!important}.attendance-section .signature-label-short{display:inline!important}.attendance-section .signature-indicator{max-width:150px!important}}@media (width>=1081px){.attendance-section .cycle-header{justify-content:space-between!important;align-items:center!important;gap:18px!important;padding:18px 20px!important;display:flex!important}.attendance-section .cycle-info{align-items:baseline!important;gap:8px!important;min-width:0!important;display:flex!important}.attendance-section .cycle-records{flex-direction:column!important;gap:10px!important;padding:14px 20px 18px!important;display:flex!important}.attendance-section .attendance-record{grid-template-columns:28px 18px minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;min-height:58px!important;padding:12px 14px!important;display:grid!important}.attendance-section .record-info{grid-template-columns:max-content max-content max-content minmax(0,1fr)!important;align-items:center!important;gap:10px!important;min-width:0!important;display:grid!important}.attendance-section .record-datetime{align-items:baseline!important;gap:8px!important;min-width:0!important;display:flex!important}.attendance-section .record-actions{align-items:center!important;gap:5px!important;display:flex!important}.attendance-section .record-notes{text-overflow:ellipsis!important;white-space:nowrap!important;min-width:0!important;overflow:hidden!important}}.attendance-section .signature-indicator{cursor:pointer!important;pointer-events:auto!important;z-index:2!important;position:relative!important}.attendance-section .signature-indicator.pending,.attendance-section .signature-indicator:disabled{cursor:default!important;opacity:.72!important}.attendance-feedback{color:var(--accent)!important;font-family:var(--font-ui)!important;margin:-10px 0 18px!important;font-size:13px!important;font-weight:600!important}@media (width>=761px){.attendance-section .student-stats .stat-item{flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:5px!important;display:inline-flex!important}.attendance-section .student-stats .stat-value,.attendance-section .student-stats .stat-label{margin:0!important}.attendance-section .student-stats .stat-value{line-height:1!important}.attendance-section .student-stats .stat-label{white-space:nowrap!important;align-items:center!important;min-height:20px!important;line-height:1!important;display:inline-flex!important}}
