*{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#7C3AED;--secondary:#A78BFA;--background:#F5F3FF;--white:#fff;--text:#2C3E50;--muted:#6B7280;--border:#E9E1F8;--shadow:rgba(88,49,145,.10);--success:#22A06B;--warning:#E59B22;--danger:#D64550}
html{scroll-behavior:smooth}body{font-family:Arial,Helvetica,sans-serif;background:var(--background);color:var(--text);line-height:1.6;min-height:100vh}a{color:var(--primary)}.container{width:min(92%,1180px);margin:auto}.content{min-height:calc(100vh - 190px);padding-bottom:30px}.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--border);box-shadow:0 2px 14px var(--shadow);margin-bottom:30px;position:sticky;top:0;z-index:50}.header-inner{min-height:82px;display:flex;align-items:center;gap:24px}.logo{text-decoration:none;display:flex;flex-direction:column;min-width:135px}.logo-main{font-size:31px;font-weight:800;color:var(--primary);line-height:1}.logo-sub{font-size:11px;color:var(--secondary);letter-spacing:2px;text-transform:uppercase;margin-top:6px}.main-nav{display:flex;align-items:center;gap:4px;flex:1;justify-content:flex-end;flex-wrap:wrap}.main-nav a{text-decoration:none;color:var(--text);font-weight:700;font-size:14px;padding:9px 10px;border-radius:10px;transition:.2s}.main-nav a:hover,.main-nav a.active{color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,white)}.language-form select{width:auto;margin:0;padding:8px 9px;border-radius:10px;background:#fff}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.page-heading h1{font-size:32px;line-height:1.2;margin-bottom:6px}.page-heading p{color:var(--muted)}h1,h2,h3{color:var(--text)}h2{font-size:21px}.section-title{margin:5px 0 18px}.card{background:#fff;padding:24px;border:1px solid var(--border);border-radius:18px;box-shadow:0 8px 26px var(--shadow);margin-bottom:22px;transition:box-shadow .25s,transform .25s}.card:hover{box-shadow:0 15px 38px rgba(88,49,145,.14)}.card h2{color:var(--primary);margin-bottom:16px}.hero{padding:42px}.eyebrow{display:inline-block;color:var(--primary);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:1.4px;margin-bottom:10px}.hero h1{font-size:40px;margin-bottom:14px}.hero-text{max-width:760px;font-size:18px;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.feature-item{display:flex;align-items:center;gap:10px;background:var(--background);padding:16px;border-radius:13px;font-weight:700}.auth-card{max-width:620px;margin:25px auto}.auth-link{margin-top:18px}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;padding:11px 18px;border-radius:11px;text-decoration:none;border:0;cursor:pointer;font-weight:700;font-size:15px;transition:.2s}.btn:hover{transform:translateY(-1px);filter:brightness(.95);box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 25%,transparent)}.btn-secondary{background:#6B7280}.btn-small{padding:8px 11px;font-size:13px}.btn-danger-wide{background:var(--danger);margin-top:22px}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}label{display:block;font-weight:700;margin-top:12px}input,textarea,select{width:100%;padding:12px 13px;margin-top:7px;margin-bottom:12px;border:1px solid #D8D4E1;border-radius:11px;background:#fff;color:var(--text);font:inherit;transition:.2s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}input[readonly]{background:#F4F3F6;color:#666}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dashboard-grid,.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:22px}.stats-grid{grid-template-columns:repeat(4,1fr)}.admin-stats{grid-template-columns:repeat(4,1fr)}.dashboard-card,.stat-card{min-height:175px}.card-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.card-heading-row h2,.card-heading-row h3{margin:0}.dashboard-action{width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:var(--primary);color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;box-shadow:0 5px 14px color-mix(in srgb,var(--primary) 25%,transparent);transition:.2s}.dashboard-action:hover{transform:translateY(-2px);filter:brightness(.94)}.stat-value{font-size:36px;line-height:1.15;font-weight:800;color:var(--primary);margin:18px 0 6px}.stat-value-text{font-size:24px}.item-list{display:grid;gap:16px;margin-top:18px}.item-card{border:1px solid var(--border);background:#fff;padding:20px;border-radius:15px;box-shadow:0 5px 17px rgba(88,49,145,.07)}.item-card h3{margin-bottom:12px}.item-card p+p{margin-top:10px}.meta-text{color:var(--muted);font-size:14px}.category-label{font-weight:700;color:var(--primary);margin-bottom:10px}.item-actions,.acoes-meta{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin-top:18px}.item-actions form,.acoes-meta form{display:inline-flex}.btn-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;text-decoration:none;font-size:17px;color:#fff;border:0;cursor:pointer;box-shadow:0 3px 9px rgba(0,0,0,.11);transition:.2s}.btn-icon:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.17)}.btn-success{background:var(--primary)}.btn-warning{background:var(--warning)}.btn-danger{background:var(--danger)}.badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:13px;font-weight:800}.badge-success{background:#DCF8EA;color:#147A4D}.badge-warning{background:#FFF2D6;color:#9A6200}.badge-danger{background:#FDE5E7;color:#A72531}.badge-muted{background:#ECEEF2;color:#5F6570}.alert{padding:13px 16px;border-radius:11px;margin-bottom:20px;font-weight:700}.alert-success{background:#DDF7E9;color:#176D49}.alert-error{background:#FDE5E7;color:#9B2430}.alert-warning{background:#FFF2D6;color:#875800}.bar-list{display:grid;gap:18px;margin-top:18px}.bar-label{display:flex;justify-content:space-between;gap:15px;margin-bottom:6px}.bar-track{height:12px;border-radius:999px;background:#EEEAF5;overflow:hidden}.bar-track span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:999px}.two-column-layout,.admin-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}.info-box{margin-top:24px;padding:16px;border-radius:12px;background:var(--background);border:1px solid var(--border)}.table-wrap{overflow:auto;margin-top:15px}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--border);vertical-align:middle}th{color:var(--primary);font-size:13px;text-transform:uppercase;letter-spacing:.4px}.filter-form{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;align-items:end}.filter-form input,.filter-form select{margin:0}.inline-form{display:flex;gap:8px;align-items:center}.inline-form select{width:auto;margin:0}.color-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.color-grid input[type=color]{height:48px;padding:4px}.patient-metrics{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0}.site-footer{text-align:center;padding:30px 0;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:950px){.header-inner{flex-wrap:wrap;padding:14px 0}.main-nav{order:3;width:100%;justify-content:center}.stats-grid,.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-layout,.two-column-layout{grid-template-columns:1fr}}
@media(max-width:700px){.container{width:94%}.page-heading{flex-direction:column}.page-heading h1{font-size:27px}.hero{padding:26px}.hero h1{font-size:31px}.feature-grid,.dashboard-grid,.stats-grid,.admin-stats,.form-grid{grid-template-columns:1fr}.main-nav{gap:2px}.main-nav a{font-size:13px;padding:8px}.language-form{margin-left:auto}.filter-form{grid-template-columns:1fr}.color-grid{grid-template-columns:1fr}.card{padding:19px}.button-row .btn{flex-grow:1}.inline-form{flex-direction:column;align-items:stretch}.inline-form select{width:100%}}

/* =========================================================
   MENU RESPONSIVO PARA TABLET E SMARTPHONE
   ========================================================= */

body.menu-open {
    overflow: hidden;
}

.header-inner {
    position: relative;
}

.header-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-shrink: 0;
}

.menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    box-shadow: 0 4px 12px var(--shadow);
    transition: .2s;
}

.menu-toggle:hover {
    border-color: var(--primary);
    transform: translateY(-1px);
}

.menu-toggle span {
    display: block;
    width: 21px;
    height: 2px;
    border-radius: 99px;
    background: var(--primary);
    transition: transform .25s, opacity .2s;
}

.menu-toggle.is-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.menu-toggle.is-open span:nth-child(2) {
    opacity: 0;
}

.menu-toggle.is-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.menu-overlay {
    position: fixed;
    inset: 0;
    background: rgba(25, 20, 35, .24);
    z-index: 80;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

@media (max-width: 950px) {
    .site-header {
        margin-bottom: 24px;
    }

    .header-inner {
        min-height: 76px;
        gap: 12px;
        flex-wrap: nowrap;
        padding: 10px 0;
    }

    .logo {
        min-width: 0;
        margin-right: auto;
    }

    .logo-main {
        font-size: 28px;
    }

    .logo-sub {
        font-size: 10px;
        letter-spacing: 1.6px;
    }

    .header-tools {
        margin-left: auto;
    }

    .menu-toggle {
        display: flex;
    }

    .main-nav {
        order: initial;
        position: absolute;
        top: calc(100% + 1px);
        right: 0;
        width: min(330px, 94vw);
        max-height: calc(100vh - 96px);
        overflow-y: auto;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 5px;
        padding: 13px;
        background: #fff;
        border: 1px solid var(--border);
        border-radius: 0 0 16px 16px;
        box-shadow: 0 18px 38px rgba(46, 31, 69, .20);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-10px);
        transition: opacity .2s, transform .2s, visibility .2s;
        z-index: 110;
        -webkit-filter: none;
        filter: none;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }

    .main-nav.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    .main-nav a {
        width: 100%;
        font-size: 16px;
        padding: 13px 15px;
        border-radius: 11px;
    }

    .main-nav a.active {
        color: var(--primary);
        background: color-mix(in srgb, var(--primary) 11%, white);
    }
}

