:root{--bg:#f8f5f2;--paper:#fffdfa;--ink:#352f32;--muted:#7d7478;--line:#e9dedf;--primary:#8f5168;--primary2:#c78aa0;--soft:#f1e4e8;--gold:#ad8655;--shadow:0 18px 50px rgba(65,43,52,.09);--radius:22px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}.mobile-only{display:none}.toast{position:fixed;right:24px;bottom:24px;z-index:9999;background:#292426;color:white;padding:13px 18px;border-radius:14px;box-shadow:var(--shadow);max-width:360px}.error{color:#a33d4e;font-size:12px;min-height:16px}.hint{font-size:11px;color:var(--muted)}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:linear-gradient(125deg,#fbf7f5 0 52%,#efe0e5 52%)}.auth-art{padding:9vw 8vw;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:11px;letter-spacing:.18em;color:var(--primary);font-weight:800}.auth-art h1{font-family:Georgia,serif;font-size:clamp(48px,6.5vw,92px);line-height:.95;max-width:760px;margin:22px 0}.auth-art h1 em{color:var(--primary);font-weight:400}.auth-art p{font-size:18px;line-height:1.7;max-width:620px;color:var(--muted)}.auth-features{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.auth-features span{background:rgba(255,255,255,.75);border:1px solid var(--line);padding:10px 14px;border-radius:999px;font-size:12px}
.auth-card{align-self:center;justify-self:center;width:min(430px,86%);background:rgba(255,253,250,.96);padding:34px;border-radius:28px;box-shadow:0 35px 80px rgba(75,44,57,.16)}.brand{font-family:Georgia,serif;font-size:21px;color:var(--primary);margin-bottom:24px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--soft);padding:4px;border-radius:14px;margin-bottom:22px}.auth-tabs button{border:0;background:transparent;padding:10px;border-radius:11px;color:var(--muted)}.auth-tabs button.active{background:var(--paper);color:var(--primary);font-weight:800;box-shadow:0 4px 14px rgba(80,52,60,.08)}
label{font-size:12px;font-weight:700;display:block;margin:12px 0;color:#554d50}input,textarea,select{width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:11px 12px;border-radius:12px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--primary2);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary2) 18%,transparent)}textarea{min-height:100px;resize:vertical}.primary,.ghost,.mini,.chip{border:0;border-radius:12px;padding:10px 14px;font-weight:750}.primary{background:var(--primary);color:#fff}.primary:hover{filter:brightness(.96)}.ghost{background:var(--soft);color:var(--primary)}.mini{padding:7px 9px;background:var(--soft);color:var(--primary);font-size:11px}.wide{width:100%}.icon-btn{border:1px solid var(--line);background:var(--paper);width:39px;height:39px;border-radius:12px;color:var(--ink)}
.app{min-height:100vh;display:grid;grid-template-columns:278px 1fr}.sidebar{height:100vh;position:sticky;top:0;background:#382f33;color:#fdf6f7;padding:20px 14px;display:flex;flex-direction:column;z-index:60}.side-head{display:flex;align-items:center;gap:10px;padding:5px 8px 19px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark{width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,#d6a2b4,#9d6177);display:grid;place-items:center;font-size:22px}.side-head strong{display:block;font-family:Georgia,serif}.side-head small{color:#cbbbc1;font-size:10px}.sidebar nav{overflow:auto;padding:12px 2px;flex:1}.nav-group{font-size:9px;font-weight:900;letter-spacing:.16em;color:#9e8d93;margin:17px 10px 7px}.nav-btn{width:100%;border:0;background:transparent;color:#d8cdd1;display:flex;align-items:center;gap:10px;text-align:left;padding:9px 10px;border-radius:11px;font-size:12px}.nav-btn:hover,.nav-btn.active{background:rgba(255,255,255,.1);color:white}.nav-btn span:first-child{width:22px;text-align:center}.side-foot{padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.side-foot .ghost{background:rgba(255,255,255,.09);color:white;margin-top:7px}
.main{min-width:0}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 26px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(12px);position:sticky;top:0;z-index:30}.topbar>div:first-of-type{display:flex;flex-direction:column}.topbar small{font-size:9px;letter-spacing:.14em;color:var(--muted)}.topbar strong{font-family:Georgia,serif;font-size:18px}.top-actions{display:flex;align-items:center;gap:9px}.license-badge{font-size:10px;background:var(--soft);color:var(--primary);padding:7px 10px;border-radius:999px;font-weight:800}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:white;font-weight:900}.content{padding:28px;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin:0 0 22px}.page-head span{font-size:10px;letter-spacing:.15em;color:var(--primary);font-weight:800}.page-head h1{font-family:Georgia,serif;font-size:clamp(28px,4vw,46px);margin:5px 0 3px;font-weight:500}.page-head p{margin:0;color:var(--muted);font-size:13px;max-width:700px}.head-actions{display:flex;gap:8px;flex-wrap:wrap}
.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,1fr);margin-bottom:18px}.card,.stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px rgba(70,50,56,.035)}.card{padding:20px}.stat{padding:17px}.stat small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.stat b{font-family:Georgia,serif;font-size:29px;display:block;margin:4px 0}.stat em{font-size:10px;color:var(--primary);font-style:normal}.dashboard-grid{grid-template-columns:1.25fr .75fr}.hero-card{padding:28px;background:linear-gradient(135deg,var(--paper),var(--soft))}.hero-card h2{font-family:Georgia,serif;font-size:30px;margin:8px 0}.quick-grid{grid-template-columns:repeat(3,1fr)}.quick-card{border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:15px;text-align:left;min-height:100px}.quick-card b{display:block;margin:7px 0 3px}.quick-card small{color:var(--muted);font-size:10px}.section-title{font-family:Georgia,serif;font-size:22px;margin:0 0 14px}.empty{padding:30px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px}
.months-grid{grid-template-columns:repeat(3,1fr)}.month-card{padding:15px}.month-card h3{font-family:Georgia,serif;margin:0 0 10px;display:flex;justify-content:space-between}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.dow,.day{font-size:9px;text-align:center;padding:6px 2px;border-radius:7px}.dow{font-weight:800;color:var(--muted)}.day{background:color-mix(in srgb,var(--soft) 50%,transparent);min-height:28px}.day.today{background:var(--primary);color:white}.day.blank{background:transparent}.moon{font-size:12px}.month-nav{display:flex;gap:8px;align-items:center}.month-cover{min-height:340px;display:grid;place-items:center;text-align:center;background:linear-gradient(150deg,var(--soft),var(--paper));overflow:hidden;position:relative}.month-cover:before{content:'✦';position:absolute;font-size:210px;color:color-mix(in srgb,var(--primary) 6%,transparent)}.month-cover h2{font-family:Georgia,serif;font-size:55px;margin:0}.month-cover blockquote{font-family:Georgia,serif;font-style:italic;max-width:500px;color:var(--muted);font-size:18px}
.form-grid{grid-template-columns:repeat(2,1fr)}.form-grid .full{grid-column:1/-1}.collection-list{display:grid;gap:9px;margin-top:15px}.collection-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:13px}.collection-row.done .row-main{text-decoration:line-through;opacity:.55}.row-main b{display:block}.row-main small{color:var(--muted)}.row-actions{display:flex;gap:5px}.check{width:20px;height:20px;accent-color:var(--primary)}.split{grid-template-columns:1fr 1fr}.three{grid-template-columns:repeat(3,1fr)}.seven{grid-template-columns:repeat(7,1fr)}.day-column{min-height:240px;padding:12px}.day-column h4{margin:0 0 8px;font-size:12px}.day-column textarea{min-height:170px;font-size:11px}
.track-grid{display:grid;grid-template-columns:180px repeat(31,minmax(24px,1fr));gap:2px;overflow:auto;font-size:9px}.track-grid>div{padding:6px 4px;border:1px solid var(--line);min-width:24px;text-align:center}.track-grid .track-label{position:sticky;left:0;background:var(--paper);z-index:2;text-align:left;min-width:180px}.track-cell.active{background:var(--primary);color:white}.progress-bar{height:8px;background:var(--soft);border-radius:999px;overflow:hidden}.progress-bar span{display:block;height:100%;background:var(--primary)}
.wheel-grid{grid-template-columns:1fr 1fr}.wheel-visual{aspect-ratio:1;max-width:430px;margin:auto;border-radius:50%;background:conic-gradient(var(--primary) 0 12.5%,var(--primary2) 12.5% 25%,#c59b67 25% 37.5%,#7f9b8d 37.5% 50%,#7694a4 50% 62.5%,#957fa2 62.5% 75%,#b47c77 75% 87.5%,#879368 87.5%);display:grid;place-items:center;position:relative}.wheel-visual:after{content:'RODA\A DA VIDA';white-space:pre;text-align:center;display:grid;place-items:center;width:45%;height:45%;border-radius:50%;background:var(--paper);font-family:Georgia,serif;font-size:20px}.slider-row{display:grid;grid-template-columns:130px 1fr 26px;gap:10px;align-items:center;margin:9px 0}.slider-row input{padding:0}
.finance-table{width:100%;border-collapse:collapse}.finance-table th,.finance-table td{padding:9px;border-bottom:1px solid var(--line);font-size:11px;text-align:left}.money.plus{color:#477b60}.money.minus{color:#a04d58}.calc-result{font-family:Georgia,serif;font-size:38px;color:var(--primary)}
.notes-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.note-sheet{min-height:520px;padding:34px;border:1px solid var(--line);border-radius:16px}.note-sheet.lined{background:repeating-linear-gradient(var(--paper) 0 27px,#d9d0d2 28px)}.note-sheet.dotted{background-color:var(--paper);background-image:radial-gradient(#cdbfc4 1px,transparent 1px);background-size:18px 18px}.note-sheet.grid-paper{background-color:var(--paper);background-image:linear-gradient(#e4dadd 1px,transparent 1px),linear-gradient(90deg,#e4dadd 1px,transparent 1px);background-size:22px 22px}.cornell{display:grid;grid-template-columns:30% 70%;grid-template-rows:430px 90px}.cornell>*{border:1px solid var(--line);padding:14px}.cornell .summary{grid-column:1/-1}
.chat{min-height:420px;display:flex;flex-direction:column}.messages{flex:1;max-height:500px;overflow:auto;display:flex;flex-direction:column;gap:9px}.bubble{max-width:82%;padding:11px 13px;border-radius:15px;background:var(--soft);white-space:pre-wrap;font-size:12px;line-height:1.55}.bubble.me{align-self:flex-end;background:var(--primary);color:white}.chat-compose{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:14px}.chat-compose textarea{min-height:60px}.theme-grid{grid-template-columns:repeat(4,1fr)}.theme-option{border:2px solid transparent;background:var(--paper);border-radius:15px;padding:12px}.theme-option.active{border-color:var(--primary)}.theme-swatch{height:64px;border-radius:10px;margin-bottom:8px}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:9px;border-bottom:1px solid var(--line);font-size:11px;text-align:left}
.modal{position:fixed;inset:0;z-index:100;background:rgba(40,31,35,.55);display:grid;place-items:center;padding:20px}.modal-card{position:relative;background:var(--paper);border-radius:24px;padding:25px;width:min(640px,100%);max-height:90vh;overflow:auto}.modal-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:26px}.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:50}
body[data-theme="sage"]{--bg:#f2f5f0;--paper:#fcfdfb;--ink:#344038;--muted:#718076;--line:#dce5dd;--primary:#5f7d69;--primary2:#91aa98;--soft:#e4ece5;--gold:#9b8355}body[data-theme="lavender"]{--bg:#f7f4fa;--paper:#fffefe;--ink:#3d3547;--muted:#81778d;--line:#e7deec;--primary:#725d8c;--primary2:#a78fbd;--soft:#ece5f1;--gold:#a88959}body[data-theme="sand"]{--bg:#f8f3e9;--paper:#fffdf8;--ink:#41392e;--muted:#817667;--line:#e9deca;--primary:#8e6e46;--primary2:#c09c6e;--soft:#eee2cf;--gold:#8b704d}body[data-theme="midnight"]{--bg:#17161a;--paper:#211f25;--ink:#f6eff3;--muted:#b6aab1;--line:#3a353d;--primary:#c57e9b;--primary2:#9e83c2;--soft:#302b34;--gold:#ceb078}.sidebar{background:color-mix(in srgb,#2c2529 92%,var(--primary) 8%)}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.months-grid{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:repeat(2,1fr)}.seven{grid-template-columns:repeat(2,1fr)}.app{grid-template-columns:240px 1fr}.content{padding:20px}.track-grid{grid-template-columns:140px repeat(31,25px)}}
@media(max-width:760px){.mobile-only{display:inline-grid;place-items:center}.auth-shell{grid-template-columns:1fr;background:linear-gradient(160deg,#fbf7f5,#efe0e5)}.auth-art{padding:52px 24px 22px}.auth-art h1{font-size:48px}.auth-art p{font-size:14px}.auth-card{margin:0 auto 42px}.app{display:block}.sidebar{position:fixed;left:-290px;width:278px;transition:.25s}.sidebar.open{left:0}.side-head .mobile-only{margin-left:auto;color:white;background:transparent;border-color:rgba(255,255,255,.15)}.topbar{padding:0 12px;height:64px}.content{padding:16px}.topbar .license-badge{display:none}.page-head{align-items:flex-start;flex-direction:column}.stats,.months-grid,.dashboard-grid,.split,.three,.wheel-grid,.theme-grid,.form-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr 1fr}.seven{display:flex;overflow:auto}.day-column{min-width:230px}.month-card{padding:10px}.modal{padding:8px}.modal-card{border-radius:20px}.chat-compose{grid-template-columns:1fr}.collection-row{grid-template-columns:auto 1fr}.row-actions{grid-column:2}.auth-features{gap:6px}.track-grid .track-label{min-width:130px}.track-grid{grid-template-columns:130px repeat(31,25px)}}
