/* Tema compartilhado do PWA. tokens.css continua sendo a referência gerada do MAUI. */
:root {
 --h-bg:#19161d; --h-surface:#231f28; --h-raised:#2c2631; --h-border:#3c3342;
 --h-text:#f4eee8; --h-muted:#b8abbc; --h-accent:#ddb8d5; --h-soft:#342a38;
 --h-gold:#d0b99b; --h-rose:#d7a7ba; --h-shadow:0 12px 32px #09060c1c;
 --h-serif:Georgia,'Times New Roman',serif; --h-danger:#dc8596; --h-success:#88bba1;
 --font-display:var(--h-serif); --radius-card:20px; --radius-input:14px; --radius-btn:14px; --tabbar-height:86px;
 color-scheme:dark;
}
:root[data-theme="light"] {
 --h-bg:#f5f2ed; --h-surface:#fffdf9; --h-raised:#eee8e5; --h-border:#e3dbd6;
 --h-text:#342d38; --h-muted:#746873; --h-accent:#825d7b; --h-soft:#f0e6ed;
 --h-gold:#8d7352; --h-rose:#9b657c; --h-shadow:0 12px 32px #4b343509;
 --h-danger:#b44d63; --h-success:#3b7b58; color-scheme:light;
}
:root,:root[data-theme] {
 --PageBackgroundColor:var(--h-bg);
 --DatesBackgroundDark:var(--h-bg);
 --DatesBackgroundLight:var(--h-bg);
 --HomeBackgroundDark:var(--h-bg);
 --HomeBackgroundLight:var(--h-bg);
 --GradientDarkestPurple:var(--h-bg);
 --CardBackground:var(--h-surface);
 --Surface:var(--h-surface);
 --SurfaceDark:var(--h-surface);
 --LightCardBackground:var(--h-surface);
 --LightSurface:var(--h-surface);
 --DatesSurfaceDark:var(--h-surface);
 --DatesSurfaceLight:var(--h-surface);
 --HomeSurfaceDark:var(--h-surface);
 --HomeSurfaceLight:var(--h-surface);
 --DarkSurfaceVariant4:var(--h-surface);
 --DarkSurfaceVariant5:var(--h-surface);
 --SurfaceVariant1:var(--h-raised);
 --SurfaceVariant2:var(--h-raised);
 --SurfaceVariant3:var(--h-raised);
 --LightSurfaceVariant2:var(--h-raised);
 --Gray900Dark:var(--h-raised);
 --DatesSurfaceElevatedDark:var(--h-raised);
 --DatesSurfaceElevatedLight:var(--h-raised);
 --HomeSurfaceElevatedDark:var(--h-raised);
 --HomeSurfaceElevatedLight:var(--h-raised);
 --SkeletonPurple1:var(--h-raised);
 --BorderPurple:var(--h-border);
 --LightBorderPurple:var(--h-border);
 --DatesBorderDark:var(--h-border);
 --DatesBorderLight:var(--h-border);
 --HomeBorderDark:var(--h-border);
 --HomeBorderLight:var(--h-border);
 --PrimaryTextColor:var(--h-text);
 --LightPrimaryText:var(--h-text);
 --DatesTextPrimaryDark:var(--h-text);
 --DatesTextPrimaryLight:var(--h-text);
 --HomeTextPrimaryDark:var(--h-text);
 --HomeTextPrimaryLight:var(--h-text);
 --SecondaryTextColor:var(--h-muted);
 --TertiaryTextColor:var(--h-muted);
 --LightSecondaryText:var(--h-muted);
 --DatesTextSecondaryDark:var(--h-muted);
 --DatesTextSecondaryLight:var(--h-muted);
 --HomeTextSecondaryDark:var(--h-muted);
 --HomeTextSecondaryLight:var(--h-muted);
 --Gray200:var(--h-muted);
 --Gray300:var(--h-muted);
 --AccentPurple:var(--h-accent);
 --AccentPurpleLight:var(--h-accent);
 --PrimaryPurple:var(--h-accent);
 --PrimaryPurpleMedium:var(--h-accent);
 --SecondaryPurple:var(--h-accent);
 --LightPrimaryPurple:var(--h-accent);
 --LightPrimaryPurpleDark:var(--h-accent);
 --LightPrimaryPurpleMedium:var(--h-accent);
 --LightGradientPurpleDark:var(--h-accent);
 --LightSkeletonPurpleMedium:var(--h-accent);
 --DatesAccentDark:var(--h-accent);
 --DatesAccentLight:var(--h-accent);
 --HomeAccentDark:var(--h-accent);
 --HomeAccentLight:var(--h-accent);
 --HomeAccentSoftDark:var(--h-accent);
 --GradientPurple:var(--h-accent);
 --DarkGradientPurple:var(--h-accent);
 --DarkGradientPurpleDark:var(--h-accent);
 --Magenta:var(--h-accent);
 --MagentaBright:var(--h-accent);
 --HomeAccentSoftLight:var(--h-soft);
 --DatesGoldDark:var(--h-gold);
 --HomeGoldDark:var(--h-gold);
 --HomeGoldLight:var(--h-gold);
 --DatesRoseDark:var(--h-rose);
 --DatesRoseLight:var(--h-rose);
 --HomeRoseDark:var(--h-rose);
 --HomeRoseLight:var(--h-rose);
}

