@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Inter:wght@300;400;500;600;700&display=swap";:root{--color-bg:#fbf7f0;--color-bg-soft:#f7f1e8;--color-surface:#fff;--color-surface-soft:#fffcf8;--color-surface-strong:var(--color-surface-soft);--color-primary:#c8a24c;--color-primary-dark:#a8822f;--color-primary-soft:#f4e7c7;--color-accent:#e7c971;--color-accent-soft:#fbf1d6;--color-text:#3a2e22;--color-text-muted:#7d6e60;--color-border:#e8dccb;--color-border-strong:#dcc8aa;--color-success:#5a8a5e;--color-success-soft:#e8f4ea;--color-warning:#c8883a;--color-warning-soft:#fbf0e0;--color-danger:#c05050;--color-danger-soft:#fae8e8;--color-ivory:var(--color-bg);--color-offwhite:var(--color-surface);--color-champagne:var(--color-bg-soft);--color-nude:var(--color-surface-strong);--color-sand:#f2e4d0;--color-rose:var(--color-primary);--color-terracotta:var(--color-primary-dark);--color-espresso:var(--color-text);--color-taupe:var(--color-text-muted);--color-gold:var(--color-accent);--color-ok-bg:var(--color-success-soft);--color-ok-text:var(--color-success);--color-warn-bg:var(--color-warning-soft);--color-warn-text:var(--color-warning);--color-danger-bg:var(--color-danger-soft);--color-danger-text:var(--color-danger);--line-soft:var(--color-border);--line-strong:var(--color-border-strong);--radius-sm:12px;--radius-md:18px;--radius-lg:26px;--radius-xl:32px;--space-1:.4rem;--space-2:.7rem;--space-3:1rem;--space-4:1.35rem;--space-5:1.8rem;--space-6:2.4rem;--shadow-soft:0 10px 24px #4e3e230f;--shadow-mid:0 18px 42px #4e3e2317}*{box-sizing:border-box}body{color:var(--color-espresso);background:radial-gradient(circle at 8% -14%, #fff 0%, transparent 42%), radial-gradient(circle at 94% -12%, #fff9ef 0%, transparent 38%), var(--color-ivory);margin:0;font-family:Inter,system-ui,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}ul{margin:0;padding-left:1.1rem}input,select,textarea,button{font:inherit}input,select,textarea{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;color:var(--color-espresso);padding:.82rem .95rem;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 4px #c9a24e33}label{color:var(--color-taupe);font-size:.86rem}.app-shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{height:100vh;padding:var(--space-4) var(--space-3);border-right:1px solid var(--color-border);background:var(--color-bg-soft);z-index:100;flex-direction:column;gap:1rem;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid var(--color-border);flex-direction:column;gap:.25rem;padding:0 .5rem .6rem;display:flex}.brand-top{align-items:center;gap:.5rem;display:flex}.brand-logo{object-fit:contain;width:52px;height:52px}.brand-info{flex-direction:column;display:flex}.brand-kicker{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.15em;font-family:Inter,sans-serif;font-size:.56rem;font-weight:500;line-height:1.2}.brand h2{color:var(--color-primary);font-family:Cormorant Garamond,Georgia,serif;font-size:1.25rem;font-weight:700;line-height:1.2}.brand-caption{color:var(--color-taupe);margin-top:.25rem;font-size:.75rem}.nav-list{flex-direction:column;flex:1;gap:.15rem;padding:.5rem 0;display:flex;overflow-y:auto}.nav-item{color:var(--color-text);border-left:3px solid #0000;border-radius:10px;align-items:center;gap:.6rem;min-height:40px;padding:.65rem .85rem;font-size:.88rem;font-weight:400;transition:all .15s;display:flex}.nav-item:hover{background:var(--color-accent-soft);color:var(--color-text)}.nav-item.active{color:var(--color-primary);background:var(--color-primary-soft);border-left:3px solid var(--color-primary);font-weight:600}.nav-item-disabled{opacity:.5;cursor:not-allowed}.nav-item-disabled:hover{color:var(--color-text);background:0 0}.nav-soon{background:var(--color-accent-soft);color:var(--color-text-muted);white-space:nowrap;border-radius:8px;margin-left:auto;padding:2px 7px;font-size:.65rem;font-weight:500}.nav-icon{color:var(--color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.nav-item.active .nav-icon{color:var(--color-primary)}.sidebar-plan-card{border:1px solid var(--color-primary-soft);background:linear-gradient(135deg,#f4e7c7 0%,#fbf0d0 100%);border-radius:12px;flex-direction:column;gap:.25rem;margin-bottom:.5rem;padding:.85rem;display:flex}.sidebar-plan-card h3{color:var(--color-primary);font-family:Inter,sans-serif;font-size:.82rem;font-weight:600}.sidebar-plan-card p{color:var(--color-text-muted);font-family:Inter,sans-serif;font-size:.72rem;line-height:1.4}.sidebar-plan-card .btn-secondary{color:var(--color-primary);border:1px solid var(--color-border-strong);cursor:pointer;background:0 0;border-radius:8px;align-self:flex-start;margin-top:.5rem;padding:4px 10px;font-size:.75rem;font-weight:500;transition:all .15s}.sidebar-plan-card .btn-secondary:hover{background:#c8a24c0d}.sidebar-floral{pointer-events:none;justify-content:center;margin-bottom:-1rem;display:flex}.main-content{padding:var(--space-4) var(--space-5) var(--space-6);width:100%;min-width:0;max-width:none;overflow-x:hidden}.topbar{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:1rem 1.1rem;display:flex}.topbar h1{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.64rem,2.4vw,2.15rem);line-height:1.08}.topbar-actions{align-items:center;gap:.7rem;display:flex}.topbar-search{background:var(--color-surface-strong);width:210px;color:var(--color-text-muted)}.icon-button{border:1px solid var(--line-soft);background:var(--color-surface-strong);width:36px;height:36px;color:var(--color-primary-dark);border-radius:50%}.topbar-user{align-items:center;gap:.55rem;padding:.2rem .35rem;display:flex}.topbar-avatar{border:1px solid var(--line-soft);background:radial-gradient(circle at 32% 28%,#f6d8b8 0%,#e9c49b 42%,#d4a97e 100%);border-radius:50%;width:44px;height:44px}.topbar-user-name{font-weight:600}.topbar-caret{color:var(--color-primary-dark)}.muted{color:var(--color-taupe)}.small{color:var(--color-taupe);font-size:.84rem}.menu-button{border:1px solid var(--line-soft);background:var(--color-surface);color:var(--color-espresso);border-radius:10px;padding:.56rem .84rem;display:none}.page-grid{gap:var(--space-4);animation:.35s fadeIn;display:grid}.page-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.page-head h2{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.64rem,2.2vw,2.02rem)}.card{background:var(--color-offwhite);border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-soft);gap:var(--space-2);transition:transform .18s,box-shadow .2s;display:grid}.card:hover{box-shadow:var(--shadow-mid);transform:translateY(-2px)}.hero-card{border-radius:var(--radius-xl);padding:var(--space-6);background:radial-gradient(circle at 98% 0,#e7c97133,#0000 34%),linear-gradient(132deg,#fff 0%,#fdf7ee 58%,#fffcf8 100%)}.hero-title{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2rem,3.2vw,2.9rem);line-height:1.02}.dashboard-hero{grid-template-columns:1fr .95fr 1.2fr;align-items:stretch;min-height:270px}.dashboard-countdown{border:1px solid var(--line-soft);border-radius:var(--radius-lg);text-align:center;background:#fffc;align-content:center;gap:.35rem;padding:1rem;display:grid}.dashboard-hero-content{text-align:center;align-content:center;gap:.6rem;display:grid}.hero-divider{background:linear-gradient(90deg, transparent 0%, var(--color-border-strong) 50%, transparent 100%);width:66%;height:1px;margin:0 auto}.dashboard-hero-image-wrap{border-radius:var(--radius-lg);border:1px solid #a9822f33;overflow:hidden}.dashboard-hero-image{object-fit:cover;width:100%;height:100%;display:block}.dashboard-note{border:1px solid var(--line-soft);border-radius:var(--radius-md);color:var(--color-text-muted);text-align:center;background:linear-gradient(135deg,#fffefb 0%,#fbf2e1 100%);padding:.95rem 1rem}.dashboard-block{align-content:start}.dashboard-row{border:1px solid var(--line-soft);background:var(--color-surface-strong);border-radius:12px;justify-content:space-between;align-items:center;gap:.6rem;padding:.65rem .75rem;display:flex}.stat-cta{color:var(--color-primary-dark);font-size:.9rem;font-weight:500}.stats-grid{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.list-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.grid-2{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stat-head{align-items:center;gap:.35rem;display:flex}.stat-icon{background:var(--color-accent-soft);width:26px;height:26px;color:var(--color-primary-dark);border-radius:50%;place-items:center;display:grid}.stat-card h3{font-size:1.8rem;line-height:1.1}.progress-root{background:#efe5d4;border-radius:999px;width:100%;height:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--color-primary), var(--color-primary-dark));border-radius:999px;height:100%;transition:width .45s}.badge{border-radius:999px;width:fit-content;padding:.29rem .68rem;font-size:.78rem;font-weight:700}.badge-ok{background:var(--color-ok-bg);color:var(--color-ok-text)}.badge-warn{background:var(--color-warn-bg);color:var(--color-warn-text)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.badge-neutral{color:var(--color-text-muted);background:#f4efea}.chip{color:var(--color-primary-dark);background:#f8efd9;border-radius:999px;align-items:center;gap:.35rem;padding:.24rem .62rem;font-size:.78rem;display:inline-flex}.chip-urgent{background:var(--color-warning-soft);color:var(--color-warning)}.btn-primary,.btn-secondary,.btn-whatsapp,.btn-ghost{cursor:pointer;border:0;border-radius:12px;padding:.69rem .96rem;transition:transform .18s,filter .18s}.btn-primary{color:#fffdf8;background:linear-gradient(120deg, var(--color-primary), var(--color-primary-dark));box-shadow:0 8px 18px #a9822f42}.btn-secondary{color:var(--color-espresso);background:var(--color-nude);border:1px solid var(--line-soft)}.btn-whatsapp{background:var(--color-success-soft);color:var(--color-success);border:1px solid #cdddcf}.btn-ghost{color:var(--color-taupe);border:1px dashed var(--line-strong);background:0 0}.btn-primary:hover,.btn-secondary:hover,.btn-whatsapp:hover,.btn-ghost:hover{filter:brightness(1.02);transform:translateY(-1px)}.card-actions{flex-wrap:wrap;gap:.5rem;display:flex}.auth-shell{gap:var(--space-6);background:linear-gradient(145deg,#fbf7f0 8%,#f6ede2 100%);grid-template-columns:1fr minmax(320px,470px);min-height:100vh;padding:clamp(1rem,4vw,3rem);display:grid}.auth-shell-premium{grid-template-columns:minmax(0,1fr) minmax(320px,500px)}.auth-panel-premium{background:radial-gradient(circle at 92% 0,#e7c9713d,#0000 36%),linear-gradient(135deg,#fff 0%,#fcf4e7 100%)}.auth-card-premium{background:linear-gradient(135deg,#fff 0%,#fffcf8 100%)}.auth-panel,.auth-card{border-radius:var(--radius-lg);border:1px solid var(--line-soft);box-shadow:var(--shadow-soft)}.auth-panel{align-content:space-between;gap:var(--space-5);background:linear-gradient(135deg,#fff 0%,#fcf4e7 100%);padding:clamp(1.4rem,3vw,2.2rem);display:grid}.auth-panel h1{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2rem,3.4vw,2.9rem);line-height:1.04}.auth-card{background:var(--color-offwhite);align-content:start;gap:.72rem;padding:clamp(1.2rem,2.5vw,1.9rem);display:grid}.auth-card h2{font-family:Cormorant Garamond,Georgia,serif;font-size:1.75rem}.auth-logo{object-fit:contain;width:64px;height:64px}.onboarding-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.76rem;display:grid}.onboarding-grid .full{grid-column:1/-1}.insight-list,.timeline-list{gap:.56rem;display:grid}.inline-kpi{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.7rem;display:grid}.timeline-row{grid-template-columns:90px 1fr;align-items:center;gap:.8rem;display:grid}.time{color:var(--color-accent);font-weight:700}.table-shell{background:var(--color-offwhite);border:1px solid var(--line-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.table-toolbar{border-bottom:1px solid var(--line-soft);padding:.95rem}.search-row{grid-template-columns:1fr auto;align-items:center;gap:.6rem;display:grid}.table-like{padding:.2rem .9rem .9rem;overflow-x:auto}.table-like table{border-collapse:collapse;width:100%;min-width:760px}.table-like th,.table-like td{text-align:left;border-bottom:1px solid var(--line-soft);padding:.84rem .72rem;font-size:.92rem}.table-like th{color:var(--color-taupe);letter-spacing:.05em;text-transform:uppercase;font-size:.79rem;font-weight:700}.table-like tbody tr{transition:background .16s}.table-like tbody tr:hover{background:#fff9ee}.empty-state{text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:linear-gradient(145deg,#fffefb 0%,#fff8ee 100%);gap:.5rem;padding:1.6rem;display:grid}.empty-state h3{font-family:Cormorant Garamond,Georgia,serif;font-size:1.55rem}.budget-row{grid-template-columns:1fr auto;align-items:center;gap:.8rem;display:grid}.mobile-drawer{display:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=1080px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.auth-shell,.search-row,.budget-row{grid-template-columns:1fr}.auth-shell-premium{gap:var(--space-4)}}@media (width<=960px){.app-shell{grid-template-columns:1fr}.app-shell>.sidebar{display:none}.menu-button{display:inline-block}.mobile-drawer{z-index:60;width:290px;height:100vh;transition:left .25s;display:block;position:fixed;top:0;left:-330px}.mobile-drawer.open{left:0}.main-content{padding:1rem}.hero-card{padding:var(--space-4)}.onboarding-grid,.dashboard-hero{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}}@media (width<=640px){.topbar .chip{word-break:break-word;max-width:100%}.topbar-search,.card-actions{width:100%}.card-actions .btn-primary,.card-actions .btn-secondary,.card-actions .btn-whatsapp,.card-actions .btn-ghost{width:100%;min-height:44px}.auth-shell{padding:.9rem}.auth-panel,.auth-card{padding:1rem}}.compact-hero{border-radius:var(--radius-lg);padding:var(--space-5);background:radial-gradient(circle at 94% -14%,#e7c8732e,#0000 34%),linear-gradient(132deg,#fff 0%,#fcf4e8 100%)}.section-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.kpi-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.kpi-card-value{font-size:1.42rem;font-weight:700}.info-banner{border:1px solid var(--line-soft);border-radius:var(--radius-md);color:#7a5a20;background:linear-gradient(145deg,#fff5df 0%,#fffaf0 100%);padding:.95rem 1rem}.phase-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.lesson-row{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.settings-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));display:grid}@media (width<=1080px){.settings-grid{grid-template-columns:1fr}}.modal-overlay{z-index:80;background:#2e292338;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{background:var(--color-offwhite);border:1px solid var(--line-soft);border-radius:var(--radius-md);width:min(760px,100%);box-shadow:var(--shadow-mid);padding:var(--space-4);gap:var(--space-3);display:grid}.modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.modal-grid .full{grid-column:1/-1}.task-list{gap:.6rem;display:grid}.task-row{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:#fffdf9;gap:.6rem;padding:.7rem;display:grid}.task-checkbox{align-items:center;gap:.5rem;display:flex}.task-checkbox input{width:auto}@media (width<=1080px){.modal-grid{grid-template-columns:1fr}}:root{--safe-area-bottom:env(safe-area-inset-bottom,0px);--bottom-nav-height:62px}html,body{max-width:100%;height:100%;overflow-x:hidden}#root{max-width:100%;min-height:100%;overflow-x:hidden}.bottom-nav{display:none}@media (width<=960px){.bottom-nav{z-index:200;background:var(--color-surface);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom,0px);height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #4e3e2314}.main-content{min-width:0;max-width:100%;padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px) + 1.2rem)!important}.menu-button,.mobile-drawer{display:none!important}.topbar-search-container,.topbar .icon-button,.topbar .chip{display:none}}.bottom-nav-item{color:var(--color-text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:44px;min-height:44px;padding:6px 4px;font-family:Inter,sans-serif;font-size:.66rem;font-weight:500;text-decoration:none;transition:color .15s;display:flex;position:relative}.bottom-nav-item.active{color:var(--color-primary)}.bottom-nav-item.active:before{content:"";background:var(--color-primary);border-radius:0 0 2px 2px;width:28px;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.bottom-nav-item:active{opacity:.7}.bottom-sheet-backdrop{z-index:250;background:#2e292366;animation:.2s fadeInBackdrop;position:fixed;inset:0}.bottom-sheet{z-index:260;background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:0 var(--space-4);padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;max-height:85vh;animation:.3s cubic-bezier(.34,1.56,.64,1) slideUpSheet;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 40px #4e3e2324}.bottom-sheet-handle{background:var(--color-border-strong);border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:14px auto 20px}.bottom-sheet-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.bottom-sheet-title{color:var(--color-primary);margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.22rem;font-weight:700}.bottom-sheet-close{border:1px solid var(--color-border);background:var(--color-surface-soft);cursor:pointer;width:32px;height:32px;color:var(--color-text-muted);-webkit-tap-highlight-color:transparent;border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex}.bottom-sheet-close:active{background:var(--color-accent-soft)}.more-menu-grid{gap:var(--space-2);padding-bottom:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.more-menu-item{padding:var(--space-3) var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-soft);color:var(--color-text);cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:76px;font-family:Inter,sans-serif;font-size:.76rem;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:flex}.more-menu-item:active{background:var(--color-accent-soft);border-color:var(--color-primary-soft)}.more-menu-item.active{background:var(--color-primary-soft);border-color:var(--color-primary-soft);color:var(--color-primary)}@media (width<=640px){.modal-card{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:92vh;padding:var(--space-4) var(--space-3);margin:0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.modal-overlay{align-items:flex-end;padding:0}}@media (width<=768px){.table-like{-webkit-overflow-scrolling:touch}.table-like table{font-size:.84rem}.stats-grid,.list-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}@supports (padding-bottom:env(safe-area-inset-bottom)){.bottom-nav{padding-bottom:env(safe-area-inset-bottom)}.bottom-sheet{padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom))}}.mobile-list{display:none}@media (width<=768px){.mobile-list{gap:12px;display:grid}}
