:root{--verde: #2f6f4f;--verde-chiaro: #e7f2ec;--crema: #faf7f0;--testo: #2b2b26;--testo-secondario: #6b6b62;--bordo: #e2ddd0;--rosso: #b3413a;--blu: #2c5f8a;--radius: 14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--crema);color:var(--testo);-webkit-tap-highlight-color:transparent}#app{max-width:480px;margin:0 auto;min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-content{flex:1;padding-bottom:84px}.screen{padding:24px 20px}.screen-center{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}h1{font-size:22px;margin:0 0 4px}h2{font-size:17px;margin:0 0 10px}p.sub{color:var(--testo-secondario);font-size:14px;margin:0 0 24px}.logo{width:72px;height:72px;border-radius:20px;margin-bottom:16px}.who-buttons{display:flex;gap:14px;width:100%;max-width:320px}.who-button{flex:1;padding:28px 12px;border-radius:var(--radius);border:2px solid var(--bordo);background:#fff;font-size:17px;font-weight:600;color:var(--testo);cursor:pointer}.who-button:active{background:var(--verde-chiaro);border-color:var(--verde)}input[type=text],input[type=tel]{width:100%;max-width:280px;font-size:22px;letter-spacing:4px;text-align:center;padding:14px;border-radius:var(--radius);border:2px solid var(--bordo);margin-bottom:16px}button.primary{width:100%;max-width:280px;padding:14px;border-radius:var(--radius);border:none;background:var(--verde);color:#fff;font-size:16px;font-weight:600;cursor:pointer}button.primary:disabled{opacity:.5}.error{color:var(--rosso);font-size:14px;margin:8px 0 0;min-height:18px}header.top{display:flex;align-items:baseline;justify-content:space-between;padding:20px 20px 8px}header.top .date{color:var(--testo-secondario);font-size:14px;text-transform:capitalize}.card{background:#fff;border:1px solid var(--bordo);border-radius:var(--radius);padding:16px;margin:0 20px 14px}.card h3{margin:0 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--testo-secondario)}.card.trash{background:var(--verde-chiaro);border-color:var(--verde)}.card.trash .row{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;color:#fff}.badge.verdura{background:#3f9463}.badge.pesce{background:var(--blu)}.badge.carne{background:var(--rosso)}.empty{color:var(--testo-secondario);font-size:14px;padding:4px 0}nav.bottom{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:#fff;border-top:1px solid var(--bordo);display:flex;justify-content:space-around;padding:8px 0 max(8px,env(safe-area-inset-bottom))}nav.bottom button{background:none;border:none;font-size:11px;color:var(--testo-secondario);padding:6px 8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;flex:1}nav.bottom .nav-icon{font-size:20px}nav.bottom button.active{color:var(--verde);font-weight:700}.link-button{background:none;border:none;color:var(--verde);font-size:14px;text-decoration:underline;cursor:pointer;padding:4px}.toolbar{display:flex;align-items:center;gap:10px;padding:4px 20px 14px;flex-wrap:wrap}button.small{padding:9px 14px;border-radius:999px;border:none;font-size:13px;font-weight:600;cursor:pointer}button.primary.small{background:var(--verde);color:#fff}button.secondary.small{background:var(--verde-chiaro);color:var(--verde)}.filter-pills{display:flex;gap:6px}.pill{border:1px solid var(--bordo);background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;color:var(--testo-secondario);cursor:pointer}.pill.active{background:var(--verde);border-color:var(--verde);color:#fff}.card-list{padding-bottom:8px}.card-header-row{display:flex;align-items:center;justify-content:space-between}.card-header-row h3{margin:0}.simple-list{list-style:none;margin:0;padding:0;font-size:14px}.simple-list li{padding:6px 0;border-bottom:1px solid var(--bordo)}.simple-list li:last-child{border-bottom:none}.tag{color:var(--testo-secondario);font-size:12px}.shopping-items,.todo-items{list-style:none;margin:0;padding:0}.shopping-item,.todo-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--bordo)}.shopping-item:last-child,.todo-item:last-child{border-bottom:none}.shopping-item label,.todo-item label{display:flex;align-items:center;gap:10px;font-size:15px;flex:1}.shopping-item input[type=checkbox],.todo-item input[type=checkbox]{width:20px;height:20px;accent-color:var(--verde)}.shopping-item.checked span,.todo-item.done .todo-title{text-decoration:line-through;color:var(--testo-secondario)}.qty{color:var(--testo-secondario);font-size:13px}.icon-button{background:none;border:none;color:var(--testo-secondario);font-size:16px;cursor:pointer;padding:4px 8px}.todo-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.badge-outline{border:1px solid var(--bordo);border-radius:999px;padding:2px 8px;font-size:11px;color:var(--testo-secondario)}.badge-outline.priority-alta{border-color:var(--rosso);color:var(--rosso)}.badge-outline.priority-bassa{border-color:var(--verde);color:var(--verde)}.badge-outline.overdue{border-color:var(--rosso);color:var(--rosso)}.badge-outline.due-today{border-color:#b3841a;color:#b3841a}.checkbox-inline{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--testo-secondario)}.checkbox-inline input{width:16px;height:16px;accent-color:var(--verde)}.expense-items{list-style:none;margin:0;padding:0}.expense-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--bordo);cursor:pointer}.expense-item:last-child{border-bottom:none}.expense-item.inactive{opacity:.55}.expense-title{font-size:15px;font-weight:600}.expense-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.expense-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.expense-items.compact .expense-item{padding:8px 0;cursor:default}.expense-items.compact .expense-title{font-size:14px;font-weight:400}.nav-list li{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:10px 0}.chevron{color:var(--testo-secondario)}.activity-items{list-style:none;margin:0;padding:0}.activity-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--bordo);font-size:14px}.activity-item:last-child{border-bottom:none}.activity-icon{font-size:18px}.activity-time{color:var(--testo-secondario);font-size:12px;margin-top:2px}.note-card.pinned{background:var(--verde-chiaro);border-color:var(--verde)}.note-content{font-size:14px;white-space:pre-wrap;margin:8px 0}.note-actions{display:flex;gap:6px}.hint{font-size:12px;color:var(--testo-secondario);margin:0}.countdown-items{list-style:none;margin:0;padding:0}.countdown-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--bordo);cursor:pointer}.countdown-item:last-child{border-bottom:none}.countdown-icon{font-size:22px}.countdown-body{flex:1}.countdown-title{font-size:15px;font-weight:600}.countdown-date{font-size:13px;color:var(--testo-secondario);text-transform:capitalize}.countdown-days{font-size:13px;font-weight:600;color:var(--verde);white-space:nowrap}.together-items{list-style:none;margin:0;padding:0}.together-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--bordo);cursor:pointer}.together-item:last-child{border-bottom:none}.together-item input[type=checkbox]{width:20px;height:20px;accent-color:var(--verde);margin-top:2px}.together-body{flex:1}.together-name{font-size:15px;font-weight:600}.together-item.done .together-name{text-decoration:line-through;color:var(--testo-secondario)}.together-notes{font-size:13px;color:var(--testo-secondario);margin-top:2px}.together-meta{display:flex;gap:10px;align-items:center;margin-top:6px;font-size:13px}.together-meta a{color:var(--verde)}.stars{color:#d9a017;letter-spacing:1px}.diet-meal.current{background:var(--verde-chiaro);border-color:var(--verde)}.diet-blocks{list-style:none;margin:0;padding:0}.diet-block{padding:8px 0;border-bottom:1px solid var(--bordo);font-size:14px;display:flex;align-items:center;flex-wrap:wrap;gap:4px}.diet-block:last-child{border-bottom:none}.diet-sep{color:var(--testo-secondario);margin:0 4px}.diet-alt{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.diet-add-alt{font-size:13px}.diet-del{font-size:12px;padding:2px 4px}.diet-info{font-size:13px;padding:2px 4px}.macro-dot{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:middle;margin-right:4px;flex-shrink:0}.macro-dot.verdura{background:#3f9463}.macro-dot.proteine{background:var(--rosso)}.macro-dot.carboidrati{background:#c98a2b}.macro-dot.grassi{background:#cfa000}.macro-dot.frutta{background:#c2477a}.macro-dot.altro{background:#9a9a90}.macro-legend{display:flex;flex-wrap:wrap;gap:8px 14px;padding:0 20px 14px}.macro-legend-item{display:inline-flex;align-items:center;font-size:12px;color:var(--testo-secondario)}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.diet-block-picker{border-top:1px solid var(--bordo);padding:10px 0}.block-label{font-size:12px;color:var(--testo-secondario);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.radio-row{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--testo);padding:4px 0}.radio-row input{width:18px;height:18px;accent-color:var(--verde)}body.modal-open{overflow:hidden}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b2b2673;display:flex;align-items:flex-end;justify-content:center;z-index:1000}.modal{background:#fff;width:100%;max-width:480px;max-height:88vh;overflow-y:auto;border-radius:20px 20px 0 0;padding:20px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal-header h2{margin:0;font-size:18px}.modal-close{background:none;border:none;font-size:22px;line-height:1;color:var(--testo-secondario);cursor:pointer;padding:4px 8px}.modal-form{display:flex;flex-direction:column;gap:12px}.modal-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--testo-secondario);flex:1}.modal-form label.checkbox-row{flex-direction:row;align-items:center;gap:8px;font-size:14px;color:var(--testo)}.modal-form input[type=text],.modal-form input[type=date],.modal-form input[type=time],.modal-form input[type=tel],.modal-form select,.modal-form textarea{font-size:15px;padding:10px 12px;border-radius:10px;border:1px solid var(--bordo);font-family:inherit;color:var(--testo);width:100%;letter-spacing:normal;text-align:left;max-width:none}.modal-form textarea{resize:vertical}.modal-form .form-row{display:flex;gap:10px}.modal-form button.primary{max-width:none}button.secondary{background:var(--verde-chiaro);color:var(--verde);border:none;border-radius:var(--radius);padding:12px;font-size:15px;font-weight:600;cursor:pointer}button.secondary.danger{background:#f5e2e0;color:var(--rosso)}.calendar-container{padding:12px 12px 20px;font-size:13px}.fc{--fc-border-color: var(--bordo);--fc-today-bg-color: var(--verde-chiaro);--fc-button-bg-color: white;--fc-button-border-color: var(--bordo);--fc-button-text-color: var(--testo);--fc-button-active-bg-color: var(--verde);--fc-button-active-border-color: var(--verde)}.fc .fc-button{text-transform:capitalize;box-shadow:none!important;font-size:12px;padding:6px 10px}.fc .fc-toolbar-title{font-size:16px;text-transform:capitalize}.fab{position:fixed;bottom:92px;right:max(20px,calc(50% - 220px));width:52px;height:52px;border-radius:50%;background:var(--verde);color:#fff;border:none;font-size:26px;line-height:1;box-shadow:0 4px 12px #0003;cursor:pointer;z-index:50}
