.account{max-width:860px}
.account [hidden]{display:none!important}
.account h2{margin:36px 0 10px;color:var(--navy)}
.account .lead{font-size:18px;color:#4a5568}
.account .note{font-size:14px;color:#5b6475}
.account .note a{color:#0c7778;text-decoration:underline}
.account .who{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px;color:#4a5568}
.account .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.account .stats .card{display:grid;gap:4px;padding:18px}
.account .stats .label{color:#5b6475;font-size:14px}
.account .stats b{font-size:28px;color:var(--navy)}
.account .form-msg{margin:0;font-size:14px;color:#195c61}
.account .form-msg.err{color:#8a1f1f}
.account .form-actions{display:flex;gap:10px;flex-wrap:wrap}
.account .entries{display:grid;gap:10px}
.account .entry{display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center;border:1px solid #e3eaea;border-radius:18px;padding:14px 18px;background:white}
.account .entry b{color:var(--navy)}
.account .entry .meta{color:#5b6475;font-size:14px}
.account .entry .amount{font-weight:800;color:#0c7778;text-align:right}
.account .entry .actions{grid-column:1/-1;display:flex;gap:14px;flex-wrap:wrap;font-size:14px}
.account .entry .actions button,.account .entry .actions a{background:none;border:0;padding:0;font:inherit;color:#0c7778;text-decoration:underline;cursor:pointer}
.account .badge{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800;background:#eef2f6;color:#334155}
.account .badge.pagata{background:#e7fbf7;color:#195c61}
.account .badge.completata{background:#eaf3ff;color:#1e4f9b}
.account .badge.non_riuscita{background:#fdecec;color:#8a1f1f}
.account .available{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.account .avail{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #e3eaea;border-radius:18px;padding:12px 16px;background:white}
.account .avail a{color:#0c7778;font-weight:700}
.account .danger{margin-top:40px;color:#4a5568}
.account .danger summary{cursor:pointer}
@media(max-width:860px){.account .stats{grid-template-columns:1fr}.account .available{grid-template-columns:1fr}}

.account .months{display:grid;gap:8px}
.account .month{display:grid;grid-template-columns:110px 1fr 90px;gap:10px;align-items:center;font-size:14px}
.account .month .bar{height:10px;border-radius:999px;background:#e6f4f3;overflow:hidden}
.account .month .bar i{display:block;height:100%;background:var(--cyan);border-radius:999px}
.account .month b{text-align:right;color:var(--navy)}
.account .stale{font-size:13px;color:#8a5a12;background:#fff8e6;border-radius:10px;padding:4px 10px;margin-top:6px;display:inline-block}

.account .ref-box{display:grid;gap:12px}
.account .ref-link{display:flex;gap:10px;flex-wrap:wrap}
.account .ref-link input{flex:1;min-width:220px;font:inherit;border:1px solid #d8e2e5;border-radius:12px;padding:10px 12px;background:#f7fbfb;color:var(--ink)}
.account .ref-share{display:flex;gap:10px;flex-wrap:wrap}
.account .ref-stats{margin:4px 0}
.account .ref-level{margin:0;color:#195c61}
.account .ref-friends{display:grid;gap:6px;font-size:14px}
.account .ref-friend{display:flex;justify-content:space-between;gap:10px;border:1px solid #e3eaea;border-radius:12px;padding:8px 12px;background:white}
.account .community{display:grid;gap:10px;justify-items:start}
.account .community p{margin:0}
.invite-steps{padding-left:20px}
.invite-steps li{margin-bottom:8px}
.invite-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}

.account .review-form{grid-column:1/-1;display:grid;gap:8px;margin-top:8px}
.account .review-form select,.account .review-form textarea{font:inherit;border:1px solid #d8e2e5;border-radius:10px;padding:8px 10px;max-width:100%}
.account .review-state{font-size:13px;color:#195c61}
.account .ref-sub{margin:6px 0 0;font-size:16px;color:var(--navy)}
.account .lb-box{display:grid;gap:12px;justify-items:start}.account .lb-box p{margin:0}.account .lb-status{color:#195c61;line-height:1.6}.account .lb-box .lead-form{width:100%;max-width:420px}
.my-cal-list{list-style:none;padding:0;margin:4px 0 14px;display:grid;gap:6px}.my-cal-list a{color:#0c7778;font-weight:600}

/* Salvadanaio */
.piggy{display:grid;gap:12px}
.piggy-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.piggy-stats div{background:#f4f8f8;border-radius:14px;padding:12px;display:grid;gap:2px}
.piggy-stats span{font-size:13px;color:#5b6475}
.piggy-stats b{font-size:22px;color:var(--navy)}
.piggy-stats small{font-size:12px;color:#5b6475}
.piggy-bar{height:14px;border-radius:999px;background:#e6eeee;overflow:hidden}
.piggy-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#0c7778,#6FFFE9);border-radius:999px;transition:width .4s}
.piggy h3{margin:8px 0 0;color:var(--navy);font-size:18px}
.piggy-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.piggy-form label{display:grid;gap:4px;font-size:14px;font-weight:600}
.piggy-form input,.piggy-job-form input{font:inherit;padding:10px 12px;border:1px solid #d8e2e5;border-radius:10px}
.piggy-form .btn,.piggy-form .form-msg{grid-column:1/-1}
.piggy-map{display:grid;gap:14px}
.piggy-map a{color:#0c7778;font-weight:700}
.pg-sec{display:grid;gap:6px}
.pg-sec h4{display:flex;align-items:center;gap:8px;margin:4px 0 0;color:var(--navy);font-size:16px}
.pg-num{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#0c7778;color:#fff;font-style:normal;font-size:13px;font-weight:700}
.pg-sec .note{margin:0}
.pg-sec ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.pg-sec li{display:grid;gap:3px;background:#fff;border:1px solid #e3eaea;border-left:4px solid #e3eaea;border-radius:10px;padding:8px 12px;line-height:1.4}
.pg-sec li.plan{border-left-color:#0c7778}
.pg-sec li.note{border:0;background:none;padding:0}
.pg-sec small{color:#5b6475;font-size:13px}
.pg-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-weight:600;color:var(--navy)}
.pg-badge{font-size:12px;font-weight:700;border-radius:999px;padding:2px 9px}
.pg-badge.todo{background:#fff4e0;color:#8a5a00}
.pg-badge.doing{background:#e6f0ff;color:#1d4ed8}
.pg-badge.retry{background:#fdecea;color:#b42318}
.pg-badge.ok{background:#e3f7f0;color:#0b6b4f}
.pg-todo{color:#0c7778;font-size:14px}
.pg-step{font-size:13px;color:#5b6475}
.pg-sec li.plan .pg-step{color:#0c7778;font-weight:600}
.pg-start{justify-self:start;padding:5px 12px;font-size:13px;margin-top:2px}
.pg-err{color:#b42318}
.piggy-map .pg-gap,.piggy-map .pg-ok{margin:0;font-size:14px;border-radius:10px;padding:10px 12px}
.piggy-map .pg-gap{background:#fff8eb;color:#8a5a00}
.piggy-map .pg-ok{background:#ecf9f6;color:#0b6b4f}
.piggy-how{list-style:none;counter-reset:how;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.piggy-how li{counter-increment:how;display:grid;grid-template-columns:auto 1fr;gap:0 8px;background:#f4f8f8;border-radius:12px;padding:10px 12px;font-size:13px;color:#5b6475}
.piggy-how li::before{content:counter(how);grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#0c7778;color:#fff;font-weight:700;font-size:13px}
.piggy-how b{color:var(--navy);font-size:14px}
@media(max-width:640px){.piggy-how{grid-template-columns:1fr}}
.piggy-jobs{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.piggy-jobs li{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;background:#fbfdfd;border:1px solid #e3eaea;border-radius:12px;padding:8px 12px}
.piggy-jobs li.note{display:block}
.piggy-jobs li.done span{text-decoration:line-through;color:#5b6475}
.piggy-jobs .linkbtn{background:none;border:0;color:#b42318;font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}
.piggy-job-form{display:grid;grid-template-columns:1fr 110px auto;gap:8px}
@media(max-width:640px){.piggy-stats{grid-template-columns:1fr 1fr}.piggy-form{grid-template-columns:1fr}.piggy-job-form{grid-template-columns:1fr 90px}.piggy-job-form .btn{grid-column:1/-1}}

.piggy-invites{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.piggy-invites li{display:grid;grid-template-columns:1fr auto 80px auto;gap:10px;align-items:center;background:#fbfdfd;border:1px solid #e3eaea;border-radius:12px;padding:8px 12px}
.piggy-invites li.note{display:block}
.piggy-invites a{color:#0c7778;font-weight:700}
.piggy-invites small{color:#5b6475;font-size:13px}
.piggy-invites input{font:inherit;padding:6px 8px;border:1px solid #d8e2e5;border-radius:8px;width:100%}
@media(max-width:640px){.piggy-invites li{grid-template-columns:1fr 70px auto}.piggy-invites small{grid-column:1/-1;grid-row:2}}
.piggy-goals{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.piggy-goals li{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;background:#fbfdfd;border:1px solid #e3eaea;border-radius:12px;padding:10px 12px}
.piggy-goals li.sel{border-color:#0c7778;box-shadow:0 0 0 1px #0c7778 inset}
.piggy-goals li.note{display:block}
.piggy-goals li div{display:grid;gap:4px;min-width:0}
.piggy-goals li b{color:var(--navy);overflow-wrap:anywhere}
.piggy-goals small{color:#5b6475;font-size:13px}
.piggy-goals .btn{padding:6px 14px;font-size:14px}
.piggy-goals .linkbtn{background:none;border:0;color:#b42318;font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}
.piggy-bar.mini{height:6px}
.piggy-goal-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px;align-items:end}
.piggy-goal-form label{display:grid;gap:4px;font-size:14px;font-weight:600}
.piggy-goal-form input{font:inherit;padding:10px 12px;border:1px solid #d8e2e5;border-radius:10px}
.piggy-goal-form .form-msg{grid-column:1/-1}
.piggy-map-open{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;text-align:left;width:100%;font:inherit;cursor:pointer;background:linear-gradient(135deg,#f4f8f8,#e3f7f5);border:1px solid #cfe5e3;border-radius:14px;padding:14px 16px;transition:border-color .2s,box-shadow .2s}
.piggy-map-open:hover,.piggy-map-open[aria-expanded=true]{border-color:#0c7778;box-shadow:0 4px 14px rgba(12,119,120,.12)}
.piggy-map-open span{grid-row:1/3;font-size:28px}
.piggy-map-open b{color:var(--navy);font-size:17px}
.piggy-map-open small{color:#5b6475;font-size:13px}
.piggy-map-pick{display:grid;gap:8px}
.piggy-map-choices{display:flex;flex-wrap:wrap;gap:8px}
.piggy-map-choice{display:grid;gap:2px;text-align:left;font:inherit;cursor:pointer;background:#fff;border:1px solid #d8e2e5;border-radius:12px;padding:10px 14px;min-width:160px}
.piggy-map-choice:hover,.piggy-map-choice.sel{border-color:#0c7778}
.piggy-map-choice b{color:var(--navy)}
.piggy-map-choice span{font-size:13px;color:#5b6475}
.piggy-route{border:1px solid #e3eaea;border-radius:14px;padding:12px 14px;background:#fbfdfd}
.piggy-route summary{cursor:pointer;font-weight:700;color:var(--navy)}
.piggy-route[open] summary{margin-bottom:8px}
@media(max-width:640px){.piggy-goal-form{grid-template-columns:1fr 1fr}.piggy-goal-form label:first-child,.piggy-goal-form .btn{grid-column:1/-1}.piggy-goals li{grid-template-columns:1fr auto}.piggy-goals .linkbtn{grid-column:1/-1;justify-self:start}}
.pg-buddy{display:block;margin-top:2px;color:#0c7778;font-weight:700;font-size:14px}
/* community */
.cm{display:grid;gap:14px}
.cm-hero{display:grid;gap:12px}
.cm-hero h3{margin:0;color:var(--navy);font-size:20px}
.cm-hero p{margin:0}
.cm-how{list-style:none;counter-reset:cm;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cm-how li{counter-increment:cm;display:grid;grid-template-columns:auto 1fr;gap:0 8px;background:#f4f8f8;border-radius:12px;padding:10px 12px;font-size:13px;color:#5b6475}
.cm-how li::before{content:counter(cm);grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#0c7778;color:#fff;font-weight:700}
.cm-how b{color:var(--navy);font-size:14px}
.cm-safe{margin:0;font-size:13px;color:#0b6b4f;background:#ecf9f6;border-radius:10px;padding:8px 12px}
.cm-safe.small{font-size:12px;padding:6px 10px}
.cm-hero .btn{justify-self:start}
.cm-msg{margin:0;font-size:14px;color:#0b6b4f}.cm-msg.err{color:#b42318}
.cm-form{display:grid;gap:12px}
.cm-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cm-form label{display:grid;gap:4px;font-size:14px;font-weight:600}
.cm-form label small{font-weight:400;color:#5b6475}
.cm-form input:not([type=checkbox]),.cm-form select,.cm-form textarea,.cm-filters select,.cm-actions textarea,.cm-send textarea,.cm-report select{font:inherit;padding:10px 12px;border:1px solid #d8e2e5;border-radius:10px;background:#fff;width:100%;box-sizing:border-box}
.cm-pick{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.cm-pick legend{font-size:14px;font-weight:600;margin-bottom:6px;padding:0}
.cm-chip-in{display:inline-flex!important;align-items:center;gap:6px;font-weight:500!important;background:#f4f8f8;border:1px solid #dfe8e8;border-radius:999px;padding:6px 12px;cursor:pointer}
.cm-chip-in:has(input:checked){background:#e3f7f5;border-color:#0c7778;color:#0c5556}
.cm-chip-in input{accent-color:#0c7778;margin:0}
.cm-rules{display:flex!important;gap:8px;align-items:flex-start;font-weight:500!important;font-size:13px!important;color:#38404f}
.cm-rules input{margin-top:3px;accent-color:#0c7778}
.cm-form .btn{justify-self:start}
.cm-me{display:flex;align-items:center;gap:12px}
.cm-me div,.cm-head div{display:grid;gap:2px;min-width:0}
.cm-me b,.cm-head b{color:var(--navy);font-size:16px}
.cm-me small,.cm-head small{color:#5b6475;font-size:13px}
.cm-avatar{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#fff;font-weight:800;font-size:17px}
.cm-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid #e3eaea;padding-bottom:8px}
.cm-tab{font:inherit;font-size:14px;font-weight:600;background:none;border:0;border-radius:999px;padding:7px 14px;color:#38404f;cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.cm-tab.on{background:#0c7778;color:#fff}
.cm-badge{background:#e11d48;color:#fff;border-radius:999px;font-size:11px;font-weight:800;min-width:18px;height:18px;display:inline-grid;place-items:center;padding:0 5px}
.cm-pane{display:grid;gap:12px}
.cm-pane h4{margin:4px 0 0;color:var(--navy)}
.cm-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cm-filters select{width:auto}
.cm-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.cm-person{display:grid;gap:8px;align-content:start;background:#fff;border:1px solid #e3eaea;border-radius:14px;padding:14px}
.cm-head{display:flex;align-items:center;gap:10px}
.cm-tags{display:flex;flex-wrap:wrap;gap:4px}
.cm-tag{font-size:12px;font-weight:700;border-radius:999px;padding:2px 9px;background:#f4f8f8;color:#38404f}
.cm-tag.hot{background:#fff4e0;color:#8a5a00}
.cm-goal,.cm-bio{margin:0;font-size:14px;line-height:1.45}
.cm-goal b{color:var(--navy)}
.cm-bio{color:#38404f}
.cm-chips{display:flex;flex-wrap:wrap;gap:4px}
.cm-chip{font-size:12px;border-radius:999px;padding:2px 9px;background:#f4f8f8;color:#5b6475}
.cm-chip.on{background:#e3f7f5;color:#0c5556;font-weight:700}
.cm-looking{color:#5b6475;font-size:12px}
.cm-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:2px}
.cm-actions .btn{padding:8px 14px;font-size:14px}
.cm-actions .cm-msg{flex-basis:100%}
.cm .linkbtn{background:none;border:0;color:#5b6475;font:inherit;font-size:13px;text-decoration:underline;cursor:pointer;padding:0}
.cm .cm-del{color:#b42318;justify-self:start}
.cm-quote{margin:0;border-left:3px solid #0c7778;padding:6px 10px;background:#f4f8f8;border-radius:0 10px 10px 0;font-size:14px}
.cm-report{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;flex-basis:100%}
.cm-report select{width:auto;padding:6px 8px}
.cm-sent,.cm-chats{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.cm-sent li{display:flex;align-items:center;gap:10px;font-size:14px;color:#5b6475}
.cm-sent .cm-avatar{width:30px;height:30px;font-size:13px}
.cm-chat-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font:inherit;background:#fff;border:1px solid #e3eaea;border-radius:12px;padding:10px 12px;cursor:pointer}
.cm-chat-row div{display:grid;gap:2px;flex:1;min-width:0}
.cm-chat-row b{color:var(--navy)}
.cm-chat-row small{color:#5b6475;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-chat-row.unread{border-color:#0c7778}
.cm-chat-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cm-chat-head b{color:var(--navy)}
.cm-chat-tools{margin-left:auto;display:flex;gap:12px;align-items:center}
.cm-log{display:flex;flex-direction:column;gap:6px;max-height:420px;overflow-y:auto;background:#f4f8f8;border-radius:12px;padding:12px}
.cm-bubble{max-width:80%;align-self:flex-start;background:#fff;border:1px solid #e3eaea;border-radius:14px 14px 14px 4px;padding:8px 12px;display:grid;gap:2px;white-space:pre-wrap;overflow-wrap:anywhere}
.cm-bubble.mine{align-self:flex-end;background:#0c7778;border-color:#0c7778;color:#fff;border-radius:14px 14px 4px 14px}
.cm-bubble small{font-size:11px;opacity:.7}
.cm-send{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
@media(max-width:640px){.cm-how{grid-template-columns:1fr}.cm-row{grid-template-columns:1fr 1fr}.cm-bubble{max-width:90%}}
.cm-teaser{display:grid;gap:12px}
.cm-teaser p{margin:0}
.cm-teaser .btn{justify-self:start}
.cm-photo{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cm-photo-prev{width:88px;height:88px;border-radius:50%;overflow:hidden;background:#f4f8f8;border:2px dashed #cfe0e0;display:grid;place-items:center;font-size:30px;flex:none}
.cm-photo-prev img{width:100%;height:100%;object-fit:cover}
.cm-photo-text{display:grid;gap:4px;flex:1;min-width:220px}
.cm-photo-text b{color:var(--navy)}
.cm-photo-text small{color:#5b6475;font-size:13px}
.cm-photo-btns{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px}
.cm-form label.cm-photo-btn{display:inline-flex;align-items:center;gap:6px;font-size:14px;padding:8px 14px;cursor:pointer;position:relative}
.cm-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.cm-photo-btn:focus-within{outline:3px solid #6FFFE9;outline-offset:2px}
.cm-photo .cm-msg{flex-basis:100%}
img.cm-avatar{object-fit:cover;background:#e6eeee}
