:root{--navy:#172b4d;--blue:#2f65d5;--blue-soft:#edf3ff;--ink:#172033;--muted:#667085;--line:#e5e9f0;--bg:#f6f8fb;--white:#fff;--red:#b42318;--red-bg:#fff0ee;--green:#16805d;--green-bg:#eaf8f1;--amber:#9a6700;--amber-bg:#fff7df;--shadow:0 12px 32px rgba(22,39,70,.09);--fs:1;--navy-solid:#172b4d;--blue-solid:#2f65d5;--red-solid:#b42318;color-scheme:light}
:root{--c234fa9:#234fa9;--c263247:#263247;--c2a4f9b:#2a4f9b;--c2d4a85:#2d4a85;--c3d61a8:#3d61a8;--c3e4a5f:#3e4a5f;--c3f5f9d:#3f5f9d;--c46526a:#46526a;--c52607a:#52607a;--c566174:#566174;--c59451a:#59451a;--c5c4300:#5c4300;--c666677:#666677;--c667085:#667085;--c697589:#697589;--c6d7788:#6d7788;--c7a8494:#7a8494;--c7a8699:#7a8699;--c805b00:#805b00;--c806c3e:#806c3e;--c818b9b:#818b9b;--c8a94a4:#8a94a4;--c912018:#912018;--c929bab:#929bab;--c98a2b3:#98a2b3;--c9a4d48:#9a4d48;--caab2c0:#aab2c0;--cb7c7ee:#b7c7ee;--cbdccef:#bdccef;--cc3c9d4:#c3c9d4;--ccfd6e4:#cfd6e4;--cd6dfef:#d6dfef;--cd8e4ff:#d8e4ff;--cd9e0ea:#d9e0ea;--cdbe5f7:#dbe5f7;--cdce2eb:#dce2eb;--cdce3ec:#dce3ec;--cdfe5ed:#dfe5ed;--ce3e8f0:#e3e8f0;--ce4eaf2:#e4eaf2;--ce5e7eb:#e5e7eb;--ce5ebf5:#e5ebf5;--ce8edf4:#e8edf4;--ce8efff:#e8efff;--cedf3ff:#edf3ff;--ceef1f6:#eef1f6;--ceef2f7:#eef2f7;--ceef3ff:#eef3ff;--cf0d99e:#f0d99e;--cf0f4fb:#f0f4fb;--cf1f4f9:#f1f4f9;--cf2f5fa:#f2f5fa;--cf3f5f9:#f3f5f9;--cf3f6fb:#f3f6fb;--cf3f7ff:#f3f7ff;--cf6f8fb:#f6f8fb;--cf7f9fc:#f7f9fc;--cf7f9ff:#f7f9ff;--cf8fafc:#f8fafc;--cf8faff:#f8faff;--cfdeceb:#fdeceb;--cffedbd:#ffedbd;--cfff0ee:#fff0ee;--cfff8e8:#fff8e8;--cffffff:#ffffff;}
:root[data-theme=dark]{color-scheme:dark;--navy:#e3ebff;--blue:#8fb0ff;--blue-soft:#1c2a47;--ink:#e6ebf5;--muted:#9aa6ba;--line:#2a3550;--bg:#0f1624;--white:#182133;--red:#ff9b92;--red-bg:#3a1b1a;--green:#5fd3a0;--green-bg:#12301f;--amber:#f0c15a;--amber-bg:#352a0e;--shadow:0 12px 32px rgba(0,0,0,.45);--c234fa9:#9fb2db;--c263247:#a5b4cf;--c2a4f9b:#9fb2db;--c2d4a85:#9fb3db;--c3d61a8:#9fb3db;--c3e4a5f:#afb9cb;--c3f5f9d:#a0b4d9;--c46526a:#afb8ca;--c52607a:#b0b9ca;--c566174:#b3bac7;--c59451a:#d8c397;--c5c4300:#ddcda5;--c666677:#b8b8c2;--c667085:#b4bac5;--c697589:#b4bbc5;--c6d7788:#b5bbc4;--c7a8494:#b6bbc4;--c7a8699:#b4bbc5;--c805b00:#d5c190;--c806c3e:#d4c6a6;--c818b9b:#b5bbc4;--c8a94a4:#b4bbc5;--c912018:#dba39f;--c929bab:#b4bac5;--c98a2b3:#b3bac7;--c9a4d48:#d5a8a5;--caab2c0:#485161;--cb7c7ee:#223259;--cbdccef:#203055;--cc3c9d4:#383f4e;--ccfd6e4:#283247;--cd6dfef:#1b2a45;--cd8e4ff:#17223c;--cd9e0ea:#232f3f;--cdbe5f7:#18263e;--cdce2eb:#232d3c;--cdce3ec:#212d3d;--cdfe5ed:#212c3a;--ce3e8f0:#1e2838;--ce4eaf2:#1b2738;--ce5e7eb:#262a32;--ce5ebf5:#16233a;--ce8edf4:#192535;--ce8efff:#131d32;--cedf3ff:#121c2f;--ceef1f6:#19212f;--ceef2f7:#172230;--ceef3ff:#121a2f;--cf0d99e:#665427;--cf0f4fb:#121d30;--cf1f4f9:#141e2f;--cf2f5fa:#121d2f;--cf3f5f9:#161d2c;--cf3f6fb:#121c2e;--cf3f7ff:#111a2c;--cf6f8fb:#0f1624;--cf7f9fc:#101b2b;--cf7f9ff:#10162a;--cf8fafc:#121d29;--cf8faff:#101729;--cfdeceb:#321513;--cffedbd:#4b3f1d;--cfff0ee:#2f1512;--cfff8e8:#322913;--cffffff:#182133;}
:root[data-fs=small]{--fs:.9}:root[data-fs=large]{--fs:1.12}:root[data-fs=larger]{--fs:1.25}:root[data-fs=largest]{--fs:1.4}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:calc(15px*var(--fs))/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{height:76px;background:var(--cffffff);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1120px)/2));position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--navy-solid);color:#fff;font-size:calc(22px*var(--fs));font-weight:800}.brand strong{display:block;font-size:calc(17px*var(--fs));letter-spacing:-.5px}.brand small{display:block;font-size:calc(11px*var(--fs));color:var(--muted);margin-top:-2px}.top-actions{display:flex;align-items:center;gap:10px}.app-shell{max-width:1120px;margin:0 auto;padding:34px 24px 28px}.welcome-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{font-size:calc(10px*var(--fs));letter-spacing:1.45px;font-weight:800;color:var(--c7a8699);margin:0 0 8px}.welcome-row h1{font-size:clamp(26px,4vw,36px);letter-spacing:-1.3px;line-height:1.1;margin:0 0 10px;color:var(--navy)}.subtitle{color:var(--muted);margin:0;font-size:calc(14px*var(--fs))}.today-pill{white-space:nowrap;border:1px solid var(--line);background:var(--cffffff);border-radius:99px;padding:9px 13px;font-size:calc(12px*var(--fs));color:var(--c566174)}.primary-btn,.secondary-btn,.icon-btn{border:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;transition:transform .12s,background .12s}.primary-btn{background:var(--blue-solid);color:white;padding:11px 16px;box-shadow:0 2px 5px color-mix(in srgb,var(--blue-solid) 11%,transparent)}.primary-btn:hover{background:#2457bd}.secondary-btn{background:var(--cffffff);color:var(--navy);border:1px solid var(--cdce2eb);padding:10px 14px}.secondary-btn:hover{background:var(--cf8faff)}.icon-btn{width:40px;height:40px;background:var(--cf2f5fa);color:var(--navy);font-size:calc(21px*var(--fs))}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:34px}.stat-card{background:var(--cffffff);border:1px solid var(--line);border-radius:15px;padding:17px 18px;text-align:left;display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-items:center;box-shadow:0 2px 4px #14213b04}.stat-card:hover{border-color:var(--cbdccef);transform:translateY(-1px)}.stat-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--blue-soft);color:var(--blue);font-weight:800;font-size:calc(18px*var(--fs));grid-row:span 2}.stat-overdue .stat-icon{background:var(--red-bg);color:var(--red)}.stat-label{font-size:calc(12px*var(--fs));color:var(--muted)}.stat-card strong{font-size:calc(28px*var(--fs));line-height:1.25;letter-spacing:-.7px;grid-column:2}.stat-card small{font-size:calc(11px*var(--fs));color:var(--c8a94a4);grid-column:2}.toolbar{margin-bottom:14px}.section-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:15px}.section-title h2{font-size:calc(21px*var(--fs));letter-spacing:-.5px;margin:0}.result-count{font-size:calc(12px*var(--fs));color:var(--muted);padding-bottom:3px}.filter-row{display:grid;grid-template-columns:minmax(180px,1fr) 210px;gap:10px;margin-bottom:13px}.search-box{display:flex;align-items:center;gap:8px;background:var(--cffffff);border:1px solid var(--cdfe5ed);border-radius:10px;padding:0 12px;color:var(--c8a94a4)}.search-box span{font-size:calc(23px*var(--fs))}.search-box input{border:0;outline:0;background:transparent;min-width:0;width:100%;height:42px}.filter-row select,.field input,.field select,.field textarea,.category-create input{background:var(--cffffff);border:1px solid var(--cdfe5ed);border-radius:9px;padding:10px 11px;color:var(--ink);width:100%;outline:none}.filter-row select:focus,.field input:focus,.field select:focus,.field textarea:focus,.category-create input:focus{border-color:color-mix(in srgb,var(--blue-solid) 55%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue-solid) 7%,transparent)}.horizon-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.horizon{white-space:nowrap;border:1px solid transparent;background:transparent;border-radius:8px;padding:8px 12px;color:var(--c697589);font-size:calc(12px*var(--fs));font-weight:700}.horizon.active{background:var(--ce8efff);color:var(--c234fa9);border-color:var(--cd8e4ff)}.obligation-list{display:grid;gap:10px}.obligation-card{background:var(--cffffff);border:1px solid var(--line);border-radius:14px;padding:16px 17px;display:grid;grid-template-columns:5px minmax(0,1fr) auto;gap:15px;align-items:stretch;box-shadow:0 2px 4px #14213b03}.card-accent{border-radius:5px;background:var(--cd6dfef)}.obligation-card.is-overdue .card-accent{background:#e35b50}.obligation-card.is-due-soon .card-accent{background:#e6ac32}.obligation-card.is-completed{opacity:.76}.card-main{min-width:0}.card-heading{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:7px}.card-heading h3{font-size:calc(15px*var(--fs));margin:0;letter-spacing:-.15px;overflow-wrap:anywhere}.category-chip,.status-chip,.recurring-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:6px;background:var(--cf1f4f9);color:var(--c667085);font-size:calc(10px*var(--fs));font-weight:700}.status-chip.overdue{background:var(--red-bg);color:var(--red)}.status-chip.soon{background:var(--amber-bg);color:var(--amber)}.status-chip.completed{background:var(--green-bg);color:var(--green)}.recurring-chip{background:var(--cedf3ff);color:var(--c3d61a8)}.card-meta{display:flex;gap:7px 14px;flex-wrap:wrap;color:var(--c667085);font-size:calc(12px*var(--fs))}.card-meta span{display:inline-flex;align-items:center;gap:5px}.card-notes{margin:8px 0 0;color:var(--c7a8494);font-size:calc(12px*var(--fs));white-space:pre-wrap;overflow-wrap:anywhere}.card-actions{display:flex;align-items:center;gap:5px;align-self:center}.small-action{border:1px solid transparent;background:transparent;color:var(--c6d7788);border-radius:8px;padding:8px 9px;font-size:calc(12px*var(--fs));font-weight:700;white-space:nowrap}.small-action:hover{background:var(--cf3f6fb);color:var(--navy)}.small-action.complete{background:transparent;color:var(--c6d7788);border-color:transparent}.small-action.complete:hover{background:var(--cf3f6fb);color:var(--navy)}.danger-action{color:#b42318}.danger-action:hover{background:var(--cfff0ee);color:var(--c912018)}.history-row-actions{display:flex;justify-content:flex-end;margin-top:6px}.empty-state{padding:46px 20px;background:var(--cffffff);border:1px dashed var(--cd9e0ea);border-radius:14px;text-align:center}.empty-icon{width:50px;height:50px;margin:0 auto 12px;border-radius:16px;display:grid;place-items:center;background:var(--green-bg);color:var(--green);font-size:calc(24px*var(--fs))}.empty-state h3{margin:0 0 6px;font-size:calc(17px*var(--fs))}.empty-state p{margin:0 auto 17px;color:var(--muted);font-size:calc(13px*var(--fs));max-width:380px}.bottom-tools{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 19px;background:var(--cf0f4fb);border:1px solid var(--ce5ebf5);border-radius:13px;margin-top:26px}.bottom-tools>div{display:flex;align-items:center;gap:12px}.tool-icon{width:37px;height:37px;display:grid;place-items:center;background:var(--cffffff);border-radius:10px;color:var(--blue);font-size:calc(20px*var(--fs))}.bottom-tools strong{font-size:calc(13px*var(--fs))}.bottom-tools p{margin:3px 0 0;color:var(--muted);font-size:calc(12px*var(--fs))}footer{display:flex;justify-content:space-between;gap:15px;color:var(--c929bab);font-size:calc(11px*var(--fs));padding:22px 1px 0}.local-indicator{display:flex;align-items:center;gap:6px}.local-indicator i{width:6px;height:6px;background:#22a06b;border-radius:50%}.modal{border:0;border-radius:18px;padding:0;width:min(640px,calc(100% - 28px));max-height:min(90vh,900px);box-shadow:var(--shadow);overflow:auto}.modal::backdrop{background:#111d32a8;backdrop-filter:blur(3px)}.modal form{padding:24px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:23px 24px 18px;border-bottom:1px solid var(--line)}.modal form .modal-head{padding:0 0 18px;margin-bottom:18px}.modal-head h2{font-size:calc(22px*var(--fs));letter-spacing:-.7px;line-height:1.2;margin:0}.close-dialog{flex:0 0 auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span{font-size:calc(12px*var(--fs));font-weight:700;color:var(--c3e4a5f)}.field b{color:var(--red)}.field small{font-size:calc(10px*var(--fs));color:var(--c8a94a4);line-height:1.35}.field textarea{resize:vertical}.full{grid-column:1/-1}.recurrence-box{background:var(--cf7f9fc);border:1px solid var(--ce8edf4);border-radius:12px;padding:13px}.check-line{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.check-line input{width:17px;height:17px;accent-color:var(--blue);margin:2px 0 0;flex:0 0 auto}.check-line strong{font-size:calc(12px*var(--fs));display:block}.check-line small{font-size:calc(11px*var(--fs));color:var(--muted);display:block;margin-top:3px}.recurrence-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:15px;padding-top:15px;border-top:1px solid var(--ce4eaf2)}.interval-control{display:flex;gap:7px}.interval-control input{width:76px}.interval-control select{flex:1;min-width:0}.hint{font-size:calc(11px*var(--fs));line-height:1.5;color:var(--c818b9b);margin:9px 0 0}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}.hidden{display:none!important}.small-modal{width:min(480px,calc(100% - 28px))}.small-modal>.modal-head{padding-bottom:16px}.modal-description{font-size:calc(13px*var(--fs));color:var(--muted);margin:0 24px 18px}.small-modal>.modal-description,.small-modal>.hint,.small-modal>.category-create,.small-modal>.category-list,.small-modal>.backup-actions,.small-modal>.status-message,.small-modal>.history-name,.small-modal>.history-events{margin-left:24px;margin-right:24px}.complete-repeat{margin-top:17px;padding:13px;background:var(--cf7f9fc);border-radius:10px}.category-create{display:flex;gap:8px;margin-top:18px;margin-bottom:14px}.category-create input{min-width:0}.category-list{display:grid;gap:7px;max-height:300px;overflow:auto}.category-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:9px;padding:9px 10px;font-size:calc(13px*var(--fs))}.category-row button{border:0;background:transparent;color:var(--c9a4d48);font-size:calc(12px*var(--fs));font-weight:700;padding:6px}.backup-actions{display:grid;gap:9px;margin-bottom:12px}.backup-actions .primary-btn,.backup-actions .secondary-btn{width:100%;padding:12px}.file-label{cursor:pointer}.status-message{font-size:calc(12px*var(--fs));color:var(--green);margin-top:8px}.history-name{font-size:calc(15px*var(--fs));margin-top:0}.history-events{display:grid;gap:0;padding-bottom:24px}.history-event{padding:12px 0 12px 16px;border-left:2px solid var(--cdbe5f7);position:relative}.history-event:before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#5780d7;left:-4.5px;top:17px}.history-event strong{display:block;font-size:calc(12px*var(--fs))}.history-event p{margin:4px 0 0;font-size:calc(12px*var(--fs));color:var(--muted);white-space:pre-wrap}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--navy-solid);color:white;border-radius:10px;padding:12px 16px;font-size:calc(13px*var(--fs));box-shadow:var(--shadow);z-index:20;transition:all .2s;max-width:calc(100% - 30px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.history-events:empty:after{content:"Ainda não há eventos registrados.";font-size:calc(13px*var(--fs));color:var(--muted);padding:14px 0}.history-name{margin-top:20px}.history-event:first-child{margin-top:0}#mileageField{display:none}body.mileage-on #mileageField{display:flex}
@media(max-width:760px){.topbar{height:65px;padding:0 16px}.app-shell{padding:25px 15px 22px}.welcome-row{align-items:flex-start;flex-direction:column;gap:13px}.today-pill{font-size:calc(11px*var(--fs));padding:7px 10px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:28px}.stat-card{padding:13px;grid-template-columns:30px 1fr;column-gap:8px}.stat-icon{width:29px;height:29px}.stat-card strong{font-size:calc(25px*var(--fs))}.filter-row{grid-template-columns:1fr}.search-box{grid-column:1/-1}.filter-row select{font-size:calc(12px*var(--fs))}.obligation-card{grid-template-columns:4px minmax(0,1fr);gap:11px;padding:13px}.card-actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap;align-self:auto;margin-top:4px}.small-action{padding:7px 9px}.bottom-tools{align-items:flex-start;flex-direction:column}.bottom-tools .secondary-btn{width:100%}footer{flex-direction:column}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.recurrence-fields{grid-template-columns:1fr}.modal form{padding:18px}.modal-head{padding:18px}.modal form .modal-head{padding:0 0 15px}.modal-head h2{font-size:calc(20px*var(--fs))}.small-modal>.modal-head{padding:18px 18px 14px}.small-modal>.modal-description,.small-modal>.hint,.small-modal>.category-create,.small-modal>.category-list,.small-modal>.backup-actions,.small-modal>.status-message,.small-modal>.history-name,.small-modal>.history-events{margin-left:18px;margin-right:18px}.small-modal>.history-events{padding-bottom:20px}.small-modal>.modal-description{margin-top:15px}.category-create{flex-direction:column}.category-create .primary-btn{width:100%}.top-actions .primary-btn{padding:10px 12px}.top-actions .primary-btn span{display:none}.top-actions{gap:7px}.brand strong{font-size:calc(15px*var(--fs))}.brand-mark{width:34px;height:34px}.horizon{padding:8px 10px}.section-title h2{font-size:calc(19px*var(--fs))}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Added in v0.2: cost history and completion actions */
.history-summary{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:16px;margin:14px 0;border:1px solid var(--line,var(--ce5e7eb));border-radius:14px;background:var(--surface-soft,var(--cf8fafc))}
.history-summary span{font-size:.9rem;color:var(--muted,var(--c667085))}
.history-summary strong{font-size:1.25rem}
.history-summary small{grid-column:1/-1;color:var(--muted,var(--c667085))}
.history-filters{margin-top:12px}
.history-cost-detail{font-size:.86rem;color:var(--muted,var(--c667085))}
.card-actions{flex-wrap:wrap}
.card-actions .small-action{white-space:normal}
@media(max-width:560px){.top-actions{gap:6px}.top-actions .secondary-btn{padding:9px 10px;font-size:.78rem}.history-summary strong{font-size:1.1rem}}