html,body { background:var(--h-bg); color:var(--h-text); }
body { font-size:15px; line-height:1.6; }
button,input,select,textarea { font-family:var(--font-inter); }
button { appearance:none; -webkit-appearance:none; cursor:pointer; }
button:disabled { cursor:default; opacity:.55; }
a { color:var(--h-accent); }
:where(button,a,input,select,textarea,[tabindex]):focus-visible { outline:2px solid var(--h-accent); outline-offset:3px; }
:root .app-shell { width:100%; max-width:none; margin:0; background:var(--h-bg); box-shadow:none; }
.app-content { padding-bottom:calc(112px + env(safe-area-inset-bottom)); }
.app-masthead { width:min(calc(100% - 80px),1200px); display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px 0 22px; margin:auto; border-bottom:1px solid var(--h-border); }
.app-wordmark { font-family:var(--h-serif); font-size:26px; color:var(--h-text); letter-spacing:-1px; }
.app-wordmark > span { margin-right:7px; color:var(--h-accent); font-family:var(--font-inter); }
.app-masthead > span { color:var(--h-muted); font-size:10px; letter-spacing:2px; }
:root .page-header { width:min(calc(100% - 80px),1200px); position:relative; min-height:96px; margin:auto; padding:20px 0; background:var(--h-bg); border-color:var(--h-border); box-sizing:border-box; }
:root .page-header .title { font-family:var(--h-serif); font-size:30px; line-height:1.25; font-weight:400; text-align:left; color:var(--h-text); }
:root .drawer-toggle { width:44px; min-height:44px; padding:10px; margin:0; border:1px solid var(--h-border); border-radius:50%; color:var(--h-text); font-size:16px; flex-shrink:0; }
:root .page-body { width:100%; max-width:920px; padding:28px 32px 44px; }
:root .page-body.narrow { max-width:640px; }
:root .btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; padding:12px 20px; font-size:14px; font-weight:600; line-height:1.5; border-radius:14px; text-align:center; text-decoration:none; }
:root .btn-primary-grad { background:var(--h-accent); color:var(--h-bg); border:1px solid transparent; }
:root .btn-secondary { background:var(--h-surface); color:var(--h-text); border:1px solid var(--h-border); }
:root .btn-link { border:0; min-height:44px; color:var(--h-accent); background:none; font-size:13px; font-weight:600; padding:10px; }
:root .btn-link:hover { text-decoration:underline; text-underline-offset:4px; }
:root .round-btn { min-width:44px; min-height:44px; border-color:var(--h-border); color:var(--h-text); background:var(--h-surface); }
:root .card { padding:24px; color:var(--h-text); background:var(--h-surface); border-color:var(--h-border); border-radius:20px; box-shadow:var(--h-shadow); }
:root .field { gap:8px; }
:root .field > label { color:var(--h-muted); font-size:10px; line-height:1.5; letter-spacing:1.4px; }
:root .field .input { min-height:54px; padding:0 16px; border:1px solid var(--h-border); border-radius:14px; background:var(--h-bg); color:var(--h-text); }
:root .field .input:focus-within { border-color:var(--h-accent); box-shadow:0 0 0 2px var(--h-soft); }
:root .field .input .fa { color:var(--h-accent); }
:root .field .input input { min-width:0; height:54px; font-size:16px; color:var(--h-text); }
:root .field .input input::placeholder { color:var(--h-muted); opacity:.8; }
:root .field textarea { width:100%; min-height:100px; font-size:16px; color:var(--h-text); background:var(--h-bg); border:1px solid var(--h-border); border-radius:14px; padding:14px; box-sizing:border-box; }
:root .field select { width:100%; font-size:16px; color:var(--h-text); background:var(--h-bg); }
:root .checkbox-row { gap:10px; font-size:13px; line-height:1.6; color:var(--h-muted); }
:root .checkbox-row input { flex-shrink:0; width:20px; height:20px; accent-color:var(--h-accent); }
:root .error-text { font-size:13px; line-height:1.6; color:var(--h-danger); }
:root .empty-state { padding:40px 24px; color:var(--h-muted); }
:root .empty-state :is(h1,h2,h3) { font-family:var(--h-serif); color:var(--h-text); font-size:28px; font-weight:400; line-height:1.2; }
:root .empty-state p { max-width:460px; margin:14px auto 24px; line-height:1.7; font-size:15px; }
:root .skeleton { background:var(--h-raised); }
:root .toast { color:var(--h-text); background:var(--h-surface); border-color:var(--h-border); font-size:14px; padding:16px 20px; border-radius:16px; box-shadow:var(--h-shadow); }
:root .install-banner { max-width:620px; margin-inline:auto; background:var(--h-surface); color:var(--h-text); border-color:var(--h-border); }
:root .drawer { background:var(--h-bg); border-color:var(--h-border); width:min(86vw,340px); }
:root .drawer-header { background:var(--h-bg); }
:root .drawer-user { border-color:var(--h-border); }
:root .drawer-menu button { min-height:52px; font-size:14px; color:var(--h-text); line-height:1.6; }
:root .drawer-menu button:hover { background:var(--h-soft); }
:root .drawer-user .sub { color:var(--h-muted); }
:root .drawer-user .avatar { color:var(--h-bg); background:var(--h-accent); }

