@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--primary-color: #6366f1;--primary-hover: #4f46e5;--primary-soft: rgba(99, 102, 241, .14);--secondary-color: #818cf8;--accent: var(--primary-color);--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--border-radius-sm: 8px;--border-radius-md: 12px;--border-radius-lg: 16px;--shadow-glow: none;--glass-bg: var(--surface);--glass-bg-hover: var(--surface-2);--border: var(--glass-border);--border-strong: var(--glass-border-highlight);--bg-gradient: var(--bg-dark);--transition-normal: all .18s cubic-bezier(.4, 0, .2, 1);--transition-bounce: all .18s cubic-bezier(.4, 0, .2, 1)}:root,:root[data-theme=light]{--bg-dark: #f6f7f9;--surface: #ffffff;--surface-2: #f1f3f6;--surface-3: #eceff3;--glass-border: #e3e7ec;--glass-border-highlight: #d2d8e0;--text-main: #131720;--text-muted: #5a6472;--text-faint: #8b95a3;--shadow-drop: 0 1px 2px rgba(16, 24, 40, .06), 0 6px 20px rgba(16, 24, 40, .08);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06)}@media (prefers-color-scheme: dark){:root{--bg-dark: #0b0e14;--surface: #12161f;--surface-2: #171c26;--surface-3: #1e2431;--glass-border: #232a37;--glass-border-highlight: #2f3849;--text-main: #e7e9ee;--text-muted: #8b93a1;--text-faint: #626b7a;--shadow-drop: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 20px rgba(0, 0, 0, .22);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3)}}:root[data-theme=dark]{--bg-dark: #0b0e14;--surface: #12161f;--surface-2: #171c26;--surface-3: #1e2431;--glass-border: #232a37;--glass-border-highlight: #2f3849;--text-main: #e7e9ee;--text-muted: #8b93a1;--text-faint: #626b7a;--shadow-drop: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 20px rgba(0, 0, 0, .22);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg-dark);color:var(--text-main);min-height:100vh;overflow-x:hidden;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{letter-spacing:-.01em;line-height:1.25}a{color:var(--accent);text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;border-radius:var(--border-radius-sm);transition:var(--transition-normal)}button:active{transform:translateY(1px)}input,textarea,select{font-family:inherit;outline:none;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--border-radius-sm);color:var(--text-main);padding:10px 14px;font-size:.925rem;transition:var(--transition-normal)}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--primary-soft)}option{background-color:var(--surface);color:var(--text-main)}input::placeholder,textarea::placeholder{color:var(--text-faint)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px;border:2px solid var(--bg-dark)}::-webkit-scrollbar-thumb:hover{background:#3a4355}.glass-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-drop)}.text-gradient{color:var(--text-main)}.text-accent{color:var(--accent)}.btn-primary{background:var(--primary-color);color:#fff;border-radius:var(--border-radius-sm);padding:10px 18px;font-weight:600;font-size:.925rem}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--surface-2);color:var(--text-main);border:1px solid var(--border);border-radius:var(--border-radius-sm);padding:10px 18px;font-weight:600;font-size:.925rem}.btn-secondary:hover{border-color:var(--border-strong);background:var(--surface-3)}.theme-toggle{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--border);background:var(--surface-2);border-radius:999px}.theme-toggle-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:transparent;color:var(--text-muted);font-size:.78rem;font-weight:500;line-height:1}.theme-toggle-btn.active{background:var(--surface);color:var(--text-main);box-shadow:var(--shadow-sm)}.theme-toggle-btn:hover:not(.active){color:var(--text-main)}.app-container{display:flex;min-height:100vh;width:100vw}.main-content{flex:1;padding:2rem;display:flex;flex-direction:column;gap:2rem;overflow-y:auto}.mobile-top-bar{display:none}.payment-banner{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:2000;max-width:min(560px,calc(100% - 32px));display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--border-radius-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-drop);color:var(--text-main);font-size:.9rem}.payment-banner.sucesso{border-left:3px solid var(--success)}.payment-banner.pendente{border-left:3px solid var(--warning)}.payment-banner.erro{border-left:3px solid var(--danger)}.payment-banner-close{background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;margin-left:auto;padding:2px}.payment-banner-close:hover{color:var(--text-main)}@media (max-width: 768px){.app-container{flex-direction:column}.mobile-top-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:var(--surface);border-bottom:1px solid var(--border);position:fixed;top:0;left:0;width:100%;z-index:1000}.mobile-logo-container{display:flex;align-items:center;gap:10px}.mobile-logo{width:32px;height:32px;border-radius:8px;object-fit:contain}.mobile-title{font-weight:700;font-size:1rem;color:var(--text-main)}.mobile-logout-btn{font-size:.8rem;padding:6px 12px;background:var(--surface-2);color:var(--text-muted);border-radius:6px;border:1px solid var(--border);cursor:pointer}.main-content{padding:1rem;padding-top:70px;padding-bottom:5rem}}.landing-container{min-height:100vh;width:100%;background:var(--bg-dark);color:var(--text-main);overflow-x:hidden;position:relative}.landing-header{position:fixed;top:0;left:0;width:100%;height:64px;display:flex;justify-content:space-between;align-items:center;padding:0 5%;z-index:100;background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px}.nav-pricing{color:var(--text-muted);text-decoration:none;font-weight:500;font-size:.925rem;transition:var(--transition-normal)}.nav-pricing:hover{color:var(--text-main)}.landing-nav-right{display:flex;align-items:center;gap:16px}.hero-section{position:relative;z-index:1;padding-top:128px;display:flex;flex-direction:column;align-items:center;text-align:center;padding-bottom:5rem}.hero-content{max-width:760px;padding:0 20px}.hero-content h1{font-size:clamp(2.25rem,6vw,3.5rem);font-weight:700;line-height:1.15;margin-bottom:20px;letter-spacing:-.02em;color:var(--text-main)}.hero-subtitle{font-size:1.125rem;color:var(--text-muted);line-height:1.6;margin:0 auto 40px;max-width:600px}.auth-card{margin:0 auto;padding:2rem;border-radius:var(--border-radius-lg);max-width:400px;display:flex;flex-direction:column;gap:.75rem}.auth-card h2{font-size:1.25rem;font-weight:600;margin:0;color:var(--text-main)}.auth-card p{color:var(--text-muted);font-size:.9rem;margin:0 0 .5rem}.google-btn-wrapper{display:flex;justify-content:center}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;max-width:1080px;margin:5rem auto 0;padding:0 20px}.feature-card{padding:1.75rem;border-radius:var(--border-radius-md);text-align:left;transition:var(--transition-normal)}.feature-card:hover{border-color:var(--border-strong);background:var(--surface-2)}.feature-icon{width:28px;height:28px;margin-bottom:1rem;color:var(--primary-color)}.feature-card h3{font-size:1.05rem;font-weight:600;margin:0 0 .4rem;color:var(--text-main)}.feature-card p{color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.5}.pricing-section{position:relative;z-index:1;padding:5rem 20px 6rem;text-align:center}.pricing-section h2{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;margin-bottom:3rem;color:var(--text-main)}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;max-width:980px;margin:0 auto}.price-card{padding:2.5rem 2rem;border-radius:var(--border-radius-lg);display:flex;flex-direction:column;position:relative;text-align:center;transition:var(--transition-normal)}.price-card:hover{border-color:var(--border-strong)}.price-card.popular{border-color:var(--primary-color);background:var(--surface-2)}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--primary-color);color:#fff;padding:4px 14px;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.price-header{font-size:1rem;font-weight:700;color:var(--text-muted);letter-spacing:.04em;margin-bottom:1rem}.price-amount{font-size:2.5rem;font-weight:800;color:var(--text-main);margin-bottom:2rem}.price-amount span{font-size:1rem;font-weight:500;color:var(--text-faint)}.price-features{list-style:none;padding:0;margin:0 0 2rem;text-align:left;flex-grow:1}.price-features li{margin-bottom:.875rem;color:var(--text-main);display:flex;align-items:center;gap:10px;font-size:.925rem}.price-features li svg{color:var(--primary-color);flex-shrink:0}.price-btn{width:100%;padding:.875rem;border-radius:var(--border-radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-main);font-weight:600;font-size:.95rem;cursor:pointer;transition:var(--transition-normal)}.price-btn:hover{border-color:var(--border-strong);background:var(--surface-3)}.price-btn.primary{background:var(--primary-color);border:1px solid var(--primary-color);color:#fff}.price-btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.sidebar{width:260px;margin:1.5rem 0 1.5rem 1.5rem;display:flex;flex-direction:column;padding:1.25rem}.sidebar-header{padding:.25rem .4rem 1.1rem;margin-bottom:.5rem;border-bottom:1px solid var(--border)}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1;padding-top:.6rem}.nav-btn{background:transparent;color:var(--text-muted);text-align:left;padding:10px 12px;font-size:.925rem;font-weight:500;border-radius:var(--border-radius-sm);display:flex;align-items:center;gap:12px}.nav-btn svg{flex-shrink:0;color:var(--text-faint)}.nav-btn:hover{background:var(--surface-2);color:var(--text-main)}.nav-btn:hover svg{color:var(--text-muted)}.nav-btn.active{background:var(--primary-soft);color:var(--text-main)}.nav-btn.active svg{color:var(--primary-color)}.sidebar-footer{padding-top:1rem;border-top:1px solid var(--border)}.sidebar-theme{display:flex;justify-content:center;margin-bottom:12px}.user-profile{display:flex;align-items:center;gap:12px}.user-info{display:flex;flex-direction:column}.user-name{color:var(--text-main);font-weight:600;font-size:.95rem}.logout-btn{background:transparent;color:var(--text-muted);font-size:.8rem;padding:2px 0;text-align:left;display:inline-flex;align-items:center;gap:5px;margin-top:2px}.logout-btn:hover{color:var(--danger)}@media (max-width: 768px){.sidebar{width:100%;margin:0;padding:0;position:fixed;bottom:0;left:0;z-index:1000;flex-direction:row;height:64px;background:var(--surface);border-top:1px solid var(--border);border-radius:0}.sidebar-header,.sidebar-footer{display:none}.sidebar-nav{flex-direction:row;justify-content:space-evenly;align-items:center;width:100%;padding:.25rem;gap:0}.nav-btn{flex-direction:column;padding:0;font-size:.62rem;flex:1;justify-content:center;gap:3px;border-radius:8px;height:100%}.nav-btn.active{background:transparent;color:var(--primary-color)}}.dashboard-container{display:flex;flex-direction:column;gap:2rem}.dashboard-header h2{font-size:1.75rem;font-weight:600;color:var(--text-main);margin-bottom:.25rem}.dashboard-header p{font-size:.95rem}.text-muted{color:var(--text-muted)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem;transition:var(--transition-normal)}.stat-card:hover{border-color:var(--border-strong)}.stat-head{display:flex;align-items:center;gap:.5rem;color:var(--text-muted)}.stat-head h3{font-size:.9rem;font-weight:500;color:var(--text-muted);margin:0}.stat-head svg{color:var(--text-muted);flex-shrink:0}.stat-value{font-size:2.25rem;font-weight:600;color:var(--text-main);line-height:1;font-variant-numeric:tabular-nums}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:1rem}.schedule-panel,.tasks-panel{padding:1.5rem;min-height:300px}.tasks-panel{display:flex;flex-direction:column;gap:2rem}.panel-title{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;color:var(--text-main);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.panel-title svg{color:var(--text-muted);flex-shrink:0}.empty-state{display:flex;align-items:center;justify-content:center;min-height:120px;text-align:center;color:var(--text-muted);font-size:.9rem}@media (max-width: 1024px){.content-grid{grid-template-columns:1fr}}.dashboard-list{display:flex;flex-direction:column;gap:.75rem}.dashboard-item{display:flex;align-items:center;gap:1rem;background:var(--surface-2);padding:.875rem 1rem;border-radius:var(--border-radius-sm);border:1px solid var(--border);transition:var(--transition-normal)}.dashboard-item:hover{background:var(--surface-3);border-color:var(--border-strong)}.item-body{display:flex;flex-direction:column;gap:.25rem;min-width:0}.item-title{font-weight:500;font-size:.95rem;color:var(--text-main)}.item-meta{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-muted)}.time-badge{background:var(--surface-3);padding:4px 8px;border-radius:var(--border-radius-sm);font-size:.85rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.vault-link{color:var(--text-main);text-decoration:none;font-weight:500;font-size:.95rem}.vault-link:hover{color:var(--primary-color);text-decoration:underline}.calendar-container{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;overflow:auto}.calendar-header-wrapper{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.5rem}.calendar-header{display:flex;flex-direction:column}.calendar-header h2{font-size:1.5rem;font-weight:600;color:var(--text-main)}.calendar-subtitle{margin-top:.25rem;font-size:.9rem;color:var(--text-muted)}.week-controls{display:flex;gap:.25rem;align-items:center}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--surface-2);color:var(--text-main);border:1px solid var(--border);padding:8px 14px;font-weight:500;font-size:.9rem;border-radius:var(--border-radius-sm);transition:var(--transition-normal)}.icon-btn:hover{background:var(--surface-3);border-color:var(--border-strong)}.today-btn{background:var(--primary-soft);color:var(--primary-color);border-color:var(--primary-color);margin:0 .5rem}.today-btn:hover{background:var(--primary-soft);border-color:var(--primary-hover)}.calendar-grid{display:flex;min-width:800px;background:var(--surface);border:1px solid var(--border);border-radius:var(--border-radius-md);overflow:hidden}.time-column,.day-column{flex:1;display:flex;flex-direction:column}.time-column{flex:0 0 60px;background:var(--surface-2);border-right:1px solid var(--border)}.day-column:not(:last-child){border-right:1px solid var(--border)}.cell{height:60px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.875rem}.time-cell{color:var(--text-muted)}.header-cell{height:60px;font-weight:600;color:var(--text-muted);background:var(--surface-2)}.day-header{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px}.day-name{font-size:.75rem;text-transform:uppercase;letter-spacing:1px}.day-number{font-size:1.1rem;font-weight:700;color:var(--text-main);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%}.active-day{background:var(--primary-color);color:#fff}.is-today{background-color:color-mix(in srgb,var(--primary-color) 6%,transparent)}.drop-cell{transition:background .18s ease;position:relative;display:flex!important;flex-direction:column;gap:3px;padding:3px;overflow-y:auto;overflow-x:hidden;justify-content:flex-start!important;align-items:stretch!important}.drop-cell::-webkit-scrollbar{width:3px}.drop-cell::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px}.drop-cell:hover{background:var(--surface-2);cursor:pointer}.scheduled-block{width:100%;min-height:24px;border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:space-between;padding:2px 6px;color:#fff;font-size:.75rem;font-weight:600;box-shadow:var(--shadow-sm);position:relative;flex-shrink:0}.block-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delete-block-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#fff;opacity:.7;padding:0;line-height:0;transition:opacity .18s ease}.delete-block-btn:hover{opacity:1}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{width:400px;padding:2rem;background:var(--bg-dark);border:1px solid var(--border-strong);box-shadow:var(--shadow-drop)}.modal-content h3{margin-bottom:.5rem;font-weight:600;color:var(--text-main)}.mb-4{margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-muted)}.form-group input{width:100%}.color-picker{display:flex;gap:.5rem}.color-btn{width:30px;height:30px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:var(--transition-normal)}.color-btn:hover{border-color:var(--border-strong)}.color-btn.selected{border-color:var(--text-main)}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.cancel-btn{background:transparent;color:var(--text-muted);font-weight:500;padding:8px 16px;border:1px solid var(--border)}.cancel-btn:hover{color:var(--text-main);background:var(--surface-2)}.add-btn{background:var(--primary-color);color:#fff;padding:8px 16px;font-weight:600}.tasks-container{padding:1.5rem;max-width:800px;margin:0 auto;width:100%}.tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.tasks-title{display:flex;align-items:center;gap:.5rem;color:var(--text-main)}.tasks-title h2{font-size:1.25rem;font-weight:600;color:var(--text-main)}.tasks-title svg{color:var(--text-muted)}.task-badge{background:var(--surface-3);color:var(--text-muted);border:1px solid var(--border);padding:4px 12px;border-radius:var(--border-radius-sm);font-size:.8125rem;font-weight:500}.task-form{display:flex;gap:.75rem;margin-bottom:1.5rem}.task-form input{flex:1}.add-btn{display:inline-flex;align-items:center;gap:.375rem;background:var(--primary-color);color:#fff;padding:10px 18px;font-weight:600;font-size:.925rem;white-space:nowrap}.add-btn:hover{background:var(--primary-hover)}.task-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.task-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--border-radius-sm);transition:var(--transition-normal)}.task-item:hover{background:var(--surface-3);border-color:var(--border-strong)}.task-item.completed{opacity:.6}.task-item.completed .task-title{text-decoration:line-through;color:var(--text-muted)}.task-content{display:flex;flex-direction:column;gap:.375rem;flex:1;min-width:0}.task-title{font-size:1rem;color:var(--text-main);transition:var(--transition-normal)}.task-user{display:inline-flex;align-items:center;gap:.5rem;align-self:flex-start}.task-user-name{font-size:.8125rem;color:var(--text-muted)}.delete-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--text-faint);padding:6px;border-radius:var(--border-radius-sm);transition:var(--transition-normal)}.delete-btn:hover{color:var(--danger);background:var(--surface)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;color:var(--text-muted)}.empty-state svg{color:var(--text-faint)}.checkbox-container{display:block;position:relative;width:24px;height:24px;flex-shrink:0;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:absolute;top:0;left:0;height:24px;width:24px;background-color:var(--surface-3);border:1px solid var(--border-strong);border-radius:6px;transition:var(--transition-normal)}.checkbox-container:hover input~.checkmark{border-color:var(--primary-color)}.checkbox-container input:checked~.checkmark{background-color:var(--primary-color);border-color:var(--primary-color)}.checkmark:after{content:"";position:absolute;display:none}.checkbox-container input:checked~.checkmark:after{display:block}.checkbox-container .checkmark:after{left:8px;top:4px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.subjects-container{padding:2rem;max-width:900px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:1.5rem}.subjects-header h2{font-size:1.5rem;font-weight:600;color:var(--text-main);margin-bottom:.35rem}.subjects-header .text-muted{font-size:.925rem}.subject-form{display:flex;align-items:flex-end;gap:1.25rem;padding:1.5rem;background:var(--surface)}.input-group{display:flex;flex-direction:column;gap:.5rem;flex:1}.input-group label{font-size:.85rem;color:var(--text-muted);font-weight:500}.color-input-wrapper{display:flex;align-items:center;gap:.5rem;height:42px;background:var(--surface-3);padding:0 .75rem;border-radius:var(--border-radius-sm);border:1px solid var(--border)}.color-input-wrapper input[type=color]{border:none;background:none;padding:0;width:28px;height:28px;cursor:pointer}.hex-value{font-size:.9rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.add-btn{height:42px;padding:0 1.25rem;color:#fff;font-weight:600;font-size:.925rem;border-radius:var(--border-radius-sm);background:var(--primary-color);transition:var(--transition-normal)}.add-btn:hover{filter:brightness(1.08)}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.subject-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--border-radius-md);transition:var(--transition-normal)}.subject-card:hover{background:var(--surface-2);border-color:var(--border-strong)}.subject-info{display:flex;align-items:center;gap:.85rem;min-width:0}.color-indicator{width:14px;height:14px;border-radius:50%;flex-shrink:0}.subject-name{font-weight:500;font-size:1rem;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subject-card .delete-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;background:transparent;color:var(--text-faint);border-radius:var(--border-radius-sm);transition:var(--transition-normal)}.subject-card .delete-btn:hover{background:var(--surface-3);color:var(--danger)}@media (max-width: 640px){.subjects-container{padding:1.25rem}.subject-form{flex-direction:column;align-items:stretch}.add-btn{width:100%}}.profile-selector-container{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100vw;padding:2rem;background:var(--bg-dark)}.profile-selector-content{position:relative;padding:3rem;text-align:center;max-width:760px;width:100%;animation:fadeIn .2s ease-out}.profile-selector-header{display:flex;justify-content:center;margin-bottom:1.25rem}.profile-selector-content h2{font-size:1.25rem;font-weight:600;color:var(--text-main);margin-bottom:2.5rem}.logout-conta-btn{position:absolute;top:1.25rem;right:1.25rem;display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:6px 12px;border-radius:var(--border-radius-sm);font-size:.8rem;font-weight:500}.logout-conta-btn:hover{color:var(--text-main);border-color:var(--border-strong);background:var(--surface-2)}.profiles-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem}.profile-card{display:flex;flex-direction:column;align-items:center;gap:.75rem;cursor:pointer;padding:1.25rem 1rem;min-width:150px;border-radius:var(--border-radius-md);border:1px solid var(--border);background:var(--surface);transition:var(--transition-normal)}.profile-card:hover{background:var(--surface-2);border-color:var(--border-strong)}.profile-avatar{width:72px;height:72px;border-radius:50%;display:flex;justify-content:center;align-items:center;color:var(--text-muted);background:var(--surface-3);transition:var(--transition-normal)}.profile-name{font-size:1rem;font-weight:600;color:var(--text-main)}.profile-stats{display:flex;align-items:center;gap:12px;font-size:.78rem;color:var(--text-muted)}.profile-stats span{display:inline-flex;align-items:center;gap:4px}.new-profile-btn{border-style:dashed;background:transparent}.new-profile-btn .profile-avatar{border:1px dashed var(--border-strong);background:transparent;color:var(--text-muted)}.new-profile-btn:hover{border-color:var(--primary-color);background:var(--primary-soft)}.new-profile-btn:hover .profile-avatar{border-color:var(--primary-color);color:var(--primary-color)}.form-hint{font-size:.75rem;color:var(--text-muted);margin-top:4px;text-align:left}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.vault-container{display:flex;flex-direction:column;gap:2rem}.vault-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.vault-header .header-text h2{font-size:1.25rem;font-weight:600;color:var(--text-main);margin-bottom:.35rem}.empty-state{padding:2rem;text-align:center;border:1px dashed var(--border);border-radius:var(--border-radius-md);background:var(--surface)}.vault-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.vault-card{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:var(--transition-normal)}.vault-card:hover{border-color:var(--border-strong)}.vault-card-header{display:flex;align-items:center;gap:.5rem;position:relative}.vault-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.vault-type-badge{font-size:.7rem;font-weight:600;letter-spacing:.02em;padding:.2rem .5rem;border-radius:var(--border-radius-sm);background:var(--surface-3);color:var(--text-muted)}.vault-card-header .delete-btn{margin-left:auto;background:none;color:var(--text-faint);font-size:1.1rem;line-height:1;padding:.1rem .35rem}.vault-card-header .delete-btn:hover{color:var(--danger)}.vault-title{font-size:1.15rem;font-weight:600;line-height:1.3;color:var(--text-main)}.vault-description{font-size:.9rem;line-height:1.5;flex-grow:1}.vault-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem;border-top:1px solid var(--border)}.vault-user{display:flex;align-items:center;gap:.5rem}.user-name-sm{font-size:.85rem;font-weight:500}.open-link-btn{padding:.5rem 1rem;border-radius:var(--border-radius-sm);font-size:.85rem;font-weight:600;text-decoration:none;transition:var(--transition-normal)}.open-link-btn:hover{filter:brightness(1.1)}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 4rem);max-height:800px;overflow:hidden;padding:0}.chat-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:1rem;background:var(--surface)}.assistant-avatar{display:flex;justify-content:center;align-items:center;flex-shrink:0}.chat-header-info h2{font-size:1.15rem;font-weight:600;margin:0 0 .15rem;color:var(--text-main)}.status-indicator{font-size:.8rem;color:var(--text-muted);font-weight:500;display:flex;align-items:center}.status-indicator:before{content:"";display:inline-block;width:8px;height:8px;background-color:var(--success);border-radius:50%;margin-right:6px}.tts-btn{width:40px;height:40px;border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted)}.tts-btn:hover{background:var(--surface-3);color:var(--text-main)}.tts-btn.tts-active{color:var(--primary-color);background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary-color) 40%,var(--border))}.chat-messages{flex-grow:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem}.message-wrapper{display:flex;gap:.75rem;align-items:flex-end;max-width:85%}.message-received{align-self:flex-start}.message-sent{align-self:flex-end}.msg-avatar{width:32px;height:32px;flex-shrink:0;display:flex;justify-content:center;align-items:center}.message-bubble{padding:.75rem 1rem;border-radius:16px;position:relative;border:1px solid var(--border)}.message-bubble p{margin:0;line-height:1.5;font-size:.95rem;white-space:pre-wrap}.message-time{display:block;font-size:.7rem;color:var(--text-muted);text-align:right;margin-top:.5rem}.chat-input-area{display:flex;padding:1.25rem;gap:.75rem;border-top:1px solid var(--border);background:var(--surface)}.chat-input-area input[type=text]{flex-grow:1;margin-bottom:0;border-radius:22px;padding:11px 16px}.chat-input-area>button{width:44px;height:44px;border-radius:50%;display:flex;justify-content:center;align-items:center;padding:0;flex-shrink:0}.chat-input-area>button.attach-btn,.chat-input-area>button.mic-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted)}.chat-input-area>button.attach-btn:hover,.chat-input-area>button.mic-btn:hover{background:var(--surface-3);color:var(--text-main)}.mic-btn.recording{background-color:var(--danger);border-color:var(--danger);color:#fff}.send-btn{color:#fff;border:none}.send-btn:disabled{opacity:.5;cursor:not-allowed}.attachment-preview{width:100%;display:flex;align-items:center;gap:8px;margin-bottom:5px;font-size:.8rem;color:var(--text-muted)}.attachment-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-remove{display:inline-flex;align-items:center;justify-content:center;padding:2px;background:transparent;border:none;color:var(--text-muted);border-radius:var(--border-radius-sm)}.attachment-remove:hover{color:var(--text-main);background:var(--surface-2)}.quiz-btn{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;background:var(--surface-2);color:var(--text-main);border:1px solid var(--border);border-radius:var(--border-radius-sm)}.quiz-btn:hover{background:var(--surface-3);border-color:var(--border-strong)}.typing-indicator{background:var(--surface-2);padding:1rem;border-radius:0 16px 16px;border:1px solid var(--border);display:flex;gap:4px}.typing-indicator span{width:6px;height:6px;background:var(--text-muted);border-radius:50%;animation:typing 1.4s infinite ease-in-out both}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.25}40%{opacity:1}}.quiz-container{margin-top:10px}.quiz-heading{margin:0 0 10px;font-size:.9rem;color:var(--text-muted)}.flashcards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:10px}.flashcard{position:relative;height:120px;cursor:pointer}.flashcard-inner{position:relative;width:100%;height:100%}.flashcard-front,.flashcard-back{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--border-radius-md);padding:12px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.9rem;overflow:auto;transition:opacity .18s ease}.flashcard-front{background:var(--surface-2);color:var(--text-main);border:1px solid var(--border);opacity:1}.flashcard-back{background:var(--primary-soft);color:var(--text-main);border:1px solid var(--primary-color);opacity:0}.flashcard.flipped .flashcard-front{opacity:0}.flashcard.flipped .flashcard-back{opacity:1}.pomodoro-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;text-align:center;padding:2rem;border-radius:var(--border-radius-lg)}.pomodoro-header h2{font-size:1.6rem;font-weight:600;color:var(--text-main);margin-bottom:.4rem}.timer-display{width:240px;height:240px;border-radius:50%;border:4px solid var(--border-strong);display:flex;align-items:center;justify-content:center;margin:2.5rem 0;background:var(--surface-2);transition:border-color .18s ease}.pomodoro-container.focus-mode .timer-display{border-color:var(--primary-color)}.pomodoro-container.break-mode .timer-display{border-color:var(--success)}.time-text{font-size:4.5rem;font-weight:700;margin:0;color:var(--text-main);font-variant-numeric:tabular-nums;letter-spacing:.02em}.pomodoro-controls{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;margin-top:1rem}.pomodoro-controls button{padding:.7rem 1.4rem;font-size:.95rem;font-weight:600;border-radius:var(--border-radius-sm);cursor:pointer;border:1px solid transparent;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.btn-play{background:var(--primary-color);color:#fff;min-width:150px}.btn-play:hover{background:var(--primary-hover)}.btn-play.btn-pause{background:var(--warning);color:var(--bg-dark)}.btn-play.btn-pause:hover{background:var(--warning);filter:brightness(.95)}.btn-reset,.btn-skip{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted)}.btn-reset:hover,.btn-skip:hover{background:var(--surface-3);border-color:var(--border-strong);color:var(--text-main)}.pomodoro-footer{margin-top:auto;padding-top:2.5rem;font-size:.9rem;color:var(--text-muted);line-height:1.6;max-width:440px}.pomodoro-footer small{color:var(--text-faint)}.pricing-wrapper{padding:2rem 1rem;max-width:860px;margin:0 auto;text-align:center;color:var(--text-main)}.pricing-header h1{font-size:1.9rem;font-weight:700;margin-bottom:.5rem}.pricing-header p{color:var(--text-muted);font-size:1rem;margin-bottom:1.75rem}.billing-toggle{display:inline-flex;gap:4px;padding:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;margin-bottom:2rem}.billing-toggle button{background:transparent;color:var(--text-muted);padding:7px 18px;border-radius:999px;font-size:.9rem;font-weight:500;display:inline-flex;align-items:center;gap:8px}.billing-toggle button.active{background:var(--surface);color:var(--text-main);box-shadow:var(--shadow-sm)}.save-pill{background:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success);font-size:.72rem;font-weight:600;padding:1px 8px;border-radius:999px}.plan-sub{color:var(--text-muted);font-size:.82rem;margin-top:-.5rem;margin-bottom:1rem}.pricing-error{max-width:520px;margin:0 auto 1.5rem;padding:10px 14px;background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);border-radius:var(--border-radius-sm);color:var(--text-main);font-size:.9rem}.pricing-cards{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.pricing-card{flex:1;min-width:280px;max-width:340px;padding:2rem 1.75rem;display:flex;flex-direction:column;position:relative;text-align:left}.pricing-card.popular{border-color:var(--primary-color)}.popular-badge{position:absolute;top:-11px;left:24px;background:var(--primary-color);color:#fff;padding:3px 12px;border-radius:999px;font-size:.75rem;font-weight:600}.plan-name{font-size:1.15rem;font-weight:600;margin-bottom:.75rem;color:var(--text-main)}.plan-price{margin-bottom:1rem;display:flex;align-items:baseline;gap:2px}.plan-price .currency{font-size:1.1rem;font-weight:600;color:var(--text-muted)}.plan-price .amount{font-size:2.4rem;font-weight:700;color:var(--text-main)}.plan-price .period{font-size:.9rem;color:var(--text-muted);margin-left:6px}.plan-desc{color:var(--text-muted);margin-bottom:1.5rem;line-height:1.5;min-height:3em;font-size:.925rem}.plan-features{list-style:none;padding:0;margin-bottom:1.75rem;flex-grow:1}.plan-features li{margin-bottom:.7rem;display:flex;align-items:center;gap:10px;font-size:.925rem;color:var(--text-main)}.plan-features .check{color:var(--success);flex-shrink:0}.plan-btn{width:100%;padding:11px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.pricing-note{margin-top:2rem;color:var(--text-faint);font-size:.825rem}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.pricing-cards{flex-direction:column;align-items:center}}