@media (max-width: 700px) {
    .site-header {
        margin-bottom: 20px;
    }

    .header-inner {
        min-height: 70px;
        gap: 8px;
    }

    .logo-main {
        font-size: 25px;
    }

    .logo-sub {
        font-size: 9px;
        letter-spacing: 1.3px;
        margin-top: 4px;
    }

    .language-form select {
        min-width: 76px;
        max-width: 82px;
        padding: 8px 7px;
        font-size: 14px;
    }

    .menu-toggle {
        width: 42px;
        height: 42px;
        border-radius: 11px;
    }

    .main-nav {
        position: fixed;
        top: 70px;
        right: 4%;
        width: 92%;
        max-height: calc(100vh - 88px);
        border-radius: 16px;
    }

    .dashboard-card,
    .stat-card {
        min-height: auto;
    }

    .item-actions,
    .acoes-meta {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

@media (max-width: 420px) {
    .container {
        width: 90%;
    }

    .header-inner {
        gap: 6px;
    }

    .logo-main {
        font-size: 22px;
    }

    .logo-sub {
        font-size: 8px;
    }

    .language-form select {
        min-width: 68px;
        max-width: 72px;
        font-size: 13px;
        padding: 8px 5px;
    }

    .menu-toggle {
        width: 40px;
        height: 40px;
    }

    .main-nav {
        right: 5%;
        width: 90%;
    }
}



/* CORREÇÃO DE CLIQUES NO MENU MOBILE - v23 */
.site-header {
    z-index: 1000;
}

.menu-overlay {
    z-index: 900;
    pointer-events: none;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

@media (max-width: 950px) {
    .main-nav {
        z-index: 1100;
        pointer-events: none;
        isolation: isolate;
    }

    .main-nav.is-open {
        pointer-events: auto;
    }

    .main-nav a {
        position: relative;
        z-index: 1101;
        pointer-events: auto;
        touch-action: manipulation;
        -webkit-tap-highlight-color: rgba(124, 58, 237, .12);
    }

    .menu-toggle {
        position: relative;
        z-index: 1102;
        touch-action: manipulation;
    }
}


/* VÍNCULO ENTRE PACIENTE E PSICÓLOGO - v31 */
.link-code-card h2{margin-bottom:8px}.link-code-box{display:flex;gap:10px;align-items:center;margin:22px 0 8px}.link-code-box input{margin:0;font-size:25px;font-weight:800;letter-spacing:2px;text-align:center;color:var(--primary);background:var(--background)}.link-code-box .btn{flex:0 0 auto}.copy-message{min-height:24px;color:var(--success);font-weight:700;margin-bottom:12px}.connection-status{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#DCF8EA;color:#147A4D;font-size:22px;font-weight:800}.professional-summary{display:flex;align-items:center;gap:16px;margin:22px 0}.professional-avatar{width:58px;height:58px;flex:0 0 58px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-size:25px;font-weight:800;box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 25%,transparent)}.professional-summary h3,.professional-summary h2{margin:0 0 3px}.link-code-inline{display:inline-block;margin:8px 0 12px;padding:7px 11px;border-radius:9px;background:#fff;color:var(--primary);font-weight:800;letter-spacing:1px;border:1px solid var(--border)}.patient-card-actions{align-items:center}.patient-card-actions form{display:inline-flex}.empty-state{text-align:center;padding:22px}.empty-state h2{margin-bottom:8px}.empty-state .btn{margin-top:16px}.patient-profile-header{padding:20px 24px}.patient-profile-header .professional-summary{margin:0}.patient-detail-stats{grid-template-columns:repeat(4,1fr)}.patient-detail-layout{align-items:start}.link-code-dashboard-card .stat-value-text{font-size:22px;letter-spacing:1px;overflow-wrap:anywhere}.link-patient-card{max-width:760px}.patient-list-card .button-row{margin-top:16px}

@media(max-width:950px){.patient-detail-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.link-code-box{flex-direction:column;align-items:stretch}.link-code-box .btn{width:100%}.link-code-box input{font-size:21px}.professional-summary{align-items:flex-start}.patient-detail-stats{grid-template-columns:1fr}.patient-card-actions{flex-direction:column;align-items:stretch}.patient-card-actions .btn,.patient-card-actions form,.patient-card-actions form .btn{width:100%}.patient-profile-header{padding:18px}}

.footer-copy {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex-wrap: wrap;
}

.footer-copy .footer-icon {
    display: inline-block;
    width: 20px !important;
    height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    object-fit: contain;
    flex: 0 0 20px;
}

/* DASHBOARD PROFISSIONAL - v32 */
.dashboard-welcome{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin:4px 0 24px;
    padding:8px 2px
}
.dashboard-welcome h1{
    margin:3px 0 6px;
    font-size:34px;
    line-height:1.15
}
.dashboard-welcome p{color:var(--muted)}
.dashboard-eyebrow,.dashboard-section-kicker{
    color:var(--primary)!important;
    font-size:12px;
    font-weight:800;
    letter-spacing:1.25px;
    text-transform:uppercase
}
.dashboard-section-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px
}
.dashboard-section-heading h2{margin:2px 0 0}
.notification-count{
    min-width:34px;
    height:34px;
    padding:0 10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:color-mix(in srgb,var(--primary) 11%,white);
    color:var(--primary);
    font-weight:800
}
.notification-list{display:grid;gap:10px}
.notification-item{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:12px;
    padding:13px 14px;
    border:1px solid var(--border);
    border-radius:13px;
    background:#fff
}
.notification-item p{margin:0}
.notification-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:var(--muted);
    box-shadow:0 0 0 5px color-mix(in srgb,var(--muted) 12%,transparent)
}
.notification-attention .notification-dot{background:var(--warning);box-shadow:0 0 0 5px color-mix(in srgb,var(--warning) 15%,transparent)}
.notification-info .notification-dot{background:var(--primary);box-shadow:0 0 0 5px color-mix(in srgb,var(--primary) 13%,transparent)}
.notification-success .notification-dot{background:var(--success);box-shadow:0 0 0 5px color-mix(in srgb,var(--success) 13%,transparent)}
.notification-link{
    white-space:nowrap;
    font-weight:800;
    text-decoration:none
}
.dashboard-overview-grid{align-items:stretch}
.dashboard-card{
    display:flex;
    flex-direction:column
}
.dashboard-card .dashboard-empty{margin-top:auto}
.dashboard-card-featured{
    background:linear-gradient(145deg,#fff 60%,color-mix(in srgb,var(--primary) 7%,white))
}
.dashboard-empty{
    margin-top:18px;
    padding:15px;
    border-radius:13px;
    background:var(--background);
    border:1px dashed color-mix(in srgb,var(--primary) 22%,var(--border))
}
.dashboard-empty p{margin:0 0 12px;color:var(--muted)}
.dashboard-empty strong{display:block;margin-bottom:3px}
.dashboard-empty.compact{margin-top:16px}
.dashboard-empty-positive{background:#F1FBF6;border-color:#CDEEDC}
.mood-current-row{
    display:flex;
    align-items:center;
    gap:15px;
    margin-top:20px
}
.mood-current-row .stat-value{margin:0 0 4px}
.mood-score{
    width:58px;
    height:58px;
    flex:0 0 58px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:17px;
    color:#fff;
    font-weight:800;
    font-size:17px;
    box-shadow:0 8px 18px rgba(44,62,80,.13)
}
.mood-score-1{background:#D64550}.mood-score-2{background:#E59B22}.mood-score-3{background:#8B8497}.mood-score-4{background:#22A06B}.mood-score-5{background:var(--primary)}
.appointment-date{font-weight:700;margin-top:4px}
.appointment-date span{padding:0 5px;color:var(--muted)}
.dashboard-soft-badge{
    align-self:flex-start;
    margin-top:13px;
    padding:5px 10px;
    border-radius:999px;
    color:var(--primary);
    background:color-mix(in srgb,var(--primary) 9%,white);
    font-size:13px;
    font-weight:800
}
.dashboard-progress{
    width:100%;
    height:12px;
    margin:17px 0 8px;
    overflow:hidden;
    border-radius:999px;
    background:#EEEAF5
}
.dashboard-progress span{
    display:block;
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,var(--primary),var(--secondary));
    transition:width .4s ease
}
.progress-meta{
    display:flex;
    justify-content:space-between;
    gap:12px;
    color:var(--muted);
    font-size:14px
}
.progress-meta strong{color:var(--primary)}
.dashboard-professional-summary{margin:19px 0 0}
.dashboard-professional-summary .stat-value{margin:0 0 3px}
.mood-history-card{overflow:hidden}
.mood-heading{align-items:flex-end}
.period-switch{
    display:inline-flex;
    padding:4px;
    gap:4px;
    border-radius:12px;
    background:var(--background);
    border:1px solid var(--border)
}
.period-switch a{
    padding:7px 11px;
    border-radius:9px;
    text-decoration:none;
    color:var(--muted);
    font-size:13px;
    font-weight:800
}
.period-switch a.active{
    background:#fff;
    color:var(--primary);
    box-shadow:0 4px 12px var(--shadow)
}
.mood-chart-scroll{
    overflow-x:auto;
    padding:10px 2px 4px;
    -webkit-overflow-scrolling:touch
}
.mood-chart{
    min-width:620px;
    height:230px;
    display:flex;
    align-items:stretch;
    gap:12px;
    padding:14px 8px 0;
    border-bottom:1px solid var(--border)
}
.mood-chart-30{min-width:980px;gap:8px}
.mood-day{
    flex:1;
    min-width:30px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:center;
    gap:8px
}
.mood-column{
    width:100%;
    height:178px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:center;
    gap:5px
}
.mood-bar{
    width:min(34px,75%);
    height:var(--mood-height);
    min-height:4px;
    display:block;
    border-radius:10px 10px 4px 4px;
    background:#DED9E8;
    transition:height .35s ease,transform .2s ease
}
.mood-day:hover .mood-bar{transform:translateY(-3px)}
.mood-bar-1{background:#D64550}.mood-bar-2{background:#E59B22}.mood-bar-3{background:#A8A0B4}.mood-bar-4{background:#22A06B}.mood-bar-5{background:linear-gradient(180deg,var(--secondary),var(--primary))}
.mood-score-label{font-size:12px;font-weight:800;color:var(--text)}
.mood-day-label{font-size:11px;color:var(--muted);white-space:nowrap}
.mood-scale-help{
    margin-top:13px;
    color:var(--muted);
    font-size:13px;
    text-align:center
}
.dashboard-quick-actions .btn{min-width:112px}

@media(max-width:700px){
    .dashboard-welcome{margin-bottom:18px}
    .dashboard-welcome h1{font-size:28px}
    .dashboard-notifications{padding:17px}
    .dashboard-section-heading{align-items:flex-start}
    .notification-item{grid-template-columns:auto 1fr}
    .notification-link{grid-column:2;white-space:normal}
    .mood-heading{align-items:flex-start;flex-direction:column}
    .period-switch{width:100%}
    .period-switch a{flex:1;text-align:center}
    .mood-chart{min-width:580px}
    .mood-chart-30{min-width:940px}
    .dashboard-quick-actions{display:grid;grid-template-columns:1fr 1fr}
    .dashboard-quick-actions .btn{width:100%;min-width:0}
}

@media(max-width:420px){
    .dashboard-welcome h1{font-size:25px}
    .mood-current-row{align-items:flex-start}
    .dashboard-section-heading h2{font-size:19px}
    .dashboard-quick-actions{grid-template-columns:1fr}
}

.card-heading-row {
    margin-bottom: 18px;
}

@media (max-width: 700px) {
    .card-heading-row {
        margin-bottom: 14px;
    }
}

/* =========================================================
   MEINWEG 3.3 — BOTÕES LEVES, NOTIFICAÇÕES, BANDEIRAS E COMENTÁRIOS
   ========================================================= */

/* Hierarquia visual mais leve no Dashboard */
.dashboard-action {
    background: #fff;
    color: var(--primary);
    border: 1px solid color-mix(in srgb, var(--primary) 24%, var(--border));
    box-shadow: 0 5px 14px rgba(88, 49, 145, .10);
}

.dashboard-action:hover {
    background: color-mix(in srgb, var(--primary) 5%, white);
    color: var(--primary);
    border-color: color-mix(in srgb, var(--primary) 38%, var(--border));
    filter: none;
}

.dashboard-empty .btn,
.dashboard-quick-actions .btn,
.btn-light {
    background: #fff;
    color: var(--primary);
    border: 1px solid color-mix(in srgb, var(--primary) 24%, var(--border));
    box-shadow: 0 4px 12px rgba(88, 49, 145, .07);
}

.dashboard-empty .btn:hover,
.dashboard-quick-actions .btn:hover,
.btn-light:hover {
    background: color-mix(in srgb, var(--primary) 5%, white);
    color: var(--primary);
    filter: none;
    border-color: color-mix(in srgb, var(--primary) 40%, var(--border));
}

.dashboard-quick-actions .btn-secondary {
    color: var(--text);
    border-color: var(--border);
}

/* Ferramentas do cabeçalho */
.notification-picker,
.language-picker {
    position: relative;
    margin: 0;
}

.notification-toggle,
.language-toggle {
    height: 40px;
    border: 1px solid #D8D4E1;
    border-radius: 11px;
    background: #fff;
    color: var(--text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 11px;
    cursor: pointer;
    transition: .2s;
    box-shadow: 0 3px 10px rgba(88, 49, 145, .05);
}

.notification-toggle:hover,
.notification-toggle.is-open,
.language-toggle:hover,
.language-toggle.is-open {
    border-color: color-mix(in srgb, var(--primary) 45%, var(--border));
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 4%, white);
}

.notification-toggle {
    position: relative;
    width: 40px;
    padding: 0;
}

.notification-toggle svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.notification-badge {
    position: absolute;
    top: -7px;
    right: -7px;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--primary);
    color: #fff;
    border: 2px solid #fff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
}

.language-toggle img,
.language-option img {
    width: 24px;
    height: 16px;
    object-fit: cover;
    border-radius: 3px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .10);
}

.language-toggle > svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    transition: transform .2s;
}

.language-toggle.is-open > svg { transform: rotate(180deg); }

.language-menu,
.notification-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 1250;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 15px;
    box-shadow: 0 20px 48px rgba(41, 28, 62, .18);
}

.language-menu {
    width: 220px;
    padding: 8px;
}

.language-option {
    width: 100%;
    border: 0;
    background: transparent;
    color: var(--text);
    display: grid;
    grid-template-columns: 26px 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 10px 11px;
    border-radius: 10px;
    cursor: pointer;
    text-align: left;
    font: inherit;
}

.language-option:hover,
.language-option.is-selected {
    background: color-mix(in srgb, var(--primary) 8%, white);
    color: var(--primary);
}

.language-option span { font-weight: 700; }
.language-option small { color: var(--muted); font-weight: 700; }

.notification-dropdown {
    width: min(390px, 92vw);
    overflow: hidden;
}

.notification-dropdown-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 16px 12px;
    border-bottom: 1px solid var(--border);
}

.notification-dropdown-head span {
    color: var(--primary);
    font-size: 12px;
    font-weight: 800;
}

.notification-dropdown-list { max-height: 380px; overflow-y: auto; }

.notification-dropdown-item {
    display: grid;
    grid-template-columns: 9px 1fr;
    gap: 11px;
    padding: 13px 16px;
    color: var(--text);
    text-decoration: none;
    border-bottom: 1px solid color-mix(in srgb, var(--border) 75%, white);
}

