:root{--bg:#faf8fd;--surface:#fff;--surface-alt:#f8f4fb;--ink:#302a3d;--muted:#847b91;--line:#eee8f1;--primary:#a35bd8;--primary-dark:#8744c0;--pink:#f28db3;--shadow:0 10px 30px rgba(67,44,88,.055);--radius:22px;--navh:74px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #d7b1f9;outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}
.app{min-height:100vh;display:flex}.sidebar{position:sticky;top:0;height:100vh;width:255px;flex:none;border-right:1px solid var(--line);background:var(--surface);padding:27px 15px 20px;display:flex;flex-direction:column;gap:24px}.brand{display:flex;align-items:center;gap:10px;padding:4px 13px}.brand-mark{width:41px;height:41px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(140deg,#fbd3e5,#e4cdfc);font-size:24px}.brand h1{font-size:18px;letter-spacing:-.8px;margin:0}.brand p{font-size:10px;text-transform:uppercase;letter-spacing:2px;margin:3px 0 0;color:var(--muted);font-weight:800}.side-list{overflow-y:auto;flex:1;padding-right:1px}.side-label{padding:12px 16px 8px;color:#aaa0b0;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px}.side-link{display:flex;width:100%;align-items:center;gap:12px;padding:11px 13px;margin:3px 0;border:none;border-radius:13px;background:transparent;text-align:left;color:var(--muted);font-weight:650;transition:background .2s,color .2s}.side-link .emoji{font-size:19px;width:23px;text-align:center}.side-link:hover{background:var(--surface-alt);color:var(--ink)}.side-link.active{background:linear-gradient(110deg,#f5eafb,#fff1f6);color:#803caf}.side-bottom{background:linear-gradient(140deg,#f9edff,#fff0f5);padding:15px;border-radius:18px;display:flex;align-items:center;gap:10px}.side-bottom strong{font-size:13px}.side-bottom small{color:var(--muted);font-size:11px;display:block;margin-top:4px}
.main{flex:1;min-width:0}.main-inner{max-width:1210px;margin:auto;padding:31px 38px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:25px}.topbar .greeting{color:var(--muted);font-size:13px;font-weight:550}.topbar strong{display:block;font-size:25px;letter-spacing:-1px;line-height:1.25;margin-top:4px}.top-actions{display:flex;align-items:center;gap:10px}.avatar{width:42px;height:42px;border:2px solid white;box-shadow:0 3px 14px rgba(131,67,173,.13);border-radius:50%;background:linear-gradient(130deg,#ffc8d5,#dbbafd);display:grid;place-items:center;font-size:23px}.round-btn,.icon-btn{border:1px solid var(--line);background:var(--surface);border-radius:13px;min-width:42px;height:42px;display:inline-grid;place-items:center;color:var(--ink);font-size:18px}.icon-btn{min-width:30px;width:30px;height:30px;border-radius:10px;font-size:15px;flex-shrink:0}.round-btn:hover,.icon-btn:hover{background:var(--surface-alt)}.date-chip{display:flex;align-items:center;gap:8px;padding:11px 15px;border-radius:14px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:700}.page-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:7px 0 24px}.page-head h2{font-size:28px;letter-spacing:-1.1px;margin:0}.page-head p{color:var(--muted);margin:6px 0 0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:25px 0 13px}.section-head h3{margin:0;font-size:17px;letter-spacing:-.3px}.text-link{background:none;border:0;color:var(--primary-dark);font-weight:750;font-size:12px;padding:8px}.text-link:hover{text-decoration:underline}.btn{border:0;background:var(--primary);color:white;border-radius:13px;padding:12px 17px;font-weight:750;display:inline-flex;gap:7px;align-items:center;justify-content:center;min-height:43px;box-shadow:0 6px 16px #ae78cd27}.btn:hover{background:var(--primary-dark)}.btn.secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:none}.btn.secondary:hover{background:var(--surface-alt)}.btn.pink{background:#e8739f}.btn.danger{background:#fff0f3;color:#c54f71;box-shadow:none}.btn.small{padding:9px 12px;min-height:36px;font-size:12px}.btn.full{width:100%}
.hero{position:relative;overflow:hidden;min-height:225px;border-radius:29px;background:linear-gradient(110deg,#ad72e0 0%,#d18dd6 54%,#f2a3c0 100%);color:white;padding:32px;display:flex;align-items:center;box-shadow:0 16px 40px #b17ac628}.hero:after{content:'';position:absolute;width:260px;height:260px;border-radius:50%;right:23px;top:-120px;border:50px solid #ffffff18}.hero:before{content:'';position:absolute;width:210px;height:210px;border-radius:50%;right:-35px;bottom:-120px;background:#ffffff20}.hero-content{position:relative;z-index:1;max-width:70%}.hero-label{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:850;opacity:.85}.hero h2{font-size:30px;line-height:1.18;letter-spacing:-1.5px;margin:13px 0 11px}.hero p{opacity:.94;font-size:13px;max-width:370px;line-height:1.6;margin:0 0 20px}.hero .btn{background:#fff;color:#8e45b5;box-shadow:none}.hero-art{position:absolute;right:7%;bottom:18px;font-size:108px;filter:drop-shadow(0 18px 13px #71349025);transform:rotate(-10deg)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:20px 0}.stat{background:var(--surface);border-radius:20px;padding:19px;box-shadow:var(--shadow);border:1px solid var(--line)}.stat-ic{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;font-size:21px;margin-bottom:16px}.bg-pink{background:#ffedf3}.bg-purple{background:#f3eafd}.bg-peach{background:#fff0df}.bg-mint{background:#e4f8ef}.bg-blue{background:#eaf3ff}.stat strong{font-size:24px;letter-spacing:-.8px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat span{color:var(--muted);font-weight:650;font-size:12px;margin-top:6px;display:block}.two-col{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,1fr);gap:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);min-width:0}.card h3{margin:0 0 18px;font-size:16px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:15px}.card-head h3{margin:0}.task-row,.list-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.task-row:last-child,.list-row:last-child{border-bottom:none}.check-circle{width:23px;height:23px;border:2px solid #d4c7dc;background:white;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:white;font-size:13px}.check-circle.checked{background:var(--primary);border-color:var(--primary)}.row-text{flex:1;min-width:0}.row-text strong{display:block;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.row-text small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.done-text{text-decoration:line-through;color:#a8a0ab}.mini-pill{padding:5px 8px;border-radius:8px;background:var(--surface-alt);color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap}.mini-pill.high{background:#fff0ef;color:#da6977}.mini-pill.today{background:#f1e8fc;color:#9757ba}.muted{color:var(--muted)}.small{font-size:12px}.empty{text-align:center;padding:29px 16px;color:var(--muted);background:var(--surface-alt);border-radius:15px}.empty .big{font-size:36px;display:block;margin-bottom:7px}.empty strong{color:var(--ink);display:block;margin:8px 0 5px}.empty p{font-size:12px;line-height:1.6;margin:0 0 13px}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.quick-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:17px 12px;text-align:center;min-height:104px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px;font-weight:750;color:var(--ink)}.quick-card:hover{border-color:#e6c5f5;transform:translateY(-2px)}.quick-card .q-emoji{font-size:28px}.progress-track{height:10px;border-radius:100px;background:var(--surface-alt);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#a56bdd,#ef8dac);border-radius:100px;transition:width .3s}.ring{width:135px;height:135px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#b16edc var(--pct),#f4eaf9 var(--pct));margin:12px auto;position:relative}.ring:after{content:'';position:absolute;inset:14px;border-radius:50%;background:var(--surface)}.ring-content{position:relative;z-index:1;text-align:center}.ring strong{display:block;font-size:27px}.ring small{color:var(--muted);font-size:10px}.water{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px;border-radius:16px;background:#edf7ff;margin-top:15px}.water strong{font-size:13px}.water small{color:#6f8ba6}.water .btn{min-width:35px;min-height:34px;padding:8px}.item-list{display:grid;gap:12px}.item-card{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:16px 18px;display:flex;gap:12px;align-items:center;min-width:0}.item-icon{font-size:23px;width:42px;height:42px;flex-shrink:0;background:var(--surface-alt);display:grid;place-items:center;border-radius:13px}.item-info{flex:1;min-width:0}.item-info strong{display:block;font-size:14px;overflow-wrap:anywhere}.item-info small{display:block;color:var(--muted);margin-top:5px;font-size:11px;line-height:1.5}.item-actions{display:flex;gap:6px;flex-shrink:0}.filters{display:flex;gap:8px;align-items:center;overflow-x:auto;padding-bottom:6px;margin-bottom:15px}.chip{border:1px solid var(--line);padding:9px 13px;border-radius:50px;background:var(--surface);white-space:nowrap;color:var(--muted);font-size:12px;font-weight:700}.chip.active{background:#f3e5fb;border-color:#e5cbf4;color:#8243ae}.split-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:16px}.search{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:12px 14px;min-width:0;width:100%;max-width:320px;color:var(--ink)}.search::placeholder{color:#aca5b4}.muted-label{font-size:11px;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin:18px 0 8px}
.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.calendar-toolbar h3{margin:0;font-size:18px}.calendar-controls{display:flex;gap:8px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.weekday{text-align:center;font-size:11px;font-weight:800;color:var(--muted);padding:10px 0}.day{border:1px solid var(--line);border-radius:13px;background:var(--surface);min-height:80px;display:flex;align-items:flex-start;flex-direction:column;gap:8px;padding:10px;text-align:left}.day:hover{background:#f9f0ff}.day.other{opacity:.34}.day.today .day-no{background:var(--primary);color:white}.day.selected{border:2px solid #b971df;box-shadow:0 5px 17px #d5b3ef2b}.day-no{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;font-size:12px;font-weight:800}.dots{display:flex;flex-wrap:wrap;gap:3px}.dot{width:6px;height:6px;border-radius:50%;background:#df8ca6}.dot.task{background:#ae78e6}.dot.meal{background:#f0bf63}.month-controls{display:flex;align-items:center;gap:6px}.month-controls button{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 12px}.budget-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:17px}.budget-card{border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:19px}.budget-card span{font-size:12px;color:var(--muted)}.budget-card strong{display:block;font-size:22px;letter-spacing:-.7px;margin-top:10px;word-break:break-word}.budget-chart{height:190px;display:flex;gap:11px;align-items:flex-end;justify-content:space-around;margin-top:25px;padding-bottom:28px;border-bottom:1px solid var(--line)}.bar-group{height:100%;flex:1;max-width:45px;position:relative;display:flex;align-items:flex-end;justify-content:center;gap:3px}.bar{width:45%;min-height:3px;border-radius:7px 7px 2px 2px;background:#d5afea}.bar.income{background:#a9dbc4}.bar-label{position:absolute;top:calc(100% + 8px);font-size:10px;color:var(--muted)}.legend{display:flex;gap:15px;justify-content:center;color:var(--muted);font-size:11px;padding-top:19px}.legend span{display:inline-flex;align-items:center;gap:6px}.swatch{width:9px;height:9px;border-radius:3px;background:#d5afea}.swatch.green{background:#a9dbc4}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.category-item{background:var(--surface-alt);border-radius:14px;padding:13px}.category-item b{font-size:12px}.category-item small{display:block;color:var(--muted);margin:6px 0 10px}.category-item .progress-track{height:6px}
.meal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.meal-day{border:1px solid var(--line);border-radius:17px;background:var(--surface);padding:13px;min-width:0}.meal-day.today{border-color:#dbb6eb;background:#fffaff}.meal-day .md-title{font-weight:850;font-size:12px}.meal-day .md-date{color:var(--muted);font-size:11px;margin:4px 0 15px}.meal-slot{border:1px dashed #e7deeb;border-radius:11px;width:100%;padding:10px 7px;margin-top:9px;text-align:left;background:#fff;color:var(--ink);min-height:89px}.meal-slot:hover{background:var(--surface-alt)}.meal-slot small{display:block;color:var(--muted);font-size:10px;margin-bottom:8px}.meal-slot strong{display:block;font-size:11px;line-height:1.4;word-break:break-word}.meal-slot .plus{font-size:20px;color:#bd9bcf}.habit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.habit-tile{border:1px solid var(--line);background:var(--surface);border-radius:19px;padding:19px;text-align:center;position:relative;min-height:120px}.habit-tile.done{background:#f4efff;border-color:#dfc7f1}.habit-tile .habit-emoji{display:block;font-size:31px;margin-bottom:10px}.habit-tile b{display:block;font-size:12px}.habit-check{position:absolute;top:11px;right:11px;font-weight:850;color:#9e5ccb}.note-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.note-card{border-radius:18px;padding:18px;min-height:160px;display:flex;flex-direction:column;gap:11px}.note-card strong{font-size:14px}.note-card p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;font-size:12px;flex:1}.note-card .item-actions{justify-content:flex-end}.note-card .icon-btn{background:#ffffff82;border:0}.goal-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:20px}.goal-top{display:flex;align-items:center;gap:13px;margin-bottom:15px}.goal-top .item-icon{font-size:25px}.goal-top strong{display:block}.goal-top small{color:var(--muted)}.goal-numbers{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0;font-size:12px;font-weight:750}.goal-actions{display:flex;gap:8px;margin-top:15px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.setting-field{display:grid;gap:7px}.setting-field label{font-size:12px;font-weight:800}.setting-field input,.setting-field select,.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid #e5dce9;border-radius:12px;background:var(--surface);color:var(--ink);padding:12px;min-width:0}.setting-field input:focus,.setting-field select:focus,.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:2px solid #dcbafb;border-color:transparent}.help-note{border-radius:16px;background:#f4eefd;color:#72528a;padding:15px;font-size:12px;line-height:1.7}.privacy-note{border-radius:16px;background:#eaf8f0;color:#4a8569;padding:15px;font-size:12px;line-height:1.7}.menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.menu-tile{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:21px 15px;display:flex;flex-direction:column;gap:15px;min-height:133px;text-align:left;box-shadow:var(--shadow)}.menu-tile:hover{transform:translateY(-2px);border-color:#ddbaf1}.menu-tile b{font-size:13px}.menu-tile small{font-size:11px;color:var(--muted);margin-top:-10px;line-height:1.5}.menu-tile .m-emoji{font-size:31px}
.bottomnav{display:none}.overlay{position:fixed;z-index:101;inset:0;background:#2b1e3977;display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(3px)}.modal{background:var(--surface);width:min(100%,510px);max-height:min(90vh,850px);overflow:auto;border-radius:25px;padding:24px;box-shadow:0 28px 70px #26122c36}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.modal-head h3{font-size:21px;letter-spacing:-.6px;margin:0}.modal-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;min-width:0}.form-field label{font-size:12px;font-weight:800;color:var(--ink)}.form-field.full{grid-column:1/-1}.form-field textarea{resize:vertical;min-height:90px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:9px}.toast{position:fixed;z-index:200;bottom:25px;right:25px;color:white;background:#453657;padding:13px 18px;border-radius:13px;box-shadow:0 9px 35px #26122c30;font-size:12px}.row-end{display:flex;gap:7px;align-items:center;justify-content:flex-end}.nice-hint{color:var(--muted);font-size:12px;margin:8px 0 16px;line-height:1.6}.divider{height:1px;background:var(--line);margin:19px 0}.section-spacer{height:10px}
body.dark{--bg:#17141e;--surface:#24202c;--surface-alt:#302a39;--ink:#f7effe;--muted:#b6aabe;--line:#37313f;--primary:#ae74df;--primary-dark:#c18ce8;--shadow:0 10px 30px rgba(0,0,0,.09)}body.dark .side-link.active{background:#41314d;color:#f4d6ff}body.dark .side-bottom{background:#392e46}body.dark .mini-pill.high{background:#4a313a}body.dark .mini-pill.today{background:#41314d}body.dark .water{background:#26394b}body.dark .water small{color:#a2c8e8}body.dark .meal-slot{background:#292431}body.dark .meal-day.today{background:#33263d}body.dark .habit-tile.done{background:#362841}body.dark .chip.active{background:#3e2c4a;border-color:#675071;color:#edc7ff}body.dark .help-note{background:#3c304c;color:#e2c5f1}body.dark .privacy-note{background:#294237;color:#b8e8cb}body.dark .check-circle:not(.checked){background:#302a39}
@media(max-width:1140px){.main-inner{padding:27px 25px 55px}.sidebar{width:219px}.meal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.sidebar{display:none}.main-inner{max-width:760px}.bottomnav{position:fixed;z-index:75;bottom:0;left:0;right:0;height:calc(var(--navh) + env(safe-area-inset-bottom));padding:8px 6px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;border-top:1px solid var(--line);background:var(--surface);box-shadow:0 -8px 25px #55426b0b}.bottom-item{border:0;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:5px 0;font-size:10px;font-weight:700}.bottom-item .b-emoji{font-size:22px}.bottom-item.active{color:var(--primary-dark)}.bottom-item.add .b-emoji{background:linear-gradient(145deg,#ad75dc,#eb91b0);color:white;width:45px;height:45px;border-radius:16px;display:grid;place-items:center;font-size:29px;box-shadow:0 5px 15px #b06ace44}.bottom-item.add{margin-top:-17px}.main-inner{padding-bottom:calc(var(--navh) + 35px)}}
@media(max-width:600px){.main-inner{padding:19px 16px calc(var(--navh) + 34px)}.topbar{margin-bottom:20px}.topbar strong{font-size:21px}.topbar .greeting{font-size:11px}.date-chip{display:none}.round-btn{width:38px;min-width:38px;height:38px}.avatar{width:39px;height:39px}.hero{min-height:208px;padding:25px 22px;border-radius:24px}.hero-content{max-width:75%}.hero h2{font-size:25px;letter-spacing:-.8px}.hero p{font-size:11px}.hero-art{right:2%;bottom:34px;font-size:73px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:15px;border-radius:17px}.stat-ic{width:39px;height:39px;margin-bottom:11px}.stat strong{font-size:20px}.stat span{font-size:10px}.two-col{grid-template-columns:1fr;gap:14px}.card{padding:17px;border-radius:18px}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.quick-card{padding:10px 4px;min-height:92px;gap:5px;border-radius:15px;font-size:10px}.quick-card .q-emoji{font-size:26px}.page-head{margin:5px 0 18px}.page-head h2{font-size:23px}.page-head p{font-size:11px}.page-head .btn{font-size:11px;padding:10px;min-height:39px}.item-card{padding:13px 11px;gap:9px}.item-icon{width:37px;height:37px;font-size:20px}.item-info strong{font-size:12px}.item-actions{gap:4px}.icon-btn{width:29px;min-width:29px;height:29px}.budget-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.budget-card{padding:14px}.budget-card strong{font-size:19px}.budget-summary .budget-card:last-child{grid-column:1/-1}.calendar{gap:3px}.day{padding:4px;min-height:54px;gap:2px;border-radius:9px}.day-no{width:24px;height:24px;font-size:11px}.weekday{font-size:10px;padding:6px 0}.dot{width:5px;height:5px}.meal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.meal-day{padding:12px}.meal-slot{min-height:70px}.habit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.note-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.note-card{padding:13px}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.menu-tile{min-height:117px;padding:15px 12px;gap:12px}.menu-tile .m-emoji{font-size:29px}.settings-grid{grid-template-columns:1fr}.modal{padding:19px;max-height:calc(100dvh - 25px);border-radius:20px}.modal-actions .btn{flex:1}.toast{bottom:calc(var(--navh) + 13px);right:13px;left:13px;text-align:center}}
@media(max-width:370px){.hero-art{font-size:54px}.hero-content{max-width:83%}.hero h2{font-size:22px}.quick-card{font-size:9px}.note-grid{grid-template-columns:1fr}.habit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* ── Le coin spirituel de Salma ───────────────────────────────────── */
.prayer-brief{width:100%;border:1px solid #efdaf6;background:linear-gradient(115deg,#fff9fc 0%,#f8eefe 58%,#e9e2ff 100%);color:#433254;box-shadow:0 12px 30px #9866c818;display:flex;align-items:center;text-align:left;gap:15px;border-radius:19px;padding:17px 22px;margin:-3px 0 20px;transition:transform .2s}.prayer-brief:hover{transform:translateY(-2px)}.prayer-orb{width:58px;height:58px;flex:none;display:grid;place-items:center;background:#ffffffaf;border-radius:19px;font-size:30px;box-shadow:0 5px 15px #dbbddb45}.prayer-brief-info{display:flex;flex-direction:column;gap:4px;flex:1}.prayer-brief-info small{font-size:11px;font-weight:650;color:#846a8d}.prayer-brief-info strong{font-size:16px;letter-spacing:-.4px}.prayer-brief-info em{font-size:12px;font-weight:750;color:#9855be;font-style:normal}.prayer-brief-arrow{font-size:28px;color:#a472bb}
.prayer-hero{position:relative;overflow:hidden;border-radius:26px;padding:28px 30px;background:radial-gradient(ellipse at 85% 10%,#8563af 0,transparent 40%),linear-gradient(120deg,#37244f,#694e88 65%,#986a9b);color:#fff;box-shadow:0 14px 35px #3c2b6040;margin-bottom:18px}.prayer-hero:before{content:'✦    ⋆     ✧       ⋆    ✦';position:absolute;top:12px;right:8px;opacity:.4;letter-spacing:17px;font-size:18px}.prayer-hero-head{display:flex;justify-content:space-between;gap:14px;position:relative}.prayer-hero h3{font-size:clamp(22px,3vw,30px);line-height:1.27;letter-spacing:-.6px;margin:16px 0 10px}.prayer-hero p{font-size:12px;color:#f1dff7;margin:7px 0}.prayer-pill{background:#ffffff27;border:1px solid #ffffff3a;padding:7px 13px;border-radius:99px;font-size:11px;font-weight:750}.prayer-moon{font-size:104px;line-height:.9;opacity:.8;text-shadow:0 4px 20px #fff7}.prayer-next-card{display:flex;flex-wrap:wrap;gap:6px 15px;align-items:center;background:#ffffff20;border:1px solid #ffffff3b;border-radius:20px;padding:20px 23px;margin-top:21px;position:relative;backdrop-filter:blur(4px)}.prayer-next-card>span{width:100%;font-size:10px;letter-spacing:1.5px;color:#f6e8fb;font-weight:800}.prayer-next-card>strong{font-size:21px;flex:1}.prayer-next-card>div{display:flex;gap:13px;align-items:center}.prayer-next-card b{font-size:28px}.prayer-next-card div span{border-radius:99px;background:#ffffff2d;padding:9px 12px;font-weight:750;font-size:12px;white-space:nowrap}
.prayer-panels{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:16px;align-items:start}.prayer-times-card,.prayer-settings-card{min-width:0}.prayer-time-row{display:flex;align-items:center;gap:13px;padding:15px 12px;border-bottom:1px solid var(--line);border-radius:11px}.prayer-time-row:last-of-type{border-bottom:none}.prayer-next{background:linear-gradient(100deg,#f5e9ff,#fff0f5);border-color:transparent}.prayer-time-icon{font-size:25px;width:40px;height:43px;border-radius:15px;background:var(--surface-alt);display:grid;place-items:center}.prayer-time-name{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}.prayer-time-name b{font-size:14px}.prayer-time-name span{font-size:11px;color:var(--muted)}.prayer-time-hour{font-weight:850;font-size:19px;font-variant-numeric:tabular-nums}.prayer-times-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.prayer-offline{display:flex;align-items:center;text-align:center;flex-direction:column;gap:12px;padding:32px 10px}.prayer-offline span{font-size:38px}.prayer-offline small{line-height:1.6;color:var(--muted)}.prayer-config{margin-top:18px;display:grid;gap:15px}.prayer-config .btn,.prayer-settings-card>.btn{width:100%}.prayer-notify-state{font-weight:700;font-size:12px;background:var(--surface-alt);padding:11px 13px;border-radius:12px;margin-bottom:11px}.prayer-config .setting-field{gap:7px}.prayer-fieldset{margin:0;min-width:0;border:1px solid var(--line);border-radius:15px;padding:12px}.prayer-fieldset legend{font-weight:800;font-size:12px;padding:0 5px}.prayer-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.prayer-checks label,.checkline{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:650}.prayer-fieldset .checkline+.checkline{margin-top:13px}.prayer-fieldset input{accent-color:var(--primary);width:16px;height:16px;flex:none}.prayer-warning{font-size:11px;color:var(--muted);line-height:1.6;margin:15px 0 11px}
.duaa-toolbar{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 11px;margin-bottom:11px;scrollbar-width:thin}.duaa-chip{flex:none;padding:9px 12px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-weight:750;font-size:11px}.duaa-chip.active{background:#6f4b87;color:white;border-color:#6f4b87}.duaa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;align-items:start}.duaa-card{min-width:0;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:19px;padding:21px;display:flex;flex-direction:column;gap:15px}.duaa-top{display:flex;justify-content:space-between;gap:8px;align-items:start}.duaa-source{font-size:10px;font-weight:750;color:#a175b7}.duaa-top h4{margin:7px 0 0;font-size:14px;line-height:1.45}.duaa-fav{flex:none;background:var(--surface-alt);border:1px solid var(--line);border-radius:12px;padding:8px 10px;font-size:18px}.duaa-fav.is-fav{background:#ffebf1}.duaa-arabic{font-size:24px;line-height:2.1;letter-spacing:.1px;margin:0;font-family:"Noto Naskh Arabic","Noto Sans Arabic","Traditional Arabic",serif;text-wrap:pretty;overflow-wrap:anywhere}.duaa-translation{font-size:11px;line-height:1.8;color:var(--muted);margin:0;flex:1}.duaa-read{border:none;border-radius:12px;background:#f4edfc;color:#8855ac;padding:11px;font-size:11px;font-weight:800;text-align:center}.duaa-read.was-read{background:#e8f7ee;color:#398460}.dua-add-row{display:flex;justify-content:center;margin:17px 0 23px}
.tasbih-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.tasbih-card{display:flex;align-items:center;flex-direction:column;gap:11px;text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:19px;padding:22px 14px;box-shadow:var(--shadow)}.tasbih-card>span{font-size:26px;font-family:"Noto Naskh Arabic","Traditional Arabic",serif}.tasbih-card small{color:var(--muted);font-size:11px}.tasbih-card strong{font-size:33px;font-variant-numeric:tabular-nums}.tasbih-card strong em{font-size:13px;font-style:normal;color:var(--muted)}.tasbih-card .progress-track{width:100%;height:7px}.tasbih-card .btn{width:100%;margin-top:5px}.tasbih-reset{display:flex;justify-content:flex-end;margin:14px 0 23px}
body.dark .prayer-brief{background:linear-gradient(115deg,#42314e,#45334e);border-color:#574067;color:#f8e5ff}body.dark .prayer-brief-info small{color:#e1c8e7}body.dark .prayer-brief-info em{color:#e3b3f7}body.dark .prayer-orb{background:#ffffff18}body.dark .prayer-next{background:#3e2c4c}body.dark .duaa-chip.active{background:#b18ad4;border-color:#b18ad4;color:#1d1825}body.dark .duaa-read{background:#3d2f4b;color:#d5b0ed}body.dark .duaa-read.was-read{background:#274036;color:#b0eac7}
@media(max-width:1050px){.prayer-panels{grid-template-columns:1fr}}
@media(max-width:600px){.prayer-brief{gap:11px;padding:12px 13px;margin:0 0 16px}.prayer-orb{width:45px;height:45px;border-radius:14px;font-size:24px}.prayer-brief-info strong{font-size:13px}.prayer-brief-info small{font-size:10px}.prayer-brief-info em{font-size:11px}.prayer-hero{padding:23px 20px;border-radius:21px}.prayer-hero h3{font-size:23px}.prayer-moon{font-size:75px}.prayer-next-card{margin-top:19px;padding:16px}.prayer-next-card>strong{font-size:19px}.prayer-next-card b{font-size:25px}.prayer-next-card>div{gap:7px}.prayer-next-card div span{padding:8px;font-size:10px}.prayer-time-row{padding:12px 8px}.prayer-time-hour{font-size:18px}.duaa-grid{grid-template-columns:1fr}.duaa-card{padding:19px}.duaa-arabic{font-size:23px}.tasbih-grid{gap:7px}.tasbih-card{padding:15px 7px}.tasbih-card>span{font-size:18px}.tasbih-card strong{font-size:25px}.tasbih-card .btn{font-size:11px;padding:10px 5px}.tasbih-card small{font-size:9px}}

/* ── 🌺 Mon cycle : calendrier intime ───────────────────────────────── */
.cycle-home-entry{display:flex;align-items:center;gap:13px;background:linear-gradient(110deg,#fff1f6,#f6efff);border:1px solid #f3dce9;padding:15px 19px;border-radius:19px;margin:0 0 18px;box-shadow:var(--shadow)}
.cycle-entry-icon{height:48px;width:48px;border-radius:17px;background:#ffe1eb;display:grid;place-items:center;font-size:25px;flex:none}
.cycle-home-entry>div{display:grid;gap:5px;flex:1;min-width:0}.cycle-home-entry b{font-size:14px}.cycle-home-entry small{font-size:11px;color:#916f8c}.cycle-home-entry .btn{white-space:nowrap}
.cycle-hero{min-height:172px;display:flex;justify-content:space-between;align-items:center;gap:8px;border-radius:26px;padding:25px 31px;margin-bottom:18px;background:linear-gradient(110deg,#ffdbeb 0%,#f7dbee 47%,#e4d4fb 100%);color:#61335d;overflow:hidden;position:relative}
.cycle-hero>div{position:relative;z-index:1}.cycle-hero-tag{display:inline-flex;background:#ffffff9c;color:#9c568b;border-radius:30px;font-size:10px;font-weight:850;letter-spacing:.3px;padding:7px 11px}.cycle-hero h3{font-size:25px;line-height:1.22;margin:14px 0 8px;letter-spacing:-.7px}.cycle-hero p{font-size:12px;line-height:1.5;max-width:370px;margin:0}.cycle-hero-art{font-size:90px;margin-right:15px;filter:drop-shadow(0 12px 19px #a7529e25);transform:rotate(-13deg)}
.cycle-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 20px}.cycle-stat{background:var(--surface);border:1px solid var(--line);border-radius:19px;padding:17px;display:flex;flex-direction:column;gap:7px;box-shadow:var(--shadow)}.cycle-stat>span{font-size:11px;font-weight:750;color:var(--muted)}.cycle-stat strong{font-size:21px;letter-spacing:-.5px;overflow-wrap:anywhere}.cycle-stat small{font-size:10px;color:var(--muted);line-height:1.45}
.cycle-two-col{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,1fr);gap:16px;align-items:start}.cycle-aside{display:flex;flex-direction:column;gap:16px}.cycle-calendar-card{padding:19px}.cycle-calendar-card .calendar-toolbar{gap:10px;flex-wrap:wrap}.cycle-calendar-card .calendar-toolbar h3{font-size:17px}.cycle-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cycle-calendar .weekday{padding:6px 0 10px}.cycle-day{border:1px solid transparent;background:var(--surface-alt);border-radius:12px;aspect-ratio:1;min-height:42px;display:flex;align-items:center;justify-content:center;position:relative;color:var(--ink);font-weight:800;font-size:12px;transition:transform .1s,border-color .1s}
.cycle-day.other{opacity:.4}.cycle-day.is-today:after{content:'';position:absolute;width:4px;height:4px;background:#b14c9a;border-radius:50%;top:4px;right:5px}.cycle-day.is-selected{outline:2px solid #a157d7;outline-offset:1px}.cycle-day:hover{transform:scale(1.04);border-color:#d79abe}.cycle-day.cycle-period{background:#f38fb8;color:#5a1c45}.cycle-day.cycle-predicted{background:#ffe7f0;border:1px dashed #eaa2be;color:#884c6d}.cycle-day.cycle-fertile{background:#def3e9;border-color:#bbdfd0;color:#285e52}.cycle-day.cycle-ovulation{background:#b78fe3;color:white}.cycle-day i{position:absolute;font-size:11px;bottom:1px;right:5px;font-style:normal;color:#8346ad}
.cycle-legend{display:flex;flex-wrap:wrap;align-items:center;gap:11px 14px;margin-top:16px;font-size:10px;color:var(--muted);font-weight:700}.cycle-legend span{display:inline-flex;gap:5px;align-items:center}.cycle-legend i{display:block;width:10px;height:10px;border-radius:3px}.lg-period{background:#f38fb8}.lg-predicted{background:#ffe7f0;border:1px dashed #eaa2be}.lg-fertile{background:#def3e9;border:1px solid #bbdfd0}.lg-ovulation{background:#b78fe3}
.cycle-journal h3,.cycle-privacy h3{font-size:17px;margin-bottom:15px}.cycle-day-head{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}.cycle-day-head>div{min-width:0}.cycle-day-head b{font-size:13px;text-transform:capitalize}.cycle-day-head p{margin:6px 0 13px;font-size:11px;line-height:1.5;color:var(--muted)}.cycle-day-head .btn{flex:none}.cycle-day-notes{display:flex;gap:6px;flex-wrap:wrap;padding-top:6px}.cycle-day-notes p{width:100%;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6}.cycle-note-chip{background:var(--surface-alt);border-radius:20px;padding:6px 9px;font-size:10px}.cycle-day-notes .text-link{margin-top:7px}.cycle-action-stack{display:grid;grid-template-columns:1fr;gap:9px;margin-top:15px}.cycle-privacy{background:#fdf8fc;border:1px solid #f4e5f3}.cycle-privacy p{font-size:11px;line-height:1.7;color:var(--muted);margin:0}
.cycle-history{padding:10px 19px}.cycle-history-row{display:flex;align-items:center;gap:13px;padding:14px 3px;border-bottom:1px solid var(--line)}.cycle-history-row:last-child{border-bottom:0}.cycle-history-emoji{height:38px;width:38px;display:grid;place-items:center;font-size:21px;background:var(--surface-alt);border-radius:12px}.cycle-history-row>div:nth-child(2){flex:1;min-width:0}.cycle-history-row b{display:block;font-size:13px}.cycle-history-row small{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:4px}.cycle-history-actions{display:flex;gap:6px}
.cycle-settings .settings-grid{margin-bottom:16px}.cycle-settings-actions{display:flex;flex-wrap:wrap;gap:9px}.cycle-settings-actions .btn{min-width:180px}.cycle-settings .nice-hint{line-height:1.7;margin:14px 0 0}.cycle-auto{align-self:center;font-size:12px;line-height:1.5}.cycle-auto input{accent-color:var(--primary);width:18px;height:18px;flex:none}.cycle-symptoms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;border:1px solid var(--line);border-radius:14px;padding:15px;margin:18px 0}.cycle-symptoms legend{font-weight:800;font-size:12px;padding:0 6px}.cycle-symptoms label{font-size:12px;display:flex;align-items:center;gap:6px;line-height:1.4}.cycle-symptoms input{accent-color:var(--primary);width:16px;height:16px;flex:none}
.cycle-disclaimer{padding:16px 19px;background:var(--surface);border:1px solid var(--line);border-radius:17px;color:var(--muted);font-size:11px;line-height:1.75;margin-top:22px}.cycle-disclaimer strong{color:var(--ink)}.cycle-danger{margin-top:15px;display:flex;justify-content:flex-end}
body.dark .cycle-home-entry{background:linear-gradient(110deg,#412c40,#3a2f4b);border-color:#65415b}body.dark .cycle-home-entry small{color:#dfbed7}body.dark .cycle-entry-icon{background:#5b3e58}body.dark .cycle-hero{background:linear-gradient(120deg,#673e5d,#4a3d68);color:#fff0fa}body.dark .cycle-hero-tag{background:#ffffff20;color:#ffe1f2}body.dark .cycle-day.cycle-period{background:#a85c84;color:#fff}body.dark .cycle-day.cycle-predicted{background:#56384e;color:#fbc6df}body.dark .cycle-day.cycle-fertile{background:#335549;color:#ccefdc}body.dark .cycle-day.cycle-ovulation{background:#8356a6;color:#fff}body.dark .cycle-privacy{background:#302638;border-color:#49324b}
@media(max-width:1080px){.cycle-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cycle-two-col{grid-template-columns:1fr}.cycle-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cycle-home-entry{padding:11px 12px;gap:10px}.cycle-entry-icon{width:41px;height:41px;font-size:21px}.cycle-home-entry small{font-size:10px}.cycle-home-entry .btn{font-size:10px;padding:9px 11px;min-height:36px}.cycle-hero{padding:22px 18px;min-height:164px;border-radius:21px}.cycle-hero h3{font-size:21px}.cycle-hero p{font-size:10px;max-width:235px}.cycle-hero-art{font-size:66px;margin-right:-10px;opacity:.9}.cycle-stat{padding:13px;min-height:92px;gap:7px}.cycle-stat>span{font-size:10px}.cycle-stat strong{font-size:18px}.cycle-stat small{font-size:10px}.cycle-calendar-card{padding:12px}.cycle-calendar{gap:4px}.cycle-day{border-radius:9px;min-height:36px;font-size:11px}.cycle-aside{display:flex}.cycle-settings-actions .btn{width:100%}.cycle-symptoms{gap:10px;padding:12px}.cycle-symptoms label{font-size:11px}}
@media(max-width:365px){.cycle-day{min-height:31px}.cycle-calendar{gap:3px}.cycle-hero-art{font-size:51px}}


/* ── 📦 Achats, consommations et stock ──────────────────────────────────── */
.products-shopping-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;margin:15px 0 17px;border:1px solid #e8dcfa;border-radius:17px;background:linear-gradient(100deg,#f4ebff,#fff2f8)}
.products-shopping-link>div{display:flex;flex-direction:column;gap:4px}.products-shopping-link strong{font-size:13px}.products-shopping-link small{font-size:11px;color:#7e708f}.products-shopping-link .btn{white-space:nowrap}
.products-hero{display:flex;align-items:center;justify-content:space-between;overflow:hidden;min-height:150px;padding:22px 26px;border-radius:23px;color:#5b3c7f;background:linear-gradient(112deg,#eedcff,#f9def0 60%,#ffe9d8);margin-bottom:15px}
.products-hero>div:first-child{position:relative;z-index:1}.products-hero span{font-size:10px;letter-spacing:1px;font-weight:900}.products-hero h3{font-size:23px;margin:10px 0 7px;line-height:1.2}.products-hero p{font-size:12px;margin:0;line-height:1.5;max-width:460px}.products-hero-graphic{font-size:80px;transform:rotate(-12deg);filter:drop-shadow(0 12px 15px #9a65a830)}
.products-actions,.product-range{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:14px 0}.products-actions .btn{min-height:41px}.product-range{margin:20px 0 13px}
.product-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:15px}.product-metric{border:1px solid var(--line);background:var(--surface);padding:16px;border-radius:18px;display:flex;flex-direction:column;gap:7px;box-shadow:var(--shadow)}.product-metric span{font-size:11px;font-weight:800;color:var(--muted)}.product-metric strong{font-size:20px;letter-spacing:-.5px;overflow-wrap:anywhere}.product-metric small{font-size:10px;color:var(--muted);line-height:1.4}
.products-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.product-panel{margin-bottom:16px}.product-panel .card-head{gap:10px}.product-panel .card-head h3{font-size:17px}.product-panel>.muted{margin:7px 0 17px}
.product-ranking{display:flex;flex-direction:column;gap:14px;margin-top:18px}.product-rank-row{display:flex;align-items:center;gap:11px;min-width:0}.product-rank-icon{width:39px;height:39px;border-radius:13px;display:grid;place-items:center;background:var(--surface-alt);font-size:21px;flex:none}.product-rank-info{flex:1;min-width:0}.product-rank-top{display:flex;gap:5px;align-items:start;justify-content:space-between}.product-rank-top strong{font-size:12px;overflow-wrap:anywhere;min-width:0}.product-rank-top b{font-size:11px;white-space:nowrap}.product-track{height:8px;border-radius:50px;background:var(--surface-alt);margin:8px 0 5px;overflow:hidden}.product-fill{height:100%;background:linear-gradient(90deg,#ad71d8,#e292bf);border-radius:50px}.product-fill.consumed{background:linear-gradient(90deg,#f39c87,#f3ce88)}.product-rank-info small{font-size:10px;color:var(--muted)}.products-no-data{min-height:180px;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;gap:10px;color:var(--muted);font-size:27px}.products-no-data strong{font-size:13px;color:var(--ink)}.products-no-data span{font-size:11px}
.product-stock-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stock-card{border:1px solid var(--line);border-radius:17px;background:var(--surface-alt);padding:14px;display:flex;flex-direction:column;gap:9px;min-width:0}.stock-emoji{font-size:24px}.stock-title strong{display:block;font-size:13px;overflow-wrap:anywhere}.stock-title small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.stock-count{font-weight:850;font-size:15px;color:#7f53ac}.stock-count.stock-low{color:#c46b85}.stock-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.stock-buttons .btn{font-size:10px;padding:8px 9px;min-height:32px}
body.dark .products-shopping-link{background:linear-gradient(100deg,#41334f,#493141);border-color:#5c4370}body.dark .products-shopping-link small{color:#d4c4dc}body.dark .products-hero{background:linear-gradient(105deg,#53416c,#684258);color:#fff0fb}
@media(max-width:1080px){.product-stock-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.products-two{grid-template-columns:1fr}.products-hero{padding:20px;border-radius:20px}.products-hero h3{font-size:20px}.products-hero-graphic{font-size:53px}.product-stock-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-metric{padding:12px}.product-metric strong{font-size:17px}.product-metric span{font-size:10px}.products-actions .btn{flex:1;min-width:150px}}
@media(max-width:430px){.product-metrics{gap:7px}.product-metric{padding:10px;gap:5px}.product-metric span{font-size:9px}.product-metric strong{font-size:15px}.product-metric small{font-size:9px}.product-stock-grid{grid-template-columns:1fr 1fr;gap:8px}.stock-card{padding:11px}.stock-buttons .btn{width:100%}.products-hero p{max-width:220px}.products-shopping-link{padding:12px;gap:8px}.products-shopping-link strong{font-size:12px}.products-shopping-link small{font-size:10px}.products-shopping-link .btn{padding:8px;font-size:10px}}


/* Mise à jour Selma Life : cartes accessibles, comptes séparés, courses rapides */
.stat-click{appearance:none;text-align:left;color:var(--ink);width:100%;font:inherit;transition:transform .18s,box-shadow .18s,border-color .18s;touch-action:manipulation}
.stat-click:hover,.stat-click:focus-visible{transform:translateY(-3px);border-color:#d5a6ed;box-shadow:0 14px 28px #9b6ac51c}
.stat-click:active{transform:scale(.97)}.stat-click em{display:block;margin-top:11px;font-style:normal;color:var(--primary-dark);font-size:10px;font-weight:750}
.page-head{flex-wrap:wrap;min-width:0}.page-head>div{min-width:0;flex:1 1 190px}.page-head .btn{flex:0 1 auto;white-space:normal;text-align:center;max-width:100%}
.main,.main-inner,.card,.item-info{min-width:0}.finance-row{gap:8px}.finance-amount{font-size:12px;white-space:nowrap;max-width:35%;overflow:hidden;text-overflow:ellipsis}.finance-amount.positive{color:#3a9b72}
.account-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 17px}.account-tab{background:var(--surface);color:var(--muted);border:1px solid var(--line);padding:13px 18px;border-radius:14px;min-height:50px;font-weight:800;display:flex;gap:9px;align-items:center}.account-tab>span{font-size:20px}.account-tab.selected{color:var(--primary-dark);border-color:#c99de9;background:#f5eafb;box-shadow:0 5px 16px #b881d726}.account-balance{padding:22px 25px;display:flex;gap:12px;align-items:center;justify-content:space-between;background:linear-gradient(117deg,#8e62cc,#d58abb 72%,#edb2ba);color:white;border-radius:24px;box-shadow:0 14px 30px #a976c12b;margin:0 0 16px}.account-balance>div{min-width:0}.account-balance small{font-weight:850;letter-spacing:1px;font-size:11px;display:block;opacity:.9}.account-balance strong{font-size:clamp(25px,4.5vw,35px);display:block;margin:10px 0 7px;overflow-wrap:anywhere}.account-balance span{display:block;font-size:11px;line-height:1.5;opacity:.92}.account-balance-emoji{font-size:65px;opacity:.85;flex:none}.budget-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.budget-actions .btn{max-width:100%;white-space:normal}.budget-panels{margin-bottom:10px}.monthly-amount{font-size:23px;font-weight:850;margin:16px 0}.monthly-amount small{display:block;margin-top:7px;color:var(--muted);font-size:12px;font-weight:600}.account-limit-form{margin-top:18px;border-top:1px solid var(--line);padding-top:15px}.account-limit-form label{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:8px}.account-limit-form>div{display:flex;gap:8px;flex-wrap:wrap}.account-limit-form input{width:150px;max-width:100%;padding:11px;border:1px solid var(--line);background:var(--surface-alt);color:var(--ink);border-radius:12px}.finance-help{border:1px solid var(--line);background:var(--surface-alt);border-radius:15px;padding:13px 15px;font-size:12px;color:var(--muted);line-height:1.6;margin:0 0 17px}
.form-field[hidden]{display:none!important}
.shop-hero{border-radius:23px;background:linear-gradient(110deg,#e9dcff,#ffe3ef);color:#644778;min-height:160px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:10px;overflow:hidden}.shop-kicker{font-size:10px;letter-spacing:1.5px;font-weight:850}.shop-hero h3{font-size:clamp(20px,3.5vw,26px);line-height:1.2;margin:12px 0 9px}.shop-hero p{font-size:12px;margin:0;color:#896d93}.shop-hero-graphic{font-size:65px;flex:none;filter:drop-shadow(0 8px 12px #b89cb840)}
.shop-add{display:flex;gap:9px;align-items:stretch;background:var(--surface);border:1px solid var(--line);border-radius:19px;padding:11px;margin:15px 0 16px;box-shadow:var(--shadow)}.shop-input-wrap{display:flex;gap:8px;align-items:center;flex:1;min-width:0;padding:0 8px}.shop-input-wrap>span{font-size:20px}.shop-input-wrap input{min-width:0;width:100%;border:0;outline:none;background:transparent;color:var(--ink);font-size:14px;padding:10px 0}.shop-add select{width:190px;min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--surface-alt);color:var(--ink);padding:10px 7px;max-width:100%}.shop-add .btn{min-width:120px;white-space:nowrap}
.shop-progress{border:1px solid var(--line);border-radius:17px;padding:17px;background:var(--surface);margin-bottom:19px}.shop-progress>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:13px}.shop-progress strong{font-size:13px}.shop-progress span{font-size:12px;color:var(--muted)}.shop-favorites{margin-bottom:19px}.shop-favorite-list{display:flex;gap:8px;overflow-x:auto;padding:0 0 8px}.shop-favorite{border:1px solid #e6d5f7;background:var(--surface);border-radius:99px;padding:10px 14px;color:var(--ink);white-space:nowrap;font-weight:700;font-size:12px}.shop-tools{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.shop-tools .filters{margin-bottom:9px}.shop-groups{display:grid;gap:16px}.shop-group{border:1px solid var(--line);border-radius:19px;background:var(--surface);overflow:hidden}.shop-group-head{display:flex;align-items:center;gap:10px;padding:15px 17px;background:var(--surface-alt);border-bottom:1px solid var(--line)}.shop-group-head>span{font-size:21px}.shop-group-head strong{font-size:13px}.shop-group-head small{margin-left:auto;color:var(--muted);font-size:11px}.shop-line{display:flex;align-items:center;gap:12px;padding:13px 15px;min-height:61px;border-bottom:1px solid var(--line)}.shop-line:last-child{border-bottom:0}.shop-check{border:2px solid #cdb6d9;flex:none;background:var(--surface);border-radius:50%;width:30px;height:30px;color:white;font-weight:850}.shop-check.is-done{border-color:#ac75d6;background:#ac75d6}.shop-line-text{flex:1;min-width:0}.shop-line-text strong{font-size:14px;overflow-wrap:anywhere}.shop-line-text small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.shop-line.done strong{text-decoration:line-through;color:var(--muted)}.shop-line-actions{flex:none}.shop-line-actions .item-actions{gap:4px}.shop-line-actions .icon-btn{background:transparent}
body.dark .account-tab.selected{background:#443355;color:#efccff;border-color:#70508a}body.dark .shop-hero{background:linear-gradient(115deg,#503d68,#654058);color:#fff1ff}body.dark .shop-hero p{color:#e7cce6}body.dark .shop-favorite{border-color:#5d4771}
@media(max-width:700px){.page-head{align-items:flex-start}.page-head h2{font-size:24px}.page-head .btn{flex:none}.finance-row .item-icon{width:34px;height:34px;font-size:18px}.finance-row .item-actions{gap:2px}.finance-row .icon-btn{width:27px;min-width:27px}.budget-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-summary .budget-card:last-child{grid-column:1 / -1}.budget-card{padding:13px}.budget-card strong{font-size:18px}.shop-add{display:grid;grid-template-columns:1fr auto}.shop-input-wrap{grid-column:1/-1;min-height:40px}.shop-add select{width:100%}.shop-add .btn{min-width:100px}.shop-hero{padding:19px}.shop-hero-graphic{font-size:49px}}
@media(max-width:430px){.page-head{flex-direction:column;gap:12px}.page-head>div{flex:auto;width:100%}.page-head .btn{width:100%;justify-content:center}.stat-click{padding:13px}.stat-click em{font-size:9px}.account-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.account-tab{padding:11px 9px;justify-content:center;font-size:12px}.account-balance{padding:19px}.account-balance-emoji{font-size:48px}.budget-actions .btn{flex:1 1 100%}.shop-hero h3{font-size:20px}.shop-hero-graphic{font-size:42px}.shop-add{padding:9px;gap:7px}.shop-add .btn{min-width:92px;padding:10px 12px}.shop-line{padding:10px;gap:9px}.shop-line-actions .icon-btn{width:27px;min-width:27px}}

.home-account{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}.home-account strong{font-size:15px;white-space:nowrap}.home-account span{font-weight:700}.home-account+.btn{margin-top:15px;width:100%}
