:root {
    --accent: #6c5ce7;
    --accent-rgb: 108, 92, 231;
    --bg: #f5f6fa;
    --surface: #ffffff;
    --surface-2: #f8f9fc;
    --text: #1c1d22;
    --muted: #747988;
    --border: #e7e8ee;
    --shadow: 0 12px 30px rgba(28, 29, 34, .06);
    --green: #12b76a;
    --blue: #3478f6;
    --purple: #845ef7;
    --coral: #ef6461;
    --amber: #e79f21;
    --pink: #e64980;
    --radius: 20px;
    --sidebar: 252px;
}

* { box-sizing: border-box; }
html { min-height: 100%; }
body {
    margin: 0;
    min-height: 100vh;
    background: var(--bg);
    color: var(--text);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
input, select, textarea {
    width: 100%;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 12px 14px;
    background: var(--surface);
    color: var(--text);
    outline: 0;
    transition: border-color .18s, box-shadow .18s;
}
input:focus, select:focus, textarea:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 4px rgba(var(--accent-rgb), .12);
}
textarea { min-height: 110px; resize: vertical; }
label { color: var(--text); font-size: 13px; font-weight: 650; }
label > input, label > select, label > textarea { display: block; margin-top: 7px; font-weight: 450; }
.app-shell { min-height: 100vh; }
.sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 30;
    display: flex;
    width: var(--sidebar);
    flex-direction: column;
    padding: 22px 16px;
    border-right: 1px solid var(--border);
    background: var(--surface);
}
.app-brand { display: flex; align-items: center; gap: 12px; padding: 0 7px 22px; }
.app-brand > span:last-child { display: flex; flex-direction: column; }
.app-brand strong { font-size: 18px; letter-spacing: -.3px; }
.app-brand small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.brand-mark {
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    border-radius: 16px;
    background: linear-gradient(145deg, var(--accent), color-mix(in srgb, var(--accent) 72%, #111 28%));
    box-shadow: 0 10px 22px rgba(var(--accent-rgb), .22);
    color: #fff;
    font-weight: 850;
    font-size: 23px;
}
.brand-mark-small { width: 42px; height: 42px; border-radius: 13px; font-size: 20px; }
.main-nav { display: flex; flex: 1; flex-direction: column; gap: 5px; }
.main-nav a, .sidebar-foot > a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 12px;
    border-radius: 12px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 650;
    transition: .18s ease;
}
.main-nav a:hover, .sidebar-foot > a:hover { background: var(--surface-2); color: var(--text); }
.main-nav a.active, .sidebar-foot > a.active {
    background: color-mix(in srgb, var(--accent) 11%, var(--surface));
    color: var(--accent);
}
.nav-icon { display: grid; width: 25px; height: 25px; place-items: center; font-size: 17px; font-weight: 900; }
.sidebar-foot { display: grid; gap: 5px; }
.mini-progress {
    margin-bottom: 10px;
    padding: 14px;
    border-radius: 14px;
    background: var(--surface-2);
    font-size: 11px;
}
.mini-progress span { color: var(--muted); }
.mini-progress strong { float: right; color: var(--accent); }
.mini-progress i {
    display: block;
    height: 5px;
    margin-top: 9px;
    overflow: hidden;
    border-radius: 99px;
    background: var(--border);
}
.mini-progress b { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.main-column { min-height: 100vh; margin-left: var(--sidebar); }
.topbar {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    min-height: 80px;
    align-items: center;
    justify-content: space-between;
    padding: 12px 32px;
    border-bottom: 1px solid rgba(231, 232, 238, .84);
    background: color-mix(in srgb, var(--bg) 88%, transparent);
    backdrop-filter: blur(16px);
}
.page-heading h1 { margin: 3px 0 0; font-size: 21px; letter-spacing: -.4px; }
.eyebrow { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.topbar-actions { display: flex; align-items: center; gap: 9px; }
.icon-btn {
    display: inline-grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: var(--surface);
    cursor: pointer;
    font-size: 18px;
}
.icon-btn:hover { border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); }
.icon-btn.danger { width: 30px; height: 30px; border: 0; background: transparent; color: #c92a2a; opacity: .55; }
.icon-btn.danger:hover { background: #fff0f0; opacity: 1; }
.icon-btn.edit { width: 30px; height: 30px; border: 0; background: transparent; color: var(--accent); opacity: .72; }
.icon-btn.edit:hover { background: color-mix(in srgb, var(--accent) 10%, transparent); opacity: 1; }
.item-actions { display: flex; align-items: center; gap: 2px; }
.menu-toggle { display: none; }
.profile-chip {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--border);
    border-radius: 13px;
    padding: 6px 11px 6px 6px;
    background: var(--surface);
    cursor: pointer;
    text-align: left;
}
.profile-chip > span {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 10px;
    background: color-mix(in srgb, var(--accent) 16%, var(--surface));
    color: var(--accent);
    font-weight: 800;
}
.profile-chip div { display: flex; flex-direction: column; }
.profile-chip strong { max-width: 130px; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.profile-chip small { color: var(--muted); font-size: 10px; }
.profile-menu { position: relative; }
.profile-menu-dropdown {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: 30;
    display: grid;
    min-width: 196px;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: color-mix(in srgb, var(--surface) 94%, transparent);
    box-shadow: 0 16px 32px rgba(0, 0, 0, .18);
    backdrop-filter: blur(16px);
}
.profile-menu-dropdown[hidden] { display: none !important; }
.profile-menu-dropdown a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
    border-radius: 10px;
    color: var(--text);
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
}
.profile-menu-dropdown a:hover {
    background: color-mix(in srgb, var(--accent) 10%, var(--surface));
}
.profile-menu-dropdown .nav-icon {
    width: 16px;
    text-align: center;
    font-size: 14px;
}
.profile-menu.is-open .profile-chip {
    border-color: color-mix(in srgb, var(--accent) 40%, var(--border));
}
.content { width: min(1520px, 100%); margin: 0 auto; padding: 28px 32px 64px; }
.hero-panel {
    position: relative;
    display: flex;
    min-height: 190px;
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
    margin-bottom: 20px;
    padding: 34px 40px;
    border-radius: 26px;
    background:
        radial-gradient(circle at 82% 30%, rgba(255,255,255,.26) 0 7%, transparent 7.4%),
        radial-gradient(circle at 86% 72%, rgba(255,255,255,.14) 0 14%, transparent 14.4%),
        linear-gradient(120deg, color-mix(in srgb, var(--accent) 93%, #15152b), var(--accent));
    box-shadow: 0 20px 40px rgba(var(--accent-rgb), .18);
    color: #fff;
}
.hero-panel:after {
    position: absolute;
    right: -100px;
    bottom: -170px;
    width: 360px;
    height: 360px;
    border: 2px solid rgba(255,255,255,.18);
    border-radius: 50%;
    content: "";
}
.hero-panel > div:first-child { position: relative; z-index: 1; max-width: 650px; }
.hero-kicker { font-size: 10px; font-weight: 850; letter-spacing: .17em; opacity: .8; }
.hero-panel h2 { margin: 12px 0 8px; font-size: clamp(24px, 3vw, 37px); line-height: 1.12; letter-spacing: -.9px; }
.hero-panel p { margin: 0; opacity: .84; }
.hero-date {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 17px 20px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 19px;
    background: rgba(255,255,255,.12);
    backdrop-filter: blur(10px);
}
.hero-date strong { font-size: 46px; line-height: 1; }
.hero-date span { font-size: 13px; font-weight: 750; line-height: 1.25; text-transform: uppercase; }
.metric-grid { display: grid; gap: 14px; margin-bottom: 20px; }
.metric-grid-five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.metric-grid-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.metric-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.metric-card {
    position: relative;
    display: flex;
    min-height: 134px;
    flex-direction: column;
    overflow: hidden;
    padding: 22px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
    box-shadow: 0 8px 20px rgba(28,29,34,.03);
}
.metric-card:after {
    position: absolute;
    right: -28px;
    top: -34px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: currentColor;
    content: "";
    opacity: .065;
}
.metric-card small { color: var(--muted); font-size: 11px; font-weight: 700; }
.metric-card strong { margin-top: 8px; font-size: clamp(20px, 2vw, 28px); letter-spacing: -.6px; }
.metric-card em { margin-top: auto; color: var(--muted); font-size: 10px; font-style: normal; }
.metric-card.green { color: var(--green); }
.metric-card.blue { color: var(--blue); }
.metric-card.purple { color: var(--purple); }
.metric-card.coral { color: var(--coral); }
.metric-card.amber { color: var(--amber); }
.metric-card small, .metric-card em { color: var(--muted); }
.metric-icon {
    position: absolute;
    right: 19px;
    top: 17px;
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 10px;
    background: currentColor;
    color: #fff;
    font-weight: 900;
}
.card {
    position: relative;
    padding: 22px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
    box-shadow: 0 8px 22px rgba(28,29,34,.035);
}
.card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; margin-bottom: 19px; }
.card-head h3 { margin: 5px 0 0; font-size: 16px; letter-spacing: -.25px; }
.section-tag {
    display: inline-block;
    color: var(--muted);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .1em;
}
.green-tag { color: var(--green); }
.blue-tag { color: var(--blue); }
.purple-tag { color: var(--purple); }
.coral-tag { color: var(--coral); }
.amber-tag { color: var(--amber); }
.pink-tag { color: var(--pink); }
.text-btn, .round-add {
    border: 0;
    background: transparent;
    color: var(--accent);
    cursor: pointer;
    font-size: 11px;
    font-weight: 750;
}
.round-add {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 10px;
    background: var(--accent);
    color: #fff;
    font-size: 18px;
}
.danger-text { color: #d94848; }
.streak { color: var(--green); font-size: 11px; font-weight: 750; }
.dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.dashboard-grid .span-2 { grid-column: span 2; }
.dashboard-calendar-card { grid-column: 1 / -1; }
.dashboard-calendar-card .card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.calendar-period-filter {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 3px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--surface-2);
}
.calendar-period-filter a {
    padding: 6px 11px;
    border-radius: 7px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    text-decoration: none;
    transition: background .18s ease, color .18s ease;
}
.calendar-period-filter a:hover { color: var(--accent); }
.calendar-period-filter a.active { background: var(--accent); color: #fff; box-shadow: 0 3px 9px rgba(var(--accent-rgb), .18); }
.dashboard-calendar-layout { display: grid; grid-template-columns: minmax(420px, .95fr) minmax(460px, 1.35fr); gap: 34px; }
.mini-calendar { min-width: 0; }
.mini-calendar-weekdays, .mini-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.mini-calendar-weekdays span { padding: 5px 0 12px; color: var(--muted); font-size: 10px; font-weight: 800; text-align: center; }
.mini-calendar-grid { gap: 6px; }
.mini-calendar-grid button {
    position: relative;
    display: grid;
    min-width: 0;
    aspect-ratio: 1;
    place-items: center;
    border: 0;
    min-height: 46px;
    border-radius: 11px;
    background: transparent;
    color: var(--text);
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
}
.mini-calendar-grid button:hover { background: color-mix(in srgb, var(--accent) 9%, var(--surface)); color: var(--accent); }
.mini-calendar-grid button.outside { color: var(--muted); opacity: .38; }
.mini-calendar-grid button.today { background: var(--accent); color: #fff; box-shadow: 0 5px 12px rgba(var(--accent-rgb), .2); }
.mini-calendar-grid button i { position: absolute; bottom: 5px; width: 5px; height: 5px; border-radius: 50%; background: var(--day-event-color); }
.mini-calendar-grid button.today i { background: #fff; }
.mini-calendar-day .mini-calendar-weekdays,
.mini-calendar-day .mini-calendar-grid { grid-template-columns: 1fr; }
.mini-calendar-day .mini-calendar-grid button { max-height: 285px; aspect-ratio: auto; }
.mini-calendar-year-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.mini-calendar-year-grid a {
    display: flex;
    min-height: 74px;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: var(--surface-2);
    color: var(--text);
    text-decoration: none;
}
.mini-calendar-year-grid a:hover { border-color: var(--accent); color: var(--accent); }
.mini-calendar-year-grid a.current { border-color: color-mix(in srgb, var(--accent) 55%, var(--border)); background: color-mix(in srgb, var(--accent) 9%, var(--surface)); }
.mini-calendar-year-grid strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.mini-calendar-year-grid small { color: var(--muted); font-size: 9px; }
.dashboard-commitments { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); border-left: 1px solid var(--border); }
.commitment-period-toolbar {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 14px 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
}
.commitment-period-toolbar > span {
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.upcoming-calendar-head > strong small { color: var(--muted); font-size: 8px; font-weight: 700; }
.commitment-column { min-width: 0; padding-left: 20px; }
.commitment-column + .commitment-column { margin-left: 4px; border-left: 1px solid var(--border); }
.upcoming-calendar-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.upcoming-calendar-head > strong { font-size: 11px; }
.upcoming-calendar-list { display: grid; grid-template-columns: 1fr; gap: 8px; }
.dashboard-commitments .upcoming-calendar-list {
    max-height: 460px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 6px;
    scrollbar-gutter: stable;
}
.dashboard-commitments .upcoming-calendar-list > button { min-height: 44px; }
.dashboard-commitments .upcoming-calendar-list::-webkit-scrollbar { width: 6px; }
.dashboard-commitments .upcoming-calendar-list::-webkit-scrollbar-track { background: transparent; }
.dashboard-commitments .upcoming-calendar-list::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: color-mix(in srgb, var(--muted) 35%, transparent);
}
.dashboard-commitments .upcoming-calendar-list::-webkit-scrollbar-thumb:hover {
    background: color-mix(in srgb, var(--muted) 55%, transparent);
}
.upcoming-calendar-list > button {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 7px 8px;
    border: 0;
    border-left: 3px solid var(--item-color);
    border-radius: 9px;
    background: var(--surface-2);
    color: var(--text);
    cursor: pointer;
    text-align: left;
}
.upcoming-calendar-list > button:hover { background: color-mix(in srgb, var(--item-color) 10%, var(--surface)); }
.upcoming-calendar-list time { display: flex; flex-direction: column; align-items: center; color: var(--muted); }
.upcoming-calendar-list time strong { color: var(--text); font-size: 13px; line-height: 1; white-space: nowrap; }
.upcoming-calendar-list time small { margin-top: 3px; font-size: 8px; text-transform: uppercase; }
.upcoming-calendar-list > button > span { display: flex; min-width: 0; flex-direction: column; }
.upcoming-calendar-list > button > span strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.upcoming-calendar-list > button > span small { margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.heatmap { display: grid; grid-auto-flow: column; grid-template-rows: repeat(7, 11px); grid-auto-columns: 11px; gap: 4px; overflow: hidden; }
.heatmap span, .heatmap-legend i { border-radius: 3px; background: #e9ecef; }
.heatmap .level-1, .heatmap-legend .level-1 { background: #b7efcf; }
.heatmap .level-2, .heatmap-legend .level-2 { background: #57d68d; }
.heatmap .level-3 { background: #20bf6b; }
.heatmap .level-4, .heatmap-legend .level-4 { background: #0a9c53; }
.heatmap-legend { display: flex; align-items: center; justify-content: flex-end; gap: 6px; margin-top: 15px; color: var(--muted); font-size: 9px; }
.heatmap-legend i { width: 10px; height: 10px; }
.timeline-list, .compact-list, .goal-mini-list, .reading-mini-list, .limit-list, .wish-list, .journal-list, .medication-list { display: grid; gap: 8px; }
.timeline-item { display: flex; align-items: stretch; gap: 12px; }
.timeline-item time { width: 42px; padding-top: 9px; color: var(--muted); font-size: 10px; font-weight: 700; }
.timeline-item > span { display: flex; flex: 1; flex-direction: column; padding: 8px 10px; border-left: 3px solid var(--item-color); border-radius: 8px; background: color-mix(in srgb, var(--item-color) 15%, var(--surface)); }
.timeline-item strong { font-size: 11px; }
.timeline-item small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.compact-list > div {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 9px;
    padding: 7px 0;
    border-bottom: 1px solid var(--border);
}
.compact-list > div:last-child { border-bottom: 0; }
.compact-list span:nth-child(2) { display: flex; flex-direction: column; }
.compact-list strong { font-size: 11px; }
.compact-list small { color: var(--muted); font-size: 9px; }
.compact-list b { font-size: 10px; }
.list-dot { width: 8px; height: 8px; border-radius: 50%; }
.list-dot.income { background: var(--green); }
.list-dot.expense { background: var(--coral); }
.list-dot.investment { background: var(--purple); }
.list-dot.debt { background: var(--amber); }
.positive { color: var(--green) !important; }
.negative { color: var(--coral) !important; }
.goal-mini-list article { display: grid; grid-template-columns: 1fr auto; gap: 6px; }
.goal-mini-list article > span { display: flex; flex-direction: column; min-width: 0; }
.goal-mini-list strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.goal-mini-list small { color: var(--muted); font-size: 9px; }
.goal-mini-list b { color: var(--accent); font-size: 10px; }
.goal-mini-list i, .reading-mini-list i {
    display: block;
    grid-column: 1 / -1;
    height: 5px;
    overflow: hidden;
    border-radius: 99px;
    background: var(--border);
}
.goal-mini-list em, .reading-mini-list em { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.reading-mini-list article { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; }
.book-spine { display: grid; width: 30px; height: 42px; place-items: center; border-radius: 4px 7px 7px 4px; background: linear-gradient(145deg, #ffa94d, #ff6b6b); color: #fff; font-size: 12px; font-weight: 900; }
.reading-mini-list article > div { display: grid; gap: 3px; min-width: 0; }
.reading-mini-list strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.reading-mini-list small { color: var(--muted); font-size: 9px; }
.reading-mini-list b { font-size: 10px; }
.section-toolbar { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.lead-copy { margin: 0; color: var(--muted); font-size: 13px; }
.button-row { display: flex; gap: 8px; }
.btn {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid transparent;
    border-radius: 12px;
    padding: 9px 16px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 750;
    transition: transform .15s, filter .15s;
}
.btn:hover { filter: brightness(.97); transform: translateY(-1px); }
.btn-primary { border-color: var(--accent); background: var(--accent); color: #fff; box-shadow: 0 8px 16px rgba(var(--accent-rgb), .15); }
.btn-soft { border-color: var(--border); background: var(--surface); color: var(--text); }
.btn-block { width: 100%; }
.btn-small { min-height: 34px; padding: 7px 11px; font-size: 10px; }
.month-switcher { display: flex; align-items: center; gap: 10px; }
.month-switcher a { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.month-switcher strong { min-width: 150px; font-size: 13px; text-align: center; text-transform: capitalize; }
.two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
.two-col.wide-left { grid-template-columns: minmax(0, 1.65fr) minmax(320px, .85fr); }
.stack { display: grid; align-content: start; gap: 16px; }
.data-table-wrap, .habit-table-wrap { overflow: auto; margin: 0 -8px -8px; }
.data-table, .habit-table { width: 100%; border-collapse: collapse; }
.data-table th, .data-table td { padding: 11px 10px; border-bottom: 1px solid var(--border); font-size: 10px; text-align: left; white-space: nowrap; }
.data-table th { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.data-table td:first-child { display: flex; align-items: center; gap: 8px; }
.data-table .right { text-align: right; }
.trader-table { table-layout: fixed; min-width: 760px; }
.trader-table .trader-col-operation { width: 19%; }
.trader-table .trader-col-market { width: 17%; }
.trader-table .trader-col-strategy { width: 20%; }
.trader-table .trader-col-date { width: 17%; }
.trader-table .trader-col-value { width: 20%; }
.trader-table .trader-col-actions { width: 52px; }
.trader-table th,
.trader-table td { height: 46px; vertical-align: middle; }
.trader-table td:first-child { display: table-cell; }
.trader-table tbody tr:last-child td { border-bottom: 1px solid var(--border); }
.trader-operation-cell { display: inline-flex; max-width: 100%; align-items: center; gap: 8px; vertical-align: middle; }
.trader-operation-cell strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.trader-table th:last-child,
.trader-table td:last-child { padding-right: 10px; text-align: center; }
.trader-table .icon-btn { margin: 0 auto; }
.trader-chart-card { margin-bottom:20px; padding:24px; }
.trader-chart-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.trader-chart-head h3 { margin:5px 0 4px; }
.trader-chart-head p { margin:0; color:var(--muted); font-size:12px; }
.trader-period-presets { display:flex; gap:5px; padding:4px; border:1px solid var(--border); border-radius:12px; background:var(--surface-soft); }
.trader-period-presets button { padding:8px 13px; border:0; border-radius:9px; background:transparent; color:var(--muted); font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.trader-period-presets button:hover,.trader-period-presets button.active { background:var(--surface); color:var(--accent); box-shadow:0 3px 10px rgba(28,29,34,.08); }
.trader-date-filter { display:flex; align-items:flex-end; gap:12px; margin-top:20px; padding:14px; border:1px solid var(--border); border-radius:14px; background:var(--surface-soft); }
.trader-date-filter label { display:grid; gap:6px; color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.trader-date-filter input { min-width:150px; padding:10px 12px; border:1px solid var(--border); border-radius:10px; background:var(--surface); color:var(--text); font:inherit; font-size:12px; }
.trader-date-filter > span { align-self:center; margin-top:17px; color:var(--muted); font-size:11px; }
.trader-date-filter .btn { margin-left:auto; }
.trader-chart-body { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(360px,1.2fr); align-items:center; gap:50px; padding:30px 12px 12px; }
.trader-donut-shell { display:grid; place-items:center; }
.trader-donut { display:grid; place-items:center; width:220px; aspect-ratio:1; border-radius:50%; background:conic-gradient(#7950f2 0 33.33%,#16b86a 33.33% 66.66%,#ff5e62 66.66% 100%); box-shadow:0 16px 35px rgba(82,60,160,.12); }
.trader-donut:before { grid-area:1/1; width:62%; aspect-ratio:1; border-radius:50%; background:var(--surface); box-shadow:inset 0 0 0 1px var(--border); content:""; }
.trader-donut > div { z-index:1; grid-area:1/1; display:grid; max-width:115px; gap:5px; text-align:center; }
.trader-donut small { color:var(--muted); font-size:9px; line-height:1.2; }
.trader-donut strong { font-size:20px; letter-spacing:-.5px; }
.trader-donut.is-empty { background:conic-gradient(#e8eaf0 0 100%); }
.trader-chart-legend { display:grid; gap:2px; }
.trader-chart-legend article { display:grid; grid-template-columns:10px 1fr auto; align-items:center; gap:12px; padding:14px 4px; border-bottom:1px solid var(--border); }
.trader-chart-legend i { width:9px; height:9px; border-radius:50%; }
.trader-chart-legend i.deposit { background:#7950f2; }
.trader-chart-legend i.gain { background:#16b86a; }
.trader-chart-legend i.loss { background:#ff5e62; }
.trader-chart-legend span { display:grid; gap:2px; }
.trader-chart-legend span strong { font-size:12px; }
.trader-chart-legend span small { color:var(--muted); font-size:9px; }
.trader-chart-legend b { font-size:13px; }
.trader-chart-legend footer { display:flex; justify-content:space-between; gap:20px; padding:15px 4px 0; color:var(--muted); font-size:10px; }
.trader-chart-legend footer strong { color:var(--text); }
.csp-chart-card { margin-bottom:20px; padding:24px; }
.month-switcher strong { display:grid; justify-items:center; }
.month-switcher strong small { color:var(--muted); font-size:8px; font-weight:700; }
.csp-toolbar-actions { display:flex; align-items:center; gap:8px; }
.form-help { margin:0 0 16px; padding:12px 14px; border-radius:10px; background:var(--surface-2); color:var(--muted); font-size:10px; line-height:1.55; }
.csp-import-guide,.csp-import-picker { padding:16px; border:1px solid var(--border); border-radius:12px; background:var(--surface-2); }
.csp-import-guide strong,.csp-import-picker strong { display:block; margin-bottom:6px; font-size:12px; }
.csp-import-guide p { margin:0 0 12px; color:var(--muted); font-size:10px; line-height:1.55; }
.csp-import-picker input { display:block; width:100%; margin:10px 0 7px; padding:10px; border:1px dashed var(--border-strong); border-radius:9px; background:var(--surface); }
.csp-import-picker small { display:block; color:var(--muted); font-size:9px; line-height:1.5; }
.csp-chart-summary { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; padding:22px 4px 10px; }
.csp-chart-summary strong { font-size:28px; letter-spacing:-.7px; }
.csp-chart-summary span { color:var(--muted); font-size:10px; font-weight:800; }
.csp-bars { display:flex; min-height:250px; align-items:flex-end; gap:10px; overflow-x:auto; padding:20px 8px 8px; border-bottom:1px solid var(--border); }
.csp-bars article { display:grid; min-width:54px; flex:1 0 54px; justify-items:center; gap:7px; }
.csp-bar-value { color:var(--muted); font-size:8px; font-weight:800; white-space:nowrap; }
.csp-bar-track { display:flex; width:30px; min-height:18px; overflow:hidden; flex-direction:column-reverse; border-radius:7px 7px 3px 3px; background:var(--surface-2); box-shadow:0 7px 15px rgba(28,29,34,.08); }
.csp-bar-track i { display:block; min-height:2px; }
.csp-bar-track .daily,.csp-chart-legend i.daily { background:#7950f2; }
.csp-bar-track .common,.csp-chart-legend i.common { background:#16b86a; }
.csp-bar-track .outside,.csp-chart-legend i.outside { background:#ff7b54; }
.csp-bars small { color:var(--muted); font-size:8px; }
.csp-chart-legend { display:flex; justify-content:center; gap:22px; padding-top:16px; color:var(--muted); font-size:9px; font-weight:750; }
.csp-chart-legend span { display:flex; align-items:center; gap:6px; }
.csp-chart-legend i { width:9px; height:9px; border-radius:3px; }
.csp-table { min-width:1080px; border-collapse:collapse; }
.csp-table th,
.csp-table td { border-right:1px solid var(--border); border-bottom:1px solid var(--border); }
.data-table.csp-table th,
.data-table.csp-table td { text-align:center; vertical-align:middle; }
.csp-table th:first-child,
.csp-table td:first-child { border-left:1px solid var(--border); }
.csp-table thead th { border-top:1px solid var(--border); }
.csp-table thead th:not(:last-child) { background:#0066ff; color:#fff; }
.csp-table thead th:first-child { background:#ff7401; }
.csp-table thead th:nth-child(2) { background:#7030a0; }
.csp-table th:last-child,
.csp-table td:last-child { border-right:1px solid var(--border); }
.csp-table td:first-child { display:table-cell; }
.csp-table tbody tr[data-csp-report-row] { background:color-mix(in srgb, var(--surface) 95%, #3b82f6 5%); }
.csp-table tbody tr[data-csp-report-row]:nth-child(even) { background:color-mix(in srgb, var(--surface-2) 48%, var(--surface)); }
.csp-report-head { align-items:flex-end; }
.csp-date-search { width:min(310px,100%); }
.csp-date-search > span:first-child { display:block; margin:0 0 7px; color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.csp-date-search-field { display:flex; align-items:center; gap:8px; padding:0 11px; border:1px solid var(--border); border-radius:11px; background:var(--surface); color:var(--muted); transition:border-color .18s,box-shadow .18s; }
.csp-date-search-field:focus-within { border-color:var(--accent); box-shadow:0 0 0 4px rgba(var(--accent-rgb),.12); }
.csp-date-search-field input { min-width:0; padding:10px 0; border:0; border-radius:0; box-shadow:none; background:transparent; font-size:10px; }
.csp-date-search-field input:focus { border:0; box-shadow:none; }
.csp-table tbody tr[data-csp-report-row] > td:last-child { text-align:center; }
.csp-table tbody tr[data-csp-report-row] .icon-btn { cursor:pointer; }
.csp-share-intro,
.csp-share-status,
.csp-share-privacy { padding:16px; border:1px solid var(--border); border-radius:14px; background:var(--surface-2); }
.csp-share-intro strong,
.csp-share-status strong,
.csp-share-privacy strong { display:block; font-size:12px; }
.csp-share-intro p,
.csp-share-status p,
.csp-share-privacy p { margin:5px 0 0; color:var(--muted); font-size:10px; line-height:1.55; }
.csp-share-privacy strong:not(:first-child) { margin-top:14px; color:var(--green); }
.csp-share-status { display:flex; align-items:flex-start; gap:11px; background:color-mix(in srgb, var(--green) 7%, var(--surface)); }
.csp-share-status > span { flex:0 0 auto; width:10px; height:10px; margin-top:3px; border-radius:50%; background:var(--green); box-shadow:0 0 0 5px color-mix(in srgb, var(--green) 14%, transparent); }
.csp-share-link > div { display:flex; gap:8px; margin-top:7px; }
.csp-share-link input { min-width:0; font-size:10px; }
.csp-share-link button { flex:0 0 auto; white-space:nowrap; }
.finance-record-trigger { cursor: pointer; transition: background .15s, transform .15s; }
.finance-record-trigger:hover, .finance-record-trigger:focus-visible { background: var(--surface-2); outline: none; }
.finance-record-trigger:active { transform: scale(.998); }
.finance-card-trigger { cursor: pointer; transition: border-color .15s, box-shadow .15s, transform .15s; }
.finance-card-trigger:hover, .finance-card-trigger:focus-visible { border-color: color-mix(in srgb, var(--accent) 28%, var(--border)); box-shadow: 0 8px 20px rgba(var(--accent-rgb), .08); outline: none; transform: translateY(-1px); }
.record-open-hint { color: var(--accent) !important; font-size: 8px !important; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; opacity: 0; transition: opacity .15s; }
.finance-record-trigger:hover .record-open-hint, .finance-record-trigger:focus-visible .record-open-hint,
.finance-card-trigger:hover .record-open-hint, .finance-card-trigger:focus-visible .record-open-hint { opacity: 1; }
.entry-kind { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 8px; font-size: 12px; }
.entry-kind.income { background: #e8fbf1; color: var(--green); }
.entry-kind.expense { background: #fff0f0; color: var(--coral); }
.entry-kind.investment { background: #f1edff; color: var(--purple); }
.entry-kind.debt { background: #fff5dd; color: var(--amber); }
.category-pill, .status-pill { display: inline-flex; padding: 4px 8px; border-radius: 99px; background: var(--surface-2); color: var(--muted); font-size: 9px; font-weight: 700; }
.empty-cell { padding: 30px !important; color: var(--muted); text-align: center !important; }
.empty-state { margin: 8px 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.donut-wrap { display: flex; align-items: center; gap: 22px; }
.donut { position: relative; display: grid; width: 150px; height: 150px; flex: 0 0 auto; place-items: center; border-radius: 50%; }
.donut:after { position: absolute; width: 88px; height: 88px; border-radius: 50%; background: var(--surface); content: ""; }
.donut span { position: relative; z-index: 1; max-width: 74px; font-size: 11px; font-weight: 800; text-align: center; }
.legend-list { display: grid; flex: 1; gap: 8px; }
.legend-list > div { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 7px; font-size: 9px; }
.legend-list i { width: 8px; height: 8px; border-radius: 50%; }
.limit-list article { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 10px; border: 1px solid transparent; border-bottom-color: var(--border); border-radius: 12px; }
.limit-list article > div { display: flex; justify-content: space-between; gap: 12px; }
.limit-list strong { font-size: 11px; }
.limit-list span { color: var(--muted); font-size: 9px; }
.limit-list i { display: block; height: 6px; overflow: hidden; border-radius: 99px; background: var(--border); }
.limit-list em { display: block; height: 100%; border-radius: inherit; background: var(--green); }
.limit-list article.over em { background: var(--coral); }
.limit-list .record-open-hint { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.wish-list article { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 10px; padding: 10px; border-radius: 12px; background: var(--surface-2); }
.wish-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 10px; background: #ffeff7; color: var(--pink); }
.wish-list article > div { display: grid; gap: 3px; min-width: 0; }
.wish-list strong { font-size: 11px; }
.wish-list small { color: var(--muted); font-size: 9px; }
.wish-list i { height: 5px; overflow: hidden; border-radius: 99px; background: var(--border); }
.wish-list em { display: block; height: 100%; background: var(--pink); }
.wish-list b { font-size: 10px; }
.routine-habits { margin-bottom: 16px; }
.habit-table { width: 100%; min-width: 920px; table-layout: fixed; }
.habit-table .habit-name-column { width: 34%; }
.habit-table .habit-day-column { width: 8.5%; }
.habit-table .habit-actions-column { width: 6.5%; }
.habit-table th, .habit-table td { padding: 10px 7px; border-bottom: 1px solid var(--border); font-size: 10px; text-align: center; }
.habit-table th { color: var(--muted); font-weight: 700; }
.habit-table th:first-child, .habit-table td:first-child { text-align: left; }
.habit-name { display: flex; min-width: 0; align-items: center; gap: 8px; }
.habit-name i { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; }
.habit-name strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.habit-card-trigger { width: 100%; padding: 7px 9px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: var(--text); text-align: left; cursor: pointer; }
.habit-card-trigger:hover { border-color: var(--border); background: var(--surface-2); }
.habit-card-trigger small { margin-left: auto; color: var(--muted); font-size: 8px; font-weight: 700; opacity: 0; }
.habit-card-trigger:hover small { opacity: 1; }
.routine-edit-btn { color: var(--muted); }
.habit-table th.today { color: var(--accent); }
.habit-table th span, .habit-table th strong { display: block; }
.habit-table th strong { margin-top: 3px; font-size: 12px; }
.habit-check {
    width: 27px;
    height: 27px;
    border: 1.5px solid color-mix(in srgb, var(--habit-color) 65%, var(--border));
    border-radius: 8px;
    background: transparent;
    color: transparent;
    cursor: pointer;
}
.habit-check.done { background: var(--habit-color); color: #fff; }
.week-board { display: grid; grid-template-columns: repeat(7, minmax(90px, 1fr)); gap: 7px; overflow-x: auto; }
.week-column { display: grid; min-width: 100px; align-content: start; gap: 7px; }
.week-column > strong { padding: 7px; border: 1px solid #9bd3fa; border-radius: 8px; background: #e6f5ff; color: #2475a9; font-size: 9px; text-align: center; text-transform: uppercase; }
.week-column article { position: relative; display: grid; gap: 2px; padding: 8px 24px 8px 8px; border: 1px solid color-mix(in srgb, var(--item-color) 55%, var(--border)); border-left: 4px solid var(--item-color); border-radius: 8px; background: color-mix(in srgb, var(--item-color) 18%, var(--surface)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--item-color) 8%, transparent); }
.week-column time { color: color-mix(in srgb, var(--item-color) 72%, var(--text)); font-size: 8px; font-weight: 800; }
.week-column article > span { color: color-mix(in srgb, var(--item-color) 46%, var(--text)); font-size: 9px; font-weight: 800; }
.week-column article > small { overflow: hidden; color: var(--muted); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.schedule-card-trigger { cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.schedule-card-trigger:hover, .schedule-card-trigger:focus-visible { outline: none; transform: translateY(-1px); box-shadow: 0 7px 16px color-mix(in srgb, var(--item-color) 18%, transparent); }
.schedule-card-trigger > b { position: absolute; right: 7px; top: 5px; color: color-mix(in srgb, var(--item-color) 55%, var(--text)); font-size: 13px; line-height: 1; }
.day-empty { padding: 15px 4px; color: var(--muted); font-size: 9px; text-align: center; }
.journal-list article { display: grid; grid-template-columns: auto 1fr auto auto; align-items: start; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.journal-list time { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 10px; background: var(--surface-2); color: var(--accent); font-size: 9px; font-weight: 800; }
.journal-list strong { font-size: 11px; }
.journal-list p { margin: 3px 0 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.journal-list article > span { color: var(--pink); font-size: 7px; letter-spacing: 2px; }
.workout-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.workout-card { padding: 0; overflow: hidden; }
.workout-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 92%, #1d1a4f), var(--accent)); color: #fff; }
.workout-head > div { display: flex; align-items: center; gap: 11px; }
.workout-head > div > span { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 12px; background: rgba(255,255,255,.13); font-size: 11px; font-weight: 850; }
.workout-head small { font-size: 8px; letter-spacing: .1em; opacity: .7; }
.workout-head h3 { margin: 3px 0 0; font-size: 15px; }
.workout-head > strong { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.15); font-size: 11px; }
.workout-progress { height: 4px; background: var(--border); }
.workout-progress i { display: block; height: 100%; background: #54e59a; }
.exercise-list { padding: 8px 18px; }
.exercise-list article { display: grid; grid-template-columns: auto minmax(0,1fr) minmax(118px,150px) auto auto; align-items: center; gap: 10px; padding: 11px 0; border-bottom: 1px solid var(--border); }
.exercise-list article.done strong { text-decoration: line-through; opacity: .5; }
.exercise-number { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 8px; background: var(--surface-2); color: var(--muted); font-size: 9px; font-weight: 800; }
.exercise-list .exercise-info { display: flex; min-width:0; flex-direction: column; }
.exercise-list strong { font-size: 11px; }
.exercise-list small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.exercise-check { width: 28px; height: 28px; border: 1.5px solid #9ee0ba; border-radius: 8px; background: transparent; color: #12b76a; cursor: pointer; }
.exercise-list article.done .exercise-check { background: var(--green); color: #fff; }
.card-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding: 11px 18px 16px; }
.empty-card { display: grid; min-height: 250px; place-items: center; align-content: center; text-align: center; }
.empty-card > span { font-size: 36px; }
.empty-card h3 { margin: 10px 0 4px; }
.empty-card p { max-width: 350px; margin: 0 0 16px; color: var(--muted); font-size: 12px; }
.library-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.library-filter-panel { display:grid; grid-template-columns:minmax(240px,.75fr) minmax(0,1.55fr) auto; align-items:end; gap:14px; margin:0 0 16px; padding:14px; border:1px solid var(--border); border-radius:16px; background:var(--surface); }
.library-book-search { display:grid; gap:7px; }
.library-book-search > span { color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.library-book-search > div { display:flex; align-items:center; gap:9px; padding:0 12px; border:1px solid var(--border); border-radius:12px; background:var(--surface-2); color:var(--muted); }
.library-book-search input { min-width:0; width:100%; padding:10px 0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.library-book-search input:focus { border:0; box-shadow:none; }
.library-status-filter { display:flex; min-width:0; gap:6px; overflow-x:auto; padding-bottom:1px; scrollbar-width:thin; }
.library-status-filter button { display:inline-flex; flex:0 0 auto; align-items:center; gap:7px; padding:9px 11px; border:1px solid var(--border); border-radius:11px; background:var(--surface-2); color:var(--muted); font:inherit; font-size:9px; font-weight:800; cursor:pointer; white-space:nowrap; }
.library-status-filter button:hover { border-color:color-mix(in srgb,var(--accent) 35%,var(--border)); color:var(--text); }
.library-status-filter button.active { border-color:color-mix(in srgb,var(--accent) 42%,var(--border)); background:color-mix(in srgb,var(--accent) 12%,var(--surface)); color:var(--accent); box-shadow:0 4px 12px rgba(var(--accent-rgb),.08); }
.library-status-filter b { display:grid; min-width:20px; height:20px; place-items:center; padding:0 5px; border-radius:7px; background:var(--surface); font-size:8px; }
.library-filter-result { margin:0; color:var(--muted); font-size:9px; font-weight:750; white-space:nowrap; }
.library-filter-empty { grid-column:1 / -1; min-height:230px; }
.library-filter-empty[hidden] { display:none !important; }
.book-card { display: grid; grid-template-columns: 126px 1fr; gap: 18px; min-height: 255px; }
[data-library-book][hidden] { display: none !important; }
.book-file-badge { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 3px 8px; margin-top: 8px; padding: 8px 10px; border-radius: 9px; background: var(--surface-2); }
.book-file-badge strong { grid-row: 1 / 3; padding: 4px 6px; border-radius: 6px; background: color-mix(in srgb, var(--accent) 13%, var(--surface)); color: var(--accent); font-size: 9px; }
.book-file-badge span { overflow: hidden; color: var(--text); font-size: 11px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.book-file-badge small { color: var(--muted); font-size: 9px; }
.book-file-picker { padding: 13px; border: 1px dashed var(--border-strong); border-radius: 11px; background: var(--surface-2); }
.book-file-picker span, .book-file-picker small { display: block; }
.book-file-picker input { margin: 8px 0 5px; padding: 8px; background: var(--surface); }
.book-file-picker small { color: var(--muted); font-size: 10px; }
.cloudconvert-usage { display: flex; flex-direction: column; gap: 2px; margin-top: 9px; padding: 9px 11px; border: 1px solid rgba(37, 99, 235, .24); border-radius: 9px; background: rgba(37, 99, 235, .08); color: var(--text); }
.cloudconvert-usage strong { color: #2563eb; font-size: 11px; }
.cloudconvert-usage span { color: var(--muted); font-size: 10px; line-height: 1.4; }
.cloudconvert-usage.usage-ready { border-color: rgba(22, 163, 74, .28); background: rgba(22, 163, 74, .08); }
.cloudconvert-usage.usage-ready strong { color: #16a34a; }
.cloudconvert-usage.usage-empty, .cloudconvert-usage.usage-error { border-color: rgba(220, 38, 38, .25); background: rgba(220, 38, 38, .07); }
.cloudconvert-usage.usage-empty strong, .cloudconvert-usage.usage-error strong { color: #dc2626; }
.smallpdf-fallback { align-self: flex-start; margin-top: 6px; padding: 7px 10px; border: 1px solid #2563eb; border-radius: 8px; background: #2563eb; color: #fff !important; font-size: 10px; font-weight: 750; line-height: 1.2; text-decoration: none; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.smallpdf-fallback:hover { border-color: #1d4ed8; background: #1d4ed8; transform: translateY(-1px); }
.smallpdf-fallback[hidden] { display: none !important; }
.book-current-file { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 6px 10px; padding: 12px; border-radius: 11px; background: var(--surface-2); }
.book-current-file strong { color: var(--accent); font-size: 11px; }
.book-current-file span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.book-current-file label { grid-column: 1 / -1; display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; }
.book-current-file input { width: auto; margin: 0; }
.book-cover { position: relative; display: flex; min-height: 210px; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 17px 13px; border-radius: 8px 15px 15px 8px; box-shadow: 8px 10px 20px rgba(0,0,0,.12); color: #fff; }
.book-cover:before { position: absolute; inset: 0 auto 0 8px; width: 2px; background: rgba(255,255,255,.25); content: ""; }
.book-cover span { position: relative; font-size: 38px; font-weight: 900; opacity: .7; }
.book-cover small { position: relative; font-weight: 800; line-height: 1.35; }
.cover-0 { background: linear-gradient(145deg, #3742fa, #7bed9f); }
.cover-1 { background: linear-gradient(145deg, #ff6b81, #ffa502); }
.cover-2 { background: linear-gradient(145deg, #2f3542, #57606f); }
.cover-3 { background: linear-gradient(145deg, #8854d0, #fc5c65); }
.cover-4 { background: linear-gradient(145deg, #0fb9b1, #3867d6); }
.book-info { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; }
.status-reading { background: #e7f5ff; color: #1971c2; }
.status-shelf { background: #fff4e6; color: #d9480f; }
.status-finished { background: #ebfbee; color: #2b8a3e; }
.status-loaned { background: #f3f0ff; color: #6741d9; }
.book-info h3 { margin: 13px 0 4px; font-size: 17px; line-height: 1.25; }
.book-info > p { margin: 0; color: var(--muted); font-size: 11px; }
.book-progress { display: grid; width: 100%; grid-template-columns: 1fr auto; gap: 7px; margin-top: 18px; color: var(--muted); font-size: 9px; }
.book-progress b { color: var(--accent); }
.book-progress i { grid-column: 1/-1; height: 6px; overflow: hidden; border-radius: 99px; background: var(--border); }
.book-progress em { display: block; height: 100%; background: var(--accent); }
.book-info blockquote { margin: 15px 0 0; padding: 10px; border-radius: 10px; background: var(--surface-2); color: var(--muted); font-size: 10px; font-style: italic; line-height: 1.5; }
.book-actions { display: flex; width: 100%; align-items: center; justify-content: space-between; margin-top: auto; }
.book-edit-btn {
    min-height: 34px;
    padding: 8px 15px;
    border: 1px solid color-mix(in srgb, var(--accent) 78%, #1747b8);
    border-radius: 9px;
    background: var(--accent);
    box-shadow: 0 5px 12px color-mix(in srgb, var(--accent) 20%, transparent);
    color: #fff;
    line-height: 1;
    transition: background .15s ease, box-shadow .15s ease, transform .15s ease;
}
.book-edit-btn:hover {
    background: color-mix(in srgb, var(--accent) 88%, #123b9d);
    box-shadow: 0 7px 16px color-mix(in srgb, var(--accent) 28%, transparent);
    transform: translateY(-1px);
}
.book-edit-btn:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--accent) 24%, transparent);
    outline-offset: 2px;
}
.quote-card {
    margin-bottom: 16px;
    padding: 26px;
    border: 1px solid #ead6f8;
    border-radius: var(--radius);
    background: linear-gradient(120deg, #f7edff, #ffeef7);
    text-align: center;
}
.quote-card small { color: #9c36b5; font-size: 9px; font-weight: 850; letter-spacing: .1em; }
.quote-card blockquote { margin: 10px 0 0; font-size: clamp(16px, 2vw, 21px); font-weight: 750; font-style: italic; }
.goals-list { display: grid; gap: 12px; }
.goal-card { position: relative; padding: 17px; border: 1px solid var(--border); border-radius: 15px; background: var(--surface-2); }
.goal-card header { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; }
.goal-target { display: grid; width: 37px; height: 37px; place-items: center; border-radius: 11px; font-size: 19px; }
.goal-card header small { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .05em; }
.goal-card h4 { margin: 4px 0 0; font-size: 13px; }
.goal-card header > b { color: var(--accent); font-size: 12px; }
.goal-card > p { margin: 12px 0 0; color: var(--muted); font-size: 10px; }
.goal-bar { height: 6px; margin: 13px 0; overflow: hidden; border-radius: 99px; background: var(--border); }
.goal-bar i { display: block; height: 100%; border-radius: inherit; }
.goal-steps { display: grid; gap: 6px; }
.goal-steps button { display: flex; align-items: center; gap: 8px; border: 0; padding: 5px 0; background: transparent; cursor: pointer; color: var(--text); text-align: left; }
.goal-steps button i { display: grid; width: 20px; height: 20px; place-items: center; border: 1px solid var(--border); border-radius: 6px; color: transparent; font-size: 9px; font-style: normal; }
.goal-steps button.done span { color: var(--muted); text-decoration: line-through; }
.goal-steps button.done i { border-color: var(--green); background: var(--green); color: #fff; }
.goal-steps .add-step { color: var(--accent); font-size: 10px; font-weight: 700; }
.goal-delete { position: absolute; right: 7px; top: 7px; opacity: 0; }
.goal-card:hover .goal-delete { opacity: .75; }
.motivation-card { background: linear-gradient(150deg, var(--surface), #fffceb); }
.motivation-list { display: grid; gap: 7px; }
.motivation-list > div { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; padding: 10px; border: 1px solid #f4e7a6; border-radius: 10px; background: #fff9cf; color: #5c4b00; }
.motivation-list span { color: #e0a800; }
.motivation-list strong { font-size: 10px; }
.motivation-list button { border: 0; background: transparent; color: #9d8b3e; cursor: pointer; }
.medication-list article { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.med-icon { color: #fcc419; font-size: 16px; }
.medication-list article > div { display: flex; flex-direction: column; }
.medication-list strong { font-size: 11px; }
.medication-list strong small { padding: 2px 5px; border-radius: 5px; background: #fff3bf; color: #946b00; font-size: 8px; }
.medication-list article > div > span { margin-top: 3px; color: var(--muted); font-size: 9px; }
.medication-list > article > b { font-size: 10px; }
.low-stock { color: var(--coral); }
.bmi-score { display: flex; align-items: center; gap: 15px; padding: 16px; border-radius: 15px; background: var(--surface-2); }
.bmi-score > span { display: flex; width: 80px; height: 80px; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; background: color-mix(in srgb, var(--green) 15%, var(--surface)); color: var(--green); }
.bmi-score > span strong { font-size: 24px; }
.bmi-score > span small { font-size: 8px; font-weight: 800; }
.bmi-score h4 { margin: 0; }
.bmi-score p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.health-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 12px; }
.health-stats > div { display: flex; flex-direction: column; padding: 11px; border: 1px solid var(--border); border-radius: 11px; }
.health-stats small { color: var(--muted); font-size: 8px; }
.health-stats strong { margin-top: 3px; font-size: 12px; }
.health-log-list { display: grid; gap: 4px; }
.health-log-list article { display: grid; grid-template-columns: 70px auto 1fr auto; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.health-log-list time { color: var(--muted); font-size: 9px; }
.health-log-list strong { font-size: 11px; }
.health-log-list p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }
.record-widget-trigger { cursor: pointer; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.record-widget-trigger:hover { border-color: color-mix(in srgb, var(--accent) 35%, var(--border)); box-shadow: 0 10px 24px rgba(31,42,68,.08); }
.record-widget-trigger:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 25%, transparent); outline-offset: 2px; }
.widget-hint { color: var(--muted); font-size: 9px; }
.settings-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .8fr); gap: 16px; }
.settings-form { display: grid; gap: 16px; }
.settings-form fieldset { margin: 0; border: 0; padding: 0; }
.settings-form legend { margin-bottom: 8px; font-size: 13px; font-weight: 650; }
.settings-save-dock {
    position: fixed;
    left: calc(var(--sidebar) + 28px);
    right: 28px;
    bottom: 18px;
    z-index: 80;
    display: flex;
    max-width: 1480px;
    min-height: 70px;
    margin: 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 14px 12px 18px;
    border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--border));
    border-radius: 18px;
    background: color-mix(in srgb, var(--surface) 94%, var(--accent) 6%);
    box-shadow: 0 18px 45px rgba(15, 23, 42, .22), 0 0 0 1px rgba(var(--accent-rgb), .05);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(calc(100% + 32px));
    transition: opacity .2s ease, transform .24s ease, visibility .2s ease;
}
.settings-save-dock.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}
.settings-save-message { display: grid; gap: 3px; min-width: 0; }
.settings-save-message strong { font-size: 12px; }
.settings-save-message small { color: var(--muted); font-size: 9px; }
.settings-save-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex: 0 0 auto; }
.settings-save-submit { min-width: 230px; flex: 0 0 auto; }
.settings-restore-submit { min-width: 190px; flex: 0 0 auto; }
body.settings-save-pending .content { padding-bottom: 130px; }

.theme-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.theme-options label input, .color-options label input { position: absolute; opacity: 0; pointer-events: none; }
.theme-options label span { display: block; border: 1px solid var(--border); border-radius: 11px; padding: 12px; background: var(--surface-2); font-size: 11px; text-align: center; cursor: pointer; }
.theme-options label input:checked + span { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); color: var(--accent); }
.color-options { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.color-options label:not(.custom-color) span { display: block; width: 30px; height: 30px; border: 3px solid var(--surface); border-radius: 50%; background: var(--swatch); box-shadow: 0 0 0 1px var(--border); cursor: pointer; }
.color-options label input:checked + span { box-shadow: 0 0 0 3px color-mix(in srgb, var(--swatch) 35%, transparent); transform: scale(1.08); }
.custom-color { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 10px; }
.custom-color input { position: static !important; width: 34px; height: 34px; padding: 2px; opacity: 1 !important; pointer-events: auto !important; }
.switch-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px; border-radius: 12px; background: var(--surface-2); }
.switch-row > span { display: flex; flex-direction: column; }
.switch-row small { margin-top: 3px; color: var(--muted); font-size: 9px; font-weight: 450; }
.switch-row input { width: 40px; height: 20px; accent-color: var(--accent); }
.module-toggle-list { display: grid; gap: 8px; margin-top: 8px; }
.module-toggle-list .switch-row > span > strong { display: flex; align-items: center; gap: 9px; }
.module-toggle-list .module-list-marker { width: 22px; font-style: normal; font-weight: 900; text-align: center; }
.module-toggle-list .switch-row.is-disabled { opacity: .55; cursor: not-allowed; }
.backup-card p { color: var(--muted); font-size: 11px; line-height: 1.6; }
.backup-card > small { display: block; margin-top: 13px; color: var(--muted); font-size: 9px; }
.about-card { display: flex; align-items: center; gap: 12px; }
.about-card > div { display: flex; flex-direction: column; }
.about-card small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.user-admin-card { grid-column: 1 / -1; }
.branding-description { margin: 0 0 14px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.favicon-preview { display: flex; align-items: center; gap: 13px; margin-bottom: 16px; padding: 13px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface-2); }
.favicon-preview > span { display: grid; width: 58px; height: 58px; flex: 0 0 58px; place-items: center; overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }
.favicon-preview img { display: block; width: 42px; height: 42px; object-fit: contain; }
.favicon-preview > div { display: flex; min-width: 0; flex-direction: column; }
.favicon-preview strong { font-size: 11px; }
.favicon-preview small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.favicon-upload-form input[type="file"] { padding: 9px; }
.favicon-upload-form input[type="file"]::file-selector-button { margin-right: 10px; border: 0; border-radius: 8px; padding: 8px 10px; background: var(--surface-2); color: var(--text); cursor: pointer; font-weight: 700; }
.favicon-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.favicon-actions .btn { flex: 1 1 145px; }
.danger-text { color: var(--coral); }
.user-create-form { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--border); }
.user-create-form .btn { align-self: end; }
.managed-user-list { display: grid; gap: 7px; }
.managed-user-list article { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-2); }
.user-avatar { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: color-mix(in srgb, var(--accent) 14%, var(--surface)); color: var(--accent); font-size: 12px; font-weight: 800; }
.managed-user-list article > div { display: flex; min-width: 0; flex-direction: column; }
.managed-user-list strong { font-size: 11px; }
.managed-user-list small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(15, 16, 20, .56);
    backdrop-filter: blur(7px);
}
.modal-backdrop[hidden] { display: none; }
.modal {
    width: min(620px, 100%);
    max-height: min(760px, calc(100vh - 40px));
    overflow-y: auto;
    border: 1px solid var(--border);
    border-radius: 22px;
    background: var(--surface);
    box-shadow: 0 28px 80px rgba(0,0,0,.24);
}
.modal > header { position: sticky; top: 0; z-index: 2; display: flex; align-items: flex-start; justify-content: space-between; padding: 22px 24px 16px; border-bottom: 1px solid var(--border); background: var(--surface); }
.modal h2 { margin: 5px 0 0; font-size: 20px; }
.modal-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; padding: 22px 24px 25px; }
.modal-form .full { grid-column: 1 / -1; }
.modal-form .check-row { display: flex; align-items: center; gap: 8px; padding: 12px; border-radius: 10px; background: var(--surface-2); }
.modal-form .check-row input { width: auto; margin: 0; accent-color: var(--accent); }
.modal-form .form-actions { display: flex; grid-column: 1 / -1; justify-content: flex-end; gap: 8px; padding-top: 5px; }
.toast {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 150;
    max-width: 360px;
    padding: 13px 17px;
    border-radius: 12px;
    background: #1f2937;
    box-shadow: 0 15px 30px rgba(0,0,0,.18);
    color: #fff;
    font-size: 11px;
    font-weight: 650;
    opacity: 0;
    pointer-events: none;
    transform: translateY(15px);
    transition: .2s;
}
.toast.show { opacity: 1; transform: translateY(0); }
.toast.error { background: #c92a2a; }
.auth-page {
    display: grid;
    min-height: 100vh;
    place-items: center;
    padding: 30px;
    background:
        radial-gradient(circle at 15% 20%, rgba(108,92,231,.16), transparent 28%),
        radial-gradient(circle at 85% 80%, rgba(18,183,106,.13), transparent 30%),
        #f5f6fa;
}
.auth-shell {
    display: grid;
    width: min(980px, 100%);
    grid-template-columns: 1.05fr .95fr;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.85);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 30px 90px rgba(32,29,71,.14);
}
.auth-brand {
    position: relative;
    display: flex;
    min-height: 600px;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    padding: 55px;
    background: linear-gradient(145deg, #23213d, #5b4dcc);
    color: #fff;
}
.auth-brand:before, .auth-brand:after { position: absolute; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; content: ""; }
.auth-brand:before { right: -130px; top: -130px; width: 370px; height: 370px; }
.auth-brand:after { left: -170px; bottom: -200px; width: 430px; height: 430px; }
.auth-brand > * { position: relative; z-index: 1; }
.auth-brand .eyebrow { margin-top: 28px; color: rgba(255,255,255,.65); }
.auth-brand h1 { max-width: 430px; margin: 14px 0 15px; font-size: clamp(34px, 5vw, 49px); line-height: 1.04; letter-spacing: -1.4px; }
.auth-brand > p { max-width: 430px; margin: 0; color: rgba(255,255,255,.7); line-height: 1.7; }
.auth-feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 38px; }
.auth-feature-grid span { padding: 11px; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; background: rgba(255,255,255,.08); font-size: 11px; }
.auth-card { display: flex; flex-direction: column; justify-content: center; padding: 55px; }
.auth-card-head { margin-bottom: 24px; }
.auth-card-head h2 { margin: 13px 0 6px; font-size: 28px; letter-spacing: -.6px; }
.auth-card-head p { margin: 0; color: var(--muted); font-size: 12px; }
.step-pill { display: inline-flex; padding: 6px 9px; border-radius: 99px; background: #eeebff; color: #5f4fd1; font-size: 9px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.stack-form { display: grid; gap: 15px; }
.check-row { display: flex; align-items: flex-start; gap: 8px; color: var(--muted); font-size: 10px; font-weight: 500; }
.check-row input { width: auto; margin-top: 1px; accent-color: var(--accent); }
.alert { margin-bottom: 15px; padding: 11px 13px; border-radius: 10px; font-size: 10px; line-height: 1.5; }
.alert-error { border: 1px solid #ffc9c9; background: #fff5f5; color: #c92a2a; }
.alert-success { border: 1px solid #b2f2bb; background: #ebfbee; color: #2b8a3e; }
.auth-note { margin: 18px 0 0; color: var(--muted); font-size: 9px; text-align: center; }
.login-orbit { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 35px; }
.login-orbit span { display: grid; width: 45px; height: 45px; place-items: center; border: 1px solid rgba(255,255,255,.15); border-radius: 14px; background: rgba(255,255,255,.09); font-size: 19px; }
.is-compact .content { padding-top: 18px; }
.is-compact .card { padding: 17px; }
.is-compact .metric-card { min-height: 112px; padding: 17px; }
.is-compact .hero-panel { min-height: 158px; padding-block: 25px; }

html[data-theme="dark"] {
    --bg: #11131a;
    --surface: #191c25;
    --surface-2: #20242f;
    --text: #f3f5f9;
    --muted: #9aa1b2;
    --border: #2b303c;
    --shadow: 0 12px 30px rgba(0,0,0,.18);
}
html[data-theme="dark"] .auth-page { background: #11131a; }
html[data-theme="dark"] .auth-shell { background: var(--surface); border-color: var(--border); }
html[data-theme="dark"] .quote-card { border-color: #50385b; background: linear-gradient(120deg, #30223a, #3a2432); }
html[data-theme="dark"] .motivation-card { background: var(--surface); }
html[data-theme="dark"] .motivation-list > div { border-color: #5c5429; background: #36331e; color: #f6e58d; }
html[data-theme="dark"] .week-column > strong { border-color: #315e7a; background: #19384c; color: #9dd7ff; }
.routine-habits + .two-col .pink-tag { color: #4a9ed3; }
.nav-order-list { display: grid; gap: 7px; margin-top: 8px; }
.nav-order-list > div {
    display: grid;
    grid-template-columns: 28px 26px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    min-height: 50px;
    padding: 9px 12px;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: var(--surface-2);
    cursor: grab;
    touch-action: none;
    user-select: none;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease, opacity .16s ease;
}
.nav-order-list > div:hover {
    border-color: color-mix(in srgb, var(--accent) 38%, var(--border));
    background: color-mix(in srgb, var(--accent) 4%, var(--surface-2));
    box-shadow: 0 7px 18px rgba(15, 23, 42, .07);
}
.nav-order-list > div:active { cursor: grabbing; }
.nav-order-list > div:focus-visible { outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset: 2px; }
.nav-order-list strong { min-width: 0; font-size: 11px; }
.nav-drag-grip {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 8px;
    color: var(--muted);
    font-size: 17px;
    font-weight: 900;
    letter-spacing: -4px;
    transform: rotate(90deg);
    transition: background .16s ease, color .16s ease;
}
.nav-order-list > div:hover .nav-drag-grip { background: var(--surface); color: var(--accent); }
.nav-drag-caption { color: var(--muted); font-size: 9px; font-weight: 700; opacity: .72; }
.nav-order-list.is-dragging > div:not(.is-dragging) { transition: transform .12s ease; }
.nav-order-list > div.is-dragging {
    z-index: 4;
    border-color: color-mix(in srgb, var(--accent) 68%, var(--border));
    background: color-mix(in srgb, var(--accent) 9%, var(--surface));
    box-shadow: 0 16px 34px rgba(0, 0, 0, .18);
    cursor: grabbing;
    opacity: .94;
    transform: scale(1.018);
}
.nav-order-list > div.is-dragging .nav-drag-caption { color: var(--accent); opacity: 1; }
body.nav-order-dragging { cursor: grabbing; user-select: none; }
body.nav-order-dragging * { cursor: grabbing !important; }
.field-help { margin: 0 0 6px; color: var(--muted); font-size: 10px; line-height: 1.5; }

/* Calendário */
.calendar-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; }
.calendar-actions { display:flex; align-items:center; gap:12px; }
.calendar-view-switch { display:flex; padding:4px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.calendar-view-switch a { padding:8px 13px; border-radius:9px; color:var(--muted); font-size:12px; font-weight:700; text-decoration:none; }
.calendar-view-switch a.active { color:var(--accent); background:rgba(var(--accent-rgb),.1); }
.calendar-shell { overflow:hidden; border:1px solid var(--border); border-radius:18px; background:var(--surface); box-shadow:var(--shadow); }
.calendar-weekdays, .calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.calendar-weekdays { border-bottom:1px solid var(--border); background:var(--surface-2); }
.calendar-weekdays span { padding:12px; color:var(--muted); font-size:10px; font-weight:800; text-align:center; }
.calendar-day { min-height:128px; padding:9px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--surface); cursor:pointer; overflow:hidden; }
.calendar-day:nth-child(7n) { border-right:0; }
.calendar-day:hover { background:rgba(var(--accent-rgb),.025); }
.calendar-day.outside { opacity:.42; background:var(--surface-2); }
.calendar-day > header { display:flex; justify-content:space-between; align-items:center; min-height:24px; margin-bottom:5px; }
.calendar-day > header strong { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; font-size:12px; }
.calendar-day > header span { color:var(--accent); font-size:9px; font-weight:800; }
.calendar-day.today > header strong { color:#fff; background:var(--accent); }
.day-events { display:flex; flex-direction:column; gap:4px; }
.day-events > small { color:var(--muted); font-size:9px; font-weight:700; padding-left:5px; }
.calendar-event { display:flex; align-items:center; gap:5px; width:100%; min-width:0; padding:5px 6px; border:0; border-radius:6px; color:var(--text); background:color-mix(in srgb, var(--event-color) 13%, var(--surface)); text-align:left; cursor:pointer; }
.calendar-event i, .agenda-events button > i { flex:0 0 5px; width:5px; height:5px; border-radius:50%; background:var(--event-color); }
.calendar-event time { color:var(--muted); font-size:9px; }
.calendar-event span { overflow:hidden; font-size:10px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.calendar-event.completed { opacity:.55; text-decoration:line-through; }
.week-view .calendar-day { min-height:460px; }
.calendar-agenda { padding:10px 24px; }
.agenda-day { display:grid; grid-template-columns:70px 1fr; gap:18px; padding:18px 0; border-bottom:1px solid var(--border); }
.agenda-day:last-child { border-bottom:0; }
.agenda-date { display:flex; align-items:center; gap:8px; }
.agenda-date strong { font-size:27px; }
.agenda-date span { color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; }
.agenda-events { display:flex; flex-direction:column; gap:8px; }
.agenda-events button { display:grid; grid-template-columns:7px 90px 1fr auto; align-items:center; gap:10px; width:100%; padding:10px 12px; border:1px solid var(--border); border-radius:10px; color:var(--text); background:var(--surface-2); text-align:left; cursor:pointer; }
.agenda-events time { color:var(--muted); font-size:11px; font-weight:700; }
.agenda-events span { display:flex; flex-direction:column; gap:2px; }
.agenda-events small { color:var(--muted); font-size:10px; }
.agenda-events em { color:var(--accent); font-size:10px; font-style:normal; font-weight:700; }
.split-actions { grid-template-columns:auto 1fr auto auto; }
.btn-danger { color:#e03131; border:1px solid rgba(224,49,49,.2); background:rgba(224,49,49,.08); }
html[data-theme="dark"] .calendar-event { background:color-mix(in srgb, var(--event-color) 18%, var(--surface)); }
.day-panel { display:flex; flex-direction:column; gap:18px; min-width:0; }
.day-panel-list { display:flex; flex-direction:column; gap:10px; }
.day-panel-card { position:relative; display:grid; grid-template-columns:7px minmax(0,1fr) auto; align-items:start; gap:12px; padding:14px; border:1px solid var(--border); border-radius:13px; background:var(--surface-2); }
.day-panel-card > i { width:7px; height:100%; min-height:48px; border-radius:99px; background:var(--event-color); }
.day-panel-card-content { display:flex; flex-direction:column; gap:4px; min-width:0; }
.day-panel-card-content > div { display:flex; align-items:center; gap:8px; }
.day-panel-card-content time { color:var(--event-color); font-size:11px; font-weight:800; }
.day-panel-card-content strong { font-size:14px; }
.day-panel-card-content small { color:var(--muted); font-size:11px; }
.day-panel-card-content p { margin:3px 0 0; color:var(--muted); font-size:11px; white-space:pre-wrap; }
.day-panel-card-actions { display:flex; gap:5px; }
.day-panel-card.completed { opacity:.65; }
.day-panel-card.completed .day-panel-card-content > strong { text-decoration:line-through; }
.day-panel-status { padding:3px 7px; border-radius:99px; color:#18864b; background:rgba(32,191,107,.12); font-size:9px; font-weight:800; text-transform:uppercase; }
.day-panel-empty { display:grid; place-items:center; min-height:190px; padding:24px; border:1px dashed var(--border); border-radius:14px; color:var(--muted); text-align:center; }
.day-panel-empty span { margin-bottom:9px; font-size:30px; }
.day-panel-empty strong { color:var(--text); }
.day-panel-empty p { margin:4px 0 0; font-size:12px; }
.day-panel-footer { display:flex; justify-content:flex-end; gap:8px; padding-top:4px; border-top:1px solid var(--border); }
html[data-theme="dark"] .day-panel-status { color:#8ce8b7; background:rgba(32,191,107,.18); }
@media (prefers-color-scheme: dark) {
    html[data-theme="system"] {
        --bg: #11131a;
        --surface: #191c25;
        --surface-2: #20242f;
        --text: #f3f5f9;
        --muted: #9aa1b2;
        --border: #2b303c;
    }
}

.project-tabs { display:flex; gap:9px; overflow-x:auto; margin:0 0 18px; padding:3px 2px 9px; }
.project-tabs a { flex:0 0 auto; padding:10px 15px; border:1px solid var(--border); border-radius:10px; color:var(--muted); background:var(--surface); font-size:12px; font-weight:800; text-decoration:none; }
.project-tabs a::before { content:""; display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; background:var(--project-color); }
.project-tabs a.active { color:var(--text); border-color:var(--project-color); box-shadow:0 5px 16px rgba(0,0,0,.05); }
.project-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.project-card { position:relative; display:flex; min-height:235px; flex-direction:column; overflow:hidden; padding:22px; border:1px solid var(--border); border-radius:17px; color:var(--text); background:var(--surface); box-shadow:0 7px 22px rgba(25,34,63,.04); text-align:left; text-decoration:none; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.project-card:hover { border-color:var(--project-color); box-shadow:0 13px 30px rgba(25,34,63,.09); transform:translateY(-3px); }
.project-card-accent { position:absolute; inset:0 0 auto; height:6px; background:var(--project-color); }
.project-card-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.project-card-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; color:var(--project-color); background:color-mix(in srgb,var(--project-color) 12%,transparent); font-size:19px; font-weight:900; }
.project-card-open { color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.project-card-open b { margin-left:4px; color:var(--project-color); font-size:18px; vertical-align:-1px; }
.project-card h2 { margin:0 0 7px; font-size:20px; }
.project-card > p { min-height:34px; margin:0 0 18px; overflow:hidden; color:var(--muted); font-size:11px; line-height:1.5; }
.project-card-stats { display:flex; flex-wrap:wrap; gap:8px 15px; margin-top:auto; color:var(--muted); font-size:10px; }
.project-card-stats strong { color:var(--text); }
.project-card-progress { height:6px; margin:15px 0 6px; overflow:hidden; border-radius:99px; background:var(--surface-2); }
.project-card-progress span { display:block; height:100%; border-radius:inherit; background:var(--project-color); }
.project-card > small { color:var(--muted); font-size:9px; font-weight:700; }
.project-card-new { align-items:center; justify-content:center; border:1px dashed rgba(var(--accent-rgb),.45); color:var(--accent); background:rgba(var(--accent-rgb),.025); cursor:pointer; font:inherit; text-align:center; }
.project-card-new:hover { --project-color:var(--accent); background:rgba(var(--accent-rgb),.065); }
.project-card-new > span { display:grid; place-items:center; width:48px; height:48px; margin-bottom:12px; border-radius:50%; background:rgba(var(--accent-rgb),.1); font-size:25px; }
.project-card-new > strong { font-size:14px; }
.project-card-new > small { margin-top:5px; }
.tasks-back { display:inline-flex; align-items:center; margin:-4px 0 17px; color:var(--accent); font-size:11px; font-weight:800; text-decoration:none; }
.tasks-back:hover { text-decoration:underline; }
.kanban-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:16px; }
.kanban-heading > div { display:flex; align-items:center; gap:12px; }
.kanban-heading > div > i { width:9px; height:42px; border-radius:99px; }
.kanban-heading h2,.kanban-heading p { margin:0; }
.kanban-heading p { margin-top:3px; color:var(--muted); font-size:12px; }
.task-heading-actions,.task-view-tabs { display:flex; align-items:center; gap:8px; }
.task-view-tabs { padding:4px; border:1px solid var(--border); border-radius:11px; background:var(--surface-2); }
.task-view-tabs a { padding:8px 11px; border-radius:8px; color:var(--muted); font-size:11px; font-weight:800; text-decoration:none; }
.task-view-tabs a.active { color:var(--accent); background:var(--surface); box-shadow:0 2px 7px rgba(0,0,0,.05); }
.kanban-board { display:flex; align-items:flex-start; gap:14px; width:100%; overflow-x:auto; padding:2px 2px 18px; }
.kanban-column { flex:0 0 310px; padding:12px; border:1px solid var(--border); border-radius:15px; background:var(--surface-2); transition:.15s ease; }
.kanban-column-sortable { cursor:grab; }
.kanban-column-sortable > header, .kanban-column-sortable > .kanban-add { cursor:grab; }
.kanban-column.is-dragging { opacity:.82; transform:rotate(.2deg) scale(.995); box-shadow:0 18px 34px rgba(15, 23, 42, .12); }
.kanban-column.drag-over { border-color:var(--accent); background:rgba(var(--accent-rgb),.06); transform:translateY(-2px); }
.kanban-board.is-sorting-columns { cursor:grabbing; }
.kanban-board.is-sorting-columns .kanban-column-sortable { cursor:grabbing; }
.kanban-column > header { display:grid; grid-template-columns:7px 1fr auto auto; align-items:center; gap:8px; margin-bottom:11px; }
.kanban-column > header > i { width:7px; height:24px; border-radius:99px; }
.kanban-column > header strong { font-size:13px; }
.kanban-column > header span { display:grid; place-items:center; min-width:23px; height:23px; border-radius:99px; color:var(--muted); background:var(--surface); font-size:10px; font-weight:800; }
.kanban-column > header button { border:0; color:var(--accent); background:transparent; font-size:20px; cursor:pointer; }
.kanban-cards { display:flex; flex-direction:column; gap:9px; min-height:45px; }
.kanban-card { padding:13px; border:1px solid var(--border); border-radius:11px; background:var(--surface); box-shadow:0 4px 13px rgba(0,0,0,.035); cursor:grab; }
.kanban-card:active { cursor:grabbing; }
.kanban-card:hover { border-color:rgba(var(--accent-rgb),.45); transform:translateY(-1px); }
.kanban-card.dragging { opacity:.4; }
.kanban-card.completed > strong { text-decoration:line-through; opacity:.62; }
.kanban-card > strong { display:block; font-size:13px; }
.kanban-card > p { margin:7px 0; color:var(--muted); font-size:11px; line-height:1.45; }
.kanban-card footer { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:11px; }
.kanban-card time { color:var(--muted); font-size:10px; font-weight:700; }
.task-card-meta { display:flex; gap:12px; margin-top:9px; color:var(--muted); font-size:10px; font-weight:800; }
.priority { padding:3px 7px; border-radius:99px; color:#8a5b00; background:#fff3bf; font-size:9px; font-weight:800; text-transform:uppercase; }
.priority.alta,.priority.urgente { color:#c92a2a; background:#ffe3e3; }
.priority.baixa { color:#087f5b; background:#d3f9d8; }
.task-labels { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:8px; }
.task-labels span { padding:3px 6px; border-radius:5px; color:var(--accent); background:rgba(var(--accent-rgb),.09); font-size:8px; font-weight:800; text-transform:uppercase; }
.kanban-add { width:100%; margin-top:9px; padding:9px; border:0; border-radius:8px; color:var(--muted); background:transparent; text-align:left; cursor:pointer; }
.kanban-add:hover { color:var(--accent); background:rgba(var(--accent-rgb),.07); }
.task-deadline,.task-extras { padding:14px; border:1px solid var(--border); border-radius:12px; background:var(--surface-2); }
.task-deadline > strong,.task-extra-head strong { font-size:12px; }
.task-deadline-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:10px; }
.task-deadline .check-row { margin-top:8px; }
.task-extra-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.task-extra-head small { color:var(--muted); font-size:9px; }
.subtask-edit-row { display:grid; grid-template-columns:20px 1fr 28px; align-items:center; gap:7px; margin-top:7px; }
.subtask-edit-row input[type="text"] { width:100%; padding:9px 10px; border:1px solid var(--border); border-radius:8px; color:var(--text); background:var(--surface); }
.subtask-edit-row button,.attachment-row button { border:0; color:var(--muted); background:transparent; font-size:18px; cursor:pointer; }
.attachment-list { display:flex; flex-direction:column; gap:6px; }
.attachment-row { display:grid; grid-template-columns:1fr auto 24px; align-items:center; gap:8px; padding:8px 10px; border:1px solid var(--border); border-radius:8px; background:var(--surface); }
.attachment-row a { overflow:hidden; color:var(--accent); font-size:11px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.attachment-row small { color:var(--muted); font-size:9px; }
.task-file-picker { display:inline-flex; margin-top:9px; padding:9px 12px; border:1px dashed rgba(var(--accent-rgb),.45); border-radius:8px; color:var(--accent); font-size:10px; font-weight:800; cursor:pointer; }
.task-file-picker input { position:absolute; width:1px; height:1px; opacity:0; }
.task-calendar { padding:18px; overflow:hidden; }
.task-calendar > header { display:flex; align-items:center; justify-content:space-between; margin-bottom:15px; text-align:center; }
.task-calendar > header span { color:var(--muted); font-size:9px; font-weight:900; letter-spacing:.08em; }
.task-calendar > header h3 { margin:3px 0 0; font-size:18px; text-transform:capitalize; }
.task-calendar-weekdays,.task-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.task-calendar-weekdays span { padding:8px; color:var(--muted); font-size:9px; font-weight:900; text-align:center; text-transform:uppercase; }
.task-calendar-day { min-height:125px; padding:7px; border-top:1px solid var(--border); border-left:1px solid var(--border); background:var(--surface); }
.task-calendar-day:nth-child(7n),.task-calendar-day:last-child { border-right:1px solid var(--border); }
.task-calendar-day:nth-last-child(-n+7) { border-bottom:1px solid var(--border); }
.task-calendar-day.outside { background:var(--surface-2); }
.task-calendar-day > b { display:grid; place-items:center; width:25px; height:25px; margin-bottom:5px; border-radius:50%; font-size:10px; }
.task-calendar-day.today > b { color:#fff; background:var(--accent); }
.task-calendar-day > div { display:flex; flex-direction:column; gap:4px; }
.task-calendar-day button { width:100%; overflow:hidden; padding:5px 6px; border:0; border-left:3px solid var(--task-color); border-radius:5px; color:var(--text); background:color-mix(in srgb,var(--task-color) 10%,var(--surface)); font:inherit; font-size:9px; font-weight:700; text-align:left; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; }
.task-calendar-day button span { margin-right:4px; color:var(--muted); font-size:8px; }
.task-calendar-day small { color:var(--muted); font-size:8px; }
.tasks-empty { display:grid; place-items:center; min-height:340px; text-align:center; }
.tasks-empty > span { font-size:44px; color:var(--accent); }
.tasks-empty h3 { margin:12px 0 3px; }
.tasks-empty p { margin:0 0 16px; color:var(--muted); }
.project-delete { margin-top:4px; }
.trader-access-form { display:flex; align-items:center; gap:7px; margin-left:auto; }
.mini-switch { display:flex; align-items:center; gap:6px; cursor:pointer; }
.mini-switch input { position:absolute; opacity:0; }
.mini-switch span { position:relative; width:31px; height:18px; border-radius:99px; background:var(--border); }
.mini-switch span::after { content:""; position:absolute; top:3px; left:3px; width:12px; height:12px; border-radius:50%; background:#fff; transition:.18s; }
.mini-switch input:checked + span { background:var(--accent); }
.mini-switch input:checked + span::after { transform:translateX(13px); }
.mini-switch small { color:var(--muted); font-size:9px; font-weight:800; }

@media (max-width: 1180px) {
    .project-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .metric-grid-five, .metric-grid-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-grid .span-2 { grid-column: span 2; }
    .dashboard-calendar-layout { grid-template-columns: minmax(340px, .9fr) minmax(380px, 1.1fr); gap: 24px; }
    .two-col.wide-left { grid-template-columns: 1fr; }
    .donut-wrap { justify-content: center; }
}
@media (max-width: 680px) {
    .project-list { grid-template-columns:1fr; }
    .project-card { min-height:215px; }
}
@media (max-width: 920px) {
    :root { --sidebar: 230px; }
    .sidebar { transform: translateX(-102%); transition: transform .22s ease; box-shadow: 15px 0 40px rgba(0,0,0,.12); }
    .sidebar.open { transform: translateX(0); }
    .main-column { margin-left: 0; }
    .menu-toggle { display: inline-grid; }
    .page-heading { margin-right: auto; margin-left: 12px; }
    .two-col, .settings-grid { grid-template-columns: 1fr; }
    .library-grid, .workout-grid { grid-template-columns: 1fr; }
    .trader-chart-body { grid-template-columns:1fr 1fr; gap:24px; }
}
@media (max-width: 680px) {
    .kanban-column { flex-basis:86vw; }
    .kanban-heading { align-items:flex-start; flex-direction:column; }
    .task-heading-actions { width:100%; flex-wrap:wrap; }
    .task-calendar { padding:10px; overflow-x:auto; }
    .task-calendar-weekdays,.task-calendar-grid { min-width:720px; }
    .task-deadline-grid { grid-template-columns:1fr; }
    .trader-access-form { width:100%; margin:5px 0 0 52px; }
    .user-create-form { grid-template-columns: 1fr; }
    .topbar { min-height: 70px; padding: 10px 14px; }
    .profile-chip div { display: none; }
    .profile-chip { padding: 5px; }
    .profile-menu-dropdown { right: 0; min-width: 180px; }
    .page-heading .eyebrow { display: none; }
    .page-heading h1 { font-size: 17px; }
    .content { padding: 18px 14px 50px; }
    .hero-panel { min-height: 210px; align-items: flex-start; padding: 26px; }
    .hero-date { position: absolute; right: 22px; bottom: 20px; padding: 10px 13px; }
    .hero-date strong { font-size: 30px; }
    .hero-date span { font-size: 9px; }
    .metric-grid-five, .metric-grid-four, .metric-grid-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-grid { grid-template-columns: 1fr; }
    .dashboard-grid .span-2 { grid-column: auto; }
    .dashboard-calendar-card .card-head { display: flex; align-items: stretch; flex-direction: column; }
    .calendar-period-filter { width: 100%; }
    .calendar-period-filter a { flex: 1; padding-inline: 6px; text-align: center; }
    .dashboard-calendar-layout { grid-template-columns: 1fr; }
    .dashboard-commitments { padding-top: 18px; border-top: 1px solid var(--border); border-left: 0; }
    .commitment-period-toolbar { margin-left: 0; }
    .mini-calendar-grid button { min-height: 40px; font-size: 11px; }
    .mini-calendar-year-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .section-toolbar { align-items: flex-start; }
    .csp-main-toolbar { width:100%; flex-direction:column; gap:12px; }
    .csp-main-toolbar .month-switcher { width:100%; min-width:0; justify-content:space-between; }
    .csp-main-toolbar .month-switcher a { flex:0 0 34px; }
    .csp-main-toolbar .month-switcher strong { flex:1 1 auto; min-width:0; max-width:calc(100% - 88px); overflow:hidden; }
    .csp-main-toolbar .month-switcher strong small { max-width:100%; overflow-wrap:anywhere; white-space:normal; }
    .csp-toolbar-actions { width:100%; flex-wrap:wrap; }
    .csp-toolbar-actions .btn { flex:1 1 calc(50% - 4px); min-width:0; padding-inline:10px; white-space:normal; text-align:center; }
    .trader-chart-head,.trader-date-filter { align-items:stretch; flex-direction:column; }
    .trader-date-filter { display:grid; grid-template-columns:minmax(0,1fr); width:100%; min-width:0; max-width:100%; overflow:hidden; }
    .trader-date-filter label { display:flex; width:100%; min-width:0; max-width:100%; flex-direction:column; align-items:stretch; overflow:hidden; }
    .trader-date-filter input[type="date"] { display:block; align-self:stretch; box-sizing:border-box; width:auto !important; min-width:0 !important; max-width:100% !important; margin:7px 0 0; }
    .csp-report-head { align-items:stretch; flex-direction:column; }
    .csp-date-search { width:100%; }
    .trader-period-presets { display:grid; grid-template-columns:repeat(4,1fr); width:100%; }
    .csp-chart-card { padding:18px 14px; }
    .csp-chart-card .trader-period-presets { grid-template-columns:repeat(5,1fr); }
    .csp-chart-card .trader-period-presets button { padding-inline:4px; }
    .csp-chart-summary { align-items:flex-start; flex-direction:column; }
    .csp-bars { min-height:220px; }
    .csp-chart-legend { align-items:flex-start; flex-direction:column; gap:8px; }
    .trader-date-filter > span { display:none; }
    .trader-date-filter input,.trader-date-filter .btn { width:100%; margin-left:0; }
    .trader-chart-body { grid-template-columns:1fr; padding-top:24px; }
    .trader-donut { width:190px; }
    .button-row { flex-direction: column; }
    .month-switcher strong { min-width: 100px; }
    .donut-wrap { align-items: flex-start; flex-direction: column; }
    .donut { align-self: center; }
    .book-card { grid-template-columns: 85px 1fr; gap: 13px; }
    .book-cover { min-height: 165px; padding: 12px 9px; }
    .book-cover span { font-size: 28px; }
    .health-log-list article { grid-template-columns: auto auto 1fr auto; }
    .auth-page { padding: 0; }
    .auth-shell { display: block; min-height: 100vh; border: 0; border-radius: 0; }
    .auth-brand { min-height: 285px; padding: 35px 28px; justify-content: flex-end; }
    .auth-brand h1 { margin-top: 10px; font-size: 34px; }
    .auth-brand > p { font-size: 12px; }
    .auth-feature-grid, .login-orbit { display: none; }
    .auth-card { padding: 35px 28px 50px; }
    .modal-backdrop { place-items: end center; padding: 0; }
    .modal { width: 100%; max-height: 90vh; border-radius: 22px 22px 0 0; }
    .modal-form { grid-template-columns: 1fr; padding: 18px; }
    .modal-form .full { grid-column: auto; }
    .modal-form .form-actions { grid-column: auto; }
    .theme-options { grid-template-columns: 1fr; }
    .calendar-toolbar, .calendar-actions { align-items:stretch; flex-direction:column; }
    .calendar-toolbar { gap:16px; margin-bottom:22px; }
    .calendar-toolbar > .month-switcher { width:100%; justify-content:space-between; }
    .calendar-toolbar > .month-switcher a { width:44px; height:44px; border-radius:14px; font-size:24px; }
    .calendar-toolbar > .month-switcher strong { min-width:0; flex:1; font-size:21px; letter-spacing:-.45px; text-align:left; }
    .calendar-view-switch { justify-content:center; }
    .calendar-view-switch a { flex:1; text-align:center; }

    /* A visão semanal continua rolável por conter mais detalhes por dia. */
    .calendar-shell.week-view { overflow-x:auto; }
    .calendar-shell.week-view .calendar-weekdays,
    .calendar-shell.week-view .calendar-grid { min-width:720px; }
    .calendar-shell.week-view .calendar-day { min-height:460px; }

    /* Calendário mensal compacto inspirado na visualização do iPhone. */
    .calendar-shell:not(.week-view) { width:100%; min-width:0; overflow:hidden; border-radius:20px; box-shadow:0 10px 28px rgba(28,29,34,.045); }
    .calendar-shell:not(.week-view) .calendar-weekdays,
    .calendar-shell:not(.week-view) .calendar-grid { width:100%; min-width:0; grid-template-columns:repeat(7,minmax(0,1fr)); }
    .calendar-shell:not(.week-view) .calendar-weekdays { border-bottom:1px solid var(--border); background:var(--surface); }
    .calendar-shell:not(.week-view) .calendar-weekdays span { position:relative; min-width:0; padding:14px 0 12px; font-size:0; }
    .calendar-shell:not(.week-view) .calendar-weekdays span::after { color:var(--muted); font-size:11px; font-weight:850; }
    .calendar-shell:not(.week-view) .calendar-weekdays span:nth-child(1)::after { content:"D"; }
    .calendar-shell:not(.week-view) .calendar-weekdays span:nth-child(2)::after { content:"S"; }
    .calendar-shell:not(.week-view) .calendar-weekdays span:nth-child(3)::after { content:"T"; }
    .calendar-shell:not(.week-view) .calendar-weekdays span:nth-child(4)::after { content:"Q"; }
    .calendar-shell:not(.week-view) .calendar-weekdays span:nth-child(5)::after { content:"Q"; }
    .calendar-shell:not(.week-view) .calendar-weekdays span:nth-child(6)::after { content:"S"; }
    .calendar-shell:not(.week-view) .calendar-weekdays span:nth-child(7)::after { content:"S"; }
    .calendar-shell:not(.week-view) .calendar-grid { background:var(--surface); }
    .calendar-shell:not(.week-view) .calendar-day { min-width:0; min-height:124px; padding:10px 4px 8px; border-right:0; border-bottom:1px solid var(--border); background:var(--surface); }
    .calendar-shell:not(.week-view) .calendar-day:nth-last-child(-n+7) { border-bottom:0; }
    .calendar-shell:not(.week-view) .calendar-day.outside { background:var(--surface); opacity:.32; }
    .calendar-shell:not(.week-view) .calendar-day > header { justify-content:center; min-width:0; min-height:34px; margin:0 0 7px; }
    .calendar-shell:not(.week-view) .calendar-day > header strong { width:32px; height:32px; font-size:16px; font-weight:750; }
    .calendar-shell:not(.week-view) .calendar-day > header span { display:none; }
    .calendar-shell:not(.week-view) .calendar-day.today > header strong { background:#ff3b30; box-shadow:0 5px 12px rgba(255,59,48,.22); }
    .calendar-shell:not(.week-view) .day-events { display:grid; min-width:0; gap:4px; }
    .calendar-shell:not(.week-view) .calendar-event { min-width:0; min-height:19px; gap:3px; padding:3px 4px; border-radius:999px; }
    .calendar-shell:not(.week-view) .calendar-event i { width:4px; height:4px; flex-basis:4px; }
    .calendar-shell:not(.week-view) .calendar-event time { display:none; }
    .calendar-shell:not(.week-view) .calendar-event span { min-width:0; font-size:8px; line-height:1.25; }
    .calendar-shell:not(.week-view) .day-events > small { overflow:hidden; color:var(--muted); font-size:7px; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
    .agenda-day { grid-template-columns:48px 1fr; gap:10px; }
    .calendar-agenda { padding:8px 14px; }
    .agenda-events button { grid-template-columns:7px 1fr; }
    .agenda-events time, .agenda-events span, .agenda-events em { grid-column:2; }
    .split-actions { grid-template-columns:1fr 1fr; }
    .split-actions span { display:none; }
}
@media (max-width: 520px) {
    .dashboard-commitments { grid-template-columns: 1fr; gap: 18px; }
    .commitment-period-toolbar { align-items: stretch; flex-direction: column; gap: 8px; margin-bottom: 0; }
    .commitment-period-toolbar .calendar-period-filter { width: 100%; }
    .commitment-period-toolbar .calendar-period-filter a { flex: 1; padding-inline: 5px; text-align: center; }
    .commitment-column { padding-left: 0; }
    .commitment-column + .commitment-column { margin-left: 0; padding-top: 18px; border-top: 1px solid var(--border); border-left: 0; }
}

/* Safari no iPhone mantém uma largura mínima própria em inputs de data.
   Esta regra força o campo do período CSP a usar somente o espaço disponível. */
@supports (-webkit-touch-callout: none) {
    @media (max-width: 680px) {
        .trader-date-filter input[type="date"] {
            -webkit-appearance: none;
            appearance: none;
            inline-size: -webkit-fill-available;
            max-inline-size: 100%;
            text-align: center;
        }
    }
}

@media (max-width: 430px) {
    .calendar-shell:not(.week-view) .calendar-day { min-height:116px; padding-inline:3px; }
    .calendar-shell:not(.week-view) .calendar-day > header strong { width:30px; height:30px; font-size:15px; }
    .calendar-shell:not(.week-view) .calendar-event { padding-inline:3px; }
    .calendar-shell:not(.week-view) .calendar-event span { font-size:7.5px; }
    .metric-grid-five, .metric-grid-four, .metric-grid-three { grid-template-columns: 1fr; }
    .metric-card { min-height: 110px; }
    .book-card { grid-template-columns: 1fr; }
    .book-cover { width: 115px; min-height: 170px; }
}


@media (max-width: 680px) {
    .routine-habits + .two-col { gap: 12px; }
    .routine-habits + .two-col > .card { padding: 16px 14px; }
    .routine-habits + .two-col .card-head { align-items: center; gap: 10px; }
    .routine-habits + .two-col .card-head h3 { font-size: 14px; }
    .week-board { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; overflow: visible; }
    .week-column { min-width: 0; gap: 6px; }
    .week-column > strong { padding: 7px 4px; border-radius: 10px; font-size: 8px; }
    .week-column article { min-width: 0; padding: 8px 22px 8px 8px; border-radius: 10px; }
    .week-column time { font-size: 8px; }
    .week-column article > span { font-size: 9px; line-height: 1.25; }
    .week-column article > small { white-space: normal; font-size: 7px; line-height: 1.25; }
    .schedule-card-trigger > b { right: 6px; top: 4px; font-size: 12px; }
    .day-empty { padding: 12px 3px; font-size: 8px; }
    .journal-list { gap: 4px; }
    .journal-list article { grid-template-columns: 34px minmax(0, 1fr) auto; gap: 8px; padding: 9px 0; }
    .journal-list time { width: 34px; height: 34px; border-radius: 9px; font-size: 8px; }
    .journal-list article > div { min-width: 0; }
    .journal-list strong { display: block; font-size: 10px; line-height: 1.25; }
    .journal-list p { font-size: 8px; line-height: 1.35; }
    .journal-list article > span { grid-column: 2; color: var(--pink); font-size: 6px; letter-spacing: 1.5px; }
    .journal-list article > button { grid-column: 3; grid-row: 1 / span 2; align-self: start; }
}

@media (max-width: 430px) {
    .week-board { grid-template-columns: 1fr; }
}


@media (max-width: 680px) {
    .finance-movements-card, .finance-categories-card { padding: 16px 14px; }
    .finance-movements-card .data-table-wrap { overflow: visible; margin: 0; }
    .finance-mobile-table { min-width: 0; display: block; }
    .finance-mobile-table thead { display: none; }
    .finance-mobile-table tbody { display: grid; gap: 10px; }
    .finance-mobile-table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; padding: 12px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); box-shadow: 0 6px 16px rgba(28,29,34,.05); }
    .finance-mobile-table td { display: flex; min-width: 0; align-items: center; gap: 8px; padding: 0; border: 0; }
    .finance-mobile-table td:first-child { grid-column: 1 / -1; align-items: flex-start; }
    .finance-mobile-table td:first-child strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
    .finance-mobile-table td:nth-child(2) { grid-column: 1; }
    .finance-mobile-table td:nth-child(3) { grid-column: 2; justify-self: end; }
    .finance-mobile-table td:nth-child(4) { grid-column: 1; }
    .finance-mobile-table td:nth-child(5) { grid-column: 2; justify-self: end; text-align: right; }
    .finance-mobile-table td:nth-child(6) { display: none; }
    .finance-mobile-table td:nth-child(3), .finance-mobile-table td:nth-child(4), .finance-mobile-table td:nth-child(5) { font-size: 10px; }
    .finance-mobile-table td:nth-child(3)::before, .finance-mobile-table td:nth-child(4)::before, .finance-mobile-table td:nth-child(5)::before { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
    .finance-mobile-table td:nth-child(3)::before { content: "Data"; margin-right: 6px; }
    .finance-mobile-table td:nth-child(4)::before { content: "Pagamento"; margin-right: 6px; }
    .finance-mobile-table td:nth-child(5)::before { content: "Valor"; margin-right: 6px; }
    .finance-mobile-table .category-pill { font-size: 8px; padding: 4px 7px; }
    .finance-mobile-table .entry-kind { flex: 0 0 auto; }
    .finance-categories-card .donut-wrap { gap: 14px; align-items: center; }
    .finance-categories-card .donut { width: 132px; height: 132px; }
    .finance-categories-card .donut:after { width: 76px; height: 76px; }
    .finance-categories-card .donut span { max-width: 64px; font-size: 10px; }
    .finance-categories-card .legend-list { width: 100%; gap: 6px; }
    .finance-categories-card .legend-list > div { grid-template-columns: auto minmax(0, 1fr) auto; gap: 6px; font-size: 8.5px; }
    .finance-categories-card .legend-list span, .finance-categories-card .legend-list strong { min-width: 0; }
    .finance-categories-card .legend-list strong { font-size: 9px; }
}

@media (max-width: 430px) {
    .finance-mobile-table tr { grid-template-columns: 1fr; }
    .finance-mobile-table td:nth-child(2), .finance-mobile-table td:nth-child(3), .finance-mobile-table td:nth-child(4), .finance-mobile-table td:nth-child(5) { grid-column: 1; justify-self: stretch; }
    .finance-mobile-table td:nth-child(3), .finance-mobile-table td:nth-child(4), .finance-mobile-table td:nth-child(5) { justify-content: space-between; }
    .finance-categories-card .donut { width: 120px; height: 120px; }
    .finance-categories-card .donut:after { width: 68px; height: 68px; }
}


@media (max-width: 680px) {
    .csp-card { padding: 16px 14px; }
    .csp-card .data-table-wrap { overflow: visible; margin: 0; }
    .csp-mobile-report-table { min-width: 0; display: block; }
    .csp-mobile-report-table thead { display: none; }
    .csp-mobile-report-table tbody { display: grid; gap: 12px; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] {
        position: relative;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        padding: 14px;
        border: 1px solid var(--border);
        border-radius: 18px;
        background: linear-gradient(180deg, color-mix(in srgb, var(--surface) 98%, #3b82f6 2%), color-mix(in srgb, var(--surface-2) 40%, var(--surface)));
        box-shadow: 0 8px 20px rgba(28,29,34,.05);
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td {
        display: grid;
        gap: 4px;
        min-width: 0;
        padding: 0;
        border: 0;
        text-align: left !important;
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td::before {
        display: block;
        color: var(--muted);
        font-size: 8px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .08em;
        line-height: 1.2;
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(1) {
        grid-column: 1 / -1;
        padding-right: 54px;
        border-bottom: 1px solid var(--border);
        padding-bottom: 8px;
        margin-bottom: 2px;
        font-size: 18px;
        font-weight: 850;
        line-height: 1.1;
        letter-spacing: -.02em;
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(1)::before { content: "Data"; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(2),
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(7) {
        padding: 10px 12px;
        border-radius: 14px;
        background: var(--surface);
        box-shadow: inset 0 0 0 1px var(--border);
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(2)::before { content: "Total de entregas"; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(2) strong,
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(7) strong {
        font-size: 18px;
        line-height: 1.1;
        letter-spacing: -.03em;
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(3)::before { content: "Comuns"; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(4)::before { content: "Fora de área"; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(5)::before { content: "Entregas"; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(6)::before { content: "Diária"; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(7)::before { content: "Total do dia"; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(8)::before { content: "Dia"; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(9)::before { content: "Status"; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(3),
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(4),
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(5),
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(6),
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(8),
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(9) {
        padding: 2px 0;
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(9) .status-pill {
        width: fit-content;
        font-size: 9px;
        padding: 5px 9px;
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(10) {
        position: absolute;
        right: 12px;
        top: 12px;
        display: block;
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(10)::before { content: none; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(10) .icon-btn {
        width: 40px;
        height: 40px;
        border-radius: 14px;
        background: var(--surface);
        box-shadow: inset 0 0 0 1px var(--border);
    }
    .csp-mobile-report-table tbody > tr:not([data-csp-report-row]) {
        display: block;
        padding: 0;
        border: 0;
        background: none;
    }
    .csp-mobile-report-table tbody > tr:not([data-csp-report-row]) > td {
        display: block;
        border: 0;
        padding: 10px 0 0;
        text-align: center;
    }
}

@media (max-width: 430px) {
    .csp-mobile-report-table tbody > tr[data-csp-report-row] {
        grid-template-columns: 1fr 1fr;
        padding: 13px;
        gap: 9px;
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(1) {
        font-size: 16px;
        padding-right: 50px;
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(2) strong,
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(7) strong {
        font-size: 16px;
    }
}


/* Refinamento final do relatório CSP no celular */
@media (max-width: 680px) {
    .csp-mobile-report-table tbody > tr[data-csp-report-row] {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
        padding: 13px;
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(1) {
        grid-column: 1 / -1;
        margin-bottom: 0;
        padding-bottom: 9px;
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(2) {
        grid-column: 1 / 3;
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(7) {
        grid-column: 3 / 5;
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(3),
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(4),
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(5),
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(6) {
        padding: 9px 8px;
        border-radius: 11px;
        background: color-mix(in srgb, var(--surface-2) 72%, var(--surface));
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(3) { grid-column: 1; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(4) { grid-column: 2; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(5) { grid-column: 3; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(6) { grid-column: 4; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(8),
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(9) {
        margin-top: 2px;
        padding-top: 10px;
        border-top: 1px solid var(--border);
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(8) {
        grid-column: 1 / 3;
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(9) {
        grid-column: 3 / 5;
        align-items: end;
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(9) .status-pill {
        justify-self: start;
    }
}

@media (max-width: 430px) {
    .csp-mobile-report-table tbody > tr[data-csp-report-row] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(1) { grid-column: 1 / -1; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(2) { grid-column: 1; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(7) { grid-column: 2; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(3) { grid-column: 1; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(4) { grid-column: 2; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(5) { grid-column: 1; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(6) { grid-column: 2; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(8) { grid-column: 1; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(9) { grid-column: 2; }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(2),
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(7) {
        padding: 9px 10px;
    }
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(2) strong,
    .csp-mobile-report-table tbody > tr[data-csp-report-row] > td:nth-child(7) strong {
        font-size: 15px;
    }
}


@media (max-width: 920px) {
    .settings-save-dock { left: 14px; right: 14px; bottom: 12px; }
}
@media (max-width: 520px) {
    .settings-save-dock {
        left: 14px;
        right: 14px;
        bottom: calc(12px + env(safe-area-inset-bottom));
        display: block;
        min-height: 0;
        max-width: none;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
    .settings-save-message { display: none; }
    .settings-save-actions { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 8px; width: 100%; }
    .settings-save-submit,
    .settings-restore-submit {
        width: 100%;
        min-width: 0;
        min-height: 52px;
        padding-inline: 10px;
        border-radius: 15px;
        font-size: 10px;
    }
    .settings-save-submit { box-shadow: 0 12px 30px rgba(var(--accent-rgb), .28); }
    .nav-drag-caption { display: none; }
    .nav-order-list > div { grid-template-columns: 28px 24px minmax(0, 1fr); }
    body.settings-save-pending .content { padding-bottom: 96px; }
}

/* Página pública, cadastro e compartilhamento de livros */
.public-page { min-height:100vh; background:radial-gradient(circle at 12% 15%,rgba(108,92,231,.14),transparent 28%),radial-gradient(circle at 88% 78%,rgba(15,159,110,.12),transparent 26%),var(--bg); color:var(--text); }
.public-header { position:sticky; top:0; z-index:20; display:flex; max-width:1280px; margin:0 auto; padding:20px 28px; align-items:center; justify-content:space-between; gap:20px; background:color-mix(in srgb,var(--bg) 88%,transparent); backdrop-filter:blur(18px); }
.public-brand { display:flex; align-items:center; gap:11px; color:var(--text); text-decoration:none; }
.public-brand > span:last-child { display:grid; gap:2px; }
.public-brand strong { font-size:15px; }
.public-brand small { color:var(--muted); font-size:9px; }
.public-header nav { display:flex; gap:9px; }
.public-main { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:45px 0 70px; }
.public-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr); align-items:center; gap:70px; min-height:560px; }
.public-hero-copy h1 { max-width:680px; margin:18px 0; font-size:clamp(42px,6vw,72px); line-height:.98; letter-spacing:-2.8px; }
.public-hero-copy > p { max-width:650px; margin:0; color:var(--muted); font-size:16px; line-height:1.7; }
.public-hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.public-trust { display:flex; flex-wrap:wrap; gap:16px; margin-top:25px; color:var(--muted); font-size:10px; font-weight:750; }
.public-preview { position:relative; overflow:hidden; min-height:440px; padding:24px; border:1px solid var(--border); border-radius:32px; background:var(--surface); box-shadow:0 35px 80px rgba(35,32,77,.15); }
.public-preview:before { position:absolute; right:-80px; top:-90px; width:300px; height:300px; border-radius:50%; background:linear-gradient(135deg,rgba(var(--accent-rgb),.4),rgba(var(--accent-rgb),.05)); content:""; }
.public-preview-top { position:relative; display:flex; align-items:center; gap:10px; }
.public-preview-top i { width:36px; height:10px; border-radius:99px; background:var(--surface-2); }
.public-preview-top i:first-of-type { margin-left:auto; }
.public-preview-hero { position:relative; display:grid; gap:9px; margin-top:30px; padding:30px; border-radius:24px; background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 68%,#1f2d65)); color:#fff; }
.public-preview-hero small { font-size:8px; font-weight:900; letter-spacing:.14em; }
.public-preview-hero strong { font-size:28px; line-height:1.06; }
.public-preview-grid { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:14px; }
.public-preview-grid span { height:74px; border:1px solid var(--border); border-radius:16px; background:var(--surface-2); }
.public-preview-list { position:relative; display:grid; gap:9px; margin-top:14px; }
.public-preview-list i { display:block; height:38px; border:1px solid var(--border); border-radius:12px; background:linear-gradient(90deg,var(--surface-2) 0 18%,var(--surface) 18%); }
.public-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:35px; }
.public-features article,.public-access article { padding:28px; border:1px solid var(--border); border-radius:24px; background:var(--surface); box-shadow:var(--shadow); }
.public-features article > span { font-size:26px; }
.public-features h2,.public-access h2 { margin:14px 0 8px; font-size:19px; }
.public-features p,.public-access p { margin:0; color:var(--muted); font-size:11px; line-height:1.7; }
.public-access { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:16px; }
.public-access .btn { margin-top:20px; }
.public-access-primary { background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--surface)),var(--surface)) !important; }
.public-footer { display:flex; justify-content:center; gap:10px; padding:25px; color:var(--muted); font-size:9px; }
.public-footer strong { color:var(--text); }
.auth-home-link { position:absolute; left:32px; top:28px; z-index:2; color:rgba(255,255,255,.78); font-size:10px; font-weight:800; text-decoration:none; }
.auth-home-link:hover { color:#fff; }
.auth-switch-link { margin:18px 0 0; color:var(--muted); font-size:10px; text-align:center; }
.auth-switch-link a { color:var(--accent); font-weight:800; }
.book-badge-row { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.book-owner-badge,.book-share-count { display:inline-flex; padding:4px 8px; border-radius:99px; font-size:8px; font-weight:800; }
.book-owner-badge { background:color-mix(in srgb,var(--accent) 12%,var(--surface)); color:var(--accent); }
.book-share-count { background:color-mix(in srgb,var(--green) 12%,var(--surface)); color:var(--green); }
.book-actions-wrap { flex-wrap:wrap; }
.book-share-user-list { display:grid; max-height:360px; overflow:auto; gap:8px; padding-right:4px; }
.book-share-user { display:grid; grid-template-columns:auto auto minmax(0,1fr); align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--border); border-radius:13px; background:var(--surface-2); cursor:pointer; }
.book-share-user input { width:18px; height:18px; accent-color:var(--accent); }
.book-share-user > span:last-child { display:grid; min-width:0; gap:2px; }
.book-share-user strong { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.book-share-user small { color:var(--muted); font-size:8px; }
.book-history-list { display:grid; max-height:390px; overflow:auto; gap:8px; }
.book-history-list article { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:12px 14px; border:1px solid var(--border); border-radius:13px; background:var(--surface-2); }
.book-history-list article > span { display:grid; gap:3px; }
.book-history-list strong { font-size:11px; }
.book-history-list small { color:var(--muted); font-size:8px; }
.book-history-list b { color:var(--accent); font-size:13px; }

@media (max-width: 920px) {
    .public-hero { grid-template-columns:1fr; gap:35px; }
    .public-preview { min-height:390px; }
    .public-features { grid-template-columns:1fr; }
}
@media (max-width: 680px) {
    .public-header { padding:14px 18px; }
    .public-brand small { display:none; }
    .public-header nav .btn { padding-inline:12px; }
    .public-main { width:min(100% - 28px,1180px); padding-top:24px; }
    .public-hero { min-height:0; }
    .public-hero-copy h1 { font-size:44px; letter-spacing:-1.8px; }
    .public-hero-copy > p { font-size:13px; }
    .public-preview { min-height:340px; padding:17px; border-radius:25px; }
    .public-preview-hero { padding:23px; }
    .public-preview-hero strong { font-size:23px; }
    .public-preview-grid span { height:58px; }
    .public-access { grid-template-columns:1fr; }
    .auth-home-link { left:28px; top:24px; }
    .book-share-user-list,.book-history-list { max-height:50vh; }
}


/* Plan Zonix 5.21.1 — busca de compartilhamento e página inicial refinada */
.book-share-search { display:grid; gap:7px; }
.book-share-search > span { color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.book-share-search > div { display:flex; align-items:center; gap:9px; padding:0 12px; border:1px solid var(--border); border-radius:13px; background:var(--surface); color:var(--muted); }
.book-share-search input { min-width:0; padding:11px 0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.book-share-search input:focus { border:0; box-shadow:none; }
.book-share-user[hidden],.book-share-no-results[hidden] { display:none !important; }
.book-share-no-results { margin:12px 0; color:var(--muted); font-size:10px; text-align:center; }

.landing-page { overflow-x:hidden; }
.landing-header { width:min(1320px,calc(100% - 36px)); max-width:none; margin:16px auto 0; padding:13px 16px; border:1px solid color-mix(in srgb,var(--border) 85%,transparent); border-radius:20px; background:color-mix(in srgb,var(--surface) 88%,transparent); box-shadow:0 15px 45px rgba(31,29,70,.07); }
.landing-nav { display:flex; align-items:center; gap:22px; }
.landing-nav-link { color:var(--muted); font-size:10px; font-weight:800; text-decoration:none; }
.landing-nav-link:hover { color:var(--accent); }
.landing-nav-actions { display:flex; gap:8px; }
.landing-main { width:min(1240px,calc(100% - 40px)); margin:0 auto; padding:72px 0 65px; }
.landing-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(500px,.98fr); align-items:center; gap:66px; min-height:620px; }
.landing-copy { position:relative; z-index:2; }
.landing-eyebrow { display:inline-flex; align-items:center; gap:8px; color:var(--accent); font-size:9px; font-weight:900; letter-spacing:.15em; }
.landing-eyebrow i { width:22px; height:2px; border-radius:99px; background:currentColor; }
.landing-copy h1 { margin:20px 0 22px; font-size:clamp(48px,5.7vw,78px); line-height:.94; letter-spacing:-4px; }
.landing-copy h1 em { color:var(--accent); font-style:normal; }
.landing-copy > p { max-width:660px; margin:0; color:var(--muted); font-size:16px; line-height:1.7; }
.landing-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:29px; }
.landing-primary-action { gap:22px; padding-inline:20px; }
.landing-primary-action span { font-size:16px; }
.landing-benefits { display:flex; flex-wrap:wrap; gap:18px; margin-top:25px; color:var(--muted); font-size:10px; font-weight:750; }
.landing-benefits b { color:var(--green); }
.landing-dashboard { position:relative; overflow:hidden; padding:17px; border:1px solid var(--border); border-radius:31px; background:var(--surface); box-shadow:0 38px 90px rgba(36,32,80,.17); transform:rotate(1deg); }
.landing-dashboard:before { position:absolute; right:-90px; top:-90px; width:260px; height:260px; border-radius:50%; background:rgba(var(--accent-rgb),.08); content:""; }
.landing-window-bar { position:relative; display:flex; align-items:center; justify-content:space-between; padding:2px 2px 14px; }
.landing-window-bar > div { display:flex; align-items:center; gap:10px; }
.landing-window-bar strong { font-size:11px; }
.landing-avatar { display:grid; width:34px; height:34px; place-items:center; border-radius:11px; background:color-mix(in srgb,var(--accent) 12%,var(--surface)); color:var(--accent); font-size:11px; font-weight:900; }
.landing-welcome { position:relative; display:grid; gap:7px; padding:24px; border-radius:21px; background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 65%,#1d2c61)); color:#fff; }
.landing-welcome small { font-size:7px; font-weight:900; letter-spacing:.16em; }
.landing-welcome strong { font-size:24px; line-height:1.03; }
.landing-welcome span { font-size:9px; opacity:.82; }
.landing-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:10px; }
.landing-metrics article { position:relative; display:grid; min-height:84px; align-content:center; gap:5px; overflow:hidden; padding:13px; border:1px solid var(--border); border-radius:15px; background:var(--surface-2); }
.landing-metrics small { color:var(--muted); font-size:7px; }
.landing-metrics strong { font-size:13px; }
.landing-metrics i { position:absolute; right:-10px; top:-10px; width:42px; height:42px; border-radius:50%; opacity:.13; }
.landing-metrics i.green { background:var(--green); }.landing-metrics i.blue { background:var(--accent); }.landing-metrics i.purple { background:#7950f2; }
.landing-dashboard-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:9px; margin-top:9px; }
.landing-mini-calendar,.landing-mini-agenda { padding:14px; border:1px solid var(--border); border-radius:16px; background:var(--surface); }
.landing-mini-calendar header,.landing-mini-agenda header { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; font-size:7px; }
.landing-mini-calendar header span,.landing-mini-agenda header span { font-weight:900; }
.landing-mini-calendar header b,.landing-mini-agenda header b { color:var(--accent); font-size:7px; }
.landing-weekdays,.landing-days { display:grid; grid-template-columns:repeat(7,1fr); text-align:center; }
.landing-weekdays { color:var(--muted); font-size:6px; }
.landing-days { margin-top:5px; gap:3px 0; }
.landing-days span { display:grid; min-height:22px; place-items:center; border-radius:7px; color:var(--muted); font-size:7px; }
.landing-days span.active { background:var(--accent); color:#fff; font-weight:900; }
.landing-mini-agenda { display:grid; align-content:start; gap:7px; }
.landing-mini-agenda header { margin-bottom:2px; }
.landing-mini-agenda > div { display:grid; grid-template-columns:3px minmax(0,1fr); align-items:center; gap:8px; padding:8px; border-radius:10px; background:var(--surface-2); }
.landing-mini-agenda i { align-self:stretch; border-radius:99px; }.landing-mini-agenda i.green { background:var(--green); }.landing-mini-agenda i.blue { background:var(--accent); }.landing-mini-agenda i.purple { background:#7950f2; }
.landing-mini-agenda span { display:grid; gap:2px; }.landing-mini-agenda strong { overflow:hidden; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }.landing-mini-agenda small { color:var(--muted); font-size:6px; }
.landing-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:35px 0 110px; border:1px solid var(--border); border-radius:23px; background:var(--surface); box-shadow:var(--shadow); }
.landing-stats article { display:flex; align-items:center; gap:14px; padding:25px; border-right:1px solid var(--border); }
.landing-stats article:last-child { border-right:0; }
.landing-stats strong { color:var(--accent); font-size:25px; letter-spacing:-1px; }
.landing-stats span { color:var(--muted); font-size:9px; line-height:1.5; }
.landing-section { padding:0 0 105px; }
.landing-section-head { display:flex; align-items:end; justify-content:space-between; gap:45px; margin-bottom:35px; }
.landing-section-head h2,.landing-library-copy h2,.landing-cta h2 { max-width:650px; margin:15px 0 0; font-size:clamp(34px,4vw,52px); line-height:1.02; letter-spacing:-2px; }
.landing-section-head > p { max-width:390px; margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
.landing-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.landing-feature-grid article { display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; padding:24px; border:1px solid var(--border); border-radius:20px; background:var(--surface); box-shadow:0 13px 35px rgba(31,29,70,.05); transition:transform .18s,border-color .18s; }
.landing-feature-grid article:hover { transform:translateY(-3px); border-color:color-mix(in srgb,var(--accent) 32%,var(--border)); }
.landing-feature-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:13px; font-size:17px; font-weight:900; }
.landing-feature-icon.blue { background:#eaf1ff;color:#2563eb }.landing-feature-icon.green { background:#e7f8f1;color:#0f9f6e }.landing-feature-icon.purple { background:#f0ebff;color:#7950f2 }.landing-feature-icon.amber { background:#fff4d9;color:#e59b00 }.landing-feature-icon.coral { background:#ffe9e4;color:#e8593f }.landing-feature-icon.pink { background:#ffe8f2;color:#d63384 }
.landing-feature-grid h3 { margin:2px 0 7px; font-size:14px; }.landing-feature-grid p { margin:0; color:var(--muted); font-size:10px; line-height:1.65; }
.landing-library { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:center; gap:70px; padding:70px; border:1px solid var(--border); border-radius:32px; background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,var(--surface)),var(--surface)); box-shadow:var(--shadow); }
.landing-library-visual { position:relative; min-height:350px; }
.landing-book { position:absolute; display:grid; width:170px; height:245px; align-content:space-between; padding:25px; border-radius:10px 22px 22px 10px; color:#fff; box-shadow:0 25px 50px rgba(32,29,75,.22); }
.landing-book span { font-size:42px; font-weight:900; }.landing-book small { font-size:9px; font-weight:900; letter-spacing:.2em; }
.landing-book-one { left:12%; top:15px; background:linear-gradient(145deg,#2b2661,#6c5ce7); transform:rotate(-7deg); }
.landing-book-two { left:37%; top:45px; background:linear-gradient(145deg,#0d7d59,#25c38d); transform:rotate(7deg); }
.landing-reader-card { position:absolute; right:2%; bottom:12px; display:grid; width:240px; gap:8px; padding:19px; border:1px solid var(--border); border-radius:17px; background:var(--surface); box-shadow:0 18px 45px rgba(31,29,70,.15); }
.landing-reader-card small { color:var(--muted); font-size:7px; font-weight:900; letter-spacing:.12em; }.landing-reader-card strong { color:var(--accent); font-size:28px; }.landing-reader-card i { height:7px; overflow:hidden; border-radius:99px; background:var(--surface-2); }.landing-reader-card b { display:block; width:68%; height:100%; border-radius:inherit; background:var(--accent); }.landing-reader-card span { color:var(--muted); font-size:8px; }
.landing-library-copy > p { margin:20px 0; color:var(--muted); font-size:13px; line-height:1.75; }
.landing-library-copy ul { display:grid; gap:10px; margin:0; padding:0; list-style:none; }.landing-library-copy li { position:relative; padding-left:25px; font-size:11px; font-weight:750; }.landing-library-copy li:before { position:absolute; left:0; top:-1px; display:grid; width:17px; height:17px; place-items:center; border-radius:50%; background:color-mix(in srgb,var(--green) 14%,var(--surface)); color:var(--green); content:"✓"; font-size:9px; }
.landing-cta { display:flex; align-items:center; justify-content:space-between; gap:40px; margin-top:90px; padding:45px 50px; border-radius:28px; background:linear-gradient(135deg,#201a52,var(--accent)); color:#fff; box-shadow:0 28px 70px rgba(var(--accent-rgb),.25); }
.landing-eyebrow.light { color:rgba(255,255,255,.72); }.landing-cta h2 { max-width:700px; color:#fff; }.landing-cta p { margin:12px 0 0; color:rgba(255,255,255,.72); font-size:11px; }
.landing-cta > div:last-child { display:grid; gap:10px; justify-items:center; }
.landing-cta-button { flex:0 0 auto; padding:15px 22px; background:#fff; color:#251d62; font-weight:900; }
.landing-login-link { color:rgba(255,255,255,.78); font-size:9px; font-weight:800; text-decoration:none; }
.landing-footer { margin-top:0; }

@media (max-width:1040px) {
    .landing-hero { grid-template-columns:1fr; gap:45px; }
    .landing-dashboard { max-width:700px; width:100%; margin:0 auto; transform:none; }
    .landing-stats { grid-template-columns:repeat(2,1fr); }
    .landing-stats article:nth-child(2) { border-right:0; }.landing-stats article:nth-child(-n+2) { border-bottom:1px solid var(--border); }
    .landing-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .landing-library { grid-template-columns:1fr; gap:35px; }
    .landing-library-visual { width:min(560px,100%); margin:0 auto; }
}
@media (max-width:720px) {
    .landing-header { width:calc(100% - 22px); margin-top:10px; }
    .landing-nav-link { display:none; }
    .landing-nav { gap:8px; }.landing-nav-actions .btn { padding-inline:11px; }
    .landing-main { width:min(100% - 28px,1240px); padding-top:45px; }
    .landing-hero { min-height:0; }
    .landing-copy h1 { font-size:48px; letter-spacing:-2.5px; }.landing-copy > p { font-size:13px; }
    .landing-dashboard { padding:12px; border-radius:24px; }
    .landing-welcome { padding:20px; }.landing-welcome strong { font-size:21px; }
    .landing-dashboard-grid { grid-template-columns:1fr; }
    .landing-stats { grid-template-columns:1fr; margin-bottom:75px; }
    .landing-stats article { border-right:0; border-bottom:1px solid var(--border); }.landing-stats article:last-child { border-bottom:0; }
    .landing-section-head { align-items:start; flex-direction:column; gap:14px; }
    .landing-feature-grid { grid-template-columns:1fr; }
    .landing-library { padding:28px 20px; border-radius:25px; }
    .landing-library-visual { min-height:300px; transform:scale(.9); transform-origin:center; }
    .landing-book-one { left:2%; }.landing-book-two { left:30%; }.landing-reader-card { right:0; }
    .landing-cta { align-items:flex-start; flex-direction:column; padding:32px 24px; }
}
@media (max-width:430px) {
    .landing-header .public-brand small { display:none; }
    .landing-nav-actions .btn:first-child { display:none; }
    .landing-copy h1 { font-size:40px; letter-spacing:-2px; }
    .landing-actions .btn { width:100%; justify-content:center; }
    .landing-benefits { display:grid; gap:8px; }
    .landing-metrics { grid-template-columns:1fr; }.landing-metrics article { min-height:68px; }
    .landing-library-visual { min-height:260px; transform:scale(.78); margin:-30px -35px; width:calc(100% + 70px); }
}

/* Compartilhamento de livros: usuários atuais e remoção de acesso */
.book-share-section { display:grid; gap:10px; padding:14px; border:1px solid var(--border); border-radius:16px; background:var(--surface-2); }
.book-share-section > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.book-share-section > header > div { display:grid; gap:3px; }
.book-share-section > header span { font-size:11px; font-weight:850; }
.book-share-section > header small { color:var(--muted); font-size:8px; line-height:1.35; }
.book-share-section > header > b { display:grid; min-width:27px; height:27px; place-items:center; padding:0 7px; border-radius:9px; background:color-mix(in srgb,var(--accent) 13%,var(--surface)); color:var(--accent); font-size:10px; }
.book-share-section .book-share-user-list { max-height:250px; padding-right:3px; }
.book-share-user { grid-template-columns:auto minmax(0,1fr) auto; cursor:default; }
.book-share-user-info { display:grid; min-width:0; gap:2px; }
.book-share-toggle { min-width:76px; padding:7px 10px; border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border)); border-radius:9px; background:color-mix(in srgb,var(--accent) 8%,var(--surface)); color:var(--accent); font:inherit; font-size:8px; font-weight:850; cursor:pointer; }
.book-share-toggle:hover { background:color-mix(in srgb,var(--accent) 14%,var(--surface)); }
.book-share-toggle.danger { border-color:color-mix(in srgb,var(--coral) 30%,var(--border)); background:color-mix(in srgb,var(--coral) 8%,var(--surface)); color:var(--coral); }
.book-share-toggle.danger:hover { background:color-mix(in srgb,var(--coral) 14%,var(--surface)); }
.book-share-user.is-shared { background:color-mix(in srgb,var(--green) 7%,var(--surface)); border-color:color-mix(in srgb,var(--green) 22%,var(--border)); }
.book-share-empty { margin:4px 0; color:var(--muted); font-size:9px; line-height:1.45; text-align:center; }
.book-share-empty[hidden] { display:none !important; }

@media (max-width:680px) {
    .book-share-section { padding:12px; }
    .book-share-section .book-share-user-list { max-height:34vh; }
    .book-share-user { grid-template-columns:auto minmax(0,1fr); }
    .book-share-toggle { grid-column:2; justify-self:start; min-width:0; }
}


/* Cloudflare Turnstile: validação executada ao clicar em entrar ou criar conta */
.turnstile-anchor { width:100%; min-height:0; }
.turnstile-anchor:empty { display:none; }
.turnstile-status { min-height:15px; margin:0; color:var(--muted); font-size:9px; line-height:1.4; text-align:center; }
.turnstile-status:empty { display:none; }
.turnstile-status.is-error { color:var(--coral); }
.turnstile-config-status { display:flex; align-items:flex-start; gap:10px; padding:12px; border:1px solid var(--border); border-radius:13px; background:var(--surface-2); }
.turnstile-config-status > span { width:10px; height:10px; flex:0 0 10px; margin-top:3px; border-radius:50%; background:var(--muted); box-shadow:0 0 0 5px color-mix(in srgb,var(--muted) 12%,transparent); }
.turnstile-config-status.is-active > span { background:var(--green); box-shadow:0 0 0 5px color-mix(in srgb,var(--green) 14%,transparent); }
.turnstile-config-status > div { display:grid; gap:3px; }
.turnstile-config-status strong { font-size:11px; }
.turnstile-config-status small { color:var(--muted); font-size:9px; line-height:1.4; }
.turnstile-settings-card code { overflow-wrap:anywhere; }


.user-search-field { display:grid; gap:7px; margin:0 0 14px; }
.user-search-field > span { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.user-search-field > div { display:flex; align-items:center; gap:9px; padding:0 12px; border:1px solid var(--border); border-radius:13px; background:var(--surface); color:var(--muted); }
.user-search-field input { min-width:0; padding:11px 0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.user-search-field input:focus { border:0; box-shadow:none; }
.managed-user-tools { display:grid; gap:10px; justify-self:stretch; }
.managed-user-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.managed-user-access-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:8px; }
.user-search-empty { margin: 4px 0 0; }

@media (max-width: 980px) {
    .managed-user-list article { grid-template-columns: auto 1fr; }
    .managed-user-tools { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
    .managed-user-actions { justify-content:stretch; }
    .managed-user-actions .btn, .managed-user-actions .icon-btn { flex:1 1 auto; }
    .managed-user-access-grid { grid-template-columns: 1fr; }
}


/* Tema claro/escuro nas páginas públicas, login e cadastro */
.public-theme-toggle {
    display: inline-flex;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--surface) 92%, transparent);
    color: var(--text);
    box-shadow: 0 8px 20px rgba(28, 29, 34, .06);
    cursor: pointer;
    backdrop-filter: blur(14px);
    transition: border-color .18s, background .18s, transform .18s;
}
.public-theme-toggle:hover {
    border-color: color-mix(in srgb, var(--accent) 42%, var(--border));
    background: color-mix(in srgb, var(--accent) 7%, var(--surface));
    transform: translateY(-1px);
}
.public-theme-toggle [data-theme-icon] { font-size: 17px; line-height: 1; }
.public-theme-toggle .theme-toggle-label { display: none; font-size: 10px; font-weight: 800; white-space: nowrap; }
.auth-theme-toggle {
    position: fixed;
    right: 24px;
    top: 24px;
    z-index: 10;
}
html[data-theme="dark"] .auth-page {
    background:
        radial-gradient(circle at 15% 20%, rgba(108,92,231,.18), transparent 28%),
        radial-gradient(circle at 85% 80%, rgba(18,183,106,.10), transparent 30%),
        var(--bg);
}
html[data-theme="dark"] .auth-shell { box-shadow: 0 30px 90px rgba(0,0,0,.34); }
html[data-theme="dark"] .step-pill { background: color-mix(in srgb, var(--accent) 18%, var(--surface)); color: #c9c1ff; }
html[data-theme="dark"] .alert-error { border-color: #6f3434; background: #352126; color: #ffb4b4; }
html[data-theme="dark"] .alert-success { border-color: #245b3d; background: #183126; color: #9ce7b9; }
html[data-theme="dark"] .landing-feature-icon.blue,
html[data-theme="dark"] .landing-feature-icon.green,
html[data-theme="dark"] .landing-feature-icon.purple,
html[data-theme="dark"] .landing-feature-icon.amber,
html[data-theme="dark"] .landing-feature-icon.coral,
html[data-theme="dark"] .landing-feature-icon.pink {
    background: color-mix(in srgb, currentColor 13%, var(--surface-2));
}

@media (max-width: 720px) {
    .public-theme-toggle { width: 38px; height: 38px; flex-basis: 38px; }
    .auth-theme-toggle { right: 16px; top: 16px; }
}


.shared-book-confirm {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 13px;
    padding: 16px;
    border: 1px solid color-mix(in srgb, var(--coral) 30%, var(--border));
    border-radius: 16px;
    background: color-mix(in srgb, var(--coral) 7%, var(--surface));
}
.shared-book-confirm > span {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 11px;
    background: color-mix(in srgb, var(--coral) 15%, var(--surface));
    color: var(--coral);
    font-size: 18px;
    font-weight: 900;
}
.shared-book-confirm > div { min-width: 0; }
.shared-book-confirm strong { display: block; font-size: 13px; }
.shared-book-confirm p { margin: 6px 0 0; color: var(--text); font-size: 10px; line-height: 1.55; }
.shared-book-confirm small { display: block; margin-top: 8px; color: var(--muted); font-size: 9px; line-height: 1.45; }


@media (max-width: 920px) {
    .library-filter-panel { grid-template-columns:1fr; align-items:stretch; gap:10px; }
    .library-filter-result { text-align:right; }
}

@media (max-width: 680px) {
    .library-filter-panel { padding:12px; border-radius:14px; }
    .library-status-filter { margin-inline:-2px; }
    .library-status-filter button { padding:8px 10px; }
    .library-filter-result { text-align:left; }
}


.project-sharing-summary { display:flex; min-height:24px; align-items:center; margin:-7px 0 12px; }
.project-sharing-summary span { display:inline-flex; align-items:center; gap:5px; padding:4px 8px; border-radius:999px; background:var(--surface-2); color:var(--muted); font-size:8px; font-weight:800; }
.project-sharing-summary span.shared { background:color-mix(in srgb,var(--accent) 10%,var(--surface)); color:var(--accent); }
.task-shared-owner { display:inline-flex; width:fit-content; margin-top:5px; padding:4px 8px; border-radius:999px; background:color-mix(in srgb,var(--accent) 10%,var(--surface)); color:var(--accent); font-size:8px; font-weight:800; }

@media (max-width:680px) {
    .task-heading-actions > .btn { flex:1 1 auto; }
}


/* Integração do Calendário com iPhone, Google Agenda e Outlook */
.calendar-connect-btn { white-space: nowrap; }
.calendar-feed-link { display:grid; gap:7px; padding:14px; border:1px solid var(--border); border-radius:15px; background:var(--surface-2); }
.calendar-feed-link > span { font-size:10px; font-weight:850; }
.calendar-feed-link > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.calendar-feed-link input { min-width:0; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:9px; }
.calendar-feed-link small { color:var(--muted); font-size:8px; line-height:1.45; }
.calendar-provider-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.calendar-provider-grid article { display:grid; align-content:start; gap:10px; min-width:0; padding:14px; border:1px solid var(--border); border-radius:15px; background:var(--surface); }
.calendar-provider-grid article > div { display:grid; gap:4px; }
.calendar-provider-grid strong { font-size:11px; }
.calendar-provider-grid small { color:var(--muted); font-size:8px; line-height:1.45; }
.calendar-provider-grid .btn { justify-self:stretch; margin-top:auto; text-align:center; }
.calendar-provider-icon { display:grid; width:36px; height:36px; place-items:center; border-radius:11px; background:color-mix(in srgb,var(--accent) 13%,var(--surface)); color:var(--accent); font-size:17px; font-weight:900; }
.calendar-sync-note { display:flex; align-items:flex-start; gap:10px; padding:11px 13px; border-radius:13px; background:color-mix(in srgb,var(--green) 8%,var(--surface)); }
.calendar-sync-note strong { flex:0 0 auto; font-size:9px; }
.calendar-sync-note span { color:var(--muted); font-size:8px; line-height:1.45; }
.calendar-sync-warning { margin:0; padding:11px 13px; border:1px solid color-mix(in srgb,var(--coral) 30%,var(--border)); border-radius:13px; background:color-mix(in srgb,var(--coral) 8%,var(--surface)); color:var(--coral); font-size:9px; line-height:1.5; }

@media (max-width: 920px) {
    .calendar-provider-grid { grid-template-columns:1fr; }
}
@media (max-width: 680px) {
    .calendar-feed-link > div { grid-template-columns:1fr; }
    .calendar-feed-link .btn { width:100%; }
    .calendar-actions .calendar-connect-btn { width:100%; }
}

/* Backup externo SFTP/FTP */
.external-backup-card { gap: 14px; }
.external-backup-status { display:flex; align-items:flex-start; gap:10px; padding:12px; border:1px solid var(--border); border-radius:13px; background:var(--surface-2); }
.external-backup-status > span { width:10px; height:10px; flex:0 0 10px; margin-top:3px; border-radius:50%; background:var(--coral); box-shadow:0 0 0 5px color-mix(in srgb,var(--coral) 12%,transparent); }
.external-backup-status.is-active > span { background:var(--green); box-shadow:0 0 0 5px color-mix(in srgb,var(--green) 14%,transparent); }
.external-backup-status > div { display:grid; gap:3px; min-width:0; }
.external-backup-status strong { font-size:11px; }
.external-backup-status small { color:var(--muted); font-size:9px; line-height:1.4; overflow-wrap:anywhere; }
.external-backup-settings-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
.external-backup-settings-form .full { grid-column:1 / -1; }
.external-backup-settings-form label > small { display:block; margin-top:5px; color:var(--muted); font-size:8px; line-height:1.4; }
.retention-note { display:grid; gap:4px; padding:11px 12px; border:1px dashed color-mix(in srgb,var(--green) 34%,var(--border)); border-radius:12px; background:color-mix(in srgb,var(--green) 7%,var(--surface)); }
.retention-note strong { color:var(--green); font-size:10px; }
.retention-note span { color:var(--muted); font-size:8px; line-height:1.45; }
.external-backup-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.external-backup-actions form,.external-backup-actions button { width:100%; }
.external-backup-history { display:grid; gap:8px; padding-top:12px; border-top:1px solid var(--border); }
.external-backup-history > header { display:grid; gap:3px; }
.external-backup-history > header strong { font-size:11px; }
.external-backup-history > header small { color:var(--muted); font-size:8px; line-height:1.4; }
.external-backup-history article { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:flex-start; gap:9px; padding:10px; border:1px solid var(--border); border-radius:12px; background:var(--surface-2); }
.backup-run-indicator { width:9px; height:9px; margin-top:3px; border-radius:50%; background:var(--muted); }
.external-backup-history article.is-success .backup-run-indicator { background:var(--green); }
.external-backup-history article.is-failed .backup-run-indicator { background:var(--coral); }
.external-backup-history article.is-running .backup-run-indicator { background:var(--accent); box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent); }
.external-backup-history article > div { display:grid; gap:3px; min-width:0; }
.external-backup-history article strong { font-size:9px; }
.external-backup-history article small { color:var(--muted); font-size:7.5px; line-height:1.4; }
.external-backup-history article p { margin:2px 0 0; color:var(--muted); font-size:8px; line-height:1.4; overflow-wrap:anywhere; }
.external-backup-history article > b { padding:4px 7px; border-radius:99px; background:var(--surface); color:var(--muted); font-size:7px; white-space:nowrap; }
.external-backup-history article.is-success > b { color:var(--green); }
.external-backup-history article.is-failed > b { color:var(--coral); }
.external-backup-card code { overflow-wrap:anywhere; }

@media (max-width:680px) {
    .external-backup-settings-form { grid-template-columns:1fr; }
    .external-backup-settings-form .full { grid-column:1; }
    .external-backup-actions { grid-template-columns:1fr; }
    .external-backup-history article { grid-template-columns:auto minmax(0,1fr); }
    .external-backup-history article > b { grid-column:2; justify-self:start; }
}


.library-ranking-section { display:grid; gap:14px; margin:0 0 16px; padding:18px; border:1px solid var(--border); border-radius:18px; background:var(--surface); }
.library-ranking-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }
.library-ranking-head h3 { margin:5px 0 0; font-size:18px; }
.library-ranking-head p { margin:5px 0 0; color:var(--muted); font-size:9px; }
.library-ranking-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.library-ranking-card { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:12px; min-width:0; padding:14px; border:1px solid var(--border); border-radius:16px; background:var(--surface-2); color:var(--text); text-decoration:none; transition:transform .18s,border-color .18s,box-shadow .18s; }
.library-ranking-card:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--accent) 35%,var(--border)); box-shadow:0 12px 24px rgba(22,24,30,.08); }
.library-rank-position { position:absolute; top:10px; right:10px; display:grid; min-width:31px; height:31px; place-items:center; padding:0 7px; border-radius:10px; background:color-mix(in srgb,var(--accent) 12%,var(--surface)); color:var(--accent); font-size:12px; font-weight:900; }
.library-ranking-card.rank-1 .library-rank-position { background:#fff4cc; color:#9a6700; }
.library-ranking-card.rank-2 .library-rank-position { background:#eef1f5; color:#59616d; }
.library-ranking-card.rank-3 .library-rank-position { background:#f5e5da; color:#9a5430; }
.library-rank-cover { display:grid; width:58px; height:78px; flex:0 0 58px; place-items:center; border-radius:12px; color:#fff; font-size:25px; font-weight:900; box-shadow:0 8px 18px rgba(22,24,30,.12); }
.library-rank-info { display:grid; min-width:0; gap:4px; padding-right:35px; }
.library-rank-info > strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.library-rank-info > small { overflow:hidden; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.library-rank-info > div { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:4px; color:var(--muted); font-size:8px; }
.library-rank-info > div b { color:var(--accent); font-size:10px; }
.library-rank-info > i { display:block; height:5px; overflow:hidden; border-radius:999px; background:var(--border); }
.library-rank-info > i em { display:block; height:100%; border-radius:inherit; background:var(--accent); }

@media (max-width:980px) {
    .library-ranking-grid { grid-template-columns:1fr; }
}

@media (max-width:680px) {
    .library-ranking-section { padding:14px; border-radius:16px; }
    .library-ranking-head h3 { font-size:16px; }
    .library-ranking-card { padding:12px; }
    .library-rank-cover { width:52px; height:70px; }
}


.book-reading-rank {
    display: inline-flex;
    align-items: center;
    min-height: 21px;
    padding: 4px 8px;
    border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--border));
    border-radius: 999px;
    background: color-mix(in srgb, var(--accent) 8%, var(--surface));
    color: var(--accent);
    font-size: 8px;
    font-weight: 850;
    white-space: nowrap;
}

/* Trader: calendário econômico e leitura automática WIN/WDO */
.trader-insights-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr); align-items:stretch; gap:18px; margin-bottom:20px; }
.trader-insights-grid .trader-chart-card { min-width:0; height:100%; margin-bottom:0; }
.trader-economic-card { display:flex; min-width:0; height:100%; flex-direction:column; padding:24px; }
.trader-economic-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.trader-economic-head h3 { margin:5px 0 4px; }
.trader-economic-head p { margin:0; color:var(--muted); font-size:11px; line-height:1.45; }
.trader-economic-head > a { flex:0 0 auto; color:var(--accent); font-size:9px; font-weight:800; text-decoration:none; }
.economic-period-presets { display:flex; flex-wrap:wrap; gap:5px; margin-top:17px; padding:4px; border:1px solid var(--border); border-radius:12px; background:var(--surface-soft); }
.economic-period-presets button { flex:1 1 auto; padding:8px 9px; border:0; border-radius:9px; background:transparent; color:var(--muted); font:inherit; font-size:9px; font-weight:800; cursor:pointer; }
.economic-period-presets button:hover,.economic-period-presets button.active { background:var(--surface); color:var(--accent); box-shadow:0 3px 10px rgba(28,29,34,.08); }
.economic-custom-dates { display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:8px; margin-top:10px; padding:10px; border:1px solid var(--border); border-radius:12px; background:var(--surface-soft); }
.economic-custom-dates label { display:grid; min-width:0; gap:5px; color:var(--muted); font-size:8px; font-weight:800; text-transform:uppercase; }
.economic-custom-dates input { box-sizing:border-box; width:100%; min-width:0; padding:9px; border:1px solid var(--border); border-radius:9px; background:var(--surface); color:var(--text); font:inherit; font-size:10px; }
.economic-custom-dates .btn { padding:10px 12px; }
.economic-market-summary { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
.economic-market-summary article { display:grid; gap:4px; padding:10px 12px; border:1px solid var(--border); border-radius:12px; background:var(--surface-soft); }
.economic-market-summary small { color:var(--muted); font-size:8px; }
.economic-market-summary strong { font-size:12px; }
.economic-market-summary strong.positive { color:var(--green); }
.economic-market-summary strong.negative { color:var(--coral); }
.economic-market-summary strong.attention { color:#e89b00; }
.economic-market-summary > p { grid-column:1/-1; margin:0; color:var(--muted); font-size:8px; line-height:1.45; }
.economic-status { display:grid; min-height:74px; place-items:center; margin-top:12px; padding:12px; border:1px dashed var(--border); border-radius:13px; color:var(--muted); font-size:10px; text-align:center; }
.economic-status[hidden] { display:none !important; }
.economic-official-widget { display:grid; gap:8px; margin-top:12px; }
.economic-official-widget[hidden] { display:none !important; }
.economic-official-widget iframe { display:block; box-sizing:border-box; width:100%; min-height:420px; border:1px solid var(--border); border-radius:13px; background:var(--surface); }
.economic-official-widget > p { margin:0; color:var(--muted); font-size:7px; text-align:right; }
.economic-official-widget > p a { color:var(--accent); font-weight:800; text-decoration:none; }
.economic-widget-warning { display:grid; gap:3px; padding:10px 12px; border:1px solid color-mix(in srgb,#e89b00 34%,var(--border)); border-radius:12px; background:color-mix(in srgb,#e89b00 8%,var(--surface)); }
.economic-widget-warning strong { color:#c77d00; font-size:9px; }
.economic-widget-warning span { color:var(--muted); font-size:8px; line-height:1.45; }
.economic-event-list { display:grid; max-height:440px; gap:8px; margin-top:12px; overflow:auto; padding-right:3px; }
.economic-event { display:grid; gap:8px; padding:11px; border:1px solid var(--border); border-radius:13px; background:var(--surface-soft); }
.economic-event-top { display:grid; grid-template-columns:auto auto minmax(0,1fr) auto; align-items:center; gap:7px; }
.economic-event-time { color:var(--text); font-size:9px; font-weight:850; }
.economic-event-currency { padding:4px 6px; border-radius:7px; background:color-mix(in srgb,var(--accent) 11%,var(--surface)); color:var(--accent); font-size:8px; font-weight:850; }
.economic-event-title { min-width:0; overflow:hidden; font-size:10px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.economic-impact { display:inline-flex; gap:2px; color:#e89b00; font-size:8px; letter-spacing:-1px; }
.economic-event-date { color:var(--muted); font-size:8px; }
.economic-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.economic-values span { display:grid; gap:2px; padding:6px 7px; border-radius:8px; background:var(--surface); }
.economic-values small { color:var(--muted); font-size:7px; text-transform:uppercase; }
.economic-values b { overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.economic-biases { display:flex; flex-wrap:wrap; gap:5px; }
.economic-biases span { padding:4px 7px; border-radius:999px; background:var(--surface); font-size:7px; font-weight:850; }
.economic-biases .positive { color:var(--green); }
.economic-biases .negative { color:var(--coral); }
.economic-biases .attention { color:#d88b00; }
.economic-biases .neutral { color:var(--muted); }
.economic-event-note { margin:0; color:var(--muted); font-size:8px; line-height:1.45; }
.economic-source-note { display:flex; justify-content:space-between; gap:10px; margin-top:auto; padding-top:12px; color:var(--muted); font-size:7px; }
.economic-source-note small { max-width:58%; text-align:right; }
@media (max-width:1250px) { .trader-insights-grid { grid-template-columns:1fr; } .economic-event-list { max-height:none; } }
@media (max-width:680px) {
    .trader-economic-card { padding:16px 14px; }
    .economic-period-presets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .economic-custom-dates { grid-template-columns:1fr; }
    .economic-custom-dates input[type="date"] { display:block; width:auto !important; min-width:0 !important; max-width:100% !important; }
    .economic-event-top { grid-template-columns:auto auto minmax(0,1fr); }
    .economic-impact { grid-column:3; }
    .economic-market-summary { grid-template-columns:1fr; }
    .economic-market-summary > p { grid-column:1; }
    .economic-source-note { flex-direction:column; }
    .economic-source-note small { max-width:none; text-align:left; }
    .economic-official-widget iframe { min-height:500px; }
}


/* Trader: calendário econômico oficial do TradingView */
.economic-provider-note { display:grid; gap:3px; margin-top:16px; padding:10px 12px; border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border)); border-radius:12px; background:color-mix(in srgb,var(--accent) 6%,var(--surface)); }
.economic-provider-note strong { color:var(--accent); font-size:9px; }
.economic-provider-note span { color:var(--muted); font-size:8px; line-height:1.45; }
.economic-market-guidance { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:10px; }
.economic-market-guidance article { display:grid; gap:4px; padding:10px 12px; border:1px solid var(--border); border-radius:12px; background:var(--surface-soft); }
.economic-market-guidance small { color:var(--muted); font-size:8px; }
.economic-market-guidance strong { color:var(--text); font-size:10px; }
.economic-market-guidance p { margin:0; color:var(--muted); font-size:8px; line-height:1.45; }
.economic-tradingview-widget { min-height:520px; margin-top:12px; overflow:hidden; border:1px solid var(--border); border-radius:13px; background:var(--surface); }
.economic-tradingview-widget .tradingview-widget-container { width:100%; height:100%; min-height:520px; }
.economic-tradingview-widget .tradingview-widget-container__widget { width:100%; min-height:488px; }
.economic-tradingview-widget .tradingview-widget-copyright { padding:6px 10px; color:var(--muted); font-size:8px; text-align:right; }
.economic-tradingview-widget .tradingview-widget-copyright a { color:var(--accent); font-weight:800; text-decoration:none; }
@media (max-width:680px) {
    .economic-market-guidance { grid-template-columns:1fr; }
    .economic-tradingview-widget, .economic-tradingview-widget .tradingview-widget-container { min-height:600px; }
    .economic-tradingview-widget .tradingview-widget-container__widget { min-height:568px; }
}


/* Trader: radar de notícias específico para o mini índice */
.trader-win-card { min-height: 590px; }
.win-news-periods,.win-news-filters { display:flex; flex-wrap:wrap; gap:5px; margin-top:12px; padding:4px; border:1px solid var(--border); border-radius:12px; background:var(--surface-soft); }
.win-news-periods button,.win-news-filters button { flex:1 1 auto; padding:8px 9px; border:0; border-radius:9px; background:transparent; color:var(--muted); font:inherit; font-size:8px; font-weight:800; cursor:pointer; }
.win-news-periods button:hover,.win-news-periods button.active,.win-news-filters button:hover,.win-news-filters button.active { background:var(--surface); color:var(--accent); box-shadow:0 3px 10px rgba(28,29,34,.08); }
.win-news-filters { margin-top:7px; }
.win-news-summary { display:grid; grid-template-columns:.8fr .8fr 1.4fr; gap:8px; margin-top:10px; }
.win-news-summary article { display:grid; min-width:0; gap:3px; padding:10px 11px; border:1px solid var(--border); border-radius:12px; background:var(--surface-soft); }
.win-news-summary small { color:var(--muted); font-size:7px; font-weight:800; text-transform:uppercase; }
.win-news-summary strong { min-width:0; overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.win-news-summary strong.positive { color:var(--green); }
.win-news-summary strong.negative { color:var(--coral); }
.win-news-summary strong.attention { color:#d88b00; }
.win-news-summary span { color:var(--muted); font-size:7px; }
.win-news-list { display:grid; max-height:490px; gap:8px; margin-top:12px; overflow:auto; padding-right:3px; }
.win-news-list[hidden] { display:none !important; }
.win-news-item { display:grid; gap:8px; padding:12px; border:1px solid var(--border); border-left:3px solid #d88b00; border-radius:13px; background:var(--surface-soft); }
.win-news-item.positive { border-left-color:var(--green); }
.win-news-item.negative { border-left-color:var(--coral); }
.win-news-meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px; color:var(--muted); font-size:7px; }
.win-news-meta .win-news-source { color:var(--text); font-weight:850; }
.win-news-meta time { margin-left:auto; }
.win-news-meta b { padding:4px 6px; border-radius:999px; background:var(--surface); color:var(--muted); font-size:7px; }
.win-news-meta b.high { background:color-mix(in srgb,var(--coral) 10%,var(--surface)); color:var(--coral); }
.win-news-title { color:var(--text); font-size:11px; font-weight:850; line-height:1.35; text-decoration:none; }
.win-news-title:hover { color:var(--accent); }
.win-news-impact { display:grid; grid-template-columns:1.35fr .65fr; gap:7px; }
.win-news-impact span { display:grid; min-width:0; gap:3px; padding:8px 9px; border-radius:10px; background:var(--surface); }
.win-news-impact small { color:var(--muted); font-size:7px; font-weight:800; text-transform:uppercase; }
.win-news-impact strong { font-size:8px; line-height:1.35; }
.win-news-impact strong.positive { color:var(--green); }
.win-news-impact strong.negative { color:var(--coral); }
.win-news-impact strong.attention { color:#d88b00; }
.win-news-item > p { margin:0; color:var(--muted); font-size:8px; line-height:1.5; }
.win-news-item > footer { display:flex; justify-content:space-between; gap:8px; color:var(--muted); font-size:7px; }
.win-news-item > footer span { font-weight:800; }
.win-news-item > footer a { color:var(--accent); font-weight:800; text-decoration:none; }
.win-news-footer { margin-top:12px; }
@media (max-width:680px) {
    .trader-win-card { min-height:0; }
    .win-news-periods,.win-news-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .win-news-summary { grid-template-columns:1fr; }
    .win-news-list { max-height:none; }
    .win-news-impact { grid-template-columns:1fr; }
    .win-news-meta time { margin-left:0; }
}


/* Trader 5.23.2: direção provável do WIN por notícia */
.win-news-summary .win-market-direction strong { display:flex; align-items:center; gap:6px; white-space:normal; }
.win-news-summary .win-market-direction strong span { font-size:16px; line-height:1; }
.win-news-summary .win-market-direction em { color:var(--muted); font-size:7px; font-style:normal; font-weight:750; }
.win-direction-box { position:relative; overflow:hidden; border:1px solid var(--border); }
.win-direction-box::after { position:absolute; inset:0 auto 0 0; width:3px; content:""; background:#d88b00; }
.win-direction-box.positive::after { background:var(--green); }
.win-direction-box.negative::after { background:var(--coral); }
.win-direction-box strong { display:flex; align-items:center; gap:5px; font-size:10px; }
.win-direction-box strong b { font-size:15px; line-height:1; }
.win-direction-box em { color:var(--muted); font-size:7px; font-style:normal; font-weight:750; }
.win-news-context { padding-top:7px; border-top:1px solid var(--border); }


/* Calendário dos projetos segue o mesmo padrão visual do módulo Calendário. */
.task-calendar-toolbar { margin-top: 2px; }
.task-calendar-shell .calendar-day { cursor: pointer; }
.task-calendar-shell .calendar-event { cursor: pointer; }
.task-calendar-shell .calendar-day:focus-within { background: rgba(var(--accent-rgb), .025); }
.task-calendar-shell .calendar-event.completed { opacity: .55; text-decoration: line-through; }

@media (max-width: 680px) {
    .task-calendar-toolbar { align-items: stretch; flex-direction: column; gap: 12px; }
    .task-calendar-toolbar > .month-switcher { width: 100%; justify-content: space-between; }
    .task-calendar-toolbar > .btn { width: 100%; }
}


.section-toolbar-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.modal.modal-xl { width: min(1120px, calc(100% - 40px)); max-height: min(860px, calc(100vh - 40px)); }
.finance-dashboard-modal { display: grid; gap: 18px; }
.finance-dashboard-hero { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px; border: 1px solid var(--border); border-radius: 20px; background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 13%, var(--surface)) 0%, var(--surface) 100%); }
.finance-dashboard-hero h3 { margin: 8px 0 6px; font-size: 24px; letter-spacing: -.5px; }
.finance-dashboard-hero p { margin: 0; color: var(--muted); }
.finance-dashboard-filters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.finance-dashboard-filter { display: flex; min-width: 160px; flex-direction: column; gap: 6px; font-size: 11px; color: var(--muted); }
.finance-dashboard-filter span { font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.finance-dashboard-filter select { min-height: 46px; padding: 0 14px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); color: var(--text); font: inherit; }
.finance-dashboard-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.finance-dashboard-summary-card { padding: 18px; border-radius: 18px; border: 1px solid var(--border); background: var(--surface-2); display: grid; gap: 6px; }
.finance-dashboard-summary-card small { color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.finance-dashboard-summary-card strong { font-size: 26px; letter-spacing: -.5px; }
.finance-dashboard-summary-card em { color: var(--muted); font-style: normal; }
.finance-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .9fr); gap: 18px; }
.finance-dashboard-grid-secondary { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); }
.finance-dashboard-card { padding: 18px; border: 1px solid var(--border); border-radius: 20px; background: var(--surface); }
.finance-dashboard-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.finance-dashboard-card-head h4 { margin: 8px 0 0; font-size: 18px; }
.finance-dashboard-card-head small { color: var(--muted); }
.finance-dashboard-monthly-chart { display: grid; gap: 12px; }
.finance-month-row { display: grid; grid-template-columns: 76px minmax(0, 1fr) 112px; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; background: var(--surface-2); border: 1px solid transparent; }
.finance-month-row.is-active { border-color: color-mix(in srgb, var(--accent) 28%, var(--border)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 16%, transparent); }
.finance-month-label { display: grid; gap: 2px; }
.finance-month-label strong { font-size: 14px; }
.finance-month-label small { color: var(--muted); }
.finance-month-bars { display: grid; gap: 8px; }
.finance-month-bar-line { display: grid; grid-template-columns: 58px minmax(0, 1fr) 96px; align-items: center; gap: 8px; font-size: 11px; }
.finance-month-bar-line.finance-month-bar-line-muted { opacity: .86; }
.finance-month-bar-line span { color: var(--muted); font-weight: 600; }
.finance-month-bar-line i { display: block; width: 100%; height: 8px; overflow: hidden; border-radius: 999px; background: var(--surface-3); }
.finance-month-bar-line b { display: block; height: 100%; border-radius: inherit; }
.finance-month-bar-line b.income { background: #16b86a; }
.finance-month-bar-line b.expense { background: #ff6b6b; }
.finance-month-bar-line b.investment { background: #7950f2; }
.finance-month-bar-line b.payment { background: #339af0; }
.finance-month-bar-line small { text-align: right; color: var(--muted); }
.finance-month-balance { font-size: 13px; font-weight: 800; text-align: right; }
.finance-ranking { display: grid; gap: 12px; }
.finance-ranking-row { padding: 12px 14px; border-radius: 16px; background: var(--surface-2); display: grid; gap: 8px; }
.finance-ranking-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.finance-ranking-head strong { font-size: 13px; }
.finance-ranking-head span { color: var(--muted); font-weight: 700; }
.finance-ranking-row i { display: block; width: 100%; height: 10px; overflow: hidden; border-radius: 999px; background: var(--surface-3); }
.finance-ranking-row b { display: block; height: 100%; border-radius: inherit; }
.finance-ranking-row b.expense { background: linear-gradient(90deg, #ff8787 0%, #ff6b6b 100%); }
.finance-ranking-row b.payment { background: linear-gradient(90deg, #74c0fc 0%, #339af0 100%); }
.finance-ranking-row small { color: var(--muted); }
.finance-dashboard-years { display: grid; gap: 10px; }
.finance-year-card { padding: 14px 15px; border-radius: 16px; border: 1px solid var(--border); background: var(--surface-2); display: grid; gap: 5px; }
.finance-year-card.is-active { border-color: color-mix(in srgb, var(--accent) 28%, var(--border)); background: color-mix(in srgb, var(--accent) 6%, var(--surface-2)); }
.finance-year-card strong { font-size: 16px; }
.finance-year-card span, .finance-year-card b { font-size: 12px; }
.finance-dashboard-table-wrap { max-height: 300px; }
.finance-dashboard-table tbody tr.is-selected { background: color-mix(in srgb, var(--accent) 8%, var(--surface)); }
.finance-dashboard-table td.positive, .finance-dashboard-summary-card strong.positive, .finance-month-balance.positive, .finance-year-card b.positive { color: #16b86a; }
.finance-dashboard-table td.negative, .finance-dashboard-summary-card strong.negative, .finance-month-balance.negative, .finance-year-card b.negative { color: #e03131; }
@media (max-width: 980px) {
    .modal.modal-xl { width: min(100%, calc(100% - 20px)); }
    .finance-dashboard-summary,
    .finance-dashboard-grid,
    .finance-dashboard-grid-secondary { grid-template-columns: 1fr; }
    .finance-dashboard-hero { flex-direction: column; align-items: flex-start; }
    .finance-dashboard-filters { width: 100%; justify-content: stretch; }
    .finance-dashboard-filter { flex: 1 1 180px; }
    .finance-month-row { grid-template-columns: 1fr; }
    .finance-month-balance { text-align: left; }
}
@media (max-width: 720px) {
    .section-toolbar-actions { width: 100%; }
    .section-toolbar-actions .btn { flex: 1 1 170px; }
    .finance-dashboard-summary { grid-template-columns: 1fr 1fr; }
    .finance-month-bar-line { grid-template-columns: 52px minmax(0, 1fr) 84px; }
}
@media (max-width: 560px) {
    .finance-dashboard-summary { grid-template-columns: 1fr; }
    .finance-dashboard-filter { min-width: 0; }
}


.task-column-create-note { display: grid; gap: 4px; padding: 13px 14px; border: 1px solid color-mix(in srgb, var(--accent) 20%, var(--border)); border-radius: 14px; background: color-mix(in srgb, var(--accent) 6%, var(--surface-2)); }
.task-column-create-note strong { font-size: 12px; }
.task-column-create-note small { color: var(--muted); }


.finance-dashboard-page-toolbar { margin-bottom: 16px; }
.finance-dashboard-page { display: grid; gap: 18px; width: 100%; }
.finance-dashboard-page .finance-dashboard-hero,
.finance-dashboard-page .finance-dashboard-card,
.finance-dashboard-page .finance-dashboard-summary-card { box-shadow: 0 10px 28px rgba(15, 23, 42, .045); }
@media (max-width: 720px) {
    .finance-dashboard-page-toolbar { align-items: stretch; }
    .finance-dashboard-page-toolbar .btn { flex: 1 1 170px; }
}

/* Finanças: contas a pagar e botão dedicado do dashboard. */
.finance-dashboard-button {
    border: 1px solid #7950f2;
    background: #7950f2;
    color: #fff;
    font-weight: 800;
    box-shadow: 0 10px 22px rgba(121, 80, 242, .22);
}
.finance-dashboard-button:hover {
    border-color: #6741d9;
    background: #6741d9;
    color: #fff;
    transform: translateY(-1px);
}
.finance-primary-grid { align-items: stretch; }
.finance-primary-grid > .card { min-width: 0; }
.finance-payables-card { display: flex; min-height: 100%; flex-direction: column; }
.payable-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.payable-summary article { display: grid; gap: 4px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface-2); }
.payable-summary small { color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.payable-summary strong { color: var(--coral); font-size: 16px; }
.payable-summary article.pending small { color: var(--blue); }
.payable-summary article.pending strong { color: var(--coral); }
.payable-summary article.paid small, .payable-summary article.paid strong { color: var(--blue); }
.finance-payables-table { min-width: 620px; }
.finance-payables-table td:first-child { min-width: 145px; }
.finance-payables-table td:first-child strong { display: block; }
.finance-payables-table td:first-child small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.payable-record.is-paid { opacity: .82; }
.payable-record.is-overdue { background: color-mix(in srgb, var(--coral) 5%, var(--surface)); }
.payable-status { display: inline-flex; align-items: center; justify-content: center; min-width: 64px; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; }
.payable-status.pending { color: #c92a2a; background: rgba(255, 107, 107, .14); }
.payable-status.paid { color: #087f5b; background: rgba(32, 201, 151, .13); }
.payable-status.overdue { color: #c92a2a; background: rgba(255, 107, 107, .14); }
.payable-help { margin: auto 0 0; padding-top: 12px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.payable-form-note { display: grid; gap: 4px; padding: 13px 14px; border: 1px solid rgba(121, 80, 242, .22); border-radius: 14px; background: rgba(121, 80, 242, .06); }
.payable-form-note strong { font-size: 12px; }
.payable-form-note small { color: var(--muted); line-height: 1.4; }
.finance-categories-wide { margin-bottom: 16px; }
.finance-categories-wide .donut-wrap { grid-template-columns: minmax(180px, .45fr) minmax(0, 1.55fr); }

@media (max-width: 980px) {
    .finance-primary-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .finance-payables-card { padding: 16px 14px; }
    .finance-payables-card .data-table-wrap { overflow: visible; margin: 0; }
    .finance-payables-table { display: block; min-width: 0; }
    .finance-payables-table thead { display: none; }
    .finance-payables-table tbody { display: grid; gap: 10px; }
    .finance-payables-table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; padding: 12px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); box-shadow: 0 6px 16px rgba(28,29,34,.05); }
    .finance-payables-table td { display: flex; min-width: 0; align-items: center; gap: 7px; padding: 0; border: 0; font-size: 10px; }
    .finance-payables-table td:first-child { grid-column: 1 / -1; min-width: 0; }
    .finance-payables-table td:first-child strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
    .finance-payables-table td:nth-child(2),
    .finance-payables-table td:nth-child(4) { grid-column: 1; }
    .finance-payables-table td:nth-child(3),
    .finance-payables-table td:nth-child(5) { grid-column: 2; justify-self: end; }
    .finance-payables-table td:nth-child(6) { display: none; }
    .finance-payables-table td:nth-child(2)::before,
    .finance-payables-table td:nth-child(3)::before,
    .finance-payables-table td:nth-child(5)::before { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
    .finance-payables-table td:nth-child(2)::before { content: "Parcela"; }
    .finance-payables-table td:nth-child(3)::before { content: "Vence"; }
    .finance-payables-table td:nth-child(5)::before { content: "Valor"; }
    .finance-categories-wide .donut-wrap { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
    .payable-summary { grid-template-columns: 1fr; }
    .finance-payables-table tr { grid-template-columns: 1fr; }
    .finance-payables-table td:nth-child(2),
    .finance-payables-table td:nth-child(3),
    .finance-payables-table td:nth-child(4),
    .finance-payables-table td:nth-child(5) { grid-column: 1; justify-self: stretch; justify-content: space-between; }
}


.payable-summary.payable-summary-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.finance-history-payable td:first-child strong { display: inline-block; }
.finance-history-source { display: block; margin: 3px 0 0 34px; color: #7950f2; font-size: 9px; font-weight: 800; }
@media (max-width: 720px) {
    .payable-summary.payable-summary-three { grid-template-columns: 1fr 1fr; }
    .payable-summary.payable-summary-three article:last-child { grid-column: 1 / -1; }
    .finance-history-source { margin-left: 0; }
}

/* v5.24.12 - Finanças compactas e Dashboard organizável por usuário. */
.finance-dashboard-sortable-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}
.finance-dashboard-sortable-card {
    min-width: 0;
    cursor: grab;
    transition: transform .16s ease, opacity .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.finance-dashboard-sortable-card:active { cursor: grabbing; }
.finance-dashboard-sortable-card.is-dragging {
    opacity: .62;
    transform: scale(.992);
    border-color: color-mix(in srgb, var(--accent) 40%, var(--border));
    box-shadow: 0 20px 42px rgba(15, 23, 42, .14);
}
.finance-dashboard-sortable-card.is-drag-target {
    border-color: var(--accent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 34%, transparent);
}
.finance-dashboard-span-full { grid-column: 1 / -1; }
.finance-dashboard-summary-shell {
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: var(--surface);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .045);
}
.finance-dashboard-dragbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 4px 10px;
    color: var(--muted);
    font-size: 10px;
}
.finance-dashboard-dragbar strong { color: var(--text); font-size: 12px; }
.finance-dashboard-dragbar span,
.finance-dashboard-drag-handle {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    user-select: none;
}
.finance-dashboard-card-meta {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 10px;
    text-align: right;
}
.finance-dashboard-card-meta small { max-width: 190px; }
.finance-dashboard-sortable-grid.is-sorting { cursor: grabbing; }
.finance-dashboard-sortable-grid.is-sorting .finance-dashboard-sortable-card { cursor: grabbing; }

.payable-summary article.paid-total strong { color: var(--amber); }
.payable-summary article.paid-count strong { color: var(--blue); }
.finance-payables-table {
    width: 100%;
    min-width: 650px;
    table-layout: fixed;
}
.finance-payables-table col.payable-col-account { width: 31%; }
.finance-payables-table col.payable-col-installment { width: 12%; }
.finance-payables-table col.payable-col-due { width: 19%; }
.finance-payables-table col.payable-col-status { width: 16%; }
.finance-payables-table col.payable-col-value { width: 15%; }
.finance-payables-table col.payable-col-open { width: 7%; }
.finance-payables-table th,
.finance-payables-table td {
    display: table-cell;
    vertical-align: middle;
    box-sizing: border-box;
}
.finance-payables-table th:nth-child(2),
.finance-payables-table td:nth-child(2),
.finance-payables-table th:nth-child(3),
.finance-payables-table td:nth-child(3),
.finance-payables-table th:nth-child(4),
.finance-payables-table td:nth-child(4) { text-align: center; }
.finance-payables-table td:first-child { display: table-cell; min-width: 0; }
.payable-account-cell { display: grid; min-width: 0; gap: 3px; }
.payable-account-cell strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.payable-account-cell small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.finance-payables-table td:last-child { text-align: right; }

.finance-insights-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 16px;
    align-items: stretch;
}
.finance-insight-card {
    min-width: 0;
    min-height: 255px;
    padding: 16px;
}
.finance-insight-card .card-head { margin-bottom: 12px; }
.finance-insight-card .card-head h3 { font-size: 15px; }
.finance-insights-grid .finance-categories-card .donut-wrap {
    display: grid;
    grid-template-columns: 128px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
}
.finance-insights-grid .finance-categories-card .donut {
    width: 128px;
    height: 128px;
}
.finance-insights-grid .finance-categories-card .donut:after {
    width: 72px;
    height: 72px;
}
.finance-insights-grid .legend-list {
    max-height: 160px;
    overflow: auto;
    padding-right: 3px;
}
.finance-insight-scroll {
    max-height: 180px;
    overflow-y: auto;
    padding-right: 3px;
}
.finance-insight-card .limit-list article,
.finance-insight-card .wish-list article { padding: 9px; }

@media (max-width: 1180px) {
    .finance-insights-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .finance-insights-grid > :last-child { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
    .finance-dashboard-sortable-grid { grid-template-columns: 1fr; }
    .finance-dashboard-span-full { grid-column: auto; }
    .finance-insights-grid { grid-template-columns: 1fr; }
    .finance-insights-grid > :last-child { grid-column: auto; }
}
@media (max-width: 680px) {
    .finance-dashboard-dragbar span { font-size: 0; }
    .finance-dashboard-dragbar span::after { content: "⋮⋮"; font-size: 12px; }
    .finance-payables-table colgroup { display: none; }
    .finance-payables-table th,
    .finance-payables-table td { display: flex; }
    .finance-payables-table td:first-child { display: flex; }
    .payable-account-cell { width: 100%; }
    .finance-insights-grid .finance-categories-card .donut-wrap { grid-template-columns: 1fr; }
    .finance-insights-grid .finance-categories-card .donut { justify-self: center; }
    .finance-insight-card { min-height: 0; }
    .finance-insight-scroll,
    .finance-insights-grid .legend-list { max-height: none; overflow: visible; }
}

/* Cards individuais também podem ser reorganizados no Dashboard. */
.finance-dashboard-sortable-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.finance-dashboard-metric-item { position: relative; grid-column: span 3; min-height: 112px; }
.finance-dashboard-panel-item { grid-column: span 6; }
.finance-dashboard-report-item { grid-column: 1 / -1; }
.finance-dashboard-metric-item strong { padding-right: 20px; }
.finance-dashboard-metric-item.purple strong { color: #7950f2; }
.finance-dashboard-metric-item.coral strong { color: var(--coral); }
.finance-dashboard-metric-item.blue strong { color: var(--blue); }
.finance-dashboard-metric-item.green strong { color: var(--green); }
.finance-dashboard-metric-drag {
    position: absolute;
    top: 12px;
    right: 13px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .05em;
    user-select: none;
}
@media (max-width: 1100px) {
    .finance-dashboard-metric-item { grid-column: span 6; }
    .finance-dashboard-panel-item { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
    .finance-dashboard-metric-item,
    .finance-dashboard-panel-item,
    .finance-dashboard-report-item { grid-column: 1 / -1; }
}


.payable-installment-summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 15px; border:1px solid color-mix(in srgb, var(--accent) 20%, var(--border)); border-radius:14px; background:color-mix(in srgb, var(--accent) 5%, var(--surface-2)); }
.payable-installment-summary span { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.payable-installment-summary strong { white-space:nowrap; }
.payable-installment-summary small { flex:1; color:var(--muted); text-align:right; }
.payable-installment-summary small.is-warning { color:#e03131; font-weight:700; }
@media (max-width:680px) { .payable-installment-summary { align-items:flex-start; flex-direction:column; } .payable-installment-summary small { text-align:left; } }


.payable-installment-create-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.payable-fixed-badge { display:inline-flex; align-items:center; justify-content:center; min-width:44px; padding:5px 9px; border-radius:999px; background:rgba(121,80,242,.12); color:#7950f2; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
@media (max-width:640px) { .payable-installment-create-grid { grid-template-columns:1fr; } }


/* Cadastro em duas etapas */
.auth-register-page .register-auth-shell {
    width: min(1120px, 100%);
    grid-template-columns: .9fr 1.1fr;
}
.register-auth-brand { min-height: 690px; }
.register-auth-card { min-width: 0; padding: 48px; }
.register-alert { margin-bottom: 18px; }
.register-form { min-width: 0; }
.register-step[hidden] { display: none !important; }
.register-step { animation: registerStepIn .24s ease both; }
@keyframes registerStepIn {
    from { opacity: 0; transform: translateX(12px); }
    to { opacity: 1; transform: translateX(0); }
}
.register-step-head { margin-bottom: 20px; }
.register-fields { display: grid; gap: 14px; }
.register-step-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 20px; }
.register-step-actions-single { display: block; }
.register-step-actions .btn { min-width: 150px; }
.register-step-actions-single .btn { min-width: 0; }
.register-brand-progress { display: grid; grid-template-columns: minmax(0,1fr) 36px minmax(0,1fr); align-items: center; gap: 9px; margin-top: 34px; }
.register-brand-progress > div { display: flex; align-items: center; gap: 10px; opacity: .48; transition: .2s ease; }
.register-brand-progress > div.is-active, .register-brand-progress > div.is-complete { opacity: 1; }
.register-brand-progress > div > b { display: grid; width: 34px; height: 34px; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.24); border-radius: 12px; background: rgba(255,255,255,.08); color: #fff; font-size: 12px; }
.register-brand-progress > div.is-active > b { background: #fff; color: #5948ca; box-shadow: 0 8px 24px rgba(0,0,0,.14); }
.register-brand-progress > div.is-complete > b { background: #20c97a; border-color: #20c97a; }
.register-brand-progress > div span { display: grid; gap: 2px; }
.register-brand-progress > div strong { font-size: 11px; }
.register-brand-progress > div small { color: rgba(255,255,255,.62); font-size: 9px; }
.register-brand-progress > i { display: block; height: 1px; background: rgba(255,255,255,.18); }
.register-purpose-step { min-width: 0; }
.register-purpose-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 13px; color: var(--muted); font-size: 10px; }
.register-purpose-toolbar strong { color: var(--accent); font-size: 12px; }
.register-select-all { padding: 0; border: 0; background: transparent; color: var(--accent); font: inherit; font-weight: 800; cursor: pointer; }
.register-purpose-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.register-purpose-card { position: relative; display: grid; grid-template-columns: 44px minmax(0,1fr) 24px; align-items: center; gap: 11px; min-height: 88px; padding: 13px; overflow: hidden; border: 1px solid var(--border); border-radius: 16px; background: var(--surface-2); cursor: pointer; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease, background .18s ease; }
.register-purpose-card:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--accent) 42%, var(--border)); box-shadow: 0 10px 24px rgba(32,29,71,.08); }
.register-purpose-card input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.register-purpose-card.is-selected { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, var(--surface)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent), 0 10px 24px rgba(var(--accent-rgb),.1); }
.register-purpose-icon { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 14px; background: var(--surface); font-size: 20px; box-shadow: inset 0 0 0 1px var(--border); }
.register-purpose-card.is-selected .register-purpose-icon { background: color-mix(in srgb, var(--accent) 14%, var(--surface)); }
.register-purpose-copy { display: grid; min-width: 0; gap: 4px; }
.register-purpose-copy strong { color: var(--text); font-size: 12px; }
.register-purpose-copy small { color: var(--muted); font-size: 9px; line-height: 1.45; }
.register-purpose-check { display: grid; width: 22px; height: 22px; place-items: center; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: transparent; font-size: 11px; font-weight: 900; transition: .18s ease; }
.register-purpose-card.is-selected .register-purpose-check { border-color: var(--accent); background: var(--accent); color: #fff; }
.register-customization-note { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 12px; margin-top: 14px; padding: 13px 14px; border: 1px solid color-mix(in srgb, var(--accent) 25%, var(--border)); border-radius: 15px; background: color-mix(in srgb, var(--accent) 6%, var(--surface)); }
.register-customization-note > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: color-mix(in srgb, var(--accent) 14%, var(--surface)); color: var(--accent); font-size: 16px; }
.register-customization-note strong { font-size: 10px; }
.register-customization-note p { margin: 3px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.register-customization-note b { color: var(--text); }
html[data-theme="dark"] .register-purpose-card:hover { box-shadow: 0 10px 24px rgba(0,0,0,.22); }

@media (max-width: 880px) {
    .auth-register-page .register-auth-shell { display: block; min-height: 100vh; border: 0; border-radius: 0; }
    .register-auth-brand { min-height: 315px; padding: 34px 28px; justify-content: flex-end; }
    .register-auth-card { padding: 34px 28px 50px; }
    .register-brand-progress { max-width: 460px; }
}
@media (max-width: 620px) {
    .register-purpose-grid { grid-template-columns: 1fr; }
    .register-purpose-card { min-height: 78px; }
    .register-step-actions { align-items: stretch; flex-direction: column-reverse; }
    .register-step-actions .btn { width: 100%; }
    .register-brand-progress { grid-template-columns: 1fr 24px 1fr; }
    .register-brand-progress > div span { display: none; }
    .register-brand-progress > div { justify-content: center; }
}


/* v5.24.27 - Contas a pagar totalmente responsivas no celular. */
@media (max-width: 680px) {
    .finance-payables-card,
    .finance-payables-card .data-table-wrap,
    .finance-payables-table,
    .finance-payables-table tbody,
    .finance-payables-table tr {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .finance-payables-card {
        overflow: hidden;
    }

    .finance-payables-card .data-table-wrap {
        overflow: visible;
    }

    .finance-payables-table {
        display: block;
        table-layout: auto;
    }

    .finance-payables-table tbody {
        display: grid;
        gap: 10px;
    }

    .finance-payables-table tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        column-gap: 12px;
        row-gap: 9px;
        overflow: hidden;
    }

    .finance-payables-table td {
        display: flex;
        width: auto;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        overflow: hidden;
    }

    .finance-payables-table td:first-child {
        grid-column: 1 / -1;
        width: 100%;
    }

    .payable-account-cell,
    .payable-account-cell strong,
    .payable-account-cell small {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .payable-account-cell strong,
    .payable-account-cell small {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .finance-payables-table td:nth-child(2),
    .finance-payables-table td:nth-child(4) {
        grid-column: 1;
        justify-self: stretch;
        justify-content: flex-start;
    }

    .finance-payables-table td:nth-child(3),
    .finance-payables-table td:nth-child(5) {
        grid-column: 2;
        justify-self: end;
        justify-content: flex-end;
        text-align: right;
        white-space: nowrap;
    }

    .finance-payables-table td:nth-child(6) {
        display: none;
    }

    .finance-payables-table .payable-status,
    .finance-payables-table .payable-fixed-badge {
        max-width: 100%;
        flex: 0 0 auto;
    }
}

@media (max-width: 430px) {
    .finance-payables-table tr {
        grid-template-columns: minmax(0, 1fr) auto;
        padding: 13px 12px;
    }

    .finance-payables-table td:nth-child(2),
    .finance-payables-table td:nth-child(3),
    .finance-payables-table td:nth-child(4),
    .finance-payables-table td:nth-child(5) {
        grid-column: auto;
        justify-self: auto;
        justify-content: initial;
    }

    .finance-payables-table td:nth-child(2),
    .finance-payables-table td:nth-child(4) {
        grid-column: 1;
        justify-content: flex-start;
    }

    .finance-payables-table td:nth-child(3),
    .finance-payables-table td:nth-child(5) {
        grid-column: 2;
        justify-content: flex-end;
        text-align: right;
    }
}


/* v5.24.28 — Rotina incorporada ao Calendário */
.calendar-routine-section {
    display: grid;
    gap: 16px;
    margin-top: 24px;
    scroll-margin-top: 86px;
}
.calendar-routine-toolbar {
    align-items: flex-end;
    margin-bottom: 0;
    padding: 2px 2px 0;
}
.calendar-routine-toolbar h2 {
    margin: 7px 0 4px;
    font-size: 21px;
    letter-spacing: -.35px;
}
.calendar-routine-toolbar .lead-copy {
    margin: 0;
    max-width: 720px;
}
.calendar-routine-card { margin-bottom: 0; }
.calendar-routine-grid { margin-top: 0; }
.calendar-routine-grid .card-head p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 9px;
}
.routine-period-habits {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.routine-period-habit {
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 15px;
    background: var(--surface-2);
}
.routine-period-habit > button {
    display: grid;
    width: 100%;
    grid-template-columns: 10px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--text);
    text-align: left;
    cursor: pointer;
}
.routine-period-habit > button > i {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: var(--habit-color);
}
.routine-period-habit > button span { min-width: 0; }
.routine-period-habit > button strong,
.routine-period-habit > button small { display: block; }
.routine-period-habit > button strong {
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.routine-period-habit > button small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 8px;
}
.routine-period-habit > button b {
    color: var(--habit-color);
    font-size: 11px;
}
.routine-period-habit > div {
    height: 6px;
    margin-top: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--surface-3);
}
.routine-period-habit > div span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--habit-color);
}
.journal-entry-trigger {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}
.calendar-routine-section .week-column > strong {
    white-space: nowrap;
}

@media (max-width: 900px) {
    .routine-period-habits { grid-template-columns: 1fr; }
    .calendar-routine-toolbar { align-items: stretch; }
}
@media (max-width: 680px) {
    .calendar-routine-section { margin-top: 18px; gap: 12px; }
    .calendar-routine-toolbar {
        padding-inline: 0;
        gap: 12px;
    }
    .calendar-routine-toolbar h2 { font-size: 18px; }
    .calendar-routine-toolbar .button-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }
    .calendar-routine-toolbar .button-row .btn {
        min-width: 0;
        width: 100%;
    }
    .calendar-routine-card,
    .calendar-routine-grid > .card { padding: 16px 14px; }
    .calendar-routine-section .habit-table { min-width: 720px; }
    .calendar-routine-section .week-board { grid-template-columns: 1fr; }
}


/* v5.24.29 — Flags diárias dos hábitos dentro do Calendário */
.habit-period-table-wrap {
    position: relative;
    margin: 0 -8px -4px;
    padding-bottom: 4px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
}
.habit-period-table {
    width: max-content;
    table-layout: fixed;
}
.habit-period-table th,
.habit-period-table td {
    padding: 8px 5px;
}
.habit-period-table .habit-period-name-head,
.habit-period-table .habit-period-name-cell {
    position: sticky;
    left: 0;
    z-index: 3;
    background: var(--surface);
    box-shadow: 8px 0 12px -12px rgba(15, 23, 42, .42);
}
.habit-period-table thead .habit-period-name-head { z-index: 4; }
.habit-period-day-head {
    padding-inline: 3px !important;
    white-space: nowrap;
}
.habit-period-day-head span,
.habit-period-day-head strong {
    display: block;
    line-height: 1.1;
}
.habit-period-day-head span {
    color: var(--muted);
    font-size: 7px;
    text-transform: uppercase;
}
.habit-period-day-head strong {
    margin-top: 3px;
    font-size: 10px;
}
.habit-period-day-head.today strong {
    display: grid;
    width: 22px;
    height: 22px;
    margin: 2px auto 0;
    place-items: center;
    border-radius: 999px;
    background: var(--accent);
    color: #fff;
}
.habit-period-check-cell { padding-inline: 3px !important; }
.habit-period-table .habit-check {
    width: 25px;
    height: 25px;
    border-radius: 7px;
    font-size: 10px;
}
.habit-period-progress-cell {
    text-align: left !important;
}
.habit-period-progress-cell strong,
.habit-period-progress-cell small {
    display: block;
}
.habit-period-progress-cell strong {
    color: var(--habit-color);
    font-size: 11px;
}
.habit-period-progress-cell small {
    margin-top: 2px;
    color: var(--muted);
    font-size: 8px;
}
.habit-period-progress-cell i {
    display: block;
    height: 5px;
    margin-top: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--surface-3);
}
.habit-period-progress-cell i b {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--habit-color);
    transition: width .18s ease;
}
.habit-period-help {
    margin: 10px 0 0;
    color: var(--muted);
    font-size: 9px;
}
@media (max-width: 680px) {
    .habit-period-table-wrap { margin-inline: -6px; }
    .habit-period-table .habit-period-name-head,
    .habit-period-table .habit-period-name-cell { width: 150px !important; max-width: 150px; }
    .habit-period-table .habit-card-trigger { padding-inline: 5px; }
    .habit-period-table .habit-card-trigger small { display: none; }
    .habit-period-table .habit-check { width: 24px; height: 24px; }
}


/* v5.24.30 - Cartões Kanban independentes do arraste das colunas */
.kanban-column.drag-over [data-card-dropzone] { min-height:64px; }
.kanban-card.dragging { pointer-events:none; }


/* v5.24.32 - Movimento padrão do Kanban: arrastar o cartão inteiro */
.kanban-board-help {
    margin:0 0 10px;
    padding:8px 11px;
    border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border));
    border-radius:10px;
    color:var(--muted);
    background:color-mix(in srgb,var(--accent) 4%,var(--surface));
    font-size:10px;
}
.kanban-column-sortable,.kanban-column-sortable>header,.kanban-column-sortable>.kanban-add { cursor:default; }
.kanban-column>header { grid-template-columns:auto 7px minmax(0,1fr) auto auto; }
.kanban-column-drag-handle {
    display:grid;
    width:28px;
    height:28px;
    padding:0!important;
    place-items:center;
    border:1px solid var(--border)!important;
    border-radius:8px;
    color:var(--muted)!important;
    background:var(--surface)!important;
    font-size:15px!important;
    line-height:1;
    cursor:grab!important;
    touch-action:none;
}
.kanban-card[data-card-draggable] {
    position:relative;
    cursor:grab;
    user-select:none;
    -webkit-user-select:none;
    -webkit-user-drag:element;
    transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .15s ease;
}
.kanban-card[data-card-draggable]::after {
    content:'⋮⋮';
    position:absolute;
    top:9px;
    right:10px;
    color:var(--muted);
    font-size:12px;
    font-weight:900;
    letter-spacing:-4px;
    opacity:.45;
    pointer-events:none;
}
.kanban-card[data-card-draggable]:hover {
    border-color:color-mix(in srgb,var(--accent) 42%,var(--border));
    box-shadow:0 8px 18px rgba(0,0,0,.08);
    transform:translateY(-2px);
}
.kanban-card[data-card-draggable]:active { cursor:grabbing; }
.kanban-card.dragging { opacity:.35; transform:scale(.97) rotate(.35deg); pointer-events:none; }
.kanban-board.is-moving-card .kanban-column.card-drop-ready {
    border:2px dashed color-mix(in srgb,var(--accent) 50%,var(--border));
    background:color-mix(in srgb,var(--accent) 5%,var(--surface-2));
}
.kanban-board.is-moving-card .kanban-column.card-drop-ready [data-card-dropzone]::after {
    content:'Solte o cartão aqui';
    display:grid;
    min-height:56px;
    margin-top:8px;
    place-items:center;
    border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--border));
    border-radius:10px;
    color:var(--accent);
    background:color-mix(in srgb,var(--accent) 5%,var(--surface));
    font-size:10px;
    font-weight:800;
}
.kanban-board.is-moving-card .kanban-column.drag-over {
    border-color:var(--accent);
    background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));
    box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent),0 16px 30px rgba(0,0,0,.10);
    transform:translateY(-4px);
}
@media(max-width:680px){
    .kanban-board-help{font-size:9px}
    .kanban-card[data-card-draggable]::after{opacity:.3}
}


/* v5.24.33 - Arraste Kanban por Pointer Events (mouse e touch) */
.kanban-card[data-card-draggable] {
    cursor: grab;
    touch-action: pan-y;
    -webkit-user-drag: none;
}
.kanban-card[data-card-draggable]:active { cursor: grabbing; }
body.kanban-card-pointer-dragging,
body.kanban-card-pointer-dragging * {
    cursor: grabbing !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}
.kanban-card.dragging {
    opacity: .18;
    pointer-events: none;
}
.kanban-card-drag-ghost {
    position: fixed !important;
    inset: 0 auto auto 0 !important;
    z-index: 100000 !important;
    margin: 0 !important;
    pointer-events: none !important;
    opacity: .96 !important;
    transform-origin: top left;
    box-shadow: 0 24px 60px rgba(0,0,0,.28) !important;
    border-color: var(--accent) !important;
    background: var(--surface) !important;
}
.kanban-board.is-moving-card .kanban-column.card-drop-ready {
    min-height: 130px;
}
.kanban-board.is-moving-card .kanban-column.drag-over {
    border: 2px solid var(--accent) !important;
    background: color-mix(in srgb,var(--accent) 14%,var(--surface-2)) !important;
    box-shadow: 0 0 0 5px color-mix(in srgb,var(--accent) 20%,transparent) !important;
}


/* v5.24.34 - Lembretes do calendário */
.calendar-notification-btn { white-space:nowrap; }
.calendar-notification-btn.is-active { color:#0f9f65; border-color:rgba(15,159,101,.28); background:rgba(15,159,101,.08); }
.calendar-reminder-note { display:flex; flex-direction:column; gap:4px; padding:12px 14px; border:1px solid rgba(var(--accent-rgb),.2); border-radius:14px; background:rgba(var(--accent-rgb),.06); }
.calendar-reminder-note strong { font-size:11px; }
.calendar-reminder-note span { color:var(--muted); font-size:9px; line-height:1.5; }
@media (max-width:680px) {
    .calendar-actions .calendar-notification-btn { width:100%; }
}


/* v5.24.35 - Trader integrado ao módulo Finanças */
.finance-trader-button {
    border: 1px solid #e03131;
    background: #e03131;
    color: #fff;
    font-weight: 800;
    box-shadow: 0 10px 22px rgba(224, 49, 49, .2);
}
.finance-trader-button:hover {
    border-color: #c92a2a;
    background: #c92a2a;
    color: #fff;
    transform: translateY(-1px);
}
.finance-trader-toolbar { margin-bottom: 18px; }
@media (max-width: 720px) {
    .finance-trader-toolbar { align-items: stretch; }
    .finance-trader-toolbar .month-switcher { width: 100%; justify-content: space-between; }
    .finance-subview-actions { width: 100%; }
    .finance-subview-actions .btn { flex: 1 1 135px; }
}

/* v5.24.37 - CSP dentro de Finanças, seleção de contas e status dinâmico */
.finance-csp-button {
    color: #fff;
    background: linear-gradient(135deg, #12b886, #087f5b);
    border-color: transparent;
    font-weight: 800;
    box-shadow: 0 9px 20px rgba(18, 184, 134, .2);
}
.finance-csp-button:hover { color: #fff; background: linear-gradient(135deg, #0ca678, #066649); transform: translateY(-1px); }
.finance-new-payable-button { white-space: nowrap; font-weight: 800; }
.finance-csp-toolbar .csp-toolbar-actions { flex-wrap: wrap; }

.payable-selection-bar {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 12px 0;
    padding: 12px 14px;
    border: 1px solid rgba(121, 80, 242, .25);
    border-radius: 14px;
    background: rgba(121, 80, 242, .07);
}
.payable-selection-bar[hidden] { display: none !important; }
.payable-selection-bar > div { display: grid; gap: 2px; min-width: 0; }
.payable-selection-bar strong { font-size: 11px; }
.payable-selection-bar small { color: var(--muted); font-size: 9px; }
.payable-selection-bar > b { margin-left: auto; color: #7950f2; font-size: 18px; white-space: nowrap; }
.payable-selection-bar .btn { padding: 8px 12px; }

.payable-col-select { width: 38px; }
.payable-select-heading, .payable-select-cell { width: 38px; text-align: center; }
.payable-check { display: inline-grid; place-items: center; cursor: pointer; }
.payable-check input { position: absolute; opacity: 0; pointer-events: none; }
.payable-check span {
    width: 18px;
    height: 18px;
    border: 1.5px solid var(--border-strong, var(--border));
    border-radius: 6px;
    background: var(--surface);
    transition: .15s ease;
}
.payable-check input:checked + span { border-color: #7950f2; background: #7950f2; box-shadow: inset 0 0 0 4px #7950f2; }
.payable-check input:checked + span::after { content: '✓'; display: grid; place-items: center; height: 100%; color: #fff; font-size: 12px; font-weight: 900; }
.payable-check input:indeterminate + span { border-color: #7950f2; background: #7950f2; }
.payable-check input:indeterminate + span::after { content: '−'; display: grid; place-items: center; height: 100%; color: #fff; font-weight: 900; }

.payable-status-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 0;
    font-family: inherit;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.payable-status-toggle:hover { transform: translateY(-1px); box-shadow: 0 7px 16px rgba(15, 23, 42, .12); }
.payable-status-toggle:disabled { cursor: wait; opacity: .65; min-width: 82px; }
.payable-status-toggle > span { font-size: 10px; opacity: .75; }
.payable-status-popover {
    position: fixed;
    z-index: 12000;
    display: grid;
    gap: 5px;
    padding: 7px;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: var(--surface);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .22);
}
.payable-status-popover button {
    display: flex;
    align-items: center;
    gap: 9px;
    width: 100%;
    padding: 10px 11px;
    border: 0;
    border-radius: 9px;
    color: var(--text);
    background: transparent;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
}
.payable-status-popover button:hover { background: var(--surface-2); }
.status-dot { width: 9px; height: 9px; border-radius: 999px; }
.status-dot.pending { background: #ff6b6b; }
.status-dot.paid { background: #20c997; }

@media (max-width: 680px) {
    .finance-csp-toolbar { align-items: stretch; }
    .finance-csp-toolbar .month-switcher { width: 100%; }
    .finance-csp-toolbar .csp-toolbar-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
    .finance-csp-toolbar .csp-toolbar-actions .btn { justify-content: center; min-width: 0; }
    .finance-new-payable-button { width: auto; padding-inline: 12px; }
    .payable-selection-bar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; }
    .payable-selection-bar > b { margin-left: 0; }
    .payable-selection-bar .btn { grid-column: 1 / -1; width: 100%; }
    .finance-payables-table .payable-select-heading,
    .finance-payables-table .payable-select-cell { display: table-cell !important; width: 34px !important; padding-inline: 4px !important; }
    .finance-payables-table .payable-check span { width: 17px; height: 17px; }
}

/* v5.24.37.1 - Ajuste estrutural da coluna de seleção em Contas a pagar */
.finance-payables-table col.payable-col-select { width: 6%; }
.finance-payables-table col.payable-col-account { width: 27%; }
.finance-payables-table col.payable-col-installment { width: 11%; }
.finance-payables-table col.payable-col-due { width: 18%; }
.finance-payables-table col.payable-col-status { width: 17%; }
.finance-payables-table col.payable-col-value { width: 14%; }
.finance-payables-table col.payable-col-open { width: 7%; }
.finance-payables-table th:first-child,
.finance-payables-table td:first-child { min-width: 0; text-align: center; }
.finance-payables-table th:nth-child(2),
.finance-payables-table td:nth-child(2) { text-align: left; }
.finance-payables-table th:nth-child(3),
.finance-payables-table td:nth-child(3),
.finance-payables-table th:nth-child(4),
.finance-payables-table td:nth-child(4),
.finance-payables-table th:nth-child(5),
.finance-payables-table td:nth-child(5) { text-align: center; }
.finance-payables-table td:nth-child(2) strong { display: block; }
.finance-payables-table td:nth-child(2) small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }

@media (max-width: 680px) {
    .finance-payables-table .payable-select-heading { display: none !important; }
    .finance-payables-table tr {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        gap: 9px 10px !important;
        align-items: center;
    }
    .finance-payables-table td:first-child {
        display: flex !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: auto !important;
        padding: 0 !important;
        overflow: visible !important;
    }
    .finance-payables-table td:nth-child(2) {
        grid-column: 2 / 4 !important;
        grid-row: 1 !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }
    .finance-payables-table td:nth-child(3) {
        grid-column: 2 !important;
        grid-row: 2 !important;
        justify-self: stretch !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }
    .finance-payables-table td:nth-child(4) {
        grid-column: 3 !important;
        grid-row: 2 !important;
        justify-self: end !important;
        justify-content: flex-end !important;
        text-align: right !important;
        white-space: nowrap;
    }
    .finance-payables-table td:nth-child(5) {
        grid-column: 2 !important;
        grid-row: 3 !important;
        justify-self: stretch !important;
        justify-content: flex-start !important;
        text-align: left !important;
        overflow: visible !important;
    }
    .finance-payables-table td:nth-child(6) {
        display: flex !important;
        grid-column: 3 !important;
        grid-row: 3 !important;
        justify-self: end !important;
        justify-content: flex-end !important;
        text-align: right !important;
        white-space: nowrap;
    }
    .finance-payables-table td:nth-child(7) { display: none !important; }
    .finance-payables-table td:nth-child(2)::before,
    .finance-payables-table td:nth-child(5)::before { content: none !important; }
    .finance-payables-table td:nth-child(3)::before,
    .finance-payables-table td:nth-child(4)::before,
    .finance-payables-table td:nth-child(6)::before {
        color: var(--muted);
        font-size: 8px;
        font-weight: 800;
        letter-spacing: .05em;
        text-transform: uppercase;
    }
    .finance-payables-table td:nth-child(3)::before { content: "Parcela" !important; }
    .finance-payables-table td:nth-child(4)::before { content: "Vence" !important; }
    .finance-payables-table td:nth-child(6)::before { content: "Valor" !important; }
}


/* v5.24.38 - Navegação interna de Finanças */
.finance-movements-button {
    color: #fff;
    background: linear-gradient(135deg, #f59f00, #e67700);
    border-color: transparent;
    font-weight: 800;
    box-shadow: 0 9px 20px rgba(245, 159, 0, .23);
}
.finance-movements-button:hover {
    color: #fff;
    background: linear-gradient(135deg, #f08c00, #d9480f);
    transform: translateY(-1px);
}
@media (max-width: 720px) {
    .finance-movements-button { flex: 1 1 145px; text-align: center; }
}

/* v5.24.40 — Rotina em página própria dentro do Calendário */
.calendar-module-nav {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 18px;
    padding: 5px;
    border: 1px solid var(--border);
    border-radius: 15px;
    background: var(--surface);
    box-shadow: var(--shadow-soft);
}
.calendar-module-tab {
    display: inline-flex;
    min-width: 118px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 9px 17px;
    border: 1px solid transparent;
    border-radius: 11px;
    color: var(--muted);
    background: transparent;
    font-size: 11px;
    font-weight: 850;
    text-decoration: none;
    transition: transform .16s ease, color .16s ease, background .16s ease, box-shadow .16s ease;
}
.calendar-module-tab:hover {
    color: var(--text);
    background: var(--surface-2);
    transform: translateY(-1px);
}
.calendar-module-tab.calendar-tab.active {
    color: #fff;
    background: linear-gradient(135deg, #2f6fed, #1f5bd8);
    box-shadow: 0 9px 20px rgba(47, 111, 237, .24);
}
.calendar-module-tab.routine-tab.active {
    color: #fff;
    background: linear-gradient(135deg, #7c4dff, #6437df);
    box-shadow: 0 9px 20px rgba(124, 77, 255, .24);
}
.routine-page-filter-toolbar { margin-bottom: 16px; }
.routine-standalone-page {
    margin-top: 0;
    scroll-margin-top: 86px;
}
.routine-standalone-page .calendar-routine-toolbar {
    padding-top: 4px;
}

@media (max-width: 680px) {
    .calendar-module-nav {
        display: flex;
        width: 100%;
        margin-bottom: 14px;
    }
    .calendar-module-tab {
        flex: 1 1 50%;
        min-width: 0;
    }
    .routine-page-filter-toolbar { margin-bottom: 12px; }
}


/* v5.24.42 — Saúde sem hidratação; Treino e Metas como páginas internas */
.health-module-nav {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 18px;
    padding: 5px;
    border: 1px solid var(--border);
    border-radius: 15px;
    background: var(--surface);
    box-shadow: var(--shadow-soft);
}
.health-module-tab {
    display: inline-flex;
    min-width: 126px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 9px 17px;
    border: 1px solid transparent;
    border-radius: 11px;
    color: var(--muted);
    background: transparent;
    font-size: 11px;
    font-weight: 850;
    text-decoration: none;
    transition: transform .16s ease, color .16s ease, background .16s ease, box-shadow .16s ease;
}
.health-module-tab:hover {
    color: var(--text);
    background: var(--surface-2);
    transform: translateY(-1px);
}
.health-module-tab.health-tab.active {
    color: #fff;
    background: linear-gradient(135deg, #12a9d6, #087ca7);
    box-shadow: 0 9px 20px rgba(18, 169, 214, .24);
}
.health-module-tab.training-tab.active {
    color: #fff;
    background: linear-gradient(135deg, #18b66b, #0b8d4d);
    box-shadow: 0 9px 20px rgba(24, 182, 107, .24);
}
.health-module-tab.goals-tab.active {
    color: #fff;
    background: linear-gradient(135deg, #7c4dff, #6437df);
    box-shadow: 0 9px 20px rgba(124, 77, 255, .24);
}
@media (max-width: 680px) {
    .health-module-nav {
        display: flex;
        width: 100%;
        margin-bottom: 14px;
        overflow-x: auto;
        scrollbar-width: none;
    }
    .health-module-nav::-webkit-scrollbar { display: none; }
    .health-module-tab {
        flex: 1 0 auto;
        min-width: 112px;
        padding-inline: 13px;
    }
}

/* v5.24.43 — Navegação fluida sem reiniciar a página inteira */
.pz-navigation-progress {
    position: fixed;
    inset: 0 0 auto;
    z-index: 10050;
    height: 3px;
    overflow: hidden;
    pointer-events: none;
    opacity: 0;
    transition: opacity .14s ease;
}
.pz-navigation-progress i {
    display: block;
    width: 36%;
    height: 100%;
    border-radius: 0 999px 999px 0;
    background: linear-gradient(90deg, transparent, var(--accent), #7c4dff);
    box-shadow: 0 0 14px color-mix(in srgb, var(--accent) 58%, transparent);
    transform: translateX(-130%);
}
.pz-navigation-progress.active { opacity: 1; }
.pz-navigation-progress.active i { animation: pz-navigation-slide .85s ease-in-out infinite; }
@keyframes pz-navigation-slide {
    0% { transform: translateX(-130%); }
    100% { transform: translateX(390%); }
}
.pz-is-navigating .app-shell {
    cursor: progress;
}
.pz-is-navigating .main-column {
    opacity: .72;
    transform: translateY(2px);
    transition: opacity .16s ease, transform .16s ease;
    pointer-events: none;
}
.pz-is-navigating .sidebar {
    pointer-events: none;
}
.page-heading h1[tabindex="-1"] { outline: none; }

@supports (view-transition-name: none) {
    .app-shell { view-transition-name: plan-zonix-shell; }
    ::view-transition-old(plan-zonix-shell) {
        animation: pz-view-old .13s ease both;
    }
    ::view-transition-new(plan-zonix-shell) {
        animation: pz-view-new .2s ease both;
    }
    @keyframes pz-view-old {
        to { opacity: 0; transform: translateY(-3px); }
    }
    @keyframes pz-view-new {
        from { opacity: 0; transform: translateY(5px); }
    }
}

@media (prefers-reduced-motion: reduce) {
    .pz-navigation-progress.active i { animation-duration: 1.6s; }
    .pz-is-navigating .main-column { transition: none; transform: none; }
}


/* v5.24.44 — Rotina compacta, alinhada e sem ultrapassar a tela */
.routine-standalone-page {
    min-width: 0;
    gap: 14px;
    overflow: hidden;
}
.routine-standalone-page .calendar-routine-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 14px;
    padding: 0;
}
.routine-standalone-page .calendar-routine-toolbar > div:first-child,
.routine-standalone-page .calendar-routine-toolbar .lead-copy {
    min-width: 0;
}
.routine-standalone-page .calendar-routine-toolbar .lead-copy {
    max-width: 820px;
}
.routine-standalone-page .calendar-routine-toolbar .button-row {
    display: flex;
    max-width: 100%;
    flex-flow: row wrap;
    justify-content: flex-end;
}
.routine-standalone-page .calendar-routine-toolbar .button-row .btn {
    min-width: 0;
    white-space: nowrap;
}
.routine-standalone-page .card,
.routine-standalone-page .calendar-routine-grid,
.routine-standalone-page .calendar-routine-grid > .card {
    min-width: 0;
}
.routine-standalone-page .calendar-routine-card {
    padding: 18px;
    overflow: hidden;
}
.routine-standalone-page .calendar-routine-card .card-head {
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.routine-standalone-page .calendar-routine-card .streak {
    flex: 0 0 auto;
    white-space: nowrap;
}
.routine-standalone-page .habit-period-table-wrap {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding-bottom: 2px;
    border: 1px solid var(--border);
    border-radius: 12px;
}
.routine-standalone-page .habit-period-table {
    table-layout: fixed;
}
.routine-standalone-page .habit-period-table th,
.routine-standalone-page .habit-period-table td {
    height: 42px;
    padding: 6px 2px;
}
.routine-standalone-page .habit-period-table .habit-period-name-head,
.routine-standalone-page .habit-period-table .habit-period-name-cell {
    width: 160px !important;
    max-width: 160px;
}
.routine-standalone-page .habit-period-table .habit-name {
    min-width: 0;
    gap: 7px;
    padding: 4px 7px;
}
.routine-standalone-page .habit-period-table .habit-name strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.routine-standalone-page .habit-period-table .habit-name small {
    display: none;
}
.routine-standalone-page .habit-period-day-head {
    width: 32px;
    padding-inline: 1px !important;
}
.routine-standalone-page .habit-period-day-head strong {
    font-size: 9px;
}
.routine-standalone-page .habit-period-day-head.today strong {
    width: 20px;
    height: 20px;
}
.routine-standalone-page .habit-period-check-cell {
    width: 32px;
    padding-inline: 1px !important;
}
.routine-standalone-page .habit-period-table .habit-check {
    width: 23px;
    height: 23px;
    border-radius: 7px;
    font-size: 9px;
}
.routine-standalone-page .habit-period-progress-cell {
    width: 78px;
    padding-inline: 7px !important;
}
.routine-standalone-page .habit-period-progress-cell strong {
    font-size: 10px;
}
.routine-standalone-page .habit-period-progress-cell i {
    margin-top: 4px;
}
.routine-standalone-page .routine-edit-btn {
    width: 30px;
    height: 30px;
    font-size: 15px;
}
.routine-standalone-page .habit-period-help {
    margin-top: 7px;
}
.routine-standalone-page .calendar-routine-grid {
    grid-template-columns: minmax(0, 2.05fr) minmax(250px, .72fr);
    align-items: stretch;
    gap: 14px;
    margin-bottom: 0;
}
.routine-standalone-page .calendar-routine-grid > .card {
    padding: 18px;
    overflow: hidden;
}
.routine-standalone-page .calendar-routine-grid .card-head {
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}
.routine-standalone-page .week-board {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
    overflow: visible;
}
.routine-standalone-page .week-column {
    min-width: 0;
    gap: 5px;
}
.routine-standalone-page .week-column > strong {
    overflow: hidden;
    padding: 6px 3px;
    font-size: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.routine-standalone-page .week-column article {
    min-width: 0;
    gap: 1px;
    padding: 7px 19px 7px 7px;
}
.routine-standalone-page .week-column article > span,
.routine-standalone-page .week-column article > small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.routine-standalone-page .week-column article > span {
    font-size: 8px;
}
.routine-standalone-page .week-column article > small {
    font-size: 6.5px;
}
.routine-standalone-page .schedule-card-trigger > b {
    right: 5px;
    top: 4px;
    font-size: 11px;
}
.routine-standalone-page .day-empty {
    overflow: hidden;
    padding: 7px 3px;
    font-size: 8px;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.routine-standalone-page .journal-list,
.routine-standalone-page .journal-list article,
.routine-standalone-page .journal-entry-trigger {
    min-width: 0;
}
.routine-standalone-page .journal-entry-trigger strong,
.routine-standalone-page .journal-entry-trigger p {
    overflow: hidden;
    text-overflow: ellipsis;
}
.routine-standalone-page .journal-entry-trigger p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media (max-width: 1180px) {
    .routine-standalone-page .calendar-routine-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 900px) {
    .routine-standalone-page .calendar-routine-toolbar {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
    .routine-standalone-page .calendar-routine-toolbar .button-row {
        justify-content: flex-start;
    }
}
@media (max-width: 680px) {
    .routine-standalone-page {
        gap: 11px;
        overflow: visible;
    }
    .routine-standalone-page .calendar-routine-toolbar .button-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }
    .routine-standalone-page .calendar-routine-card,
    .routine-standalone-page .calendar-routine-grid > .card {
        padding: 14px 12px;
    }
    .routine-standalone-page .calendar-routine-card .card-head {
        align-items: flex-start;
        flex-direction: column;
    }
    .routine-standalone-page .habit-period-table .habit-period-name-head,
    .routine-standalone-page .habit-period-table .habit-period-name-cell {
        width: 132px !important;
        max-width: 132px;
    }
    .routine-standalone-page .habit-period-table .habit-check {
        width: 22px;
        height: 22px;
    }
    .routine-standalone-page .week-board {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }
    .routine-standalone-page .week-column article > small {
        white-space: normal;
    }
}
@media (max-width: 430px) {
    .routine-standalone-page .calendar-routine-toolbar .button-row,
    .routine-standalone-page .week-board {
        grid-template-columns: 1fr;
    }
}

/* v5.24.45 — Produtividade avançada, arquivo, lixeira, documentos e fechamento */
.task-planning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}
.task-planning-grid label{min-width:0}
.task-subtask-progress{display:flex;align-items:center;gap:8px;margin-top:10px}.task-subtask-progress i{height:6px;flex:1;background:var(--surface-soft,#eef1f7);border-radius:999px;overflow:hidden}.task-subtask-progress b{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#20bf6b);border-radius:inherit}.task-subtask-progress span{font-size:11px;font-weight:800;color:var(--muted)}
.task-blocked-badge{margin-top:9px;padding:7px 9px;border-radius:9px;background:rgba(255,107,107,.12);color:#e03131;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-assignee-badge{display:flex;align-items:center;gap:7px;margin-top:8px;color:var(--muted);font-size:11px;font-weight:700}.task-assignee-badge span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(37,99,235,.13);color:#2563eb;font-size:10px}
.project-bottom-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.archive-actions{grid-template-columns:auto auto 1fr auto auto!important}
.finance-close-button{background:#fff4e6!important;color:#e67700!important;border-color:#ffd8a8!important;font-weight:800}.finance-close-button.is-closed{background:#e6fcf5!important;color:#087f5b!important;border-color:#96f2d7!important}
.finance-month-closed-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;margin-bottom:16px;border:1px solid #96f2d7;background:linear-gradient(135deg,#e6fcf5,#f8fffc);border-radius:18px}.finance-month-closed-banner>div:first-child{display:flex;align-items:center;gap:12px}.finance-month-closed-banner>div:first-child>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#20c997;color:white;font-weight:900}.finance-month-closed-banner strong{display:block}.finance-month-closed-banner small{display:block;color:#5c677d;margin-top:3px}.finance-month-closed-banner>div:last-child{display:flex;gap:16px;flex-wrap:wrap}.finance-month-closed-banner>div:last-child span{font-size:11px;color:#667085}.finance-month-closed-banner b{display:block;color:#101828;margin-top:2px}
.library-module-nav{margin-bottom:18px;max-width:320px}.documents-tab.active{background:linear-gradient(135deg,#2563eb,#4b7bec)!important;color:#fff!important}
.document-vault-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.document-vault-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.document-vault-item.is-expiring{border-color:#ffd43b;background:rgba(255,212,59,.07)}.document-vault-item.is-expired{border-color:#ff8787;background:rgba(255,107,107,.07)}.document-vault-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:rgba(37,99,235,.12);color:#2563eb;font-size:22px}.document-vault-info{min-width:0}.document-vault-info h3{margin:7px 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-vault-info p{margin:0;color:var(--muted);font-size:12px}.document-vault-dates{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;font-size:11px;color:var(--muted)}.document-vault-dates strong{color:#e03131}.document-vault-actions{display:flex;gap:8px;flex-direction:column}.document-empty{grid-column:1/-1}.document-file-picker small{display:block;font-weight:500;color:var(--muted);margin:3px 0 8px}
.storage-center-card .card-head{align-items:center}.storage-count{min-width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:var(--surface-soft);font-weight:900}.storage-item-list,.update-history-list{display:grid;gap:8px;max-height:340px;overflow:auto}.storage-item-list article,.update-history-list article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.storage-item-list article>div:first-child,.update-history-list article>div:first-child{min-width:0}.storage-item-list strong,.update-history-list strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.storage-item-list small,.update-history-list small{display:block;color:var(--muted);margin-top:3px}.storage-item-list article>div:last-child{display:flex;align-items:center;gap:6px}.update-safety-note{padding:12px;border-radius:12px;background:rgba(37,99,235,.08);border:1px solid rgba(37,99,235,.18)}.update-safety-note strong,.update-safety-note small{display:block}.update-safety-note small{margin-top:4px;color:var(--muted)}

html[data-theme="dark"] .finance-month-closed-banner{background:linear-gradient(135deg,rgba(32,201,151,.15),rgba(32,201,151,.05));border-color:rgba(32,201,151,.35)}html[data-theme="dark"] .finance-month-closed-banner b{color:#fff}html[data-theme="dark"] .finance-close-button{background:rgba(245,159,0,.12)!important;border-color:rgba(245,159,0,.3)!important}html[data-theme="dark"] .finance-close-button.is-closed{background:rgba(32,201,151,.12)!important;border-color:rgba(32,201,151,.3)!important}

@media (max-width:980px){.document-vault-grid{grid-template-columns:1fr}.finance-month-closed-banner{align-items:flex-start;flex-direction:column}.task-planning-grid{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.task-planning-grid{grid-template-columns:1fr}.archive-actions{display:flex!important;flex-wrap:wrap}.archive-actions>span{display:none}.archive-actions .btn{flex:1 1 140px}.document-vault-item{grid-template-columns:auto minmax(0,1fr)}.document-vault-actions{grid-column:1/-1;flex-direction:row}.finance-month-closed-banner>div:last-child{display:grid;grid-template-columns:1fr 1fr;width:100%}.storage-item-list article,.update-history-list article{align-items:flex-start;flex-direction:column}.storage-item-list article>div:last-child{width:100%;justify-content:flex-end}}


/* v5.24.46 — Finanças mais compactas, alinhadas e sem fechamento mensal */
.finance-main-toolbar {
    gap: 12px;
    margin-bottom: 14px;
}
.finance-main-toolbar .section-toolbar-actions {
    gap: 8px;
}
.finance-main-toolbar .btn,
.finance-main-toolbar .month-switcher a {
    min-height: 38px;
}
.finance-main-toolbar .btn {
    padding: 9px 15px;
    border-radius: 12px;
}
.finance-metric-grid {
    gap: 12px;
    margin-bottom: 14px;
}
.finance-metric-grid .metric-card {
    min-height: 106px;
    padding: 16px 18px;
    border-radius: 18px;
}
.finance-metric-grid .metric-card:after {
    right: -34px;
    top: -42px;
    width: 94px;
    height: 94px;
}
.finance-metric-grid .metric-card small {
    font-size: 9px;
}
.finance-metric-grid .metric-card strong {
    margin-top: 8px;
    font-size: clamp(22px, 2vw, 29px);
}
.finance-metric-grid .metric-card em {
    margin-top: auto;
    font-size: 9px;
}

.finance-compact-primary-grid {
    grid-template-columns: minmax(0, 1.03fr) minmax(0, .97fr);
    gap: 14px;
    margin-bottom: 14px;
    align-items: start;
}
.finance-compact-primary-grid > * {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.finance-compact-card {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    padding: 16px;
}
.finance-compact-card .card-head {
    gap: 10px;
    margin-bottom: 10px;
}
.finance-compact-card .card-head h3 {
    margin-top: 4px;
    font-size: 16px;
}
.finance-compact-card .section-tag {
    font-size: 8px;
}
.finance-movements-card .data-table-wrap,
.finance-payables-card .data-table-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
}
.finance-movements-card .data-table-wrap {
    max-height: 470px;
}
.finance-payables-card .data-table-wrap {
    max-height: 390px;
}
.finance-compact-card .data-table thead th {
    position: sticky;
    z-index: 2;
    top: 0;
    background: var(--surface);
}
.finance-compact-card .data-table th,
.finance-compact-card .data-table td {
    padding-top: 9px;
    padding-bottom: 9px;
}
.finance-compact-card .record-open-hint {
    font-size: 8px;
}

/* Meu financeiro: nenhuma coluna ultrapassa o card no desktop. */
@media (min-width: 681px) {
    .finance-movements-card .finance-mobile-table {
        width: 100%;
        min-width: 0;
        table-layout: fixed;
    }
    .finance-movements-card .finance-movements-colgroup {
        display: table-column-group;
    }
    .finance-movements-card .finance-mov-col-description { width: 37%; }
    .finance-movements-card .finance-mov-col-category { width: 16%; }
    .finance-movements-card .finance-mov-col-date { width: 14%; }
    .finance-movements-card .finance-mov-col-payment { width: 14%; }
    .finance-movements-card .finance-mov-col-value { width: 19%; }
    .finance-movements-card .finance-mov-col-open { width: 0; }

    .finance-movements-card .finance-mobile-table th,
    .finance-movements-card .finance-mobile-table td {
        min-width: 0;
        padding-left: 6px;
        padding-right: 6px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .finance-movements-card .finance-mobile-table th:last-child,
    .finance-movements-card .finance-mobile-table td:last-child {
        display: none;
    }
    .finance-movements-card .finance-mobile-table td:first-child {
        display: table-cell;
        max-width: 0;
    }
    .finance-movements-card .finance-mobile-table td:first-child .entry-kind {
        margin-right: 5px;
        vertical-align: middle;
    }
    .finance-movements-card .finance-mobile-table td:first-child > strong {
        display: inline-block;
        max-width: calc(100% - 36px);
        overflow: hidden;
        vertical-align: middle;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .finance-movements-card .finance-history-source {
        display: block;
        max-width: 100%;
        margin: 3px 0 0 31px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* Contas a pagar: corrige soma de larguras do colgroup e elimina a coluna redundante "Abrir". */
    .finance-payables-card .finance-payables-table {
        width: 100%;
        min-width: 0;
        table-layout: fixed;
    }
    .finance-payables-card .finance-payables-table col.payable-col-select { width: 4%; }
    .finance-payables-card .finance-payables-table col.payable-col-account { width: 31%; }
    .finance-payables-card .finance-payables-table col.payable-col-installment { width: 11%; }
    .finance-payables-card .finance-payables-table col.payable-col-due { width: 17%; }
    .finance-payables-card .finance-payables-table col.payable-col-status { width: 16%; }
    .finance-payables-card .finance-payables-table col.payable-col-value { width: 21%; }
    .finance-payables-card .finance-payables-table col.payable-col-open { width: 0; }
    .finance-payables-card .finance-payables-table th:last-child,
    .finance-payables-card .finance-payables-table td:last-child {
        display: none;
    }
    .finance-payables-card .finance-payables-table th,
    .finance-payables-card .finance-payables-table td {
        min-width: 0;
        padding-left: 6px;
        padding-right: 6px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .finance-payables-card .payable-account-cell strong,
    .finance-payables-card .payable-account-cell small {
        max-width: 100%;
    }
}

.finance-payables-card .payable-summary {
    gap: 8px;
    margin-bottom: 10px;
}
.finance-payables-card .payable-summary article {
    padding: 10px 11px;
    border-radius: 12px;
}
.finance-payables-card .payable-summary small {
    font-size: 8px;
}
.finance-payables-card .payable-summary strong {
    font-size: 14px;
}
.finance-payables-card .payable-help {
    padding-top: 9px;
    font-size: 9px;
}
.finance-payables-card .finance-new-payable-button {
    padding: 9px 13px;
}

.finance-insights-grid {
    gap: 12px;
    margin-top: 14px;
}
.finance-insight-card {
    min-height: 215px;
    padding: 14px;
}
.finance-insight-card .card-head {
    margin-bottom: 9px;
}
.finance-insights-grid .finance-categories-card .donut-wrap {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 12px;
}
.finance-insights-grid .finance-categories-card .donut {
    width: 112px;
    height: 112px;
}
.finance-insights-grid .finance-categories-card .donut:after {
    width: 64px;
    height: 64px;
}
.finance-insight-scroll {
    max-height: 145px;
}
.finance-insights-grid .legend-list {
    max-height: 145px;
}

@media (max-width: 1180px) {
    .finance-compact-primary-grid {
        grid-template-columns: 1fr;
    }
    .finance-movements-card .data-table-wrap,
    .finance-payables-card .data-table-wrap {
        max-height: 420px;
    }
}
@media (max-width: 680px) {
    .finance-main-toolbar {
        align-items: stretch;
    }
    .finance-main-toolbar .section-toolbar-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }
    .finance-main-toolbar .section-toolbar-actions .btn {
        width: 100%;
        min-width: 0;
    }
    .finance-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }
    .finance-metric-grid .metric-card {
        min-height: 96px;
        padding: 13px;
    }
    .finance-metric-grid .metric-card strong {
        font-size: 19px;
    }
    .finance-compact-card {
        padding: 14px 12px;
    }
    .finance-movements-card .data-table-wrap,
    .finance-payables-card .data-table-wrap {
        max-height: none;
        overflow: visible;
    }
}
@media (max-width: 430px) {
    .finance-main-toolbar .section-toolbar-actions {
        grid-template-columns: 1fr;
    }
    .finance-metric-grid {
        grid-template-columns: 1fr 1fr;
    }
    .finance-metric-grid .metric-card strong {
        font-size: 17px;
    }
}

/* v5.24.47 — Compras: necessidades, desejos pessoais, casa e metas */
.shopping-module-nav{margin-bottom:18px}.shopping-tab.active{background:linear-gradient(135deg,#2563eb,#4f46e5)!important;color:#fff!important}.shopping-personal-tab.active{background:linear-gradient(135deg,#7c3aed,#a855f7)!important;color:#fff!important}.shopping-home-tab.active{background:linear-gradient(135deg,#0f9f6e,#22c55e)!important;color:#fff!important}.shopping-goal-tab.active{background:linear-gradient(135deg,#f59f00,#f97316)!important;color:#fff!important}.shopping-toolbar{align-items:flex-end;gap:20px;margin-bottom:16px}.shopping-toolbar h2{margin:4px 0 4px}.shopping-tag{color:#2563eb}.shopping-new-button{white-space:nowrap}
.shopping-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:16px}.shopping-summary-card{min-height:116px;padding:20px}.shopping-summary-card strong{font-size:clamp(1.45rem,2vw,2rem)}.shopping-summary-card.need strong{color:#2563eb}.shopping-summary-card.urgent strong{color:#ef4444}.shopping-summary-card.want strong{color:#7c3aed}.shopping-summary-card.fixed strong{color:#0284c7}.shopping-summary-card.total strong{color:#0f9f6e}
.shopping-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}.shopping-overview-card{padding:18px;min-width:0}.shopping-goals-overview{grid-column:1/-1}.shopping-mini-list,.shopping-goal-list{display:grid;gap:8px}.shopping-mini-item,.shopping-goal-row{width:100%;border:1px solid var(--line);background:var(--soft);border-radius:14px;padding:11px 12px;color:var(--text);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;cursor:pointer;transition:.18s ease}.shopping-mini-item:hover,.shopping-goal-row:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--soft))}.shopping-mini-item>span:nth-child(2){min-width:0}.shopping-mini-item strong,.shopping-mini-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shopping-mini-item small{color:var(--muted);margin-top:3px}.shopping-mini-item>b{white-space:nowrap}.shopping-mini-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-weight:900}.shopping-mini-icon.need{background:#fee2e2;color:#dc2626}.shopping-mini-icon.want{background:#ede9fe;color:#7c3aed}.shopping-mini-icon.fixed{background:#e0f2fe;color:#0369a1}.shopping-goal-row{grid-template-columns:minmax(0,1fr) auto}.shopping-goal-row span{min-width:0}.shopping-goal-row strong,.shopping-goal-row small{display:block}.shopping-goal-row small{color:var(--muted);margin:4px 0 7px}.shopping-goal-row i{height:6px;background:var(--line);display:block;border-radius:999px;overflow:hidden}.shopping-goal-row i em{height:100%;display:block;background:linear-gradient(90deg,#f59f00,#f97316);border-radius:inherit}
.shopping-list-card{padding:18px}.shopping-list-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.shopping-list-header h3{margin:4px 0 0}.shopping-filter-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.shopping-filter-form select,.shopping-filter-form input{min-height:38px}.shopping-filter-form select{width:auto;min-width:150px}.shopping-search{display:flex!important;align-items:center!important;flex-direction:row!important;gap:8px!important;border:1px solid var(--line);border-radius:11px;padding:0 10px;background:var(--panel);min-width:220px}.shopping-search input{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;width:100%}.shopping-items-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.shopping-item-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:15px;display:flex;flex-direction:column;gap:11px;min-width:0;cursor:pointer;transition:.18s ease;position:relative;overflow:hidden}.shopping-item-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#2563eb}.shopping-item-card.intent-want:before{background:#7c3aed}.shopping-item-card.status-purchased{opacity:.72}.shopping-item-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(15,23,42,.08);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.shopping-item-card>header,.shopping-item-card>footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.shopping-item-badges{display:flex;gap:6px;min-width:0;flex-wrap:wrap}.shopping-area-badge,.shopping-intent-badge,.shopping-fixed-badge,.shopping-priority,.shopping-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:800;line-height:1}.shopping-area-badge.area-personal{background:#ede9fe;color:#7c3aed}.shopping-area-badge.area-home{background:#dcfce7;color:#15803d}.shopping-area-badge.area-goal{background:#ffedd5;color:#c2410c}.shopping-intent-badge.need{background:#fee2e2;color:#dc2626}.shopping-intent-badge.want{background:#ede9fe;color:#7c3aed}.shopping-fixed-badge{background:#e0f2fe;color:#0369a1}.shopping-priority{background:var(--soft);color:var(--muted)}.shopping-priority.priority-urgente{background:#fee2e2;color:#b91c1c}.shopping-priority.priority-alta{background:#ffedd5;color:#c2410c}.shopping-item-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.shopping-item-title strong{font-size:1rem;min-width:0;overflow:hidden;text-overflow:ellipsis}.shopping-item-title span{font-size:.74rem;color:var(--muted);white-space:nowrap}.shopping-item-subline{margin:0;color:var(--muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shopping-item-value{display:flex;justify-content:space-between;align-items:end;gap:8px}.shopping-item-value span{font-size:.76rem;color:var(--muted)}.shopping-item-value strong{font-size:1.12rem}.shopping-progress>div{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.76rem;margin-bottom:5px}.shopping-progress i{height:7px;background:var(--soft);display:block;border-radius:999px;overflow:hidden}.shopping-progress i em{height:100%;display:block;background:linear-gradient(90deg,#f59f00,#f97316);border-radius:inherit}.shopping-status.status-planned{background:#e0e7ff;color:#4338ca}.shopping-status.status-researching{background:#e0f2fe;color:#0369a1}.shopping-status.status-ready{background:#dcfce7;color:#15803d}.shopping-status.status-purchased{background:#d1fae5;color:#047857}.shopping-stock-select{max-width:180px;min-height:32px;border:1px solid var(--line);border-radius:9px;padding:0 28px 0 9px;font-size:.74rem;font-weight:800;cursor:pointer;background:var(--soft);color:var(--text)}.shopping-stock-select.stock-have{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.shopping-stock-select.stock-running_low{background:#fef3c7;color:#b45309;border-color:#fde68a}.shopping-stock-select.stock-need_buy{background:#fee2e2;color:#b91c1c;border-color:#fecaca}.shopping-stock-select.stock-next_month{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}.shopping-item-card.is-recurring:before{background:#0284c7}.shopping-item-card.is-recurring.stock-need_buy:before{background:#ef4444}.shopping-item-card.is-recurring.stock-running_low:before{background:#f59e0b}.shopping-recurring-fields{display:grid;grid-template-columns:1fr;gap:7px;padding:12px 14px;border:1px solid color-mix(in srgb,#0284c7 24%,var(--line));background:color-mix(in srgb,#0284c7 5%,var(--panel));border-radius:12px}.shopping-recurring-fields[hidden]{display:none!important}.shopping-recurring-fields .form-help{margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}.shopping-recurring-fields label{margin:0}.shopping-card-actions{display:flex;align-items:center;gap:6px}.shopping-link,.shopping-complete-button{height:32px;border-radius:9px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;background:var(--soft);color:var(--text);font-weight:800;font-size:.75rem;text-decoration:none}.shopping-link{width:32px}.shopping-complete-button{padding:0 10px;cursor:pointer;background:#ecfdf5;color:#047857;border-color:#a7f3d0}.shopping-complete-button.is-reopen{background:var(--soft);color:var(--muted);border-color:var(--line)}.shopping-empty{grid-column:1/-1;min-height:230px;border:1px dashed var(--line);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;color:var(--muted)}.shopping-empty>span{font-size:2rem}.shopping-empty strong{color:var(--text);font-size:1rem;margin-top:8px}.shopping-empty p{max-width:420px;margin:5px 0 14px}
[data-theme="dark"] .shopping-mini-icon.need{background:rgba(239,68,68,.15);color:#fb7185}[data-theme="dark"] .shopping-mini-icon.want,[data-theme="dark"] .shopping-area-badge.area-personal,[data-theme="dark"] .shopping-intent-badge.want{background:rgba(124,58,237,.18);color:#c4b5fd}[data-theme="dark"] .shopping-area-badge.area-home{background:rgba(34,197,94,.16);color:#86efac}[data-theme="dark"] .shopping-area-badge.area-goal{background:rgba(249,115,22,.16);color:#fdba74}[data-theme="dark"] .shopping-intent-badge.need{background:rgba(239,68,68,.16);color:#fda4af}[data-theme="dark"] .shopping-fixed-badge,[data-theme="dark"] .shopping-mini-icon.fixed{background:rgba(14,165,233,.16);color:#7dd3fc}[data-theme="dark"] .shopping-status.status-planned{background:rgba(79,70,229,.18);color:#a5b4fc}[data-theme="dark"] .shopping-status.status-researching{background:rgba(14,165,233,.16);color:#7dd3fc}[data-theme="dark"] .shopping-status.status-ready,[data-theme="dark"] .shopping-status.status-purchased{background:rgba(34,197,94,.16);color:#86efac}[data-theme="dark"] .shopping-complete-button{background:rgba(34,197,94,.12);color:#86efac;border-color:rgba(34,197,94,.28)}
@media(max-width:1180px){.shopping-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shopping-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shopping-fixed-overview{grid-column:1/-1}.shopping-items-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.shopping-toolbar{align-items:stretch}.shopping-toolbar .shopping-new-button{width:100%}.shopping-summary-grid,.shopping-overview-grid,.shopping-items-grid{grid-template-columns:1fr}.shopping-goals-overview,.shopping-fixed-overview{grid-column:auto}.shopping-list-header{align-items:stretch;flex-direction:column}.shopping-filter-form{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}.shopping-search{grid-column:1/-1;min-width:0}.shopping-filter-form select{width:100%;min-width:0}.shopping-filter-form .btn{grid-column:1/-1}.shopping-list-card{padding:14px}.shopping-item-card{padding:14px}.shopping-mini-item{grid-template-columns:auto minmax(0,1fr)}.shopping-mini-item>b{grid-column:2;justify-self:start}.shopping-module-nav{overflow-x:auto;display:flex;flex-wrap:nowrap}.shopping-module-nav a{min-width:max-content}}

/* Trader 5.24.50 — Radar WIN com agenda econômica estruturada */
.trader-win-card { min-height: 650px; }
.win-radar-tabs { display:grid; grid-template-columns:1fr 1fr; gap:5px; margin-top:10px; padding:4px; border:1px solid var(--border); border-radius:12px; background:var(--surface-soft); }
.win-radar-tabs button { min-height:34px; border:0; border-radius:9px; background:transparent; color:var(--muted); font:inherit; font-size:8px; font-weight:850; cursor:pointer; }
.win-radar-tabs button:hover,.win-radar-tabs button.active { background:var(--surface); color:var(--accent); box-shadow:0 3px 10px rgba(28,29,34,.08); }
.win-radar-panel[hidden] { display:none !important; }
.win-calendar-toolbar { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:7px; margin-top:8px; }
.win-calendar-periods,.win-calendar-importance { display:flex; min-width:0; gap:4px; padding:4px; border:1px solid var(--border); border-radius:11px; background:var(--surface-soft); }
.win-calendar-periods button,.win-calendar-importance button { flex:1 1 0; min-width:0; padding:7px 6px; border:0; border-radius:8px; background:transparent; color:var(--muted); font:inherit; font-size:8px; font-weight:850; cursor:pointer; white-space:nowrap; }
.win-calendar-periods button:hover,.win-calendar-periods button.active,.win-calendar-importance button:hover,.win-calendar-importance button.active { background:var(--surface); color:var(--accent); box-shadow:0 2px 8px rgba(28,29,34,.08); }
.win-calendar-status { margin-top:9px; min-height:84px; }
.win-calendar-config { display:grid; gap:5px; margin-top:9px; padding:14px; border:1px dashed color-mix(in srgb,var(--accent) 42%,var(--border)); border-radius:12px; background:color-mix(in srgb,var(--accent) 5%,var(--surface-soft)); }
.win-calendar-config strong { color:var(--text); font-size:10px; }
.win-calendar-config span { color:var(--muted); font-size:8px; line-height:1.5; }
.win-calendar-config a { color:var(--accent); font-weight:850; text-decoration:none; }
.win-calendar-table-wrap { max-height:390px; margin-top:9px; overflow:auto; border:1px solid var(--border); border-radius:12px; background:var(--surface-soft); scrollbar-width:thin; }
.win-calendar-table { width:100%; min-width:590px; border-collapse:collapse; table-layout:fixed; }
.win-calendar-table th,.win-calendar-table td { padding:8px 7px; border-bottom:1px solid var(--border); color:var(--text); font-size:8px; vertical-align:middle; }
.win-calendar-table thead th { position:sticky; top:0; z-index:3; background:var(--surface); color:var(--muted); font-size:7px; font-weight:900; text-align:left; text-transform:uppercase; letter-spacing:.02em; }
.win-calendar-table thead th:nth-child(1) { width:48px; }
.win-calendar-table thead th:nth-child(2) { width:57px; }
.win-calendar-table thead th:nth-child(3) { width:auto; }
.win-calendar-table thead th:nth-child(4) { width:72px; text-align:center; }
.win-calendar-table thead th:nth-child(5),.win-calendar-table thead th:nth-child(6),.win-calendar-table thead th:nth-child(7) { width:64px; text-align:right; }
.win-calendar-date-row th { position:sticky; top:31px; z-index:2; padding:7px 10px; background:color-mix(in srgb,var(--accent) 5%,var(--surface)); color:var(--text); font-size:8px; font-weight:900; text-align:center; text-transform:none; letter-spacing:0; }
.win-calendar-event-row:last-child td { border-bottom:0; }
.win-calendar-event-row:hover td { background:color-mix(in srgb,var(--accent) 3%,transparent); }
.win-calendar-time { color:var(--text); font-weight:850; white-space:nowrap; }
.win-calendar-currency { white-space:nowrap; }
.win-calendar-currency span { margin-right:4px; font-size:11px; }
.win-calendar-currency b { font-size:8px; }
.win-calendar-event { overflow:hidden; }
.win-calendar-event strong { display:block; overflow:hidden; color:var(--text); font-size:9px; font-weight:800; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.win-calendar-event small { display:block; margin-top:2px; color:var(--muted); font-size:7px; }
.win-calendar-event em { display:block; margin-top:3px; overflow:hidden; font-size:7px; font-style:normal; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
.win-calendar-event em.positive,.win-calendar-number.positive { color:var(--green); }
.win-calendar-event em.negative,.win-calendar-number.negative { color:var(--coral); }
.win-calendar-event em.attention,.win-calendar-number.attention { color:#d88b00; }
.win-calendar-stars-cell { text-align:center; }
.win-stars { display:inline-flex; gap:1px; white-space:nowrap; }
.win-stars i { color:color-mix(in srgb,var(--muted) 32%,transparent); font-size:10px; font-style:normal; line-height:1; }
.win-stars.importance-1 i.filled { color:var(--muted); }
.win-stars.importance-2 i.filled { color:#d88b00; }
.win-stars.importance-3 i.filled { color:var(--coral); }
.win-calendar-number { text-align:right; font-variant-numeric:tabular-nums; font-weight:800; white-space:nowrap; }
.win-calendar-number sup { margin-left:1px; color:var(--accent); font-size:6px; }
.win-next-event strong { white-space:normal; line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.trading-economics-settings-card > form + form { margin-top:10px; }

@media (max-width:680px) {
    .trader-win-card { min-height:0; }
    .win-calendar-toolbar { grid-template-columns:1fr; }
    .win-calendar-table-wrap { max-height:430px; }
    .win-calendar-table { min-width:610px; }
}


/* Trader 5.24.51 — agenda econômica gratuita pelo widget oficial do TradingView */
.win-tv-calendar-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:9px; padding:9px 11px; border:1px solid var(--border); border-radius:11px; background:var(--surface-soft); }
.win-tv-calendar-head > div { display:grid; gap:2px; min-width:0; }
.win-tv-calendar-head strong { color:var(--text); font-size:9px; }
.win-tv-calendar-head span { color:var(--muted); font-size:7px; line-height:1.4; }
.win-tv-calendar-head > b { flex:0 0 auto; padding:5px 8px; border-radius:999px; background:color-mix(in srgb,var(--accent) 12%,var(--surface)); color:var(--accent); font-size:7px; white-space:nowrap; }
.win-tv-calendar-status { margin-top:9px; min-height:64px; }
.win-tradingview-calendar { min-height:520px; margin-top:9px; border-radius:12px; }
.win-tradingview-calendar .tradingview-widget-container,
.win-tradingview-calendar .tradingview-widget-container__widget { min-height:520px; }
.win-tradingview-calendar iframe { display:block; width:100% !important; min-height:520px !important; border:0 !important; }
.win-tradingview-calendar .tradingview-widget-copyright { padding:5px 8px 7px; color:var(--muted); font-size:7px; text-align:right; }
.win-tradingview-calendar .tradingview-widget-copyright a { color:var(--accent); font-weight:850; text-decoration:none; }
.win-tv-calendar-help { margin:6px 2px 0; color:var(--muted); font-size:7px; line-height:1.45; }
@media (max-width:680px) {
    .win-tv-calendar-head { align-items:flex-start; flex-direction:column; }
    .win-tradingview-calendar,
    .win-tradingview-calendar .tradingview-widget-container,
    .win-tradingview-calendar .tradingview-widget-container__widget,
    .win-tradingview-calendar iframe { min-height:600px !important; }
}


/* v5.24.52 — Treino: carga/peso realizado por dia */
.exercise-load-control { display:grid; gap:3px; min-width:0; }
.exercise-load-control > span { color:var(--muted); font-size:7px; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.exercise-load-control input { width:100%; min-width:0; height:32px; padding:6px 9px; border:1px solid var(--border); border-radius:9px; background:var(--surface-2); color:var(--text); font:inherit; font-size:9px; font-weight:800; transition:border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.exercise-load-control input:focus { outline:0; border-color:color-mix(in srgb,var(--accent) 55%,var(--border)); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent); background:var(--surface); }
.exercise-load-control input.is-saving { opacity:.65; }
.exercise-load-control input.is-saved { border-color:color-mix(in srgb,var(--green) 70%,var(--border)); background:color-mix(in srgb,var(--green) 7%,var(--surface-2)); }
.exercise-load-control input.is-error { border-color:var(--coral); }
.exercise-load-control small { overflow:hidden; color:var(--muted); font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
.exercise-list article.done .exercise-load-control { opacity:.72; }
.exercise-list article.done .exercise-load-control input { text-decoration:none; }
@media (max-width:680px) {
    .exercise-list { padding:7px 12px; }
    .exercise-list article { grid-template-columns:auto minmax(0,1fr) auto auto; gap:8px; }
    .exercise-load-control { grid-column:2 / -1; grid-row:2; width:100%; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:5px 8px; }
    .exercise-load-control > span { grid-column:1; }
    .exercise-load-control input { grid-column:2; }
    .exercise-load-control small { grid-column:2; }
}


/* v5.24.53 — Calendário compartilhado entre dispositivos */
.calendar-mobile-share { display:grid; gap:12px; padding:15px; border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border)); border-radius:16px; background:color-mix(in srgb,var(--accent) 6%,var(--surface)); }
.calendar-mobile-share > div:first-child { display:flex; align-items:flex-start; gap:11px; }
.calendar-mobile-share > div:first-child > span { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; border-radius:12px; background:color-mix(in srgb,var(--accent) 13%,var(--surface)); font-size:18px; }
.calendar-mobile-share > div:first-child > div { display:grid; gap:4px; min-width:0; }
.calendar-mobile-share strong { font-size:11px; }
.calendar-mobile-share small { color:var(--muted); font-size:8px; line-height:1.5; }
.calendar-share-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.calendar-share-actions .btn { min-width:0; text-align:center; justify-content:center; }
@media (max-width:760px) {
    .calendar-share-actions { grid-template-columns:1fr; }
    .calendar-connect-btn { width:100%; }
}

/* v5.24.54 — Configurações organizadas em módulos internos */
.settings-module-nav {
    display: flex;
    width: 100%;
    max-width: 1120px;
    margin-bottom: 20px;
    overflow-x: auto;
    scrollbar-width: none;
}
.settings-module-nav::-webkit-scrollbar { display: none; }
.settings-module-nav .health-module-tab { flex: 1 0 auto; min-width: 138px; }
.settings-personalization-tab.active { color:#fff; background:linear-gradient(135deg,#7c4dff,#6437df); box-shadow:0 9px 20px rgba(124,77,255,.24); }
.settings-security-tab.active { color:#fff; background:linear-gradient(135deg,#ef5b67,#dc3545); box-shadow:0 9px 20px rgba(239,91,103,.22); }
.settings-backup-tab.active { color:#fff; background:linear-gradient(135deg,#18b66b,#0b8d4d); box-shadow:0 9px 20px rgba(24,182,107,.22); }
.settings-administration-tab.active { color:#fff; background:linear-gradient(135deg,#2f6feb,#2455c6); box-shadow:0 9px 20px rgba(47,111,235,.23); }
.settings-organization-tab.active { color:#fff; background:linear-gradient(135deg,#f59f00,#e67e00); box-shadow:0 9px 20px rgba(245,159,0,.22); }
.settings-updates-tab.active { color:#fff; background:linear-gradient(135deg,#12a9d6,#087ca7); box-shadow:0 9px 20px rgba(18,169,214,.22); }
.settings-module-grid { grid-template-columns:minmax(0,1fr); max-width:1120px; }
.settings-module-grid > .stack { width:100%; }
.settings-module-grid [data-settings-group][hidden] { display:none !important; }
.settings-module-grid .user-admin-card { grid-column:auto; }
@media (max-width:680px) {
    .settings-module-nav { gap:6px; margin-bottom:14px; }
    .settings-module-nav .health-module-tab { min-width:128px; padding-inline:12px; }
    .settings-module-grid { max-width:none; }
}
.brand-custom-logo{width:42px;height:42px;object-fit:contain;border-radius:10px;flex:0 0 auto}.profile-avatar-shell{overflow:hidden}.profile-avatar-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}.profile-photo-settings{display:flex;align-items:center;gap:18px;padding:14px 0 18px}.profile-photo-preview{width:88px;height:88px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--soft);font-size:30px;font-weight:800;flex:0 0 auto}.profile-photo-preview img{width:100%;height:100%;object-fit:cover}.profile-photo-form{flex:1}.profile-photo-form small{display:block;color:var(--muted);margin:4px 0 10px}.logo-preview{min-height:90px;padding:14px;border:1px solid var(--border);border-radius:16px;display:flex;align-items:center;gap:14px;margin:12px 0}.logo-preview img{max-width:360px;max-height:86px;object-fit:contain}.logo-preview strong{font-size:22px}@media(max-width:600px){.profile-photo-settings{align-items:flex-start;flex-direction:column}.logo-preview img{max-width:100%}}

/* v5.24.56 — logo personalizada também na página pública */
.public-brand-logo{
    width:auto;
    height:42px;
    max-width:180px;
    object-fit:contain;
    display:block;
    flex:0 0 auto;
}
@media(max-width:600px){
    .public-brand-logo{height:36px;max-width:145px}
}

/* v5.24.57 — planos Gratuito/PRO da Biblioteca */
.library-plan-line{margin:.45rem 0 0;color:var(--muted,#667085);font-size:.88rem;display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}
.library-plan-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.22rem .55rem;font-size:.72rem;letter-spacing:.05em;font-weight:800;background:rgba(108,92,231,.10);color:var(--accent,#6c5ce7);border:1px solid rgba(108,92,231,.18)}
.library-plan-badge.is-pro{background:linear-gradient(135deg,rgba(58,134,255,.16),rgba(181,23,158,.16));color:#6c4cf4;border-color:rgba(108,76,244,.25)}
button[disabled].btn{opacity:.55;cursor:not-allowed;filter:saturate(.65)}


/* v5.24.58 — identificação visual de conta PRO */
.account-pro-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:34px;
    height:20px;
    padding:0 8px;
    border-radius:999px;
    background:linear-gradient(135deg,#5b5cf6 0%,#8b5cf6 55%,#d946ef 100%);
    color:#fff;
    font-size:9px;
    line-height:1;
    font-weight:900;
    letter-spacing:.08em;
    box-shadow:0 4px 12px rgba(99,102,241,.22);
    flex:0 0 auto;
}
@media(max-width:600px){
    .account-pro-badge{
        position:absolute;
        top:-5px;
        right:-7px;
        min-width:27px;
        height:17px;
        padding:0 5px;
        font-size:7px;
        box-shadow:0 3px 8px rgba(99,102,241,.26);
    }
    .profile-chip{position:relative}
}

/* v5.24.60 — lucro/prejuízo operacional em Resultados > Desempenho por período */
.trader-chart-legend i.result.positive{background:#16b86a;box-shadow:0 0 0 3px rgba(22,184,106,.10)}
.trader-chart-legend i.result.negative{background:#ff5e62;box-shadow:0 0 0 3px rgba(255,94,98,.10)}
.trader-chart-legend b.positive{color:#16b86a}
.trader-chart-legend b.negative{color:#ff5e62}
.trader-chart-result-row{background:linear-gradient(90deg,rgba(121,80,242,.045),transparent);border-radius:10px}

/* v5.24.62 — histórico de reajustes CSP */
.csp-rate-history{margin-top:8px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}
.csp-rate-history>strong{display:block;margin-bottom:8px}
.csp-rate-history>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid var(--line)}
.csp-rate-history>div:first-of-type{border-top:0}
.csp-rate-history span{font-weight:800}
.csp-rate-history small{color:var(--muted);text-align:right}
@media(max-width:700px){.csp-rate-history>div{flex-direction:column;gap:3px}.csp-rate-history small{text-align:left}}


/* v5.24.63 — módulo Entregas */
.delivery-main-toolbar{margin-bottom:16px}
.delivery-presets a{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border:1px solid var(--border);border-radius:10px;color:var(--muted);text-decoration:none;font-size:10px;font-weight:800;background:var(--surface)}
.delivery-presets a:hover{border-color:var(--accent);color:var(--accent)}
.delivery-bars{display:flex;align-items:flex-end;gap:9px;min-height:260px;padding:18px 8px 4px;overflow-x:auto}
.delivery-bars article{display:grid;grid-template-rows:22px 190px 22px;gap:6px;min-width:42px;text-align:center}
.delivery-bars article>i{display:flex;align-items:flex-end;width:24px;height:190px;margin:auto;border-radius:9px;background:color-mix(in srgb,var(--accent) 8%,var(--surface-2));overflow:hidden}
.delivery-bars article>i>b{display:block;width:100%;border-radius:9px 9px 0 0;background:linear-gradient(180deg,#5b8cff,#6c5ce7)}
.delivery-bar-value{font-size:8px;color:var(--muted);white-space:nowrap}
.delivery-bars small{font-size:8px;color:var(--muted)}
.delivery-share-box{display:grid;gap:8px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.delivery-share-box>div{display:flex;gap:8px}.delivery-share-box input{flex:1;min-width:0}
.delivery-share-box p{margin:0;color:var(--muted);font-size:10px}
.delivery-table td,.delivery-table th{white-space:nowrap}
@media(max-width:760px){.delivery-bars{min-height:220px}.delivery-bars article{grid-template-rows:20px 150px 20px}.delivery-bars article>i{height:150px}.delivery-share-box>div{flex-direction:column}}

/* v5.24.64 — Entregas com valor manual, sem horas/tarifas */
.delivery-metrics-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.delivery-table td:nth-child(2) small{display:block;margin-top:3px;color:var(--muted);font-size:9px}
@media(max-width:1100px){.delivery-metrics-four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.delivery-metrics-four{grid-template-columns:1fr}}


/* v5.24.66 — correção mobile do selo PRO */
@media(max-width:600px){
    .profile-chip{
        position:relative;
        display:flex;
        align-items:center;
        gap:8px;
        padding-right:8px;
        overflow:visible;
    }
    .profile-chip .account-pro-badge{
        position:static !important;
        top:auto !important;
        right:auto !important;
        min-width:30px;
        height:18px;
        padding:0 6px;
        margin-left:2px;
        border-radius:999px;
        font-size:7px;
        line-height:1;
        box-shadow:none;
        flex:0 0 auto;
        transform:none !important;
        z-index:auto;
    }
    .profile-chip > div{
        min-width:0;
    }
}

/* v5.24.66 — relatório Entregas compacto no celular, no padrão do CSP */
@media(max-width:760px){
    .delivery-table{
        width:100% !important;
        min-width:0 !important;
        border-collapse:separate;
        border-spacing:0 10px;
    }
    .delivery-table thead{
        display:none !important;
    }
    .delivery-table tbody,
    .delivery-table tr,
    .delivery-table td{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
    }
    .delivery-table tr{
        position:relative;
        padding:14px 14px 12px;
        border:1px solid var(--border);
        border-radius:14px;
        background:var(--surface);
        overflow:hidden;
    }
    .delivery-table td{
        border:0 !important;
        padding:5px 0 !important;
        text-align:left !important;
        white-space:normal !important;
        overflow-wrap:anywhere;
        word-break:break-word;
    }
    .delivery-table td:first-child{
        padding-right:42px !important;
        font-weight:900;
        color:var(--text);
    }
    .delivery-table td:nth-child(2){
        margin:2px 0 6px;
    }
    .delivery-table td:nth-child(2) strong{
        display:block;
        font-size:12px;
        line-height:1.35;
    }
    .delivery-table td:nth-child(2) small{
        display:block;
        margin-top:4px;
        color:var(--muted);
        font-size:9px;
        line-height:1.4;
    }

    .delivery-table td:nth-child(3),
    .delivery-table td:nth-child(4),
    .delivery-table td:nth-child(5),
    .delivery-table td:nth-child(6){
        display:flex !important;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding:7px 0 !important;
        border-top:1px solid color-mix(in srgb,var(--border) 75%,transparent) !important;
        font-size:10px;
    }
    .delivery-table td:nth-child(3)::before{content:"Entregas";}
    .delivery-table td:nth-child(4)::before{content:"Valor recebido";}
    .delivery-table td:nth-child(5)::before{content:"Dia";}
    .delivery-table td:nth-child(6)::before{content:"Status";}
    .delivery-table td:nth-child(3)::before,
    .delivery-table td:nth-child(4)::before,
    .delivery-table td:nth-child(5)::before,
    .delivery-table td:nth-child(6)::before{
        color:var(--muted);
        font-size:9px;
        font-weight:700;
        flex:0 0 auto;
    }
    .delivery-table td:nth-child(4) strong{
        color:#19c77a;
        font-size:12px;
    }

    .delivery-table td:last-child{
        position:absolute;
        top:10px;
        right:10px;
        width:auto !important;
        padding:0 !important;
        border:0 !important;
    }
    .delivery-table td:last-child .icon-btn{
        width:32px;
        height:32px;
        min-width:32px;
        border-radius:10px;
    }

    .delivery-table .empty-cell{
        display:block !important;
        padding:18px !important;
        text-align:center !important;
        border:1px dashed var(--border) !important;
        border-radius:12px !important;
        color:var(--muted);
        background:transparent !important;
    }

    .csp-card .data-table-wrap{
        overflow:visible !important;
        max-width:100%;
    }
    .delivery-table{
        table-layout:auto !important;
    }
}

/* Evita qualquer estouro horizontal causado pelo módulo Entregas no mobile */
@media(max-width:760px){
    .delivery-chart-card,
    .csp-card,
    .delivery-main-toolbar,
    .delivery-date-filter,
    .delivery-bars{
        max-width:100%;
        min-width:0;
        box-sizing:border-box;
    }
    .delivery-bars{
        width:100%;
        overflow-x:auto;
        overflow-y:hidden;
    }
}


/* v5.24.67 — administração mobile: switches autoaplicáveis, sem botão Aplicar */
.managed-user-access-grid .access-auto-submit{display:none !important}

@media(max-width:760px){
    .managed-user-tools{
        width:100%;
        min-width:0;
    }
    .managed-user-access-grid{
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:8px !important;
        width:100% !important;
        min-width:0 !important;
        margin-top:10px;
    }
    .managed-user-access-grid .trader-access-form{
        width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
        display:block !important;
    }
    .managed-user-access-grid .mini-switch{
        width:100%;
        min-width:0;
        display:flex;
        align-items:center;
        justify-content:center;
        gap:7px;
        padding:9px 8px;
        border:1px solid var(--border);
        border-radius:12px;
        background:var(--surface-2);
        box-sizing:border-box;
        overflow:hidden;
    }
    .managed-user-access-grid .mini-switch span{
        flex:0 0 auto;
    }
    .managed-user-access-grid .mini-switch small{
        min-width:0;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
        font-size:8px;
    }
}
@media(max-width:420px){
    .managed-user-access-grid{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:6px !important;
    }
    .managed-user-access-grid .mini-switch{
        gap:5px;
        padding:8px 5px;
    }
}


/* v5.24.68 — switches administrativos: só a bolinha é clicável */
.managed-user-access-grid .mini-switch{
    cursor:default !important;
}
.managed-user-access-grid .mini-switch-control{
    position:relative;
    display:inline-flex;
    align-items:center;
    width:31px;
    height:18px;
    flex:0 0 31px;
    cursor:pointer;
    margin:0;
    padding:0;
}
.managed-user-access-grid .mini-switch-control input{
    position:absolute;
    inset:0;
    width:31px;
    height:18px;
    margin:0;
    opacity:0;
    cursor:pointer;
    z-index:2;
}
.managed-user-access-grid .mini-switch-control span{
    display:block;
    width:31px;
    height:18px;
    flex:0 0 31px;
    pointer-events:none;
}
.managed-user-access-grid .mini-switch > small{
    pointer-events:none;
    user-select:none;
}

/* v5.24.68 — modais mobile: datas e campos nunca ultrapassam a viewport */
@media(max-width:760px){
    .modal-card,
    .modal-panel,
    .modal-content,
    .modal-body,
    .modal-form,
    .modal-form .form-grid,
    .modal-form .form-grid > *,
    .modal-form label{
        min-width:0 !important;
        max-width:100% !important;
        box-sizing:border-box !important;
    }

    .modal-card,
    .modal-panel{
        width:calc(100vw - 20px) !important;
        max-width:calc(100vw - 20px) !important;
        margin-left:auto !important;
        margin-right:auto !important;
        overflow-x:hidden !important;
    }

    .modal-form input,
    .modal-form textarea,
    .modal-form select,
    .modal-form input[type="date"],
    .modal-form input[type="number"],
    .modal-form input[type="text"]{
        display:block !important;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        box-sizing:border-box !important;
    }

    /* Safari/iOS tende a impor largura intrínseca grande em input date. */
    .modal-form input[type="date"]{
        -webkit-appearance:none;
        appearance:none;
        overflow:hidden;
    }

    .modal-form .form-grid.two,
    .modal-form .form-grid.three,
    .modal-form .form-grid.four{
        grid-template-columns:minmax(0,1fr) !important;
    }
}

/* mantém os 3 controles administrativos compactos e sem sobreposição */
@media(max-width:760px){
    .managed-user-access-grid .mini-switch{
        justify-content:center !important;
        overflow:visible !important;
    }
    .managed-user-access-grid .mini-switch-control{
        overflow:visible !important;
    }
}


/* v5.24.69 — filtros de período mais simétricos */
.report-period-presets,
.csp-period-presets{
    display:grid !important;
    gap:8px !important;
}
.report-period-presets{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.csp-period-presets{
    grid-template-columns:repeat(5,minmax(0,1fr));
}
.report-period-presets a,
.csp-period-presets button{
    min-height:38px;
    width:100%;
    box-sizing:border-box;
    border:1px solid var(--border) !important;
    border-radius:11px !important;
    background:var(--surface-2) !important;
    color:var(--muted) !important;
    font-weight:800 !important;
    text-align:center;
    text-decoration:none;
    transition:.18s ease;
}
.report-period-presets a:hover,
.csp-period-presets button:hover{
    border-color:color-mix(in srgb,var(--accent) 55%,var(--border)) !important;
    color:var(--text) !important;
}
.csp-period-presets button.active{
    background:color-mix(in srgb,var(--accent) 14%,var(--surface-2)) !important;
    border-color:var(--accent) !important;
    color:var(--accent) !important;
}

/* Semana detalhada do módulo Entregas */
.delivery-week-detail-card{
    padding:20px;
    overflow:hidden;
}
.delivery-week-detail-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
}
.delivery-week-detail-head h3{
    margin:5px 0 3px;
}
.delivery-week-detail-head p{
    margin:0;
    color:var(--muted);
    font-size:10px;
}
.delivery-week-nav{
    display:grid;
    grid-template-columns:repeat(3,auto);
    gap:7px;
}
.delivery-week-nav a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    min-height:34px;
    padding:0 10px;
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--surface-2);
    color:var(--muted);
    text-decoration:none;
    font-size:9px;
    font-weight:800;
}
.delivery-week-nav a.current{
    color:var(--accent);
    border-color:color-mix(in srgb,var(--accent) 45%,var(--border));
    background:color-mix(in srgb,var(--accent) 9%,var(--surface-2));
}
.delivery-week-summary{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-bottom:14px;
}
.delivery-week-summary article{
    padding:13px 14px;
    border:1px solid var(--border);
    border-radius:13px;
    background:var(--surface-2);
}
.delivery-week-summary small{
    display:block;
    color:var(--muted);
    font-size:9px;
}
.delivery-week-summary strong{
    display:block;
    margin-top:5px;
    font-size:18px;
}
.delivery-week-summary article.gain strong{
    color:#19c77a;
}
.delivery-week-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:12px;
}
.delivery-week-routes,
.delivery-week-days{
    min-width:0;
    padding:12px;
    border:1px solid var(--border);
    border-radius:14px;
    background:color-mix(in srgb,var(--surface-2) 72%,transparent);
}
.delivery-week-subhead{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:2px 2px 9px;
}
.delivery-week-subhead strong{font-size:11px}
.delivery-week-subhead small{color:var(--muted);font-size:8px}
.delivery-route-row,
.delivery-week-day-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:12px;
    padding:10px 3px;
    border-top:1px solid var(--border);
    min-width:0;
}
.delivery-route-row>div,
.delivery-week-day-row>div{min-width:0}
.delivery-route-row>div strong,
.delivery-week-day-row>div strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:10px;
}
.delivery-route-row>div small,
.delivery-week-day-row>div small{
    display:block;
    margin-top:2px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--muted);
    font-size:8px;
}
.delivery-route-row>span,
.delivery-week-day-row>span{
    color:var(--muted);
    font-size:8px;
    white-space:nowrap;
}
.delivery-route-row>b,
.delivery-week-day-row>b{
    font-size:10px;
    white-space:nowrap;
}
.delivery-week-day-row.is-empty{
    opacity:.45;
}

@media(max-width:760px){
    .report-period-presets{
        width:100% !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:8px !important;
    }
    .report-period-presets a{
        min-height:46px !important;
        padding:8px 5px !important;
        border-radius:12px !important;
        font-size:10px !important;
        line-height:1.2 !important;
        white-space:normal !important;
    }

    .csp-period-presets{
        width:100% !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:8px !important;
    }
    .csp-period-presets button{
        min-height:46px !important;
        padding:8px 6px !important;
        border-radius:12px !important;
        font-size:10px !important;
        line-height:1.2 !important;
        white-space:normal !important;
    }
    .csp-period-presets button:first-child{
        grid-column:1 / -1;
    }

    .delivery-week-detail-card{
        padding:16px 14px;
    }
    .delivery-week-detail-head{
        display:block;
    }
    .delivery-week-nav{
        grid-template-columns:repeat(3,minmax(0,1fr));
        margin-top:13px;
    }
    .delivery-week-nav a{
        min-width:0;
        padding:0 5px;
    }
    .delivery-week-nav a span{
        display:none;
    }
    .delivery-week-summary{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .delivery-week-summary article.gain{
        grid-column:1 / -1;
    }
    .delivery-week-layout{
        grid-template-columns:minmax(0,1fr);
    }
    .delivery-route-row,
    .delivery-week-day-row{
        grid-template-columns:minmax(0,1fr) auto;
        gap:8px;
        padding:10px 2px;
    }
    .delivery-route-row>span,
    .delivery-week-day-row>span{
        grid-column:1;
        grid-row:2;
    }
    .delivery-route-row>b,
    .delivery-week-day-row>b{
        grid-column:2;
        grid-row:1 / span 2;
        align-self:center;
        font-size:11px;
    }
}


/* v5.24.70 — Mobile UX global
   Evita o auto-zoom do Safari/iPhone ao focar campos e prioriza Salvar. */
@media(max-width:760px){
    /* iOS Safari aplica zoom quando inputs têm fonte abaixo de 16px. */
    input,
    textarea,
    select,
    button,
    .modal-form input,
    .modal-form textarea,
    .modal-form select,
    .stack-form input,
    .stack-form textarea,
    .stack-form select,
    .settings-form input,
    .settings-form textarea,
    .settings-form select,
    .trader-date-filter input,
    .delivery-date-filter input{
        font-size:16px !important;
    }

    input[type="date"],
    input[type="time"],
    input[type="datetime-local"],
    input[type="number"],
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="search"],
    input[type="url"],
    input[type="tel"],
    textarea,
    select{
        min-height:48px;
        line-height:1.25;
    }

    textarea{
        line-height:1.45 !important;
    }

    /* Os rótulos continuam compactos mesmo com o campo em 16px. */
    label,
    .field-label,
    .form-label{
        font-size:12px;
    }

    /* Modal mais confortável para digitar com teclado aberto. */
    .modal-card,
    .modal-panel{
        max-height:calc(100dvh - 12px) !important;
        overflow:hidden !important;
    }
    .modal-body,
    .modal-content{
        overflow-y:auto !important;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
        padding-bottom:92px !important;
    }

    /* Barra de ações sempre acessível: Salvar fica em destaque. */
    .modal-form .form-actions,
    .modal-form .split-actions,
    .modal-form-actions{
        position:sticky !important;
        bottom:0;
        z-index:12;
        display:flex !important;
        align-items:center;
        justify-content:flex-end;
        gap:10px;
        margin:18px -2px -2px !important;
        padding:12px 2px calc(12px + env(safe-area-inset-bottom)) !important;
        background:
            linear-gradient(180deg, color-mix(in srgb,var(--surface) 0%,transparent), var(--surface) 30%);
        backdrop-filter:blur(10px);
    }

    .modal-form .form-actions .btn,
    .modal-form .split-actions .btn,
    .modal-form-actions .btn{
        min-height:48px;
        font-size:14px !important;
    }

    /* Botão principal sempre mais fácil de acertar com o polegar. */
    .modal-form .form-actions .btn-primary,
    .modal-form .split-actions .btn-primary,
    .modal-form-actions .btn-primary{
        min-width:132px;
        flex:1 1 150px;
        font-weight:900;
    }

    .modal-form .form-actions .btn-soft,
    .modal-form .split-actions .btn-soft,
    .modal-form-actions .btn-soft{
        flex:0 1 auto;
    }

    /* Formulários de página/configuração: botão Salvar mais evidente. */
    .settings-save-dock{
        bottom:max(10px, env(safe-area-inset-bottom)) !important;
        border-radius:16px !important;
        box-shadow:0 12px 34px rgba(0,0,0,.28) !important;
    }
    .settings-save-submit,
    button[type="submit"].btn-primary,
    input[type="submit"].btn-primary{
        min-height:48px;
        font-weight:900;
    }

    /* Evita scroll horizontal acidental enquanto o teclado está aberto. */
    html, body{
        max-width:100%;
        overflow-x:hidden;
    }
}

/* iPhone em orientação paisagem também não deve disparar auto-zoom. */
@supports (-webkit-touch-callout:none){
    input,
    textarea,
    select{
        font-size:16px !important;
    }
}

/* Destaque universal do botão principal de salvar nos modais. */
.modal-form .form-actions .btn-primary,
.modal-form .split-actions .btn-primary{
    box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 28%,transparent);
}


/* v5.24.71 — módulos dentro de Editar usuário */
.admin-user-modules,
.admin-user-special{
    display:grid;
    gap:10px;
    margin-top:4px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:15px;
    background:color-mix(in srgb,var(--surface-2) 72%,transparent);
}
.admin-user-modules-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
}
.admin-user-modules-head>div{
    min-width:0;
}
.admin-user-modules-head strong{
    display:block;
    font-size:11px;
}
.admin-user-modules-head small{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:9px;
    line-height:1.4;
}
.admin-user-modules-head>span{
    flex:0 0 auto;
    padding:5px 8px;
    border-radius:999px;
    background:color-mix(in srgb,var(--accent) 11%,var(--surface));
    color:var(--accent);
    font-size:8px;
    font-weight:900;
}
.admin-user-module-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.admin-user-module-row,
.admin-user-special-grid>label{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-width:0;
    padding:11px 12px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--surface);
}
.admin-user-module-row>span,
.admin-user-special-grid>label>span{
    min-width:0;
}
.admin-user-module-row strong,
.admin-user-special-grid strong{
    display:block;
    font-size:10px;
}
.admin-user-module-row small,
.admin-user-special-grid small{
    display:block;
    margin-top:2px;
    color:var(--muted);
    font-size:8px;
    line-height:1.35;
}
.admin-user-module-row input,
.admin-user-special-grid input{
    flex:0 0 auto;
    width:20px;
    height:20px;
    min-height:20px;
    accent-color:var(--accent);
}
.admin-user-special-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}

@media(max-width:760px){
    .admin-user-modules,
    .admin-user-special{
        padding:12px;
    }
    .admin-user-module-grid{
        grid-template-columns:minmax(0,1fr);
    }
    .admin-user-special-grid{
        grid-template-columns:minmax(0,1fr);
    }
    .admin-user-module-row,
    .admin-user-special-grid>label{
        min-height:58px;
        padding:10px 11px;
    }
    .admin-user-module-row input,
    .admin-user-special-grid input{
        width:24px !important;
        height:24px !important;
        min-height:24px !important;
        font-size:16px !important;
    }
}


/* v5.24.73 — cálculo visual do total das Entregas */
.delivery-total-preview{
    display:grid;
    grid-template-columns:1fr auto;
    gap:3px 12px;
    align-items:center;
    padding:12px 14px;
    border:1px solid var(--border);
    border-radius:13px;
    background:color-mix(in srgb,var(--accent) 6%,var(--surface-2));
}
.delivery-total-preview span{
    font-size:10px;
    font-weight:800;
}
.delivery-total-preview strong{
    color:#19c77a;
    font-size:17px;
}
.delivery-total-preview small{
    grid-column:1 / -1;
    color:var(--muted);
    font-size:8px;
}


/* v5.24.74 — relatório Entregas no mesmo padrão visual do CSP */
.delivery-report-card .csp-report-head{
    align-items:flex-end;
}
.delivery-mobile-report-table tbody tr[data-delivery-report-row]{
    background:color-mix(in srgb,var(--surface) 95%,#3b82f6 5%);
}
.delivery-mobile-report-table tbody tr[data-delivery-report-row]:nth-child(even){
    background:color-mix(in srgb,var(--surface-2) 48%,var(--surface));
}
.delivery-mobile-report-table tbody tr[data-delivery-report-row] .icon-btn{
    cursor:pointer;
}

@media(max-width:680px){
    .delivery-report-card{
        padding:16px 14px;
    }
    .delivery-report-card .csp-report-head{
        display:grid;
        grid-template-columns:minmax(0,1fr);
        gap:16px;
        align-items:stretch;
    }
    .delivery-report-card .csp-date-search{
        width:100%;
    }
    .delivery-report-card .csp-date-search-field{
        min-height:52px;
        border-radius:13px;
        padding:0 14px;
    }
    .delivery-report-card .csp-date-search-field input{
        width:100%;
        min-width:0;
        font-size:16px !important;
    }
    .delivery-report-card .data-table-wrap{
        overflow:visible;
        margin:0;
    }

    .delivery-mobile-report-table{
        min-width:0 !important;
        width:100% !important;
        display:block;
        border-collapse:separate;
    }
    .delivery-mobile-report-table thead{
        display:none;
    }
    .delivery-mobile-report-table tbody{
        display:grid;
        gap:12px;
    }
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row]{
        position:relative;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
        width:100%;
        min-width:0;
        padding:14px;
        border:1px solid var(--border);
        border-radius:18px;
        background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 98%,#3b82f6 2%),color-mix(in srgb,var(--surface-2) 40%,var(--surface)));
        box-shadow:0 8px 20px rgba(28,29,34,.05);
        box-sizing:border-box;
        overflow:hidden;
    }
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td{
        display:grid !important;
        gap:4px;
        min-width:0;
        width:auto !important;
        max-width:100%;
        padding:0 !important;
        border:0 !important;
        text-align:left !important;
        white-space:normal !important;
        overflow-wrap:anywhere;
        word-break:break-word;
        box-sizing:border-box;
    }
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td::before{
        display:block;
        color:var(--muted);
        font-size:8px;
        font-weight:800;
        text-transform:uppercase;
        letter-spacing:.08em;
        line-height:1.2;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(1){
        grid-column:1 / -1;
        padding-right:54px !important;
        padding-bottom:8px !important;
        margin-bottom:2px;
        border-bottom:1px solid var(--border) !important;
        font-size:18px;
        font-weight:850;
        line-height:1.1;
        letter-spacing:-.02em;
    }
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(1)::before{content:"Data";}

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(2){
        grid-column:1 / -1;
        padding:10px 12px !important;
        border-radius:14px;
        background:var(--surface);
        box-shadow:inset 0 0 0 1px var(--border);
    }
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(2)::before{content:"Descrição / origem";}
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(2) strong{
        font-size:12px;
        line-height:1.25;
    }
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(2) small{
        display:block;
        margin-top:2px;
        color:var(--muted);
        font-size:9px;
        line-height:1.35;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(3),
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(5){
        padding:10px 12px !important;
        border-radius:14px;
        background:var(--surface);
        box-shadow:inset 0 0 0 1px var(--border);
    }
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(3)::before{content:"Total de entregas";}
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(4)::before{content:"Valor / entrega";}
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(5)::before{content:"Total do dia";}
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(6)::before{content:"Dia";}
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(7)::before{content:"Status";}

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(3) strong,
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(5) strong{
        font-size:18px;
        line-height:1.1;
        letter-spacing:-.03em;
    }
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(5) strong{
        color:#19c77a;
    }
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(4),
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(6),
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(7){
        padding:2px 0 !important;
    }
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(7) .status-pill{
        width:fit-content;
        font-size:9px;
        padding:5px 9px;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(8){
        position:absolute;
        right:12px;
        top:12px;
        display:block !important;
        width:auto !important;
        padding:0 !important;
    }
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(8)::before{content:none;}
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(8) .icon-btn{
        width:40px;
        height:40px;
        min-width:40px;
        border-radius:14px;
        background:var(--surface);
        box-shadow:inset 0 0 0 1px var(--border);
    }

    .delivery-mobile-report-table tbody > tr:not([data-delivery-report-row]){
        display:block;
        padding:0;
        border:0;
        background:none;
    }
    .delivery-mobile-report-table tbody > tr:not([data-delivery-report-row]) > td{
        display:block !important;
        border:0 !important;
        padding:10px 0 !important;
        text-align:center !important;
    }
}

@media(max-width:430px){
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row]{
        padding:13px;
        gap:9px;
    }
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(1){
        font-size:16px;
        padding-right:50px !important;
    }
}


/* v5.24.75 — busca por data: hidden precisa vencer o display:grid dos cards mobile */
.delivery-mobile-report-table tbody > tr[hidden],
.delivery-mobile-report-table tbody > tr.is-filtered-out,
.csp-mobile-report-table tbody > tr[hidden],
.csp-mobile-report-table tbody > tr.is-filtered-out{
    display:none !important;
}

/* Campo de busca de data continua confortável no iPhone com teclado normal */
@media(max-width:760px){
    #deliveryDateSearch,
    #cspDateSearch{
        font-size:16px !important;
        min-height:48px;
    }
}


/* v5.24.76 — mais respiro no relatório Entregas no mobile */
@media(max-width:680px){
    .delivery-mobile-report-table tbody{
        gap:18px !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row]{
        padding:18px 16px !important;
        gap:14px 12px !important;
        border-radius:20px !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td{
        gap:6px !important;
        line-height:1.35 !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(1){
        padding-bottom:12px !important;
        margin-bottom:4px !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(2){
        padding:14px 14px !important;
        margin-top:2px !important;
        margin-bottom:2px !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(3),
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(5){
        padding:14px 14px !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(4),
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(6),
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(7){
        padding:8px 0 !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(5){
        margin-top:2px !important;
        margin-bottom:2px !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(6){
        margin-top:4px !important;
        padding-top:12px !important;
        border-top:1px solid var(--border) !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(7){
        padding-bottom:2px !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td::before{
        margin-bottom:1px;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(2) strong{
        font-size:13px !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(3) strong,
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(5) strong{
        font-size:19px !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(8){
        top:16px !important;
        right:14px !important;
    }
}

@media(max-width:430px){
    .delivery-mobile-report-table tbody{
        gap:16px !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row]{
        padding:16px 14px !important;
        gap:12px 10px !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(2),
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(3),
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(5){
        padding:12px !important;
    }
}


/* v5.24.77 — relatório Entregas mobile refeito em blocos separados */
@media(max-width:680px){
    .delivery-mobile-report-table tbody{
        gap:22px !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row]{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:14px !important;
        padding:18px !important;
        border-radius:20px !important;
        overflow:visible !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td{
        margin:0 !important;
        min-width:0 !important;
    }

    /* Data */
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(1){
        grid-column:1 / -1 !important;
        padding:0 54px 14px 0 !important;
        margin-bottom:0 !important;
        border-bottom:1px solid var(--border) !important;
    }

    /* Descrição/origem em largura total */
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(2){
        grid-column:1 / -1 !important;
        padding:14px !important;
        border:1px solid var(--border) !important;
        border-radius:14px !important;
        background:var(--surface) !important;
        box-shadow:none !important;
    }

    /* Total de entregas em largura total */
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(3){
        grid-column:1 / -1 !important;
        padding:14px !important;
        border:1px solid var(--border) !important;
        border-radius:14px !important;
        background:var(--surface) !important;
        box-shadow:none !important;
    }

    /* Valor por entrega em largura total */
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(4){
        grid-column:1 / -1 !important;
        padding:14px !important;
        border:1px solid var(--border) !important;
        border-radius:14px !important;
        background:var(--surface) !important;
    }

    /* Total do dia em largura total e destacado */
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(5){
        grid-column:1 / -1 !important;
        padding:14px !important;
        border:1px solid var(--border) !important;
        border-radius:14px !important;
        background:color-mix(in srgb,#19c77a 5%,var(--surface)) !important;
        box-shadow:none !important;
    }

    /* Dia e status em duas colunas */
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(6),
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(7){
        grid-column:auto !important;
        padding:12px !important;
        border:1px solid var(--border) !important;
        border-radius:14px !important;
        background:var(--surface-2) !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(6){
        border-top:1px solid var(--border) !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(7) .status-pill{
        margin-top:2px;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(2) strong,
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(3) strong,
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(5) strong{
        display:block;
        margin-top:2px;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(4){
        font-size:14px !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(5) strong{
        font-size:20px !important;
        color:#19c77a !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(8){
        top:16px !important;
        right:16px !important;
    }
}

@media(max-width:430px){
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row]{
        padding:15px !important;
        gap:12px !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(2),
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(3),
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(4),
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(5),
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(6),
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(7){
        padding:13px !important;
    }
}


/* v5.24.78 — espaçamento estrutural do módulo Entregas no mobile */
@media(max-width:680px){

    /* Espaço real entre Semana detalhada e Relatório */
    .delivery-week-detail-card{
        margin-bottom:28px !important;
    }

    .delivery-report-card{
        margin-top:0 !important;
        padding-top:20px !important;
    }

    .delivery-report-card .csp-report-head{
        margin-bottom:22px !important;
    }

    .delivery-report-card .csp-date-search{
        margin-top:4px !important;
        margin-bottom:6px !important;
    }

    /* Não confiar só no gap do tbody: aplica margem física entre registros */
    .delivery-mobile-report-table tbody{
        display:block !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row]{
        display:grid !important;
        width:100% !important;
        margin:0 0 24px 0 !important;
        box-sizing:border-box !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row]:last-of-type{
        margin-bottom:0 !important;
    }

    /* Respiro maior no cabeçalho/data de cada lançamento */
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(1){
        padding-top:2px !important;
        padding-bottom:16px !important;
        margin-bottom:4px !important;
    }

    /* Espaço entre os blocos internos */
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(2),
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(3),
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(4),
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(5){
        margin-top:2px !important;
        margin-bottom:2px !important;
    }

    /* Dia/status destacados do total */
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(6),
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row] > td:nth-child(7){
        margin-top:4px !important;
    }

    /* Evita que bordas de cards consecutivos pareçam uma só */
    .delivery-mobile-report-table tbody > tr[data-delivery-report-row]{
        box-shadow:0 10px 28px rgba(0,0,0,.10) !important;
    }

    /* Mais espaço no final da lista para não encostar no próximo bloco */
    .delivery-report-card .data-table-wrap{
        padding-bottom:4px !important;
    }

    /* Semana detalhada: respiro entre resumo, rotas e dia-a-dia */
    .delivery-week-summary{
        margin-bottom:18px !important;
        gap:12px !important;
    }

    .delivery-week-layout{
        gap:18px !important;
    }

    .delivery-week-routes,
    .delivery-week-days{
        padding:15px !important;
    }

    .delivery-route-row,
    .delivery-week-day-row{
        padding-top:13px !important;
        padding-bottom:13px !important;
    }

    .delivery-week-detail-head{
        margin-bottom:18px !important;
    }

    .delivery-week-nav{
        margin-top:15px !important;
        margin-bottom:4px !important;
    }
}

@media(max-width:430px){
    .delivery-week-detail-card{
        margin-bottom:24px !important;
    }

    .delivery-mobile-report-table tbody > tr[data-delivery-report-row]{
        margin-bottom:22px !important;
    }

    .delivery-report-card .csp-report-head{
        margin-bottom:20px !important;
    }
}


/* v5.24.79 — campo de busca Entregas aceita data + descrição/origem */
#deliveryDateSearch::placeholder{
    opacity:.72;
}


/* v5.24.82 — compartilhamento Entregas mobile */
.delivery-share-create{
    width:100%;
    min-height:48px;
}
.delivery-share-copy-row{
    display:flex;
    gap:8px;
    min-width:0;
}
.delivery-share-copy-row input{
    flex:1 1 auto;
    min-width:0;
}
@media(max-width:760px){
    .delivery-share-box{
        gap:10px !important;
        padding:14px !important;
    }
    .delivery-share-copy-row{
        flex-direction:column;
    }
    .delivery-share-copy-row .btn{
        width:100%;
    }
    .delivery-share-box .btn-danger{
        width:100%;
        min-height:44px;
    }
}


/* v5.24.83 — FIX definitivo da pesquisa Entregas no mobile.
   Esta regra precisa ficar no fim do CSS para vencer os display:grid !important
   usados pelos cards responsivos. */
html body .delivery-report-card .delivery-mobile-report-table tbody > tr[data-delivery-report-row][hidden],
html body .delivery-report-card .delivery-mobile-report-table tbody > tr[data-delivery-report-row].is-filtered-out{
    display:none !important;
    visibility:hidden !important;
}

/* O aviso de nenhum resultado também respeita hidden. */
html body .delivery-report-card .delivery-search-empty[hidden]{
    display:none !important;
}


/* v5.24.86 — lembrar login */
.auth-remember{
    display:flex !important;
    align-items:flex-start;
    gap:10px;
    padding:11px 12px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--surface-2);
    cursor:pointer;
}
.auth-remember input{
    width:18px;
    height:18px;
    min-height:18px;
    margin:1px 0 0;
    flex:0 0 18px;
    accent-color:var(--accent);
}
.auth-remember span{
    display:grid;
    gap:2px;
}
.auth-remember strong{
    font-size:10px;
}
.auth-remember small{
    color:var(--muted);
    font-size:8px;
    line-height:1.4;
}

/* v5.24.86 — comentários visíveis no relatório CSP */
.csp-report-date{
    display:block;
}
.csp-report-comment{
    display:grid;
    gap:3px;
    margin-top:8px;
    padding:8px 9px;
    border:1px solid var(--border);
    border-radius:9px;
    background:var(--surface-2);
    text-align:left;
    white-space:normal;
}
.csp-report-comment small{
    color:var(--muted);
    font-size:7px;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.csp-report-comment span{
    color:var(--text);
    font-size:9px;
    line-height:1.45;
    overflow-wrap:anywhere;
}

@media(max-width:760px){
    .auth-remember input{
        width:22px !important;
        height:22px !important;
        min-height:22px !important;
        flex-basis:22px;
    }
    .auth-remember strong{font-size:13px}
    .auth-remember small{font-size:10px}

    .csp-mobile-report-table .csp-report-comment{
        grid-column:1 / -1;
        margin-top:10px;
        padding:10px 11px;
        border-radius:11px;
    }
    .csp-mobile-report-table .csp-report-comment small{
        font-size:8px;
    }
    .csp-mobile-report-table .csp-report-comment span{
        font-size:11px;
    }
}


/* v5.24.88 — Módulo Office / ONLYOFFICE */
.office-main-toolbar{
    align-items:flex-end;
    gap:18px;
}
.office-main-toolbar>div:first-child h2{
    margin:5px 0 4px;
}
.office-main-toolbar>div:first-child p{
    margin:0;
    color:var(--muted);
    font-size:10px;
}
.office-toolbar-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:8px;
}
.office-create-word{
    background:#2563eb;
    color:#fff;
    border-color:#2563eb;
}
.office-create-sheet{
    background:#16a34a;
    color:#fff;
    border-color:#16a34a;
}
.office-create-slide{
    background:#ea580c;
    color:#fff;
    border-color:#ea580c;
}
.office-setup-warning{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    padding:16px 18px;
    margin-bottom:16px;
}
.office-warning-icon{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:13px;
    background:color-mix(in srgb,#f59e0b 14%,var(--surface));
    color:#f59e0b;
    font-weight:950;
    font-size:18px;
}
.office-setup-warning strong{
    display:block;
    font-size:11px;
}
.office-setup-warning p{
    margin:4px 0 0;
    color:var(--muted);
    font-size:9px;
    line-height:1.5;
}
.office-overview-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-bottom:16px;
}
.office-library-card .card-head{
    align-items:flex-end;
}
.office-search{
    display:flex;
    align-items:center;
    gap:8px;
    width:min(300px,100%);
    padding:0 11px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--surface-2);
    color:var(--muted);
}
.office-search input{
    width:100%;
    min-width:0;
    border:0;
    background:transparent;
    box-shadow:none;
    padding:10px 0;
}
.office-search input:focus{
    border:0;
    box-shadow:none;
}
.office-document-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.office-document-card{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:12px;
    align-items:start;
    padding:15px;
    border:1px solid var(--border);
    border-radius:17px;
    background:var(--surface-2);
}
.office-document-card[hidden]{
    display:none!important;
}
.office-file-type{
    display:grid;
    place-items:center;
    width:46px;
    height:52px;
    border-radius:12px;
    color:#fff;
    background:#2563eb;
    font-size:18px;
    font-weight:950;
    box-shadow:0 8px 20px rgba(37,99,235,.2);
}
.office-file-type.is-xlsx{
    background:#16a34a;
    box-shadow:0 8px 20px rgba(22,163,74,.18);
}
.office-file-type.is-pptx{
    background:#ea580c;
    box-shadow:0 8px 20px rgba(234,88,12,.18);
}
.office-document-info{
    min-width:0;
}
.office-document-info strong{
    display:block;
    font-size:12px;
    overflow-wrap:anywhere;
}
.office-document-info small,
.office-document-info span{
    display:block;
    margin-top:4px;
    color:var(--muted);
    font-size:8px;
    line-height:1.35;
    overflow-wrap:anywhere;
}
.office-document-actions{
    grid-column:1 / -1;
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:7px;
    padding-top:10px;
    border-top:1px solid var(--border);
}
.office-empty{
    grid-column:1 / -1;
}
.office-editor-card{
    padding:0;
    overflow:hidden;
}
.office-editor-head{
    display:flex;
    align-items:center;
    gap:12px;
    padding:13px 15px;
    border-bottom:1px solid var(--border);
    background:var(--surface);
}
.office-editor-head .office-file-type{
    width:36px;
    height:40px;
    font-size:14px;
}
.office-editor-head>div:last-child{
    min-width:0;
}
.office-editor-head strong{
    display:block;
    font-size:11px;
    overflow-wrap:anywhere;
}
.office-editor-head small{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:8px;
}
.office-editor-frame{
    display:block;
    width:100%;
    height:calc(100dvh - 205px);
    min-height:620px;
    border:0;
    background:#f3f4f6;
}
.office-editor-unavailable{
    min-height:420px;
    display:grid;
    place-items:center;
    align-content:center;
    text-align:center;
    padding:30px;
}
.office-editor-unavailable p{
    color:var(--muted);
}
.onlyoffice-status{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border:1px solid var(--border);
    border-radius:999px;
    color:var(--muted);
    font-size:8px;
    font-weight:850;
}
.onlyoffice-status.is-active{
    color:#16a34a;
    border-color:color-mix(in srgb,#16a34a 30%,var(--border));
    background:color-mix(in srgb,#16a34a 7%,var(--surface));
}
.onlyoffice-admin-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.office-search-empty{
    grid-column:1 / -1;
}

@media(max-width:900px){
    .office-overview-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .office-document-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:760px){
    .office-main-toolbar{
        display:grid;
        grid-template-columns:1fr;
        align-items:stretch;
    }
    .office-toolbar-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
        justify-content:stretch;
    }
    .office-toolbar-actions .btn,
    .office-toolbar-actions a{
        width:100%;
        min-height:46px;
        justify-content:center;
    }
    .office-toolbar-actions .btn:first-child,
    .office-toolbar-actions a:first-child{
        grid-column:1 / -1;
    }
    .office-setup-warning{
        grid-template-columns:auto minmax(0,1fr);
    }
    .office-setup-warning .btn{
        grid-column:1 / -1;
        width:100%;
    }
    .office-library-card .card-head{
        display:grid;
        grid-template-columns:1fr;
        align-items:stretch;
        gap:13px;
    }
    .office-search{
        width:100%;
    }
    .office-overview-grid{
        grid-template-columns:1fr 1fr;
    }
    .office-document-card{
        padding:14px;
    }
    .office-document-actions{
        display:grid;
        grid-template-columns:1fr 1fr auto;
        align-items:center;
    }
    .office-document-actions .btn{
        width:100%;
        min-width:0;
    }
    .office-editor-frame{
        height:calc(100dvh - 185px);
        min-height:560px;
    }
    .onlyoffice-admin-actions{
        display:grid;
        grid-template-columns:1fr;
    }
    .onlyoffice-admin-actions .btn{
        width:100%;
    }
}

@media(max-width:430px){
    .office-toolbar-actions{
        grid-template-columns:1fr;
    }
    .office-toolbar-actions .btn,
    .office-toolbar-actions a{
        grid-column:auto!important;
    }
    .office-overview-grid{
        grid-template-columns:1fr 1fr;
        gap:9px;
    }
    .office-document-actions{
        grid-template-columns:1fr 1fr;
    }
    .office-document-actions .icon-btn{
        grid-column:1 / -1;
        justify-self:end;
    }
}


/* v5.24.89 — arrastar e soltar arquivos no módulo Office */
.office-library-card{
    position:relative;
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.office-drop-hint{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:76px;
    margin:0 0 14px;
    padding:13px 16px;
    border:1.5px dashed color-mix(in srgb,var(--accent) 38%,var(--border));
    border-radius:15px;
    background:color-mix(in srgb,var(--accent) 4%,var(--surface-2));
    text-align:left;
}
.office-drop-icon{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    flex:0 0 38px;
    border-radius:12px;
    background:color-mix(in srgb,var(--accent) 12%,var(--surface));
    color:var(--accent);
    font-size:22px;
    font-weight:900;
}
.office-drop-hint strong{
    display:block;
    font-size:10px;
}
.office-drop-hint small{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:8px;
    line-height:1.4;
}
.office-drop-overlay{
    position:absolute;
    inset:0;
    z-index:20;
    place-items:center;
    padding:20px;
    border:2px dashed var(--accent);
    border-radius:inherit;
    background:color-mix(in srgb,var(--surface) 88%,var(--accent) 12%);
    backdrop-filter:blur(5px);
}
.office-drop-overlay:not([hidden]){
    display:grid;
}
.office-drop-overlay>div{
    display:grid;
    justify-items:center;
    gap:7px;
    text-align:center;
}
.office-drop-overlay span{
    display:grid;
    place-items:center;
    width:64px;
    height:64px;
    border-radius:20px;
    background:var(--accent);
    color:#fff;
    font-size:34px;
    box-shadow:0 12px 35px color-mix(in srgb,var(--accent) 30%,transparent);
}
.office-drop-overlay strong{
    font-size:18px;
}
.office-drop-overlay small{
    color:var(--muted);
    font-size:10px;
}
.office-library-card.is-dragging{
    border-color:var(--accent)!important;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent),var(--shadow);
}
.office-library-card.is-uploading{
    cursor:progress;
}
.office-library-card.is-uploading .office-drop-hint{
    opacity:.62;
}

@media(max-width:760px){
    .office-drop-hint{
        min-height:66px;
        justify-content:flex-start;
        padding:12px;
    }
    .office-drop-hint small{
        font-size:9px;
    }
    .office-drop-overlay strong{
        font-size:16px;
    }
}


/* v5.24.90 — Atualizador com Drag & Drop + retenção de 5 rollbacks */
.update-drop-zone{
    position:relative;
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:14px;
    min-height:106px;
    padding:18px;
    border:2px dashed color-mix(in srgb,var(--accent) 34%,var(--border));
    border-radius:16px;
    background:color-mix(in srgb,var(--accent) 3%,var(--surface-2));
    cursor:pointer;
    text-align:left;
    transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease;
}
.update-drop-input{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
}
.update-drop-icon{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    flex:0 0 48px;
    border-radius:14px;
    background:color-mix(in srgb,var(--accent) 13%,var(--surface));
    color:var(--accent);
    font-size:26px;
    font-weight:950;
}
.update-drop-copy strong{
    display:block;
    font-size:11px;
}
.update-drop-copy small{
    display:block;
    margin-top:4px;
    color:var(--muted);
    font-size:9px;
    line-height:1.4;
    overflow-wrap:anywhere;
}
.update-drop-zone:hover,
.update-drop-zone.is-dragging{
    border-color:var(--accent);
    background:color-mix(in srgb,var(--accent) 8%,var(--surface));
    box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent);
}
.update-drop-zone.is-dragging{
    transform:scale(1.005);
}
.update-drop-zone.has-file{
    border-style:solid;
    border-color:color-mix(in srgb,#16a34a 55%,var(--border));
    background:color-mix(in srgb,#16a34a 6%,var(--surface));
}
.update-drop-zone.has-file .update-drop-icon{
    background:color-mix(in srgb,#16a34a 14%,var(--surface));
    color:#16a34a;
}
.update-retention-info{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin:14px 0 8px;
    padding:10px 12px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--surface-2);
}
.update-retention-info strong{
    font-size:9px;
}
.update-retention-info small{
    color:var(--muted);
    font-size:8px;
    text-align:right;
}

@media(max-width:680px){
    .update-drop-zone{
        min-height:118px;
        justify-content:flex-start;
        padding:16px;
    }
    .update-drop-copy strong{
        font-size:12px;
    }
    .update-drop-copy small{
        font-size:10px;
    }
    .update-retention-info{
        align-items:flex-start;
        flex-direction:column;
    }
    .update-retention-info small{
        text-align:left;
        font-size:9px;
    }
}


/* v5.24.91 — Office avançado: pastas, lixeira, versões e compartilhamento */
.office-view-tabs{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-bottom:14px;
    padding:6px;
    border:1px solid var(--border);
    border-radius:15px;
    background:var(--surface);
}
.office-view-tabs a{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:42px;
    padding:0 12px;
    border-radius:11px;
    color:var(--muted);
    text-decoration:none;
    font-size:9px;
    font-weight:800;
}
.office-view-tabs a span{
    display:inline-flex;
    align-items:center;
    min-height:22px;
    padding:0 8px;
    border-radius:999px;
    background:var(--surface-2);
    font-size:8px;
}
.office-view-tabs a.active{
    background:var(--accent);
    color:#fff;
}
.office-view-tabs a.active span{
    background:rgba(255,255,255,.14);
    color:#fff;
}
.office-folder-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
    padding:10px 12px;
    border:1px solid var(--border);
    border-radius:13px;
    background:var(--surface);
}
.office-breadcrumb{
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0;
    flex-wrap:wrap;
}
.office-breadcrumb a{
    color:var(--text);
    text-decoration:none;
    font-size:9px;
    font-weight:750;
}
.office-breadcrumb span{
    color:var(--muted);
    font-size:10px;
}
.office-folder-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-bottom:14px;
}
.office-folder-card{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    min-width:0;
    padding:12px 13px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--surface-2);
    color:var(--text);
    text-decoration:none;
    transition:border-color .15s ease,transform .15s ease,background .15s ease;
}
.office-folder-card:hover{
    border-color:color-mix(in srgb,var(--accent) 45%,var(--border));
    background:color-mix(in srgb,var(--accent) 4%,var(--surface-2));
    transform:translateY(-1px);
}
.office-folder-icon{
    font-size:22px;
}
.office-folder-card strong,
.office-folder-card small{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.office-folder-card strong{font-size:10px}
.office-folder-card small{margin-top:3px;color:var(--muted);font-size:8px}
.office-library-static .office-document-grid{
    margin-top:4px;
}
.office-document-actions .btn-danger{
    color:#fff;
}
.office-version-list,
.office-share-list{
    display:grid;
    gap:8px;
}
.office-version-row,
.office-share-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:11px 12px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--surface-2);
}
.office-version-row strong,
.office-share-row strong{
    display:block;
    font-size:10px;
}
.office-version-row small,
.office-share-row small{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:8px;
}
.office-share-list-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding-bottom:4px;
}
.office-share-list-head strong{font-size:10px}
.office-share-list-head small{color:var(--muted);font-size:8px}
.empty-card.compact{
    min-height:120px;
    padding:18px;
}
.empty-card.compact strong{
    font-size:11px;
}
.empty-card.compact p{
    margin:5px 0 0;
    color:var(--muted);
    font-size:9px;
}

@media(max-width:900px){
    .office-folder-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:760px){
    .office-view-tabs{
        grid-template-columns:1fr;
    }
    .office-view-tabs a{
        justify-content:space-between;
        min-height:46px;
        font-size:12px;
    }
    .office-folder-bar{
        align-items:flex-start;
        flex-direction:column;
    }
    .office-folder-bar .btn{
        width:100%;
    }
    .office-folder-grid{
        grid-template-columns:1fr;
    }
    .office-folder-card{
        min-height:62px;
        padding:13px;
    }
    .office-folder-card strong{font-size:12px}
    .office-folder-card small{font-size:10px}
    .office-version-row,
    .office-share-row{
        align-items:stretch;
        flex-direction:column;
    }
    .office-version-row .btn,
    .office-share-row .btn{
        width:100%;
    }
}

@media(max-width:760px){
    .office-document-actions{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:8px!important;
    }
    .office-document-actions .btn{
        width:100%!important;
        min-width:0!important;
        justify-content:center!important;
    }
}
@media(max-width:420px){
    .office-document-actions{
        grid-template-columns:1fr!important;
    }
}


/* v5.24.92 — documentos compartilhados não podem ser baixados */
.office-shared-no-download{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 10px;
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--surface-2);
    color:var(--muted);
    font-size:8px;
    font-weight:800;
    cursor:not-allowed;
}
@media(max-width:760px){
    .office-shared-no-download{
        min-height:42px;
        width:100%;
        font-size:10px;
    }
}


/* v5.24.93 — lixeira Office com retenção automática de 15 dias */
.office-trash-retention{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 14px;
    padding:12px 14px;
    border:1px solid color-mix(in srgb,#ef4444 28%,var(--border));
    border-radius:13px;
    background:color-mix(in srgb,#ef4444 5%,var(--surface-2));
}
.office-trash-retention>span{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    flex:0 0 38px;
    border-radius:11px;
    background:color-mix(in srgb,#ef4444 12%,var(--surface));
    font-size:18px;
}
.office-trash-retention strong{
    display:block;
    font-size:10px;
}
.office-trash-retention small{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:8px;
    line-height:1.45;
}
.office-trash-expiry{
    color:#ef4444!important;
    font-weight:750;
}
@media(max-width:760px){
    .office-trash-retention{
        align-items:flex-start;
    }
    .office-trash-retention strong{
        font-size:12px;
    }
    .office-trash-retention small{
        font-size:10px;
    }
}


/* v5.24.94 — sincronização automática do módulo Office */
html.office-is-syncing .office-library-card,
html.office-is-syncing .office-view-tabs,
html.office-is-syncing .office-overview-grid,
html.office-is-syncing .office-folder-bar{
    pointer-events:none;
}
html.office-is-syncing .office-library-card{
    position:relative;
}
html.office-is-syncing .office-library-card::after{
    content:"Atualizando…";
    position:absolute;
    top:12px;
    right:12px;
    z-index:30;
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 11px;
    border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));
    border-radius:999px;
    background:color-mix(in srgb,var(--accent) 10%,var(--surface));
    color:var(--accent);
    font-size:8px;
    font-weight:850;
    box-shadow:var(--shadow);
}
@media(max-width:760px){
    html.office-is-syncing .office-library-card::after{
        top:8px;
        right:8px;
        min-height:28px;
        font-size:9px;
    }
}


/* v5.24.95 — arrastar documentos entre pastas do Office */
.office-document-card[data-office-drag-document]{
    cursor:grab;
    transition:opacity .16s ease,transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.office-document-card[data-office-drag-document]:active{
    cursor:grabbing;
}
.office-document-card.is-office-document-dragging{
    opacity:.48;
    transform:scale(.985);
    border-color:var(--accent);
}
.office-document-drag-help{
    display:inline-flex!important;
    align-items:center;
    gap:5px;
    margin-top:5px!important;
    color:color-mix(in srgb,var(--accent) 70%,var(--muted))!important;
    font-size:7px!important;
    font-weight:750;
}
.office-folder-drop-label{
    display:none!important;
    color:var(--accent)!important;
    font-weight:800;
}
html.office-document-drag-active .office-folder-card[data-office-folder-drop],
html.office-document-drag-active .office-breadcrumb a[data-office-folder-drop],
html.office-document-drag-active [data-office-folder-drop].btn{
    outline:1px dashed color-mix(in srgb,var(--accent) 55%,var(--border));
    outline-offset:2px;
}
html.office-document-drag-active .office-folder-card .office-folder-default-label{
    display:none!important;
}
html.office-document-drag-active .office-folder-card .office-folder-drop-label{
    display:block!important;
}
[data-office-folder-drop].is-office-drop-target{
    border-color:var(--accent)!important;
    outline:2px solid color-mix(in srgb,var(--accent) 32%,transparent)!important;
    outline-offset:2px;
    background:color-mix(in srgb,var(--accent) 10%,var(--surface-2))!important;
    box-shadow:0 8px 28px color-mix(in srgb,var(--accent) 12%,transparent);
}
[data-office-folder-drop].is-office-moving{
    pointer-events:none;
    opacity:.72;
}
.office-root-drop-zone{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    margin:0 0 12px;
    padding:12px 14px;
    border:1.5px dashed color-mix(in srgb,var(--accent) 35%,var(--border));
    border-radius:14px;
    background:color-mix(in srgb,var(--accent) 4%,var(--surface-2));
    transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.office-root-drop-icon{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:11px;
    background:color-mix(in srgb,var(--accent) 12%,var(--surface));
    color:var(--accent);
    font-size:19px;
    font-weight:900;
}
.office-root-drop-zone strong{
    display:block;
    font-size:10px;
}
.office-root-drop-zone small{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:8px;
    line-height:1.4;
}
.office-root-drop-action{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    background:var(--surface);
    color:var(--muted);
    font-size:8px;
    font-weight:800;
}
html.office-document-drag-active .office-root-drop-zone{
    border-color:var(--accent);
    background:color-mix(in srgb,var(--accent) 8%,var(--surface-2));
}
.office-root-drop-zone.is-office-drop-target{
    transform:translateY(-1px);
}
.office-breadcrumb a[data-office-folder-drop].is-office-drop-target{
    border-radius:7px;
    color:var(--accent);
}
@media(max-width:760px){
    .office-document-drag-help{
        font-size:9px!important;
    }
    .office-root-drop-zone{
        grid-template-columns:auto minmax(0,1fr);
        padding:12px;
    }
    .office-root-drop-zone strong{
        font-size:12px;
    }
    .office-root-drop-zone small{
        font-size:10px;
    }
    .office-root-drop-action{
        grid-column:1/-1;
        justify-content:center;
        width:100%;
        min-height:36px;
        font-size:10px;
    }
}


/* v5.24.97 — Office: editor mobile em modo focado */
.office-editor-head{
    justify-content:space-between;
}
.office-editor-file-summary{
    display:flex;
    align-items:center;
    gap:11px;
    min-width:0;
}
.office-editor-file-copy{
    min-width:0;
}
.office-editor-file-copy strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.office-editor-file-copy small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.office-editor-head-actions{
    display:flex;
    align-items:center;
    gap:7px;
    flex:0 0 auto;
}
.office-editor-head-actions .btn{
    white-space:nowrap;
}
.office-editor-card.is-office-focus-mode{
    position:fixed;
    inset:0;
    z-index:1000;
    display:flex;
    flex-direction:column;
    width:100vw;
    height:100dvh;
    max-width:none;
    margin:0!important;
    padding:0!important;
    border:0;
    border-radius:0;
    background:var(--bg);
    box-shadow:none;
}
.office-editor-card.is-office-focus-mode .office-editor-head{
    flex:0 0 auto;
}
.office-editor-card.is-office-focus-mode .office-editor-frame{
    flex:1 1 auto;
    width:100%;
    height:auto!important;
    min-height:0!important;
}
html.office-editor-focus-active,
body.office-editor-focus-active{
    overflow:hidden!important;
    overscroll-behavior:none;
}

@media(max-width:760px){
    .office-editor-card{
        margin-inline:-14px;
        border-radius:12px;
    }
    .office-editor-head{
        min-height:58px;
        padding:8px 10px;
        gap:8px;
    }
    .office-editor-file-summary{
        gap:8px;
        flex:1 1 auto;
        min-width:0;
    }
    .office-editor-head .office-file-type{
        width:34px;
        height:36px;
        flex:0 0 34px;
        border-radius:9px;
        font-size:13px;
    }
    .office-editor-file-copy strong{
        font-size:10px;
    }
    .office-editor-file-copy small{
        max-width:42vw;
        font-size:7px;
    }
    .office-editor-head-actions{
        gap:5px;
    }
    .office-editor-head-actions .btn{
        min-height:34px;
        padding:0 8px;
        font-size:8px;
    }
    .office-editor-back-inline{
        display:none!important;
    }
    .office-editor-frame{
        width:100%;
        height:calc(100dvh - 142px);
        min-height:620px;
    }

    .office-editor-card.is-office-focus-mode{
        padding-top:env(safe-area-inset-top)!important;
        padding-bottom:env(safe-area-inset-bottom)!important;
    }
    .office-editor-card.is-office-focus-mode .office-editor-head{
        min-height:50px;
        padding:6px 8px;
        background:var(--surface);
    }
    .office-editor-card.is-office-focus-mode .office-editor-file-copy small{
        display:none;
    }
    .office-editor-card.is-office-focus-mode .office-editor-back-inline{
        display:inline-flex!important;
    }
    .office-editor-card.is-office-focus-mode .office-editor-head-actions .btn{
        min-height:34px;
        padding-inline:8px;
    }
    .office-editor-card.is-office-focus-mode .office-editor-frame{
        height:auto!important;
        min-height:0!important;
    }
}

@media(max-width:390px){
    .office-editor-card.is-office-focus-mode .office-editor-file-type{
        display:none;
    }
    .office-editor-card.is-office-focus-mode .office-editor-file-copy strong{
        max-width:34vw;
    }
    .office-editor-card.is-office-focus-mode .office-editor-head-actions .btn{
        padding-inline:7px;
        font-size:7.5px;
    }
}


/* v5.24.98 — Preços + Assinatura PRO Mercado Pago */
.landing-nav-link.is-active{
    color:var(--accent);
}
.pricing-main{
    width:min(1180px,calc(100% - 40px));
    margin:0 auto;
    padding:85px 0 90px;
}
.pricing-hero{
    max-width:820px;
    margin:0 auto 42px;
    text-align:center;
}
.pricing-hero h1{
    margin:18px 0 16px;
    font-size:clamp(42px,6vw,72px);
    line-height:.98;
    letter-spacing:-3.5px;
}
.pricing-hero h1 em{
    color:var(--accent);
    font-style:normal;
}
.pricing-hero>p{
    max-width:720px;
    margin:0 auto;
    color:var(--muted);
    font-size:14px;
    line-height:1.75;
}
.pricing-trust{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px 18px;
    margin-top:21px;
    color:var(--muted);
    font-size:10px;
    font-weight:750;
}
.pricing-notice{
    max-width:860px;
    margin:0 auto 20px;
    padding:13px 15px;
    border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));
    border-radius:13px;
    background:color-mix(in srgb,var(--accent) 7%,var(--surface));
    color:var(--text);
    font-size:10px;
}
.pricing-cards{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    max-width:960px;
    margin:0 auto 85px;
}
.pricing-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:540px;
    padding:30px;
    border:1px solid var(--border);
    border-radius:25px;
    background:var(--surface);
    box-shadow:var(--shadow);
}
.pricing-pro-card{
    border-color:color-mix(in srgb,var(--accent) 42%,var(--border));
    box-shadow:0 24px 65px color-mix(in srgb,var(--accent) 14%,transparent);
}
.pricing-popular{
    position:absolute;
    top:18px;
    right:20px;
    padding:7px 10px;
    border-radius:999px;
    background:color-mix(in srgb,var(--accent) 12%,var(--surface));
    color:var(--accent);
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}
.pricing-plan-head>span{
    color:var(--accent);
    font-size:9px;
    font-weight:900;
    letter-spacing:.12em;
}
.pricing-plan-head h2{
    margin:15px 0 3px;
    font-size:48px;
    letter-spacing:-2px;
}
.pricing-plan-head h2 small{
    font-size:18px;
}
.pricing-plan-head>small{
    color:var(--muted);
    font-size:9px;
}
.pricing-card ul{
    display:grid;
    gap:14px;
    margin:28px 0 30px;
    padding:0;
    list-style:none;
}
.pricing-card li{
    display:flex;
    gap:10px;
    color:var(--text);
    font-size:11px;
    line-height:1.55;
}
.pricing-card li>b{
    color:var(--green);
}
.pricing-card-button{
    width:100%;
    min-height:48px;
    margin-top:auto;
    justify-content:center;
}
.pricing-secondary-link{
    margin-top:12px;
    color:var(--accent);
    text-align:center;
    text-decoration:none;
    font-size:9px;
    font-weight:800;
}
.pricing-recurring-note,
.pricing-config-warning{
    display:block;
    margin-top:12px;
    color:var(--muted);
    font-size:8px;
    line-height:1.55;
    text-align:center;
}
.pricing-current-plan{
    display:grid;
    gap:4px;
    margin:auto 0 12px;
    padding:12px 13px;
    border:1px solid var(--border);
    border-radius:13px;
    background:var(--surface-2);
}
.pricing-current-plan.success{
    border-color:color-mix(in srgb,var(--green) 30%,var(--border));
    background:color-mix(in srgb,var(--green) 6%,var(--surface));
}
.pricing-current-plan.pending{
    border-color:color-mix(in srgb,#e59b00 35%,var(--border));
}
.pricing-current-plan strong{font-size:11px}
.pricing-current-plan span,.pricing-current-plan small{color:var(--muted);font-size:8px}
.pricing-comparison{
    margin-bottom:65px;
}
.pricing-table-wrap{
    overflow:auto;
    border:1px solid var(--border);
    border-radius:20px;
    background:var(--surface);
    box-shadow:var(--shadow);
}
.pricing-table{
    width:100%;
    min-width:650px;
    border-collapse:collapse;
}
.pricing-table th,
.pricing-table td{
    padding:17px 20px;
    border-bottom:1px solid var(--border);
    text-align:left;
    font-size:10px;
}
.pricing-table th{
    color:var(--muted);
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.pricing-table th:nth-child(n+2),
.pricing-table td:nth-child(n+2){
    text-align:center;
}
.pricing-table tbody tr:last-child td{border-bottom:0}
.pricing-table td:last-child strong{color:var(--accent)}
.pricing-faq{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.pricing-faq article{
    padding:20px;
    border:1px solid var(--border);
    border-radius:17px;
    background:var(--surface);
}
.pricing-faq strong{font-size:11px}
.pricing-faq p{margin:8px 0 0;color:var(--muted);font-size:9px;line-height:1.65}

.mercadopago-settings-card{
    border-color:color-mix(in srgb,#009ee3 24%,var(--border));
}
.mercadopago-webhook-box{
    display:grid;
    gap:5px;
    padding:11px 12px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--surface-2);
}
.mercadopago-webhook-box strong{font-size:9px}
.mercadopago-webhook-box code{
    overflow-wrap:anywhere;
    color:var(--accent);
    font-size:8px;
}
.mercadopago-webhook-box small{
    color:var(--muted);
    font-size:8px;
    line-height:1.5;
}
.mercadopago-test-form{
    margin-top:10px;
}

@media(max-width:760px){
    .landing-nav-link.landing-pricing-link{display:inline-flex}
    .pricing-main{
        width:min(100% - 24px,1180px);
        padding-top:58px;
    }
    .pricing-hero h1{
        font-size:42px;
        letter-spacing:-2.2px;
    }
    .pricing-hero>p{font-size:12px}
    .pricing-cards{grid-template-columns:1fr;margin-bottom:60px}
    .pricing-card{min-height:0;padding:23px}
    .pricing-plan-head h2{font-size:42px}
    .pricing-faq{grid-template-columns:1fr}
}
@media(max-width:430px){
    .landing-pricing-link{
        font-size:9px!important;
    }
    .pricing-main{padding-top:45px}
    .pricing-hero h1{font-size:36px}
    .pricing-trust{display:grid}
}


/* v5.24.99 — Mercado Pago dentro de Configurações > Administração */
.admin-settings-overview{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,1.2fr);
    gap:18px;
    align-items:center;
    margin-bottom:16px;
    padding:20px;
    border:1px solid var(--border);
    border-radius:18px;
    background:var(--surface);
}
.admin-settings-overview h2{
    margin:7px 0 5px;
    font-size:20px;
}
.admin-settings-overview p{
    margin:0;
    color:var(--muted);
    font-size:9px;
}
.admin-settings-shortcuts{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}
.admin-settings-shortcuts a{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    column-gap:8px;
    align-items:center;
    min-height:58px;
    padding:10px 11px;
    border:1px solid var(--border);
    border-radius:13px;
    background:var(--surface-2);
    color:var(--text);
    text-decoration:none;
    transition:border-color .15s ease,transform .15s ease,background .15s ease;
}
.admin-settings-shortcuts a:hover{
    border-color:color-mix(in srgb,var(--accent) 35%,var(--border));
    background:color-mix(in srgb,var(--accent) 5%,var(--surface-2));
    transform:translateY(-1px);
}
.admin-settings-shortcuts a>span{
    grid-row:1/3;
    font-size:18px;
}
.admin-settings-shortcuts strong{
    font-size:9px;
}
.admin-settings-shortcuts small{
    color:var(--muted);
    font-size:7px;
}
#admin-mercadopago,
#admin-onlyoffice,
#admin-users{
    scroll-margin-top:90px;
}
.mercadopago-settings-card{
    box-shadow:0 14px 45px color-mix(in srgb,#009ee3 7%,transparent);
}
.mercadopago-admin-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin:14px 0 10px;
}
.mercadopago-admin-summary article{
    display:grid;
    gap:4px;
    min-height:66px;
    padding:11px 12px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--surface-2);
}
.mercadopago-admin-summary small{
    color:var(--muted);
    font-size:7px;
}
.mercadopago-admin-summary strong{
    font-size:9px;
    overflow-wrap:anywhere;
}
.mercadopago-admin-summary strong.is-ready{
    color:#16a34a;
}
.mercadopago-admin-summary strong.is-pending{
    color:#e59b00;
}
.mercadopago-admin-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:14px;
}
.mercadopago-form-heading{
    display:grid;
    gap:3px;
    padding-bottom:5px;
}
.mercadopago-form-heading strong{
    font-size:10px;
}
.mercadopago-form-heading small{
    color:var(--muted);
    font-size:8px;
}

@media(max-width:900px){
    .admin-settings-overview{
        grid-template-columns:1fr;
    }
}
@media(max-width:760px){
    .admin-settings-overview{
        padding:14px;
    }
    .admin-settings-shortcuts{
        grid-template-columns:1fr;
    }
    .admin-settings-shortcuts a{
        min-height:54px;
    }
    .mercadopago-admin-summary{
        grid-template-columns:1fr 1fr;
    }
    .mercadopago-admin-actions{
        display:grid;
        grid-template-columns:1fr;
    }
    .mercadopago-admin-actions .btn{
        width:100%;
        justify-content:center;
    }
}
@media(max-width:420px){
    .mercadopago-admin-summary{
        grid-template-columns:1fr;
    }
}


/* v5.25.00 — ONLYOFFICE mobile: rodapé/abas/zoom totalmente clicáveis */
.office-editor-frame-shell{
    display:flex;
    flex:1 1 auto;
    min-width:0;
    min-height:0;
    width:100%;
    background:#2b2b2b;
}
.office-editor-frame-shell .office-editor-frame{
    flex:1 1 auto;
    min-width:0;
    min-height:0;
}

.office-editor-card.is-office-focus-mode .office-editor-frame-shell{
    flex:1 1 auto;
    min-height:0;
    overflow:hidden;
}
.office-editor-card.is-office-focus-mode .office-editor-frame{
    height:100%!important;
    min-height:0!important;
}

@media(max-width:760px){
    /* O overflow:hidden + border-radius do card anterior recortava os
       botões inferiores do ONLYOFFICE, principalmente no canto esquerdo. */
    .office-editor-card{
        overflow:visible!important;
        border-radius:0!important;
    }

    .office-editor-head{
        border-radius:0!important;
    }

    .office-editor-frame-shell{
        position:relative;
        width:100%;
        height:calc(100dvh - 142px);
        min-height:560px;
        overflow:visible!important;
        padding-bottom:max(10px, env(safe-area-inset-bottom));
        box-sizing:border-box;
        background:#2b2b2b;
        touch-action:manipulation;
    }

    .office-editor-frame-shell .office-editor-frame{
        display:block;
        width:100%;
        height:100%!important;
        min-height:0!important;
        border:0!important;
        border-radius:0!important;
        overflow:visible;
        touch-action:auto;
    }

    .office-editor-card.is-office-focus-mode{
        height:100dvh!important;
        max-height:100dvh!important;
        padding:0!important;
        overflow:hidden!important;
        border-radius:0!important;
    }

    .office-editor-card.is-office-focus-mode .office-editor-frame-shell{
        flex:1 1 0;
        width:100%;
        height:auto!important;
        min-height:0!important;
        overflow:hidden!important;
        padding-bottom:max(12px, env(safe-area-inset-bottom));
        box-sizing:border-box;
    }

    .office-editor-card.is-office-focus-mode .office-editor-frame{
        width:100%;
        height:100%!important;
        min-height:0!important;
        border-radius:0!important;
    }

    /* Garante que nenhuma camada do Plan fique sobre o rodapé do iframe. */
    .office-editor-frame-shell,
    .office-editor-frame{
        position:relative;
        z-index:1;
        pointer-events:auto!important;
    }

    /* No modo focado o cabeçalho ocupa o mínimo necessário. */
    .office-editor-card.is-office-focus-mode .office-editor-head{
        position:relative;
        z-index:2;
        min-height:48px;
        padding:5px 7px;
        border-radius:0!important;
    }
}

/* Em celulares bem estreitos deixa ainda mais espaço para o editor. */
@media(max-width:430px){
    .office-editor-card.is-office-focus-mode .office-editor-head{
        min-height:46px;
    }
    .office-editor-card.is-office-focus-mode .office-editor-file-copy small{
        display:none!important;
    }
    .office-editor-card.is-office-focus-mode .office-editor-head-actions .btn{
        min-height:32px;
        padding-inline:7px;
    }
}


/* v5.25.01 — Mercado Pago: Teste x Produção + diagnóstico */
.mercadopago-admin-summary{
    grid-template-columns:repeat(5,minmax(0,1fr));
}
.mercadopago-test-payer-field[hidden]{
    display:none!important;
}
.mercadopago-test-payer-field{
    padding:12px;
    border:1px solid color-mix(in srgb,#e59b00 28%,var(--border));
    border-radius:12px;
    background:color-mix(in srgb,#e59b00 5%,var(--surface-2));
}
.pricing-error-notice{
    border-color:color-mix(in srgb,#dc2626 35%,var(--border));
    background:color-mix(in srgb,#dc2626 5%,var(--surface));
    color:var(--text);
}
.pricing-test-notice{
    display:flex;
    align-items:flex-start;
    gap:10px;
    border-color:color-mix(in srgb,#e59b00 35%,var(--border));
    background:color-mix(in srgb,#e59b00 6%,var(--surface));
}
.pricing-test-notice strong{
    flex:0 0 auto;
    color:#b77900;
}
.pricing-test-notice span{
    color:var(--muted);
}
@media(max-width:1000px){
    .mercadopago-admin-summary{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@media(max-width:760px){
    .mercadopago-admin-summary{
        grid-template-columns:1fr 1fr;
    }
    .pricing-test-notice{
        display:grid;
    }
}
@media(max-width:420px){
    .mercadopago-admin-summary{
        grid-template-columns:1fr;
    }
}


/* v5.25.02 — Mercado Pago: payer de teste automático */
.mercadopago-test-payer-field{
    display:grid;
    gap:6px;
}
.mercadopago-test-payer-field>strong{
    font-size:9px;
}
.mercadopago-test-payer-field>code{
    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:100%;
    min-height:34px;
    padding:0 11px;
    border:1px solid var(--border);
    border-radius:9px;
    background:var(--surface);
    color:var(--accent);
    font-size:9px;
    font-weight:800;
    user-select:all;
}


/* v5.25.04 — Mercado Pago: credenciais separadas por ambiente */
.mercadopago-test-token-field[hidden],
.mercadopago-production-token-field[hidden]{
    display:none!important;
}
.mercadopago-token-mode-guide{
    display:grid;
    gap:5px;
    padding:12px 13px;
    border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));
    border-radius:12px;
    background:color-mix(in srgb,var(--accent) 5%,var(--surface-2));
}
.mercadopago-token-mode-guide strong{
    font-size:9px;
}
.mercadopago-token-mode-guide small{
    color:var(--muted);
    font-size:8px;
    line-height:1.55;
}
.mercadopago-test-token-field{
    padding:12px;
    border:1px solid color-mix(in srgb,#e59b00 34%,var(--border));
    border-radius:12px;
    background:color-mix(in srgb,#e59b00 5%,var(--surface-2));
}
.mercadopago-test-steps{
    display:grid;
    gap:4px;
    margin:8px 0 0;
    padding-left:18px;
    color:var(--muted);
    font-size:8px;
    line-height:1.5;
}
@media(max-width:760px){
    .mercadopago-token-mode-guide small,
    .mercadopago-test-steps{
        font-size:10px;
    }
}


/* v5.25.08 — módulo administrativo de pagamentos */
.payments-admin-card{
    display:grid;
    gap:18px;
}
.payments-admin-head{
    align-items:flex-start;
}
.payments-admin-head .branding-description{
    margin:5px 0 0;
}
.payments-admin-metrics{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}
.payments-admin-metrics article{
    position:relative;
    display:grid;
    gap:4px;
    min-height:96px;
    padding:15px;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:15px;
    background:var(--surface-2);
}
.payments-admin-metrics article::after{
    content:"";
    position:absolute;
    width:70px;
    height:70px;
    right:-20px;
    top:-25px;
    border-radius:50%;
    background:color-mix(in srgb,var(--accent) 10%,transparent);
}
.payments-admin-metrics small{
    color:var(--muted);
    font-size:8px;
}
.payments-admin-metrics strong{
    font-size:22px;
    line-height:1;
}
.payments-admin-metrics span{
    margin-top:auto;
    color:var(--muted);
    font-size:8px;
}
.payment-money,
.payment-active-number{
    color:#16b86f;
}
.payment-inactive-number{
    color:#ef6464;
}
.payments-admin-search{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:48px;
    padding:0 14px;
    border:1px solid var(--border);
    border-radius:13px;
    background:var(--surface-2);
}
.payments-admin-search>span{
    color:var(--muted);
    font-size:18px;
}
.payments-admin-search input{
    width:100%;
    min-width:0;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
    color:var(--text);
    font-size:16px!important;
}
.payments-admin-section{
    display:grid;
    gap:10px;
    padding-top:4px;
}
.payments-admin-section-title{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:12px;
}
.payments-admin-section-title h4{
    margin:4px 0 0;
    font-size:14px;
}
.payments-admin-section-title>span{
    color:var(--muted);
    font-size:8px;
}
.payment-subscription-list,
.payment-history-list{
    display:grid;
    gap:9px;
}
.payment-subscription-card{
    display:grid;
    grid-template-columns:minmax(220px,1.25fr) auto repeat(4,minmax(130px,1fr));
    gap:12px;
    align-items:center;
    padding:13px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--surface-2);
}
.payment-subscription-main{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}
.payment-user-avatar{
    display:grid;
    place-items:center;
    flex:0 0 36px;
    width:36px;
    height:36px;
    border-radius:11px;
    background:color-mix(in srgb,var(--accent) 10%,var(--surface));
    color:var(--accent);
    font-weight:900;
}
.payment-subscription-main>div:last-child{
    display:grid;
    gap:2px;
    min-width:0;
}
.payment-subscription-main strong,
.payment-subscription-main small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.payment-subscription-main strong{
    font-size:9px;
}
.payment-subscription-main small{
    color:var(--muted);
    font-size:7px;
}
.payment-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    min-width:68px;
    min-height:27px;
    padding:0 9px;
    border-radius:999px;
    font-size:7px;
    font-weight:900;
}
.payment-status.is-active{
    background:color-mix(in srgb,#16b86f 12%,var(--surface));
    color:#16b86f;
}
.payment-status.is-pending{
    background:color-mix(in srgb,#e59b00 12%,var(--surface));
    color:#d98f00;
}
.payment-status.is-paused{
    background:color-mix(in srgb,#7c5cff 12%,var(--surface));
    color:#7c5cff;
}
.payment-status.is-expired{
    background:color-mix(in srgb,#ef6464 12%,var(--surface));
    color:#ef6464;
}
.payment-subscription-detail{
    display:grid;
    gap:3px;
    min-width:0;
}
.payment-subscription-detail small{
    color:var(--muted);
    font-size:7px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:800;
}
.payment-subscription-detail strong{
    font-size:8px;
    overflow-wrap:anywhere;
}
.payment-subscription-detail span{
    color:var(--muted);
    font-size:7px;
}
.payment-id-detail strong{
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
    font-size:7px;
}
.payment-history-row{
    display:grid;
    grid-template-columns:110px minmax(220px,1fr) minmax(180px,.8fr) auto;
    gap:14px;
    align-items:center;
    padding:12px 14px;
    border:1px solid var(--border);
    border-radius:13px;
    background:var(--surface-2);
}
.payment-history-date,
.payment-history-user,
.payment-history-id,
.payment-history-value{
    display:grid;
    gap:3px;
    min-width:0;
}
.payment-history-date strong,
.payment-history-user strong,
.payment-history-id strong,
.payment-history-value strong{
    font-size:8px;
}
.payment-history-date small,
.payment-history-user small,
.payment-history-id small{
    color:var(--muted);
    font-size:7px;
}
.payment-history-id strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
}
.payment-history-value{
    justify-items:end;
}
.payment-history-value>strong{
    color:#16b86f;
    font-size:11px;
}
.payments-search-empty{
    margin:0;
}
[data-payment-search-item][hidden]{
    display:none!important;
}

@media(max-width:1180px){
    .payments-admin-metrics{
        grid-template-columns:1fr 1fr;
    }
    .payment-subscription-card{
        grid-template-columns:minmax(220px,1fr) auto 1fr 1fr;
    }
    .payment-subscription-card .payment-subscription-detail:nth-last-child(-n+2){
        grid-column:auto;
    }
}
@media(max-width:760px){
    .payments-admin-card{
        gap:14px;
    }
    .payments-admin-metrics{
        grid-template-columns:1fr 1fr;
        gap:8px;
    }
    .payments-admin-metrics article{
        min-height:90px;
        padding:12px;
    }
    .payments-admin-metrics strong{
        font-size:19px;
    }
    .payments-admin-section-title{
        align-items:center;
    }
    .payment-subscription-card{
        grid-template-columns:1fr auto;
        gap:10px;
        padding:13px;
    }
    .payment-subscription-main{
        grid-column:1;
    }
    .payment-subscription-card>.payment-status{
        grid-column:2;
        grid-row:1;
        justify-self:end;
    }
    .payment-subscription-detail{
        padding:10px;
        border:1px solid var(--border);
        border-radius:11px;
        background:color-mix(in srgb,var(--surface) 55%,transparent);
    }
    .payment-subscription-detail:nth-of-type(n){
        grid-column:auto;
    }
    .payment-id-detail{
        grid-column:1 / -1!important;
    }
    .payment-history-row{
        grid-template-columns:90px 1fr auto;
        gap:10px;
        padding:12px;
    }
    .payment-history-id{
        grid-column:1 / -1;
        padding-top:8px;
        border-top:1px solid var(--border);
    }
    .payment-history-value{
        justify-items:end;
    }
}
@media(max-width:430px){
    .payments-admin-metrics{
        grid-template-columns:1fr;
    }
    .payment-subscription-card{
        grid-template-columns:1fr;
    }
    .payment-subscription-card>.payment-status{
        grid-column:1;
        grid-row:auto;
        justify-self:start;
    }
    .payment-subscription-detail{
        grid-column:1!important;
    }
    .payment-history-row{
        grid-template-columns:1fr auto;
    }
    .payment-history-date{
        grid-column:1;
    }
    .payment-history-user{
        grid-column:1 / -1;
    }
    .payment-history-value{
        grid-column:2;
        grid-row:1;
    }
    .payment-history-id{
        grid-column:1 / -1;
    }
}


/* v5.25.10 — preço PRO, cupons, gráfico e gestão administrativa */
.pricing-pro-subscribe-form{
    display:grid;
    gap:10px;
}
.pricing-coupon-field{
    display:grid;
    gap:5px;
    text-align:left;
}
.pricing-coupon-field>span{
    font-size:9px;
    font-weight:800;
}
.pricing-coupon-field input{
    width:100%;
    min-height:42px;
    padding:0 12px;
    border:1px solid var(--border);
    border-radius:11px;
    background:var(--surface-2);
    color:var(--text);
    text-transform:uppercase;
}
.pricing-coupon-field small{
    color:var(--muted);
    font-size:8px;
}

.pro-commercial-settings{
    display:grid;
    gap:12px;
}
.pro-price-settings,
.pro-coupon-settings{
    padding:14px;
    border:1px solid var(--border);
    border-radius:15px;
    background:var(--surface-2);
}
.pro-price-settings{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:16px;
    align-items:end;
}
.pro-price-settings h4,
.pro-coupon-settings h4{
    margin:4px 0;
    font-size:13px;
}
.pro-price-settings p{
    margin:0;
    color:var(--muted);
    font-size:8px;
}
.pro-price-form{
    display:flex;
    align-items:end;
    gap:8px;
}
.pro-price-form label{
    display:flex;
    align-items:center;
    gap:7px;
    min-height:40px;
    padding:0 10px;
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--surface);
    font-weight:800;
}
.pro-price-form input{
    width:100px;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.pro-coupon-create-form{
    display:grid;
    grid-template-columns:1.1fr .9fr .8fr .7fr 1fr auto auto;
    gap:8px;
    align-items:end;
    margin-top:12px;
}
.pro-coupon-create-form label{
    display:grid;
    gap:5px;
    color:var(--muted);
    font-size:7px;
    font-weight:800;
}
.pro-coupon-create-form input,
.pro-coupon-create-form select{
    min-height:38px;
}
.pro-coupon-create-form label small{
    font-size:6px;
}
.pro-coupon-create-form .coupon-active-check{
    display:flex;
    align-items:center;
    gap:6px;
    min-height:38px;
    color:var(--text);
}
.pro-coupon-list{
    display:grid;
    gap:7px;
    margin-top:10px;
}
.pro-coupon-list article{
    display:grid;
    grid-template-columns:minmax(150px,1fr) 110px 130px 150px auto;
    gap:10px;
    align-items:center;
    padding:10px;
    border:1px solid var(--border);
    border-radius:11px;
    background:var(--surface);
}
.pro-coupon-list article>div{
    display:grid;
    gap:2px;
}
.pro-coupon-list strong{
    font-size:9px;
}
.pro-coupon-list small,
.pro-coupon-list span{
    color:var(--muted);
    font-size:7px;
}

.payments-chart-card{
    display:grid;
    gap:15px;
    padding:15px;
    border:1px solid var(--border);
    border-radius:15px;
    background:var(--surface-2);
}
.payments-chart-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
}
.payments-chart-head h4{
    margin:4px 0;
    font-size:13px;
}
.payments-chart-head p{
    margin:0;
    color:var(--muted);
    font-size:8px;
}
.payments-period-form{
    display:flex;
    flex-wrap:wrap;
    align-items:end;
    justify-content:flex-end;
    gap:7px;
}
.payments-period-form label{
    display:grid;
    gap:4px;
    color:var(--muted);
    font-size:7px;
    font-weight:800;
}
.payments-period-form input,
.payments-period-form select{
    min-height:36px;
    min-width:115px;
}
.payments-period-form [hidden]{
    display:none!important;
}
.payments-bar-chart{
    display:flex;
    align-items:stretch;
    gap:8px;
    min-height:250px;
    overflow-x:auto;
    padding:12px 2px 2px;
}
.payments-bar-item{
    display:grid;
    grid-template-rows:22px 1fr 22px;
    align-items:end;
    justify-items:center;
    flex:1 0 48px;
    min-width:48px;
    max-width:90px;
    min-height:220px;
}
.payments-bar-value{
    width:max-content;
    max-width:84px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--muted);
    font-size:6px;
}
.payments-bar-track{
    position:relative;
    width:30px;
    height:100%;
    min-height:160px;
    overflow:hidden;
    border-radius:9px 9px 4px 4px;
    background:color-mix(in srgb,var(--accent) 7%,var(--surface));
}
.payments-bar-track i{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    border-radius:9px 9px 4px 4px;
    background:var(--accent);
}
.payments-bar-item strong{
    font-size:7px;
}
.payment-pro-admin-actions{
    grid-column:1 / -1;
    display:flex;
    justify-content:flex-end;
    gap:8px;
    padding-top:10px;
    border-top:1px solid var(--border);
}
.payment-pro-admin-actions form{
    display:flex;
    align-items:center;
    gap:6px;
}
.payment-pro-admin-actions input[type="number"]{
    width:72px;
    min-height:32px;
    padding:0 8px;
    border:1px solid var(--border);
    border-radius:9px;
    background:var(--surface);
    color:var(--text);
}

@media(max-width:1100px){
    .pro-coupon-create-form{
        grid-template-columns:1fr 1fr 1fr;
    }
    .pro-coupon-list article{
        grid-template-columns:1fr 1fr 1fr;
    }
    .pro-coupon-list article form{
        justify-self:end;
    }
}
@media(max-width:760px){
    .pro-price-settings{
        grid-template-columns:1fr;
    }
    .pro-price-form{
        width:100%;
    }
    .pro-price-form label{
        flex:1;
    }
    .pro-price-form input{
        width:100%;
    }
    .pro-coupon-create-form{
        grid-template-columns:1fr 1fr;
    }
    .pro-coupon-create-form button{
        grid-column:1 / -1;
        width:100%;
    }
    .pro-coupon-list article{
        grid-template-columns:1fr 1fr;
    }
    .payments-chart-head{
        align-items:stretch;
        flex-direction:column;
    }
    .payments-period-form{
        justify-content:stretch;
        display:grid;
        grid-template-columns:1fr 1fr;
    }
    .payments-period-form label,
    .payments-period-form button{
        width:100%;
    }
    .payments-period-form input,
    .payments-period-form select{
        width:100%;
    }
    .payments-bar-chart{
        min-height:220px;
    }
    .payment-pro-admin-actions{
        justify-content:stretch;
        flex-direction:column;
    }
    .payment-pro-admin-actions form{
        width:100%;
    }
    .payment-pro-admin-actions form .btn{
        flex:1;
    }
}
@media(max-width:430px){
    .pro-coupon-create-form,
    .pro-coupon-list article,
    .payments-period-form{
        grid-template-columns:1fr;
    }
    .pro-coupon-list article form{
        justify-self:stretch;
    }
    .pro-coupon-list article form .btn{
        width:100%;
    }
}


/* v5.25.11 — landing premium */
.landing-page-v2{
    background:
        radial-gradient(circle at 5% 16%, color-mix(in srgb,var(--accent) 8%,transparent) 0, transparent 32%),
        radial-gradient(circle at 95% 22%, color-mix(in srgb,#7c5cff 7%,transparent) 0, transparent 28%),
        var(--bg);
}
.landing-header-v2{
    position:sticky;
    top:12px;
    z-index:80;
    width:min(1320px,calc(100% - 28px));
    min-height:70px;
    padding:12px 14px 12px 18px;
    backdrop-filter:blur(22px);
    background:color-mix(in srgb,var(--surface) 88%,transparent);
    box-shadow:0 18px 60px rgba(31,29,70,.08);
}
.landing-header-v2 .landing-nav{
    gap:15px;
}
.landing-header-v2 .landing-nav-link{
    font-size:10px;
    font-weight:800;
}
.landing-main-v2{
    width:min(1320px,calc(100% - 36px));
    padding-top:66px;
}
.landing-hero-v2{
    grid-template-columns:minmax(0,.92fr) minmax(540px,1.08fr);
    gap:72px;
    min-height:680px;
}
.landing-copy-v2 h1{
    margin:18px 0 24px;
    max-width:760px;
    font-size:clamp(54px,5.35vw,82px);
    line-height:.95;
    letter-spacing:-4.8px;
}
.landing-copy-v2 h1 em{
    background:linear-gradient(95deg,var(--accent),#8c70ff);
    background-clip:text;
    -webkit-background-clip:text;
    color:transparent;
}
.landing-copy-v2>p{
    max-width:690px;
    font-size:15px;
    line-height:1.75;
}
.landing-release-pill{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:32px;
    padding:0 12px;
    border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));
    border-radius:999px;
    background:color-mix(in srgb,var(--accent) 5%,var(--surface));
    color:var(--accent);
    font-size:8px;
    font-weight:900;
    letter-spacing:.12em;
}
.landing-release-pill i{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 10%,transparent);
}
.landing-actions-v2{
    margin-top:28px;
}
.landing-actions-v2 .btn{
    min-height:48px;
    padding:0 20px;
    border-radius:13px;
}
.landing-benefits-v2{
    margin-top:22px;
    gap:20px;
}
.landing-benefits-v2 span{
    font-size:9px;
}
.landing-trust-row{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:34px;
    max-width:580px;
}
.landing-trust-row>div{
    display:grid;
    gap:2px;
    padding:13px 14px;
    border:1px solid var(--border);
    border-radius:14px;
    background:color-mix(in srgb,var(--surface) 82%,transparent);
}
.landing-trust-row strong{
    color:var(--accent);
    font-size:18px;
}
.landing-trust-row span{
    color:var(--muted);
    font-size:7px;
    font-weight:750;
}
.landing-product-stage{
    position:relative;
    min-height:570px;
    display:grid;
    align-items:center;
}
.landing-dashboard-v2{
    position:relative;
    z-index:2;
    width:min(100%,660px);
    margin-left:auto;
    transform:rotate(.45deg);
    border-radius:30px;
    box-shadow:0 38px 90px rgba(36,29,85,.18);
}
.landing-stage-glow{
    position:absolute;
    border-radius:50%;
    filter:blur(2px);
}
.landing-stage-glow-one{
    right:-40px;
    top:10px;
    width:300px;
    height:300px;
    background:color-mix(in srgb,var(--accent) 10%,transparent);
}
.landing-stage-glow-two{
    left:30px;
    bottom:20px;
    width:240px;
    height:240px;
    background:color-mix(in srgb,#20c997 8%,transparent);
}
.landing-floating-card{
    position:absolute;
    z-index:4;
    display:grid;
    gap:3px;
    min-width:170px;
    padding:13px 15px;
    border:1px solid color-mix(in srgb,var(--border) 80%,transparent);
    border-radius:15px;
    background:color-mix(in srgb,var(--surface) 94%,transparent);
    box-shadow:0 18px 45px rgba(31,29,70,.12);
    backdrop-filter:blur(18px);
}
.landing-floating-card>span{
    color:var(--accent);
    font-size:7px;
    font-weight:900;
    letter-spacing:.12em;
}
.landing-floating-card strong{
    font-size:10px;
}
.landing-floating-card small{
    color:var(--muted);
    font-size:7px;
}
.landing-floating-card-office{
    left:-8px;
    bottom:90px;
}
.landing-floating-card-pro{
    right:-28px;
    top:80px;
}
.landing-proof-strip{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    overflow:hidden;
    margin:15px 0 105px;
    border:1px solid var(--border);
    border-radius:22px;
    background:color-mix(in srgb,var(--surface) 92%,transparent);
    box-shadow:0 16px 45px rgba(31,29,70,.04);
}
.landing-proof-strip article{
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:11px;
    padding:19px 21px;
    border-right:1px solid var(--border);
}
.landing-proof-strip article:last-child{
    border-right:0;
}
.landing-proof-strip article>span{
    color:var(--accent);
    font-size:19px;
    font-weight:900;
}
.landing-proof-strip article>div{
    display:grid;
    gap:2px;
}
.landing-proof-strip strong{
    font-size:9px;
}
.landing-proof-strip small{
    color:var(--muted);
    font-size:7px;
}
.landing-section-v2{
    margin-bottom:100px;
}
.landing-section-head-v2{
    margin-bottom:30px;
}
.landing-section-head-v2 h2{
    font-size:clamp(38px,4.3vw,58px);
}
.landing-feature-grid-v2{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.landing-feature-grid-v2 article{
    min-height:150px;
}
.landing-feature-grid-v2 .landing-feature-large{
    position:relative;
    min-height:205px;
    align-content:start;
    padding:28px;
}
.landing-feature-large>small{
    position:absolute;
    left:28px;
    bottom:22px;
    color:var(--muted);
    font-size:7px;
    font-weight:900;
    letter-spacing:.14em;
}
.landing-feature-large h3{
    font-size:17px;
}
.landing-feature-large p{
    font-size:11px;
}
.landing-office-showcase{
    display:grid;
    grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);
    gap:65px;
    align-items:center;
    margin:0 0 100px;
    padding:66px;
    border:1px solid var(--border);
    border-radius:32px;
    background:
        radial-gradient(circle at 10% 10%,color-mix(in srgb,#20c997 8%,transparent),transparent 35%),
        linear-gradient(135deg,color-mix(in srgb,var(--surface) 96%,var(--accent) 4%),var(--surface));
    box-shadow:var(--shadow);
}
.landing-office-copy h2{
    margin:15px 0 18px;
    font-size:clamp(40px,4.5vw,60px);
    line-height:.98;
    letter-spacing:-2.6px;
}
.landing-office-copy>p{
    margin:0 0 22px;
    color:var(--muted);
    font-size:13px;
    line-height:1.75;
}
.landing-office-checks{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px 14px;
    margin-bottom:26px;
}
.landing-office-checks span{
    font-size:9px;
    font-weight:750;
}
.landing-office-visual{
    position:relative;
}
.landing-office-window{
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:24px;
    background:#fff;
    box-shadow:0 30px 75px rgba(31,29,70,.16);
}
[data-theme="dark"] .landing-office-window{
    background:#11141a;
}
.landing-office-top{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:10px;
    padding:13px 15px;
    border-bottom:1px solid var(--border);
    background:var(--surface);
}
.landing-office-file-icon{
    display:grid;
    width:35px;
    height:35px;
    place-items:center;
    border-radius:10px;
    background:#10b759;
    color:#fff;
    font-weight:900;
}
.landing-office-top>div{
    display:grid;
    gap:2px;
}
.landing-office-top strong{
    font-size:9px;
}
.landing-office-top small{
    color:var(--muted);
    font-size:7px;
}
.landing-office-toolbar{
    display:flex;
    gap:18px;
    overflow:hidden;
    padding:10px 14px;
    background:#1f2229;
    color:#fff;
    font-size:7px;
}
.landing-sheet{
    padding:14px;
    min-height:330px;
    background:
        linear-gradient(#e9ebef 1px,transparent 1px),
        linear-gradient(90deg,#e9ebef 1px,transparent 1px),
        #fff;
    background-size:55px 28px,55px 28px;
}
.landing-sheet-head,
.landing-sheet-row{
    display:grid;
    grid-template-columns:34px 1.35fr 1fr 1fr 1fr;
    width:min(100%,520px);
    margin:0 auto;
}
.landing-sheet-head span{
    padding:6px;
    border:1px solid #dfe2e8;
    background:#f3f4f7;
    color:#69707d;
    text-align:center;
    font-size:7px;
}
.landing-sheet-row span{
    min-height:30px;
    padding:7px 8px;
    border:1px solid #cfd3da;
    background:#fff;
    color:#20242b;
    font-size:8px;
}
.landing-sheet-row>span:first-child{
    background:#f3f4f7;
    color:#69707d;
    text-align:center;
}
.landing-sheet-row.is-head span:not(:first-child){
    background:#08a8e8;
    color:#fff;
    font-weight:900;
}
.landing-sheet-row.is-total span:not(:first-child){
    background:#dff3ff;
    font-weight:900;
}
.landing-library-v2{
    margin-bottom:100px;
}
.landing-pricing-preview{
    margin:0 0 100px;
}
.landing-price-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    max-width:1000px;
    margin:0 auto;
}
.landing-price-card{
    position:relative;
    display:grid;
    gap:20px;
    padding:34px;
    border:1px solid var(--border);
    border-radius:26px;
    background:var(--surface);
    box-shadow:0 18px 55px rgba(31,29,70,.05);
}
.landing-price-card-pro{
    border-color:color-mix(in srgb,var(--accent) 55%,var(--border));
    box-shadow:0 24px 70px rgba(var(--accent-rgb),.12);
}
.landing-price-badge{
    position:absolute;
    top:18px;
    right:18px;
    padding:7px 10px;
    border-radius:999px;
    background:color-mix(in srgb,var(--accent) 10%,var(--surface));
    color:var(--accent);
    font-size:7px;
    font-weight:900;
}
.landing-price-kicker{
    color:var(--accent);
    font-size:8px;
    font-weight:900;
    letter-spacing:.14em;
}
.landing-price-value{
    display:grid;
    gap:4px;
}
.landing-price-value strong{
    font-size:40px;
    letter-spacing:-1.5px;
}
.landing-price-value small{
    color:var(--muted);
    font-size:8px;
}
.landing-price-card ul{
    display:grid;
    gap:10px;
    margin:0;
    padding:0;
    list-style:none;
}
.landing-price-card li{
    font-size:10px;
}
.landing-price-card .btn{
    margin-top:auto;
    min-height:45px;
}
.landing-value-banner{
    margin:0 0 100px;
    padding:58px 60px;
    overflow:hidden;
    border-radius:32px;
    background:
        radial-gradient(circle at 90% 20%,rgba(255,255,255,.18),transparent 25%),
        linear-gradient(135deg,#201a52,var(--accent));
    color:#fff;
    box-shadow:0 30px 80px rgba(var(--accent-rgb),.22);
}
.landing-value-banner h2{
    max-width:900px;
    margin:15px 0;
    font-size:clamp(38px,4.3vw,58px);
    line-height:1;
    letter-spacing:-2.6px;
}
.landing-value-banner p{
    max-width:760px;
    margin:0;
    color:rgba(255,255,255,.75);
    font-size:12px;
    line-height:1.75;
}
.landing-faq{
    margin-bottom:95px;
}
.landing-faq-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.landing-faq-grid article{
    padding:22px 24px;
    border:1px solid var(--border);
    border-radius:18px;
    background:var(--surface);
}
.landing-faq-grid strong{
    display:block;
    margin-bottom:8px;
    font-size:12px;
}
.landing-faq-grid p{
    margin:0;
    color:var(--muted);
    font-size:9px;
    line-height:1.7;
}
.landing-cta-v2{
    margin-top:0;
}
.landing-footer-v2{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:20px;
    width:min(1320px,calc(100% - 36px));
    margin:0 auto;
    padding:30px 0 40px;
}
.landing-footer-v2>div{
    display:grid;
    gap:2px;
}
.landing-footer-v2>div span,
.landing-footer-v2>span{
    color:var(--muted);
    font-size:8px;
}
.landing-footer-v2 nav{
    display:flex;
    gap:18px;
}
.landing-footer-v2 nav a{
    color:var(--muted);
    font-size:8px;
    font-weight:800;
}
.landing-footer-v2>span{
    justify-self:end;
}

@media(max-width:1100px){
    .landing-hero-v2{
        grid-template-columns:1fr;
        gap:28px;
    }
    .landing-product-stage{
        width:min(100%,760px);
        margin:0 auto;
    }
    .landing-dashboard-v2{
        margin:0 auto;
    }
    .landing-proof-strip{
        grid-template-columns:1fr 1fr;
    }
    .landing-proof-strip article:nth-child(2){
        border-right:0;
    }
    .landing-proof-strip article:nth-child(-n+2){
        border-bottom:1px solid var(--border);
    }
    .landing-office-showcase{
        grid-template-columns:1fr;
        gap:35px;
    }
}
@media(max-width:760px){
    .landing-header-v2{
        top:7px;
    }
    .landing-header-v2 .landing-nav-link{
        display:none;
    }
    .landing-main-v2{
        width:min(100% - 24px,1320px);
        padding-top:42px;
    }
    .landing-hero-v2{
        min-height:0;
    }
    .landing-copy-v2 h1{
        font-size:47px;
        letter-spacing:-2.8px;
    }
    .landing-copy-v2>p{
        font-size:13px;
    }
    .landing-trust-row{
        grid-template-columns:1fr 1fr 1fr;
    }
    .landing-product-stage{
        min-height:510px;
    }
    .landing-floating-card-office{
        left:0;
        bottom:25px;
    }
    .landing-floating-card-pro{
        right:0;
        top:35px;
    }
    .landing-proof-strip{
        grid-template-columns:1fr;
        margin-bottom:75px;
    }
    .landing-proof-strip article{
        border-right:0;
        border-bottom:1px solid var(--border);
    }
    .landing-proof-strip article:last-child{
        border-bottom:0;
    }
    .landing-feature-grid-v2{
        grid-template-columns:1fr;
    }
    .landing-office-showcase{
        padding:30px 22px;
        border-radius:25px;
    }
    .landing-office-checks{
        grid-template-columns:1fr;
    }
    .landing-sheet{
        min-height:280px;
        padding:9px;
        overflow-x:auto;
    }
    .landing-sheet-head,
    .landing-sheet-row{
        min-width:500px;
    }
    .landing-price-grid,
    .landing-faq-grid{
        grid-template-columns:1fr;
    }
    .landing-value-banner{
        padding:38px 25px;
    }
    .landing-footer-v2{
        grid-template-columns:1fr;
        justify-items:start;
        width:min(100% - 28px,1320px);
    }
    .landing-footer-v2>span{
        justify-self:start;
    }
}
@media(max-width:430px){
    .landing-header-v2{
        width:calc(100% - 14px);
        padding-inline:10px;
    }
    .landing-header-v2 .landing-nav-actions .btn.btn-primary{
        padding-inline:10px;
        font-size:9px;
    }
    .landing-copy-v2 h1{
        font-size:39px;
        line-height:.98;
        letter-spacing:-2.2px;
    }
    .landing-actions-v2{
        display:grid;
        grid-template-columns:1fr;
    }
    .landing-actions-v2 .btn{
        width:100%;
        justify-content:center;
    }
    .landing-benefits-v2{
        display:grid;
        gap:8px;
    }
    .landing-trust-row{
        grid-template-columns:1fr;
    }
    .landing-product-stage{
        min-height:430px;
    }
    .landing-dashboard-v2{
        transform:none;
    }
    .landing-floating-card{
        min-width:145px;
        padding:10px 11px;
    }
    .landing-floating-card-pro{
        top:10px;
        right:-3px;
    }
    .landing-floating-card-office{
        bottom:2px;
    }
    .landing-office-copy h2,
    .landing-value-banner h2{
        font-size:38px;
    }
    .landing-price-card{
        padding:27px 22px;
    }
    .landing-footer-v2 nav{
        flex-wrap:wrap;
    }
}


/* v5.25.12 — header refinado */
.landing-header-v2{
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:18px;
    width:min(1280px,calc(100% - 28px));
    min-height:76px;
    padding:12px 16px 12px 18px;
    border:1px solid color-mix(in srgb,var(--border) 78%,transparent);
    border-radius:26px;
    background:color-mix(in srgb,var(--surface) 84%,transparent);
    box-shadow:0 20px 64px rgba(31,29,70,.08);
}
.public-brand-v2{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:max-content;
}
.public-brand-v2 .public-brand-logo{
    width:56px;
    height:auto;
}
.public-brand-v2>span{
    display:grid;
    gap:1px;
}
.public-brand-v2 strong{
    font-size:18px;
    letter-spacing:-.02em;
}
.public-brand-v2 small{
    color:var(--muted);
    font-size:10px;
    font-weight:700;
}
.landing-header-right{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    min-width:0;
}
.landing-nav-v2{
    flex:1 1 auto;
    justify-content:flex-end;
}
.landing-nav-v2 .landing-nav-links{
    display:flex;
    align-items:center;
    gap:6px;
    padding:6px;
    border:1px solid color-mix(in srgb,var(--border) 80%,transparent);
    border-radius:18px;
    background:color-mix(in srgb,var(--surface-2) 72%,transparent);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.landing-header-v2 .landing-nav-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 14px;
    border-radius:13px;
    color:var(--muted);
    font-size:11px;
    font-weight:850;
    letter-spacing:-.01em;
    transition:background .2s ease,color .2s ease,transform .2s ease;
}
.landing-header-v2 .landing-nav-link:hover{
    background:color-mix(in srgb,var(--accent) 10%,transparent);
    color:var(--accent);
    transform:translateY(-1px);
}
.landing-nav-actions-v2{
    display:flex;
    align-items:center;
    gap:10px;
    flex:0 0 auto;
}
.public-theme-toggle-v2{
    width:42px;
    height:42px;
    border-radius:14px;
    box-shadow:none;
}
.btn-header-primary,
.btn-header-soft{
    min-height:44px;
    padding-inline:18px;
    border-radius:14px;
    font-size:11px;
    font-weight:850;
}
.btn-header-primary{
    box-shadow:0 16px 32px rgba(var(--accent-rgb),.16);
}
.btn-header-soft{
    background:color-mix(in srgb,var(--surface-2) 72%,transparent);
}

@media (max-width: 980px){
    .landing-header-v2{
        grid-template-columns:1fr;
        gap:12px;
    }
    .landing-header-right{
        width:100%;
        justify-content:space-between;
        flex-wrap:wrap;
    }
    .landing-nav-v2{
        flex:1 1 100%;
        justify-content:flex-start;
    }
}
@media (max-width: 760px){
    .landing-header-v2{
        width:min(100%,calc(100% - 14px));
        padding:10px 12px;
        border-radius:22px;
    }
    .public-brand-v2 strong{
        font-size:16px;
    }
    .public-brand-v2 small{
        font-size:9px;
    }
    .landing-nav-v2{
        display:none;
    }
    .landing-header-right{
        justify-content:flex-end;
    }
}
@media (max-width: 430px){
    .public-brand-v2 .public-brand-logo{
        width:46px;
    }
    .public-brand-v2 strong{
        font-size:15px;
    }
    .btn-header-primary,
    .btn-header-soft{
        min-height:40px;
        padding-inline:12px;
        font-size:10px;
    }
}


/* v5.25.13 — correção do toggle do header */
.landing-header-v2 .public-theme-toggle-v2{
    display:grid;
    place-items:center;
    width:44px;
    min-width:44px;
    max-width:44px;
    height:44px;
    min-height:44px;
    padding:0;
    flex:0 0 44px;
    overflow:hidden;
    white-space:nowrap;
    border-radius:14px;
}
.landing-header-v2 .public-theme-toggle-v2 [data-theme-icon]{
    display:block;
    width:auto;
    height:auto;
    margin:0;
    font-size:18px;
    line-height:1;
    transform:none;
}
.landing-header-v2 .public-theme-toggle-v2 [data-theme-label]{
    display:none!important;
    width:0!important;
    height:0!important;
    overflow:hidden!important;
    visibility:hidden!important;
}
.landing-header-v2 .landing-header-right{
    gap:14px;
}
.landing-header-v2 .landing-nav-actions-v2{
    gap:10px;
}
.landing-header-v2 .btn-header-primary{
    min-width:132px;
    justify-content:center;
}
@media(max-width:760px){
    .landing-header-v2 .public-theme-toggle-v2{
        width:40px;
        min-width:40px;
        max-width:40px;
        height:40px;
        min-height:40px;
        flex-basis:40px;
    }
    .landing-header-v2 .btn-header-primary{
        min-width:auto;
    }
}


/* ==========================================================
   v5.25.14 — home minimalista premium
   Rework desktop + mobile
   ========================================================== */

.minimal-home{
    --mh-max: 1240px;
    --mh-line: color-mix(in srgb,var(--border) 78%,transparent);
    --mh-soft: color-mix(in srgb,var(--surface-2) 78%,transparent);
    --mh-accent-soft: color-mix(in srgb,var(--accent) 8%,transparent);
    min-height:100vh;
    overflow-x:hidden;
    background:
        radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--accent) 5%,transparent),transparent 28%),
        var(--bg);
    color:var(--text);
}
.minimal-home *{
    box-sizing:border-box;
}
.minimal-header{
    position:sticky;
    top:0;
    z-index:100;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:28px;
    width:100%;
    min-height:72px;
    padding:0 max(22px,calc((100vw - var(--mh-max))/2));
    border-bottom:1px solid var(--mh-line);
    background:color-mix(in srgb,var(--bg) 88%,transparent);
    backdrop-filter:blur(20px);
}
.minimal-brand{
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--text);
    text-decoration:none;
}
.minimal-brand img{
    width:50px;
    max-height:32px;
    object-fit:contain;
}
.minimal-brand-mark{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:10px;
    background:var(--accent);
    color:white;
    font-weight:900;
}
.minimal-brand-copy{
    display:grid;
    gap:1px;
}
.minimal-brand-copy strong{
    font-size:16px;
    line-height:1;
    letter-spacing:-.03em;
}
.minimal-brand-copy small{
    color:var(--muted);
    font-size:8px;
}
.minimal-desktop-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:28px;
}
.minimal-desktop-nav a,
.minimal-login-link{
    color:var(--muted);
    text-decoration:none;
    font-size:10px;
    font-weight:800;
    transition:color .18s ease;
}
.minimal-desktop-nav a:hover,
.minimal-login-link:hover{
    color:var(--text);
}
.minimal-header-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
}
.minimal-theme-button,
.minimal-menu-button{
    display:grid;
    place-items:center;
    width:40px;
    min-width:40px;
    height:40px;
    padding:0;
    border:1px solid var(--mh-line);
    border-radius:12px;
    background:var(--surface);
    color:var(--text);
    cursor:pointer;
}
.minimal-theme-button [data-theme-icon]{
    font-size:16px;
    line-height:1;
}
.minimal-theme-button [data-theme-label]{
    display:none!important;
}
.minimal-header-cta{
    min-height:40px;
    padding-inline:16px;
    border-radius:12px;
    font-size:10px;
}
.minimal-menu-button{
    display:none;
    align-content:center;
    gap:4px;
}
.minimal-menu-button span{
    display:block;
    width:17px;
    height:2px;
    border-radius:999px;
    background:currentColor;
    transition:transform .18s ease,opacity .18s ease;
}
.minimal-menu-button[aria-expanded="true"] span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
}
.minimal-menu-button[aria-expanded="true"] span:nth-child(2){
    opacity:0;
}
.minimal-menu-button[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
}
.minimal-mobile-menu{
    display:none;
}
.minimal-main{
    width:min(var(--mh-max),calc(100% - 40px));
    margin:0 auto;
}
.minimal-hero{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr);
    gap:74px;
    align-items:center;
    min-height:720px;
    padding:70px 0 80px;
}
.minimal-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--accent);
    font-size:8px;
    font-weight:900;
    letter-spacing:.14em;
}
.minimal-kicker i{
    display:block;
    width:18px;
    height:2px;
    border-radius:999px;
    background:currentColor;
}
.minimal-hero-copy h1{
    margin:18px 0 24px;
    font-size:clamp(58px,5.6vw,84px);
    line-height:.91;
    letter-spacing:-5px;
    font-weight:900;
}
.minimal-hero-copy h1 em{
    font-style:normal;
    color:var(--accent);
}
.minimal-hero-lead{
    max-width:590px;
    margin:0;
    color:var(--muted);
    font-size:15px;
    line-height:1.75;
}
.minimal-hero-actions{
    display:flex;
    gap:10px;
    margin-top:30px;
}
.minimal-big-button{
    min-height:50px;
    padding-inline:20px;
    border-radius:13px;
    font-size:10px;
}
.minimal-big-button span{
    margin-left:10px;
}
.minimal-hero-notes{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin-top:22px;
}
.minimal-hero-notes span{
    color:var(--muted);
    font-size:8px;
    font-weight:700;
}
.minimal-product-preview{
    position:relative;
}
.minimal-product-preview::before{
    content:"";
    position:absolute;
    inset:10% -12% -10% 18%;
    z-index:-1;
    border-radius:50%;
    background:color-mix(in srgb,var(--accent) 8%,transparent);
    filter:blur(40px);
}
.minimal-preview-shell{
    overflow:hidden;
    padding:15px;
    border:1px solid var(--mh-line);
    border-radius:28px;
    background:var(--surface);
    box-shadow:0 30px 90px rgba(26,23,62,.10);
}
.minimal-preview-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:2px 3px 13px;
}
.minimal-preview-top>div{
    display:flex;
    align-items:center;
    gap:8px;
}
.minimal-preview-top strong{
    font-size:9px;
}
.minimal-mini-logo,
.minimal-preview-user{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border-radius:9px;
    background:var(--accent);
    color:white;
    font-size:10px;
    font-weight:900;
}
.minimal-preview-user{
    width:28px;
    height:28px;
    border-radius:50%;
    background:var(--mh-accent-soft);
    color:var(--accent);
}
.minimal-preview-banner{
    display:grid;
    gap:5px;
    padding:20px 22px;
    border-radius:18px;
    background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 78%,#6f65d8));
    color:#fff;
}
.minimal-preview-banner small{
    font-size:6px;
    font-weight:900;
    letter-spacing:.12em;
}
.minimal-preview-banner strong{
    font-size:19px;
    line-height:1.05;
    letter-spacing:-.6px;
}
.minimal-preview-banner span{
    color:rgba(255,255,255,.78);
    font-size:7px;
}
.minimal-preview-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:9px;
    margin:10px 0;
}
.minimal-preview-stats article{
    display:grid;
    gap:5px;
    min-height:72px;
    padding:12px;
    border:1px solid var(--mh-line);
    border-radius:14px;
    background:var(--mh-soft);
}
.minimal-preview-stats small{
    color:var(--muted);
    font-size:6px;
}
.minimal-preview-stats strong{
    font-size:11px;
}
.minimal-preview-bottom{
    display:grid;
    grid-template-columns:.92fr 1.08fr;
    gap:9px;
}
.minimal-calendar-card,
.minimal-agenda-card{
    min-height:180px;
    padding:13px;
    border:1px solid var(--mh-line);
    border-radius:15px;
    background:var(--mh-soft);
}
.minimal-calendar-card header,
.minimal-agenda-card header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:12px;
}
.minimal-calendar-card header strong,
.minimal-agenda-card header strong{
    font-size:7px;
}
.minimal-calendar-card header small,
.minimal-agenda-card header small{
    color:var(--accent);
    font-size:6px;
}
.minimal-calendar-week,
.minimal-calendar-days{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:4px;
}
.minimal-calendar-week{
    margin-bottom:5px;
}
.minimal-calendar-week span,
.minimal-calendar-days span{
    display:grid;
    place-items:center;
    min-height:18px;
    color:var(--muted);
    font-size:6px;
}
.minimal-calendar-days span.active{
    border-radius:6px;
    background:var(--accent);
    color:white;
    font-weight:900;
}
.minimal-agenda-card>div{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:8px;
    align-items:center;
    margin-bottom:7px;
    padding:9px;
    border-radius:10px;
    background:var(--surface);
}
.minimal-agenda-card>div i{
    width:3px;
    height:26px;
    border-radius:999px;
    background:var(--accent);
}
.minimal-agenda-card>div span{
    display:grid;
    gap:2px;
}
.minimal-agenda-card>div strong{
    font-size:7px;
}
.minimal-agenda-card>div small{
    color:var(--muted);
    font-size:6px;
}
.minimal-value-strip{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    margin-bottom:115px;
    overflow:hidden;
    border:1px solid var(--mh-line);
    border-radius:18px;
    background:var(--surface);
}
.minimal-value-strip article{
    display:grid;
    gap:3px;
    padding:18px 22px;
    border-right:1px solid var(--mh-line);
}
.minimal-value-strip article:last-child{
    border-right:0;
}
.minimal-value-strip strong{
    color:var(--accent);
    font-size:17px;
}
.minimal-value-strip span{
    color:var(--muted);
    font-size:7px;
}
.minimal-section,
.minimal-process-section,
.minimal-pricing-section,
.minimal-faq-section{
    margin-bottom:115px;
}
.minimal-section-head{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:50px;
    align-items:end;
    margin-bottom:34px;
}
.minimal-section-head h2{
    margin:14px 0 0;
    font-size:clamp(40px,4.5vw,60px);
    line-height:.98;
    letter-spacing:-3px;
}
.minimal-section-head>p{
    max-width:500px;
    margin:0;
    color:var(--muted);
    font-size:11px;
    line-height:1.75;
}
.minimal-section-head-centered{
    grid-template-columns:1fr;
    text-align:center;
}
.minimal-section-head-centered .minimal-kicker{
    justify-content:center;
}
.minimal-feature-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}
.minimal-feature-card{
    position:relative;
    min-height:180px;
    padding:23px;
    border:1px solid var(--mh-line);
    border-radius:19px;
    background:var(--surface);
}
.minimal-feature-highlight{
    min-height:245px;
}
.minimal-feature-number{
    position:absolute;
    top:18px;
    right:18px;
    color:var(--muted);
    font-size:7px;
    font-weight:900;
}
.minimal-feature-icon{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    margin-bottom:35px;
    border-radius:13px;
    background:var(--mh-accent-soft);
    color:var(--accent);
    font-size:18px;
}
.minimal-feature-card h3{
    margin:0 0 9px;
    font-size:14px;
    letter-spacing:-.3px;
}
.minimal-feature-card p{
    max-width:330px;
    margin:0;
    color:var(--muted);
    font-size:9px;
    line-height:1.7;
}
.minimal-office-section{
    display:grid;
    grid-template-columns:.86fr 1.14fr;
    gap:64px;
    align-items:center;
    margin-bottom:115px;
    padding:58px;
    border:1px solid var(--mh-line);
    border-radius:28px;
    background:var(--mh-soft);
}
.minimal-office-copy h2{
    margin:14px 0 18px;
    font-size:clamp(38px,4.2vw,56px);
    line-height:.99;
    letter-spacing:-3px;
}
.minimal-office-copy>p{
    max-width:520px;
    margin:0;
    color:var(--muted);
    font-size:11px;
    line-height:1.75;
}
.minimal-office-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px 18px;
    margin:25px 0;
}
.minimal-office-list span{
    position:relative;
    padding-left:14px;
    font-size:8px;
    font-weight:750;
}
.minimal-office-list span::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:6px;
    height:6px;
    transform:translateY(-50%);
    border-radius:50%;
    background:var(--accent);
}
.minimal-text-link{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--accent);
    text-decoration:none;
    font-size:9px;
    font-weight:900;
}
.minimal-office-demo{
    overflow:hidden;
    border:1px solid var(--mh-line);
    border-radius:20px;
    background:var(--surface);
    box-shadow:0 24px 70px rgba(26,23,62,.10);
}
.minimal-office-filebar{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:9px;
    align-items:center;
    padding:12px;
    border-bottom:1px solid var(--mh-line);
}
.minimal-excel-mark{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:9px;
    background:#10b759;
    color:white;
    font-weight:900;
}
.minimal-office-filebar>div{
    display:grid;
    gap:2px;
}
.minimal-office-filebar strong{
    font-size:8px;
}
.minimal-office-filebar small{
    color:var(--muted);
    font-size:6px;
}
.minimal-office-tabs{
    display:flex;
    gap:17px;
    padding:10px 13px;
    overflow:hidden;
    border-bottom:1px solid var(--mh-line);
    color:var(--muted);
    font-size:6px;
}
.minimal-office-tabs strong{
    color:var(--text);
}
.minimal-office-sheet{
    min-height:330px;
    padding:30px 24px;
    background:
        linear-gradient(color-mix(in srgb,var(--border) 65%,transparent) 1px,transparent 1px),
        linear-gradient(90deg,color-mix(in srgb,var(--border) 65%,transparent) 1px,transparent 1px),
        var(--surface);
    background-size:60px 28px,60px 28px;
}
.minimal-sheet-row{
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr 1fr;
    max-width:500px;
    margin:0 auto;
}
.minimal-sheet-row span{
    min-height:30px;
    padding:7px 8px;
    border:1px solid color-mix(in srgb,var(--border) 95%,transparent);
    background:var(--surface);
    font-size:7px;
}
.minimal-sheet-row.is-head span{
    background:var(--accent);
    color:white;
    font-weight:900;
}
.minimal-sheet-row.is-total span{
    background:var(--mh-accent-soft);
    font-weight:900;
}
.minimal-process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    overflow:hidden;
    border:1px solid var(--mh-line);
    border-radius:20px;
    background:var(--surface);
}
.minimal-process-grid article{
    min-height:170px;
    padding:24px;
    border-right:1px solid var(--mh-line);
}
.minimal-process-grid article:last-child{
    border-right:0;
}
.minimal-process-grid article>span{
    display:block;
    margin-bottom:38px;
    color:var(--accent);
    font-size:9px;
    font-weight:900;
}
.minimal-process-grid strong{
    display:block;
    margin-bottom:8px;
    font-size:11px;
}
.minimal-process-grid p{
    margin:0;
    color:var(--muted);
    font-size:8px;
    line-height:1.65;
}
.minimal-pricing-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    max-width:960px;
    margin:0 auto;
}
.minimal-plan-card{
    position:relative;
    display:grid;
    gap:22px;
    min-height:460px;
    padding:34px;
    border:1px solid var(--mh-line);
    border-radius:23px;
    background:var(--surface);
}
.minimal-plan-pro{
    border-color:color-mix(in srgb,var(--accent) 50%,var(--border));
}
.minimal-plan-badge{
    position:absolute;
    top:18px;
    right:18px;
    padding:6px 9px;
    border-radius:999px;
    background:var(--mh-accent-soft);
    color:var(--accent);
    font-size:6px;
    font-weight:900;
}
.minimal-plan-name{
    color:var(--accent);
    font-size:8px;
    font-weight:900;
    letter-spacing:.13em;
}
.minimal-plan-price{
    display:grid;
    gap:4px;
}
.minimal-plan-price strong{
    font-size:42px;
    letter-spacing:-2px;
}
.minimal-plan-price small{
    color:var(--muted);
    font-size:8px;
}
.minimal-plan-card ul{
    display:grid;
    gap:11px;
    margin:0;
    padding:0;
    list-style:none;
}
.minimal-plan-card li{
    position:relative;
    padding-left:17px;
    font-size:9px;
}
.minimal-plan-card li::before{
    content:"✓";
    position:absolute;
    left:0;
    color:#13b773;
    font-weight:900;
}
.minimal-plan-button{
    align-self:end;
    min-height:46px;
}
.minimal-quote-section{
    margin-bottom:115px;
    padding:65px;
    border-radius:28px;
    background:linear-gradient(135deg,#1f194d,var(--accent));
    color:white;
}
.minimal-kicker-light{
    color:rgba(255,255,255,.75);
}
.minimal-quote-section blockquote{
    max-width:940px;
    margin:20px 0;
    font-size:clamp(40px,4.6vw,62px);
    line-height:1;
    letter-spacing:-3px;
    font-weight:900;
}
.minimal-quote-section>p{
    max-width:650px;
    margin:0;
    color:rgba(255,255,255,.70);
    font-size:10px;
    line-height:1.7;
}
.minimal-faq-list{
    max-width:900px;
    margin:0 auto;
    border-top:1px solid var(--mh-line);
}
.minimal-faq-list details{
    border-bottom:1px solid var(--mh-line);
}
.minimal-faq-list summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:20px 0;
    cursor:pointer;
    list-style:none;
    font-size:12px;
    font-weight:850;
}
.minimal-faq-list summary::-webkit-details-marker{
    display:none;
}
.minimal-faq-list summary span{
    color:var(--accent);
    font-size:20px;
    font-weight:400;
}
.minimal-faq-list details[open] summary span{
    transform:rotate(45deg);
}
.minimal-faq-list p{
    max-width:720px;
    margin:0;
    padding:0 0 20px;
    color:var(--muted);
    font-size:9px;
    line-height:1.7;
}
.minimal-final-cta{
    display:grid;
    grid-template-columns:1fr auto;
    gap:40px;
    align-items:end;
    margin-bottom:50px;
    padding:54px;
    border-radius:27px;
    background:var(--text);
    color:var(--bg);
}
[data-theme="dark"] .minimal-final-cta{
    background:#f4f3f7;
    color:#14131a;
}
.minimal-final-cta h2{
    margin:14px 0 12px;
    font-size:clamp(38px,4.4vw,58px);
    line-height:.98;
    letter-spacing:-3px;
}
.minimal-final-cta p{
    max-width:620px;
    margin:0;
    color:color-mix(in srgb,currentColor 65%,transparent);
    font-size:10px;
}
.minimal-final-button{
    min-height:52px;
    padding:0 22px;
    border-radius:14px;
    background:var(--accent);
    color:white;
    border:0;
}
.minimal-final-button:hover{
    color:white;
}
.minimal-footer{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:25px;
    align-items:center;
    width:min(var(--mh-max),calc(100% - 40px));
    margin:0 auto;
    padding:30px 0 45px;
}
.minimal-footer-brand{
    display:grid;
    gap:2px;
}
.minimal-footer-brand strong{
    font-size:10px;
}
.minimal-footer-brand span,
.minimal-footer small{
    color:var(--muted);
    font-size:7px;
}
.minimal-footer nav{
    display:flex;
    gap:18px;
}
.minimal-footer nav a{
    color:var(--muted);
    text-decoration:none;
    font-size:7px;
    font-weight:800;
}
.minimal-footer>small{
    justify-self:end;
}

/* Tablet */
@media(max-width:1020px){
    .minimal-header{
        padding-inline:20px;
    }
    .minimal-hero{
        grid-template-columns:1fr;
        gap:45px;
        min-height:0;
        padding-top:70px;
    }
    .minimal-hero-copy{
        max-width:760px;
    }
    .minimal-product-preview{
        width:min(100%,760px);
        margin:0 auto;
    }
    .minimal-feature-grid{
        grid-template-columns:1fr 1fr;
    }
    .minimal-office-section{
        grid-template-columns:1fr;
    }
    .minimal-process-grid{
        grid-template-columns:1fr 1fr;
    }
    .minimal-process-grid article:nth-child(2){
        border-right:0;
    }
    .minimal-process-grid article:nth-child(-n+2){
        border-bottom:1px solid var(--mh-line);
    }
}

/* Mobile rework real */
@media(max-width:820px){
    .minimal-header{
        grid-template-columns:1fr auto;
        gap:10px;
        min-height:64px;
        padding:9px 14px;
    }
    .minimal-brand img{
        width:44px;
        max-height:28px;
    }
    .minimal-brand-copy strong{
        font-size:14px;
    }
    .minimal-brand-copy small{
        display:none;
    }
    .minimal-desktop-nav,
    .minimal-desktop-only{
        display:none!important;
    }
    .minimal-header-actions{
        gap:7px;
    }
    .minimal-theme-button{
        width:38px;
        min-width:38px;
        height:38px;
        border-radius:11px;
    }
    .minimal-header-cta{
        display:none;
    }
    .minimal-menu-button{
        display:grid;
        width:38px;
        min-width:38px;
        height:38px;
        border-radius:11px;
    }
    .minimal-mobile-menu{
        position:absolute;
        top:64px;
        left:10px;
        right:10px;
        display:grid;
        gap:16px;
        padding:15px;
        border:1px solid var(--mh-line);
        border-radius:18px;
        background:var(--surface);
        box-shadow:0 24px 60px rgba(20,18,47,.18);
    }
    .minimal-mobile-menu[hidden]{
        display:none!important;
    }
    .minimal-mobile-menu nav{
        display:grid;
    }
    .minimal-mobile-menu nav a{
        padding:13px 5px;
        border-bottom:1px solid var(--mh-line);
        color:var(--text);
        text-decoration:none;
        font-size:11px;
        font-weight:800;
    }
    .minimal-mobile-menu nav a:last-child{
        border-bottom:0;
    }
    .minimal-mobile-menu>div{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
    }
    .minimal-mobile-menu .btn{
        min-height:43px;
    }
    .minimal-main{
        width:calc(100% - 28px);
    }
    .minimal-hero{
        gap:36px;
        padding:52px 0 62px;
    }
    .minimal-kicker{
        font-size:7px;
        letter-spacing:.11em;
    }
    .minimal-hero-copy h1{
        margin:16px 0 20px;
        font-size:clamp(47px,14vw,62px);
        line-height:.93;
        letter-spacing:-3.5px;
    }
    .minimal-hero-lead{
        font-size:12px;
        line-height:1.68;
    }
    .minimal-hero-actions{
        display:grid;
        grid-template-columns:1fr;
        gap:8px;
        margin-top:25px;
    }
    .minimal-big-button{
        width:100%;
        min-height:50px;
        justify-content:center;
    }
    .minimal-hero-notes{
        display:grid;
        gap:7px;
        margin-top:18px;
    }
    .minimal-hero-notes span{
        font-size:8px;
    }
    .minimal-product-preview::before{
        inset:15% 0 -8% 15%;
    }
    .minimal-preview-shell{
        padding:9px;
        border-radius:20px;
    }
    .minimal-preview-banner{
        padding:17px;
        border-radius:14px;
    }
    .minimal-preview-banner strong{
        font-size:17px;
    }
    .minimal-preview-stats{
        gap:6px;
    }
    .minimal-preview-stats article{
        min-height:65px;
        padding:9px;
        border-radius:11px;
    }
    .minimal-preview-stats strong{
        font-size:9px;
    }
    .minimal-preview-bottom{
        grid-template-columns:1fr;
    }
    .minimal-calendar-card{
        display:none;
    }
    .minimal-agenda-card{
        min-height:auto;
    }
    .minimal-value-strip{
        grid-template-columns:1fr 1fr;
        margin-bottom:80px;
    }
    .minimal-value-strip article{
        min-height:82px;
        padding:16px;
        border-bottom:1px solid var(--mh-line);
    }
    .minimal-value-strip article:nth-child(2){
        border-right:0;
    }
    .minimal-value-strip article:nth-child(n+3){
        border-bottom:0;
    }
    .minimal-section,
    .minimal-process-section,
    .minimal-pricing-section,
    .minimal-faq-section{
        margin-bottom:82px;
    }
    .minimal-section-head{
        grid-template-columns:1fr;
        gap:17px;
        margin-bottom:25px;
    }
    .minimal-section-head h2{
        font-size:40px;
        letter-spacing:-2.3px;
    }
    .minimal-section-head>p{
        font-size:10px;
    }
    .minimal-feature-grid{
        grid-template-columns:1fr;
        gap:9px;
    }
    .minimal-feature-card,
    .minimal-feature-highlight{
        min-height:0;
        padding:20px;
        border-radius:17px;
    }
    .minimal-feature-icon{
        margin-bottom:24px;
    }
    .minimal-feature-card h3{
        font-size:13px;
    }
    .minimal-feature-card p{
        font-size:9px;
    }
    .minimal-office-section{
        gap:32px;
        margin-bottom:82px;
        padding:28px 20px;
        border-radius:22px;
    }
    .minimal-office-copy h2{
        font-size:39px;
        letter-spacing:-2.3px;
    }
    .minimal-office-list{
        grid-template-columns:1fr;
    }
    .minimal-office-sheet{
        min-height:250px;
        padding:20px 12px;
        overflow-x:auto;
    }
    .minimal-sheet-row{
        min-width:480px;
    }
    .minimal-process-grid{
        grid-template-columns:1fr;
    }
    .minimal-process-grid article{
        min-height:130px;
        border-right:0;
        border-bottom:1px solid var(--mh-line);
    }
    .minimal-process-grid article:nth-child(-n+2){
        border-bottom:1px solid var(--mh-line);
    }
    .minimal-process-grid article:last-child{
        border-bottom:0;
    }
    .minimal-process-grid article>span{
        margin-bottom:20px;
    }
    .minimal-pricing-grid{
        grid-template-columns:1fr;
    }
    .minimal-plan-card{
        min-height:auto;
        padding:27px 22px;
    }
    .minimal-plan-price strong{
        font-size:38px;
    }
    .minimal-quote-section{
        margin-bottom:82px;
        padding:38px 23px;
        border-radius:22px;
    }
    .minimal-quote-section blockquote{
        font-size:40px;
        letter-spacing:-2.4px;
    }
    .minimal-faq-list summary{
        padding:18px 0;
        font-size:11px;
    }
    .minimal-final-cta{
        grid-template-columns:1fr;
        gap:25px;
        margin-bottom:30px;
        padding:35px 23px;
        border-radius:22px;
    }
    .minimal-final-cta h2{
        font-size:40px;
        letter-spacing:-2.4px;
    }
    .minimal-final-button{
        width:100%;
        justify-content:center;
    }
    .minimal-footer{
        grid-template-columns:1fr;
        gap:20px;
        width:calc(100% - 28px);
        padding-bottom:35px;
    }
    .minimal-footer nav{
        flex-wrap:wrap;
        gap:12px 18px;
    }
    .minimal-footer>small{
        justify-self:start;
    }
}

/* Celulares estreitos */
@media(max-width:430px){
    .minimal-main{
        width:calc(100% - 22px);
    }
    .minimal-header{
        padding-inline:11px;
    }
    .minimal-brand{
        gap:7px;
    }
    .minimal-brand img{
        width:40px;
    }
    .minimal-brand-copy strong{
        font-size:13px;
    }
    .minimal-hero{
        padding-top:42px;
    }
    .minimal-hero-copy h1{
        font-size:44px;
        letter-spacing:-3px;
    }
    .minimal-hero-lead{
        font-size:11px;
    }
    .minimal-mobile-menu>div{
        grid-template-columns:1fr;
    }
    .minimal-preview-stats article{
        padding:8px 6px;
    }
    .minimal-preview-stats small{
        font-size:5.5px;
    }
    .minimal-preview-stats strong{
        font-size:8px;
    }
    .minimal-section-head h2,
    .minimal-office-copy h2,
    .minimal-final-cta h2{
        font-size:36px;
    }
    .minimal-quote-section blockquote{
        font-size:36px;
    }
}


/* ==========================================================
   v5.25.15 — comunidade Discord
   ========================================================== */
.minimal-community-section{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,.68fr);
    gap:64px;
    align-items:center;
    margin-bottom:115px;
    padding:58px;
    overflow:hidden;
    border-radius:28px;
    background:
        radial-gradient(circle at 88% 12%,rgba(255,255,255,.16),transparent 26%),
        linear-gradient(135deg,#26205d,var(--accent));
    color:#fff;
    box-shadow:0 28px 80px rgba(var(--accent-rgb),.17);
}
.minimal-community-copy h2{
    max-width:720px;
    margin:15px 0 18px;
    font-size:clamp(40px,4.4vw,58px);
    line-height:.98;
    letter-spacing:-3px;
}
.minimal-community-copy>p{
    max-width:650px;
    margin:0;
    color:rgba(255,255,255,.72);
    font-size:11px;
    line-height:1.75;
}
.minimal-community-benefits{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px 18px;
    margin-top:24px;
}
.minimal-community-benefits span{
    position:relative;
    padding-left:15px;
    color:rgba(255,255,255,.90);
    font-size:8px;
    font-weight:750;
}
.minimal-community-benefits span::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:6px;
    height:6px;
    transform:translateY(-50%);
    border-radius:50%;
    background:#9e90ff;
}
.minimal-community-action{
    display:grid;
    gap:12px;
}
.minimal-discord-card{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:13px;
    align-items:center;
    padding:18px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:18px;
    background:rgba(255,255,255,.09);
    backdrop-filter:blur(16px);
}
.minimal-discord-mark{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border-radius:15px;
    background:#5865F2;
    color:#fff;
    font-size:20px;
    font-weight:900;
}
.minimal-discord-card>div:last-child{
    display:grid;
    gap:3px;
}
.minimal-discord-card small{
    color:rgba(255,255,255,.58);
    font-size:6px;
    font-weight:900;
    letter-spacing:.13em;
}
.minimal-discord-card strong{
    font-size:14px;
}
.minimal-discord-card span{
    color:rgba(255,255,255,.72);
    font-size:7px;
}
.minimal-discord-button{
    min-height:50px;
    justify-content:center;
    border:0;
    border-radius:14px;
    background:#fff;
    color:#282255;
    font-size:10px;
    font-weight:900;
}
.minimal-discord-button:hover{
    color:#282255;
    transform:translateY(-1px);
}
.minimal-community-note{
    color:rgba(255,255,255,.52);
    text-align:center;
    font-size:7px;
}
.minimal-discord-mobile{
    grid-column:1 / -1;
}

@media(max-width:820px){
    .minimal-community-section{
        grid-template-columns:1fr;
        gap:30px;
        margin-bottom:82px;
        padding:34px 22px;
        border-radius:22px;
    }
    .minimal-community-copy h2{
        font-size:39px;
        letter-spacing:-2.3px;
    }
    .minimal-community-benefits{
        grid-template-columns:1fr;
    }
    .minimal-discord-button{
        width:100%;
    }
}
@media(max-width:430px){
    .minimal-community-copy h2{
        font-size:36px;
    }
    .minimal-discord-card{
        padding:14px;
    }
    .minimal-discord-mark{
        width:42px;
        height:42px;
        border-radius:13px;
    }
}


/* ==========================================================
   v5.25.16 — header premium desktop mobile
   ========================================================== */

.premium-site-header{
    min-height:72px;
    border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent);
    background:color-mix(in srgb,var(--bg) 91%,transparent);
    box-shadow:0 8px 35px rgba(20,18,45,.025);
    backdrop-filter:blur(22px) saturate(1.15);
}
.premium-site-brand{
    gap:11px;
}
.premium-site-brand img{
    width:52px;
}
.premium-site-brand .minimal-brand-copy strong{
    font-size:15px;
    letter-spacing:-.025em;
}
.premium-site-brand .minimal-brand-copy small{
    margin-top:2px;
    font-size:7px;
    font-weight:700;
}
.premium-site-nav{
    gap:3px;
}
.premium-site-nav a{
    position:relative;
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:0 13px;
    border-radius:11px;
    color:var(--muted);
    font-size:9px;
    font-weight:800;
    text-decoration:none;
    transition:
        color .18s ease,
        background .18s ease;
}
.premium-site-nav a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:5px;
    width:0;
    height:2px;
    transform:translateX(-50%);
    border-radius:999px;
    background:var(--accent);
    transition:width .18s ease;
}
.premium-site-nav a:hover{
    background:color-mix(in srgb,var(--accent) 5%,transparent);
    color:var(--text);
}
.premium-site-nav a:hover::after{
    width:16px;
}
.premium-site-actions{
    gap:9px;
}
.premium-theme-toggle{
    position:relative;
    width:42px;
    min-width:42px;
    height:42px;
    overflow:hidden;
    border:1px solid color-mix(in srgb,var(--border) 88%,transparent);
    border-radius:13px;
    background:color-mix(in srgb,var(--surface) 88%,transparent);
    color:var(--text);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 6px 20px rgba(20,18,45,.035);
    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}
.premium-theme-toggle:hover{
    transform:translateY(-1px);
    border-color:color-mix(in srgb,var(--accent) 28%,var(--border));
    background:color-mix(in srgb,var(--accent) 6%,var(--surface));
    box-shadow:0 10px 24px rgba(20,18,45,.07);
}
.premium-theme-toggle:active{
    transform:translateY(0) scale(.96);
}
.premium-theme-toggle [data-theme-icon]{
    display:grid;
    place-items:center;
    width:100%;
    height:100%;
}
.premium-theme-toggle [data-theme-icon] svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:
        transform .25s ease,
        opacity .2s ease,
        color .2s ease;
}
.premium-theme-toggle [data-theme-icon].is-moon svg{
    color:#54596a;
    transform:rotate(-7deg);
}
[data-theme="dark"] .premium-theme-toggle [data-theme-icon].is-sun svg{
    color:#f3bf5b;
    transform:rotate(18deg);
}
[data-theme="dark"] .premium-theme-toggle{
    background:#171a22;
    border-color:#2a2e3a;
}
.premium-login-link{
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:0 8px;
    color:var(--muted);
    text-decoration:none;
    font-size:9px;
    font-weight:800;
}
.premium-login-link:hover{
    color:var(--text);
}
.premium-header-cta{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:42px;
    padding:0 16px;
    border-radius:12px;
    font-size:9px;
    font-weight:850;
    box-shadow:0 10px 25px rgba(var(--accent-rgb),.15);
}
.premium-header-cta svg{
    width:15px;
    height:15px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform .18s ease;
}
.premium-header-cta:hover svg{
    transform:translateX(2px);
}
.premium-menu-button{
    display:none;
}

/* menu mobile premium */
.premium-mobile-menu{
    box-shadow:0 28px 70px rgba(17,15,38,.19);
}
.premium-mobile-menu-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:2px 2px 10px;
    border-bottom:1px solid var(--mh-line);
}
.premium-mobile-menu-head span{
    font-size:10px;
    font-weight:900;
}
.premium-mobile-menu-head small{
    color:var(--muted);
    font-size:7px;
}
.premium-mobile-menu nav a{
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.premium-mobile-menu nav a b{
    color:var(--muted);
    font-size:7px;
    font-weight:700;
}
.premium-mobile-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
}
.premium-mobile-actions .btn{
    width:100%;
    justify-content:center;
}
.premium-mobile-discord{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:42px;
    padding:0 12px;
    border:1px solid var(--mh-line);
    border-radius:11px;
    color:var(--muted);
    text-decoration:none;
    font-size:8px;
    font-weight:800;
}
.premium-mobile-discord:hover{
    color:var(--text);
    border-color:color-mix(in srgb,var(--accent) 28%,var(--border));
}

@media(max-width:1000px) and (min-width:821px){
    .premium-site-nav a{
        padding-inline:9px;
        font-size:8px;
    }
    .premium-site-header{
        gap:16px;
    }
    .premium-site-brand img{
        width:46px;
    }
}

/* Mobile: header compacto, sem cara de desktop espremido */
@media(max-width:820px){
    .premium-site-header{
        position:sticky;
        top:0;
        grid-template-columns:minmax(0,1fr) auto;
        min-height:62px;
        padding:8px 12px;
        border-bottom:1px solid var(--mh-line);
        background:color-mix(in srgb,var(--bg) 94%,transparent);
    }
    .premium-site-brand{
        min-width:0;
    }
    .premium-site-brand img{
        width:43px;
        max-height:27px;
    }
    .premium-site-brand .minimal-brand-copy{
        min-width:0;
    }
    .premium-site-brand .minimal-brand-copy strong{
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        font-size:13px;
    }
    .premium-site-brand .minimal-brand-copy small{
        display:none;
    }
    .premium-site-nav,
    .premium-login-link,
    .premium-header-cta{
        display:none!important;
    }
    .premium-site-actions{
        display:flex;
        gap:7px;
    }
    .premium-theme-toggle{
        width:38px;
        min-width:38px;
        height:38px;
        border-radius:11px;
    }
    .premium-theme-toggle [data-theme-icon] svg{
        width:18px;
        height:18px;
    }
    .premium-menu-button{
        display:grid;
        width:38px;
        min-width:38px;
        height:38px;
        border-radius:11px;
        background:var(--surface);
    }
    .premium-mobile-menu{
        top:62px;
        left:9px;
        right:9px;
        gap:12px;
        padding:14px;
        border-radius:16px;
        max-height:calc(100vh - 78px);
        overflow:auto;
    }
    .premium-mobile-menu nav a{
        min-height:46px;
        padding:0 5px;
        font-size:10px;
    }
    .premium-mobile-menu nav a:last-child{
        border-bottom:0;
    }
}

@media(max-width:390px){
    .premium-site-header{
        padding-inline:9px;
    }
    .premium-site-brand{
        gap:7px;
    }
    .premium-site-brand img{
        width:38px;
    }
    .premium-site-brand .minimal-brand-copy strong{
        font-size:12px;
    }
    .premium-theme-toggle,
    .premium-menu-button{
        width:36px;
        min-width:36px;
        height:36px;
    }
}


/* ==========================================================
   v5.25.17 — módulo Acessos / estatísticas públicas
   ========================================================== */
.access-admin-card{
    display:grid;
    gap:16px;
}
.access-admin-head{
    align-items:flex-start;
}
.access-quick-filters{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}
.access-quick-filters a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 13px;
    border:1px solid var(--border);
    border-radius:999px;
    color:var(--text);
    background:var(--surface);
    text-decoration:none;
    font-size:8px;
    font-weight:850;
}
.access-quick-filters a:hover,
.access-quick-filters a.active{
    border-color:var(--accent);
    background:var(--accent);
    color:#fff;
}
.access-period-form{
    display:flex;
    align-items:end;
    gap:8px;
    padding:13px;
    border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border));
    border-radius:13px;
    background:color-mix(in srgb,var(--accent) 4%,var(--surface-2));
}
.access-period-form label{
    display:grid;
    gap:5px;
    min-width:155px;
    color:var(--text);
    font-size:8px;
    font-weight:850;
}
.access-period-form input{
    min-height:38px;
}
.access-period-form .btn{
    min-height:38px;
}
.access-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
}
.access-summary-grid article{
    display:grid;
    gap:5px;
    min-height:92px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:13px;
    background:var(--surface-2);
}
.access-summary-grid small{
    color:var(--muted);
    font-size:7px;
    font-weight:850;
}
.access-summary-grid strong{
    color:var(--accent);
    font-size:22px;
    line-height:1;
}
.access-summary-grid span{
    color:var(--muted);
    font-size:7px;
}
.access-selected-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:9px;
}
.access-selected-grid article{
    display:grid;
    gap:4px;
    min-height:64px;
    padding:12px 14px;
    border-radius:11px;
    background:color-mix(in srgb,var(--text) 92%,var(--accent) 8%);
    color:var(--bg);
}
[data-theme="dark"] .access-selected-grid article{
    background:#172640;
    color:#fff;
}
.access-selected-grid small{
    color:color-mix(in srgb,currentColor 68%,transparent);
    font-size:7px;
    font-weight:800;
}
.access-selected-grid strong{
    font-size:11px;
}
.access-selected-grid article:not(.access-selected-period) strong{
    font-size:17px;
}
.access-chart-card{
    overflow:hidden;
    padding:15px 15px 10px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--surface);
}
.access-chart-scroll{
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:thin;
}
.access-chart-svg{
    display:block;
    width:100%;
    height:300px;
}
.access-chart-gridline{
    stroke:color-mix(in srgb,var(--border) 78%,transparent);
    stroke-width:1;
}
.access-chart-y-label,
.access-chart-x-label{
    fill:var(--muted);
    font-size:8px;
    font-family:inherit;
}
.access-chart-line{
    fill:none;
    stroke-width:2.6;
    stroke-linejoin:round;
    stroke-linecap:round;
}
.access-chart-views{
    stroke:#2272f4;
}
.access-chart-unique{
    stroke:#10bca7;
}
.access-chart-point{
    stroke-width:2;
    fill:var(--surface);
}
.access-chart-view-point{
    stroke:#2272f4;
}
.access-chart-unique-point{
    stroke:#10bca7;
}
.access-chart-legend{
    display:flex;
    justify-content:center;
    gap:18px;
    padding:7px 0 0;
}
.access-chart-legend span{
    display:flex;
    align-items:center;
    gap:6px;
    color:var(--muted);
    font-size:7px;
}
.access-chart-legend i{
    display:block;
    width:8px;
    height:8px;
    border-radius:50%;
}
.access-chart-legend i.views{
    background:#2272f4;
}
.access-chart-legend i.unique{
    background:#10bca7;
}
.access-pages-card{
    display:grid;
    gap:10px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--surface-2);
}
.access-pages-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:15px;
}
.access-pages-head h4{
    margin:4px 0 0;
    font-size:11px;
}
.access-pages-head>span{
    color:var(--muted);
    font-size:7px;
}
.access-pages-list{
    display:grid;
    gap:7px;
}
.access-pages-list article{
    display:grid;
    grid-template-columns:minmax(120px,1fr) 2fr 70px;
    align-items:center;
    gap:12px;
    padding:10px 11px;
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--surface);
}
.access-pages-list article>div:first-child{
    display:grid;
    gap:2px;
}
.access-pages-list article strong{
    font-size:8px;
}
.access-pages-list article>strong{
    justify-self:end;
    color:var(--accent);
    font-size:11px;
}
.access-pages-list article small{
    color:var(--muted);
    font-size:6px;
}
.access-page-bar{
    height:7px;
    overflow:hidden;
    border-radius:999px;
    background:color-mix(in srgb,var(--accent) 8%,var(--surface-2));
}
.access-page-bar i{
    display:block;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,var(--accent),#8f75ff);
}
.access-privacy-note{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:9px;
    align-items:start;
    padding:11px 13px;
    border:1px solid color-mix(in srgb,#10bca7 22%,var(--border));
    border-radius:11px;
    background:color-mix(in srgb,#10bca7 5%,var(--surface));
}
.access-privacy-note strong{
    color:#0fa88f;
    font-size:8px;
}
.access-privacy-note span{
    color:var(--muted);
    font-size:7px;
    line-height:1.6;
}

@media(max-width:1000px){
    .access-summary-grid{
        grid-template-columns:1fr 1fr;
    }
    .access-selected-grid{
        grid-template-columns:1fr 1fr;
    }
    .access-selected-period{
        grid-column:1 / -1;
    }
}
@media(max-width:720px){
    .access-admin-head{
        display:grid;
        gap:12px;
    }
    .access-quick-filters{
        display:grid;
        grid-template-columns:repeat(4,1fr);
        width:100%;
    }
    .access-quick-filters a{
        padding-inline:8px;
    }
    .access-period-form{
        display:grid;
        grid-template-columns:1fr 1fr;
    }
    .access-period-form label{
        min-width:0;
    }
    .access-period-form .btn{
        grid-column:1 / -1;
        width:100%;
    }
    .access-chart-card{
        padding-inline:8px;
    }
    .access-pages-list article{
        grid-template-columns:1fr auto;
    }
    .access-page-bar{
        grid-column:1 / -1;
        grid-row:2;
    }
    .access-privacy-note{
        grid-template-columns:1fr;
    }
}
@media(max-width:430px){
    .access-summary-grid{
        grid-template-columns:1fr 1fr;
        gap:7px;
    }
    .access-summary-grid article{
        min-height:86px;
        padding:12px;
    }
    .access-summary-grid strong{
        font-size:20px;
    }
    .access-selected-grid{
        grid-template-columns:1fr;
    }
    .access-selected-period{
        grid-column:auto;
    }
    .access-period-form{
        grid-template-columns:1fr;
    }
    .access-period-form .btn{
        grid-column:auto;
    }
}


/* ==========================================================
   v5.25.18 — Discord / atualizações automáticas
   ========================================================== */
.discord-updates-settings-card{
    display:grid;
    gap:15px;
}
.discord-updates-head{
    align-items:flex-start;
}
.discord-updates-preview{
    position:relative;
    display:grid;
    grid-template-columns:4px 1fr;
    gap:14px;
    overflow:hidden;
    padding:16px;
    border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));
    border-radius:14px;
    background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,var(--surface)),var(--surface));
}
.discord-preview-accent{
    width:4px;
    min-height:92px;
    border-radius:999px;
    background:var(--accent);
}
.discord-updates-preview>div:last-child{
    display:grid;
    gap:5px;
}
.discord-updates-preview small{
    color:var(--accent);
    font-size:7px;
    font-weight:900;
    letter-spacing:.12em;
}
.discord-updates-preview strong{
    font-size:13px;
}
.discord-updates-preview p{
    margin:0;
    color:var(--muted);
    font-size:8px;
    line-height:1.6;
}
.discord-updates-preview span{
    color:var(--muted);
    font-size:7px;
}
.discord-updates-form{
    align-items:start;
}
.discord-everyone-switch,
.discord-current-switch{
    min-height:68px;
}
.discord-security-note{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:9px;
    align-items:start;
    padding:11px 13px;
    border:1px solid color-mix(in srgb,#13b773 25%,var(--border));
    border-radius:11px;
    background:color-mix(in srgb,#13b773 5%,var(--surface));
}
.discord-security-note strong{
    color:#13a86a;
    font-size:8px;
}
.discord-security-note span{
    color:var(--muted);
    font-size:7px;
    line-height:1.6;
}
.discord-updates-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.discord-last-announcement{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:11px 13px;
    border:1px solid var(--border);
    border-radius:11px;
    background:var(--surface-2);
}
.discord-last-announcement span{
    color:var(--muted);
    font-size:7px;
}
.discord-last-announcement strong{
    color:var(--accent);
    font-size:8px;
}
@media(max-width:720px){
    .discord-updates-actions{
        display:grid;
        grid-template-columns:1fr;
    }
    .discord-updates-actions .btn{
        width:100%;
        justify-content:center;
    }
    .discord-security-note{
        grid-template-columns:1fr;
    }
}


/* ==========================================================
   v5.25.19 — navegação das Configurações com setas
   ========================================================== */
.settings-module-nav-shell{
    position:relative;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 42px;
    align-items:center;
    gap:8px;
    width:100%;
    max-width:1120px;
    margin:0 0 20px;
}
.settings-module-nav-shell .settings-module-nav{
    width:100%;
    max-width:none;
    min-width:0;
    margin:0;
    padding:5px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-behavior:smooth;
    scroll-snap-type:x proximity;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
}
.settings-module-nav-shell .settings-module-nav::-webkit-scrollbar{
    display:none;
}
.settings-module-nav-shell .settings-module-nav .health-module-tab{
    flex:0 0 auto;
    min-width:138px;
    scroll-snap-align:center;
}
.settings-module-arrow{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    padding:0;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--surface);
    color:var(--text);
    box-shadow:var(--shadow-soft);
    cursor:pointer;
    transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease;
}
.settings-module-arrow svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.settings-module-arrow:hover:not(:disabled){
    color:#fff;
    border-color:var(--accent);
    background:var(--accent);
    transform:translateY(-1px);
}
.settings-module-arrow:active:not(:disabled){
    transform:translateY(0) scale(.96);
}
.settings-module-arrow:disabled{
    opacity:.28;
    cursor:default;
    box-shadow:none;
}
.settings-module-nav-shell::before,
.settings-module-nav-shell::after{
    content:"";
    position:absolute;
    z-index:2;
    top:6px;
    bottom:6px;
    width:18px;
    pointer-events:none;
    opacity:0;
    transition:opacity .16s ease;
}
.settings-module-nav-shell::before{
    left:50px;
    background:linear-gradient(90deg,var(--surface),transparent);
}
.settings-module-nav-shell::after{
    right:50px;
    background:linear-gradient(270deg,var(--surface),transparent);
}
.settings-module-nav-shell.has-prev::before{opacity:1}
.settings-module-nav-shell.has-next::after{opacity:1}

@media(max-width:680px){
    .settings-module-nav-shell{
        grid-template-columns:38px minmax(0,1fr) 38px;
        gap:6px;
        margin-bottom:14px;
    }
    .settings-module-arrow{
        width:38px;
        height:38px;
        border-radius:11px;
    }
    .settings-module-arrow svg{
        width:16px;
        height:16px;
    }
    .settings-module-nav-shell .settings-module-nav{
        gap:6px;
        padding:4px;
    }
    .settings-module-nav-shell .settings-module-nav .health-module-tab{
        min-width:128px;
        min-height:38px;
        padding-inline:12px;
    }
    .settings-module-nav-shell::before{left:44px}
    .settings-module-nav-shell::after{right:44px}
}

@media(max-width:420px){
    .settings-module-nav-shell{
        grid-template-columns:36px minmax(0,1fr) 36px;
        gap:5px;
    }
    .settings-module-arrow{
        width:36px;
        height:36px;
        border-radius:10px;
    }
    .settings-module-nav-shell .settings-module-nav .health-module-tab{
        min-width:118px;
        font-size:10px;
    }
    .settings-module-nav-shell::before{left:41px}
    .settings-module-nav-shell::after{right:41px}
}


/* ==========================================================
   v5.25.20 — administração alinhada e atalhos navegáveis
   ========================================================== */

.admin-settings-overview{
    width:100%;
    max-width:1120px;
    min-width:0;
    overflow:hidden;
}

.admin-settings-shortcuts{
    min-width:0;
}
.admin-settings-shortcuts a{
    min-width:0;
}
.admin-settings-shortcuts strong,
.admin-settings-shortcuts small{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
}

#admin-mercadopago,
#admin-payments,
#admin-accesses,
#admin-discord-updates,
#admin-onlyoffice,
#admin-users{
    scroll-margin-top:118px;
}

.settings-jump-highlight{
    animation:settings-jump-pulse 1.15s ease;
}
@keyframes settings-jump-pulse{
    0%{
        box-shadow:
            0 0 0 0 color-mix(in srgb,var(--accent) 0%,transparent),
            var(--shadow);
    }
    28%{
        box-shadow:
            0 0 0 3px color-mix(in srgb,var(--accent) 34%,transparent),
            0 18px 55px color-mix(in srgb,var(--accent) 10%,transparent);
    }
    100%{
        box-shadow:
            0 0 0 0 color-mix(in srgb,var(--accent) 0%,transparent),
            var(--shadow);
    }
}

@media(max-width:900px){
    .admin-settings-overview{
        max-width:1120px;
    }
}

@media(max-width:680px){
    #admin-mercadopago,
    #admin-payments,
    #admin-accesses,
    #admin-discord-updates,
    #admin-onlyoffice,
    #admin-users{
        scroll-margin-top:92px;
    }
}


/* ==========================================================
   v5.25.21 — backup completo e rework
   ========================================================== */
.backup-center-card{
    gap:16px;
}
.backup-center-head{
    align-items:flex-start;
}
.backup-ready-badge{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border:1px solid color-mix(in srgb,var(--green) 35%,var(--border));
    border-radius:999px;
    background:color-mix(in srgb,var(--green) 8%,var(--surface));
    color:var(--green);
    font-size:7px;
    font-weight:900;
    white-space:nowrap;
}
.backup-overview-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
}
.backup-overview-grid article{
    display:grid;
    gap:5px;
    min-height:94px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:13px;
    background:var(--surface-2);
}
.backup-overview-grid small{
    color:var(--muted);
    font-size:7px;
    font-weight:850;
}
.backup-overview-grid strong{
    font-size:15px;
    letter-spacing:-.2px;
}
.backup-overview-grid span{
    color:var(--muted);
    font-size:7px;
    line-height:1.5;
    overflow-wrap:anywhere;
}
.backup-overview-grid code{
    font-size:6.5px;
}
.backup-download-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.backup-download-option{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:13px;
    align-items:start;
    min-width:0;
    padding:17px;
    border:1px solid var(--border);
    border-radius:15px;
    background:var(--surface-2);
}
.backup-download-complete{
    grid-column:1 / -1;
    grid-template-columns:auto minmax(0,1fr);
    border-color:color-mix(in srgb,var(--accent) 35%,var(--border));
    background:
        radial-gradient(circle at 92% 15%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 30%),
        var(--surface-2);
}
.backup-option-icon{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:13px;
    background:color-mix(in srgb,var(--green) 12%,var(--surface));
    color:var(--green);
    font-size:9px;
    font-weight:950;
}
.backup-option-icon.database{
    background:color-mix(in srgb,var(--blue) 11%,var(--surface));
    color:var(--blue);
}
.backup-option-icon.complete{
    background:color-mix(in srgb,var(--accent) 12%,var(--surface));
    color:var(--accent);
}
.backup-download-option>div:nth-child(2){
    min-width:0;
}
.backup-option-kicker{
    display:block;
    margin-bottom:4px;
    color:var(--muted);
    font-size:6px;
    font-weight:900;
    letter-spacing:.12em;
}
.backup-download-option h4{
    margin:0 0 6px;
    font-size:12px;
}
.backup-download-option p{
    margin:0;
    color:var(--muted);
    font-size:8px;
    line-height:1.6;
}
.backup-option-footer{
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding-top:12px;
    border-top:1px solid var(--border);
}
.backup-option-footer>span{
    color:var(--muted);
    font-size:7px;
}
.backup-option-footer .btn{
    flex:0 0 auto;
}
.backup-complete-list{
    grid-column:2;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px 14px;
    margin:2px 0 0;
    padding:0;
    list-style:none;
}
.backup-complete-list li{
    position:relative;
    padding-left:14px;
    color:var(--text);
    font-size:7.5px;
}
.backup-complete-list li::before{
    content:"✓";
    position:absolute;
    left:0;
    color:var(--green);
    font-weight:950;
}
.backup-sensitive-warning{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:10px;
    align-items:start;
    padding:12px 13px;
    border:1px solid color-mix(in srgb,var(--amber) 32%,var(--border));
    border-radius:12px;
    background:color-mix(in srgb,var(--amber) 6%,var(--surface));
}
.backup-sensitive-warning>span{
    display:grid;
    place-items:center;
    width:25px;
    height:25px;
    border-radius:8px;
    background:color-mix(in srgb,var(--amber) 16%,var(--surface));
    color:var(--amber);
    font-weight:950;
}
.backup-sensitive-warning>div{
    display:grid;
    gap:3px;
}
.backup-sensitive-warning strong{
    font-size:8px;
}
.backup-sensitive-warning p{
    margin:0;
    color:var(--muted);
    font-size:7px;
    line-height:1.55;
}
.backup-sensitive-warning code{
    font-size:6.5px;
}
.external-backup-card{
    border-top-color:color-mix(in srgb,var(--green) 35%,var(--border));
}

@media(max-width:980px){
    .backup-overview-grid{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:720px){
    .backup-center-head{
        display:grid;
        gap:10px;
    }
    .backup-ready-badge{
        justify-self:start;
    }
    .backup-download-grid{
        grid-template-columns:1fr;
    }
    .backup-download-complete{
        grid-column:auto;
    }
    .backup-complete-list{
        grid-column:1 / -1;
    }
}
@media(max-width:480px){
    .backup-overview-grid{
        grid-template-columns:1fr 1fr;
        gap:7px;
    }
    .backup-overview-grid article{
        min-height:88px;
        padding:12px;
    }
    .backup-overview-grid strong{
        font-size:13px;
    }
    .backup-download-option,
    .backup-download-complete{
        grid-template-columns:1fr;
        padding:14px;
    }
    .backup-complete-list{
        grid-column:auto;
        grid-template-columns:1fr;
    }
    .backup-option-footer{
        display:grid;
        grid-template-columns:1fr;
    }
    .backup-option-footer .btn{
        width:100%;
        justify-content:center;
    }
}


/* v5.25.22 — Google SEO Search Console */
.google-seo-card{gap:15px}.google-seo-status{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:7px;font-weight:900}.google-seo-status.is-active{border-color:color-mix(in srgb,var(--green) 35%,var(--border));background:color-mix(in srgb,var(--green) 7%,var(--surface));color:var(--green)}
.google-seo-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.google-seo-tools article{display:grid;gap:5px;min-width:0;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.google-seo-tools small{color:var(--muted);font-size:7px;font-weight:850}.google-seo-tools strong{overflow:hidden;color:var(--text);font-size:7px;text-overflow:ellipsis;white-space:nowrap}.google-seo-tools a{color:var(--accent);font-size:7px;font-weight:850;text-decoration:none}
.google-seo-form textarea{resize:vertical}.google-seo-checklist{padding:13px 14px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--accent) 4%,var(--surface-2))}.google-seo-checklist>strong{display:block;margin-bottom:7px;font-size:8px}.google-seo-checklist ol{display:grid;gap:5px;margin:0;padding-left:18px;color:var(--muted);font-size:7px;line-height:1.55}.google-seo-checklist code{font-size:6.5px}.google-seo-features{display:flex;flex-wrap:wrap;gap:7px}.google-seo-features span{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:var(--surface-2);font-size:7px;font-weight:800}#admin-google-seo{scroll-margin-top:118px}@media(max-width:850px){.google-seo-tools{grid-template-columns:1fr}}@media(max-width:680px){#admin-google-seo{scroll-margin-top:92px}}
