:root {
    --bg: #EAF2FF;
    --surface: #FFFFFF;
    --text: #07134D;
    --muted: #52618C;
    --primary: #0E5BFF;
    --primary-dark: #07134D;
    --cyan: #00D6FF;
    --high: #DC2626;
    --medium: #F59E0B;
    --low: #16A34A;
}

*, *::before, *::after { box-sizing: border-box; }

html { overflow-x: hidden; }

body {
    background: var(--bg);
    color: var(--text);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    overflow-x: hidden;
}

a { color: var(--primary); }

::selection { background: rgba(0, 214, 255, 0.3); }

.logo {
    height: 56px;
    width: auto;
    object-fit: contain;
}

.logo-lg {
    max-width: min(360px, 85vw);
    height: auto;
}

.navbar, .app-surface, .auth-panel, .task-card, .summary-card {
    background: var(--surface);
    box-shadow: 0 10px 30px rgba(36, 49, 63, 0.08);
}

.brand-tagline { color: var(--muted); font-weight: 650; }

/* Authentication experience */
.auth-page { margin: 0; background: #fff; }
.auth-layout { min-height: 100svh; display: grid; grid-template-columns: minmax(420px, 46%) 1fr; }
.auth-showcase { position: relative; isolation: isolate; display: flex; flex-direction: column; min-height: 100svh; padding: clamp(32px, 5vw, 72px); overflow: hidden; color: #fff; background: linear-gradient(145deg, #07134d 0%, #0b2e8a 52%, #087fdd 100%); }
.auth-showcase::before { content: ""; position: absolute; z-index: -1; width: 34rem; height: 34rem; right: -16rem; top: -10rem; border-radius: 50%; background: rgba(0, 214, 255, .28); filter: blur(2px); }
.auth-showcase::after { content: ""; position: absolute; z-index: -1; width: 24rem; height: 24rem; left: -10rem; bottom: -12rem; border-radius: 42%; transform: rotate(28deg); background: rgba(14, 91, 255, .65); }
.auth-showcase-register { background: linear-gradient(145deg, #07134d 0%, #0e5bff 68%, #00a9dd 100%); }
.auth-brand { display: inline-flex; align-self: flex-start; padding: 10px 14px; border-radius: 16px; background: rgba(255,255,255,.94); box-shadow: 0 16px 40px rgba(0,0,0,.14); }
.auth-brand-logo { width: min(270px, 62vw); height: 58px; object-fit: contain; }
.auth-showcase-content { max-width: 620px; margin: auto 0; padding: 70px 0 42px; }
.auth-kicker { display: inline-flex; align-items: center; color: #0870d8; font-size: .78rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.auth-showcase .auth-kicker { color: #00d6ff; }
.auth-showcase h1 { max-width: 610px; margin: 16px 0 20px; font-size: clamp(2.55rem, 4.8vw, 5.1rem); line-height: .98; font-weight: 850; letter-spacing: -.045em; }
.auth-showcase-content > p { max-width: 560px; color: rgba(255,255,255,.78); font-size: 1.08rem; line-height: 1.7; }
.auth-benefits { display: grid; gap: 13px; margin: 30px 0 0; padding: 0; list-style: none; }
.auth-benefits li { display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.92); font-weight: 700; }
.auth-benefits li span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; color: #07134d; background: #00d6ff; font-size: .8rem; }
.auth-day-card { width: min(100%, 440px); padding: 20px; border: 1px solid rgba(255,255,255,.18); border-radius: 20px; background: rgba(255,255,255,.1); backdrop-filter: blur(18px); box-shadow: 0 24px 54px rgba(0,0,0,.14); }
.auth-day-card > div:first-child { display: flex; justify-content: space-between; gap: 20px; }
.auth-day-card span, .auth-day-card small { color: rgba(255,255,255,.7); }
.auth-progress { height: 7px; margin: 14px 0 10px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.18); }
.auth-progress span { display: block; width: 52%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #0e5bff, #00d6ff); }
.auth-progress span.wide { width: 76%; }
.auth-form-side { display: grid; place-items: center; padding: 42px clamp(24px, 7vw, 100px); background: radial-gradient(circle at 100% 0%, rgba(0,214,255,.1), transparent 28%), #fff; }
.auth-form-wrap { width: min(100%, 520px); }
.auth-form-register { width: min(100%, 700px); }
.auth-back { display: inline-block; margin-bottom: clamp(44px, 8vh, 90px); color: var(--muted); font-size: .92rem; font-weight: 700; text-decoration: none; }
.auth-back:hover { color: var(--primary); }
.auth-mobile-brand { display: none; }
.auth-heading { margin-bottom: 30px; }
.auth-heading h2 { margin: 9px 0 8px; color: var(--text); font-size: clamp(2rem, 3vw, 2.7rem); font-weight: 850; letter-spacing: -.035em; }
.auth-heading p { margin: 0; color: var(--muted); }
.auth-field { margin-bottom: 18px; }
.auth-field label { display: block; margin-bottom: 8px; color: var(--text); font-size: .9rem; font-weight: 800; }
.label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.label-row a{margin-bottom:8px;font-size:.78rem;font-weight:800;text-decoration:none}.legal-consent{margin:4px 0 14px;color:var(--muted);font-size:.76rem;line-height:1.5}.legal-consent a{font-weight:800}
.auth-input-wrap { display: flex; align-items: center; min-height: 56px; border: 1px solid #d8e2f4; border-radius: 14px; background: #f8fbff; transition: border-color .2s, box-shadow .2s, background .2s; }
.auth-input-wrap:focus-within { border-color: var(--primary); background: #fff; box-shadow: 0 0 0 4px rgba(14,91,255,.1); }
.auth-input-wrap > span { width: 48px; color: #7182ab; text-align: center; font-weight: 850; }
.auth-input-wrap input { min-width: 0; flex: 1; height: 54px; padding: 0 14px 0 0; border: 0; outline: 0; color: var(--text); background: transparent; font: inherit; }
.auth-input-wrap input::placeholder { color: #93a0bc; }
.password-toggle { align-self: stretch; padding: 0 15px; border: 0; color: var(--primary); background: transparent; font-size: .8rem; font-weight: 850; }
.auth-fields-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.auth-submit { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 56px; margin-top: 8px; padding-inline: 22px; border-radius: 14px; }
.auth-switch { margin: 24px 0 8px; text-align: center; color: var(--muted); }
.auth-switch a { font-weight: 850; text-decoration: none; }
.auth-note { margin: 0; color: #8290ad; font-size: .78rem; text-align: center; }
.field-error { display: block; min-height: 18px; margin-top: 5px; color: #b42318; font-size: .76rem; }
.auth-field.is-invalid .auth-input-wrap, .auth-input-wrap.is-invalid { border-color: #dc2626; box-shadow: 0 0 0 3px rgba(220,38,38,.08); }

/* Dashboard */
.dashboard-page { background: linear-gradient(180deg,#f5f9ff,#eaf2ff); min-height: 100vh; }
.app-navbar { position: sticky; top: 0; z-index: 1020; border-bottom: 1px solid rgba(7,19,77,.07); background: rgba(255,255,255,.92); backdrop-filter: blur(18px); }
.app-navbar-inner { display: flex; align-items: center; justify-content: space-between; min-height: 76px; }
.app-user { display: flex; align-items: center; gap: 10px; color: var(--text); font-weight: 750; }
.app-user img { border-radius: 12px; }
.app-logout { min-height: 44px; border-color: #d8e2f4; border-radius: 12px; }
.dashboard-main { max-width: 1240px; }
.dashboard-hero { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 42px 0 26px; }
.dashboard-eyebrow { color: var(--primary); font-size: .78rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.dashboard-hero h1 { margin: 6px 0; font-size: clamp(2rem,4vw,3.35rem); font-weight: 850; letter-spacing: -.045em; }
.dashboard-hero p { margin: 0; color: var(--muted); text-transform: capitalize; }
.new-task-button { min-height: 52px; padding-inline: 22px; border-radius: 14px; }
.new-task-button span { font-size: 1.35rem; }
.summary-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.summary-card { display: flex; align-items: center; gap: 15px; min-height: 122px; padding: 20px; border: 1px solid rgba(7,19,77,.06); border-radius: 18px; box-shadow: 0 12px 30px rgba(7,19,77,.07); }
.summary-card p { margin: 0 0 4px; color: var(--muted); font-size: .88rem; }
.summary-card strong { color: var(--text); font-size: 2rem; line-height: 1; }
.summary-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; font-size: 1.25rem; font-weight: 900; }
.summary-today .summary-icon { color:#0e5bff;background:#e7efff }.summary-urgent .summary-icon { color:#b42318;background:#feeceb }.summary-done .summary-icon { color:#067647;background:#e8f8ef }.summary-late .summary-icon { color:#b54708;background:#fff1df }
.daily-progress-card { margin: 16px 0; padding: 18px 22px; border: 1px solid rgba(7,19,77,.06); border-radius: 16px; background: #fff; box-shadow: 0 10px 26px rgba(7,19,77,.05); }
.daily-progress-card > div:first-child { display:flex;justify-content:space-between;gap:15px;margin-bottom:10px;color:var(--muted);font-size:.85rem }.daily-progress-card strong{color:var(--text)}
.dashboard-progress { height: 9px; overflow:hidden; border-radius:99px; background:#e6edf8 }.dashboard-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0e5bff,#00bfe9);transition:width .4s ease}
.overdue-notice[hidden] { display: none !important; }
.overdue-notice { display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0;padding:14px 18px;border:1px solid #fed7aa;border-radius:15px;background:#fff7ed;color:#9a3412 }.overdue-notice>div{display:flex;align-items:center;gap:10px}.notice-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#fb923c;color:#fff;font-weight:900}.overdue-notice .btn{min-height:44px;color:#9a3412;font-weight:800}
.task-workspace { padding: 24px; border: 1px solid rgba(7,19,77,.06); border-radius: 20px; background:#fff; box-shadow:0 18px 42px rgba(7,19,77,.07) }
.workspace-toolbar { display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px }.workspace-count{color:var(--muted);font-size:.85rem;font-weight:700}
.workspace-tools{display:flex;align-items:center;gap:12px}.view-toggle{min-height:42px;padding:0 13px;border:1px solid #d8e2f4;border-radius:11px;color:var(--text);background:#fff;font-weight:800}.list-filter-row{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;border:1px solid #e2e9f5;border-radius:14px;background:#fbfdff}.list-filter-row label{font-size:.8rem;font-weight:850}.list-filter-row .form-select{width:min(280px,100%);min-height:44px;border-color:#d8e2f4;border-radius:11px}.list-filter-row .btn{min-height:44px;margin-left:auto;border-radius:11px}
.filter-bar { display:flex;flex-wrap:wrap;gap:7px;padding:5px;border-radius:14px;background:#f1f5fb }.filter-chip{min-height:44px;padding:0 17px;border:0;border-radius:11px;color:var(--muted);background:transparent;font-weight:800}.filter-chip.active{color:#fff;background:linear-gradient(135deg,#0e5bff,#0096ff);box-shadow:0 7px 16px rgba(14,91,255,.2)}
.advanced-filters { display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:20px;padding:16px;border-radius:15px;background:#f7faff }.advanced-filters[hidden]{display:none}.advanced-filters label>span{display:block;margin-bottom:6px;font-size:.78rem;font-weight:800}.advanced-filters .form-control,.advanced-filters .form-select{min-height:46px;border-color:#d8e2f4;border-radius:11px}
.task-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px }.task-grid>.col-12{grid-column:1/-1}
.task-grid.task-grid-compact{grid-template-columns:1fr}.task-grid-compact .task-card{min-height:0}.task-grid-compact .task-checklist{max-width:620px}
.task-card { position:relative;display:flex;flex-direction:column;min-height:250px;padding:20px;border:1px solid #e2e9f5;border-left:0;border-radius:17px;overflow:hidden;box-shadow:0 9px 24px rgba(7,19,77,.06) }.task-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--medium)}.task-card.priority-alta::before{background:var(--high)}.task-card.priority-baixa::before{background:var(--low)}.task-card h2{margin:12px 0 8px;font-size:1.08rem;font-weight:850}.task-card.is-complete{opacity:.72}.task-card.is-complete h2{text-decoration:line-through}.task-meta{display:flex;flex-wrap:wrap;gap:12px;margin:auto 0 16px;color:var(--muted);font-size:.8rem;font-weight:700}.task-actions{display:flex;align-items:center;gap:8px}.task-actions .btn{min-height:42px;border-radius:10px}.task-delete{margin-left:auto;color:#b42318;background:#fff0ef}.task-delete:hover{color:#fff;background:#dc2626}
.task-list-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;margin-top:9px;padding:5px 9px;border-radius:999px;color:var(--list-color);background:color-mix(in srgb,var(--list-color) 11%,white);font-size:.72rem;font-weight:850}.task-checklist{display:grid;gap:7px;margin:5px 0 16px;padding:12px;border-radius:12px;background:#f7faff}.task-checklist label{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:.8rem}.task-checklist input{width:17px;height:17px;margin-top:1px;accent-color:var(--primary)}.task-checklist input:checked+span{text-decoration:line-through;opacity:.65}.checklist-progress{position:relative;overflow:hidden;margin-bottom:3px;padding-bottom:7px;border-bottom:4px solid #dce6f5;color:var(--muted);font-size:.7rem;font-weight:800}.checklist-progress i{position:absolute;left:0;bottom:-4px;height:4px;background:linear-gradient(90deg,#0e5bff,#00d6ff)}
.empty-state { grid-column:1/-1;padding:54px 20px;border:0;border-radius:17px;background:linear-gradient(180deg,#f8fbff,#eef5ff) }.empty-state img{margin-bottom:12px;border-radius:24px}.empty-state h2{font-size:1.35rem;font-weight:850}.empty-state p{color:var(--muted)}
.task-skeleton{min-height:250px;padding:22px;border-radius:17px;background:#f5f8fc;overflow:hidden}.task-skeleton span{display:block;height:15px;margin-bottom:18px;border-radius:8px;background:linear-gradient(90deg,#e8edf5 25%,#f7f9fc 50%,#e8edf5 75%);background-size:200% 100%;animation:skeleton 1.2s infinite}.task-skeleton span:nth-child(2){width:70%;height:24px}.task-skeleton span:nth-child(3){width:48%}@keyframes skeleton{to{background-position:-200% 0}}
.task-modal,.delete-modal{border:0;border-radius:20px;box-shadow:0 30px 80px rgba(7,19,77,.2)}.task-modal .modal-header{padding:22px 24px;border:0}.task-modal .modal-body{padding:0 24px 8px}.task-modal .modal-footer{padding:18px 24px 24px;border:0}.modal-kicker{color:var(--primary);font-size:.7rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.task-modal .modal-title{font-size:1.45rem;font-weight:850}.form-field{margin-bottom:14px}.form-field label{display:block;margin-bottom:6px;font-size:.82rem;font-weight:800}.form-field label span{color:var(--muted);font-weight:500}.form-field .form-control,.form-field .form-select{min-height:48px;border-color:#d8e2f4;border-radius:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.task-modal-dialog{width:calc(100% - 32px);max-width:780px}
.task-modal .modal-body{max-height:calc(100vh - 210px);overflow-y:auto}.checklist-editor{display:grid;gap:8px}.checklist-editor-item{display:grid;grid-template-columns:22px 1fr 38px;align-items:center;gap:7px}.checklist-editor-item>input[type="checkbox"]{width:18px;height:18px;accent-color:var(--primary)}.checklist-editor-item .form-control{min-height:44px}.checklist-editor-item button,.add-checklist-item{border:0;color:var(--primary);background:transparent;font-weight:850}.checklist-editor-item button{font-size:1.4rem}.add-checklist-item{min-height:40px;padding:5px 0;text-align:left}.form-control-color{width:100%!important;padding:7px!important}
.delete-modal{padding:28px;text-align:center}.delete-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 15px;border-radius:18px;color:#b42318;background:#feeceb;font-size:2rem}.delete-modal h2{font-size:1.4rem;font-weight:850}.delete-modal p{color:var(--muted)}.delete-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.delete-actions .btn{min-height:46px;border-radius:12px}
.toast-region{position:fixed;z-index:2000;right:20px;bottom:20px;display:grid;gap:10px}.app-toast{display:flex;align-items:center;gap:10px;min-width:280px;max-width:380px;padding:14px 16px;border-radius:14px;color:#fff;background:#07134d;box-shadow:0 18px 44px rgba(7,19,77,.24);animation:toast-in .25s ease}.app-toast>span{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#16a34a}.app-toast p{margin:0;font-weight:700}.app-toast-danger>span{background:#dc2626}@keyframes toast-in{from{opacity:0;transform:translateY(12px)}}
.button-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.app-toast button{margin-left:auto;border:0;color:#00d6ff;background:transparent;font-weight:850}
.mobile-fab{display:none}
.legal-page{width:min(100% - 32px,860px);margin:0 auto;padding:36px 0 80px}.legal-page>a{display:inline-block;margin-bottom:40px}.legal-page article{padding:clamp(24px,5vw,56px);border-radius:22px;background:#fff;box-shadow:0 20px 55px rgba(7,19,77,.08)}.legal-page article>span{color:var(--primary);font-size:.78rem;font-weight:800}.legal-page h1{margin:10px 0 28px;font-size:clamp(2rem,5vw,3.4rem);font-weight:850}.legal-page h2{margin:28px 0 8px;font-size:1.2rem;font-weight:850}.legal-page p{color:var(--muted);line-height:1.75}
.password-strength { display: flex; align-items: center; gap: 10px; margin: -4px 0 17px; color: var(--muted); }
.password-strength > span { width: 70px; height: 5px; overflow: hidden; border-radius: 10px; background: #dce5f4; }
.password-strength > span::after { content: ""; display: block; width: var(--strength, 0%); height: 100%; background: var(--strength-color, #dc2626); transition: width .2s; }
.password-strength small { font-size: .78rem; }

/* Reserved ad areas prevent layout shifts while third-party media loads. */
.sponsor-slot { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; margin: 24px auto; overflow: hidden; text-align: center; }
.sponsor-label { margin-bottom: 6px; color: #7b88a5; font-size: .67rem; font-weight: 700; letter-spacing: .08em; line-height: 1; text-transform: uppercase; }
.sponsor-frame { display: flex; align-items: center; justify-content: center; width: min(100%, var(--ad-width)); min-height: var(--ad-height); overflow: hidden; border-radius: 8px; background: rgba(255,255,255,.42); }
.sponsor-slot--desktop { min-height: 111px; }
.sponsor-slot--mobile { min-height: 71px; margin-block: 18px; }
.sponsor-slot--rectangle { min-height: 271px; }
.auth-form-wrap .sponsor-slot { margin-top: 30px; }

.navbar {
    border-bottom: 1px solid rgba(36, 49, 63, 0.08);
}

.hero {
    min-height: 78vh;
    display: flex;
    align-items: center;
    padding: 56px 0;
}

.feature-row {
    border-top: 1px solid rgba(36, 49, 63, 0.08);
}

.feature-item {
    padding: 24px 0;
}

.feature-icon {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(14, 91, 255, 0.14), rgba(0, 214, 255, 0.16));
    color: var(--primary);
    font-size: 1.1rem;
    font-weight: 850;
}

.auth-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 32px 16px;
}

.auth-panel {
    width: calc(100vw - 32px);
    max-width: 440px;
    border-radius: 8px;
    padding: 32px;
}

.btn-primary {
    background: linear-gradient(135deg, var(--primary), #0096FF);
    border-color: var(--primary);
    box-shadow: 0 8px 20px rgba(14, 91, 255, 0.2);
}

.btn-primary:hover, .btn-primary:focus { background: var(--primary-dark); border-color: var(--primary-dark); }

.btn {
    border-radius: 8px;
    font-weight: 650;
}

.text-muted {
    color: var(--muted) !important;
}

.app-header {
    padding: 24px 0;
}

.summary-card {
    border-radius: 8px;
    padding: 20px;
    height: 100%;
}

.summary-value {
    font-size: 2rem;
    font-weight: 800;
}

.filter-bar .btn {
    min-width: 106px;
}

.task-card {
    border-radius: 8px;
    border: 0;
    border-left: 6px solid var(--medium);
    height: 100%;
}

.task-card.priority-alta {
    border-left-color: var(--high);
}

.task-card.priority-media {
    border-left-color: var(--medium);
}

.task-card.priority-baixa {
    border-left-color: var(--low);
}

.badge-priority-alta {
    background: rgba(220, 38, 38, 0.12);
    color: var(--high);
}

.badge-priority-media {
    background: rgba(245, 158, 11, 0.16);
    color: #92400E;
}

.badge-priority-baixa {
    background: rgba(22, 163, 74, 0.12);
    color: var(--low);
}

.empty-state {
    background: var(--surface);
    border: 1px dashed rgba(36, 49, 63, 0.22);
    border-radius: 8px;
    padding: 40px 20px;
    text-align: center;
}

.date-heading {
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 0;
}

.landing-navbar {
    backdrop-filter: blur(14px);
    background: rgba(255, 255, 255, 0.92);
}

.landing-navbar .nav-link {
    color: var(--muted);
    font-weight: 650;
}

.landing-navbar .nav-link:hover {
    color: var(--primary);
}

.landing-hero {
    padding: 88px 0 72px;
    background:
        radial-gradient(circle at 80% 20%, rgba(0, 214, 255, 0.2), transparent 28%),
        linear-gradient(135deg, rgba(14, 91, 255, 0.12), rgba(0, 214, 255, 0.08)),
        var(--bg);
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 4px 12px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: var(--primary);
    font-size: 0.86rem;
    font-weight: 800;
}

.landing-title {
    max-width: 720px;
    margin: 18px 0 18px;
    font-size: clamp(2.3rem, 5vw, 4.8rem);
    line-height: 1.02;
    font-weight: 850;
}

.landing-subtitle {
    max-width: 640px;
    color: var(--muted);
    font-size: 1.18rem;
    line-height: 1.7;
}

.btn-white {
    background: var(--surface);
    border-color: rgba(36, 49, 63, 0.1);
    color: var(--text);
}

.btn-white:hover {
    background: #EEF2FF;
    border-color: rgba(37, 99, 235, 0.25);
    color: var(--primary);
}

.trust-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.trust-strip span,
.pwa-grid span,
.focus-list span {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 8px 13px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.78);
    color: var(--muted);
    font-weight: 700;
    box-shadow: 0 8px 22px rgba(36, 49, 63, 0.06);
}

.dashboard-mockup,
.benefit-card,
.step-card,
.phone-mockup {
    background: var(--surface);
    border: 1px solid rgba(36, 49, 63, 0.08);
    border-radius: 8px;
    box-shadow: 0 22px 55px rgba(36, 49, 63, 0.12);
}

.dashboard-mockup {
    position: relative;
    padding: 24px;
}

.mockup-topbar,
.mock-task,
.mockup-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.mockup-label {
    display: block;
    color: var(--muted);
    font-size: 0.88rem;
}

.daily-progress {
    height: 10px;
    border-radius: 999px;
    background: #E5E7EB;
}

.mock-task {
    min-height: 82px;
    margin-bottom: 14px;
    padding: 16px;
    border-radius: 8px;
    border-left: 6px solid var(--medium);
    background: #F8FAFC;
}

.mock-task.priority-alta {
    border-left-color: var(--high);
}

.mock-task.priority-media {
    border-left-color: var(--medium);
}

.mock-task.priority-baixa {
    border-left-color: var(--low);
}

.mock-task h2 {
    margin: 7px 0 0;
    font-size: 1rem;
    font-weight: 800;
}

.mock-list-label { display: inline-flex; margin-right: 7px; color: var(--primary); font-size: .7rem; font-weight: 850; }
.mock-checklist { width: min(210px, 42vw); height: 5px; margin: 9px 0 4px; overflow: hidden; border-radius: 99px; background: #dce6f5; }
.mock-checklist i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #0e5bff, #00d6ff); }
.mock-task small { color: var(--muted); font-size: .68rem; }

.mock-task > span {
    color: var(--muted);
    font-weight: 700;
}

.mockup-summary {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(36, 49, 63, 0.08);
}

.mockup-summary div {
    flex: 1;
    padding: 12px;
    border-radius: 8px;
    background: rgba(37, 99, 235, 0.07);
    text-align: center;
}

.mockup-summary strong {
    display: block;
    color: var(--primary);
    font-size: 1.45rem;
}

.mockup-summary span {
    color: var(--muted);
    font-size: 0.88rem;
    font-weight: 700;
}

.landing-section {
    padding: 82px 0;
}

.section-heading {
    max-width: 720px;
    margin: 0 auto 36px;
    text-align: center;
}

.section-heading h2,
.pwa-section h2,
.simple-focus h2,
.final-cta h2 {
    margin: 14px 0;
    font-size: clamp(2rem, 4vw, 3.15rem);
    line-height: 1.08;
    font-weight: 850;
}

.section-heading p,
.pwa-section p,
.simple-focus p,
.final-cta p,
.benefit-card p,
.step-card p,
.landing-footer p {
    color: var(--muted);
}

.benefit-card,
.step-card,
.faq-card {
    height: 100%;
    padding: 24px;
    box-shadow: 0 12px 34px rgba(36, 49, 63, 0.08);
}

.benefit-card h3,
.step-card h3,
.faq-card h3 {
    margin: 18px 0 10px;
    font-size: 1.18rem;
    font-weight: 800;
}

.seo-content { background: linear-gradient(180deg, #f7faff, #eaf2ff); }
.faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.faq-card { padding: 26px; border: 1px solid rgba(14,91,255,.1); border-radius: 18px; background: rgba(255,255,255,.88); box-shadow: 0 12px 34px rgba(7,19,77,.06); }
.faq-card h3 { margin-top: 0; color: var(--text); }
.faq-card p { margin-bottom: 0; color: var(--muted); line-height: 1.7; }

.pwa-section,
.simple-focus {
    background: #FFFFFF;
}

.pwa-grid,
.focus-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.phone-mockup {
    width: min(100%, 310px);
    margin: 0 auto;
    padding: 16px;
    border-radius: 32px;
    background: #111827;
}

.phone-speaker {
    width: 72px;
    height: 6px;
    margin: 0 auto 14px;
    border-radius: 999px;
    background: #374151;
}

.phone-screen {
    min-height: 520px;
    padding: 22px;
    border-radius: 22px;
    background: #F4F6F8;
}

.phone-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 22px;
}

.phone-task {
    height: 82px;
    margin-bottom: 14px;
    border-radius: 8px;
    background: var(--surface);
    border-left: 6px solid var(--medium);
    box-shadow: 0 8px 20px rgba(36, 49, 63, 0.08);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    padding: 14px 16px;
}

.phone-task span { color: var(--text); font-size: .84rem; font-weight: 850; }
.phone-task small { color: var(--muted); font-size: .68rem; }
.phone-list-chip { display: inline-flex; margin: -7px 0 14px; padding: 6px 10px; border-radius: 999px; color: var(--primary); background: #e8f0ff; font-size: .72rem; font-weight: 850; }

.phone-task.high {
    border-left-color: var(--high);
}

.phone-task.medium {
    border-left-color: var(--medium);
}

.phone-task.low {
    border-left-color: var(--low);
}

.phone-button {
    width: 100%;
    min-height: 46px;
    margin-top: 16px;
    border: 0;
    border-radius: 8px;
    background: var(--primary);
    color: #FFFFFF;
    font-weight: 800;
}

.step-card span {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: var(--primary);
    color: #FFFFFF;
    font-weight: 850;
}

.simple-focus {
    border-top: 1px solid rgba(36, 49, 63, 0.08);
    border-bottom: 1px solid rgba(36, 49, 63, 0.08);
}

.focus-list span {
    width: calc(50% - 6px);
    min-height: 58px;
    background: #F8FAFC;
}

.final-cta {
    padding: 82px 0;
    background: linear-gradient(135deg, #07134D, #0E5BFF 62%, #00D6FF);
    color: #FFFFFF;
}

.final-cta p {
    max-width: 620px;
    margin: 0 auto 28px;
    color: rgba(255, 255, 255, 0.82);
}

.landing-footer {
    padding: 28px 0;
    background: #FFFFFF;
    border-top: 1px solid rgba(36, 49, 63, 0.08);
}

.landing-footer a {
    color: var(--primary);
    font-weight: 700;
    text-decoration: none;
}

.footer-logo {
    width: 88px;
    height: auto;
}

@media (max-width: 576px) {
    .auth-panel {
        padding: 24px;
    }

    .task-actions {
        display: grid;
        gap: 8px;
    }

    .task-actions .btn {
        width: 100%;
        min-height: 44px;
    }

    .filter-bar {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
    }

    .filter-bar .btn {
        min-width: 0;
    }

    .landing-hero {
        padding: 54px 0 48px;
    }

    .landing-title {
        font-size: 2.45rem;
    }

    .landing-subtitle {
        font-size: 1rem;
    }

    .landing-section,
    .final-cta {
        padding: 56px 0;
    }

    .dashboard-mockup {
        padding: 16px;
    }

    .mockup-summary {
        display: grid;
        grid-template-columns: 1fr;
    }

    .focus-list span,
    .pwa-grid span {
        width: 100%;
    }

    .phone-screen {
        min-height: 440px;
    }
}

@media (max-width: 991px) {
    .auth-layout { display: block; min-height: 100svh; }
    .auth-showcase { display: none; }
    .auth-form-side { min-height: 100svh; padding: 24px 18px 36px; }
    .auth-form-wrap, .auth-form-register { width: min(100%, 540px); }
    .auth-back { margin-bottom: 24px; }
    .auth-mobile-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 38px; font-weight: 850; font-size: 1.1rem; }
    .auth-mobile-brand img { border-radius: 16px; box-shadow: 0 10px 24px rgba(14,91,255,.18); }
}

@media (max-width: 991px) {
 .summary-grid{grid-template-columns:repeat(2,1fr)}.task-grid{grid-template-columns:1fr}
}

@media (max-width: 640px) {
    .auth-fields-row { grid-template-columns: 1fr; gap: 0; }
    .task-modal-dialog{width:auto;margin:10px}.task-modal-dialog .task-modal{min-height:calc(100svh - 20px)}.task-modal .modal-body{max-height:calc(100svh - 190px)}
    .auth-heading h2 { font-size: 2rem; }
    .faq-grid { grid-template-columns: 1fr; }
    .sponsor-slot { max-width: 100%; }
    .app-navbar-inner{min-height:66px}.app-navbar .logo{height:42px}.app-user>span{display:none}.dashboard-hero{align-items:start;padding:28px 0 20px}.dashboard-hero h1{font-size:2rem}.new-task-button{display:none}.summary-grid{gap:10px}.summary-card{min-height:105px;padding:14px;gap:10px}.summary-icon{width:38px;height:38px;border-radius:12px}.summary-card strong{font-size:1.65rem}.task-workspace{padding:14px;border-radius:17px}.workspace-toolbar{display:block}.workspace-tools{justify-content:space-between;margin-top:10px}.workspace-count{display:block;margin:10px 2px}.filter-bar{display:grid!important;grid-template-columns:1fr 1fr}.filter-chip{min-height:48px}.list-filter-row{align-items:stretch;flex-direction:column}.list-filter-row .form-select{width:100%}.list-filter-row .btn{margin-left:0}.advanced-filters{grid-template-columns:1fr}.task-grid{grid-template-columns:1fr}.task-card{min-height:225px}.form-row{grid-template-columns:1fr}.overdue-notice{align-items:flex-start;flex-direction:column}.toast-region{right:12px;bottom:82px;left:12px}.app-toast{min-width:0;max-width:none}.mobile-fab{position:fixed;z-index:1030;right:18px;bottom:18px;display:grid;place-items:center;width:58px;height:58px;border:0;border-radius:19px;color:#fff;background:linear-gradient(135deg,#0e5bff,#00aeea);box-shadow:0 16px 34px rgba(14,91,255,.35);font-size:1.7rem}
}

/* Dashboard-specific overrides stay last to win over legacy shared rules. */
.dashboard-page .summary-card{border-radius:18px}
.dashboard-page .task-card{border-left:0;border-radius:17px}
.dashboard-page .task-card.priority-alta,.dashboard-page .task-card.priority-media,.dashboard-page .task-card.priority-baixa{border-left:0}