/* Plime v0.5 — perfis de categoria e avisos de quilometragem */
.category-row-actions{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.category-row-actions button{border:0;background:var(--cf3f6fb);color:var(--c3f5f9d);border-radius:7px;font-size:calc(11px*var(--fs));font-weight:700;padding:7px 9px;white-space:nowrap}
.category-row-actions button[data-delete-category]{background:transparent;color:var(--c9a4d48)}
.mileage-notice-list{display:grid;gap:9px;margin-bottom:12px}
.mileage-notice{display:flex;align-items:center;gap:12px;padding:13px 15px;background:var(--cfff8e8);border:1px solid var(--cf0d99e);border-radius:12px;color:var(--c59451a)}
.mileage-notice-icon{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;background:var(--cffedbd);color:var(--c805b00);font-weight:900}
.mileage-notice-copy{flex:1;min-width:0}
.mileage-notice-copy strong{font-size:calc(13px*var(--fs));display:block}
.mileage-notice-copy p{font-size:calc(12px*var(--fs));line-height:1.4;color:var(--c806c3e);margin:3px 0 0}
.mileage-notice .secondary-btn{flex:0 0 auto;padding:9px 11px;font-size:calc(11px*var(--fs))}
#categoryProfileDialog .form-grid{gap:13px}
#categoryProfileDialog .modal-actions{margin-top:18px}
@media(max-width:560px){.mileage-notice{align-items:flex-start;flex-wrap:wrap}.mileage-notice-copy{min-width:calc(100% - 46px)}.mileage-notice .secondary-btn{margin-left:42px}.category-row{align-items:flex-start;flex-direction:column}.category-row-actions{width:100%;justify-content:flex-end}.category-row-actions button{flex:1}}

/* Plime v0.6 — filtros de histórico e edição de ocorrências */
.history-filter-layout{display:grid;gap:14px;margin-top:12px}
.history-period-field{min-width:0}
.history-period-buttons{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}
.history-period-btn{border:1px solid var(--border,var(--cdce3ec));background:var(--cffffff);color:var(--ink,var(--c263247));border-radius:9px;padding:9px 12px;font:inherit;font-size:calc(12px*var(--fs));font-weight:700;cursor:pointer}
.history-period-btn.active{background:var(--primary,#315ca8);border-color:var(--primary,#315ca8);color:#fff}
.history-custom-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.history-row-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
#editHistoryDialog .form-grid{gap:13px}
@media(min-width:720px){.history-filter-layout{grid-template-columns:minmax(180px,1fr) minmax(0,2fr) minmax(180px,1fr);align-items:end}.history-period-field{grid-column:2}.history-custom-range{grid-column:1 / -1;grid-row:2}}
@media(max-width:560px){.history-period-btn{flex:1 1 auto;padding:9px 8px}.history-custom-range{grid-template-columns:1fr}}
/* Keep the history filters in the requested three-row hierarchy on all screens. */
.history-filter-layout{display:flex;flex-direction:column;align-items:stretch;gap:13px}
.history-period-buttons{display:flex;flex-wrap:wrap;gap:7px}
.history-custom-range{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:560px){.history-custom-range{grid-template-columns:1fr}}

/* Contagem regressiva em cada item (dias e km) */
.card-meta .countdown{padding:3px 8px;border-radius:6px;background:var(--blue-soft);color:var(--c3d61a8);font-weight:700}
.card-meta .countdown.warn{background:var(--amber-bg);color:var(--amber)}
.card-meta .countdown.late{background:var(--red-bg);color:var(--red)}

.backup-notice .mileage-notice-icon{font-size:calc(15px*var(--fs))}

/* Lista de compras (categoria Mercado) */
.shopping-title{font-size:calc(12px*var(--fs));font-weight:700;color:var(--navy)}
.shopping-catalog{border:1px solid var(--line);border-radius:12px;background:var(--cffffff);max-height:340px;overflow-y:auto;padding:4px 12px 8px;margin-top:6px}
.shop-group{border:0;margin:0;padding:0;min-width:0}
.shop-group legend{padding:12px 0 4px;font-size:calc(10px*var(--fs));font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--c818b9b)}
.shop-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 8px;margin:0 -8px;border-radius:9px}
.shop-row.is-on{background:var(--blue-soft)}
.shop-check{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:pointer;font-size:calc(13px*var(--fs));color:var(--ink)}
.shop-check input{width:18px;height:18px;accent-color:var(--blue);flex:0 0 auto;margin:0}
.shop-row.is-on .shop-check{font-weight:700}
.shop-qty{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.shop-qty input{width:44px;height:30px;text-align:center;border:1px solid var(--line);border-radius:8px;font-size:calc(13px*var(--fs));padding:0;background:var(--cffffff);-moz-appearance:textfield}
.shop-qty input::-webkit-outer-spin-button,.shop-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.shop-qty input:disabled{background:var(--cf3f5f9);color:var(--caab2c0)}
.qty-btn{width:30px;height:30px;border:1px solid var(--line);background:var(--cffffff);color:var(--navy);border-radius:8px;font-size:calc(16px*var(--fs));font-weight:700;line-height:1;padding:0;cursor:pointer}
.qty-btn:disabled{color:var(--cc3c9d4);background:var(--cf3f5f9);cursor:default}
.shopping-count{margin:8px 0 0;font-size:calc(12px*var(--fs));font-weight:700;color:var(--blue)}
.shop-summary{margin-top:9px;font-size:calc(12px*var(--fs))}
.shop-summary summary{cursor:pointer;font-weight:700;color:var(--c3d61a8)}
.shop-summary ul{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px 16px}
.shop-summary li{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:1px dashed var(--line);color:var(--ink)}
.shop-summary li b{color:var(--navy)}

/* Botões de ação quebram em linhas no computador, para não espremer o conteúdo do cartão */
@media(min-width:761px){.card-actions{flex-wrap:wrap;justify-content:flex-end;max-width:330px}}

/* Conta Google e backup no Drive */
.google-box{border:1px solid var(--line);border-radius:12px;background:var(--cf7f9fc);padding:13px 14px;margin:0 24px 14px}
.google-box h3{margin:0 0 6px;font-size:calc(12px*var(--fs));font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--c818b9b)}
.google-box .hint{margin:0 0 10px}
.google-account{display:flex;align-items:center;gap:12px;min-width:0;margin-bottom:10px}
.google-avatar{flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:var(--navy-solid);color:#fff;display:grid;place-items:center;font-weight:800;font-size:calc(16px*var(--fs))}
.google-info{display:flex;flex-direction:column;min-width:0}
.google-info strong{font-size:calc(14px*var(--fs));color:var(--navy);overflow-wrap:anywhere}
.google-info small{font-size:calc(12px*var(--fs));color:var(--c667085);overflow-wrap:anywhere}
.google-buttons{display:flex;gap:8px;flex-wrap:wrap}
.backup-actions{flex-wrap:wrap}
.status-message[data-kind="error"]{color:var(--red)}
.status-message[data-kind="ok"]{color:var(--green)}
button:disabled.secondary-btn{opacity:.55;cursor:default}

/* Tela de boas-vindas (primeira abertura) */
.welcome-screen{position:fixed;inset:0;z-index:200;display:grid;place-items:center;overflow-y:auto;padding:max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));background:linear-gradient(160deg,var(--ceef3ff) 0%,var(--cf6f8fb) 55%,var(--cffffff) 100%)}
.welcome-card{width:min(430px,100%);text-align:center;background:var(--cffffff);border:1px solid var(--line);border-radius:22px;padding:30px 24px 24px;box-shadow:var(--shadow)}
.welcome-logo{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 14px;border-radius:18px;background:var(--navy-solid);color:#fff;font-size:calc(30px*var(--fs));font-weight:800}
.welcome-card h2{margin:4px 0 10px;font-size:calc(26px*var(--fs));color:var(--navy)}
.welcome-lead{margin:0 0 16px;color:var(--c667085);font-size:calc(14px*var(--fs));line-height:1.55}
.welcome-points{list-style:none;margin:0 0 22px;padding:0;text-align:left;display:grid;gap:9px}
.welcome-points li{position:relative;padding-left:26px;font-size:calc(13px*var(--fs));line-height:1.45;color:var(--ink)}
.welcome-points li::before{content:"✓";position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:var(--green-bg);color:var(--green);font-size:calc(11px*var(--fs));font-weight:800;display:grid;place-items:center}
.welcome-actions{display:grid;gap:10px}
.welcome-actions button{width:100%;justify-content:center}
.welcome-restore{border:1px solid var(--line);background:var(--cf7f9fc);border-radius:14px;padding:14px;margin-bottom:6px}
.welcome-restore p{margin:0 0 12px;font-size:calc(13px*var(--fs));line-height:1.5;color:var(--ink)}
.welcome-card .hint{margin:14px 0 0}
.welcome-card .status-message{margin-top:10px;min-height:0}

/* Abas, filtros de tempo, novo item, custos estimados e PDF */
.tabbar{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:-8px 0 24px}
.tab{border:0;background:transparent;padding:12px 16px;font:inherit;font-size:calc(14px*var(--fs));font-weight:700;color:var(--c697589);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px;border-radius:8px 8px 0 0}
.tab:hover{color:var(--navy);background:var(--cf2f5fa)}
.tab.active{color:var(--blue);border-bottom-color:var(--blue)}
.filter-row{grid-template-columns:1fr}
.horizon-tabs{flex-wrap:wrap;overflow-x:visible}
.horizon{border-color:var(--ce3e8f0);background:var(--cffffff)}
.main-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0 0;max-width:460px}
.range-info{margin:10px 0 0;font-size:calc(12px*var(--fs));color:var(--c667085);min-height:0}
.range-info:empty{display:none}
.new-item-row{margin:14px 0 14px}
.new-item-row .primary-btn{width:auto}
.pdf-row{display:flex;justify-content:flex-end;margin:-4px 0 14px}
#tabHistory .section-title{margin-bottom:10px}
.restore-hint{margin:0 0 14px;padding:10px 12px;border-radius:10px;background:var(--blue-soft);color:var(--c2a4f9b);line-height:1.5}
.icon-btn svg{display:block}
@media(max-width:560px){.tab{flex:1;padding:12px 8px;font-size:calc(13px*var(--fs))}.new-item-row .primary-btn{width:100%}.pdf-row .secondary-btn{width:100%}}