.notification-dropdown-item:hover { background: #FAF9FC; }
.notification-dropdown-item.is-unread { background: color-mix(in srgb, var(--primary) 5%, white); }
.notification-mini-dot { width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background: #C6C0CF; }
.notification-dropdown-item.is-unread .notification-mini-dot { background: var(--primary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 12%, transparent); }
.notification-dropdown-item strong { display: block; margin-bottom: 3px; font-size: 14px; }
.notification-dropdown-item small { display: block; color: var(--muted); line-height: 1.4; }
.notification-dropdown-item time { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; }
.notification-dropdown-empty { padding: 25px 18px; text-align: center; color: var(--muted); }
.notification-view-all { display: block; padding: 12px 16px; text-align: center; color: var(--primary); text-decoration: none; font-weight: 800; background: #FCFBFE; }

/* Página de notificações */
.notifications-page-card { padding: 0; overflow: hidden; }
.notifications-page-list { display: grid; }
.notifications-page-item {
    display: grid;
    grid-template-columns: 44px 1fr auto;
    align-items: center;
    gap: 15px;
    padding: 18px 20px;
    color: var(--text);
    text-decoration: none;
    border-bottom: 1px solid var(--border);
    transition: .2s;
}
.notifications-page-item:last-child { border-bottom: 0; }
.notifications-page-item:hover { background: #FAF9FC; }
.notifications-page-item.is-unread { background: color-mix(in srgb, var(--primary) 5%, white); }
.notifications-page-icon { width: 42px; height: 42px; border-radius: 13px; display: inline-flex; align-items: center; justify-content: center; color: var(--primary); background: color-mix(in srgb, var(--primary) 9%, white); }
.notifications-page-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.notifications-page-content strong { display: block; margin-bottom: 3px; }
.notifications-page-content > span { display: block; color: var(--muted); }
.notifications-page-content time { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; }
.unread-label { padding: 5px 9px; border-radius: 999px; color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, white); font-size: 11px; font-weight: 800; }
.empty-notification-icon { width: 54px; height: 54px; margin: 0 auto 12px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #147A4D; background: #DCF8EA; font-size: 25px; font-weight: 800; }

/* Comentários terapêuticos */
.patient-diary-panel { min-width: 0; }
.diary-followup-card { scroll-margin-top: 110px; }
.diary-entry-text { margin: 12px 0 4px; }
.diary-comments-block { margin-top: 20px; padding-top: 17px; border-top: 1px solid var(--border); }
.diary-comments-block h4 { margin-bottom: 12px; color: var(--text); font-size: 15px; }
.diary-comments-list { display: grid; gap: 11px; }
.diary-comment { display: grid; grid-template-columns: 38px 1fr; gap: 11px; padding: 12px; border-radius: 13px; background: color-mix(in srgb, var(--primary) 4%, white); border: 1px solid color-mix(in srgb, var(--primary) 10%, var(--border)); }
.diary-comment-avatar { width: 36px; height: 36px; border-radius: 11px; display: flex; align-items: center; justify-content: center; color: var(--primary); background: #fff; border: 1px solid color-mix(in srgb, var(--primary) 20%, var(--border)); font-weight: 800; }
.diary-comment-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 4px; }
.diary-comment-meta time { color: var(--muted); font-size: 11px; white-space: nowrap; }
.diary-comment p { margin: 0; }
.diary-comment-form { margin-top: 15px; padding: 14px; border-radius: 13px; background: #FBFAFD; border: 1px dashed color-mix(in srgb, var(--primary) 18%, var(--border)); }
.diary-comment-form label { margin-top: 0; }
.diary-comment-form textarea { margin-bottom: 9px; }
.patient-comments-block { background: #FBFAFD; border: 1px solid var(--border); border-radius: 14px; padding: 15px; }
.diary-patient-card { scroll-margin-top: 110px; }
.diary-patient-card.is-highlighted { border-color: color-mix(in srgb, var(--primary) 45%, var(--border)); box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 8%, transparent), 0 10px 26px var(--shadow); }

@media (max-width: 1100px) {
    .main-nav a { padding-left: 8px; padding-right: 8px; }
    .header-inner { gap: 14px; }
}

@media (max-width: 950px) {
    .notification-dropdown,
    .language-menu { position: fixed; top: 76px; right: 4%; }
    .notification-dropdown { width: min(390px, 92%); }
    .language-menu { width: min(260px, 92%); }
}

@media (max-width: 700px) {
    .header-tools { gap: 7px; }
    .notification-toggle,
    .language-toggle { height: 42px; }
    .language-toggle { padding: 0 8px; }
    .language-toggle img { width: 22px; height: 15px; }
    .notification-dropdown,
    .language-menu { top: 70px; right: 4%; }
    .notifications-page-item { grid-template-columns: 40px 1fr; padding: 15px; }
    .unread-label { grid-column: 2; justify-self: start; }
    .diary-comment-meta { flex-direction: column; gap: 1px; }
    .diary-comment-form .btn { width: 100%; }
}

@media (max-width: 420px) {
    .language-toggle span { display: none; }
    .language-toggle { width: 40px; padding: 0; }
    .notification-dropdown { width: 92%; }
}


/* =========================================================
   MEINWEG 3.4 — PAGINAÇÃO DO DIÁRIO E FOCO NA AGENDA
   ========================================================= */

.pagination {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--border);
}

.pagination-pages {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex-wrap: wrap;
}

.pagination-link {
    min-width: 38px;
    height: 38px;
    padding: 0 11px;
    border: 1px solid color-mix(in srgb, var(--primary) 22%, var(--border));
    border-radius: 10px;
    background: #fff;
    color: var(--primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-weight: 800;
    transition: .2s;
}

.pagination-link:hover {
    background: color-mix(in srgb, var(--primary) 6%, white);
    border-color: color-mix(in srgb, var(--primary) 42%, var(--border));
    transform: translateY(-1px);
}

.pagination-link.is-active {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}

.pagination-link.is-disabled {
    color: #AAA4B2;
    border-color: var(--border);
    background: #F7F6F9;
    cursor: default;
    pointer-events: none;
}

.pagination-nav {
    min-width: 112px;
    white-space: nowrap;
}

.pagination-ellipsis {
    color: var(--muted);
    padding: 0 3px;
    font-weight: 800;
}

.pagination-summary {
    grid-column: 1 / -1;
    margin: 0;
    text-align: center;
    color: var(--muted);
    font-size: 13px;
}

.dashboard-card-actions {
    margin-top: 16px;
}

.agenda-focus-card {
    scroll-margin-top: 110px;
}

.agenda-focus-card.is-highlighted {
    border-color: color-mix(in srgb, var(--primary) 46%, var(--border));
    box-shadow:
        0 0 0 4px color-mix(in srgb, var(--primary) 8%, transparent),
        0 10px 26px var(--shadow);
}

@media (max-width: 700px) {
    .pagination {
        grid-template-columns: 1fr 1fr;
    }

    .pagination-pages {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .pagination-nav {
        width: 100%;
        min-width: 0;
    }

    .pagination-summary {
        grid-row: 3;
    }

    .dashboard-card-actions .btn {
        width: 100%;
    }
}
/* =========================================================
   MEINWEG 4.1 — DASHBOARD COLORIDO DO PACIENTE
   ========================================================= */

.patient-dashboard-v4 {
    padding-bottom: 12px;
}

.patient-dashboard-welcome {
    margin: 4px 0 24px;
}

.patient-dashboard-eyebrow {
    margin-bottom: 5px;
    color: var(--primary);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}

.patient-dashboard-welcome h1 {
    margin: 0 0 6px;
    font-size: 34px;
    line-height: 1.15;
}

.patient-dashboard-welcome > p:last-child {
    color: var(--muted);
}

.patient-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 22px;
}

.patient-metric-card {
    position: relative;
    min-height: 180px;
    padding: 20px;
    border: 1px solid transparent;
    border-radius: 18px;
    color: var(--text);
    text-decoration: none;
    overflow: hidden;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.patient-metric-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 34px rgba(63, 36, 105, .12);
}

.patient-metric-card.is-purple {
    background: #FAF2FF;
    border-color: #EBDCF7;
}

.patient-metric-card.is-blue {
    background: #F1F6FF;
    border-color: #D9E8FC;
}

.patient-metric-card.is-green {
    background: #F1FBF1;
    border-color: #D8EFD8;
}

.patient-metric-card.is-orange {
    background: #FFF9EC;
    border-color: #F3E5C2;
}

.patient-metric-icon,
.patient-quick-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.patient-metric-icon {
    width: 47px;
    height: 47px;
    margin-bottom: 15px;
    border-radius: 14px;
    font-size: 23px;
}

.is-purple .patient-metric-icon,
.patient-quick-item.is-purple .patient-quick-icon {
    background: #EEDCFF;
}

.is-blue .patient-metric-icon,
.patient-quick-item.is-blue .patient-quick-icon {
    background: #DBE9FF;
}

.is-green .patient-metric-icon,
.patient-quick-item.is-green .patient-quick-icon {
    background: #DDF4DD;
}

.is-orange .patient-metric-icon,
.patient-quick-item.is-orange .patient-quick-icon {
    background: #FDECC4;
}

.patient-metric-title {
    display: block;
    font-size: 15px;
    font-weight: 850;
}

.patient-metric-value {
    display: block;
    margin-top: 11px;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.15;
}

.patient-metric-value-compact {
    font-size: 23px;
}

.patient-metric-value-small {
    font-size: 19px;
}

.is-purple .patient-metric-value {
    color: #A21CAF;
}

.is-blue .patient-metric-value {
    color: #3778EA;
}

.is-green .patient-metric-value {
    color: #16A34A;
}

.is-orange .patient-metric-value {
    color: #E87900;
}

.patient-metric-meta {
    display: block;
    max-width: calc(100% - 36px);
    margin-top: 8px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.45;
}

.patient-metric-arrow {
    position: absolute;
    right: 18px;
    bottom: 18px;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 900;
}

.is-purple .patient-metric-arrow {
    background: #EEDCFF;
    color: #A21CAF;
}

.is-blue .patient-metric-arrow {
    background: #DBE9FF;
    color: #3778EA;
}

.is-green .patient-metric-arrow {
    background: #DDF4DD;
    color: #16A34A;
}

.is-orange .patient-metric-arrow {
    background: #FDECC4;
    color: #E87900;
}

.patient-dashboard-main-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
}

.patient-dashboard-panel {
    margin-bottom: 0;
}

.patient-panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 17px;
}

.patient-panel-heading h2 {
    margin: 0;
}

.patient-panel-heading > a,
.patient-panel-footer-link {
    color: var(--primary);
    text-decoration: none;
    font-size: 13px;
    font-weight: 850;
}

.patient-panel-heading > a:hover,
.patient-panel-footer-link:hover {
    text-decoration: underline;
}

.patient-attention-list {
    display: grid;
    gap: 10px;
}

.patient-attention-item {
    min-height: 82px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 15px;
    background: #FFFFFF;
    color: var(--text);
    text-decoration: none;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    transition: .2s ease;
}

.patient-attention-item:hover {
    border-color: color-mix(in srgb, var(--primary) 36%, var(--border));
    transform: translateY(-1px);
}

.patient-attention-icon {
    width: 48px;
    height: 48px;
    border-radius: 13px;
    background: #FFF3CF;
    color: #D98A00;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.patient-attention-success .patient-attention-icon {
    background: #DCF7E8;
    color: var(--success);
}

.patient-attention-info .patient-attention-icon {
    background: #E7EFFF;
    color: #3778EA;
}

.patient-attention-copy {
    min-width: 0;
}

.patient-attention-copy strong,
.patient-attention-copy span {
    display: block;
}

.patient-attention-copy strong {
    color: var(--primary);
    font-size: 15px;
}

.patient-attention-copy span {
    margin-top: 3px;
    color: var(--muted);
    font-size: 13px;
}

.patient-attention-action {
    color: var(--primary);
    font-size: 13px;
    font-weight: 850;
    white-space: nowrap;
}

.patient-positive-state {
    min-height: 92px;
    padding: 15px;
    border: 1px solid #CFEAD9;
    border-radius: 15px;
    background: #F2FBF6;
    display: flex;
    align-items: center;
    gap: 13px;
}

.patient-positive-state > span {
    width: 45px;
    height: 45px;
    border-radius: 13px;
    background: #DCF7E8;
    color: var(--success);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 900;
}

.patient-positive-state p {
    margin: 3px 0 0;
    color: var(--muted);
}

.patient-appointment-detail {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr) auto;
    align-items: center;
    gap: 15px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 15px;
    background: #FFFFFF;
}

.patient-appointment-datebox {
    min-height: 76px;
    border-radius: 14px;
    background: #F2ECFF;
    color: var(--primary);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.patient-appointment-datebox strong {
    font-size: 25px;
    line-height: 1;
}

.patient-appointment-datebox span {
    margin-top: 6px;
    font-size: 11px;
    font-weight: 850;
}

.patient-appointment-copy h3 {
    margin: 0;
    font-size: 17px;
}

.patient-appointment-copy p {
    margin: 7px 0 0;
    color: var(--muted);
    font-size: 13px;
}

.patient-soft-badge {
    display: inline-flex;
    margin-left: 8px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #F1E7FF;
    color: var(--primary);
    font-size: 11px;
    font-weight: 850;
}

.patient-light-button {
    background: #FFFFFF;
    color: var(--primary);
    border: 1px solid #DCCEF2;
    box-shadow: none;
}

.patient-light-button:hover {
    background: #FAF6FF;
    color: var(--primary);
    border-color: #CDB5ED;
    filter: none;
}

.patient-panel-footer-link {
    display: block;
    margin-top: 14px;
    text-align: center;
}

.patient-goal-overall {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 15px;
}

.patient-goal-overall div strong,
.patient-goal-overall div span {
    display: block;
}

.patient-goal-overall div strong {
    color: var(--primary);
    font-size: 17px;
}

.patient-goal-overall div span {
    color: var(--muted);
    font-size: 13px;
}

.patient-goal-overall > strong {
    color: #16A34A;
    font-size: 22px;
}

.patient-goal-progress {
    height: 10px;
    margin: 12px 0 17px;
    overflow: hidden;
    border-radius: 999px;
    background: #E8EDE8;
}

.patient-goal-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #36C777, #16A34A);
}

.patient-goal-list {
    display: grid;
    gap: 10px;
}

.patient-goal-item {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #FFFFFF;
}

.patient-goal-icon {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: #E2F7E6;
    display: flex;
    align-items: center;
    justify-content: center;
}

.patient-goal-item h3 {
    margin: 0;
    font-size: 14px;
}

.patient-goal-item p {
    margin: 3px 0 0;
    color: var(--muted);
    font-size: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.patient-goal-status {
    padding: 5px 8px;
    border-radius: 999px;
    background: #EFF9F1;
    color: #168B43;
    font-size: 11px;
    font-weight: 850;
    white-space: nowrap;
}

.patient-quick-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.patient-quick-item {
    min-height: 108px;
    padding: 14px;
    border: 1px solid transparent;
    border-radius: 15px;
    color: var(--text);
    text-decoration: none;
    display: grid;
    grid-template-columns: 45px minmax(0, 1fr) 20px;
    align-items: center;
    gap: 11px;
    transition: transform .2s ease;
}

.patient-quick-item:hover {
    transform: translateY(-2px);
}

.patient-quick-item.is-purple {
    background: #FAF2FF;
    border-color: #EBDCF7;
}

.patient-quick-item.is-blue {
    background: #F1F6FF;
    border-color: #D9E8FC;
}

.patient-quick-item.is-green {
    background: #F1FBF1;
    border-color: #D8EFD8;
}

.patient-quick-item.is-orange {
    background: #FFF9EC;
    border-color: #F3E5C2;
}

.patient-quick-icon {
    width: 45px;
    height: 45px;
    border-radius: 13px;
    font-size: 21px;
}

.patient-quick-item strong,
.patient-quick-item small {
    display: block;
}

.patient-quick-item strong {
    font-size: 14px;
}

.patient-quick-item small {
    margin-top: 4px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.35;
}

.patient-quick-item b {
    font-size: 22px;
}

.patient-quick-item.is-purple b {
    color: #A21CAF;
}

.patient-quick-item.is-blue b {
    color: #3778EA;
}

.patient-quick-item.is-green b {
    color: #16A34A;
}

.patient-quick-item.is-orange b {
    color: #E87900;
}

.patient-mood-history-panel {
    margin-top: 22px;
}

.patient-mood-heading p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 13px;
}

.patient-empty-state {
    padding: 20px;
    border: 1px dashed color-mix(in srgb, var(--primary) 24%, var(--border));
    border-radius: 14px;
    background: #FAF8FD;
    text-align: center;
}

.patient-empty-state p {
    margin: 0 0 12px;
    color: var(--muted);
}

.patient-dashboard-bottom-strip {
    margin-top: 22px;
    padding: 13px 17px;
    border: 1px solid var(--border);
    border-radius: 15px;
    background: #FFFFFF;
    box-shadow: 0 7px 22px var(--shadow);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.patient-dashboard-bottom-strip > div,
.patient-psychologist-strip {
    display: flex;
    align-items: center;
    gap: 10px;
}

.patient-dashboard-bottom-strip p {
    margin: 0;
    color: var(--muted);
}

.patient-psychologist-avatar {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
}

.patient-psychologist-strip strong,
.patient-psychologist-strip small {
    display: block;
}

.patient-psychologist-strip small {
    color: var(--muted);
}

.patient-psychologist-strip > a {
    margin-left: 8px;
    color: var(--primary);
    text-decoration: none;
    font-size: 12px;
    font-weight: 850;
}

@media (max-width: 1050px) {
    .patient-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .patient-dashboard-main-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .patient-dashboard-welcome h1 {
        font-size: 28px;
    }

    .patient-metric-grid {
        grid-template-columns: 1fr;
    }

    .patient-metric-card {
        min-height: 158px;
    }

    .patient-attention-item {
        grid-template-columns: 44px minmax(0, 1fr);
    }

    .patient-attention-action {
        grid-column: 2;
        white-space: normal;
    }

    .patient-appointment-detail {
        grid-template-columns: 68px minmax(0, 1fr);
    }

    .patient-appointment-detail .btn {
        grid-column: 1 / -1;
        width: 100%;
    }

    .patient-goal-item {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .patient-goal-status {
        grid-column: 2;
        justify-self: start;
    }

    .patient-quick-grid {
        grid-template-columns: 1fr;
    }

    .patient-panel-heading {
        align-items: flex-start;
    }

    .patient-mood-heading {
        flex-direction: column;
    }

    .patient-mood-heading .period-switch {
        width: 100%;
    }

    .patient-dashboard-bottom-strip {
        align-items: flex-start;
        flex-direction: column;
    }

    .patient-psychologist-strip {
        width: 100%;
        flex-wrap: wrap;
    }

    .patient-psychologist-strip > a {
        width: 100%;
        margin-left: 48px;
    }
}

@media (max-width: 430px) {
    .patient-dashboard-welcome h1 {
        font-size: 25px;
    }

    .patient-metric-card {
        min-height: 150px;
        padding: 17px;
    }

    .patient-appointment-copy p {
        display: grid;
        gap: 6px;
    }

    .patient-soft-badge {
        margin-left: 0;
        justify-self: start;
    }
}
/* =========================================================
   MEINWEG 4.2 — DASHBOARD APROVADO DO PACIENTE
   ========================================================= */

.patient-dashboard-approved {
    padding-bottom: 12px;
}

.patient-approved-welcome {
    margin: 2px 0 22px;
}

.patient-approved-eyebrow {
    margin-bottom: 4px;
    color: var(--primary);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.25px;
    text-transform: uppercase;
}

.patient-approved-welcome h1 {
    margin: 0 0 5px;
    font-size: 34px;
    line-height: 1.15;
}

.patient-approved-welcome > p:last-child {
    color: var(--muted);
}

.patient-approved-attention {
    position: relative;
    min-height: 104px;
    margin-bottom: 20px;
    padding: 18px 20px;
    border: 1px solid var(--border);
    border-radius: 17px;
    background: #FFFFFF;
    box-shadow: 0 8px 26px var(--shadow);
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 14px;
}

.patient-approved-attention-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: #FFF2C9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 21px;
}

.patient-approved-attention-copy {
    min-width: 0;
}

.patient-approved-attention-copy h2 {
    margin: 0;
    color: var(--primary);
    font-size: 19px;
}

.patient-approved-attention-copy p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 14px;
}

.patient-approved-attention-count {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #F3E9FF;
    color: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
}

.patient-approved-light-button {
    min-height: 38px;
    padding: 8px 13px;
    border: 1px solid #DCCEF2;
    border-radius: 10px;
    background: #FFFFFF;
    color: var(--primary);
    text-decoration: none;
    font-size: 13px;
    font-weight: 850;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.patient-approved-light-button:hover {
    background: #FAF6FF;
    border-color: #CAB2EA;
}

.patient-approved-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 20px;
}

.patient-approved-metric {
    position: relative;
    min-height: 220px;
    padding: 20px;
    border: 1px solid transparent;
    border-radius: 18px;
    color: var(--text);
    text-decoration: none;
    overflow: hidden;
    transition: transform .22s ease, box-shadow .22s ease;
}

.patient-approved-metric:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 34px rgba(63, 36, 105, .12);
}

.patient-approved-metric.is-purple {
    background: #FAF2FF;
    border-color: #EBDCF7;
}

.patient-approved-metric.is-blue {
    background: #F1F6FF;
    border-color: #D9E8FC;
}

.patient-approved-metric.is-green {
    background: #F1FBF1;
    border-color: #D8EFD8;
}

.patient-approved-metric.is-orange {
    background: #FFF9EC;
    border-color: #F3E5C2;
}

.patient-approved-metric-icon,
.patient-approved-action-icon,
.patient-approved-week-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.patient-approved-metric-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 15px;
    border-radius: 14px;
    font-size: 22px;
}