/* Acesso: a mesma identidade editorial, com campos de leitura confortável. */
:root .login-bg { background:var(--h-bg); }
:root .login-bg :is(.mosaico,.veil) { display:none; }
:root .login-panel { box-sizing:border-box; max-width:1120px; width:100%; padding:40px 40px 48px; }
:root .login-panel:has(.login-hero) { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:44px 60px; min-height:100dvh; align-content:center; }
.login-panel:has(.login-hero) .topbar { grid-column:1/-1; padding-bottom:24px; border-bottom:1px solid var(--h-border); }
.login-panel:has(.login-hero) .login-hero { grid-column:1; align-self:center; }
.login-panel:has(.login-hero) .login-card { grid-column:2; }
.login-panel:has(.login-hero) .login-footer { grid-column:1/-1; }
:root .login-panel:not(:has(.login-hero)) { max-width:600px; }
:root .login-hero { margin:0; }
:root .eyebrow-chip { min-height:40px; border-color:var(--h-border); background:transparent; color:var(--h-muted); font-size:10px; }
:root .eyebrow-chip .fa { color:var(--h-accent); }
:root .login-hero .brand-icon { width:60px; height:60px; background:var(--h-soft); color:var(--h-accent); border-color:var(--h-border); border-radius:20px; font-size:23px; }
:root .login-hero .kicker { margin:30px 0 12px; color:var(--h-rose); font-size:10px; letter-spacing:1.8px; }
:root .login-hero h1 { font-family:var(--h-serif); font-size:64px; font-weight:400; letter-spacing:-2px; line-height:1.05; color:var(--h-text); margin:0; }
:root .login-hero p { max-width:350px; font-size:18px; line-height:1.75; color:var(--h-muted); margin:20px 0 0; }
:root .login-card { margin:0; padding:32px; gap:20px; border-radius:24px; background:var(--h-surface); border-color:var(--h-border); box-shadow:var(--h-shadow); }
.login-panel:not(:has(.login-hero)) .login-card { margin-top:28px; }
:root .login-card h2 { font-family:var(--h-serif); font-size:31px; font-weight:400; line-height:1.2; color:var(--h-text); margin:8px 0 12px; }
:root .login-card .section-kicker { color:var(--h-rose); font-size:10px; letter-spacing:1.8px; }
:root .login-card .sub { color:var(--h-muted); font-size:14px; line-height:1.7; margin:0; }
:root .login-footer { color:var(--h-muted); font-size:12px; text-align:center; padding:12px 0; }
:root .activation-box { background:var(--h-soft); border-color:var(--h-border); padding:18px; }.activation-box :is(.t,.s) { color:var(--h-text); }