.shop-empty{margin:8px 0;font-size:calc(12px*var(--fs));color:var(--muted)}
.shop-add{display:flex;gap:8px;margin:8px 0 4px}
.shop-add input{flex:1;min-width:0;height:36px;border:1px solid var(--line);border-radius:9px;padding:0 10px;font-size:calc(13px*var(--fs));background:var(--cffffff);color:var(--ink);outline:none}
.shop-add input:focus{border-color:color-mix(in srgb,var(--blue-solid) 55%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue-solid) 7%,transparent)}
.shop-add button{flex:0 0 auto;height:36px;padding:0 12px;font-size:calc(12px*var(--fs));white-space:nowrap}
.shop-add-group{margin-top:10px}
.shop-del{border:0;background:transparent;color:var(--c9a4d48);font-size:calc(17px*var(--fs));line-height:1;width:26px;height:30px;padding:0;cursor:pointer;border-radius:7px}
.shop-del:hover,.shop-del:focus-visible{background:var(--cfdeceb)}
.shop-del-group{margin-left:6px;vertical-align:middle;height:22px;font-size:calc(15px*var(--fs))}
.history-order-info{margin:10px 0 0}
.category-create select{width:auto;flex:0 0 auto}
@media(max-width:560px){.category-create select{width:100%}}
.category-create select{background:var(--cffffff);border:1px solid var(--cdfe5ed);border-radius:9px;padding:10px 11px;color:var(--ink);font:inherit;outline:none;min-width:0}
.category-create select:focus{border-color:color-mix(in srgb,var(--blue-solid) 55%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue-solid) 7%,transparent)}
.category-create{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.category-create input{grid-column:1 / -1}
.category-create select,.category-create .primary-btn{width:auto;min-width:0;grid-column:auto}
.category-create select{width:100%}
.category-create .primary-btn{white-space:nowrap;padding-left:22px;padding-right:22px}
@media(max-width:560px){.category-create select{width:100%}.category-create .primary-btn{width:auto}}

.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.filter-row .search-box{grid-column:1/-1}
.filter-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.filter-field>span{font-size:calc(11px*var(--fs));font-weight:700;color:var(--muted)}
.filter-field select{font-size:calc(13px*var(--fs))}
.new-item-row{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.new-item-row .primary-btn,.new-item-row .secondary-btn{width:auto;flex:0 0 auto}
#mainSummary{margin:0 0 14px;padding:12px 16px}
@media(max-width:560px){.new-item-row .primary-btn,.new-item-row .secondary-btn{flex:1 1 0;width:auto;padding-left:10px;padding-right:10px}.welcome-row .subtitle,.welcome-row .eyebrow{display:none}.welcome-row h1{font-size:1.45rem;margin:0}.stat-card small{display:none}}
@media(max-width:560px){.filter-row{grid-template-columns:1fr}}

.quick-wrap{margin:12px 0 4px}
.quick-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.quick-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--cffffff);color:var(--ink);text-align:left;cursor:pointer;font:inherit;min-width:0}
.quick-btn strong{font-size:1.25rem;line-height:1.1;color:var(--navy)}
.quick-btn span{font-size:calc(12px*var(--fs));font-weight:700;color:var(--c697589);overflow-wrap:anywhere}
.quick-btn.active{background:var(--ce8efff);border-color:color-mix(in srgb,var(--blue-solid) 55%,#fff)}
.quick-btn.active span{color:var(--c234fa9)}
.link-btn{border:0;background:transparent;color:var(--c3d61a8);font-size:calc(12px*var(--fs));font-weight:700;padding:8px 2px;cursor:pointer}
.new-item-row .secondary-btn,.new-item-row .primary-btn{flex:1 1 150px}
.cost-toggle{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}
.cost-toggle[aria-pressed=true]{border-color:color-mix(in srgb,var(--blue-solid) 55%,#fff);background:var(--cedf3ff)}
.cost-hint{font-size:calc(11px*var(--fs));font-weight:600;color:var(--c3d61a8)!important}
.new-cat-box{border:1px dashed var(--cb7c7ee);border-radius:12px;padding:12px;background:var(--cf7f9ff)}
.new-cat-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px}
.new-cat-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.fuel-preview{margin:0;padding:10px 12px;border-radius:10px;background:var(--cf3f7ff);color:var(--c2d4a85);line-height:1.45}
.fuel-line{color:var(--c2d4a85)}
.sub-chip{background:var(--ceef2f7)}
.notice-modal .modal-actions{justify-content:center}
.notice-modal .primary-btn{min-width:140px}
@media(max-width:560px){.quick-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}

.fuel-step{margin:.4rem 0 0;font-size:.95rem}.fuel-step small{font-weight:400;color:var(--muted,var(--c666677))}

/* v0.20: notificações, configurações, cópias automáticas */
.notif-btn{position:relative}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--red-solid);color:#fff;font-size:calc(10px*var(--fs));font-weight:800;display:grid;place-items:center;line-height:1}
.notif-list,.snapshot-list{list-style:none;margin:0;padding:0 24px;display:grid;gap:8px;max-height:52vh;overflow:auto}
.notif-item{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--cffffff)}
.notif-item.unread{border-color:var(--cbdccef);background:var(--blue-soft)}
.notif-item strong{font-size:calc(12px*var(--fs))}.notif-item p{margin:2px 0;font-size:calc(13px*var(--fs));overflow-wrap:anywhere}.notif-item small{font-size:calc(11px*var(--fs));color:var(--muted)}
.notif-icon{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:calc(13px*var(--fs));font-weight:800;background:var(--ceef1f6);color:var(--c52607a)}
.notif-success .notif-icon{background:var(--green-bg);color:var(--green)}.notif-warn .notif-icon{background:var(--amber-bg);color:var(--amber)}.notif-error .notif-icon{background:var(--red-bg);color:var(--red)}
.notif-empty{padding:18px 4px;font-size:calc(13px*var(--fs));color:var(--muted);text-align:center}
.notif-actions{margin:16px 24px 20px;padding-top:16px}
.settings-group{padding:4px 24px 18px;border-bottom:1px solid var(--line);display:grid;gap:12px}.settings-group:last-child{border-bottom:0}.settings-group h3{margin:14px 0 0;font-size:calc(14px*var(--fs))}
.mute-list{display:grid;gap:8px}.settings-buttons{display:grid;gap:9px}
.snapshot-section{margin:6px 24px 12px}.snapshot-section h3{margin:10px 0 0;font-size:calc(14px*var(--fs))}.snapshot-section .snapshot-list{padding:0;margin-top:8px;max-height:200px}
.snapshot-list li:not(.notif-empty){display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:10px;padding:9px 11px}.snapshot-list strong{display:block;font-size:calc(13px*var(--fs))}.snapshot-list small{font-size:calc(11px*var(--fs));color:var(--muted)}
@media(max-width:560px){.notif-list{padding:0 18px}.notif-actions{margin:14px 18px 18px;flex-direction:column}.settings-group{padding:4px 18px 16px}.snapshot-section{margin:6px 18px 12px}}

/* Navegação entre abas: o navegador deixa o gesto horizontal para o app e a aba entra deslizando */
html{touch-action:pan-y pinch-zoom;overscroll-behavior-x:none}body{touch-action:pan-y pinch-zoom;min-height:100vh;min-height:100dvh}
@keyframes tabInRight{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes tabInLeft{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
.tab-in-right{animation:tabInRight .22s ease-out}
.tab-in-left{animation:tabInLeft .22s ease-out}
@media (prefers-reduced-motion:reduce){.tab-in-right,.tab-in-left{animation:none}}
html{min-height:100%}body{min-height:100vh;min-height:100dvh}
.brand-mark{font-size:calc(17px*var(--fs));letter-spacing:-.8px}
.welcome-origin{margin:-4px 0 10px;color:var(--muted);font-size:calc(13px*var(--fs));text-align:center}.welcome-origin strong{color:var(--navy)}
.pin-input{width:100%;text-align:center;font-size:calc(28px*var(--fs));letter-spacing:12px;padding:12px 12px 12px 24px;border:1px solid var(--cdfe5ed);border-radius:12px;background:var(--cffffff);color:var(--navy);outline:none;margin:4px 0 6px}.pin-input:focus{border-color:color-mix(in srgb,var(--blue-solid) 55%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue-solid) 7%,transparent)}.pin-input:disabled{background:var(--cf2f5fa)}
.lock-screen{z-index:300}.lock-screen .welcome-card{max-width:360px}.lock-screen .status-message{min-height:20px}.lock-screen .status-message[data-kind="error"],#pinStatus[data-kind="error"]{color:var(--red)}
#pinStatus{margin:10px 0 0}
.tutorial-modal{width:min(440px,calc(100% - 28px))}.tutorial-body{padding:30px 26px 10px;text-align:center;min-height:300px;display:flex;flex-direction:column;align-items:center}
.tutorial-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:var(--blue-soft);color:var(--blue);font-size:calc(30px*var(--fs));font-weight:800;margin-bottom:14px}
.tutorial-body h2{margin:2px 0 10px;font-size:calc(22px*var(--fs));color:var(--navy);letter-spacing:-.5px}.tutorial-text{margin:0;color:var(--c46526a);font-size:calc(14px*var(--fs));line-height:1.55}
.tutorial-dots{display:flex;gap:7px;margin-top:auto;padding-top:22px}.tutorial-dots i{width:7px;height:7px;border-radius:50%;background:var(--cd6dfef)}.tutorial-dots i.on{background:var(--blue-solid);width:18px;border-radius:4px}
.tutorial-actions{display:flex;align-items:center;gap:8px;padding:14px 20px 20px}.tutorial-actions .spacer{flex:1}
.pin-wrap{position:relative;display:block;width:100%}.pin-wrap input{width:100%;padding-right:46px}.pin-wrap .pin-input{padding-right:48px}
.eye-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:var(--c6d7788);padding:0}.eye-btn:hover{background:var(--cf3f6fb);color:var(--navy)}.eye-btn[aria-pressed="true"]{color:var(--blue)}
.lock-screen .pin-wrap{margin:4px 0 6px}.lock-screen .pin-input{margin:0}
.lock-screen .status-message{margin-bottom:12px}.lock-screen .welcome-actions{margin-top:2px}
.modal-notice{margin:0 0 14px;padding:12px 14px;background:var(--amber-bg);color:var(--c5c4300);border-radius:10px;font-size:calc(12.5px*var(--fs));line-height:1.5}
.enc-meter{display:flex;gap:5px;margin-top:2px}.enc-meter i{flex:1;height:5px;border-radius:3px;background:var(--ce3e8f0)}.enc-meter[data-level="1"] i:nth-child(1){background:#d92d20}.enc-meter[data-level="2"] i:nth-child(-n+2){background:#e6ac32}.enc-meter[data-level="3"] i{background:#16805d}
#encStatus[data-kind="error"],#encAskStatus[data-kind="error"]{color:var(--red)}#encStatus,#encAskStatus{margin:10px 0 0}
/* Configurações em seções recolhíveis */
.settings-modal{width:min(520px,calc(100% - 28px))}
.set-list{padding:0 0 8px}.set-sec{border-bottom:1px solid var(--line)}.set-sec:last-child{border-bottom:0}
.set-sec>summary{list-style:none;display:flex;align-items:center;gap:13px;padding:15px 24px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.set-sec>summary::-webkit-details-marker{display:none}
.set-sec>summary::after{content:"›";margin-left:auto;font-size:calc(24px*var(--fs));line-height:1;color:var(--c98a2b3);transition:transform .15s}
.set-sec[open]>summary::after{transform:rotate(90deg)}
.set-sec>summary:hover{background:var(--cf8faff)}
.set-ico{width:38px;height:38px;border-radius:12px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;flex:0 0 auto}
.set-title{min-width:0}.set-title strong{display:block;font-size:calc(15px*var(--fs))}.set-title small{display:block;font-size:calc(12px*var(--fs));color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.set-body{padding:0 24px 20px}
.set-sub{margin:18px 0 2px;font-size:calc(10px*var(--fs));letter-spacing:1.3px;font-weight:800;color:var(--c7a8699);text-transform:uppercase}.set-body>.set-sub:first-child{margin-top:4px}
.set-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;cursor:pointer}
.set-label{min-width:0}.set-label strong{display:block;font-size:calc(13.5px*var(--fs));font-weight:600;color:var(--ink)}.set-label small{display:block;font-size:calc(11.5px*var(--fs));color:var(--muted);margin-top:2px;line-height:1.4}.set-label small:empty{display:none}
.set-row select{flex:0 0 auto;max-width:48%;background:var(--cffffff);border:1px solid var(--cdfe5ed);border-radius:9px;padding:8px 10px;font-size:calc(13px*var(--fs));color:var(--ink);outline:none}
.set-row select:focus{border-color:color-mix(in srgb,var(--blue-solid) 55%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue-solid) 7%,transparent)}.set-row select:disabled{background:var(--cf2f5fa);color:var(--c98a2b3)}
.set-help{margin:4px 0 6px;font-size:calc(11.5px*var(--fs));color:var(--c7a8699);line-height:1.5}
.set-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 2px}.set-actions button{padding:8px 12px;font-size:calc(13px*var(--fs))}.set-actions-end{margin-top:16px}
.switch{-webkit-appearance:none;appearance:none;flex:0 0 auto;width:42px;height:24px;border-radius:99px;background:var(--ccfd6e4);position:relative;cursor:pointer;transition:background .15s;margin:0}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--cffffff);box-shadow:0 1px 3px #0003;transition:transform .15s}
.switch:checked{background:var(--blue-solid)}.switch:checked::after{transform:translateX(18px)}.switch:focus-visible{outline:2px solid color-mix(in srgb,var(--blue-solid) 55%,#fff);outline-offset:2px}
.settings-modal .mute-list{gap:0}
.enc-tools{display:flex;flex-wrap:wrap;gap:8px}.enc-tools button{padding:9px 13px;font-size:calc(13px*var(--fs))}
.enc-done-title{margin:4px 0 0;font-size:calc(18px*var(--fs));font-weight:800;color:var(--green)}.enc-done-text{margin:8px 0 14px!important}
#encDoneBox .modal-actions{margin-top:20px}
#encEditBox .modal-notice{margin-bottom:14px}
@media(max-width:560px){.set-sec>summary{padding:14px 18px}.set-body{padding:0 18px 18px}.set-row select{max-width:52%}}
.enc-done-box .enc-tools,#encDoneBox .btn{margin-top:10px}
dialog.modal,dialog{background:var(--cffffff);color:var(--ink)}

.set-block{display:grid;gap:9px;padding:9px 0}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;background:var(--cf3f6fb);border:1px solid var(--line);border-radius:12px}
.seg button{border:0;background:transparent;color:var(--muted);border-radius:9px;padding:9px 6px;font-weight:700;font-size:calc(13px*var(--fs));line-height:1.1;min-height:42px}
.seg button[aria-checked=true]{background:var(--blue-solid);color:#fff;box-shadow:0 1px 3px #0003}
.seg-size button{font-weight:800}

.check-summary{margin-top:9px;font-size:calc(12px*var(--fs))}
.check-summary summary{cursor:pointer;font-weight:700;color:var(--c3d61a8)}
.check-summary.all-done summary{color:var(--green)}
.check-summary ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:2px}
.check-summary li label{display:flex;align-items:center;gap:10px;padding:8px 2px;min-height:40px;cursor:pointer;color:var(--ink);font-size:calc(14px*var(--fs))}
.check-summary input[type=checkbox],.check-draft input[type=checkbox]{width:20px;height:20px;accent-color:var(--blue);flex:none}
.check-summary input:checked+span{text-decoration:line-through;color:var(--muted)}
.check-draft{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}
.check-draft li{display:flex;gap:6px;align-items:center}
.check-draft-main{display:flex;gap:9px;align-items:center;flex:1;min-width:0}
.check-draft-main input[type=text]{flex:1;min-width:0;padding:9px 10px;border:1px solid var(--cdfe5ed);border-radius:9px;background:var(--cffffff);color:var(--ink)}
.check-draft .icon-btn{flex:none}
.template-list{list-style:none;margin:6px 0 0;padding:0 22px 22px;display:grid;gap:10px}
#templateEmpty{padding:0 22px 18px}
.template-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--cf7f9fc)}
.template-row strong{display:block;color:var(--navy)}
.template-row small{color:var(--muted)}
.template-actions{display:flex;gap:6px;flex:none}
.template-actions .primary-btn,.template-actions .secondary-btn{width:auto;padding:9px 12px}
@media(max-width:560px){.template-row{flex-direction:column;align-items:stretch}.template-actions{justify-content:flex-end}}

