.auth-page{min-height:100vh;display:grid;place-items:center;padding:16px 20px;background:radial-gradient(circle at top left,rgba(16,185,129,.12),transparent 28%),radial-gradient(circle at bottom right,rgba(56,189,248,.08),transparent 24%)}.auth-card{width:min(100%,1000px);display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,460px);background:linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-surface-elevated) 100%);border:1px solid var(--border-subtle);border-radius:28px;overflow:hidden;box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-hero{padding:48px 40px;background:radial-gradient(circle at top left,rgba(16,185,129,.18),transparent 30%),linear-gradient(160deg,var(--bg-surface) 0%,var(--bg-panel-strong-end) 100%);color:var(--text-primary);display:flex;flex-direction:column;justify-content:space-between;gap:28px}.auth-brand{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:8px 14px;border:1px solid var(--border-strong);border-radius:999px;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.auth-logo{width:140px;border:none;padding:0}.auth-hero h1,.auth-hero h2{margin:0 0 14px;font-size:clamp(2rem,4vw,3.4rem);line-height:.95}.auth-hero p{margin:0;max-width:36ch;color:var(--text-secondary);line-height:1.6}.auth-highlights{display:grid;gap:12px}.auth-highlight{padding:14px 16px;border-radius:16px;background:var(--bg-interactive-muted);border:1px solid var(--border-subtle);color:var(--text-secondary)}.auth-form-wrap{padding:40px 34px;display:flex;flex-direction:column;justify-content:center;color:var(--text-primary)}.auth-form-head{margin-bottom:22px}.auth-form-head h2,.auth-form-head h1{margin:0 0 8px;font-size:2rem}.auth-form-head p{margin:0;color:var(--text-muted);line-height:1.5}.auth-form{display:grid;gap:14px}.auth-field{display:grid;gap:8px}.auth-field label{font-size:14px;font-weight:600;color:var(--text-secondary)}.auth-field input{height:50px;padding:0 14px;font-size:15px}.auth-submit{margin:8px 0;height:52px;border:1px solid var(--accent-primary);border-radius:14px;background:var(--accent-primary);color:#06120d;font-size:15px;font-weight:700;cursor:pointer;transition:transform .2s ease,background .2s ease,opacity .2s ease}.auth-submit:hover:not(:disabled){background:var(--accent-primary-hover);transform:translateY(-1px)}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.auth-alt{margin:16px 0 0;color:var(--text-muted);font-size:14px;line-height:1.5}.auth-alt a{color:var(--text-primary);font-weight:700;text-decoration:none}.auth-alt a:hover{text-decoration:underline}.auth-actions{display:grid;gap:12px;align-items:start}.auth-actions .auth-submit{width:100%;margin:0}.auth-actions .auth-alt{margin-top:0}@media(max-width:860px){.auth-card{grid-template-columns:1fr}.auth-hero,.auth-form-wrap{padding:28px 22px}.auth-hero h1,.auth-hero h2{font-size:2.2rem}}.auth-password-wrap{position:relative;display:flex;align-items:center}.auth-password-wrap input{padding-right:60px}.auth-password-toggle{position:absolute;top:50%;right:12px;transform:translateY(-50%);width:38px;height:38px;border:none;border-radius:20px;background:transparent;display:flex;justify-content:center;align-items:center;place-items:center;cursor:pointer;transition:background .2s ease}.auth-password-toggle:hover{background:var(--bg-interactive-hover)}.eye-icon{width:28px;filter:var(--icon-filter)}.mini-calendar-card{width:100%;min-height:320px;padding:20px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:radial-gradient(circle at top right,rgba(56,189,248,.12),transparent 24%),radial-gradient(circle at bottom left,rgba(16,185,129,.1),transparent 24%),linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-panel-strong-end) 100%);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:18px;text-align:left;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.mini-calendar-card:hover{transform:translateY(-2px);border-color:var(--accent-primary);background:radial-gradient(circle at top right,rgba(56,189,248,.14),transparent 24%),radial-gradient(circle at bottom left,rgba(16,185,129,.12),transparent 24%),linear-gradient(180deg,var(--bg-surface-elevated) 0%,var(--bg-panel-strong-end) 100%)}.mini-calendar-head{display:grid;gap:8px}.mini-calendar-label{margin:0;font-size:13px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.mini-calendar-head h2{margin:0;font-size:1.6rem;line-height:1.1;color:var(--text-primary);text-transform:capitalize}.mini-calendar-text{margin:0;color:var(--text-secondary);line-height:1.5}.mini-calendar-weekdays,.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.mini-calendar-weekdays span{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--text-muted)}.mini-calendar-cell{position:relative;min-height:44px;border-radius:14px;border:1px solid transparent;background:var(--bg-interactive-muted);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.mini-calendar-cell.is-empty{background:transparent;border-color:transparent}.mini-calendar-day-number{font-size:14px;font-weight:600}.mini-calendar-cell.is-today{background:var(--accent-primary);color:#06120d;border-color:var(--accent-primary);box-shadow:0 0 0 1px #10b9812e}.mini-calendar-cell.has-task:not(.is-today){border-color:#10b98147;color:var(--text-primary)}.mini-calendar-dot{position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:6px;height:6px;border-radius:999px;background:var(--accent-primary)}.mini-calendar-cell.is-today .mini-calendar-dot{background:#06120d}@media(max-width:900px){.mini-calendar-card{min-height:auto}}.task-form{display:grid;gap:18px;padding:24px;background:linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-surface-elevated) 100%);border:1px solid var(--border-subtle);border-radius:20px;box-shadow:var(--shadow-elevated)}.task-form-head h3{margin:0 0 6px;font-size:22px;color:var(--text-primary)}.task-form-head p{margin:0;color:var(--text-muted);font-size:14px}.task-form-fields{display:grid;gap:12px}.task-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.task-form-input{padding:12px 14px;font-size:15px}.task-form-status-group{display:grid;gap:8px;width:100%}.task-form-status-label{font-size:14px;font-weight:600;color:var(--text-secondary)}.task-form-actions{display:flex;gap:10px;flex-wrap:wrap}.task-form-save,.task-form-cancel{min-height:46px;border-radius:var(--radius-button);padding:12px 16px;font-size:15px;cursor:pointer;border:1px solid transparent;transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.task-form-save{background:var(--accent-primary);color:#06120d;border-color:var(--accent-primary);font-weight:700}.task-form-cancel{background:var(--bg-surface-soft);color:var(--text-primary);border-color:var(--border-strong)}.task-form-save:hover,.task-form-cancel:hover{transform:translateY(-1px)}.task-form-save:hover{background:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}.task-form-cancel:hover{background:#26303d;border-color:var(--accent-primary)}@media(max-width:700px){.task-form-row{grid-template-columns:1fr}}.error{margin:0;padding:10px 12px;border:1px solid rgba(239,68,68,.36);border-radius:12px;background:var(--accent-danger-soft);color:#fecaca;font-size:14px}.task-title-wrap{position:relative}.task-title-input{width:100%;padding-right:76px}.task-title-counter{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:12px;pointer-events:none}.task-card{padding:14px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--bg-card-strong);transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.task-card-shell{display:flex;align-items:center;justify-content:space-between;gap:16px;width:max-content;min-width:100%}.task-card:hover{transform:translateY(-1px);border-color:var(--border-strong)}.task-card-info{flex:1;min-width:0}.task-card-center{display:flex;align-items:center;justify-content:center;gap:20px;min-width:240px}.task-card-title{margin:0 0 6px;font-size:20px;color:var(--text-primary)}.task-card-description{margin:0;font-size:14px;color:var(--text-secondary);overflow-wrap:anywhere;word-break:break-word;max-height:2.8em;line-height:1.4;overflow:hidden}.task-card-time{min-width:58px;padding:6px 10px;border-radius:var(--radius-pill);background:#38bdf81f;border:1px solid rgba(56,189,248,.24);font-size:13px;color:#bae6fd;text-align:center}.task-card-icon-image{width:18px;height:18px;object-fit:contain;filter:var(--icon-filter)}.task-card-status{min-width:90px;padding:6px 10px;border-radius:var(--radius-pill);font-size:13px;text-align:center;border:1px solid transparent}.task-card-status-concluida{background:var(--event-success-bg);border-color:var(--event-success-border);color:var(--event-success-text)}.task-card-status-pendente{background:var(--event-danger-bg);border-color:var(--event-danger-border);color:var(--event-danger-text)}.task-card-actions{display:flex;flex-direction:row;align-items:flex-end;justify-content:center;gap:12px;min-width:92px}.task-card-icon{width:40px;height:40px;border:1px solid var(--border-strong);border-radius:12px;background:var(--bg-interactive);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.task-card-icon:hover{transform:translateY(-1px);border-color:var(--accent-primary);background:var(--bg-interactive-hover)}.task-card-icon-placeholder{width:40px;height:40px;flex-shrink:0}@media(max-width:640px){.task-card-shell{min-width:540px}.task-card-center,.task-card-actions{flex-shrink:0}}.loading-state{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:radial-gradient(circle at top left,var(--accent-success-soft),transparent 44%),var(--bg-interactive-muted);border:1px solid var(--border-subtle);color:var(--text-secondary);box-shadow:var(--shadow-soft);margin-bottom:14px}.loading-state-spinner{width:16px;height:16px;border:2px solid var(--border-strong);border-top-color:var(--accent-primary);border-radius:50%;animation:loading-state-spin .8s linear infinite;flex-shrink:0}.loading-state-text{color:var(--text-secondary);line-height:1.4;font-weight:600}@keyframes loading-state-spin{to{transform:rotate(360deg)}}.confirm-dialog-overlay{position:fixed;inset:0;background:#080b0fb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1200}.confirm-dialog{width:min(100%,440px);border-radius:20px;background:linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-surface-elevated) 100%);border:1px solid var(--border-subtle);box-shadow:var(--shadow-elevated);padding:24px}.confirm-dialog-head{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.confirm-dialog-head h3{margin:0;font-size:24px;color:var(--text-primary)}.confirm-dialog-badge{display:inline-flex;align-self:flex-start;padding:6px 10px;border-radius:999px;border:1px solid transparent;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.confirm-dialog-badge-danger{background:var(--event-danger-bg);border-color:var(--event-danger-border);color:var(--event-danger-text)}.confirm-dialog-badge-warning{background:color-mix(in srgb,var(--accent-warning) 18%,var(--bg-surface));border-color:color-mix(in srgb,var(--accent-warning) 42%,var(--border-subtle));color:var(--text-primary)}.confirm-dialog-message{margin:0 0 20px;font-size:18px;line-height:1.6;color:var(--text-secondary)}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:12px}.confirm-dialog-cancel,.confirm-dialog-confirm{min-width:120px;padding:12px 16px;border-radius:12px;border:1px solid transparent;font-size:14px;font-weight:600;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.confirm-dialog-cancel{background:var(--bg-surface-soft);border-color:var(--border-strong);color:var(--text-primary)}.confirm-dialog-confirm-danger{background:var(--accent-danger);border-color:var(--accent-danger);color:#fff}.confirm-dialog-confirm-warning{background:var(--accent-warning);border-color:var(--accent-warning);color:#111827}.confirm-dialog-cancel:hover,.confirm-dialog-confirm:hover{transform:translateY(-1px)}.confirm-dialog-cancel:hover{background:var(--bg-interactive-hover);border-color:var(--accent-primary)}.confirm-dialog-cancel:disabled,.confirm-dialog-confirm:disabled{cursor:not-allowed;opacity:.7}@media(max-width:700px){.confirm-dialog{padding:20px;border-radius:16px}.confirm-dialog-actions{flex-direction:column-reverse}.confirm-dialog-cancel,.confirm-dialog-confirm{width:100%}}.bar-icons{width:22px;padding:0;margin:0;object-fit:contain;filter:var(--icon-filter)}.day-icons{width:18px;height:18px;object-fit:contain}.dashboard{max-width:1300px;margin:0 auto;padding:20px 20px 40px;min-height:100vh}.dashboard-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;margin-bottom:28px;background:linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-surface-elevated) 100%);border:1px solid var(--border-subtle);box-shadow:var(--shadow-soft);border-radius:18px}.dashboard-brand{font-weight:700;color:var(--text-primary)}.dashboard-brand-block{display:flex;align-items:center;gap:14px}.dashboard-brand strong{display:block;font-size:1.12rem;letter-spacing:.02em}.dashboard-brand p{margin:4px 0 0;color:var(--text-muted);font-size:14px;line-height:1.4}.dashboard-nav{display:flex;gap:12px}.dashboard-topbar button,.dashboard-logout{border:1px solid var(--border-strong);background:var(--bg-interactive);cursor:pointer;font:inherit;width:46px;height:46px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.dashboard-topbar button:hover,.dashboard-logout:hover{transform:translateY(-1px);background:var(--bg-interactive-hover);border-color:var(--accent-primary)}.dashboard-top{display:grid;grid-template-columns:minmax(0,760px) minmax(320px,1fr);gap:24px;margin-bottom:24px;align-items:start}.dashboard-bottom{display:grid;grid-template-columns:1fr 1fr;gap:24px}.dashboard-stack{display:grid;gap:8px;margin-bottom:24px}.dashboard-panel{padding:24px;margin-bottom:24px;background:linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-surface-elevated) 100%);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);box-shadow:var(--shadow-soft)}.dashboard-panel-today{width:100%;border:1px solid var(--border-strong);box-shadow:var(--shadow-elevated);background:radial-gradient(circle at top left,rgba(16,185,129,.12),transparent 30%),radial-gradient(circle at bottom right,rgba(56,189,248,.06),transparent 22%),linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-panel-strong-end) 100%)}.dashboard-head{margin-bottom:22px}.dashboard-head h1{font-size:clamp(2rem,4vw,3rem);line-height:.95;color:var(--text-primary)}.dashboard-head h1,.dashboard-head h2{margin:0;color:var(--text-primary)}.dashboard-head p{margin:0 0 8px;font-size:15px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.dashboard-progress,.dashboard-form{margin-bottom:24px}.dashboard-progress{display:flex;flex-direction:column;gap:16px;width:min(100%,580px)}.dashboard-progress-info{padding:18px;border-radius:var(--radius-card);background:var(--bg-interactive-muted);border:1px solid var(--border-subtle)}.dashboard-progress-text{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;color:var(--text-secondary)}.dashboard-progress-bar{width:100%;height:12px;background:var(--bg-track);border-radius:999px;overflow:hidden;border:1px solid var(--border-subtle)}.dashboard-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary) 0%,#3dd5a4 100%);border-radius:999px;transition:width .3s ease}.dashboard-add-task{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;min-height:48px;padding:0 18px;border:1px solid var(--accent-primary);border-radius:var(--radius-button);background:var(--accent-primary);color:#06120d;font-size:1rem;font-weight:700;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.dashboard-add-task:hover{transform:translateY(-1px);background:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}.dashboard-add-task span{font-size:18px;font-weight:700;line-height:1}.dashboard-task-list{display:grid;gap:14px;max-height:360px;overflow-y:auto;padding-top:4px;padding-right:6px}.dashboard-week{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.dashboard-day{display:flex;flex-direction:column;justify-content:flex-start;gap:8px;min-height:156px;padding:18px;background:var(--bg-card-strong);border:1px solid var(--border-subtle);border-radius:var(--radius-card);text-align:left;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.dashboard-day:hover{background:var(--bg-card-strong-hover);transform:translateY(-2px);box-shadow:var(--shadow-soft);border-color:var(--accent-primary)}.dashboard-day:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.dashboard-day-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2px}.dashboard-day-head span{font-size:13px;color:var(--text-muted);font-weight:700;text-transform:uppercase}.dashboard-day-head strong{font-size:1.6rem;color:var(--text-primary)}.dashboard-mini-task{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.dashboard-mini-empty{color:var(--text-muted);font-style:italic}.dashboard-notes-box{display:grid;align-content:start;gap:14px;padding:20px;background:var(--bg-card-strong);border:1px solid var(--border-subtle);border-radius:var(--radius-card);color:var(--text-secondary);line-height:1.6}.dashboard-notes-lead,.dashboard-notes-subtext{margin:0}.dashboard-notes-lead{color:var(--text-primary)}.dashboard-notes-subtext{max-width:58ch;color:var(--text-muted)}.dashboard-panel-wide .dashboard-notes-subtext{max-width:none}.dashboard-all-tasks{display:grid;gap:20px}.dashboard-group{display:grid;gap:12px}.dashboard-group-title{margin:0}.dashboard-footer{padding:18px;text-align:center;background:linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-surface-elevated) 100%);border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:18px;letter-spacing:.03em}@media(max-width:900px){.dashboard-top,.dashboard-bottom,.dashboard-week{grid-template-columns:1fr}.dashboard-stack{gap:0}.dashboard-topbar{flex-direction:column;align-items:stretch}.dashboard-nav,.dashboard-topbar button,.dashboard-logout{width:100%}.dashboard-nav button{flex:1}.dashboard-progress{width:100%}.dashboard-panel{padding:24px}}.calendar-page{max-width:1300px;margin:0 auto;padding:20px;min-height:100vh}.calendar-hero{margin-bottom:24px;padding:28px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:radial-gradient(circle at top right,rgba(56,189,248,.12),transparent 24%),radial-gradient(circle at top left,rgba(16,185,129,.12),transparent 24%),linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-panel-strong-end) 100%);box-shadow:var(--shadow-elevated)}.calendar-hero-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px}.calendar-hero-content{max-width:720px}.calendar-hero-label{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.calendar-hero-title{margin:0 0 12px;font-size:clamp(2.3rem,4vw,3.6rem);line-height:.95;color:var(--text-primary)}.calendar-hero-text{margin:0;color:var(--text-secondary);line-height:1.6;max-width:58ch}.calendar-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;padding:10px 16px;background:var(--bg-interactive);border:1px solid var(--border-subtle);border-radius:var(--radius-card)}.calendar-toolbar-group{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;min-width:0}.calendar-toolbar label{font-size:14px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.calendar-toolbar select{min-width:0;width:100%;height:40px;padding:0 12px;border-radius:12px}.calendar-shell{padding:20px;background:linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-surface-elevated) 100%);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);box-shadow:var(--shadow-soft)}.evento-concluida{background:var(--event-success-bg);border-color:var(--event-success-border);color:var(--event-success-text)}.evento-pendente{background:var(--event-danger-bg);border-color:var(--event-danger-border);color:var(--event-danger-text)}.evento-concluida .fc-event-main,.evento-pendente .fc-event-main{color:inherit;font-weight:600}.calendar-page .loading-state,.calendar-page .dashboard-empty-state,.calendar-page .dashboard-feedback{margin-bottom:18px}.fc-daygrid-day{cursor:pointer}.calendar-page .day-back{min-height:46px;border:1px solid var(--border-strong);border-radius:var(--radius-button);background:var(--bg-surface-soft);padding:0 16px;color:var(--text-primary);font-weight:600}.calendar-page .day-back:hover{background:var(--bg-interactive-hover);border-color:var(--accent-primary)}.calendar-page .fc{--fc-border-color: var(--border-subtle);--fc-page-bg-color: transparent;--fc-neutral-bg-color: var(--bg-interactive-muted);--fc-list-event-hover-bg-color: var(--bg-interactive-hover);color:var(--text-secondary)}.calendar-page .fc-toolbar{margin-bottom:20px;gap:12px}.calendar-page .fc-toolbar-chunk{display:flex;align-items:center;gap:10px}.calendar-page .fc .fc-button{min-height:40px;padding:0 14px;border-radius:12px;border:1px solid var(--border-strong);background:var(--bg-surface-soft);color:var(--text-primary);box-shadow:none;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.calendar-page .fc .fc-button:hover{background:var(--bg-interactive-hover);border-color:var(--accent-primary);transform:translateY(-1px)}.calendar-page .fc .fc-button:focus{box-shadow:none}.calendar-page .fc .fc-button-primary:not(:disabled).fc-button-active,.calendar-page .fc .fc-button-primary:not(:disabled):active{background:var(--accent-primary);border-color:var(--accent-primary);color:#06120d}.calendar-page .fc-toolbar-title{color:var(--text-primary);font-size:clamp(1.4rem,2vw,2rem);font-weight:700;letter-spacing:-.02em}.calendar-page .fc-col-header-cell{background:var(--bg-interactive-muted)}.calendar-page .fc-col-header-cell-cushion,.calendar-page .fc-daygrid-day-number{color:var(--text-secondary);text-decoration:none}.calendar-page .fc-daygrid-day.fc-day-today{background:#10b9810f}.calendar-page .fc-daygrid-day.fc-day-today .fc-daygrid-day-number{background:var(--accent-primary);color:#06120d;font-weight:700}.calendar-page .fc-daygrid-event{border-radius:10px;padding:1px 6px;box-shadow:none}.fc .fc-daygrid-body-natural .fc-daygrid-day-events{margin-bottom:4px}.calendar-page .fc-daygrid-day-frame{min-height:90px;padding:6px;transition:background var(--transition-fast)}.fc-day:hover{background:var(--bg-interactive-muted)}.calendar-page .fc-daygrid-day-number{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:10px;font-weight:600;transition:background var(--transition-fast),color var(--transition-fast)}.calendar-page .fc-daygrid-day:hover .fc-daygrid-day-number{background:#38bdf81f;color:var(--text-primary)}.calendar-page .fc-theme-standard td,.calendar-page .fc-theme-standard th{border-color:var(--border-subtle)}@media(max-width:900px){.calendar-page{padding:16px}.calendar-hero-top{flex-direction:column;align-items:stretch}.calendar-toolbar{grid-template-columns:1fr;justify-content:stretch}.calendar-toolbar-group{grid-template-columns:1fr;align-items:stretch}.calendar-toolbar label{margin-bottom:4px}.calendar-toolbar select{width:100%}.calendar-page .day-back{width:100%;justify-content:center}.calendar-shell{padding:14px}.calendar-page .fc-toolbar{flex-direction:column;align-items:stretch}.calendar-page .fc-toolbar-chunk{justify-content:center;flex-wrap:wrap}}.day-page{max-width:1200px;margin:0 auto;padding:20px;min-height:100vh}.day-hero{margin-bottom:28px;padding:32px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:radial-gradient(circle at top left,rgba(16,185,129,.14),transparent 28%),radial-gradient(circle at bottom right,rgba(56,189,248,.08),transparent 24%),linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-panel-strong-end) 100%);box-shadow:var(--shadow-elevated)}.day-hero-content{max-width:700px}.day-hero-label{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.day-hero-title{margin:0 0 12px;font-size:clamp(2.4rem,4vw,3.8rem);line-height:.95;color:var(--text-primary)}.day-hero-text{margin:0;max-width:56ch;color:var(--text-secondary);line-height:1.6}.day-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.day-nav{display:flex;gap:10px;flex-wrap:wrap}.day-page .dashboard-task-list{max-height:none}.day-back,.day-nav button{min-height:46px;border:1px solid var(--border-strong);border-radius:var(--radius-button);background:var(--bg-surface-soft);padding:0 16px;font-weight:600;color:var(--text-primary);transition:background var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:.95rem}.day-nav button{min-width:164px}.day-back:hover,.day-nav button:hover{background:var(--bg-interactive-hover);border-color:var(--accent-primary);transform:translateY(-1px)}.day-back:focus,.day-nav button:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.day-back{display:flex;justify-content:flex-start}.icons{width:18px;height:18px;margin:0;object-fit:contain;filter:var(--icon-filter)}.task-modal-overlay{position:fixed;inset:0;background:#080b0fb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.task-modal{width:min(100%,560px)}@media(max-width:900px){.day-page{padding:16px}.day-topbar{flex-direction:column;align-items:stretch}.day-nav,.day-nav button,.day-back{width:100%}.day-hero,.day-page .dashboard-panel-today{padding:24px}.day-page .dashboard-progress{width:100%}}.profile-page{max-width:var(--max-layout-width);min-height:100vh;margin:50px auto;padding:20px}.profile-shell{width:100%;display:flex;justify-content:center;align-items:center;margin-bottom:12px}.profile-feedback-area{width:100%}.profile-feedback-area .dashboard-feedback{margin:0}.profile-layout{display:grid;grid-template-columns:minmax(280px,400px) minmax(0,1fr);gap:24px;align-items:start;width:100%}.profile-sidebar,.profile-card{background:linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-surface-elevated) 100%);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);box-shadow:var(--shadow-soft)}.profile-sidebar{padding:20px;display:grid;gap:12px;min-width:0;overflow:hidden}.profile-card{min-width:0}.profile-summary{display:flex;align-items:center;gap:14px;padding:14px;margin-bottom:8px;border-radius:var(--radius-card);background:var(--bg-interactive-muted);border:1px solid var(--border-subtle);min-width:0;overflow:hidden}.profile-avatar{width:54px;height:54px;flex:0 0 54px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent-primary),var(--accent-info));color:#06120d;font-size:1.4rem;font-weight:800}.profile-summary strong,.profile-summary span{display:block}.profile-summary>div{min-width:0}.profile-summary strong{color:var(--text-primary);font-size:1rem;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-summary span{color:var(--text-muted);font-size:.86rem;overflow-wrap:anywhere}.profile-menu-item{width:100%;min-width:0;min-height:48px;padding:0 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-button);background:var(--bg-interactive-muted);color:var(--text-secondary);text-align:left;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.profile-menu-item:hover{transform:translateY(-1px);background:var(--bg-interactive-hover);border-color:var(--accent-primary);color:var(--text-primary)}.profile-menu-item.active{background:var(--accent-success-soft);border-color:#10b98161;color:var(--text-primary)}.profile-card{padding:28px}.profile-card-header{display:flex;justify-content:space-between;gap:16px;margin-bottom:28px}.profile-card-header h1{margin:0 0 8px;color:var(--text-primary);font-size:clamp(1.8rem,3vw,2.6rem);line-height:1}.profile-card-header p{margin:0;color:var(--text-muted);line-height:1.5}.profile-info-list{display:grid;gap:0;width:100%;min-width:0;border:1px solid var(--border-subtle);border-radius:var(--radius-card);overflow:hidden}.profile-info-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;background:var(--bg-interactive-muted);border-bottom:1px solid var(--border-subtle);min-width:0}.profile-info-content{min-width:0;display:grid;gap:8px}.profile-edit-button{width:42px;height:42px;flex:0 0 42px;border:1px solid var(--border-strong);border-radius:12px;background:var(--bg-interactive);display:inline-flex;align-items:center;justify-content:center;transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.profile-voltar{min-height:46px;border:1px solid var(--border-strong);border-radius:var(--radius-button);background:var(--bg-surface-soft);padding:0 16px;font-weight:600;color:var(--text-primary);transition:background var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:.95rem;margin-bottom:8px}.profile-voltar:hover{background:var(--bg-interactive-hover);border-color:var(--accent-primary);transform:translateY(-1px)}.profile-voltar:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.profile-edit-button:hover{transform:translateY(-1px);background:var(--bg-interactive-hover);border-color:var(--accent-primary)}.profile-edit-button img{width:18px;height:18px;object-fit:contain;filter:var(--icon-filter)}.profile-info-row:last-child{border-bottom:0}.profile-info-row span{color:var(--text-muted)}.profile-info-row strong{color:var(--text-primary);font-weight:700;text-align:left;overflow-wrap:anywhere}.profile-edit-form{display:grid;gap:14px}.profile-edit-form input{min-height:44px;padding:0 14px}.profile-password-field{position:relative}.profile-password-field input{padding-right:52px}.profile-password-toggle{position:absolute;top:50%;right:10px;width:34px;height:34px;transform:translateY(-50%);border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center}.profile-password-toggle:hover{opacity:.82}.profile-password-toggle img{width:22px;height:22px;object-fit:contain;filter:var(--icon-filter);opacity:.85}.profile-edit-actions{display:flex;gap:10px;flex-wrap:wrap}.theme{display:flex;justify-content:space-between;align-items:center;padding:0 12px;background:var(--bg-interactive-muted)}.theme .profile-info-row{flex:1;min-width:0;padding:18px 0;background:transparent;border-bottom:0}.theme-switch{width:78px;height:42px;flex:0 0 78px;padding:4px;border:1px solid var(--border-strong);border-radius:999px;background:var(--bg-interactive);display:flex;align-items:center;justify-content:flex-start;transition:background var(--transition-fast),border-color var(--transition-fast)}.theme-switch-light{background:var(--bg-interactive);justify-content:flex-end}.theme-switch-thumb{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--bg-surface);color:var(--text-primary);box-shadow:0 6px 14px #00000047;font-size:18px;line-height:1;font-size:0;transition:transform var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.theme-switch-thumb:before{content:"☾";font-size:18px}.theme-switch-light .theme-switch-thumb:before{content:"☀"}.theme-switch:hover{border-color:var(--accent-primary)}.theme{gap:18px;padding:0 18px}.theme-switch-thumb{box-shadow:0 6px 14px #00000038}.theme-switch-thumb:before,.theme-switch-light .theme-switch-thumb:before{content:none}.theme-switch-thumb img{width:18px;height:18px;object-fit:contain;display:block}@media(max-width:900px){.profile-layout{grid-template-columns:1fr}.profile-card{padding:22px}.profile-info-row{flex-direction:column;gap:6px}.profile-info-row strong{text-align:left}}:root{--bg-app: #0f1115;--bg-app-alt: #141820;--bg-surface: #171b22;--bg-surface-elevated: #1d232c;--bg-surface-soft: #222936;--bg-panel-strong-end: #11161d;--bg-interactive: rgba(34, 41, 54, .82);--bg-interactive-muted: rgba(34, 41, 54, .72);--bg-interactive-hover: #26303d;--bg-card-strong: linear-gradient(180deg, rgba(34, 41, 54, .9) 0%, rgba(22, 27, 34, .96) 100%);--bg-card-strong-hover: linear-gradient(180deg, rgba(42, 52, 66, .96) 0%, rgba(24, 31, 40, .98) 100%);--bg-track: #0d1218;--icon-filter: brightness(0) invert(1);--text-primary: #f3f5f7;--text-secondary: #c7ced6;--text-muted: #8f99a6;--border-subtle: #2b3442;--border-strong: #3a4657;--accent-primary: #10b981;--accent-primary-hover: #0ea371;--accent-info: #38bdf8;--accent-warning: #f59e0b;--accent-danger: #ef4444;--accent-success-soft: rgba(16, 185, 129, .14);--accent-danger-soft: rgba(239, 68, 68, .14);--accent-info-soft: rgba(56, 189, 248, .14);--event-success-bg: rgba(16, 185, 129, .16);--event-success-border: rgba(16, 185, 129, .4);--event-success-text: #bbf7d0;--event-danger-bg: rgba(239, 68, 68, .16);--event-danger-border: rgba(239, 68, 68, .4);--event-danger-text: #fecaca;--shadow-soft: 0 12px 32px rgba(0, 0, 0, .22);--shadow-elevated: 0 20px 48px rgba(0, 0, 0, .28);--radius-panel: 24px;--radius-card: 18px;--radius-input: 14px;--radius-button: 14px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--max-layout-width: 1300px;--transition-fast: .2s ease}:root[data-theme=light]{--bg-app: #f4f6f8;--bg-app-alt: #e9eef3;--bg-surface: #ffffff;--bg-surface-elevated: #f8fafc;--bg-surface-soft: #edf2f7;--bg-panel-strong-end: #f8fafc;--bg-interactive: #eef3f8;--bg-interactive-muted: #f1f5f9;--bg-interactive-hover: #e2e8f0;--bg-card-strong: linear-gradient(180deg, #ffffff 0%, #f1f5f9 100%);--bg-card-strong-hover: linear-gradient(180deg, #f8fafc 0%, #e8eef6 100%);--bg-track: #e2e8f0;--icon-filter: none;--text-primary: #111827;--text-secondary: #334155;--text-muted: #64748b;--border-subtle: #d8e0ea;--border-strong: #c5d0dd;--event-success-bg: #bbf7d0;--event-success-border: #34d399;--event-success-text: #065f46;--event-danger-bg: #fecaca;--event-danger-border: #f87171;--event-danger-text: #991b1b;--shadow-soft: 0 12px 32px rgba(15, 23, 42, .12);--shadow-elevated: 0 20px 48px rgba(15, 23, 42, .16)}*{box-sizing:border-box}html{color-scheme:dark}:root[data-theme=light]{color-scheme:light}body{margin:0;min-width:320px;background:radial-gradient(circle at top left,rgba(16,185,129,.08),transparent 20%),radial-gradient(circle at top right,rgba(56,189,248,.06),transparent 22%),linear-gradient(180deg,var(--bg-app) 0%,var(--bg-app-alt) 100%);color:var(--text-primary);font-family:Arial,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}input,select,textarea{width:100%;border:1px solid var(--border-subtle);border-radius:var(--radius-input);background:var(--bg-surface-soft);color:var(--text-primary);transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}input:focus,select:focus,textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 4px #10b9811f}.page-shell{max-width:var(--max-layout-width);margin:0 auto}.page-panel{background:linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-surface-elevated) 100%);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);box-shadow:var(--shadow-soft)}.page-hero{padding:28px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:radial-gradient(circle at top left,rgba(16,185,129,.14),transparent 28%),linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-panel-strong-end) 100%);box-shadow:var(--shadow-elevated)}.page-eyebrow{margin:0 0 var(--space-2);font-size:.82rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.page-title{margin:0;font-size:clamp(2.4rem,4vw,3.8rem);line-height:.95;color:var(--text-primary)}.page-text{margin:0;color:var(--text-secondary);line-height:1.6}.btn-secondary,.btn-primary,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 16px;border-radius:var(--radius-button);border:1px solid transparent;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}.btn-secondary{background:var(--bg-surface-soft);border-color:var(--border-strong);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){transform:translateY(-1px);background:var(--bg-interactive-hover);border-color:var(--accent-primary)}.btn-primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#06120d;font-weight:700}.btn-primary:hover:not(:disabled){transform:translateY(-1px);background:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}.btn-danger{background:var(--accent-danger);border-color:var(--accent-danger);color:#fff;font-weight:700}.feedback,.dashboard-feedback,.auth-feedback{margin:0 0 var(--space-4);padding:12px 14px;border-radius:var(--radius-input);border:1px solid var(--border-subtle);font-size:.92rem;line-height:1.5}.feedback-error,.dashboard-feedback-error,.auth-feedback-error{background:var(--event-danger-bg);border-color:var(--event-danger-border);color:var(--event-danger-text);font-weight:700}.feedback-success,.dashboard-feedback-success{background:var(--event-success-bg);border-color:var(--event-success-border);color:var(--event-success-text);font-weight:700}.empty-state,.dashboard-empty-state{padding:24px 18px;border:1px;border-radius:var(--radius-card);background:var(--bg-interactive-muted);text-align:center;margin-bottom:16px}.empty-title,.dashboard-empty-title{margin:0 0 var(--space-2);font-size:1rem;font-weight:700;color:var(--text-primary)}.empty-message,.dashboard-empty-message{margin:0;color:var(--text-muted);line-height:1.5}