.is-purple .patient-approved-metric-icon,
.patient-approved-action.is-purple .patient-approved-action-icon,
.patient-approved-week-icon.is-purple {
    background: #EEDCFF;
}

.is-blue .patient-approved-metric-icon,
.patient-approved-action.is-blue .patient-approved-action-icon,
.patient-approved-week-icon.is-blue {
    background: #DBE9FF;
}

.is-green .patient-approved-metric-icon,
.patient-approved-action.is-green .patient-approved-action-icon,
.patient-approved-week-icon.is-green {
    background: #DDF4DD;
}

.is-orange .patient-approved-metric-icon,
.patient-approved-action.is-orange .patient-approved-action-icon {
    background: #FDECC4;
}

.patient-approved-metric-title {
    display: block;
    font-size: 15px;
    font-weight: 850;
}

.patient-approved-metric-value {
    display: block;
    margin-top: 12px;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.2;
}

.patient-approved-metric.is-purple .patient-approved-metric-value {
    color: #A21CAF;
}

.patient-approved-metric.is-blue .patient-approved-metric-value {
    color: #3778EA;
}

.patient-approved-metric.is-green .patient-approved-metric-value {
    color: #16A34A;
}

.patient-approved-metric.is-orange .patient-approved-metric-value {
    color: #E87900;
}

.patient-approved-metric-description {
    display: block;
    max-width: calc(100% - 38px);
    margin-top: 9px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.45;
}

.patient-approved-progress {
    height: 9px;
    margin-top: 15px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(22, 163, 74, .11);
}

.patient-approved-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #35C76F;
}

.patient-approved-metric-arrow {
    position: absolute;
    right: 18px;
    bottom: 18px;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 900;
}

.patient-approved-metric.is-purple .patient-approved-metric-arrow {
    background: #EEDCFF;
    color: #A21CAF;
}

.patient-approved-metric.is-blue .patient-approved-metric-arrow {
    background: #DBE9FF;
    color: #3778EA;
}

.patient-approved-metric.is-green .patient-approved-metric-arrow {
    background: #DDF4DD;
    color: #16A34A;
}

.patient-approved-metric.is-orange .patient-approved-metric-arrow {
    background: #FDECC4;
    color: #E87900;
}

.patient-approved-lower-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(330px, 1fr);
    gap: 20px;
    align-items: stretch;
}

.patient-approved-panel {
    margin-bottom: 0;
}

.patient-approved-panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.patient-approved-panel-heading h2 {
    margin: 0;
}

.patient-approved-period {
    padding: 5px 10px;
    border-radius: 999px;
    background: #F3E9FF;
    color: var(--primary);
    font-size: 11px;
    font-weight: 850;
    white-space: nowrap;
}

.patient-approved-actions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.patient-approved-action {
    min-height: 94px;
    padding: 12px;
    border: 1px solid transparent;
    border-radius: 14px;
    color: var(--text);
    text-decoration: none;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) 16px;
    align-items: center;
    gap: 9px;
    transition: transform .2s ease;
}

.patient-approved-action:hover {
    transform: translateY(-2px);
}

.patient-approved-action.is-purple {
    background: #FAF2FF;
    border-color: #EBDCF7;
}

.patient-approved-action.is-blue {
    background: #F1F6FF;
    border-color: #D9E8FC;
}

.patient-approved-action.is-green {
    background: #F1FBF1;
    border-color: #D8EFD8;
}

.patient-approved-action.is-orange {
    background: #FFF9EC;
    border-color: #F3E5C2;
}

.patient-approved-action-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    font-size: 18px;
}

.patient-approved-action strong,
.patient-approved-action small {
    display: block;
}

.patient-approved-action strong {
    font-size: 12px;
}

.patient-approved-action small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.35;
}

.patient-approved-action b {
    font-size: 20px;
}

.patient-approved-action.is-purple b {
    color: #A21CAF;
}

.patient-approved-action.is-blue b {
    color: #3778EA;
}

.patient-approved-action.is-green b {
    color: #16A34A;
}

.patient-approved-action.is-orange b {
    color: #E87900;
}

.patient-approved-week {
    min-height: 94px;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #FFFFFF;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.patient-approved-week > div {
    min-width: 0;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 8px;
}

.patient-approved-week-icon {
    grid-row: 1 / 3;
    width: 38px;
    height: 38px;
    border-radius: 11px;
}

.patient-approved-week strong {
    font-size: 16px;
}

.patient-approved-week small {
    color: var(--muted);
    font-size: 10px;
    line-height: 1.25;
}

.patient-approved-motivation {
    min-height: 58px;
    margin-top: 20px;
    padding: 12px 17px;
    border: 1px solid var(--border);
    border-radius: 15px;
    background: #FFFFFF;
    box-shadow: 0 7px 22px var(--shadow);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.patient-approved-motivation > div {
    display: flex;
    align-items: center;
    gap: 9px;
}

.patient-approved-motivation p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
}

@media (max-width: 1100px) {
    .patient-approved-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .patient-approved-lower-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 800px) {
    .patient-approved-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .patient-approved-welcome h1 {
        font-size: 28px;
    }

    .patient-approved-attention {
        grid-template-columns: 44px minmax(0, 1fr) auto;
    }

    .patient-approved-attention-icon {
        width: 44px;
        height: 44px;
    }

    .patient-approved-light-button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .patient-approved-metrics {
        grid-template-columns: 1fr;
    }

    .patient-approved-metric {
        min-height: 175px;
    }

    .patient-approved-week {
        grid-template-columns: 1fr;
    }

    .patient-approved-week > div {
        min-height: 52px;
    }

    .patient-approved-motivation {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    .patient-approved-actions {
        grid-template-columns: 1fr;
    }

    .patient-approved-panel-heading {
        align-items: flex-start;
    }
}

/* =========================================================
   MEINWEG 4.2.2 — CORREÇÃO DEFINITIVA DO CARD DE METAS
   A barra permanece em uma linha e o botão passa para o
   rodapé do card, ao lado do texto, sem sobreposição.
   ========================================================= */

.patient-approved-metric.is-green .patient-approved-progress {
    margin-right: 0;
}

.patient-approved-goal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 13px;
}

.patient-approved-goal-footer .patient-approved-metric-description {
    flex: 1 1 auto;
    max-width: none;
    margin-top: 0;
}

.patient-approved-goal-footer .patient-approved-goal-arrow {
    position: static;
    right: auto;
    bottom: auto;
    flex: 0 0 38px;
}

@media (max-width: 700px) {
    .patient-approved-goal-footer {
        gap: 14px;
    }
}

/* =========================================================
   MEINWEG 4.2.3 — AÇÕES RÁPIDAS SEM DESCRIÇÃO
   Mantém apenas ícone, nome do menu e seta.
   ========================================================= */

.patient-approved-action {
    min-height: 76px;
    padding: 13px 14px;
}

.patient-approved-action strong {
    font-size: 14px;
    line-height: 1.3;
}

.patient-approved-action > span:nth-child(2) {
    display: flex;
    align-items: center;
    min-height: 40px;
}

.patient-approved-action small {
    display: none;
}

@media (max-width: 800px) {
    .patient-approved-action {
        min-height: 72px;
    }
}


/* =========================================================
   MEINWEG 4.2.5 — RESUMO DA SEMANA E AÇÕES RÁPIDAS AJUSTADOS
   - Resumo da semana com título em cima, ícone no centro e número abaixo.
   - Ações rápidas com apenas 3 cards e textos em uma linha.
   ========================================================= */

.patient-approved-actions.patient-approved-actions-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.patient-approved-action {
    min-height: 82px;
    grid-template-columns: 40px minmax(0, 1fr) 16px;
}

.patient-approved-action > span:nth-child(2) {
    min-height: auto;
}

.patient-approved-action strong {
    font-size: 15px;
    line-height: 1.2;
    white-space: nowrap;
}

.patient-approved-week {
    align-items: stretch;
}

.patient-approved-week-item {
    min-width: 0;
    min-height: 108px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
}

.patient-approved-week-item small {
    order: 1;
    display: block;
    color: var(--text);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    min-height: 32px;
}