.vehicle-panel{margin:0 0 16px}
.veh-panel{border:1px solid var(--line);border-radius:14px;background:var(--cffffff)}
.veh-panel>summary{display:flex;flex-direction:column;gap:2px;padding:13px 15px;cursor:pointer;list-style:none}
.veh-panel>summary::-webkit-details-marker{display:none}
.veh-title{font-weight:800;color:var(--navy)}
.veh-panel>summary small{color:var(--muted);font-size:calc(12px*var(--fs))}
.veh-panel>summary::after{content:'▾';position:absolute;right:16px}
.veh-panel{position:relative}
.veh-panel[open]>summary::after{content:'▴'}
.veh-body{padding:0 15px 15px;display:grid;gap:12px}
.veh-period{max-width:360px}
.veh-period button{min-height:36px;padding:6px 8px}
.veh-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--cf7f9fc)}
.veh-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.veh-head h3{margin:0;font-size:calc(16px*var(--fs));color:var(--navy)}
.veh-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0}
.veh-cell{display:flex;flex-direction:column;gap:2px;padding:10px;border-radius:10px;background:var(--cffffff);border:1px solid var(--line)}
.veh-cell span{font-size:calc(12px*var(--fs));color:var(--muted)}
.veh-cell strong{font-size:calc(17px*var(--fs));color:var(--ink)}
.veh-cell small{font-size:calc(11px*var(--fs));color:var(--muted)}
.veh-next{margin:0;font-size:calc(13px*var(--fs));color:var(--ink)}
@media(min-width:700px){.veh-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

.vehicle-panel{position:relative}
.veh-hide{position:absolute;top:9px;right:10px;width:34px;height:34px;border:0;border-radius:10px;background:var(--cf3f6fb);color:var(--muted);font-size:calc(15px*var(--fs));line-height:1;display:grid;place-items:center}
.veh-hide:hover{color:var(--navy)}
.veh-panel>summary{padding-right:96px}
.veh-panel>summary::after{right:54px;top:18px}
.notif-action{margin:6px 0 4px;padding:8px 12px;width:auto}.notif-done{display:block;margin:4px 0;font-size:calc(12px*var(--fs));color:var(--green);font-weight:700}

:root{--chart-1:#2a78d6}:root[data-theme=dark]{--chart-1:#3987e5}
.pdf-row{gap:10px;flex-wrap:wrap}
.export-choices{display:grid;gap:10px;padding:4px 22px 6px}
.export-hint{padding:0 22px 20px;margin:8px 0 0}
.history-charts{margin:0 0 16px}
.hist-charts{border:1px solid var(--line);border-radius:14px;background:var(--cffffff);position:relative}
.hist-charts>summary{display:flex;flex-direction:column;gap:2px;padding:13px 40px 13px 15px;cursor:pointer;list-style:none}
.hist-charts>summary::-webkit-details-marker{display:none}
.hist-charts>summary::after{content:'▾';position:absolute;right:16px;top:16px}
.hist-charts[open]>summary::after{content:'▴'}
.hc-title{font-weight:800;color:var(--navy)}
.hist-charts>summary small{color:var(--muted);font-size:calc(12px*var(--fs))}
.hc-body{padding:0 15px 15px;display:grid;gap:14px}
.hc-empty{padding:0 15px 15px;margin:0}
.hc-view{max-width:280px}.hc-view button{min-height:36px;padding:6px 8px}
.hc-block h3{margin:0 0 8px;font-size:calc(14px*var(--fs));color:var(--navy)}
.hc-wrap{display:grid;grid-template-columns:auto 1fr;gap:6px;align-items:stretch}
.hc-axis{display:flex;flex-direction:column;justify-content:space-between;height:104px;margin-top:22px;font-size:calc(10px*var(--fs));color:var(--muted);text-align:right;white-space:nowrap}
.hc-cols{display:flex;gap:2px;border-bottom:1px solid var(--line);background:linear-gradient(var(--line),var(--line)) 0 22px/100% 1px no-repeat,linear-gradient(var(--line),var(--line)) 0 74px/100% 1px no-repeat;padding-top:6px;min-height:150px;align-items:flex-start}
.hc-col{flex:1 1 0;min-width:0;border:0;background:transparent;padding:0;display:flex;flex-direction:column;align-items:center;cursor:pointer;color:var(--muted);-webkit-tap-highlight-color:transparent}
.hc-plot{height:120px;width:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}
.hc-bar{display:block;width:min(24px,70%);background:var(--chart-1);border-radius:4px 4px 0 0;min-height:0}
.hc-col:hover .hc-bar,.hc-col.on .hc-bar,.hc-col:focus-visible .hc-bar{filter:brightness(1.18)}
.hc-col.on .hc-lab{color:var(--ink);font-weight:800}
.hc-top{position:absolute;bottom:calc(100% - 0px);left:50%;transform:translateX(-50%);white-space:nowrap;font-size:calc(10px*var(--fs));font-weight:700;color:var(--ink);}
.hc-lab{font-size:calc(10px*var(--fs));line-height:1.1;text-align:center;padding-top:5px;min-height:28px}
.hc-lab small{display:block;font-size:calc(9px*var(--fs));opacity:.8}
.hc-rows{display:grid;gap:6px}
.hc-row{display:grid;grid-template-columns:minmax(70px,32%) 1fr auto;gap:8px;align-items:center;border:0;background:transparent;padding:4px 2px;text-align:left;cursor:pointer;border-radius:8px;color:var(--ink)}
.hc-row.on,.hc-row:hover{background:var(--blue-soft)}
.hc-name{font-size:calc(12px*var(--fs));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.hc-track{display:block;height:14px}
.hc-hbar{display:block;height:14px;background:var(--chart-1);border-radius:0 4px 4px 0}
.hc-hval{font-size:calc(12px*var(--fs));font-weight:700;color:var(--ink);min-width:54px;text-align:right}
.hc-readout{margin:8px 0 0;font-size:calc(12px*var(--fs));color:var(--muted)}
.hc-table{width:100%;border-collapse:collapse;font-size:calc(13px*var(--fs));margin-bottom:6px}
.hc-table caption{text-align:left;font-weight:800;color:var(--navy);padding:6px 0}
.hc-table th,.hc-table td{padding:7px 6px;border-bottom:1px solid var(--line);text-align:right}
.hc-table th:first-child,.hc-table td:first-child{text-align:left}
.hc-table th{color:var(--muted);font-weight:700}
@media(max-width:560px){.pdf-row .secondary-btn{flex:1 1 0}}

.tab{white-space:nowrap}
@media(max-width:560px){.tab{padding:12px 4px;font-size:calc(12.5px*var(--fs))}}
.cal-nav{display:flex;align-items:center;gap:8px;margin:6px 0 10px}
.cal-nav h3{flex:1;margin:0;text-align:center;font-size:calc(17px*var(--fs));color:var(--navy)}
.cal-nav .secondary-btn{width:auto;padding:8px 12px}
.cal-grid{display:grid;grid-template-columns:28px repeat(7,minmax(0,1fr));gap:4px}
.cal-dow{text-align:center;font-size:calc(11px*var(--fs));font-weight:800;color:var(--muted);padding:4px 0}
.cal-day{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;min-height:54px;padding:6px 2px;border:1px solid var(--line);border-radius:10px;background:var(--cffffff);color:var(--ink);cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}
.cal-day.other{opacity:.45}
.cal-day.today .cal-num{background:var(--blue-solid);color:#fff;border-radius:999px;min-width:24px;padding:0 6px}
.cal-day.selected{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 0 0 2px var(--blue) inset}
.cal-num{font-size:calc(13px*var(--fs));font-weight:700;line-height:24px;text-align:center}
.cal-dots{display:flex;gap:3px;align-items:center;justify-content:center;flex-wrap:wrap;min-height:8px}
.cal-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--blue-solid)}
.cal-dot.late{background:#d92d20}.cal-dot.soon{background:#e6ac32}.cal-dot.ok{background:var(--chart-1,#2a78d6)}
.cal-more{font-size:calc(9px*var(--fs));color:var(--muted);line-height:8px}
.cal-legend{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin:10px 0 4px;font-size:calc(11px*var(--fs));color:var(--muted)}
.cal-legend .cal-dot{margin-right:4px;vertical-align:middle}
.cal-day-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 8px}
.cal-day-head h3{margin:0;font-size:calc(16px*var(--fs));color:var(--navy)}
.cal-day-head p{margin:2px 0 0}
.cal-day-head .secondary-btn{width:auto}
.budget-line{display:grid;gap:4px;margin-top:5px;font-size:calc(12px*var(--fs));color:var(--muted)}
.budget-line.over{color:var(--red)}
.budget-bar{display:block;height:6px;border-radius:999px;background:var(--line);overflow:hidden}
.budget-bar b{display:block;height:100%;background:var(--chart-1,#2a78d6);border-radius:999px}
.budget-line.over .budget-bar b{background:#d92d20}
.cal-nav .icon-btn{flex:none}
.cal-jump{display:flex;gap:8px;margin:0 0 10px}
.cal-jump select{flex:1;min-width:0}
.cal-jump .secondary-btn{width:auto;flex:none;padding:8px 14px}

.postponed-chip{color:var(--muted)}
.snooze-options{display:grid;gap:8px;margin:6px 0 12px}
#backupSettingsBtn{display:block;width:calc(100% - 48px);margin:0 24px 14px}

.about-list{margin:4px 0 8px;display:grid;gap:0}
.about-row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:calc(13px*var(--fs))}
.about-row dt{color:var(--muted);flex:none}
.about-row dd{margin:0;text-align:right;font-weight:600;color:var(--ink);min-width:0;overflow-wrap:anywhere}

.card-main{position:relative}
.card-heading{padding-right:42px;min-height:34px}
.quick-done{position:absolute;top:-2px;right:0;width:34px;height:34px;border-radius:50%;border:2px solid var(--line);background:var(--cffffff);color:var(--muted);font-size:calc(18px*var(--fs));font-weight:800;line-height:1;display:grid;place-items:center;padding:0;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.quick-done:hover,.quick-done:focus-visible{border-color:#1f9d55;color:#1f9d55;background:#1f9d5514}
.quick-done:active{background:#1f9d55;color:#fff;border-color:#1f9d55}
.undo-bar{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;visibility:hidden;pointer-events:none;display:flex;align-items:center;gap:12px;background:var(--navy-solid);color:#fff;border-radius:12px;padding:6px 8px 6px 16px;box-shadow:var(--shadow);z-index:21;transition:opacity .2s,transform .2s,visibility .2s;max-width:calc(100% - 24px);font-size:calc(13px*var(--fs));overflow:hidden}
.undo-bar.show{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}
.undo-bar button{background:transparent;border:0;color:#8ab4ff;font-weight:800;letter-spacing:.4px;text-transform:uppercase;padding:9px 12px;min-height:40px;border-radius:8px;cursor:pointer;flex:none}
.undo-bar button:hover,.undo-bar button:focus-visible{background:#ffffff1f}
.undo-timer{position:absolute;left:0;bottom:0;height:3px;width:100%;background:#8ab4ff;transform-origin:left;transform:scaleX(0)}
.undo-bar.show .undo-timer{animation:undoShrink 8s linear forwards}
@keyframes undoShrink{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media (prefers-reduced-motion:reduce){.undo-bar.show .undo-timer{animation:none}}

.att-box{display:grid;gap:8px}
.att-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.att-list li{display:flex;align-items:center;gap:8px;min-height:40px}
.att-name{flex:1;min-width:0;text-align:left;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 10px;color:var(--navy);font:inherit;font-size:calc(13px*var(--fs));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.att-remove{flex:none}
.att-add-row{display:flex;flex-wrap:wrap;gap:8px}
.att-add{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:42px}
.att-summary{margin-top:9px;font-size:calc(12px*var(--fs))}
.att-summary summary{cursor:pointer;font-weight:700;color:var(--c3d61a8)}
.att-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.att-chip{border:1px solid var(--line);background:var(--cffffff);color:var(--navy);border-radius:999px;padding:8px 12px;min-height:40px;font:inherit;font-size:calc(12px*var(--fs));cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.att-chip small{color:var(--muted)}
.att-view-body{display:grid;place-items:center;padding:4px 0 10px}
.att-view-body img{max-width:100%;max-height:60vh;border-radius:10px;border:1px solid var(--line)}
.num-unit{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--navy)}.num-unit input{width:84px;min-height:40px;text-align:right}

.gal-tools{display:flex;gap:8px;margin:8px 0}.gal-tools input{flex:1;min-width:0;min-height:42px;border:1px solid var(--cdfe5ed);border-radius:10px;padding:8px 12px;background:var(--cffffff);color:var(--ink);font:inherit}.gal-tools select{min-height:42px;border:1px solid var(--cdfe5ed);border-radius:10px;padding:8px;background:var(--cffffff);color:var(--ink);font:inherit}
.gal-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}
.gal-tile{position:relative;display:flex;flex-direction:column;gap:3px;text-align:left;padding:6px;border:2px solid var(--cdfe5ed);border-radius:12px;background:var(--cffffff);color:var(--ink);font:inherit;cursor:pointer;min-width:0}
.gal-tile.selected{border-color:var(--cd1d6db,#2f65d5);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue-solid) 20%,transparent)}
.gal-thumb{display:grid;place-items:center;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--cf2f5fa)}.gal-thumb img{width:100%;height:100%;object-fit:cover}.gal-pdf{font-weight:700;color:var(--navy)}
.gal-name{font-size:calc(12px*var(--fs));font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gal-tile small{color:var(--muted);font-size:calc(11px*var(--fs));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gal-check{position:absolute;top:10px;left:10px;width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid var(--blue-solid);color:var(--blue-solid);font-weight:800;display:grid;place-items:center;z-index:1}.gal-tile.selected .gal-check{background:var(--blue-solid);color:#fff}
.att-view-actions{flex-wrap:wrap}.att-view-item{margin:0 0 8px}
.flash-found{animation:flashFound 2.2s ease-out 1}@keyframes flashFound{0%,40%{box-shadow:0 0 0 4px color-mix(in srgb,var(--blue-solid) 67%,transparent)}100%{box-shadow:0 0 0 0 transparent}}
#attGalleryDialog{max-width:640px}
#attGalleryDialog>:not(.modal-head){margin-left:22px;margin-right:22px}#attGalleryDialog>#galSummary{margin-top:12px}#attGalleryDialog{padding-bottom:20px}#galMoreBtn{display:block;margin-top:12px;width:calc(100% - 44px)}#galMoreBtn.hidden{display:none}
.att-view-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-left:22px;padding-right:22px}.att-view-actions>*{width:100%;justify-content:center;text-align:center;text-decoration:none}.att-view-actions #attachDownload{grid-column:1/-1}.att-view-actions .hidden{display:none}.att-view-item{margin-left:22px;margin-right:22px}.att-view-body{padding-left:22px;padding-right:22px}
.quick-btn em{font-style:normal;font-size:calc(12px*var(--fs));font-weight:800;color:var(--navy);overflow-wrap:anywhere}.quick-btn small.quick-dates{font-size:calc(10.5px*var(--fs));color:var(--muted);overflow-wrap:anywhere;line-height:1.25}.quick-btn.active em{color:var(--c234fa9)}
.shop-summary summary{cursor:pointer;font-weight:700}.shop-summary.all-done summary{color:var(--green)}.shop-summary ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:2px}.shop-summary li{display:flex;align-items:center;justify-content:space-between;gap:10px}.shop-summary li label{display:flex;align-items:center;gap:10px;padding:8px 2px;min-height:40px;cursor:pointer;flex:1;min-width:0}.shop-summary input[type=checkbox]{width:20px;height:20px;accent-color:var(--blue-solid);flex:none}.shop-summary input:checked+span{text-decoration:line-through;color:var(--muted)}
.shop-draft li{display:flex;gap:6px;align-items:center}.shop-draft-name{flex:1;min-width:0;overflow-wrap:anywhere}.shop-mini-qty{display:flex;align-items:center;gap:2px;flex:none}.shop-mini-qty input{width:42px;height:36px;text-align:center;border:1px solid var(--cdfe5ed);border-radius:8px;background:var(--cffffff);color:var(--ink);padding:0;font:inherit}.shop-mini-qty .icon-btn{width:32px;min-width:32px;height:36px;padding:0}.shop-catalog-box{margin-top:10px}.shop-catalog-box>summary{cursor:pointer;font-weight:700;color:var(--c3d61a8);font-size:calc(13px*var(--fs));padding:6px 0}

/* Abas: cor escolhida pelo usuário, 4 abas no celular */
.tabbar{overflow-x:auto;scrollbar-width:none}.tabbar::-webkit-scrollbar{display:none}
.tab.active{color:var(--tc,var(--blue));border-bottom-color:var(--tc,var(--blue))}
.tab.has-color::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--tc);margin-right:6px;vertical-align:middle}
@media(max-width:560px){.tab.has-color::before{width:7px;height:7px;margin-right:4px}}
/* Anotações */
.note-add{display:grid;gap:8px;margin:4px 0 10px}.note-add textarea{width:100%;border:1px solid var(--cdfe5ed);border-radius:12px;padding:12px;background:var(--cffffff);color:var(--ink);font:inherit;resize:vertical;min-height:84px}
.note-list{display:grid;gap:10px;margin-top:12px}
.note-card{border:1px solid var(--line);border-radius:14px;background:var(--cffffff);padding:14px 14px 10px}
.note-text{margin:0 0 6px;white-space:pre-wrap;overflow-wrap:anywhere}.note-date{color:var(--muted)}
.note-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.note-actions .small-action[disabled]{opacity:.4;cursor:default}
/* Botão flutuante */
.fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:15;border:0;border-radius:999px;padding:14px 20px;min-height:48px;background:var(--blue-solid);color:#fff;font:inherit;font-weight:800;font-size:calc(14px*var(--fs));box-shadow:0 8px 22px #0f1b3a55;cursor:pointer}
.fab.hidden{display:none}
/* Configurações das abas */
.tabprefs{display:grid;gap:10px;margin:6px 0}.tabpref{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;gap:8px}
.tabpref-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.tabpref-move{display:flex;gap:6px}.tabpref-move .icon-btn[disabled]{opacity:.35}
.tabpref-colors{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tabpref .sw{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.tabpref .sw[aria-pressed=true]{outline:3px solid var(--navy);outline-offset:2px}
.tabpref .sw-none{width:auto;border-radius:999px;padding:0 12px;background:var(--cf2f5fa);color:var(--ink);font:inherit;font-size:calc(12px*var(--fs));border-color:var(--line)}
/* Cor da aba bem visível: texto e barra coloridos sempre; a ativa ganha fundo suave e barra mais grossa */
.tab.has-color{color:var(--tc-text,var(--tc));border-bottom-color:color-mix(in srgb,var(--tc) 35%,transparent)}
.tab.has-color:hover{color:var(--tc-text,var(--tc));background:color-mix(in srgb,var(--tc) 12%,transparent)}
.tab.has-color.active{color:var(--tc-text,var(--tc));background:color-mix(in srgb,var(--tc) 14%,transparent);border-bottom:4px solid var(--tc)}
/* A cor da aba vale também para o conteúdo dela */
[role=tabpanel].has-color{border-top:4px solid var(--tc);padding-top:14px;margin-top:-14px;border-radius:0 0 4px 4px;background:linear-gradient(to bottom,color-mix(in srgb,var(--tc) 7%,transparent),transparent 220px)}
[role=tabpanel].has-color .eyebrow{color:var(--tc-text,var(--tc))}
[role=tabpanel].has-color .primary-btn,[role=tabpanel].has-color .fab{background:var(--tc);border-color:var(--tc);color:var(--tc-ink,#fff)}
[role=tabpanel].has-color .note-card{border-left:4px solid var(--tc)}

/* Calendário: filtros, seleção por período, Vencidas */
.cal-filters{display:flex;gap:8px;margin:0 0 10px;flex-wrap:wrap}.cal-filters .search-box{flex:2 1 160px;min-width:0}.cal-filters select{flex:1 1 140px;min-width:0}
.cal-day{touch-action:manipulation;-webkit-user-select:none;user-select:none}
.cal-day.in-range{background:var(--blue-soft);border-color:var(--blue)}
.cal-range{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}.cal-range button{flex:1 1 auto;border:1px solid var(--line);background:var(--cffffff);color:var(--navy);border-radius:999px;padding:8px 12px;font:inherit;font-weight:700;font-size:calc(13px*var(--fs))}
.cal-range button[aria-pressed=true]{background:var(--blue-solid);border-color:var(--blue-solid);color:#fff}
.cal-range .cal-range-late{color:var(--red,#b42318);border-color:currentColor}.cal-range .cal-range-late[aria-pressed=true]{background:var(--red,#b42318);color:#fff}
.cal-tip{margin:2px 0 6px}
#calDayDialog .obligation-list{margin-top:12px}#calDlgNew{width:100%}

/* Seleção estilo planilha: cabeçalho de linha, bolinha do mês */
.cal-corner,.cal-rowhead{border:1px solid var(--line);background:var(--cf2f5fa);color:var(--muted);border-radius:8px;padding:0;font:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation}
.cal-corner{min-height:24px;font-size:calc(16px*var(--fs));color:var(--blue)}
.cal-rowhead{font-size:calc(12px*var(--fs))}
.cal-corner:hover,.cal-rowhead:hover{background:var(--blue-soft)}
.cal-rowhead.on{background:var(--blue-solid);border-color:var(--blue-solid);color:#fff}
.cal-range .cal-range-late,.cal-range button{flex:0 1 auto}
.cal-range button{border:1px solid var(--line);background:var(--cffffff);color:var(--red,#b42318);border-radius:999px;padding:8px 14px;font:inherit;font-weight:700;font-size:calc(13px*var(--fs))}
.cal-range button[aria-pressed=true]{background:var(--red,#b42318);border-color:var(--red,#b42318);color:#fff}
#calCostBox{margin:10px 0}

/* Repetição por dias da semana e séries */
.wd-presets{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.chip-btn{border:1px solid var(--line);background:var(--cffffff);color:var(--navy);border-radius:999px;padding:6px 12px;font:inherit;font-size:calc(12.5px*var(--fs));font-weight:700;cursor:pointer}
.wd-row{display:flex;gap:6px;margin:6px 0 10px}.wd-btn{flex:1;min-width:0;height:40px;border-radius:50%;max-width:44px;border:1px solid var(--line);background:var(--cffffff);color:var(--navy);font:inherit;font-weight:800;cursor:pointer}
.wd-btn[aria-pressed=true]{background:var(--blue-solid);border-color:var(--blue-solid);color:#fff}
.recurrence-end{margin-top:8px}.scope-actions{display:grid;gap:8px;margin-top:12px}.scope-actions .secondary-btn{width:100%;text-align:left}
#completeEditSeriesBtn{margin:6px 0}

.next-box{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--cf2f5fa)}
.next-box>span{font-weight:700}.next-quick{display:flex;align-items:center;gap:8px;margin-top:8px;color:var(--muted)}
.next-quick input{width:80px;flex:none}.next-quick select{flex:1;min-width:0}
#nextDueField{margin-bottom:12px}
.box-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}.box-row .field{margin:0}

/* Dinheiro: total automático e parcelas */
input.auto-total{background:var(--cf2f5fa);font-weight:700}
.installment-box{border:1px dashed var(--line);border-radius:12px;padding:10px 12px}
.installments-box{margin:14px 0}.installments-box h3{margin:0 0 4px;color:var(--navy)}
.inst-month{border:1px solid var(--line);border-radius:12px;background:var(--cffffff);margin:8px 0;padding:8px 12px}
.inst-month summary{display:flex;justify-content:space-between;gap:8px;cursor:pointer;flex-wrap:wrap}.inst-month summary span{color:var(--muted)}
.inst-month ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.inst-month li{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:baseline}.inst-month li small{color:var(--muted)}
.danger-action{color:var(--red,#b42318)}#purchaseDelete{margin-right:auto}

/* Lista agrupada por semana e dia */
.week-group{margin:0 0 22px}
.week-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;background:var(--blue-soft);border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:0 0 10px;position:sticky;top:0;z-index:5}
.week-head h3{margin:0;display:inline;font-size:calc(15px*var(--fs));color:var(--navy)}
.week-tag{margin-left:8px;font-size:calc(12px*var(--fs));font-weight:800;color:var(--blue);background:var(--cffffff);border-radius:999px;padding:2px 10px}.week-tag.late{color:var(--red,#b42318)}
.week-sum{color:var(--muted);font-weight:700;font-size:calc(13px*var(--fs))}
.day-group{margin:0 0 14px}.day-head{margin:6px 2px 8px;font-size:calc(13.5px*var(--fs));color:var(--navy);border-bottom:1px solid var(--line);padding-bottom:4px}.day-head.late{color:var(--red,#b42318)}
.day-cards{display:grid;gap:12px}
.week-head{top:76px;z-index:4}@media(max-width:760px){.week-head{top:65px}}

/* Documentos */
.doc-add{margin:0 0 14px}
.doc-open-pref{margin:12px 0 4px}
.doc-group{margin:18px 0}
.doc-group-title{font-size:15px;margin:0 0 8px;color:var(--muted,#555)}
.doc-group-title small{font-weight:400;opacity:.7}
.doc-card{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:14px;background:var(--cffffff);margin-bottom:8px;padding:4px 6px 4px 4px}
.doc-main{flex:1;min-width:0;display:flex;gap:12px;align-items:center;text-align:left;background:none;border:0;padding:10px;cursor:pointer;color:inherit;font:inherit}
.doc-ico{font-size:26px}
.doc-info{display:flex;flex-direction:column;min-width:0}
.doc-info strong{overflow-wrap:anywhere}
.doc-info small{opacity:.75;overflow-wrap:anywhere}
.doc-actions{display:flex;gap:2px}
.doc-view{width:min(960px,96vw)}
.doc-frame{width:100%;height:70vh;border:1px solid var(--line);border-radius:10px;background:#fff}
.doc-img{max-width:100%;max-height:70vh;display:block;margin:auto}
[role=tabpanel].has-color .doc-card{border-left:4px solid var(--tc)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.cal-day-btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.doc-backup-hint{font-size:13px}

/* Campos de texto: 16px evita o zoom automático ao focar no iPhone; manipulation tira a espera do toque duplo */
input,select,textarea{touch-action:manipulation}
@media (pointer:coarse){input,select,textarea{font-size:max(16px,1em)}}
.note-add textarea{transition:none}

.note-add textarea{resize:none;overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent}

.note-cat{display:inline-block;margin:0 8px 4px 0;padding:2px 9px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:calc(12px*var(--fs));font-weight:700}
/* Conteúdo e botões da aba acompanham a cor escolhida */
[role=tabpanel].has-color{--blue:var(--tc-text,var(--tc));--blue-solid:var(--tc);--blue-soft:color-mix(in srgb,var(--tc) 13%,var(--white));--c3d61a8:var(--tc-text,var(--tc));accent-color:var(--tc);--primary:var(--tc);--chart-1:var(--tc)}
[role=tabpanel].has-color .section-title h2,[role=tabpanel].has-color .cal-day-head h3,[role=tabpanel].has-color .doc-group-title{color:color-mix(in srgb,var(--tc-text,var(--tc)) 85%,var(--ink))}
[role=tabpanel].has-color .secondary-btn{border-color:color-mix(in srgb,var(--tc) 50%,var(--cdce2eb));color:color-mix(in srgb,var(--tc-text,var(--tc)) 80%,var(--navy))}
[role=tabpanel].has-color .secondary-btn:hover{background:color-mix(in srgb,var(--tc) 10%,var(--cffffff))}
[role=tabpanel].has-color .small-action:not(.danger-action){color:var(--tc-text,var(--tc))}
[role=tabpanel].has-color input:focus,[role=tabpanel].has-color select:focus,[role=tabpanel].has-color textarea:focus{border-color:var(--tc);box-shadow:0 0 0 3px color-mix(in srgb,var(--tc) 20%,transparent)}
[role=tabpanel].has-color .primary-btn{box-shadow:0 2px 5px color-mix(in srgb,var(--tc) 28%,transparent)}
[role=tabpanel].has-color .result-count{color:var(--tc-text,var(--tc))}
[role=tabpanel].has-color .history-summary,[role=tabpanel].has-color .obligation-card{border-color:color-mix(in srgb,var(--tc) 22%,var(--line))}

.fab{color:#fff}
.tabpref .sw-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;width:100%}
.tabpref .sw-grid .sw{width:100%;max-width:32px;aspect-ratio:1/1;height:auto;border:1px solid var(--line)}
.tabpref .sw-label{width:100%;font-size:calc(12px*var(--fs));color:var(--muted)}
.tabpref .sw-edit{position:relative;display:inline-flex;align-items:center;cursor:pointer;overflow:hidden}
.tabpref .sw-picker{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;border:0;padding:0}

[role=tabpanel].has-color .history-period-btn.active,[role=tabpanel].has-color .cal-range button[aria-pressed=true],[role=tabpanel].has-color .cal-rowhead.on,[role=tabpanel].has-color .wd-btn[aria-pressed=true],[role=tabpanel].has-color .seg button[aria-checked=true]{color:var(--tc-ink,#fff)}
[role=tabpanel].has-color .history-period-btn:not(.active):hover{border-color:var(--tc)}

/* Metas */
.goal-list{display:grid;gap:12px;margin:12px 0}
.goal-card{border:1px solid var(--line);border-radius:14px;background:var(--cffffff);padding:14px}
.goal-card.is-done{opacity:.8}
.goal-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.goal-head h3{margin:0;font-size:calc(16px*var(--fs));overflow-wrap:anywhere}
.goal-notes{margin:6px 0 0;color:var(--muted);overflow-wrap:anywhere}
.goal-bar{height:10px;border-radius:999px;background:var(--cf3f6fb,#eef1f6);margin:10px 0 6px;overflow:hidden}.goal-bar b{display:block;height:100%;background:var(--chart-1,#2a78d6);border-radius:999px;transition:width .25s}
.goal-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:calc(13px*var(--fs))}
.goal-tag{color:var(--muted)}.goal-tag.late{color:var(--red);font-weight:700}
.goal-steps{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}.goal-steps label{display:flex;gap:8px;align-items:flex-start;cursor:pointer}.goal-steps .done{text-decoration:line-through;opacity:.65}
.goal-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
[role=tabpanel].has-color .goal-card{border-left:4px solid var(--tc)}

/* Abas com nomes abreviados: a aba ativa mostra o nome completo; em telas largas todas mostram o nome completo */
.tab .tab-f,.tab .tab-x{display:none}
.tab.active .tab-s{display:none}.tab.active .tab-f{display:inline}
@media(min-width:921px){.tab .tab-s{display:none}.tab .tab-f,.tab .tab-x{display:inline}}
@media(max-width:920px){.tab{flex:0 1 auto;padding:12px 6px;font-size:calc(12.5px*var(--fs))}.tab.active{flex:0 0 auto}.tabbar{justify-content:space-between}.tab.has-color:not(.active)::before{display:none}}
@media(max-width:380px){.tab{padding:12px 4px;font-size:calc(12px*var(--fs))}}

.goal-history{margin:16px 0;border:1px solid var(--line);border-radius:14px;background:var(--cffffff);padding:4px 14px 12px}
.goal-history>summary{cursor:pointer;font-weight:800;padding:12px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:8px}
.goal-history>summary::-webkit-details-marker{display:none}
.goal-hist-tools{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:8px}
.goal-log{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:2px}
.goal-log-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:9px 0;border-top:1px solid var(--line)}
.goal-log-main{display:flex;flex-direction:column;min-width:0}.goal-log-main strong{overflow-wrap:anywhere}.goal-log-main small,.goal-log-row time{color:var(--muted);font-size:calc(12px*var(--fs))}
.goal-log-row time{text-align:right;white-space:nowrap}
@media(max-width:560px){.goal-log-row{grid-template-columns:auto 1fr}.goal-log-row time{grid-column:2;text-align:left}}

.goal-sub{margin:16px 0 8px;font-size:calc(14px*var(--fs));display:flex;justify-content:space-between;align-items:center;gap:8px}
.goal-card.celebrating{animation:goalPop .6s ease-out;box-shadow:0 0 0 3px color-mix(in srgb,var(--tc,#f59e0b) 55%,transparent)}
@keyframes goalPop{0%{transform:scale(.97)}50%{transform:scale(1.02)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.goal-card.celebrating{animation:none}}
.goal-celebrate{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translate(-50%,24px);opacity:0;pointer-events:none;z-index:22;display:flex;align-items:center;gap:12px;width:min(520px,calc(100vw - 24px));padding:12px 14px;border-radius:16px;background:var(--navy-solid);color:#fff;box-shadow:0 12px 32px rgba(22,39,70,.3);transition:opacity .2s,transform .2s}
.goal-celebrate.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.gc-emoji{font-size:30px}.gc-text{display:flex;flex-direction:column;flex:1;min-width:0}.gc-text small{opacity:.85}
.gc-actions{display:flex;flex-direction:column;gap:6px}.gc-actions button{border:1px solid #ffffff66;background:transparent;color:#fff;border-radius:9px;padding:6px 10px;font:inherit;font-size:calc(12px*var(--fs));font-weight:700;cursor:pointer;white-space:nowrap}
.gc-actions button:hover{background:#ffffff22}
@media(max-width:560px){.goal-celebrate{flex-wrap:wrap}.gc-actions{flex-direction:row;width:100%;justify-content:flex-end}}

/* Termos de uso e privacidade */
.legal-modal{width:min(760px,96vw)}
.legal-body{max-height:62vh;overflow:auto;padding:4px 6px 4px 2px;line-height:1.55;overflow-wrap:anywhere}
.legal-body h3{margin:20px 0 6px;font-size:calc(17px*var(--fs));border-bottom:1px solid var(--line);padding-bottom:6px}
.legal-body h4{margin:16px 0 4px;font-size:calc(14.5px*var(--fs))}
.legal-body p,.legal-body li{font-size:calc(14px*var(--fs))}
.legal-body ul{padding-left:20px;margin:6px 0}
.legal-meta{color:var(--muted);font-size:calc(12.5px*var(--fs))}
.legal-toc a{color:var(--blue);font-weight:700}
.legal-box{border:1px solid var(--line);background:var(--blue-soft);border-radius:12px;padding:10px 14px;margin:10px 0}
.legal-todo{background:#fff3b0;color:#5c4400;padding:1px 4px;border-radius:4px}
.legal-table{width:100%;border-collapse:collapse;margin:8px 0;font-size:calc(12.5px*var(--fs))}
.legal-table th,.legal-table td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
.legal-table th{background:var(--cf3f6fb,#eef1f6)}
@media(max-width:560px){.legal-body{max-height:56vh}.legal-table thead{display:none}.legal-table,.legal-table tbody,.legal-table tr,.legal-table td{display:block;width:100%}.legal-table tr{border:1px solid var(--line);border-radius:10px;margin-bottom:8px;padding:4px}.legal-table td{border:0;padding:3px 6px}}
.link-btn{background:none;border:0;padding:0;color:var(--blue);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.welcome-legal{margin:10px 0 0;text-align:center}

/* v0.48 · emoji por categoria */
.cat-emoji{display:inline-block;margin-right:.3em;font-style:normal;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.emoji-field>span:first-child{display:block}
.emoji-pick-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0}
.emoji-preview{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--blue-soft);font-size:26px;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.emoji-preview.is-empty{font-size:18px;color:var(--muted,#667085)}
.emoji-input{width:9em;flex:0 1 9em;font-size:18px}
.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:4px;margin:4px 0 6px}
.emoji-opt{height:40px;border:1px solid transparent;border-radius:10px;background:transparent;font-size:22px;line-height:1;cursor:pointer;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.emoji-opt:hover{background:var(--blue-soft)}
.emoji-opt[aria-pressed=true]{border-color:var(--blue);background:var(--blue-soft)}
#profileEmojiNone[aria-pressed=true]{border-color:var(--blue);color:var(--blue)}

/* v0.49 · ocultar e renomear abas */
.tab.hidden,.tab[hidden]{display:none!important}
.tabpref.is-hidden{opacity:.72;border-style:dashed}
.tabpref-off{font-weight:400;color:var(--muted)}
.tabpref-meta{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.tabpref-name{display:grid;gap:3px;flex:1 1 160px;font-size:calc(12px*var(--fs));color:var(--muted)}
.tabpref-name input{width:100%;min-height:38px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--cffffff);color:var(--ink);font-size:calc(15px*var(--fs));outline:none}
.tabpref-name input:focus{border-color:color-mix(in srgb,var(--blue-solid) 55%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue-solid) 7%,transparent)}
.tabpref-show{display:flex;align-items:center;gap:8px;font-size:calc(13px*var(--fs));color:var(--ink);min-height:38px}
.tabpref-fixed{color:var(--muted);font-size:calc(12px*var(--fs));min-height:38px;display:flex;align-items:center}

/* v0.50 · campos personalizados */
.cf-defs,.cf-box{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;gap:6px}
.cf-defs-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700}
.cf-defs-head small{font-weight:400;color:var(--muted)}
.fd-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.fd-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:6px;align-items:center}
.fd-row input,.fd-row select,.fd-actions select{background:var(--cffffff);border:1px solid var(--cdfe5ed);border-radius:9px;padding:8px 10px;color:var(--ink);min-width:0;font:inherit}
.fd-row select{max-width:7.4em;padding:8px 4px}
.fd-row .icon-btn[disabled]{opacity:.35}
.fd-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.fd-actions select{flex:1 1 150px}
.cf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.cf-grid .field{margin:0}
.cf-list{display:flex;flex-wrap:wrap;gap:4px 14px;margin:6px 0 2px;font-size:calc(13px*var(--fs))}
.cf-item{display:flex;gap:5px;min-width:0}
.cf-item dt{color:var(--muted);font-weight:600}
.cf-item dt::after{content:":"}
.cf-item dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
/* v0.51 · temas completos (gerado: as cores neutras do tema base ganham o tom do tema; as de status ficam iguais) */
:root[data-palette=graphite]{color-scheme:dark;--c234fa9:#babcc0;--c263247:#b8b9bc;--c2a4f9b:#babcc0;--c2d4a85:#babcc0;--c3d61a8:#babcc0;--c3e4a5f:#bcbdbe;--c3f5f9d:#babcbf;--c46526a:#bbbcbe;--c52607a:#bcbdbe;--c566174:#bcbdbe;--c59451a:#d8c397;--c5c4300:#ddcda5;--c666677:#bcbdbe;--c667085:#bcbcbd;--c697589:#bcbcbd;--c6d7788:#bcbcbd;--c7a8494:#bcbdbe;--c7a8699:#bcbcbd;--c805b00:#d5c190;--c806c3e:#d4c6a6;--c818b9b:#bcbcbd;--c8a94a4:#bcbcbd;--c912018:#dba39f;--c929bab:#bcbcbd;--c98a2b3:#bcbdbe;--c9a4d48:#d5a8a5;--caab2c0:#535456;--cb7c7ee:#3b3d40;--cbdccef:#383a3d;--cc3c9d4:#424344;--ccfd6e4:#363739;--cd6dfef:#2e2f32;--cd8e4ff:#28292b;--cd9e0ea:#303132;--cdbe5f7:#292a2d;--cdce2eb:#2e2f31;--cdce3ec:#2e2f30;--cdfe5ed:#2c2d2f;--ce3e8f0:#2a2b2c;--ce4eaf2:#28292b;--ce5e7eb:#2b2c2d;--ce5ebf5:#26272a;--ce8edf4:#262728;--ce8efff:#212224;--cedf3ff:#1f2022;--ceef1f6:#232425;--ceef2f7:#222325;--ceef3ff:#1f2022;--cf0d99e:#665427;--cf0f4fb:#1f2022;--cf1f4f9:#202123;--cf2f5fa:#1f2022;--cf3f5f9:#202122;--cf3f6fb:#1f2021;--cf3f7ff:#1d1e20;--cf6f8fb:#141517;--cf7f9fc:#1c1d1f;--cf7f9ff:#1c1d1e;--cf8fafc:#1c1d1f;--cf8faff:#1b1c1e;--cfdeceb:#321513;--cffedbd:#4b3f1d;--cfff0ee:#2f1512;--cfff8e8:#322913;--cffffff:#1e1f22;--bg:#141517;--white:#1e1f22;--line:#34363b;--ink:#ececee;--muted:#a4a7ae;--navy:#f2f2f4;--navy-solid:#2c2e33;--blue:#f2a649;--blue-soft:#3a2c19;--blue-solid:#b5650a}
:root[data-palette=forest]{color-scheme:dark;--c234fa9:#a7d3bd;--c263247:#aacaba;--c2a4f9b:#a7d3bd;--c2d4a85:#a7d3bd;--c3d61a8:#a7d3bd;--c3e4a5f:#b3c8bd;--c3f5f9d:#a7d2bc;--c46526a:#b2c7bc;--c52607a:#b3c7bd;--c566174:#b6c4bd;--c59451a:#d8c397;--c5c4300:#ddcda5;--c666677:#b9c1bd;--c667085:#b6c3bc;--c697589:#b6c3bc;--c6d7788:#b7c2bc;--c7a8494:#b8c2bd;--c7a8699:#b6c3bc;--c805b00:#d5c190;--c806c3e:#d4c6a6;--c818b9b:#b7c2bc;--c8a94a4:#b6c3bc;--c912018:#dba39f;--c929bab:#b6c3bc;--c98a2b3:#b6c4bd;--c9a4d48:#d5a8a5;--caab2c0:#4b5e54;--cb7c7ee:#29523e;--cbdccef:#274e3b;--cc3c9d4:#3b4b43;--ccfd6e4:#2c4338;--cd6dfef:#204030;--cd8e4ff:#1c372a;--cd9e0ea:#273c31;--cdbe5f7:#1d392b;--cdce2eb:#263930;--cdce3ec:#253a2f;--cdfe5ed:#24372e;--ce3e8f0:#21352b;--ce4eaf2:#1f342a;--ce5e7eb:#28302c;--ce5ebf5:#1b3528;--ce8edf4:#1d3227;--ce8efff:#172e23;--cedf3ff:#162b21;--ceef1f6:#1c2c24;--ceef2f7:#1a2d24;--ceef3ff:#162b21;--cf0d99e:#665427;--cf0f4fb:#162c21;--cf1f4f9:#172c22;--cf2f5fa:#162b21;--cf3f5f9:#192921;--cf3f6fb:#162a20;--cf3f7ff:#14291e;--cf6f8fb:#0e1a13;--cf7f9fc:#13281e;--cf7f9ff:#13271d;--cf8fafc:#15261e;--cf8faff:#13261d;--cfdeceb:#321513;--cffedbd:#4b3f1d;--cfff0ee:#2f1512;--cfff8e8:#322913;--cffffff:#16251c;--bg:#0e1a13;--white:#16251c;--line:#2b4033;--ink:#e4efe7;--muted:#9db5a5;--navy:#d9eedf;--navy-solid:#1e4a32;--blue:#72d59f;--blue-soft:#173828;--blue-solid:#21774a}
:root[data-palette=sand]{color-scheme:light;--c234fa9:#9f6e2d;--c263247:#453828;--c2a4f9b:#936932;--c2d4a85:#7e5e34;--c3d61a8:#a07945;--c3e4a5f:#5d5040;--c3f5f9d:#967346;--c46526a:#675a49;--c52607a:#776855;--c566174:#726758;--c59451a:#59451a;--c5c4300:#5c4300;--c666677:#766f67;--c667085:#837768;--c697589:#877b6b;--c6d7788:#867c6f;--c7a8494:#92887c;--c7a8699:#978b7c;--c805b00:#805b00;--c806c3e:#806c3e;--c818b9b:#998f83;--c8a94a4:#a2988c;--c912018:#912018;--c929bab:#a9a094;--c98a2b3:#b1a79a;--c9a4d48:#9a4d48;--caab2c0:#beb6ac;--cb7c7ee:#ead6bb;--cbdccef:#ebd9c1;--cc3c9d4:#d3ccc4;--ccfd6e4:#e2dbd1;--cd6dfef:#ede4d8;--cd8e4ff:#fceedb;--cd9e0ea:#e9e2da;--cdbe5f7:#f5ebdd;--cdce2eb:#eae4dd;--cdce3ec:#ebe5dd;--cdfe5ed:#ece7e0;--ce3e8f0:#efeae4;--ce4eaf2:#f1ece5;--ce5e7eb:#ebe8e5;--ce5ebf5:#f4eee6;--ce8edf4:#f3efe9;--ce8efff:#fdf5ea;--cedf3ff:#fef7ee;--ceef1f6:#f5f2ef;--ceef2f7:#f6f3ef;--ceef3ff:#fef7ef;--cf0d99e:#f0d99e;--cf0f4fb:#faf6f1;--cf1f4f9:#f8f5f2;--cf2f5fa:#f9f6f3;--cf3f5f9:#f9f6f3;--cf3f6fb:#faf7f4;--cf3f7ff:#fefaf4;--cf6f8fb:#f6efe4;--cf7f9fc:#fcfaf7;--cf7f9ff:#fefbf8;--cf8fafc:#fcfaf8;--cf8faff:#fefcf9;--cfdeceb:#fdeceb;--cffedbd:#ffedbd;--cfff0ee:#fff0ee;--cfff8e8:#fff8e8;--cffffff:#fffaf2;--bg:#f6efe4;--white:#fffaf2;--line:#e6dac8;--ink:#2b2118;--muted:#7a6957;--navy:#4a3222;--navy-solid:#5a3a24;--blue:#a84d26;--blue-soft:#f7e5d6;--blue-solid:#a3491f;--shadow:0 12px 32px rgba(74,50,34,.10)}
:root[data-palette=ocean]{color-scheme:light;--c234fa9:#238ca9;--c263247:#264047;--c2a4f9b:#2a839b;--c2d4a85:#2d7285;--c3d61a8:#3d91a8;--c3e4a5f:#3e585f;--c3f5f9d:#3f899d;--c46526a:#46626a;--c52607a:#52717a;--c566174:#566e74;--c59451a:#59451a;--c5c4300:#5c4300;--c666677:#667377;--c667085:#667e85;--c697589:#698289;--c6d7788:#6d8288;--c7a8494:#7a8e94;--c7a8699:#7a9299;--c805b00:#805b00;--c806c3e:#806c3e;--c818b9b:#81959b;--c8a94a4:#8a9ea4;--c912018:#912018;--c929bab:#92a6ab;--c98a2b3:#98adb3;--c9a4d48:#9a4d48;--caab2c0:#aabbc0;--cb7c7ee:#b7e2ee;--cbdccef:#bde4ef;--cc3c9d4:#c3d0d4;--ccfd6e4:#cfdfe4;--cd6dfef:#d6eaef;--cd8e4ff:#d8f7ff;--cd9e0ea:#d9e6ea;--cdbe5f7:#dbf1f7;--cdce2eb:#dce8eb;--cdce3ec:#dce9ec;--cdfe5ed:#dfeaed;--ce3e8f0:#e3edf0;--ce4eaf2:#e4eff2;--ce5e7eb:#e5eaeb;--ce5ebf5:#e5f2f5;--ce8edf4:#e8f1f4;--ce8efff:#e8faff;--cedf3ff:#edfbff;--ceef1f6:#eef4f6;--ceef2f7:#eef5f7;--ceef3ff:#eefbff;--cf0d99e:#f0d99e;--cf0f4fb:#f0f9fb;--cf1f4f9:#f1f7f9;--cf2f5fa:#f2f8fa;--cf3f5f9:#f3f8f9;--cf3f6fb:#f3f9fb;--cf3f7ff:#f3fcff;--cf6f8fb:#eef7fa;--cf7f9fc:#f7fbfc;--cf7f9ff:#f7fdff;--cf8fafc:#f8fbfc;--cf8faff:#f8fdff;--cfdeceb:#fdeceb;--cffedbd:#ffedbd;--cfff0ee:#fff0ee;--cfff8e8:#fff8e8;--cffffff:#ffffff;--bg:#eef7fa;--white:#ffffff;--line:#d2e5ec;--ink:#0f2f3a;--muted:#527280;--navy:#0b4a5e;--navy-solid:#0b4a5e;--blue:#0a7895;--blue-soft:#dff2f7;--blue-solid:#0a7391;--shadow:0 12px 32px rgba(11,74,94,.10)}
:root[data-palette=contrast]{color-scheme:light;--c234fa9:#000000;--c263247:#000000;--c2a4f9b:#000000;--c2d4a85:#000000;--c3d61a8:#000000;--c3e4a5f:#000000;--c3f5f9d:#000000;--c46526a:#000000;--c52607a:#000000;--c566174:#000000;--c59451a:#64490e;--c5c4300:#5c4300;--c666677:#000000;--c667085:#000000;--c697589:#000000;--c6d7788:#000000;--c7a8494:#000000;--c7a8699:#000000;--c805b00:#805b00;--c806c3e:#765d23;--c818b9b:#000000;--c8a94a4:#000000;--c912018:#931006;--c929bab:#000000;--c98a2b3:#000000;--c9a4d48:#782721;--caab2c0:#000000;--cb7c7ee:#ececec;--cbdccef:#ececec;--cc3c9d4:#000000;--ccfd6e4:#ececec;--cd6dfef:#ececec;--cd8e4ff:#ececec;--cd9e0ea:#ececec;--cdbe5f7:#ececec;--cdce2eb:#ececec;--cdce3ec:#ececec;--cdfe5ed:#000000;--ce3e8f0:#ececec;--ce4eaf2:#ececec;--ce5e7eb:#ececec;--ce5ebf5:#ececec;--ce8edf4:#ececec;--ce8efff:#ffffff;--cedf3ff:#ffffff;--ceef1f6:#ececec;--ceef2f7:#ffffff;--ceef3ff:#ffffff;--cf0d99e:#f7eaca;--cf0f4fb:#ffffff;--cf1f4f9:#ffffff;--cf2f5fa:#ffffff;--cf3f5f9:#ffffff;--cf3f6fb:#ffffff;--cf3f7ff:#ffffff;--cf6f8fb:#ffffff;--cf7f9fc:#ffffff;--cf7f9ff:#ffffff;--cf8fafc:#ffffff;--cf8faff:#ffffff;--cfdeceb:#ffffff;--cffedbd:#ffeec2;--cfff0ee:#ffffff;--cfff8e8:#ffffff;--cffffff:#ffffff;--bg:#ffffff;--white:#ffffff;--line:#000000;--ink:#000000;--muted:#1f1f1f;--navy:#000000;--navy-solid:#000000;--blue:#0030b0;--blue-soft:#e3e9ff;--blue-solid:#0030b0;--red:#a00000;--red-bg:#ffe5e5;--green:#005a2b;--green-bg:#e2f5e9;--amber:#5c3d00;--amber-bg:#fff1c7;--shadow:none}
:root[data-palette=contrast] .obligation-card,:root[data-palette=contrast] .modal,:root[data-palette=contrast] .history-event,:root[data-palette=contrast] .note-card,:root[data-palette=contrast] .goal-card,:root[data-palette=contrast] .doc-card,:root[data-palette=contrast] .secondary-btn,:root[data-palette=contrast] .small-action,:root[data-palette=contrast] .icon-btn,:root[data-palette=contrast] .quick-btn,:root[data-palette=contrast] .cal-day,:root[data-palette=contrast] input,:root[data-palette=contrast] select,:root[data-palette=contrast] textarea,:root[data-palette=contrast] .category-chip,:root[data-palette=contrast] .note-cat{border:1.5px solid #000!important}
:root[data-palette=contrast] :focus-visible{outline:3px solid #0030b0!important;outline-offset:2px}
:root[data-palette=contrast] .card-accent{background:#000!important}
:root[data-palette=graphite],:root[data-palette=forest]{--chart-1:#3987e5}
.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-top:6px}
.theme-card{display:grid;gap:6px;padding:8px;border:1.5px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);cursor:pointer;font:inherit;font-size:calc(12.5px*var(--fs));font-weight:700;text-align:left}
.theme-card[aria-checked=true]{border-color:var(--blue-solid);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue-solid) 35%,transparent)}
.theme-prev{display:grid;grid-template-columns:1fr;gap:4px;padding:6px;border-radius:8px;border:1px solid #0002;height:52px;position:relative;overflow:hidden}
.theme-prev i{display:block;height:9px;border-radius:4px}
.theme-prev i.c{height:22px;border-radius:6px;box-shadow:0 1px 2px #0002}
.theme-prev i.a{position:absolute;right:7px;bottom:7px;width:16px;height:16px;border-radius:50%}
.seg.is-locked{opacity:.5;pointer-events:none}

/* v0.52 · temas criados pela pessoa */
.theme-card-wrap{position:relative;display:grid}
.theme-edit{position:absolute;top:4px;right:4px;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;font-size:14px;line-height:1;display:grid;place-items:center;box-shadow:0 1px 3px #0002}
.theme-new{border-style:dashed}
.theme-prev-new{display:grid!important;place-items:center;font-size:24px;color:var(--blue);background:var(--blue-soft)}
.theme-colors{display:grid;gap:8px}
.theme-color{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;cursor:pointer}
.theme-color input[type=color]{width:46px;height:46px;border:0;padding:0;background:none;cursor:pointer;flex:0 0 auto;border-radius:10px}
.theme-color input[type=color]:disabled{opacity:.45;cursor:not-allowed}
.theme-color>span{display:grid;gap:1px;min-width:0}
.theme-color small{color:var(--muted);font-size:calc(12px*var(--fs))}
.theme-color code{font-size:calc(11px*var(--fs));color:var(--muted)}
.theme-auto{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:calc(13px*var(--fs));color:var(--ink)}
.theme-preview{border-radius:14px;padding:10px;display:grid;gap:8px;border:1px solid var(--line)}
.theme-preview .tp-bar{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;font-weight:700;font-size:13px}
.theme-preview .tp-bar b{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;font-size:11px}
.theme-preview .tp-card{display:grid;gap:4px;padding:10px 12px;border:1px solid;border-radius:12px;font-size:13px}
.theme-preview .tp-chip{justify-self:start;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700}
.theme-preview .tp-link{font-weight:700;font-size:12px}
.theme-preview .tp-row{display:flex;gap:8px}
.theme-preview .tp-btn,.theme-preview .tp-btn2{padding:8px 12px;border-radius:10px;font-weight:700;font-size:13px}
.theme-preview .tp-btn2{border:1px solid}
.theme-checks{list-style:none;margin:6px 0;padding:0;display:grid;gap:3px;font-size:calc(12.5px*var(--fs))}
.theme-checks .ok{color:var(--green)}
.theme-checks .low{color:var(--red);font-weight:700}
.danger-btn{color:var(--red)!important;margin-right:auto}
.theme-auto input[type=checkbox]{width:18px!important;height:18px!important;min-height:0!important;margin:0;padding:0;flex:0 0 auto}
.theme-color small .theme-auto{display:flex;font-size:inherit;color:var(--muted)}

/* v0.53 · cabeçalho personalizado (nome, foto, capa, altura e largura) */
.hdr-cover{position:absolute;inset:0;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;z-index:0;pointer-events:none;border-radius:inherit}
.topbar>.brand,.topbar>.top-actions{position:relative;z-index:1}
.topbar .brand-text{min-width:0}
.topbar .brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:52vw}
.topbar.has-h{height:var(--hdr-h)!important}
.topbar.is-tall{position:relative;align-items:flex-end;padding-bottom:14px}
.topbar.is-tall .top-actions{align-self:flex-start;margin-top:12px}
.topbar.is-tall .brand-mark{width:64px;height:64px;border-radius:18px;font-size:calc(26px*var(--fs))}
.topbar.is-tall .brand strong{font-size:calc(22px*var(--fs))}
.topbar.is-tall .brand small{font-size:calc(13px*var(--fs));margin-top:1px}
.topbar.has-cover{border-bottom:0;background:#333}
.topbar.has-cover .hdr-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.18) 45%,rgba(0,0,0,.6) 100%);border-radius:inherit}
.topbar.has-cover .brand{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.7)}
.topbar.has-cover .brand small{color:rgba(255,255,255,.9)}
.topbar.has-cover .icon-btn{background:rgba(255,255,255,.9);color:#172033;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.brand-mark.has-photo{background-size:cover;background-position:center;background-color:#ccc;color:transparent}
.topbar.has-cover .brand-mark{box-shadow:0 0 0 2px #fff,0 2px 8px rgba(0,0,0,.35)}
.topbar.hdr-boxed{width:calc(100% - 24px);max-width:1120px;margin:12px auto 0;padding:0 18px;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.topbar.hdr-boxed.is-tall{padding-bottom:14px}
.hdr-row{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin:4px 0}
.hdr-ini{display:grid;gap:2px;width:7em}
.hdr-ini small{color:var(--muted)}
.hdr-ini input{text-transform:uppercase;text-align:center;font-weight:800}
.hdr-range{display:grid;gap:2px;margin-top:6px}
.hdr-range small{color:var(--muted)}
.hdr-range input[type=range]{width:100%;accent-color:var(--blue-solid)}
#hdrHeightPresets{margin-top:4px}
.topbar .brand small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:52vw}
.topbar .brand{min-width:0;flex:1 1 auto;margin-right:10px}
.topbar .top-actions{flex:0 0 auto}
.brand-mark{flex:0 0 auto}
.topbar.is-tall .top-actions{position:absolute;top:12px;right:max(16px,calc((100vw - 1120px)/2));margin-top:0}
.topbar.hdr-boxed.is-tall .top-actions{right:18px}
.topbar.is-tall .brand{margin-right:0}
.topbar.is-tall .brand strong,.topbar.is-tall .brand small{max-width:calc(100vw - 140px);white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

/* v0.54 · prévia do cabeçalho */
.hdr-pv-wrap{position:sticky;top:0;z-index:3;margin:-4px -18px 12px;padding:8px 18px 10px;background:var(--white);border-bottom:1px solid var(--line)}
.hdr-pv-label{display:block;color:var(--muted);font-size:calc(11.5px*var(--fs));margin-bottom:5px}
.hdr-preview{position:relative;overflow:hidden;border-radius:12px;border:1px solid var(--line);background:var(--bg);min-height:40px}
.hdr-pv-stage{position:absolute;top:0;left:0;transform-origin:0 0;background:var(--bg);pointer-events:none}
.hdr-pv-stage .topbar{position:relative!important;top:0!important}
.hdr-pv-strip{display:flex;gap:14px;padding:16px max(24px,calc((100vw - 1120px)/2))}
.hdr-pv-strip i{display:block;height:28px;flex:0 0 90px;border-radius:10px;background:var(--line)}

/* v0.56 · símbolo do app no cabeçalho e nas boas-vindas */
.brand-mark.has-symbol,.welcome-logo.has-symbol{background:#11264a url(icon.svg) center/cover no-repeat;color:transparent;font-size:0}
.topbar.has-cover .brand-mark.has-symbol{box-shadow:0 0 0 2px rgba(255,255,255,.9),0 2px 8px rgba(0,0,0,.35)}

/* v0.57 · ToHodie Premium */
.set-sec-premium>summary .pm-ico{background:linear-gradient(135deg,#f7dc8f,#c9962e);color:#3b2a06}
.pm-hero{border-radius:14px;padding:12px 14px;background:linear-gradient(135deg,#11264a,#1b3766);color:#fff;margin-bottom:10px}
.pm-msg{margin:0 0 6px;font-weight:800;font-size:calc(16px*var(--fs));line-height:1.35;color:#f7dc8f}
.pm-status{margin:0;font-size:calc(13px*var(--fs));color:#e6ebf5}
.pm-status strong{color:#fff}
.pm-status .pm-ok{color:#9ff0c4}
.pm-figure{margin:0 0 10px}
.pm-figure img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}
.pm-figure figcaption{font-size:calc(12px*var(--fs));color:var(--muted);margin-top:4px}
.pm-features{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}
.pm-features li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:8px 10px;border:1px solid var(--line);border-radius:12px}
.pm-features li div{display:grid;gap:2px}
.pm-features small{color:var(--muted)}
.pm-features em{font-style:normal;font-size:calc(11.5px*var(--fs));font-weight:700;color:#9a6a0c;background:#fff3cf;border-radius:999px;padding:2px 8px;white-space:nowrap}
.pm-check{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#f7dc8f,#c9962e);color:#3b2a06;font-weight:800}
.pm-more .pm-check{background:var(--blue-soft);color:var(--blue)}
.pm-actions{display:flex;gap:8px;flex-wrap:wrap}
.pm-actions .primary-btn{flex:1 1 220px}
.pm-badge{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:#fff3cf;color:#9a6a0c;font-size:calc(11px*var(--fs));font-weight:800;vertical-align:middle}
.notif-pinned{background:linear-gradient(135deg,#fff8e1,#fff);border:1px solid #f0d99e!important}
:root[data-theme=dark] .notif-pinned{background:linear-gradient(135deg,#3a2c12,var(--white));border-color:#665427!important}
.notif-pinned .notif-icon{background:linear-gradient(135deg,#f7dc8f,#c9962e)!important;color:#3b2a06!important}
.notif-pin-tag{display:inline-block;margin-left:6px;padding:0 7px;border-radius:999px;background:#11264a;color:#f7dc8f;font-size:calc(10.5px*var(--fs));font-weight:800;vertical-align:middle}
.notif-pinned .notif-action{margin-top:6px}

/* v0.58 · apagar notificações; Premium; botões do topo */
.notif-item{position:relative}
.notif-del{position:absolute;top:6px;right:6px;width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer}
.notif-del:hover,.notif-del:focus-visible{background:var(--cf2f5fa);color:var(--ink)}
.notif-item>div{padding-right:22px}
.notif-pinned small{display:block;margin-top:6px}
.pm-msg{font-size:calc(19px*var(--fs))!important;margin-bottom:4px!important}
.pm-sub{margin:0 0 6px;color:#e6ebf5;font-size:calc(13.5px*var(--fs))}
.hdr-sub{font-size:calc(12px*var(--fs));color:var(--muted);margin:8px 0 3px;font-weight:700}
#hdrBtnVRow.is-locked{opacity:.5}
.seg button:disabled{opacity:.45;cursor:not-allowed}
.hdr-btn-order{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.hdr-btn-order li{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;padding:4px 6px 4px 10px;border:1px solid var(--line);border-radius:10px}
.hdr-btn-order .icon-btn{width:34px;height:34px;font-size:16px}
.hdr-btn-order .icon-btn[disabled]{opacity:.35}
/* lado dos botões */
.topbar.btn-left{flex-direction:row-reverse}
.topbar.btn-left .brand{margin-right:0;margin-left:10px;justify-content:flex-end;text-align:right}
.topbar.btn-left .brand{flex-direction:row-reverse}
.topbar.is-tall.btn-left{flex-direction:row}
.topbar.is-tall.btn-left .brand{margin-left:0;justify-content:flex-start;text-align:left;flex-direction:row}
.topbar.is-tall.btn-left .top-actions{right:auto;left:max(16px,calc((100vw - 1120px)/2))}
.topbar.hdr-boxed.is-tall.btn-left .top-actions{left:18px}
.topbar.is-tall.btn-center .top-actions{right:auto;left:50%;transform:translateX(-50%)}
.topbar.is-tall.btn-bottom .top-actions{top:auto;bottom:14px}
.topbar.is-tall.btn-bottom.btn-right .brand strong,.topbar.is-tall.btn-bottom.btn-right .brand small{max-width:calc(100vw - 260px)}
.topbar.is-tall.btn-bottom.btn-left{justify-content:flex-end}
.topbar.is-tall.btn-bottom.btn-left .brand{flex-direction:row-reverse;text-align:right}
.topbar.is-tall.btn-bottom.btn-left .brand strong,.topbar.is-tall.btn-bottom.btn-left .brand small{max-width:calc(100vw - 260px)}
.topbar.is-tall.btn-bottom.btn-center{padding-bottom:72px}

/* v0.59 · recuperar o Premium */
.pm-restore{margin-top:12px;padding:10px 12px;border:1px dashed var(--line);border-radius:12px;display:grid;gap:4px;font-size:calc(13px*var(--fs));color:var(--ink)}
.pm-restore small{color:var(--muted)}
.link-btn{justify-self:start;border:0;background:none;padding:2px 0;color:var(--blue);font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.pm-actions .secondary-btn{flex:1 1 180px}

/* v0.61 · símbolo sem moldura no cabeçalho (o ícone do app agora tem borda branca) */
.brand-mark.has-symbol,.welcome-logo.has-symbol{background-image:url(icon-symbol.svg)}
/* incentivo no Histórico */
.history-cheer{display:flex;gap:12px;align-items:center;margin:0 0 14px;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,var(--green-bg),var(--cffffff));border:1px solid color-mix(in srgb,var(--green) 30%,transparent)}
.history-cheer .cheer-ico{font-size:30px;line-height:1}
.history-cheer p{margin:0;display:grid;gap:2px}
.history-cheer strong{font-size:calc(16px*var(--fs));color:var(--ink)}
.history-cheer small{color:var(--muted);font-size:calc(12.5px*var(--fs))}
/* calendário do Histórico */
.hcal-wrap{margin:12px 0}
.hcal-wrap details{border:1px solid var(--line);border-radius:14px;background:var(--cffffff);padding:4px 12px 12px}
.hcal-wrap summary{cursor:pointer;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:8px 0;font-weight:800;color:var(--navy)}
.hcal-wrap summary small{font-weight:400;color:var(--muted);font-size:calc(12px*var(--fs))}
.hcal-head{display:flex;align-items:center;gap:8px;margin:4px 0 8px}
.hcal-head h3{flex:1;text-align:center;margin:0;font-size:calc(16px*var(--fs))}
.hcal-head .icon-btn{width:36px;height:36px}
.hcal-today{padding:6px 12px}
.hcal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.hcal-wd{text-align:center;font-size:calc(11px*var(--fs));font-weight:700;color:var(--muted);padding:2px 0}
.hcal-day{min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;padding:4px 2px;border:1px solid var(--line);border-radius:10px;background:var(--cffffff);color:var(--ink);font:inherit;cursor:pointer;min-width:0}
.hcal-day.is-empty{border:0;background:transparent;cursor:default}
.hcal-day b{font-size:calc(12.5px*var(--fs))}
.hcal-day:not(.has-items) b{color:var(--muted);font-weight:500}
.hcal-day.is-today b{background:var(--blue-solid);color:#fff;border-radius:999px;padding:0 6px}
.hcal-day.is-sel{outline:2px solid var(--blue-solid);outline-offset:1px}
.hcal-bal{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%}
.hcal-bal i,.hcal-legend i{font-style:normal;font-weight:800;font-size:calc(10.5px*var(--fs));line-height:1.25;border-radius:6px;padding:0 4px;white-space:nowrap}
.b-done{color:var(--green);background:var(--green-bg)}
.b-snz{color:var(--amber);background:var(--amber-bg)}
.b-late{color:var(--red);background:var(--red-bg)}
.b-todo{color:var(--muted);background:var(--cf2f5fa)}
.hcal-dot{width:6px;height:6px;border-radius:50%;background:var(--blue-solid);margin-top:4px}
.hcal-sum{margin:10px 0 4px;font-size:calc(13px*var(--fs));color:var(--muted)}
.hcal-sum .t-done{color:var(--green)}.hcal-sum .t-snz{color:var(--amber)}.hcal-sum .t-late{color:var(--red)}
.hcal-legend{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 8px;font-size:calc(12px*var(--fs))}
.hcal-legend span{color:var(--muted);flex-basis:100%}
.hcal-tools{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.hcal-daylist{border-top:1px solid var(--line);padding-top:8px}
.hcal-day-title{font-weight:800;margin:0 0 6px}
.hcal-grp h4{margin:8px 0 4px;font-size:calc(13px*var(--fs))}
.hcal-grp.g-done h4{color:var(--green)}.hcal-grp.g-snz h4{color:var(--amber)}.hcal-grp.g-late h4{color:var(--red)}.hcal-grp.g-todo h4{color:var(--muted)}
.hcal-grp ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.hcal-grp li{display:grid;gap:1px;padding:6px 10px;border:1px solid var(--line);border-radius:10px}
.hcal-grp li small{color:var(--muted)}
@media(max-width:420px){.hcal-day{min-height:58px}.hcal-bal i{font-size:10px;padding:0 2px}}
/* bolha de motivação */
.motiv-bubble{position:fixed;z-index:15;width:52px;height:52px;border-radius:50%;border:2px solid #fff;background:radial-gradient(circle at 35% 30%,#ffe9a8,#e2b453 55%,#b8862a);box-shadow:0 6px 18px rgba(0,0,0,.28);font-size:24px;line-height:1;display:grid;place-items:center;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;transition:transform .15s}
.motiv-bubble:hover{transform:scale(1.06)}
.motiv-bubble.dragging{cursor:grabbing;transform:scale(1.1);transition:none}
.motiv-bubble.hidden{display:none}
.motiv-card{position:fixed;z-index:16;padding:14px 16px 10px;border-radius:16px;background:linear-gradient(160deg,#11264a,#1b3766);color:#fff;box-shadow:0 14px 36px rgba(0,0,0,.35)}
.motiv-card.hidden{display:none}
.motiv-eyebrow{margin:0 0 4px;font-size:11px;letter-spacing:.12em;font-weight:800;color:#f7dc8f}
.motiv-text{margin:0 0 12px;font-size:calc(17px*var(--fs));font-weight:700;line-height:1.35}
.motiv-actions{display:flex;gap:8px;flex-wrap:wrap}
.motiv-actions .secondary-btn{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.3)}
.motiv-hide{color:#c9d6f0!important;margin-top:8px;font-weight:600!important;font-size:calc(12px*var(--fs))}
/* v0.64 · bolha de sabão flutuante */
.motiv-bubble{left:0!important;top:0!important;width:58px;height:58px;border:0;padding:0;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.04) 0 52%,rgba(180,225,255,.18) 64%,rgba(255,190,235,.28) 74%,rgba(255,245,180,.32) 82%,rgba(170,255,225,.34) 89%,rgba(255,255,255,.55) 97%,rgba(255,255,255,.75) 100%);box-shadow:inset 0 0 8px rgba(255,255,255,.55),inset -7px -9px 16px rgba(110,170,255,.28),inset 7px 7px 14px rgba(255,140,220,.22),0 6px 16px rgba(30,50,90,.18);backdrop-filter:saturate(1.4) brightness(1.06);-webkit-backdrop-filter:saturate(1.4) brightness(1.06);font-size:0;color:transparent;will-change:transform;animation:bubBreath 5.5s ease-in-out infinite;transition:none;overflow:visible}
.motiv-bubble:hover{transform:none}
.motiv-bubble::before{content:"";position:absolute;inset:0;border-radius:inherit;background:conic-gradient(from 0deg,#ff8fd1,#8fc8ff,#9dffd6,#fff29a,#ffb0e4,#a7a2ff,#ff8fd1);-webkit-mask:radial-gradient(circle,transparent 60%,#000 72%,#000 100%);mask:radial-gradient(circle,transparent 60%,#000 72%,#000 100%);opacity:.5;mix-blend-mode:screen;animation:bubSpin 9s linear infinite}
.motiv-bubble::after{content:"";position:absolute;left:18%;top:14%;width:30%;height:20%;border-radius:50%;background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.95),rgba(255,255,255,0) 70%);transform:rotate(-30deg)}
.motiv-bubble .bub-shine{position:absolute;right:20%;bottom:18%;width:10%;height:10%;border-radius:50%;background:rgba(255,255,255,.75);box-shadow:0 0 6px rgba(255,255,255,.9)}
.motiv-bubble.dragging{cursor:grabbing;animation-play-state:paused}
.motiv-bubble:focus-visible{outline:3px solid var(--blue-solid);outline-offset:3px}
:root[data-theme=dark] .motiv-bubble{box-shadow:inset 0 0 8px rgba(255,255,255,.45),inset -7px -9px 16px rgba(110,170,255,.3),inset 7px 7px 14px rgba(255,140,220,.25),0 0 18px rgba(160,200,255,.18)}
@keyframes bubBreath{0%,100%{border-radius:50% 50% 50% 50%/50% 50% 50% 50%}25%{border-radius:52% 48% 51% 49%/48% 52% 49% 51%}50%{border-radius:49% 51% 48% 52%/51% 49% 52% 48%}75%{border-radius:51% 49% 52% 48%/49% 51% 48% 52%}}
@keyframes bubSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.motiv-bubble,.motiv-bubble::before{animation:none}}
:root[data-theme=light] .motiv-bubble{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.05) 0 50%,rgba(140,200,255,.22) 62%,rgba(255,150,220,.32) 72%,rgba(255,220,120,.34) 80%,rgba(120,230,200,.36) 88%,rgba(150,170,255,.42) 95%,rgba(110,140,210,.5) 100%);box-shadow:inset 0 0 6px rgba(255,255,255,.9),inset -7px -9px 16px rgba(90,150,255,.3),inset 7px 7px 14px rgba(255,120,210,.25),0 0 0 1px rgba(110,140,200,.25),0 6px 16px rgba(30,50,90,.16)}
:root[data-theme=light] .motiv-bubble::before{opacity:.7;mix-blend-mode:normal}
:root[data-theme=light] .motiv-bubble::after{background:radial-gradient(ellipse at 50% 50%,#fff,rgba(255,255,255,0) 70%);filter:drop-shadow(0 0 1px rgba(90,120,180,.5))}

/* v0.65 · escolha do modo da bolha */
.motiv-mode-label{margin:12px 0 4px;font-size:12px;font-weight:800;letter-spacing:.06em;color:#f7dc8f}
.motiv-card .motiv-modes{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}
.motiv-card .motiv-modes button{color:#e6ebf5}
.motiv-card .motiv-modes button[aria-checked=true]{background:#f7dc8f;color:#11264a}
.motiv-mode-hint{margin:6px 0 0;font-size:12px;color:#c9d6f0;min-height:1em}
.motiv-modes button{white-space:nowrap}

/* v0.66 · fechar da frase no canto superior direito */
.motiv-card{padding-right:16px}
.motiv-eyebrow{padding-right:40px}
.motiv-x{position:absolute;top:8px;right:8px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:22px;line-height:1;display:grid;place-items:center;cursor:pointer}
.motiv-x:hover,.motiv-x:focus-visible{background:rgba(255,255,255,.25)}
.motiv-x:focus-visible{outline:2px solid #f7dc8f;outline-offset:2px}

/* v0.69 · filtro do dia no calendário do Histórico */
.hcal-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:10px 12px;margin:4px 0 8px;border-radius:12px;background:var(--blue-soft);color:var(--ink);font-size:calc(13.5px*var(--fs))}
.hcal-grp h4 small{font-weight:400}
.hcal-cards{display:grid;gap:10px}
.hcal-cards .obligation-card,.hcal-cards .history-event{margin:0}
/* anotações: colar e copiar */
.note-add-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:6px}
.note-add .note-add-actions .primary-btn{flex:1 1 200px}
/* editor de frases da bolha */
.motiv-actions .secondary-btn{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.3)}
.phrase-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:6px}
.phrase-row input{flex:1 1 200px;min-width:0;background:var(--cffffff);border:1px solid var(--cdfe5ed);border-radius:9px;padding:10px 11px;color:var(--ink);font:inherit}
.phrase-list{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:5px;max-height:44vh;overflow:auto}
.phrase-list li{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:6px 6px 6px 10px;border:1px solid var(--line);border-radius:10px;font-size:calc(13.5px*var(--fs))}
.phrase-list li .icon-btn{width:32px;height:32px;font-size:18px}
.phrase-list .phrase-empty{display:block;color:var(--muted);text-align:center;border-style:dashed}

/* v0.70 · pacotes de frases */
.pack-list{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px}
.pack{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;gap:6px}
.pack-head{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start}
.pack-head>div{display:grid;gap:1px}
.pack-head small{color:var(--muted)}
.pack-ico{font-size:24px;line-height:1.1}
.pack-in,.pack-part{font-style:normal;font-size:calc(11.5px*var(--fs));font-weight:700;border-radius:999px;padding:2px 8px;white-space:nowrap}
.pack-in{color:var(--green);background:var(--green-bg)}
.pack-part{color:var(--amber);background:var(--amber-bg)}
.pack-sample{margin:0;font-style:italic;color:var(--ink);font-size:calc(13px*var(--fs))}
.pack-credit{margin:0;color:var(--muted);font-size:calc(11.5px*var(--fs))}
.pack-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pack-actions .secondary-btn{padding:7px 12px}
.pack-actions .secondary-btn:disabled{opacity:.5}
.pack-preview{margin:0;padding:6px 10px 6px 26px;max-height:30vh;overflow:auto;border-top:1px dashed var(--line);font-size:calc(12.5px*var(--fs));display:grid;gap:4px}
.pack-preview.hidden{display:none}
.motiv-ref{display:block;margin-top:6px;font-style:normal;font-size:calc(13px*var(--fs));font-weight:800;color:#f7dc8f}
