:root{--paper:#faf7f0;--green:#39594b;--sage:#e7ede4;--terra:#a64b36;--ink:#29362f;--muted:#69736a;--line:#e4e5dc;--white:#fffefb;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.18;text-wrap:pretty}h1{font-size:clamp(34px,4vw,48px);letter-spacing:-1.4px;margin-bottom:12px}h2{font-size:25px;margin-bottom:8px}h3{font-size:22px}p{color:var(--muted)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--terra);outline-offset:3px}.shell{display:flex;min-height:100vh}.sidebar{width:250px;flex-shrink:0;background:#f2f2e9;border-right:1px solid var(--line);padding:38px 24px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{font-family:Georgia,serif;font-size:38px;letter-spacing:-2px;display:flex;align-items:center;gap:7px;color:var(--green)}.brand-dot{color:var(--terra);margin-left:-8px}.brand-mark{display:inline-flex;width:39px;height:39px;border:1px solid var(--green);border-radius:50% 50% 40% 40%;align-items:center;justify-content:center;font-size:32px;font-style:italic;margin-right:3px}.brand-sub{font-size:10px;margin:10px 0 44px;letter-spacing:.4px}nav{display:grid;gap:8px}nav a{padding:12px 16px;border-radius:10px;display:flex;gap:14px;align-items:center;color:var(--muted);min-height:48px}nav a:hover{background:#e8ebdf}nav a[aria-current=page]{background:var(--green);color:white}nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.side-note{margin-top:auto;padding:40px 12px 20px}.tiny,.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px}.side-note h3{margin:16px 0 12px;font-size:25px}.side-note p{font-size:12px}.leaf{font-size:44px;color:#7b8d70}.profile{display:flex;align-items:center;gap:12px;padding-top:20px;border-top:1px solid var(--line);font-size:12px}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e2e6d9;color:var(--green)}small{display:block;font-size:11px;color:var(--muted)}.workspace{flex:1;min-width:0}.topbar{height:82px;border-bottom:1px solid var(--line);padding:0 48px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.demo-tag{font-size:9px;letter-spacing:1.3px;border:1px solid #d9ded1;border-radius:20px;padding:6px 12px;color:var(--green)}main{padding:42px 48px 30px;max-width:1420px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:20px}.eyebrow{color:var(--terra);margin-bottom:14px}.intro p{margin:0}.button{border:0;background:var(--green);color:white;border-radius:10px;padding:11px 20px;min-height:44px;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button:hover{filter:brightness(1.1)}.button.secondary{background:transparent;border:1px solid #c9d0c3;color:var(--green)}.text-button{border:0;background:none;color:var(--green);font-size:12px;min-height:44px;padding:8px}.hero{background:var(--sage);border-radius:20px;padding:32px 36px;display:grid;grid-template-columns:1.25fr 1fr;gap:30px;margin-bottom:24px;overflow:hidden}.hero h2{font-size:34px;margin:14px 0}.hero p{max-width:420px;font-size:13px}.pill{border-radius:20px;background:#f6f8f0;display:inline-block;padding:5px 12px;font-size:10px;color:var(--green)}.journey{display:flex;align-items:center;justify-content:center;gap:24px}.ring{height:148px;width:148px;border:9px solid #d1dacb;border-top-color:var(--green);border-right-color:var(--green);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.ring strong{font:42px Georgia,serif}.ring span{font-size:11px}.journey-copy p{margin:8px 0;font-size:12px}.journey-copy strong{font-size:13px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0 32px}.stat{border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px;background:var(--white)}.stat-label{font-size:11px;color:var(--muted)}.stat strong{font:28px Georgia,serif;display:block;margin:8px 0}.stat small{font-size:11px}.grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.card{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:var(--white)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.card-head h2{font-size:23px;margin:0}.appointment{display:flex;align-items:center;gap:20px;padding:18px 0;border-top:1px solid var(--line)}.date-box{width:54px;min-width:54px;background:var(--sage);border-radius:10px;text-align:center;padding:8px;line-height:1.3}.date-box strong{font:25px Georgia,serif;display:block}.date-box span{font-size:10px;text-transform:uppercase}.appointment strong{font-size:13px}.appointment p{font-size:12px;margin:4px 0}.tag{font-size:10px;background:#f2ede4;padding:4px 9px;border-radius:8px;color:var(--terra);display:inline-block}.check-row{display:flex;gap:12px;align-items:center;padding:15px 0;border-top:1px solid var(--line)}input[type=checkbox]{accent-color:var(--green);width:20px;height:20px;flex-shrink:0}.check-row label{flex:1;font-size:13px}.check-row:has(input:checked) label{text-decoration:line-through;color:var(--muted)}.check-row small{margin-top:3px}.wellbeing{background:#eee5da;border:0;margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:22px}.wellbeing h2{font-size:25px}.wellbeing p{margin:8px 0 0;font-size:12px}.notice{font-size:11px;color:var(--muted);margin:24px 0 0}.tabs{display:flex;gap:8px;margin:0 0 24px}.tabs button{min-height:44px;border:1px solid var(--line);border-radius:24px;padding:8px 20px;background:transparent;color:var(--green)}.tabs button.active{background:var(--green);color:white}.table-row{display:grid;grid-template-columns:1fr auto auto;gap:24px;align-items:center;border-top:1px solid var(--line);padding:18px 0;font-size:13px}.table-row p{margin:4px 0;font-size:12px}.stock-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.stock-card .amount{font:34px Georgia,serif;display:block;margin:20px 0 12px}.stock-actions{display:flex;gap:8px;margin-top:16px}.stock-card p{font-size:12px}.empty{padding:32px 0;text-align:center;color:var(--muted)}.diary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.diary-card p{white-space:pre-wrap;color:var(--ink);font-size:14px;margin-top:16px}.diary-card h3{margin:14px 0 8px}.diary-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted)}footer{max-width:1420px;margin:auto;padding:24px 48px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted);gap:16px}dialog{border:1px solid var(--line);border-radius:20px;padding:28px;background:var(--paper);color:var(--ink);width:min(500px,calc(100% - 32px));max-height:90vh}dialog::backdrop{background:#29362f66;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-head h2{margin:0}.icon-button{border:0;background:transparent;font-size:28px;width:44px;height:44px;color:var(--ink)}form{display:grid;gap:16px}form label{display:grid;gap:6px;font-size:12px}input:not([type=checkbox]),textarea,select{width:100%;padding:10px 12px;border:1px solid #c9d0c3;border-radius:8px;background:var(--white);color:var(--ink);min-height:44px}textarea{resize:vertical;min-height:100px}.form-note{font-size:11px;margin:0}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--green);color:white;border-radius:12px;padding:12px 20px;font-size:13px;box-shadow:0 8px 30px #29362f22;display:none;z-index:5}#toast.visible{display:block}.check-row,.button,nav a{transition:background 150ms ease}.error{color:var(--terra);font-size:12px}.source{color:var(--green);text-decoration:underline}.section-description{font-size:13px;margin-bottom:24px}@media(min-width:1500px){main{padding-top:56px}.hero{padding:44px}.stats{margin-bottom:40px}}@media(max-width:1100px){.sidebar{width:210px;padding:30px 18px}main{padding:32px 28px}.topbar{padding:0 28px}.journey{gap:12px}.ring{width:120px;height:120px}.hero{padding:28px}.journey-copy{display:none}.grid{grid-template-columns:1fr 1fr}.intro .button{white-space:nowrap}}@media(max-width:760px){.shell{display:block}.sidebar{width:100%;height:auto;position:static;padding:20px 20px 0;background:var(--paper);border-right:0}.brand{font-size:32px}.brand-mark{width:32px;height:32px;font-size:26px}.brand-sub,.side-note,.profile{display:none}nav{display:flex;overflow:auto;gap:4px;margin-top:20px;border-bottom:1px solid var(--line);padding-bottom:10px}nav a{font-size:12px;flex-shrink:0;gap:7px;padding:10px 12px}nav svg{width:16px;height:16px}.topbar{height:44px;padding:0 20px;font-size:10px}.demo-tag{font-size:7px;padding:4px 7px}main{padding:28px 20px}.intro{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:24px}h1{font-size:36px}.hero{grid-template-columns:1fr;padding:24px;gap:20px}.hero h2{font-size:30px}.journey{justify-content:flex-start}.journey-copy{display:block}.ring{width:98px;height:98px;border-width:7px}.ring strong{font-size:30px}.stats{gap:8px;margin:16px 0 24px}.stat{padding:14px 10px}.stat-label{font-size:9px}.stat strong{font-size:22px}.stat small{font-size:9px}.grid,.stock-grid,.diary-grid{grid-template-columns:1fr}.card{padding:20px}.wellbeing{align-items:flex-start;flex-direction:column}.table-row{gap:12px;grid-template-columns:1fr auto}.table-row .price{grid-column:1}.table-row .button{grid-column:2;grid-row:1 / span 2}.tabs{overflow:auto}.tabs button{padding:8px 16px;white-space:nowrap}footer{padding:12px 20px 28px;flex-direction:column}#toast{bottom:16px;width:calc(100% - 32px);text-align:center}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.auth-card{max-width:480px;margin:28px auto}.auth-card h2{margin-bottom:24px}.auth-card form{gap:18px}.auth-card .button{width:100%}.auth-card .text-button{margin-top:16px}button:disabled{opacity:.55;cursor:wait}
/* UX revision: preserve the approved palette and improve task completion. */
.skip-link{position:fixed;top:8px;left:16px;z-index:20;transform:translateY(-150%);padding:12px 20px;background:var(--green);color:white;border-radius:10px}.skip-link:focus{transform:translateY(0)}
.mode-notice{padding:12px 48px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:11px;color:var(--green);background:#f0f2e9}.mode-notice strong{font-weight:600}.mode-notice a{white-space:nowrap;text-decoration:underline;text-underline-offset:3px}.save-warning{padding:12px 48px;background:#f5e8dc;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px}.demo-tag{letter-spacing:.3px;font-size:11px;text-transform:none;white-space:normal}.topbar{height:64px}.journey-hero{grid-template-columns:1fr auto;align-items:center;min-height:240px}.journey-hero h2{font-size:38px;margin:16px 0 12px}.journey-hero p{margin-bottom:18px}.journey-hero small{margin-top:12px}.journey-hero .journey{padding:0 24px}.actionable-stats .stat:hover{border-color:#aab9a4;background:#f5f6ed}.actionable-stats .stat{transition:border-color 150ms,background 150ms}.appointment-body{flex:1;min-width:0}.appointment-body strong,.table-row strong{overflow-wrap:anywhere}.row-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.appointment .row-actions{max-width:190px}.table-row{grid-template-columns:minmax(0,1fr) auto auto}.clothing-row{grid-template-columns:minmax(0,1fr) auto}.card-head{flex-wrap:wrap}.card-head h2{overflow-wrap:anywhere}.section-tools{align-items:center}.section-tools p{margin:8px 0 0}.attention{background:#f4e7db;color:#7e3826}.filter-bar{display:flex;gap:24px;align-items:flex-end;margin-bottom:24px}.search-field{display:grid;gap:6px;font-size:12px;flex:1;max-width:440px}.filter-check{display:flex;align-items:center;min-height:44px;gap:8px;font-size:13px}.filter-check input{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.discard-note{border:1px solid #d5bba2;background:#f4e7db;border-radius:10px;padding:12px}.discard-note p{color:var(--ink);font-size:13px;margin-bottom:4px}#toast{display:none;align-items:center;gap:16px;max-width:min(650px,calc(100vw - 32px));padding:10px 12px 10px 20px}#toast.visible{display:flex}#toast button{color:white;background:transparent;border:1px solid #96aa99;border-radius:8px;min-height:44px;padding:6px 12px;white-space:nowrap;font-size:12px}#toast .toast-close{border:0;font-size:22px;padding:0 6px}.diary-meta{flex-wrap:wrap}.diary-card p{overflow-wrap:anywhere}.empty p{max-width:450px;margin:12px auto 20px}.password-toggle{justify-self:start;padding:0;min-height:36px;margin-top:-12px}.auth-card .password-toggle{margin-top:-12px}.stock-actions button:disabled{cursor:not-allowed}.loading-state{margin-top:20px}.check-row label{cursor:pointer}.check-row:has(input:checked) label small{text-decoration:none}dialog .form-actions{position:sticky;bottom:-28px;background:var(--paper);padding:16px 0 0;margin-top:0}dialog::backdrop{backdrop-filter:blur(2px)}
@media(max-width:1100px){.mode-notice,.save-warning{padding-left:28px;padding-right:28px}.journey-hero .journey{padding:0 8px}.table-row{gap:16px}.appointment{gap:14px;flex-wrap:wrap}.appointment .row-actions{max-width:none;margin-left:68px}}
@media(max-width:760px){
 body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}.sidebar{padding:16px 20px 12px;border-bottom:1px solid var(--line)}.sidebar nav{position:fixed;bottom:0;left:0;right:0;z-index:10;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;overflow:visible;background:var(--white);border-top:1px solid var(--line);border-bottom:0;margin:0;padding:6px 6px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #29362f08}.sidebar nav:empty{display:none}.sidebar nav a{flex-direction:column;justify-content:center;gap:5px;padding:9px 0;min-width:0;min-height:58px;font-size:10px;border-radius:10px}.sidebar nav svg{width:21px;height:21px}.topbar{height:44px}.topbar>span:first-child{font-size:11px}.demo-tag{font-size:10px;max-width:170px}.mode-notice{padding:12px 20px;display:block;font-size:11px}.mode-notice a{display:inline-block;margin-top:4px;min-height:24px}.save-warning{padding:10px 20px;align-items:flex-start;flex-direction:column;gap:4px}.save-warning .text-button{padding-left:0}main{padding:24px 20px}.intro{margin-bottom:24px}.intro .button{width:100%}.intro p{font-size:14px}.journey-hero{grid-template-columns:1fr;min-height:0;padding:24px}.journey-hero h2{font-size:32px}.journey-hero .journey{display:none}.journey-hero .pill{font-size:9px}.hero p{font-size:13px}.stat{min-width:0}.stat strong{font-size:clamp(17px,4.7vw,24px);overflow-wrap:anywhere}.stat-label{letter-spacing:.4px;font-size:9px}.stat small{font-size:10px;line-height:1.5}.prep-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;overflow:visible}.prep-tabs button{padding:9px 3px;font-size:12px}.size-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;overflow:visible}.size-tabs button{padding:9px 3px;font-size:11px}.tabs:not(.size-tabs):not(.prep-tabs){flex-wrap:wrap;overflow:visible;gap:6px}.tabs:not(.size-tabs):not(.prep-tabs) button{padding:8px 14px;font-size:12px}.filter-bar{align-items:stretch;flex-direction:column;gap:8px}.search-field{max-width:none}.section-tools{align-items:stretch;gap:16px}.section-tools>.button{width:100%}.section-tools>div{width:100%}.table-row,.clothing-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.table-row>div:first-child{flex:1;min-width:160px}.table-row>.price{width:auto;font-size:13px}.table-row .row-actions{width:100%;justify-content:flex-end;padding-top:4px}.table-row .button{grid-column:auto;grid-row:auto}.clothing-row .row-actions{padding-top:0}.appointment{gap:12px;align-items:flex-start}.appointment .row-actions{margin-left:66px;width:calc(100% - 66px)}.appointment p{overflow-wrap:anywhere}.card-head h2{font-size:23px}.card-head>.button{font-size:12px}.check-row{gap:10px}.check-row .text-button{font-size:11px;padding:6px}.wellbeing .button{width:100%}.form-grid{gap:12px}dialog{padding:24px;max-height:calc(100dvh - 32px);overscroll-behavior:contain}dialog .form-actions{bottom:-24px}input:not([type=checkbox]),textarea,select{font-size:16px}.form-actions .button{flex:1}.diary-meta{font-size:11px}#toast{bottom:calc(86px + env(safe-area-inset-bottom));text-align:left;font-size:12px;gap:8px}footer{padding-bottom:20px}.brand{font-size:32px}.sidebar nav a span{letter-spacing:-.1px}
}
@media(max-width:360px){main{padding-left:16px;padding-right:16px}.stats{gap:6px}.stat{padding:12px 8px}.stat strong{font-size:17px}.sidebar nav a{font-size:9px}.form-grid{grid-template-columns:1fr}.size-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
.brand{font-size:34px;letter-spacing:-1.2px;gap:10px}.brand-mark{font-style:normal;font-size:27px}@media(max-width:760px){.brand{font-size:30px}.brand-mark{font-size:24px}}
#main:focus{outline:none}.ring{border-color:#c5d1c1}#invite-feedback{font-size:13px;color:var(--green);margin:0}.mode-notice span{line-height:1.7}

/* Identidade Olívia / oliva / oliveira. */
.brand .brand-logo{display:block;width:190px;height:auto;max-width:100%}.brand{letter-spacing:normal}.brand-sub{font-size:11px;line-height:1.5;letter-spacing:0}@media(max-width:1100px) and (min-width:761px){.brand .brand-logo{width:174px}}@media(max-width:760px){.brand .brand-logo{width:170px}}

.permission-fields{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.permission-fields label{min-width:0}.members-list{display:grid;gap:14px;margin:20px 0}.member-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px}.member-row>div{min-width:0;overflow-wrap:anywhere}.member-row .text-button{flex-shrink:0}.permission-fields select:disabled{opacity:.75}@media(max-width:760px){.permission-fields{grid-template-columns:1fr}.member-row{flex-wrap:wrap}.sidebar nav{grid-template-columns:repeat(var(--nav-count,5),minmax(0,1fr))}}
