/* CENTRAL 5.0 — RITMO DIÁRIO
   Uma superfície tátil, editorial e viva. A lógica da 4.1 permanece intacta. */

:root{
  --v5-paper:#F4EFE4;
  --v5-paper-light:#FBF8F1;
  --v5-paper-deep:#E9E1D3;
  --v5-ink:#302F24;
  --v5-muted:#7A7569;
  --v5-moss:#4C542C;
  --v5-olive:#737B4F;
  --v5-sage:#A8AB82;
  --v5-line:#D8D0C1;
  --v5-shadow:rgba(59,52,39,.14);
}

html,body{background:#EAE3D7!important;color:var(--v5-ink)!important}
body{
  background:
    radial-gradient(circle at 8% 10%,rgba(255,255,255,.72),transparent 28%),
    radial-gradient(circle at 91% 85%,rgba(112,104,74,.08),transparent 31%),
    #EAE3D7!important;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.19;mix-blend-mode:multiply;
  background-image:
    radial-gradient(circle at 20% 30%,rgba(68,61,45,.19) 0 .45px,transparent .65px),
    radial-gradient(circle at 70% 60%,rgba(255,255,255,.85) 0 .55px,transparent .8px);
  background-size:6px 7px,9px 11px;
}

.app-shell{
  background:
    radial-gradient(circle at 50% 11%,rgba(255,255,255,.66),transparent 28%),
    linear-gradient(165deg,#FBF8F1 0%,#F4EFE5 54%,#EEE6D9 100%)!important;
  color:var(--v5-ink);isolation:isolate;
}
.app-shell::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.34;
  background-image:
    repeating-linear-gradient(7deg,rgba(82,73,52,.026) 0 1px,transparent 1px 5px),
    radial-gradient(circle at 32% 76%,rgba(82,73,52,.08) 0 .45px,transparent .7px);
  background-size:auto,7px 7px;
}

/* Cabeçalho do Feed: visão à esquerda, marca no centro, hábitos à direita. */
.topbar{
  border-bottom:1px solid rgba(124,115,94,.12);background:rgba(248,244,235,.74)!important;
  backdrop-filter:blur(18px) saturate(.85);-webkit-backdrop-filter:blur(18px) saturate(.85);
}
.topbar-left{display:flex;align-items:center;min-width:42px}
.topbar.feed-topbar{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.feed-topbar .topbar-left{justify-self:start}
.feed-topbar .brand{grid-column:2;justify-self:center;flex-direction:column;gap:2px;width:auto}
.feed-topbar .brand-dots{width:34px;height:11px}
.feed-topbar .brand strong{font-size:1.35rem;line-height:1;color:#363820}
.feed-topbar .topbar-right{grid-column:3;justify-self:end;gap:8px}
.corner-control{
  width:48px;min-height:48px;padding:4px 3px;border:1px solid rgba(117,108,87,.18);border-radius:15px;
  display:grid;place-items:center;gap:1px;background:rgba(251,248,240,.64);color:#575941;
  box-shadow:0 7px 18px rgba(67,60,45,.055);transition:transform .2s ease,background .2s ease,color .2s ease;
}
.corner-control:active{transform:scale(.94)}
.corner-control svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.corner-control small{font:600 .49rem/1 Inter,sans-serif;letter-spacing:.03em;text-transform:lowercase}
.overview-toggle.active{background:#555C35;color:#FAF6ED;border-color:#555C35}
.habit-hub-button{position:relative}
.habit-hub-button::after{
  content:"";position:absolute;right:7px;top:6px;width:5px;height:5px;border-radius:50%;background:#A48C56;
  opacity:.85;box-shadow:0 0 0 3px rgba(164,140,86,.1);
}
.habit-hub-button.all-done{background:#555C35;color:#FAF6ED;border-color:#555C35}
.habit-hub-button.all-done::after{background:#DDE3AE}
.feed-counter{font-size:.64rem!important;color:#837E71!important;white-space:nowrap}

/* Feed central: o cartão continua sendo uma decisão por vez. */
.feed-view{overflow:visible}
.feed-focus{position:absolute;overflow:hidden}
.feed-scroller{position:relative;z-index:4}
.feed-card,.feed-empty{
  background:
    radial-gradient(circle at 82% 18%,rgba(121,120,80,.055) 0 .7px,transparent .9px),
    linear-gradient(150deg,rgba(255,255,255,.74),rgba(241,234,220,.82))!important;
  background-size:7px 8px,auto!important;
  border:1px solid rgba(154,144,122,.28)!important;
  box-shadow:0 30px 60px rgba(57,51,39,.13),0 2px 3px rgba(72,64,47,.06)!important;
}
.feed-card::after,.feed-empty::after{
  content:"";position:absolute;inset:10px;border:1px solid rgba(130,123,102,.08);border-radius:inherit;pointer-events:none;
}
.feed-eyebrow{color:#72764E!important;letter-spacing:.22em!important}
.feed-title{color:#303124!important;text-wrap:balance}
.focus-priority-rail .priority-level{
  background:#F7F3E9;border-color:#B7B09D;color:#817B6E;box-shadow:0 2px 5px rgba(58,52,39,.05)
}
.focus-priority-rail .priority-level.active{background:#535B32;border-color:#535B32;color:#FBF7EF}
.focus-priority-rail::before,.focus-priority-rail::after{border-color:#AAA48F!important}
.focus-task-meta{color:#8A8476}
.focus-task-meta strong{color:#53593A}
.later-button{background:rgba(234,227,215,.78)!important;color:#716B61!important}
.done-button{background:#515932!important;color:#FBF7EE!important}
.feed-gesture{color:#8A8477!important;letter-spacing:.16em}

/* Folhas funcionais: cada uma é um hábito e percorre um caminho próprio. */
.habit-field{position:absolute;inset:0 0 34px;z-index:14;pointer-events:none;overflow:hidden;transition:opacity .3s ease,transform .3s ease}
.feed-view.overview-open .habit-field{opacity:0;transform:scale(.96);pointer-events:none}
.habit-leaf{
  position:absolute;left:var(--leaf-x);top:var(--leaf-y);z-index:var(--leaf-z);pointer-events:auto;
  width:clamp(78px,23vw,104px);min-height:54px;padding:11px 15px 10px 20px;
  border:1px solid rgba(88,87,54,.24);border-radius:88% 12% 86% 14% / 72% 16% 84% 28%;
  color:#3F4329;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;
  transform-origin:8% 62%;filter:drop-shadow(0 8px 6px rgba(61,55,42,.12));
  animation:habit-float var(--leaf-duration) ease-in-out var(--leaf-delay) infinite alternate;
  transition:filter .2s ease,opacity .2s ease;background .2s ease;
}
.habit-leaf:hover{filter:drop-shadow(0 12px 10px rgba(61,55,42,.18));z-index:30}
.habit-leaf:active{filter:drop-shadow(0 5px 4px rgba(61,55,42,.13))}
.habit-leaf[data-tone="0"]{background:linear-gradient(145deg,#D8D8B8,#AEB486)}
.habit-leaf[data-tone="1"]{background:linear-gradient(145deg,#E6DFC8,#C4BFA1)}
.habit-leaf[data-tone="2"]{background:linear-gradient(145deg,#CBD1B4,#9FAC81)}
.habit-leaf[data-tone="3"]{background:linear-gradient(145deg,#E7D5C6,#C7B39E)}
.habit-leaf[data-tone="4"]{background:linear-gradient(145deg,#D2D9D1,#AAB8AC)}
.habit-leaf.done{background:linear-gradient(145deg,#6F7749,#4F5832);color:#FAF7ED;border-color:#4D5531;opacity:.9}
.habit-leaf strong{font:600 .91rem/1.02 Caveat,cursive;max-width:72px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.habit-leaf small{font:600 .42rem/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;margin-top:3px;opacity:.7}
.habit-leaf-vein{position:absolute;left:9px;top:49%;width:72%;height:1px;background:rgba(73,76,44,.25);transform:rotate(-7deg);transform-origin:left center}
.habit-leaf.done .habit-leaf-vein{background:rgba(255,255,255,.22)}
.habit-leaf-vein::after{content:"";position:absolute;left:36%;top:-7px;width:1px;height:14px;background:inherit;transform:rotate(49deg)}
@keyframes habit-float{
  0%{transform:translate3d(0,0,0) rotate(var(--leaf-tilt))}
  38%{transform:translate3d(var(--leaf-dx),calc(var(--leaf-dy) * -1),0) rotate(calc(var(--leaf-tilt) + 4deg))}
  72%{transform:translate3d(calc(var(--leaf-dx) * -.45),var(--leaf-dy),0) rotate(calc(var(--leaf-tilt) - 3deg))}
  100%{transform:translate3d(calc(var(--leaf-dx) * .58),calc(var(--leaf-dy) * .3),0) rotate(calc(var(--leaf-tilt) + 2deg))}
}

/* Visão geral, agora chamada pelo canto superior esquerdo. */
.feed-overview{z-index:35;background:rgba(245,240,230,.97)!important;backdrop-filter:blur(14px)}
.overview-header h1{color:#343526!important}
.overview-kicker{color:#73794A!important}
.overview-filters button{background:#F0EADF!important;border-color:#D7CEBD!important;color:#716C61!important}
.overview-filters button.active{background:#525A32!important;color:#FAF7EE!important;border-color:#525A32!important}
.grid-task{background:linear-gradient(145deg,#F7F1E5,#E9E1D2)!important;border-color:#D4C9B6!important;box-shadow:0 8px 17px rgba(59,52,39,.07)!important}
.grid-task:nth-child(4n+2){background:linear-gradient(145deg,#E7E9D3,#D7D8BC)!important}
.grid-task:nth-child(4n+3){background:linear-gradient(145deg,#F0DDD2,#E5CFC2)!important}
.overview-focus-button{background:#515932!important;color:#FAF7EE!important}

/* Gerenciador de hábitos. */
.habits-modal::backdrop{background:rgba(48,45,36,.28);backdrop-filter:blur(4px)}
.habits-sheet,.habit-action-sheet,.habit-edit-sheet{background:#F7F2E8!important;border-color:#D4CABB!important}
.habits-sheet{width:min(94vw,480px);max-height:min(82dvh,720px);overflow-y:auto}
.habits-sheet-head{position:sticky;top:0;background:rgba(247,242,232,.94);z-index:2;padding-bottom:14px}
.habit-day-summary{border:1px solid #D6CCB9;border-radius:20px;background:linear-gradient(145deg,#E9E9D3,#D9DDBB);padding:18px;margin-bottom:14px;box-shadow:0 8px 20px rgba(64,60,43,.07)}
.habit-day-summary>div{display:flex;align-items:end;justify-content:space-between;gap:12px}
.habit-day-summary span{font:600 .63rem/1 Inter,sans-serif;text-transform:uppercase;letter-spacing:.16em;color:#71764E}
.habit-day-summary strong{font:400 2.05rem/1 "DM Serif Display",Georgia,serif;color:#454B2B}
.habit-day-summary p{font-size:.76rem;color:#6E7054;margin:9px 0 0}
.habit-manager-list{display:grid;gap:7px;margin-bottom:13px}
.habit-manager-row{width:100%;display:grid;grid-template-columns:46px minmax(0,1fr) 14px;gap:11px;align-items:center;text-align:left;padding:10px 8px;border-bottom:1px solid rgba(126,117,96,.14)}
.habit-manager-row>span:nth-child(2){min-width:0}
.habit-manager-row strong,.habit-manager-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.habit-manager-row strong{font:400 1.08rem/1.2 "DM Serif Display",Georgia,serif;color:#37382A}
.habit-manager-row small{font-size:.66rem;color:#8A8375;margin-top:3px}
.habit-manager-row i{font-style:normal;color:#8D897E}
.manager-leaf,.habit-action-leaf{border-radius:88% 12% 86% 14% / 72% 16% 84% 28%;background:#B8BE91;color:#F7F3E9;display:grid;place-items:center;transform:rotate(-11deg);box-shadow:0 5px 12px rgba(60,56,42,.1)}
.manager-leaf{width:42px;height:29px;font:700 .8rem Inter,sans-serif}
.habit-manager-row.done .manager-leaf{background:#59613A}
.habit-manager-empty{padding:26px 14px;border:1px dashed #D2C8B7;border-radius:16px;text-align:center;color:#817B6D}
.habit-manager-empty strong{display:block;font:400 1.25rem/1.1 "DM Serif Display",Georgia,serif;color:#454638;margin-bottom:6px}
.habit-manager-empty span{font-size:.72rem}
.habit-new-button{background:#515932!important}
.habit-action-preview{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:center;padding:24px 5px}
.habit-action-leaf{width:70px;height:46px;background:linear-gradient(145deg,#C8CE9F,#939C6B)}
.habit-action-preview h2{font:400 1.75rem/1.05 "DM Serif Display",Georgia,serif;margin:0;color:#343628}
.habit-action-preview p{font-size:.72rem;color:#7B7569;margin:7px 0 0}
.habit-action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.habit-complete-action{grid-column:1/-1;background:#515932;color:#FBF7EF;border-radius:13px;padding:14px;font:600 .78rem Inter,sans-serif}
.habit-complete-action.undo{background:#E8E2D7;color:#676257}
.habit-action-buttons .soft-button,.habit-action-buttons .danger-button{width:100%}
.habit-repeat-note{font-size:.72rem;line-height:1.5;color:#7E776B;background:#EEE9DD;border-radius:13px;padding:11px 12px;margin:2px 0 14px}

/* Livre mantém o gesto e as posições, mas ganha um quadro mais material. */
.free-board{
  background:
    radial-gradient(circle at 20% 30%,rgba(81,74,54,.07) 0 .55px,transparent .8px),
    linear-gradient(145deg,#F2EBDD,#E8DECE)!important;
  background-size:7px 8px,auto!important;border-color:#D6CBB8!important;box-shadow:inset 0 0 40px rgba(80,69,48,.035)
}
.free-note{box-shadow:0 10px 14px rgba(57,50,38,.13)!important;border-color:rgba(111,99,77,.13)!important}
.free-note p{font-size:1rem!important}
.section-kicker{color:#70764A!important}

/* A Agenda continua sendo a agenda real da versão atual: mesma lista, edição,
   recorrência e exportação; apenas a leitura fica mais clara. */
.agenda-view,.finance-view{background:transparent!important}
.section-header{border-bottom:1px solid rgba(123,115,96,.16);padding-bottom:18px!important;margin-bottom:10px!important}
.section-header h1{color:#333528!important}
.section-header p{color:#817B70!important}
.appointment-card{
  background:rgba(250,247,239,.72)!important;border:0!important;border-bottom:1px solid #D9D0C1!important;border-radius:0!important;
  box-shadow:none!important;position:relative;
}
.appointment-card::before{content:"";position:absolute;left:75px;top:20px;width:7px;height:7px;border-radius:50%;background:#737B4F;box-shadow:0 0 0 4px #F2EEE4}
.appointment-time{border-right:1px solid #D7CEBF!important;color:#555C36!important}
.appointment-main strong{color:#36372A!important}
.reminder-chip{background:#E6E7CF!important;color:#60673E!important}
.agenda-complete-link{background:rgba(247,242,232,.68)!important;border-color:#D8CEBD!important}

/* Finanças: papel contábil leve, sem alterar cálculos ou recorrências. */
.balance-card{background:linear-gradient(145deg,#E7E8D0,#CDD2AD)!important;border-color:#C3C69F!important;box-shadow:0 15px 32px rgba(66,64,43,.1)!important}
.balance-card strong{color:#384020!important}
.finance-summary article,.finance-row{background:rgba(250,247,239,.72)!important;border-color:#D8CEBE!important}
.finance-row{box-shadow:none!important}
.finance-insight{background:#EEE7DA!important;color:#676458!important}

.bottom-nav{background:rgba(247,243,235,.91)!important;border-color:rgba(125,116,96,.2)!important;backdrop-filter:blur(18px)}
.nav-item{color:#7B756B!important}
.nav-item.active{color:#4E5630!important}
.capture-button{background:#50582F!important;color:#FAF7ED!important;box-shadow:0 12px 24px rgba(59,64,34,.24)!important}
.toast{background:#393B2B!important;color:#FAF7EE!important}

@media(max-width:899px){
  .topbar.feed-topbar{padding-left:13px!important;padding-right:13px!important}
  .feed-topbar .feed-counter{display:none}
  .feed-card,.feed-empty{width:calc(100% - 28px)!important;padding-left:32px!important;padding-right:32px!important}
  .habit-field{inset:-2px 0 32px}
  .habit-leaf{width:82px;min-height:50px;padding:9px 12px 8px 16px}
  .habit-leaf strong{font-size:.82rem;max-width:62px}
  .habit-leaf small{font-size:.38rem}
  .habit-leaf:nth-child(n+9){transform:scale(.88)}
}

@media(max-width:370px){
  .corner-control{width:43px;min-height:43px;border-radius:13px}
  .feed-topbar .brand strong{font-size:1.18rem}
  .habit-leaf{width:73px;min-height:46px}
  .habit-leaf strong{font-size:.75rem}
}

@media(min-width:900px){
  .topbar.feed-topbar{grid-template-columns:1fr auto 1fr!important;padding-left:26px!important;padding-right:30px!important}
  .feed-topbar .brand{grid-column:2!important;width:auto!important}
  .feed-topbar .topbar-right{margin-left:0!important}
  .corner-control{width:55px;min-height:50px;border-radius:16px}
  .feed-counter{display:none}
  .feed-focus{overflow:visible}
  .habit-field{inset:0 clamp(0px,2vw,30px) 32px;overflow:visible}
  .habit-leaf{width:112px;min-height:66px;padding:13px 18px 12px 23px}
  .habit-leaf strong{font-size:1rem;max-width:82px}
  .feed-card,.feed-empty{width:min(720px,58vw)!important;min-height:min(650px,calc(100dvh - 190px))!important}
  .bottom-nav .nav-item.active{background:#E2E2C9!important;color:#4C542D!important}
  .appointment-card::before{left:75px}
}

@media(min-width:1400px){
  .habit-field{inset:0 5vw 32px}
  .habit-leaf{width:124px;min-height:70px}
  .feed-card,.feed-empty{width:min(760px,52vw)!important}
}

@media(prefers-reduced-motion:reduce){.habit-leaf{animation:none!important}}
@media(prefers-color-scheme:dark){
  html,body,.app-shell{background:#EAE3D7!important;color:var(--v5-ink)!important}
  .sheet,.feed-card,.feed-empty,input,textarea,select,button,dialog{color:var(--v5-ink)}
}