/* Perfil e metas. */
.profile-page { display:flex; flex-direction:column; gap:20px; }
:root .profile-card { display:flex; flex-direction:column; align-items:center; gap:20px; padding:36px 28px; text-align:center; }
.profile-avatar { display:grid; place-items:center; width:96px; height:96px; border-radius:50%; overflow:hidden; border:4px solid var(--h-soft); background:var(--h-raised); font-size:34px; }
.profile-avatar img { width:100%; height:100%; object-fit:cover; }
.profile-name { font-family:var(--h-serif); font-size:29px; line-height:1.25; color:var(--h-text); }
.profile-email { font-size:14px; margin-top:8px; color:var(--h-muted); overflow-wrap:anywhere; }
.profile-actions { display:flex; flex-direction:column; gap:10px; }
.profile-connection { width:100%; border-top:1px solid var(--h-border); margin-top:4px; padding-top:24px; }
.profile-connection p { font-size:14px; line-height:1.7; color:var(--h-muted); }
.profile-pair-code { color:var(--h-accent); font-size:14px; letter-spacing:.5px; }
:root .metas-page { max-width:1100px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding:32px 40px 44px; }
:root .metas-head { grid-column:1/-1; align-items:start; margin-bottom:10px; }
:root .metas-head .t { font-family:var(--h-serif); font-size:34px; font-weight:400; color:var(--h-text); }
:root .metas-head .d { font-size:15px; line-height:1.75; color:var(--h-muted); max-width:740px; }
:root .banner-divisor { grid-column:1/-1; min-height:64px; margin:0; padding:16px 20px; border:1px solid var(--h-border); border-radius:16px; background:var(--h-soft); }
:root .banner-divisor .txt { font-size:15px; font-weight:600; color:var(--h-accent); }
.metas-page > :is(.card,.empty-state) { grid-column:1/-1; }
:root .meta-card { padding:22px; margin:0; background:var(--h-surface); border-color:var(--h-border); border-radius:20px; box-shadow:var(--h-shadow); }
:root .meta-title { font-size:17px; color:var(--h-text); white-space:normal; line-height:1.5; }
:root .meta-sub { font-size:13px; color:var(--h-muted); opacity:1; }
:root .meta-cat-icon { background:var(--h-soft); color:var(--h-accent); }
:root .meta-go { background:var(--h-soft); }
:root .meta-progress .track { background:var(--h-raised); }
:root .meta-progress .fill { background:var(--h-accent); }
:root .meta-progress .saved { color:var(--h-muted); font-size:12px; }
:root .meta-chip { font-size:11px; line-height:1.5; padding:5px 9px; }
:root .meta-chip.emdia { background:#244233; color:#a4d5bb; }
:root[data-theme="light"] .meta-chip.emdia { background:#e2f0e6; color:#326448; }
:root .meta-chip.precisa { background:#443624; color:#e0bd85; }
:root[data-theme="light"] .meta-chip.precisa { background:#f7ead6; color:#865e25; }

/* Leitura e agenda. */
:root .editorial-page,:root .calendar-page { width:min(calc(100% - 64px),1000px); padding:28px 0 44px; gap:20px; }
:root .editorial-page h1,:root .calendar-intro h1 { color:var(--h-text); font-family:var(--h-serif); font-size:34px; font-weight:400; line-height:1.2; }
:root .editorial-page > p,:root .calendar-intro p { color:var(--h-muted); font-size:15px; line-height:1.65; margin:0 0 12px; }
:root .editorial-list-card { padding:20px; grid-template-columns:100px minmax(0,1fr) 22px; gap:22px; background:var(--h-surface); border-color:var(--h-border); border-radius:20px; color:var(--h-text); }
:root .editorial-list-card > img,:root .editorial-list-card > .article-fallback { width:100px; height:100px; border-radius:14px; }
:root .editorial-list-copy { gap:10px; }
:root .editorial-list-copy small { color:var(--h-accent); font-size:12px; }
:root .editorial-list-copy strong { color:var(--h-text); font-family:var(--h-serif); font-weight:400; font-size:24px; line-height:1.3; }
:root .editorial-list-copy > span { color:var(--h-muted); font-size:14px; line-height:1.65; }
:root .article-fallback { color:var(--h-accent); background:var(--h-soft); }
:root .calendar-event-row { padding:24px; grid-template-columns:64px minmax(0,1fr); gap:20px; background:var(--h-surface); border-color:var(--h-border); border-radius:20px; }
:root .calendar-event-date { width:64px; height:72px; background:var(--h-soft); color:var(--h-accent); }
:root .calendar-event-date strong { font-family:var(--h-serif); font-size:28px; }
:root .calendar-event-date span { font-size:12px; }
:root .calendar-event-copy { gap:8px; }
:root .calendar-event-copy strong { color:var(--h-text); font-size:18px; }
:root .calendar-event-copy span,:root .calendar-event-copy small { color:var(--h-muted); font-size:13px; line-height:1.65; }

/* Conversas: contraste preservado nos balões e campo sempre acessível. */
:root .chat-page { width:min(100%,1000px); margin:auto; height:calc(100dvh - 210px); min-height:380px; border:1px solid var(--h-border); border-radius:24px; background:var(--h-surface); overflow:hidden; }
:root .chat-page .page-header { width:100%; flex-shrink:0; min-height:80px; padding:16px 24px; background:var(--h-surface); }
:root .chat-page .page-header .title { font-size:26px; }
:root .chat-scroll { min-height:0; padding:24px; gap:14px; }
:root .chat-page .msg { max-width:min(80%,620px); padding:13px 18px; font-size:15px; line-height:1.65; }
:root .chat-page .msg.mine { background:var(--h-accent); color:var(--h-bg); }
:root .chat-page .msg.theirs { background:var(--h-raised); color:var(--h-text); }
:root .chat-page .msg .when { font-size:11px; }
:root .chat-input { padding:16px 20px; gap:12px; background:var(--h-surface); border-color:var(--h-border); }
:root .chat-input input { min-width:0; height:50px; font-size:16px; background:var(--h-bg); color:var(--h-text); border-color:var(--h-border); border-radius:16px; }
:root .chat-input button { width:50px; height:50px; flex-shrink:0; background:var(--h-accent); color:var(--h-bg); border-radius:16px; }

/* Modais compartilhados, incluindo sintonia e ferramentas de desenho. */
:root :is(.modal-card,.modal-sheet,.sheet) { background:var(--h-surface); color:var(--h-text); border-color:var(--h-border); }
:root .modal-head { border-color:var(--h-border); gap:16px; }
:root .modal-head .modal-title .fa { color:var(--h-accent); }
:root .modal-head :is(.titulo,.t) { font-family:var(--h-serif); font-size:26px; font-weight:400; color:var(--h-text); }
:root .modal-head .subtitulo { font-size:14px; color:var(--h-muted); }
:root .modal-close { min-width:44px; min-height:44px; background:var(--h-raised); color:var(--h-text); }
:root .modal-body { padding:24px; }
:root .feat-item { gap:16px; margin-bottom:24px; }
:root .feat-icon { background:var(--h-soft); color:var(--h-accent); }
:root .feat-item .t { color:var(--h-text); font-size:17px; }
:root .feat-item .d { color:var(--h-muted); font-size:14px; line-height:1.7; }
:root :is(.feat-cta,.sint-send) { background:var(--h-accent); color:var(--h-bg); min-height:52px; font-size:15px; border-radius:14px; }
:root .sint-card { padding:20px; background:var(--h-bg); border-color:var(--h-border); }
:root .sint-head .t { color:var(--h-text); font-size:16px; }
:root .sint-moods.bateria { grid-template-columns:repeat(6,minmax(0,1fr)); }
:root .sint-mood { width:100%; min-width:0; min-height:48px; height:52px; border-color:var(--h-border); background:var(--h-raised); }
:root .sint-mood.selected { background:var(--h-soft); border-color:var(--h-accent); box-shadow:0 0 0 1px var(--h-accent); }
:root .sint-msg textarea { color:var(--h-text); font-size:16px; line-height:1.6; }
:root .sint-count { color:var(--h-muted); font-size:12px; }
:root .modal-full { background:var(--h-bg); color:var(--h-text); }
:root .stk-head { background:var(--h-surface); border-bottom:1px solid var(--h-border); padding:16px 20px; }
:root .stk-title { color:var(--h-text); font-family:var(--h-serif); font-size:24px; font-weight:400; }
:root .stk-close { color:var(--h-text); min-width:44px; min-height:44px; }
:root .stk-send { min-height:44px; padding:10px 16px; background:var(--h-accent); color:var(--h-bg); border-radius:14px; }
:root .stk-tools { background:var(--h-surface); border-color:var(--h-border); padding:18px 20px; }
:root .stk-transparent .t { color:var(--h-text); font-size:14px; }
:root .stk-transparent .d { color:var(--h-muted); font-size:12px; }
:root .stk-size .lbl { color:var(--h-muted); font-size:12px; }
:root .stk-size input { accent-color:var(--h-accent); }
:root .stk-row { flex-wrap:wrap; gap:8px; }
:root .stk-btn { min-height:44px; font-size:13px; padding:10px 14px; }
:root .stk-btn.brush { background:var(--h-accent); color:var(--h-bg); }
:root .stk-btn.ghost { background:var(--h-raised); color:var(--h-text); border-color:var(--h-border); }
:root .stk-btn.danger { background:transparent; color:var(--h-danger); border-color:var(--h-border); }
:root .stk-dot { min-width:32px; min-height:32px; border:2px solid var(--h-border); }
:root .stk-colors { padding:6px 0; gap:10px; }
:root .stk-dot.selected { outline:2px solid var(--h-accent); outline-offset:3px; }
:root .stk-sending { background:var(--h-surface); color:var(--h-text); }
.feature-coming { max-width:620px; margin:32px auto; padding:40px; border:1px solid var(--h-border); border-radius:26px; background:var(--h-surface); text-align:center; box-shadow:var(--h-shadow); }
.feature-coming-icon { display:grid; place-items:center; width:76px; height:76px; margin:0 auto 24px; border-radius:24px; background:var(--h-soft); font-size:34px; }
.feature-coming .kicker { font-size:10px; letter-spacing:1.8px; color:var(--h-rose); }
.feature-coming h2 { margin:12px 0; color:var(--h-text); font-family:var(--h-serif); font-weight:400; font-size:36px; line-height:1.2; }
.feature-coming p { max-width:440px; margin:0 auto 28px; color:var(--h-muted); font-size:15px; line-height:1.75; }
.feature-coming-actions { display:flex; flex-direction:column; gap:12px; width:min(100%,320px); margin:auto; }
@media (min-width:820px) {
 .modal-backdrop.sheet,.modal-backdrop.bottom-card { align-items:center; justify-content:center; padding:32px; }
 .modal-sheet,.modal-card { width:min(100%,620px); border-radius:26px; margin:0; }
 .modal-backdrop.fullscreen { padding:24px; align-items:center; }
 .modal-full { width:min(100%,1000px); border-radius:24px; }
}
@media (max-width:819px) {
 .app-masthead { display:none; }
 :root .page-header { position:sticky; top:0; z-index:20; width:100%; min-height:76px; padding:calc(12px + env(safe-area-inset-top)) 20px 12px; gap:14px; }
 :root .page-header .title { font-size:26px; }
 :root .page-body { padding:24px 20px 36px; }
 :root .login-panel,:root .login-panel:has(.login-hero) { display:block; padding:calc(20px + env(safe-area-inset-top)) 20px 32px; max-width:540px; min-height:100dvh; }
 .login-panel:has(.login-hero) .topbar { padding-bottom:18px; }
 :root .login-hero { margin:26px 0; }
 :root .login-hero .brand-icon { width:48px; height:48px; border-radius:16px; font-size:19px; }
 :root .login-hero .kicker { margin-top:18px; font-size:9px; }
 :root .login-hero h1 { font-size:44px; letter-spacing:-1px; }
 :root .login-hero p { font-size:15px; line-height:1.7; margin-top:14px; }
 :root .login-card { padding:24px 20px; gap:20px; }
 :root .login-card h2 { font-size:28px; }
 :root .login-footer { margin-top:24px; }
 :root .metas-page { display:flex; flex-direction:column; padding:24px 20px 36px; gap:16px; }
 :root .metas-head .t { font-size:28px; }.metas-head .d { font-size:14px; }
 :root .profile-card { padding:28px 22px; }.profile-name { font-size:27px; }
 :root .editorial-page,:root .calendar-page { width:calc(100% - 40px); padding:24px 0 36px; gap:16px; }
 :root .editorial-page h1,:root .calendar-intro h1 { font-size:28px; }
 :root .editorial-list-card { grid-template-columns:72px minmax(0,1fr) 14px; padding:16px; gap:12px; }
 :root .editorial-list-card > img,:root .editorial-list-card > .article-fallback { width:72px; height:86px; }
 :root .editorial-list-copy strong { font-size:19px; }.editorial-list-copy > span { font-size:12px; }
 :root .calendar-event-row { grid-template-columns:50px minmax(0,1fr); padding:18px; gap:14px; }
 :root .calendar-event-date { width:50px; height:62px; }:root .calendar-event-copy strong { font-size:16px; }
 :root .chat-page { height:calc(100dvh - var(--tabbar-height) - env(safe-area-inset-bottom)); border:0; border-radius:0; }
 :root .chat-page .page-header { min-height:74px; padding:12px 16px; }
 :root .chat-scroll { padding:20px 16px; }
 :root .chat-input { padding:12px 16px; gap:8px; }
 :root .chat-page .msg { max-width:86%; font-size:14px; }
 .feature-coming { padding:28px 22px; margin:12px auto; border-radius:22px; }.feature-coming h2 { font-size:30px; }.feature-coming p { font-size:14px; }
 :root .modal-body { padding:20px; }.modal-head .modal-title { min-width:0; }
 :root .modal-head :is(.titulo,.t) { font-size:24px; }
 :root .sint-card { padding:14px; }.sint-moods.bateria { gap:5px; }:root .sint-mood { font-size:23px; min-height:44px; height:48px; }
 :root .stk-head { padding:12px; gap:8px; }:root .stk-title { font-size:21px; }:root .stk-tools { padding:16px; }
}
:root .stk-row { display:flex; flex-wrap:wrap; }
:root .stk-size { flex:1 1 150px; min-width:100px; }
:root .stk-canvas-area { background:var(--h-bg); }
:root .stk-board { border-color:var(--h-border); }
:root .stk-transparent input { width:20px; height:20px; accent-color:var(--h-accent); }
:root .editorial-list-card { grid-template-columns:48px minmax(0,1fr) 22px; }
.editorial-list-number { align-self:start; font-family:var(--h-serif); font-size:29px; font-style:italic; color:var(--h-gold); line-height:1.4; }
:root .calendar-intro .cal-icon { background:var(--h-soft); color:var(--h-accent); }
:root .tabbar { box-sizing:border-box; }
@media (max-width:819px) {
 :root .editorial-list-card { grid-template-columns:28px minmax(0,1fr) 14px; }
 .editorial-list-number { font-size:23px; }
}
:root .banner-divisor { box-sizing:border-box; height:64px; }
:root .meta-create-form { display:flex; flex-direction:column; gap:18px; width:100%; max-width:760px; justify-self:center; box-sizing:border-box; }
.meta-form-title { font-family:var(--h-serif); font-size:26px; font-weight:400; color:var(--h-text); }
:root .field .form-select { appearance:none; -webkit-appearance:none; display:block; box-sizing:border-box; width:100%; height:54px; min-height:54px; padding:0 42px 0 16px; border:1px solid var(--h-border); border-radius:14px; background-color:var(--h-bg); color:var(--h-text); font-size:16px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%239b8397' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-size:16px; background-position:right 16px center; background-repeat:no-repeat; }

/* Marca do menu acompanha a paleta, sem o fundo fixo do antigo SVG. */
:root .drawer-wordmark { display:flex; align-items:center; gap:10px; min-height:60px; color:var(--h-text); }
:root .drawer-wordmark > span { margin:0; }
:root .drawer-wordmark .drawer-brand-name { font-family:var(--h-serif); color:var(--h-text); }