.patient-approved-week-item .patient-approved-week-icon {
    order: 2;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.patient-approved-week-item strong {
    order: 3;
    display: block;
    font-size: 30px;
    line-height: 1;
    color: var(--text);
}

@media (max-width: 900px) {
    .patient-approved-actions.patient-approved-actions-three {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .patient-approved-action strong {
        font-size: 14px;
        white-space: normal;
    }
}

@media (max-width: 800px) {
    .patient-approved-actions.patient-approved-actions-three {
        grid-template-columns: 1fr;
    }

    .patient-approved-action {
        min-height: 74px;
    }

    .patient-approved-week-item {
        min-height: 96px;
    }

    .patient-approved-week-item small {
        min-height: auto;
    }
}


/* =========================================================
   MEINWEG 4.2.6 — REFINO MOBILE DO DASHBOARD DO PACIENTE
   Ajustes focados em celular e tablet:
   - melhor leitura do cabeçalho e saudação
   - card de atenção mais confortável
   - cards principais com tipografia e espaçamento otimizados
   - ações rápidas com toque mais fácil
   - resumo da semana mais organizado em telas pequenas
   ========================================================= */

@media (max-width: 900px) {
    .patient-approved-welcome {
        margin-bottom: 18px;
    }

    .patient-approved-welcome h1 {
        line-height: 1.12;
    }

    .patient-approved-welcome > p:last-child {
        max-width: 100%;
        line-height: 1.55;
    }

    .patient-approved-attention {
        padding: 18px;
    }

    .patient-approved-panel {
        padding: 20px;
    }
}

@media (max-width: 700px) {
    .patient-approved-welcome {
        margin-bottom: 16px;
    }

    .patient-approved-eyebrow {
        font-size: 11px;
        letter-spacing: 0.12em;
    }

    .patient-approved-welcome h1 {
        font-size: 26px;
        margin-bottom: 10px;
    }

    .patient-approved-welcome > p:last-child {
        font-size: 15px;
    }

    .patient-approved-attention {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 14px;
        padding: 16px;
        border-radius: 18px;
    }

    .patient-approved-attention-icon {
        width: 40px;
        height: 40px;
        font-size: 20px;
    }

    .patient-approved-attention-copy h2 {
        font-size: 18px;
        line-height: 1.25;
    }

    .patient-approved-attention-copy p {
        font-size: 14px;
        line-height: 1.45;
    }

    .patient-approved-attention-count {
        justify-self: end;
        align-self: start;
        min-width: 34px;
        height: 34px;
        font-size: 14px;
    }

    .patient-approved-light-button {
        grid-column: 1 / -1;
        justify-content: center;
        text-align: center;
        min-height: 46px;
    }

    .patient-approved-metrics {
        gap: 14px;
    }

    .patient-approved-metric {
        min-height: auto;
        padding: 18px;
        border-radius: 20px;
    }

    .patient-approved-metric-title {
        font-size: 14px;
    }

    .patient-approved-metric-value {
        font-size: 18px;
        line-height: 1.25;
    }

    .patient-approved-metric-description {
        font-size: 14px;
        line-height: 1.45;
    }

    .patient-approved-metric-arrow {
        width: 38px;
        height: 38px;
        font-size: 24px;
    }

    .patient-approved-panel {
        padding: 18px;
        border-radius: 20px;
    }

    .patient-approved-panel-heading {
        gap: 8px;
        margin-bottom: 14px;
    }

    .patient-approved-panel-heading h2 {
        font-size: 17px;
    }

    .patient-approved-period {
        align-self: flex-start;
        font-size: 12px;
        padding: 8px 12px;
    }

    .patient-approved-actions.patient-approved-actions-three {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .patient-approved-action {
        min-height: 70px;
        padding: 14px 16px;
        border-radius: 16px;
    }

    .patient-approved-action strong {
        font-size: 15px;
        white-space: normal;
    }

    .patient-approved-week {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 14px;
    }

    .patient-approved-week-item {
        min-height: 88px;
        gap: 8px;
        padding: 8px 0;
    }

    .patient-approved-week-item small {
        min-height: auto;
        font-size: 12px;
    }

    .patient-approved-week-item strong {
        font-size: 28px;
    }

    .patient-approved-motivation {
        padding: 14px 16px;
        gap: 10px;
        border-radius: 16px;
    }

    .patient-approved-motivation p {
        font-size: 14px;
        line-height: 1.45;
    }
}

@media (max-width: 420px) {
    .patient-approved-welcome h1 {
        font-size: 24px;
    }

    .patient-approved-attention {
        padding: 14px;
    }

    .patient-approved-metric,
    .patient-approved-panel {
        padding: 16px;
    }

    .patient-approved-metric-value {
        font-size: 17px;
    }

    .patient-approved-action {
        min-height: 66px;
    }

    .patient-approved-action-icon,
    .patient-approved-week-icon,
    .patient-approved-metric-icon {
        width: 40px;
        height: 40px;
        font-size: 19px;
    }

    .patient-approved-week {
        padding: 12px;
    }
}

/* =========================================================
   MEINWEG 4.2.7 — ALINHAMENTO FINAL
   - Ações rápidas sempre em uma linha.
   - Resumo da semana realmente vertical e centralizado.
   ========================================================= */

/* AÇÕES RÁPIDAS: ícone + título em uma única linha + seta */
.patient-approved-actions.patient-approved-actions-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.patient-approved-actions-three .patient-approved-action {
    min-width: 0;
    min-height: 82px;
    padding: 12px 13px;
    grid-template-columns: 40px minmax(max-content, 1fr) 14px;
    column-gap: 10px;
}

.patient-approved-actions-three .patient-approved-action > span:nth-child(2) {
    min-width: 0;
    min-height: 40px;
    display: flex;
    align-items: center;
}

.patient-approved-actions-three .patient-approved-action strong {
    display: block;
    white-space: nowrap !important;
    font-size: 14px;
    line-height: 1.2;
}

.patient-approved-actions-three .patient-approved-action b {
    justify-self: end;
}

/* RESUMO DA SEMANA: título acima, ícone no meio e número abaixo */
.patient-approved-week {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch;
    gap: 0;
    padding: 12px;
}

.patient-approved-week > .patient-approved-week-item {
    min-width: 0;
    min-height: 118px;
    padding: 8px 10px;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    text-align: center !important;
}

.patient-approved-week > .patient-approved-week-item + .patient-approved-week-item {
    border-left: 1px solid var(--border);
}

.patient-approved-week > .patient-approved-week-item small {
    order: 1 !important;
    width: 100%;
    min-height: 32px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    color: var(--text);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
}

.patient-approved-week > .patient-approved-week-item .patient-approved-week-icon {
    order: 2 !important;
    grid-row: auto !important;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    font-size: 20px;
}

.patient-approved-week > .patient-approved-week-item strong {
    order: 3 !important;
    display: block !important;
    margin: 0;
    color: var(--text);
    font-size: 28px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
}

@media (max-width: 900px) {
    .patient-approved-actions.patient-approved-actions-three {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .patient-approved-actions-three .patient-approved-action {
        padding-left: 11px;
        padding-right: 11px;
        grid-template-columns: 38px minmax(max-content, 1fr) 12px;
        column-gap: 8px;
    }

    .patient-approved-actions-three .patient-approved-action strong {
        font-size: 13px;
        white-space: nowrap !important;
    }
}

@media (max-width: 700px) {
    .patient-approved-actions.patient-approved-actions-three {
        grid-template-columns: 1fr;
    }

    .patient-approved-actions-three .patient-approved-action {
        grid-template-columns: 40px minmax(0, 1fr) 16px;
    }

    .patient-approved-actions-three .patient-approved-action strong {
        font-size: 15px;
        white-space: nowrap !important;
    }

    .patient-approved-week {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0;
        padding: 10px 6px;
    }

    .patient-approved-week > .patient-approved-week-item {
        min-height: 108px;
        padding: 7px 4px;
        gap: 8px !important;
    }

    .patient-approved-week > .patient-approved-week-item small {
        min-height: 34px;
        font-size: 10px;
    }

    .patient-approved-week > .patient-approved-week-item .patient-approved-week-icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
        font-size: 18px;
    }

    .patient-approved-week > .patient-approved-week-item strong {
        font-size: 24px;
    }
}

@media (max-width: 420px) {
    .patient-approved-week > .patient-approved-week-item small {
        font-size: 9px;
    }
}

/* MeinWeg 4.2.8 — correção independente de cache */
.mw428-quick-actions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}
.mw428-quick-action {
    min-width: 0 !important;
    min-height: 82px !important;
    padding: 12px 11px !important;
    border: 1px solid transparent !important;
    border-radius: 14px !important;
    color: var(--text) !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.mw428-quick-action.mw428-blue { background: #F1F6FF !important; border-color: #D9E8FC !important; }
.mw428-quick-action.mw428-green { background: #F1FBF1 !important; border-color: #D8EFD8 !important; }
.mw428-quick-action.mw428-orange { background: #FFF9EC !important; border-color: #F3E5C2 !important; }
.mw428-quick-icon {
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    border-radius: 11px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
}
.mw428-blue .mw428-quick-icon { background: #DBE9FF !important; }
.mw428-green .mw428-quick-icon { background: #DDF4DD !important; }
.mw428-orange .mw428-quick-icon { background: #FDECC4 !important; }
.mw428-quick-action > span:nth-child(2) {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    display: block !important;
}
.mw428-quick-action strong {
    display: block !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
}
.mw428-quick-arrow {
    margin-left: auto !important;
    flex: 0 0 auto !important;
    font-size: 20px !important;
}
.mw428-blue .mw428-quick-arrow { color: #3778EA !important; }
.mw428-green .mw428-quick-arrow { color: #16A34A !important; }
.mw428-orange .mw428-quick-arrow { color: #E87900 !important; }

.mw428-week {
    min-height: 150px !important;
    padding: 12px !important;
    border: 1px solid var(--border) !important;
    border-radius: 14px !important;
    background: #fff !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
}
.mw428-week-item {
    min-width: 0 !important;
    min-height: 124px !important;
    padding: 8px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    text-align: center !important;
}
.mw428-week-item + .mw428-week-item { border-left: 1px solid var(--border) !important; }
.mw428-week-item small {
    order: 1 !important;
    min-height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--text) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-align: center !important;
}
.mw428-week-icon {
    order: 2 !important;
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    border-radius: 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
}
.mw428-week-icon.mw428-purple { background: #EEDCFF !important; }
.mw428-week-icon.mw428-green { background: #DDF4DD !important; }
.mw428-week-icon.mw428-blue { background: #DBE9FF !important; }
.mw428-week-item strong {
    order: 3 !important;
    display: block !important;
    margin: 0 !important;
    color: var(--text) !important;
    font-size: 28px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
}
@media (max-width: 800px) {
    .mw428-quick-actions { grid-template-columns: 1fr !important; }
    .mw428-quick-action strong { font-size: 15px !important; }
    .mw428-week { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; padding: 10px 6px !important; }
    .mw428-week-item { min-height: 110px !important; padding: 7px 4px !important; }
    .mw428-week-item small { font-size: 10px !important; min-height: 34px !important; }
    .mw428-week-icon { width: 40px !important; height: 40px !important; flex-basis: 40px !important; font-size: 18px !important; }
    .mw428-week-item strong { font-size: 24px !important; }
}


/* =========================================================
   PAINEL ADMINISTRATIVO COM PERFIL - MEINWEG 5.1
   Classes exclusivas para não alterar paciente ou psicólogo.
   ========================================================= */
.admin-v51-dashboard{padding-bottom:10px}.admin-v51-welcome{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:4px 0 24px}.admin-v51-welcome h1{font-size:34px;line-height:1.15;margin:4px 0 7px}.admin-v51-welcome p{color:var(--muted)}.admin-v51-eyebrow{display:inline-block;color:var(--primary);font-size:12px;font-weight:900;letter-spacing:1.25px;text-transform:uppercase}.admin-v51-top-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.admin-v51-stat{min-height:150px;padding:21px;border-radius:18px;border:1px solid transparent;display:flex;gap:14px;align-items:flex-start;box-shadow:0 10px 28px rgba(55,47,75,.08)}.admin-v51-stat-icon{width:44px;height:44px;flex:0 0 44px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:20px;background:rgba(255,255,255,.72)}.admin-v51-stat small{display:block;font-weight:800;color:#556070;margin-bottom:2px}.admin-v51-stat strong{display:block;font-size:35px;line-height:1.05;color:var(--text);margin:5px 0}.admin-v51-stat p{font-size:12px;color:#687384;line-height:1.35}.admin-v51-stat-blue{background:#edf5ff;border-color:#d7e8ff}.admin-v51-stat-purple{background:#f4efff;border-color:#e5d9ff}.admin-v51-stat-green{background:#effaf4;border-color:#d7f0e2}.admin-v51-stat-orange{background:#fff7ea;border-color:#f7e4c3}.admin-v51-attention{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:18px 20px;margin-bottom:20px;background:#f2fbf5;border:1px solid #d4eedc;border-radius:18px;box-shadow:0 8px 24px rgba(43,112,70,.06)}.admin-v51-attention-icon{width:46px;height:46px;border-radius:15px;background:#d9f3e2;color:#198754;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900}.admin-v51-attention h2{font-size:18px;margin:0 0 3px;color:var(--text)}.admin-v51-attention p{color:var(--muted);font-size:14px}.admin-v51-attention-count{min-width:38px;height:38px;padding:0 11px;border-radius:999px;background:#fff;color:#198754;display:flex;align-items:center;justify-content:center;font-weight:900;border:1px solid #cae9d5}.admin-v51-main-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;margin-bottom:20px}.admin-v51-panel{background:#fff;border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:0 8px 26px var(--shadow)}.admin-v51-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.admin-v51-panel-heading span{color:var(--primary);font-size:11px;font-weight:900;letter-spacing:1.15px;text-transform:uppercase}.admin-v51-panel-heading h2{font-size:21px;margin:2px 0 0;color:var(--text)}.admin-v51-panel-heading>a{font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}.admin-v51-user-list{display:grid;gap:9px}.admin-v51-user-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #eee8f7;border-radius:14px;background:#fff}.admin-v51-avatar{width:43px;height:43px;flex:0 0 43px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:17px;box-shadow:0 6px 14px color-mix(in srgb,var(--primary) 22%,transparent)}.admin-v51-user-copy{min-width:0}.admin-v51-user-copy strong,.admin-v51-user-copy small{display:block}.admin-v51-user-copy small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-v51-user-meta{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.admin-v51-role{font-size:12px;font-weight:800;color:#556070}.admin-v51-status{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;color:#7a818d}.admin-v51-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#aab0ba}.admin-v51-status.is-online{color:#198754}.admin-v51-status.is-online:before{background:#27ae60;box-shadow:0 0 0 4px #e4f7eb}.admin-v51-activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.admin-v51-activity{min-height:128px;padding:15px;border-radius:15px;text-decoration:none;color:var(--text);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border:1px solid transparent}.admin-v51-activity>span{font-size:21px;margin-bottom:6px}.admin-v51-activity small{font-weight:800;color:#5d6675;line-height:1.25}.admin-v51-activity strong{font-size:28px;line-height:1;margin-top:7px}.admin-v51-activity-purple{background:#f4efff;border-color:#e5d9ff}.admin-v51-activity-blue{background:#edf5ff;border-color:#d7e8ff}.admin-v51-activity-green{background:#effaf4;border-color:#d7f0e2}.admin-v51-activity-orange{background:#fff7ea;border-color:#f7e4c3}.admin-v51-quick-panel{margin-bottom:22px}.admin-v51-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-v51-quick{min-height:86px;padding:13px;border-radius:15px;text-decoration:none;color:var(--text);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid transparent;transition:.2s}.admin-v51-quick:hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(50,41,70,.09)}.admin-v51-quick-icon{width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.72);display:flex;align-items:center;justify-content:center;font-size:20px}.admin-v51-quick strong,.admin-v51-quick small{display:block}.admin-v51-quick strong{font-size:14px;line-height:1.25}.admin-v51-quick small{font-size:11px;color:#657080;line-height:1.3;margin-top:2px}.admin-v51-quick b{font-size:24px}.admin-v51-quick-blue{background:#edf5ff;border-color:#d7e8ff}.admin-v51-quick-purple{background:#f4efff;border-color:#e5d9ff}.admin-v51-quick-green{background:#effaf4;border-color:#d7f0e2}.admin-v51-settings-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);gap:22px;align-items:start}.admin-v51-settings-card h2{margin:22px 0 8px}.admin-v51-preview-card{position:sticky;top:110px}.admin-v51-preview-card h2{font-size:28px;margin:10px 0 0}.admin-v51-preview-card>p{color:var(--muted);letter-spacing:1px;text-transform:uppercase;font-size:12px}.admin-v51-preview-colors{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0}.admin-v51-preview-colors span{height:62px;border-radius:13px;border:1px solid var(--border)}.admin-v51-users-card{padding:20px}.admin-v51-filter{display:grid;grid-template-columns:minmax(220px,2fr) 1fr 1.25fr auto;gap:10px;align-items:end;margin-bottom:20px}.admin-v51-filter input,.admin-v51-filter select{margin:0}.admin-v51-users-list{display:grid;gap:12px}.admin-v51-user-editor{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(420px,1.2fr);align-items:center;gap:20px;padding:15px;border:1px solid #ece6f5;border-radius:16px;background:#fff}.admin-v51-user-identity{display:flex;align-items:center;gap:13px;min-width:0}.admin-v51-user-identity>div{min-width:0}.admin-v51-user-identity strong,.admin-v51-user-identity small{display:block}.admin-v51-user-identity small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-v51-user-identity .admin-v51-status{margin-top:5px}.admin-v51-permission-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) auto;align-items:end;gap:12px}.admin-v51-permission-form label{margin:0}.admin-v51-permission-form select{margin:5px 0 0}.admin-v51-admin-toggle{height:48px;margin-top:5px!important;padding:0 12px;border:1px solid #d8d4e1;border-radius:11px;display:flex!important;align-items:center;gap:9px;background:#faf9fc}.admin-v51-admin-toggle input{width:18px;height:18px;margin:0}.admin-v51-admin-toggle span{font-size:13px}.admin-v51-permission-form .btn{height:48px}.admin-v51-empty{text-align:center;padding:24px;color:var(--muted)}
@media(max-width:1050px){.admin-v51-top-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-v51-main-grid{grid-template-columns:1fr}.admin-v51-user-editor{grid-template-columns:1fr}.admin-v51-filter{grid-template-columns:1fr 1fr}.admin-v51-filter .btn{width:100%}.admin-v51-settings-layout{grid-template-columns:1fr}.admin-v51-preview-card{position:static}.admin-v51-quick-grid{grid-template-columns:1fr}}
@media(max-width:700px){.admin-v51-welcome{align-items:flex-start;flex-direction:column}.admin-v51-welcome h1{font-size:28px}.admin-v51-welcome .btn{width:100%}.admin-v51-top-grid{grid-template-columns:1fr}.admin-v51-stat{min-height:auto}.admin-v51-attention{grid-template-columns:auto 1fr}.admin-v51-attention-count{display:none}.admin-v51-panel{padding:18px}.admin-v51-user-row{grid-template-columns:auto minmax(0,1fr)}.admin-v51-user-meta{grid-column:2;text-align:left;align-items:flex-start}.admin-v51-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-v51-filter{grid-template-columns:1fr}.admin-v51-user-editor{padding:13px}.admin-v51-permission-form{grid-template-columns:1fr}.admin-v51-permission-form .btn{width:100%}.admin-v51-settings-card .form-grid{grid-template-columns:1fr}}
@media(max-width:420px){.admin-v51-activity-grid{grid-template-columns:1fr}.admin-v51-quick{grid-template-columns:auto minmax(0,1fr) auto}.admin-v51-user-identity{align-items:flex-start}.admin-v51-avatar{width:40px;height:40px;flex-basis:40px}}


/* ==============================================================
   PÁGINA INICIAL PROFISSIONAL — MEINWEG 5.2
   Escopo isolado para não alterar dashboards e páginas internas.
   ============================================================== */
.landing-body {
    background: #fff;
}

.landing-body .site-header {
    margin-bottom: 0;
    background: rgba(255, 255, 255, .94);
    border-bottom: 1px solid rgba(124, 58, 237, .10);
    box-shadow: 0 6px 24px rgba(69, 38, 110, .06);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

.landing-body .header-inner {
    min-height: 78px;
}

.landing-body .main-nav a {
    position: relative;
    padding: 10px 13px;
    background: transparent;
}

.landing-body .main-nav a:hover,
.landing-body .main-nav a.active {
    background: transparent;
    color: var(--primary);
}

.landing-body .main-nav a.active::after {
    content: "";
    position: absolute;
    left: 13px;
    right: 13px;
    bottom: 2px;
    height: 2px;
    border-radius: 999px;
    background: var(--primary);
}

.landing-main {
    width: 100%;
    max-width: none;
    min-height: auto;
    padding: 0;
    overflow: hidden;
}

.landing-main > .alert {
    width: min(92%, 1180px);
    margin: 18px auto;
}

.landing-home {
    --landing-ink: #17233d;
    --landing-muted: #667085;
    --landing-line: #e9e3f4;
    color: var(--landing-ink);
    background:
        radial-gradient(circle at 14% 18%, rgba(186, 145, 255, .16), transparent 27rem),
        radial-gradient(circle at 84% 22%, rgba(232, 208, 255, .24), transparent 30rem),
        #fff;
}

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

.landing-shell {
    width: min(92%, 1280px);
    margin-inline: auto;
}

.landing-hero {
    position: relative;
    padding: 54px 0 38px;
    background:
        linear-gradient(180deg, rgba(250, 247, 255, .96), rgba(250, 247, 255, .68)),
        radial-gradient(circle at 65% 35%, rgba(142, 75, 255, .12), transparent 26rem);
    border-bottom: 1px solid rgba(124, 58, 237, .08);
}

.landing-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(560px, 1.18fr);
    align-items: center;
    gap: clamp(36px, 5vw, 78px);
}

.landing-copy {
    position: relative;
    z-index: 2;
    padding: 24px 0 38px;
}

.landing-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 14px;
    margin-bottom: 20px;
    border: 1px solid rgba(124, 58, 237, .20);
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    color: var(--primary);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.landing-copy h1 {
    max-width: 650px;
    margin: 0;
    color: var(--landing-ink);
    font-size: clamp(42px, 4.4vw, 66px);
    line-height: 1.08;
    letter-spacing: -2.2px;
    text-wrap: balance;
}

.landing-copy > p {
    max-width: 650px;
    margin: 22px 0 0;
    color: var(--landing-muted);
    font-size: clamp(17px, 1.35vw, 20px);
    line-height: 1.55;
}

.landing-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.landing-btn {
    min-width: 172px;
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 13px 23px;
    border: 2px solid transparent;
    border-radius: 999px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 800;
    transition: transform .22s, box-shadow .22s, background .22s, color .22s;
}

.landing-btn svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.landing-btn:hover {
    transform: translateY(-2px);
}

.landing-btn-primary {
    color: #fff;
    background: linear-gradient(135deg, #8b2cf5, var(--primary));
    box-shadow: 0 14px 30px rgba(124, 58, 237, .25);
}

.landing-btn-primary:hover {
    color: #fff;
    box-shadow: 0 18px 36px rgba(124, 58, 237, .32);
}

.landing-btn-outline {
    color: var(--primary);
    background: rgba(255, 255, 255, .72);
    border-color: var(--primary);
}

.landing-btn-outline:hover {
    color: var(--primary);
    background: #fff;
    box-shadow: 0 14px 26px rgba(124, 58, 237, .14);
}

.landing-preview-wrap {
    position: relative;
    z-index: 1;
    padding: 22px 0;
}

.landing-preview-glow {
    position: absolute;
    inset: 8% 7% -4%;
    border-radius: 42px;
    background: rgba(124, 58, 237, .18);
    filter: blur(48px);
    opacity: .48;
}

.landing-preview-window {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(88, 49, 145, .22);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 30px 70px rgba(55, 33, 88, .18), 0 5px 18px rgba(55, 33, 88, .09);
}

.landing-preview-browser {
    height: 37px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 17px;
    background: linear-gradient(180deg, #fff, #faf8fd);
    border-bottom: 1px solid #eee8f5;
}

.landing-preview-browser span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #ff7979;
}

.landing-preview-browser span:nth-child(2) { background: #ffc55d; }
.landing-preview-browser span:nth-child(3) { background: #aa9ce5; }

.landing-preview-app {
    min-height: 392px;
    display: grid;
    grid-template-columns: 142px minmax(0, 1fr);
    background: #fbfaff;
}

.landing-preview-sidebar {
    padding: 22px 13px;
    background: #fff;
    border-right: 1px solid #eee9f5;
}

.landing-preview-logo {
    display: flex;
    flex-direction: column;
    padding: 0 8px 18px;
}

.landing-preview-logo strong {
    color: var(--primary);
    font-size: 16px;
    line-height: 1;
}

.landing-preview-logo small {
    margin-top: 5px;
    color: var(--secondary);
    font-size: 6px;
    font-weight: 800;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}

.landing-preview-sidebar nav {
    display: grid;
    gap: 4px;
}

.landing-preview-sidebar nav span {
    min-height: 31px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 9px;
    border-radius: 8px;
    color: #4f5667;
    font-size: 8px;
    font-weight: 700;
    white-space: nowrap;
}

.landing-preview-sidebar nav span.is-active {
    color: var(--primary);
    background: #f0e8ff;
}

.landing-preview-sidebar nav i {
    width: 15px;
    color: currentColor;
    font-style: normal;
    font-size: 12px;
    text-align: center;
}

.landing-preview-content {
    min-width: 0;
    padding: 24px 22px 20px;
}

.landing-preview-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 17px;
}

.landing-preview-head h2 {
    margin: 0;
    color: #1d2942;
    font-size: 19px;
    line-height: 1.15;
}

.landing-preview-head p {
    margin: 4px 0 0;
    color: #7a8190;
    font-size: 8px;
}

.landing-preview-head > a {
    min-width: 112px;
    padding: 8px 12px;
    border-radius: 8px;
    background: linear-gradient(135deg, #8b2cf5, var(--primary));
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: 8px;
    font-weight: 800;
}

.landing-preview-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.landing-preview-stats article {
    min-width: 0;
    min-height: 83px;
    padding: 12px;
    border: 1px solid #eee9f5;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 5px 14px rgba(55, 33, 88, .05);
}

.landing-preview-stats small,
.landing-preview-stats em {
    display: block;
    color: #777e8c;
    font-size: 7px;
    font-style: normal;
    line-height: 1.3;
}

.landing-preview-stats strong {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 7px 0 2px;
    color: #1f2b43;
    font-size: 17px;
    line-height: 1;
}

.landing-preview-stats .landing-preview-date {
    margin-top: 10px;
    font-size: 12px;
    white-space: nowrap;
}

.landing-mood-face {
    width: 23px;
    height: 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ddf8e9;
    color: #19a667;
    font-size: 17px;
}

.landing-preview-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(150px, .72fr);
    gap: 12px;
    margin-top: 12px;
}

.landing-preview-chart-card,
.landing-preview-activity {
    min-width: 0;
    padding: 13px;
    border: 1px solid #eee9f5;
    border-radius: 11px;
    background: #fff;
}

.landing-preview-card-title {
    display: flex;
    flex-direction: column;
}

.landing-preview-card-title strong,
.landing-preview-activity > strong {
    color: #27324a;
    font-size: 9px;
}

.landing-preview-card-title small {
    margin-top: 2px;
    color: #8a90a0;
    font-size: 7px;
}

.landing-chart {
    width: 100%;
    height: 120px;
    margin-top: 6px;
    overflow: visible;
}

.landing-chart-grid {
    fill: none;
    stroke: #eeeaf5;
    stroke-width: 1;
}

.landing-chart-area { fill: url(#landingChartFill); }
.landing-chart-line { fill: none; stroke: var(--primary); stroke-width: 4; stroke-linecap: round; }
.landing-chart-dots circle { fill: var(--primary); stroke: #fff; stroke-width: 3; }

.landing-chart-days {
    display: flex;
    justify-content: space-between;
    color: #9398a5;
    font-size: 6px;
}

.landing-preview-activity {
    display: grid;
    align-content: start;
    gap: 11px;
}

.landing-preview-activity > div {
    display: flex;
    align-items: flex-start;
    gap: 7px;
}

.landing-preview-activity i {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    font-size: 8px;
    font-style: normal;
    font-weight: 900;
}

.landing-preview-activity i.is-green { color: #1c9a63; background: #e5f8ee; }
.landing-preview-activity i.is-pink { color: #e65b8d; background: #ffedf4; }
.landing-preview-activity i.is-blue { color: #4d83e6; background: #eaf1ff; }

.landing-preview-activity span {
    color: #3e485d;
    font-size: 7px;
    line-height: 1.25;
}

.landing-preview-activity span small {
    display: block;
    margin-top: 2px;
    color: #9499a5;
    font-size: 6px;
}

.landing-preview-activity > a {
    margin-top: auto;
    padding: 6px;
    border: 1px solid #e8def7;
    border-radius: 7px;
    color: var(--primary);
    text-align: center;
    text-decoration: none;
    font-size: 7px;
    font-weight: 800;
}

/* Separação física entre o banner principal e o bloco de destaques.
   Foi criada como um elemento próprio para não depender de margem ou cache antigo. */
.landing-section-gap {
    display: block;
    width: 100%;
    height: 64px;
    background: linear-gradient(180deg, rgba(250, 247, 255, .68) 0%, #ffffff 100%);
}

.landing-trust {
    position: relative;
    z-index: 3;
    margin: 0;
    padding: 0 0 50px;
    background: #fff;
}

.landing-trust-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    overflow: hidden;
    border: 1px solid var(--landing-line);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 13px 32px rgba(60, 38, 91, .08);
}

.landing-trust-grid article {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px 28px;
}

.landing-trust-grid article + article {
    border-left: 1px solid var(--landing-line);
}

.landing-round-icon {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.landing-round-icon svg,
.landing-feature-card svg,
.landing-step-icon svg {
    width: 26px;
    height: 26px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.landing-icon-purple { color: #7935e8; background: #f0e7ff; }
.landing-icon-violet { color: #8b34ee; background: #f4eaff; }

.landing-trust-grid h2 {
    margin: 0 0 3px;
    color: var(--landing-ink);
    font-size: 15px;
}

.landing-trust-grid p {
    margin: 0;
    color: var(--landing-muted);
    font-size: 12px;
    line-height: 1.35;
}

.landing-section {
    padding: 22px 0 12px;
    background: #fff;
}

.landing-section-heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 20px;
    text-align: center;
}

.landing-section-heading span {
    color: var(--primary);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.landing-section-heading h2 {
    margin: 3px 0 0;
    color: var(--landing-ink);
    font-size: clamp(25px, 2.2vw, 34px);
    letter-spacing: -.5px;
}

.landing-feature-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 15px;
}

.landing-feature-card {
    min-width: 0;
    min-height: 190px;
    padding: 24px 17px 20px;
    border: 1px solid rgba(124, 58, 237, .06);
    border-radius: 17px;
    text-align: center;
    transition: transform .22s, box-shadow .22s;
}

.landing-feature-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 28px rgba(55, 33, 88, .10);
}

.landing-feature-card > span {
    width: 49px;
    height: 49px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 13px;
    border-radius: 15px;
    background: rgba(255, 255, 255, .60);
}

.landing-feature-card h3 {
    margin: 0 0 7px;
    color: var(--landing-ink);
    font-size: 15px;
    line-height: 1.25;
}

.landing-feature-card p {
    margin: 0;
    color: #687083;
    font-size: 12px;
    line-height: 1.45;
}

.landing-feature-card.is-lilac { color: #8951dd; background: #f6efff; }
.landing-feature-card.is-pink { color: #ea5a9f; background: #fff0f7; }
.landing-feature-card.is-peach { color: #f47b36; background: #fff3ec; }
.landing-feature-card.is-blue { color: #448ae4; background: #eef5ff; }
.landing-feature-card.is-green { color: #25a86a; background: #edfbf4; }
.landing-feature-card.is-violet { color: #8c48df; background: #f7f0ff; }

.landing-how {
    padding-top: 20px;
}

.landing-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 34px;
    padding: 2px 7% 16px;
}

.landing-steps article {
    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 15px;
    align-items: center;
}

.landing-steps article:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(100% + 7px);
    width: 22px;
    border-top: 2px dashed rgba(124, 58, 237, .25);
}

.landing-steps b {
    position: absolute;
    top: -8px;
    left: -12px;
    width: 27px;
    height: 27px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    font-size: 13px;
    box-shadow: 0 6px 14px rgba(124, 58, 237, .24);
}

.landing-step-icon {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e5d8f7;
    border-radius: 15px;
    background: #faf6ff;
    color: #a56af0;
}

.landing-steps h3 {
    margin: 0 0 5px;
    color: var(--landing-ink);
    font-size: 15px;
}

.landing-steps p {
    margin: 0;
    color: var(--landing-muted);
    font-size: 12px;
    line-height: 1.4;
}

.landing-closing {
    padding: 14px 0 26px;
    background: #fff;
}

.landing-quote-card {
    position: relative;
    min-height: 88px;
    display: flex;
    align-items: center;
    gap: 20px;
    overflow: hidden;
    padding: 18px 250px 18px 90px;
    border: 1px solid #e6d9f5;
    border-radius: 17px;
    background: linear-gradient(90deg, #fbf7ff 0%, #fff 58%, #fbf5ff 100%);
}

.landing-quote-mark {
    position: absolute;
    left: 30px;
    top: -2px;
    color: var(--primary);
    font-family: Georgia, serif;
    font-size: 82px;
    line-height: 1;
}

.landing-quote-card h2 {
    margin: 0 0 4px;
    color: var(--landing-ink);
    font-size: 15px;
}

.landing-quote-card p {
    margin: 0;
    color: var(--landing-muted);
    font-size: 13px;
}

.landing-dandelion {
    position: absolute;
    right: 22px;
    bottom: -3px;
    width: 225px;
    height: 90px;
    color: #8c4bd8;
}

.landing-site-footer {
    margin: 0;
    padding: 0;
    background: #fff;
    border-top: 1px solid #eee8f5;
}

.landing-footer-inner {
    min-height: 78px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 25px;
}

.landing-footer-brand {
    display: inline-flex;
    flex-direction: column;
    justify-self: start;
    text-decoration: none;
}

.landing-footer-brand strong {
    color: var(--primary);
    font-size: 21px;
    line-height: 1;
}

.landing-footer-brand small {
    margin-top: 5px;
    color: var(--secondary);
    font-size: 7px;
    font-weight: 800;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}

.landing-site-footer .footer-copy {
    margin: 0;
    color: #7a8190;
    font-size: 12px;
}

.landing-site-footer .footer-copy .footer-icon {
    width: 16px !important;
    height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    flex-basis: 16px;
}

.landing-footer-nav {
    display: flex;
    justify-self: end;
    gap: 20px;
}

.landing-footer-nav a {
    color: #677084;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
}

.landing-footer-nav a:hover { color: var(--primary); }

@media (max-width: 1120px) {
    .landing-hero-grid {
        grid-template-columns: minmax(0, .9fr) minmax(500px, 1.1fr);
        gap: 34px;
    }

    .landing-copy h1 {
        font-size: clamp(39px, 4.4vw, 54px);
    }

    .landing-preview-app {
        grid-template-columns: 118px minmax(0, 1fr);
    }

    .landing-preview-content { padding: 20px 16px 17px; }
    .landing-preview-sidebar nav span { font-size: 7px; padding-inline: 7px; }
    .landing-feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .landing-feature-card { min-height: 175px; }
}

@media (max-width: 950px) {
    .landing-body .main-nav a.active::after { display: none; }
    .landing-hero { padding-top: 34px; }
    .landing-hero-grid { grid-template-columns: 1fr; }
    .landing-copy { max-width: 760px; padding-bottom: 6px; }
    .landing-preview-wrap { width: min(100%, 760px); margin-inline: auto; }
    .landing-trust-grid { grid-template-columns: 1fr; }
    .landing-trust-grid article + article { border-left: 0; border-top: 1px solid var(--landing-line); }
    .landing-steps { padding-inline: 2%; gap: 25px; }
    .landing-steps article:not(:last-child)::after { display: none; }
    .landing-footer-inner { grid-template-columns: 1fr; justify-items: center; padding: 22px 0; gap: 13px; }
    .landing-footer-brand, .landing-footer-nav { justify-self: center; }
}

@media (max-width: 700px) {
    .landing-body .site-header { margin-bottom: 0; }
    .landing-hero { padding: 25px 0 28px; }
    .landing-copy { padding: 12px 0 6px; text-align: center; }
    .landing-kicker { margin-bottom: 15px; }
    .landing-copy h1 { font-size: clamp(34px, 10.5vw, 48px); letter-spacing: -1.4px; }
    .landing-copy > p { margin-top: 17px; font-size: 16px; }
    .landing-actions { justify-content: center; margin-top: 24px; }
    .landing-btn { min-width: min(100%, 220px); }
    .landing-preview-wrap { padding-top: 20px; }
    .landing-preview-window { border-radius: 14px; }
    .landing-preview-browser { height: 29px; }
    .landing-preview-app { min-height: 330px; grid-template-columns: 82px minmax(0, 1fr); }
    .landing-preview-sidebar { padding: 14px 7px; }
    .landing-preview-logo { padding: 0 3px 10px; }
    .landing-preview-logo strong { font-size: 11px; }
    .landing-preview-logo small { display: none; }
    .landing-preview-sidebar nav span { min-height: 25px; gap: 3px; padding: 5px; font-size: 0; }
    .landing-preview-sidebar nav i { width: 100%; font-size: 12px; }
    .landing-preview-content { padding: 14px 10px; }
    .landing-preview-head { margin-bottom: 10px; }
    .landing-preview-head h2 { font-size: 14px; }
    .landing-preview-head p { display: none; }
    .landing-preview-head > a { min-width: auto; padding: 7px 8px; font-size: 0; }
    .landing-preview-head > a::first-letter { font-size: 12px; }
    .landing-preview-stats { grid-template-columns: repeat(2, 1fr); gap: 7px; }
    .landing-preview-stats article { min-height: 64px; padding: 8px; }
    .landing-preview-stats small { font-size: 6px; }
    .landing-preview-stats strong { margin-top: 5px; font-size: 13px; }
    .landing-preview-stats .landing-preview-date { font-size: 9px; }
    .landing-preview-bottom { grid-template-columns: 1fr; gap: 7px; }
    .landing-preview-activity { display: none; }
    .landing-chart { height: 88px; }
    .landing-section-gap { height: 40px; }
    .landing-trust { padding: 0 4% 40px; }
    .landing-trust-grid { width: 100%; }
    .landing-trust-grid article { padding: 17px; }
    .landing-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .landing-feature-card { min-height: 176px; padding: 20px 12px 16px; }
    .landing-feature-card h3 { font-size: 14px; }
    .landing-feature-card p { font-size: 11px; }
    .landing-steps { grid-template-columns: 1fr; gap: 17px; padding: 0 4%; }
    .landing-steps article { min-height: 76px; }
    .landing-quote-card { padding: 22px 28px 22px 70px; }
    .landing-quote-mark { left: 20px; font-size: 68px; }
    .landing-dandelion { display: none; }
    .landing-quote-card h2 { font-size: 14px; }
    .landing-footer-nav { gap: 14px; }
}

@media (max-width: 430px) {
    .landing-shell { width: 91%; }
    .landing-actions { flex-direction: column; align-items: stretch; }
    .landing-btn { width: 100%; max-width: none; }
    .landing-preview-app { grid-template-columns: 54px minmax(0, 1fr); }
    .landing-preview-sidebar { padding-inline: 5px; }
    .landing-preview-sidebar nav i { font-size: 11px; }
    .landing-preview-stats { grid-template-columns: 1fr 1fr; }
    .landing-feature-grid { grid-template-columns: 1fr; }
    .landing-feature-card { min-height: auto; }
    .landing-trust-grid h2 { font-size: 14px; }
    .landing-trust-grid p { font-size: 11px; }
    .landing-round-icon { width: 46px; height: 46px; flex-basis: 46px; }
}

/* =========================================================
   MEINWEG 5.2.4 — CARDS COLORIDOS DA PÁGINA EVOLUÇÃO
   Mantém o mesmo padrão visual do dashboard do paciente.
   ========================================================= */
.evolution-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 36px;
}

.evolution-summary-card {
    position: relative;
    min-height: 180px;
    padding: 20px;
    border: 1px solid transparent;
    border-radius: 18px;
    color: var(--text);
    text-decoration: none;
    overflow: hidden;
    box-shadow: 0 8px 26px rgba(88, 49, 145, .07);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.evolution-summary-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 34px rgba(63, 36, 105, .12);
}

.evolution-summary-card.is-purple {
    background: #FAF2FF;
    border-color: #EBDCF7;
}

.evolution-summary-card.is-green {
    background: #F1FBF1;
    border-color: #D8EFD8;
}

.evolution-summary-card.is-orange {
    background: #FFF9EC;
    border-color: #F3E5C2;
}

.evolution-summary-card.is-blue {
    background: #F1F6FF;
    border-color: #D9E8FC;
}

.evolution-summary-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 14px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.evolution-summary-card.is-purple .evolution-summary-icon,
.evolution-summary-card.is-purple .evolution-summary-arrow {
    background: #EEDCFF;
    color: #A21CAF;
}

.evolution-summary-card.is-green .evolution-summary-icon,
.evolution-summary-card.is-green .evolution-summary-arrow {
    background: #DDF4DD;
    color: #16A34A;
}

.evolution-summary-card.is-orange .evolution-summary-icon,
.evolution-summary-card.is-orange .evolution-summary-arrow {
    background: #FDECC4;
    color: #E87900;
}

.evolution-summary-card.is-blue .evolution-summary-icon,
.evolution-summary-card.is-blue .evolution-summary-arrow {
    background: #DBE9FF;
    color: #3778EA;
}

.evolution-summary-title,
.evolution-summary-value,
.evolution-summary-description {
    display: block;
}

.evolution-summary-title {
    font-size: 15px;
    font-weight: 850;
}

.evolution-summary-value {
    margin-top: 9px;
    padding-right: 40px;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.15;
}

.evolution-summary-value-text {
    font-size: 22px;
}

.evolution-summary-card.is-purple .evolution-summary-value { color: #A21CAF; }
.evolution-summary-card.is-green .evolution-summary-value { color: #16A34A; }
.evolution-summary-card.is-orange .evolution-summary-value { color: #E87900; }
.evolution-summary-card.is-blue .evolution-summary-value { color: #3778EA; }

.evolution-summary-description {
    max-width: calc(100% - 38px);
    margin-top: 7px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.4;
}

.evolution-summary-arrow {
    position: absolute;
    right: 18px;
    bottom: 18px;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 900;
}

@media (max-width: 1050px) {
    .evolution-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .evolution-summary-grid {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-bottom: 26px;
    }

    .evolution-summary-card {
        min-height: 164px;
    }
}

/* =========================================================
   MEINWEG 5.3 — METAS INTELIGENTES
   ========================================================= */
.goals-page-heading,.goals-detail-heading{align-items:flex-end;margin-bottom:24px}.goals-eyebrow{display:block;margin-bottom:8px;color:var(--primary);font-size:12px;font-weight:900;letter-spacing:1.8px}.goals-create-button{min-width:170px;justify-content:center}.goals-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.goals-summary-card{position:relative;min-height:150px;padding:20px;border:1px solid transparent;border-radius:18px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;box-shadow:0 10px 28px rgba(62,37,101,.07);overflow:hidden}.goals-summary-card>span:not(.goals-summary-icon){font-size:14px;font-weight:800;color:#4B5563}.goals-summary-card strong{margin-top:7px;font-size:34px;line-height:1;color:var(--text)}.goals-summary-icon{position:absolute;top:18px;left:18px;width:45px;height:45px;display:flex;align-items:center;justify-content:center;border-radius:14px;font-size:21px}.goals-summary-card.is-purple{background:#FAF3FF;border-color:#ECDCF8}.goals-summary-card.is-purple .goals-summary-icon{background:#EEDCFF;color:#8B2BE2}.goals-summary-card.is-green{background:#F1FBF3;border-color:#D9F0DE}.goals-summary-card.is-green .goals-summary-icon{background:#DCF4E2;color:#15975A}.goals-summary-card.is-blue{background:#F1F6FF;border-color:#D9E6FA}.goals-summary-card.is-blue .goals-summary-icon{background:#DDEAFF;color:#3778EA}.goals-summary-card.is-orange{background:#FFF8EB;border-color:#F2E4C3}.goals-summary-card.is-orange .goals-summary-icon{background:#FCEBC7;color:#D97905}.goals-form-card{border:1px solid #E9DFF7}.goals-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.goals-section-heading>div{display:flex;gap:13px;align-items:flex-start}.goals-section-heading h2{margin:0 0 5px}.goals-section-heading p{margin:0;color:var(--muted);font-size:14px}.goals-section-icon{width:42px;height:42px;flex:0 0 42px;display:flex;align-items:center;justify-content:center;border-radius:13px;background:#F0E5FF;color:var(--primary);font-weight:900}.goals-close-link{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;background:#F4F1F8;color:#6B7280;text-decoration:none;font-size:26px;line-height:1}.goals-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}.goals-field-wide{grid-column:1/-1}.goals-field small,.goals-current-readonly small{display:block;margin-top:-5px;color:var(--muted);font-size:12px;line-height:1.4}.goals-readonly-value{min-height:48px;margin:7px 0 12px;padding:12px 13px;border:1px solid #DDD7E6;border-radius:11px;background:#F7F5FA;font-size:18px;font-weight:850}.goals-share-option{display:flex;gap:12px;align-items:flex-start;margin-top:10px;padding:16px;border:1px solid #E6DDF2;border-radius:14px;background:#FBF9FE;cursor:pointer}.goals-share-option input{width:18px;height:18px;margin:2px 0 0;flex:0 0 18px}.goals-share-option span{display:grid;gap:3px}.goals-share-option strong{font-size:14px}.goals-share-option small{color:var(--muted);font-size:13px}.goals-toolbar-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 28px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(76,48,116,.05)}.goals-filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.goals-filter-group>span{margin-right:4px;color:var(--muted);font-size:13px;font-weight:800}.goals-filter-chip{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border-radius:999px;color:#5D6470;text-decoration:none;font-size:13px;font-weight:800}.goals-filter-chip:hover,.goals-filter-chip.is-active{background:#F0E5FF;color:var(--primary)}.goals-category-filter select{width:auto;min-width:210px;margin:0}.goals-list-section{margin-bottom:28px}.goals-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.goals-list-heading h2{margin:0 0 4px}.goals-list-heading p{margin:0;color:var(--muted);font-size:14px}.goals-result-count{min-width:38px;height:38px;padding:0 10px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#F0E5FF;color:var(--primary);font-weight:900}.goals-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.goal-card,.goal-detail-hero{--goal-accent:#8B5CF6;--goal-soft:#F5F0FF;position:relative;border:1px solid #E8E0F2;border-radius:19px;background:#fff;overflow:hidden;box-shadow:0 11px 28px rgba(62,37,101,.07)}.goal-card{padding:22px}.goal-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(62,37,101,.1)}.goal-card,.goal-card *{transition:transform .2s,box-shadow .2s}.goal-card-accent{position:absolute;top:0;left:0;right:0;height:5px;background:var(--goal-accent)}.category-financeira{--goal-accent:#16A34A;--goal-soft:#EBF9EF}.category-viagem{--goal-accent:#2563EB;--goal-soft:#EEF4FF}.category-saude{--goal-accent:#10B981;--goal-soft:#ECFBF5}.category-estudos{--goal-accent:#7C3AED;--goal-soft:#F4EEFF}.category-carreira{--goal-accent:#475569;--goal-soft:#F1F5F9}.category-desenvolvimento{--goal-accent:#D97706;--goal-soft:#FFF7E8}.category-casa_familia{--goal-accent:#DB2777;--goal-soft:#FFF0F6}.category-habitos{--goal-accent:#0891B2;--goal-soft:#ECFAFD}.category-outra{--goal-accent:#8B5CF6;--goal-soft:#F5F0FF}.goal-card-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:start}.goal-category-icon{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:var(--goal-soft);font-size:21px}.goal-category-icon.is-large{width:58px;height:58px;border-radius:17px;font-size:27px}.goal-card-heading{min-width:0}.goal-category-label,.psychologist-goal-category{display:block;margin-bottom:4px;color:var(--goal-accent);font-size:11px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}.goal-card h3{margin:0;font-size:19px;line-height:1.3;overflow-wrap:anywhere}.goal-priority{padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.priority-baixa{background:#EDF7F0;color:#268252}.priority-media{background:#FFF5DA;color:#A86800}.priority-alta{background:#FDE9EC;color:#B42A39}.goal-card-description{display:-webkit-box;min-height:42px;margin:17px 0 13px;color:#596170;font-size:14px;line-height:1.5;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.goal-status-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.goal-status{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}.status-pendente,.status-andamento{background:#EEE7FF;color:#6D28D9}.status-pausada{background:#FFF2D6;color:#996000}.status-concluida{background:#DCF7E8;color:#147A4D}.status-cancelada{background:#F0F1F4;color:#6B7280}.goal-shared-badge{font-size:11px;font-weight:800;color:#6C7280}.goal-progress-values{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:18px}.goal-progress-values strong{font-size:21px;color:var(--text)}.goal-progress-values span{color:var(--muted);font-size:13px;text-align:right}.goal-progress-track{height:11px;margin:10px 0 7px;border-radius:999px;background:#ECE8F1;overflow:hidden}.goal-progress-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--goal-accent),color-mix(in srgb,var(--goal-accent) 68%,white))}.goal-progress-track.is-large{height:15px;margin:0}.goal-progress-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.goal-progress-footer strong{color:var(--goal-accent);font-size:13px}.goal-task-state{display:flex;align-items:center;gap:10px;margin:18px 0;padding:14px;border-radius:13px;background:var(--goal-soft);color:var(--goal-accent)}.goal-task-state>span{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:2px solid currentColor;border-radius:999px;font-weight:900}.goal-task-state.is-completed{background:#E7F8ED;color:#158653}.goal-task-state.is-detail{max-width:420px}.goal-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid #EEE9F3;color:var(--muted);font-size:12px}.goal-card-actions{display:flex;align-items:center;gap:8px;margin-top:16px}.goal-card-actions form{display:inline-flex;margin:0}.goal-primary-action{margin-right:auto;padding:10px 14px;font-size:13px}.goal-icon-action{width:38px;height:38px;padding:0;border:1px solid #E5DFEC;border-radius:11px;background:#fff;color:#4B5563;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;font:inherit}.goal-icon-action:hover{border-color:var(--goal-accent);color:var(--goal-accent);transform:translateY(-1px)}.goal-icon-action.is-danger:hover{border-color:#E05A67;color:#C73745}.goals-empty-state{padding:48px 25px;border:1px dashed #DCD2E9;border-radius:18px;background:rgba(255,255,255,.56);text-align:center}.goals-empty-state>span{display:block;font-size:40px}.goals-empty-state h3{margin:12px 0 7px}.goals-empty-state p{margin:0 0 18px;color:var(--muted)}

/* Detalhes da meta */
.goals-back-link{display:inline-block;margin-bottom:14px;color:var(--muted);font-size:13px;font-weight:800;text-decoration:none}.goals-back-link:hover{color:var(--primary)}.goal-detail-hero{margin-bottom:22px;padding:26px}.goal-detail-title-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:15px;align-items:start}.goal-detail-title-row h2{margin:2px 0 0;font-size:25px}.goal-detail-description{max-width:830px;margin:20px 0;color:#515968;line-height:1.65}.goal-detail-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:23px 0}.goal-detail-numbers>div,.goal-detail-meta-grid>div{padding:15px;border:1px solid #E9E3EF;border-radius:14px;background:#FCFBFD}.goal-detail-numbers span,.goal-detail-meta-grid span{display:block;margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:800}.goal-detail-numbers strong{font-size:20px;color:var(--goal-accent)}.goal-detail-progress-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin:19px 0}.goal-detail-progress-row>strong{color:var(--goal-accent);font-size:18px}.goal-detail-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px}.goal-detail-meta-grid strong{font-size:14px}.goal-detail-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:22px;align-items:start}.goal-detail-layout>.card,.goal-detail-layout>div>.card,.goal-detail-layout aside>.card{margin:0 0 22px}.goal-progress-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.goal-status-card p{color:var(--muted);font-size:14px}.goal-status-actions{display:grid;gap:10px;margin-top:17px}.goal-status-actions form,.goal-status-actions button{width:100%}.goal-cancel-button{background:#FDE9EC;color:#AB2B39;box-shadow:none}.goal-tip-card{display:flex;gap:13px;background:#FFF9E9;border-color:#F1E5BF}.goal-tip-card>span{font-size:25px}.goal-tip-card h3{margin:0 0 5px}.goal-tip-card p{margin:0;color:#6E6650;font-size:13px;line-height:1.5}.goal-history-list{position:relative;display:grid;gap:0}.goal-history-item{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;padding:0 0 22px}.goal-history-item:not(:last-child)::before{content:"";position:absolute;left:6px;top:13px;bottom:-1px;width:2px;background:#E6DFED}.goal-history-dot{position:relative;z-index:1;width:14px;height:14px;margin-top:4px;border:4px solid #fff;border-radius:999px;box-shadow:0 0 0 2px currentColor}.goal-history-item.is-positive{color:#15975A}.goal-history-item.is-negative{color:#C74350}.goal-history-content{min-width:0}.goal-history-content>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.goal-history-content strong{font-size:16px}.goal-history-content time{color:var(--muted);font-size:12px}.goal-history-content p{margin:5px 0 0;color:#596170;font-size:14px}.goals-empty-history{padding:32px 15px;text-align:center;color:var(--muted)}.goals-empty-history span{display:block;font-size:34px;margin-bottom:8px}.psychologist-goal-card{--goal-accent:var(--primary)}.psychologist-goal-progress{margin-top:15px}

@media(max-width:1050px){.goals-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.goals-card-grid{grid-template-columns:1fr}.goal-detail-layout{grid-template-columns:1fr}.goal-detail-layout aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.goal-detail-layout aside>.card{margin:0}.goal-detail-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.goals-page-heading,.goals-detail-heading{align-items:stretch}.goals-create-button{width:100%}.goals-summary-grid{gap:12px}.goals-summary-card{min-height:130px;padding:17px}.goals-summary-card strong{font-size:29px}.goals-form-grid{grid-template-columns:1fr}.goals-field-wide{grid-column:auto}.goals-toolbar-card{align-items:stretch;flex-direction:column}.goals-category-filter select{width:100%;min-width:0}.goal-card{padding:18px}.goal-card-top,.goal-detail-title-row{grid-template-columns:auto minmax(0,1fr)}.goal-priority,.goal-detail-title-row>.goal-status{grid-column:2;justify-self:start}.goal-card-actions{flex-wrap:wrap}.goal-primary-action{width:100%;margin:0 0 2px;justify-content:center}.goal-detail-hero{padding:20px}.goal-detail-numbers{grid-template-columns:1fr}.goal-detail-meta-grid{grid-template-columns:1fr 1fr}.goal-progress-form-grid{grid-template-columns:1fr}.goal-detail-layout aside{grid-template-columns:1fr}.goal-history-content>div{align-items:flex-start;flex-direction:column;gap:3px}}
@media(max-width:440px){.goals-summary-grid{grid-template-columns:1fr}.goals-summary-card{min-height:122px}.goal-detail-meta-grid{grid-template-columns:1fr}.goal-card-meta{align-items:flex-start;flex-direction:column}.goal-card-actions{justify-content:flex-start}.goal-progress-values{align-items:flex-start;flex-direction:column;gap:3px}.goal-progress-values span{text-align:left}}

/* =========================================================
   MEINWEG 5.3.9 — TRÊS CARDS DE METAS NO COMPUTADOR
   Mantém o visual atual dos cards e altera somente o encaixe:
   - computador: 3 por linha
   - tablet: 2 por linha
   - celular: 1 por linha
   ========================================================= */
.goals-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

@media (max-width: 1180px) {
    .goals-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .goals-card-grid {
        grid-template-columns: 1fr;
    }
}
