:root{--navy:#092745;--deep:#062b4a;--blue:#1179e7;--turquoise:#04bacc;--ink:#102945;--muted:#687c91;--border:#e3edf6;--background:#f4f8fd;--panel:#fff;--shadow:0 14px 50px rgba(32,77,121,.065);--outline:rgba(17,121,231,.13);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;color:var(--ink);background:var(--background);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #08b8d3;outline-offset:2px}svg:not(.sprite){width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button svg,a svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sprite{position:absolute;width:0;height:0;overflow:hidden}.hidden{display:none!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0);white-space:nowrap!important;border:0!important}
.app-shell{display:grid;grid-template-columns:262px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:linear-gradient(168deg,#092c4f 0%,#082139 100%);color:white;padding:29px 19px 26px;overflow-y:auto}.brand{display:flex;align-items:center;gap:13px;padding:0 10px}.brand-symbol{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:17px;overflow:hidden;flex-shrink:0;box-shadow:0 8px 25px #0003}.brand-symbol img{width:100%;height:100%;object-fit:cover}.brand strong{font-size:25px;letter-spacing:-1.2px;line-height:1.06}.brand-dot{color:#20cfdb}.brand small{display:block;color:#afcde4;font-size:10px;margin-top:5px}.sidebar-tag{margin:38px 11px 20px;color:#a4f0f4;font-size:11px;letter-spacing:1.2px;font-weight:780;display:flex;align-items:center;gap:8px}.sidebar-tag span:last-child{letter-spacing:.2px;font-weight:550;color:#81a9c6}.pulse-small{height:7px;width:7px;border-radius:50%;background:#2be3ba;box-shadow:0 0 14px #00ffb788}.nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:16px;border:0;background:transparent;color:#aac5df;padding:14px 16px;border-radius:13px;width:100%;font-size:14px;font-weight:620;text-align:left}.nav-item:hover{background:#ffffff12;color:#fff}.nav-item.active{background:linear-gradient(90deg,#1279d9,#0866b3);color:white;box-shadow:0 8px 25px #0002}.nav-item svg{width:21px;height:21px}.sidebar-bottom{margin-top:auto;padding:26px 12px 0}.sidebar-quote{color:#b8d8ed;font-size:14px;line-height:1.55;border-left:3px solid #21c4db;padding-left:14px;margin-bottom:23px}.sidebar-bottom>span{color:#6f9cbd;font-size:10px}.workspace{min-width:0}.topbar{height:92px;background:#ffffffdb;backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,58px);border-bottom:1px solid var(--border)}.topbar-title{display:none;align-items:center;gap:12px}.topbar-mark{width:40px;height:40px;border-radius:13px;overflow:hidden}.topbar-mark img{width:100%;height:100%;object-fit:cover}.topbar-title strong{display:block;font-size:20px}.topbar-title small{font-size:11px;color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:20px}.connection{font-size:12px;color:#678398;display:flex;gap:9px;align-items:center}.connection-dot{width:8px;height:8px;border-radius:50%;background:#1cc79e}.connection.offline .connection-dot{background:#ffb14b}.icon-button{background:var(--panel);border:1px solid var(--border);border-radius:12px;width:40px;height:40px;display:inline-flex;justify-content:center;align-items:center;color:var(--ink)}.icon-button:hover,.light-button:hover{border-color:#9cc4e5;background:#f0f8ff}main{max-width:1330px;padding:34px clamp(17px,4vw,58px) 100px;margin:auto}.eyebrow{color:#0698b9;font-weight:830;letter-spacing:1.65px;font-size:10px;line-height:1.5;margin:0 0 10px}.welcome,.page-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 26px}.welcome h1,.page-heading h1{margin:0;font-size:clamp(27px,3vw,36px);line-height:1.2;letter-spacing:-1.3px;color:var(--ink)}.welcome p:not(.eyebrow),.page-heading p:not(.eyebrow){font-size:14px;color:var(--muted);margin:9px 0 0}.date-chip{background:#fff;border:1px solid var(--border);padding:10px 15px;border-radius:14px;font-size:12px;color:#506b88;white-space:nowrap;font-weight:650}.hero{background:linear-gradient(109deg,#092c4f 0%,#074b88 58%,#0963a6 100%);border-radius:25px;min-height:322px;position:relative;overflow:hidden;box-shadow:0 21px 50px #0b497f1c;display:flex}.hero:before{content:'';position:absolute;right:-70px;top:-120px;border:2px solid #ffffff13;border-radius:50%;width:520px;height:520px;transform:rotate(16deg)}.hero:after{content:'';position:absolute;right:-100px;bottom:-200px;background:linear-gradient(135deg,#36d9ec66,transparent);width:450px;height:420px;border-radius:50%}.hero-glow{position:absolute;right:140px;top:-85px;width:450px;height:330px;background:#08a4d54d;filter:blur(75px);border-radius:50%}.hero-content{width:67%;position:relative;z-index:2;padding:41px clamp(20px,3.3vw,50px)}.hero-kicker{font-size:10px;letter-spacing:1.3px;color:#65e0e7;font-weight:760;display:flex;align-items:center;gap:9px}.hero-kicker svg{width:16px;height:16px}.hero h2{font-size:clamp(27px,3vw,42px);line-height:1.1;letter-spacing:-1.35px;color:#fff;margin:15px 0 10px;font-weight:790}.hero h2 em{font-style:normal;color:#6be1e9}.hero p{color:#bbdaed;font-size:14px;max-width:510px;line-height:1.6;margin:0 0 23px}.hero-command{display:flex;background:white;border-radius:14px;align-items:center;max-width:560px;box-shadow:0 8px 25px #00183320;overflow:hidden;height:57px}.hero-command input{width:100%;min-width:0;border:0;background:transparent;padding:0 16px;color:#1e3548;outline:0;font-size:13px}.hero-command input:focus{box-shadow:inset 0 0 0 2px #71d1f8}.hero-command button{height:41px;width:45px;margin-right:8px;display:flex;justify-content:center;align-items:center;border-radius:10px;background:#0c83ec;color:#fff;border:0;flex-shrink:0}.hero-command button:hover{background:#0862c4}.hero-actions{margin-top:17px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.mic-button{border:0;border-radius:11px;background:#ffbf47;color:#152940;padding:11px 17px;font-size:13px;font-weight:790;display:flex;align-items:center;gap:10px;box-shadow:0 7px 21px #ecac2836}.mic-button:hover{background:#ffce6f}.mic-button svg{stroke-width:2}.mic-button.listening{background:#f16c7f;color:#fff;animation:micpulse 1.4s infinite}@keyframes micpulse{0%{box-shadow:0 0 0 0 #f16c7f44}70%{box-shadow:0 0 0 12px transparent}100%{box-shadow:0 0 0 0 transparent}}#mic-status{color:#bdd9ea;font-size:11px}.hero-art{width:33%;min-width:200px;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.hero-orb{width:185px;height:185px;border-radius:50px;box-shadow:0 25px 55px #0006,0 0 0 20px #2ae2eb0a,0 0 0 43px #3dedf509;transform:rotate(-8deg);overflow:hidden}.hero-orb img{width:100%;height:100%;object-fit:cover}.floating-bubble{position:absolute;display:flex;align-items:center;gap:9px;color:#174b71;background:#fff;border-radius:10px;padding:9px 12px;font-size:10px;font-weight:760;box-shadow:0 16px 25px #01233e33;white-space:nowrap}.floating-bubble svg{width:16px;height:16px;color:#0b87d0}.floating-bubble b{color:#1ac4a8}.bubble-one{top:52px;right:28px;transform:rotate(6deg)}.bubble-two{bottom:60px;left:-25px;transform:rotate(-5deg)}.suggestions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:18px 0 26px}.suggestions span{font-size:12px;color:#74889a;margin-right:4px}.suggestion{font-size:12px;color:#42708f;background:#fff;border:1px solid #dceaf5;border-radius:24px;padding:9px 14px}.suggestion:hover{border-color:#41bfde;color:#086ca6}.assistant-result{background:#e8f7fd;border:1px solid #bde6f3;border-radius:17px;margin:-7px 0 24px;padding:18px 20px}.assistant-result h3{margin:0 0 9px;font-size:16px;color:#0b4d79}.assistant-result p{margin:0 0 6px;line-height:1.55;white-space:pre-line;font-size:13px}.assistant-result .small-tag{display:inline-block;font-size:10px;font-weight:750;color:#0b87b1;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}.assistant-result .result-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}.dashboard-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:22px}.card{min-width:0;background:var(--panel);border:1px solid var(--border);border-radius:19px;padding:25px;box-shadow:var(--shadow)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.section-heading h3{font-size:19px;letter-spacing:-.55px;margin:0}.subtle-link{background:transparent;border:0;color:#0877c7;font-size:12px;font-weight:770;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:0}.subtle-link svg{width:14px;height:14px}.subtle-link:hover{text-decoration:underline}.right-stack{display:grid;grid-template-rows:auto 1fr;gap:22px}.metric-card{min-height:195px;background:linear-gradient(130deg,#e4faff,#fdfefe);border-color:#d5eef3}.metric-head{display:flex;align-items:center;justify-content:space-between}.metric-head>span{font-size:10px;letter-spacing:1.3px;color:#54a4bf;font-weight:850}.metric-icon{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#1187c1}.metric-icon.turquoise{background:#caf3f7}.metric-card strong{display:block;font-size:48px;font-weight:820;line-height:1.2;color:#0c3b60;margin-top:12px}.metric-card p{font-size:12px;color:#7190a4;margin:4px 0 17px}.progress-track{height:5px;background:#cde9f4;border-radius:10px;overflow:hidden}.progress-track span{height:100%;display:block;width:0;background:linear-gradient(90deg,#15d2d2,#0e85d6);border-radius:10px}.shopping-mini p{font-size:12px;color:var(--muted);line-height:1.5}.shopping-mini .section-heading{margin-bottom:5px}.mini-icon{background:#fff0d9;border-radius:12px;padding:11px;color:#d59110}.mini-shopping-item{padding:9px 0;border-bottom:1px solid #f0f4f8;font-size:12px;color:#435d70;display:flex;align-items:center;gap:9px}.mini-shopping-item:before{content:'';width:7px;height:7px;border-radius:50%;background:#15b9cb}.shopping-mini .subtle-link{margin-top:15px}.event-day-header{font-size:12px;font-weight:780;color:#7590a4;margin:16px 0 11px;display:flex;align-items:center;gap:10px}.event-day-header:after{content:'';height:1px;background:var(--border);flex:1}.event-row{display:flex;align-items:center;gap:15px;border-bottom:1px solid #edf2f6;padding:15px 0}.event-row:last-child{border:0}.event-time{width:55px;flex-shrink:0;color:#7b90a4;font-weight:710;font-size:13px;font-variant-numeric:tabular-nums}.event-bar{width:4px;height:43px;border-radius:8px;background:#178ceb;flex-shrink:0}.event-row.cat-salute .event-bar{background:#f97991}.event-row.cat-famiglia .event-bar{background:#f4b54b}.event-row.cat-personale .event-bar{background:#a482f7}.event-row.cat-altro .event-bar{background:#1abdba}.event-main{flex:1;min-width:0}.event-main strong{font-size:13px;display:block;font-weight:730;margin-bottom:4px;overflow-wrap:anywhere}.event-main small{color:#8698a8;font-size:11px;display:flex;gap:5px;align-items:center;flex-wrap:wrap}.event-main svg{width:13px;height:13px}.event-row .event-action{background:#f1f7fc;border:0;color:#6d8ca5;width:31px;height:31px;border-radius:10px;display:flex;justify-content:center;align-items:center}.event-row .event-action:hover{background:#dcedfa;color:#167cd0}.add-outline{width:100%;border:1.5px dashed #c5e2f2;border-radius:12px;padding:13px;background:#f8fcff;color:#0d7dc9;font-size:12px;font-weight:730;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px}.add-outline:hover{background:#edfbff}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 10px;color:#7f96ab}.empty-illustration{width:60px;height:60px;border-radius:19px;background:#ecf8fd;display:flex;align-items:center;justify-content:center;color:#15a4cf;margin-bottom:12px}.empty-illustration svg{width:30px;height:30px}.empty-state strong{color:#284661;font-size:14px}.empty-state p{font-size:12px;max-width:280px;line-height:1.5}
.page-heading{align-items:center;margin:6px 0 24px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #0d7ad5;border-radius:11px;padding:12px 16px;color:#fff;background:linear-gradient(135deg,#159bea,#096bce);font-weight:730;font-size:12px;box-shadow:0 7px 18px #178cec24;white-space:nowrap}.primary-button:hover{filter:brightness(.95)}.light-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d9e8f3;border-radius:11px;padding:11px 14px;color:#196b9b;background:#f6fbff;font-size:12px;font-weight:720;text-decoration:none}.agenda-search{display:flex;align-items:center;gap:12px;padding:16px;margin-bottom:20px}.agenda-search>select{flex-shrink:0;width:176px}.input-icon{position:relative;flex:1;display:flex;align-items:center}.input-icon svg{position:absolute;left:14px;color:#7392a9}.input-icon input{padding-left:42px!important;width:100%}.agenda-search input,.agenda-search select,.shopping-add input,.shopping-header select,.settings-card select,.form-fields input,.form-fields select,.form-fields textarea{background:#fff;border:1px solid #dce9f1;border-radius:11px;padding:12px;color:#1d3e58;min-width:0}.event-groups{display:grid;gap:17px}.event-day-card{padding:19px 23px}.event-day-card .event-day-header{margin:0 0 2px}.event-day-card .event-row:last-child{border-bottom:0}.event-row-actions{display:flex;gap:7px}.event-row-actions button{background:#f4f8fd;border:1px solid transparent;color:#5384a5;border-radius:10px;width:33px;height:33px;display:flex;align-items:center;justify-content:center}.event-row-actions button:hover{border-color:#bfdbec;color:#126ba5}.event-row-actions button.delete:hover{color:#d72e50;border-color:#fed3df;background:#fff3f6}
.shopping-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(245px,.85fr);gap:20px}.shopping-header{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.shopping-header>div:first-child{flex:1}.shopping-header select{font-size:18px;font-weight:740;width:100%;max-width:380px;border:0;border-bottom:2px solid #d8e9f4;border-radius:0;background:transparent;padding:8px 0}.shopping-header .toolbar{display:flex;align-items:center;gap:7px}.list-link-label{font-size:12px;color:#6b8c9e;margin:10px 0 20px}.shopping-add{display:flex;gap:9px;margin:12px 0 21px}.shopping-add input{flex:1;min-width:0}.shopping-item{display:flex;align-items:center;gap:14px;padding:14px 2px;border-bottom:1px solid #edf3f7}.shopping-item input[type=checkbox]{appearance:none;border:2px solid #c2d4e1;border-radius:7px;width:22px;height:22px;flex-shrink:0;cursor:pointer;display:grid;place-items:center}.shopping-item input[type=checkbox]:checked{background:#10b7c3;border-color:#10b7c3}.shopping-item input[type=checkbox]:checked:after{content:'✓';color:white;font-weight:800}.shopping-item .shopping-name{flex:1;font-size:14px}.shopping-item.done .shopping-name{text-decoration:line-through;color:#a0b1be}.shopping-item button{border:0;background:transparent;color:#9fb2c0;font-size:20px}.shopping-item button:hover{color:#e55470}.tip-card{background:linear-gradient(150deg,#d9f3ff 0%,#f5fbff 100%);align-self:start;border-color:#d6edf9}.tip-icon{background:#fff;color:#0c8fd2;border-radius:16px;width:50px;height:50px;display:grid;place-items:center;margin-bottom:22px}.tip-card h3{font-size:21px;letter-spacing:-.5px}.tip-card p{font-size:13px;line-height:1.7;color:#5c8196}.tip-note{font-size:11px!important;border-left:3px solid #19b4ca;padding-left:12px}.tip-card .light-button{margin-top:18px}.danger-outline{color:#c65b72}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.settings-card h3{font-size:19px;margin:0 0 8px}.settings-card p{font-size:12px;line-height:1.65;color:#6e889b;margin:0 0 20px}.logo-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 20px}.logo-options label{cursor:pointer;position:relative}.logo-options input{position:absolute;opacity:0}.logo-choice{display:flex;flex-direction:column;align-items:center;text-align:center;border:2px solid #e5eef6;border-radius:15px;padding:15px 7px;transition:.15s}.logo-choice img{width:78px;height:78px;object-fit:contain;margin-bottom:10px}.logo-choice strong{font-size:12px}.logo-choice small{font-size:10px;margin-top:4px;color:#8195a5}.logo-options input:checked+.logo-choice{border-color:#0ca9d6;box-shadow:0 0 0 3px #0ca9d61c;background:#f5fdff}.settings-card>label{font-size:12px;font-weight:720;display:block;margin:13px 0 7px}.settings-card select{width:100%}.settings-actions{display:grid;gap:10px}.settings-actions>*{justify-content:flex-start}.settings-note{background:#edf6fc;color:#688397;font-size:11px;line-height:1.65;border-radius:11px;padding:13px 14px;margin-top:18px}.settings-note b{color:#3d6f91}.toggle-line{display:flex!important;align-items:center;gap:11px;margin:20px 0!important}.toggle-line input{accent-color:#068acb;width:19px;height:19px}.file-label{cursor:pointer}.bottom-nav{display:none}
.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#061e35a6;backdrop-filter:blur(7px);padding:18px}.modal{width:min(650px,100%);max-height:92vh;overflow:auto;border-radius:22px;background:#fff;box-shadow:0 30px 100px #001c3d50;padding:29px}.small-modal{width:min(490px,100%)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.modal-header h2{font-size:24px;margin:0;color:#0b2a49;letter-spacing:-.8px}.close-button{width:35px;height:35px;border-radius:10px;border:1px solid #e1ebf2;background:#f8fbff;font-size:22px;color:#678296}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-fields label{font-size:12px;font-weight:700;color:#537187;display:grid;gap:7px}.form-fields label span{color:#e55978}.form-fields .full{grid-column:1/-1}.form-fields input,.form-fields select,.form-fields textarea{width:100%;font-size:14px;font-weight:500}.advanced{border:1px solid #e5eef6;border-radius:13px;background:#f7fbff;padding:14px}.advanced summary{cursor:pointer;color:#1680b1;font-size:12px;font-weight:750}.advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}.advanced-grid .full{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.event-warning{background:#fff4df;color:#88602d;border:1px solid #ffe3a6;border-radius:11px;font-size:12px;padding:12px 15px;margin-top:17px}.toast{position:fixed;z-index:30;bottom:27px;right:28px;max-width:400px;background:#082c4c;color:white;padding:14px 21px;box-shadow:0 10px 30px #001e3644;border-radius:13px;font-size:13px;line-height:1.5}
body[data-theme="light"]{--navy:#274767;--deep:#38657d;--blue:#3b84d3;--turquoise:#35abc0;--background:#f9fbff}body[data-theme="light"] .hero{background:linear-gradient(115deg,#244967,#3885b2)}body[data-theme="dark"]{--background:#0e1d2e;--panel:#152b41;--ink:#ecf6ff;--muted:#a3bccb;--border:#2f4a60;--shadow:none;color:#e6f4ff}body[data-theme="dark"] .topbar{background:#11263b}body[data-theme="dark"] .card,body[data-theme="dark"] .date-chip,body[data-theme="dark"] .suggestion{background:#152b41;color:#edf7ff}body[data-theme="dark"] .metric-card,body[data-theme="dark"] .tip-card{background:#183b53}body[data-theme="dark"] .event-main strong,body[data-theme="dark"] .section-heading h3,body[data-theme="dark"] .empty-state strong,body[data-theme="dark"] .settings-card h3{color:#e6f4ff}body[data-theme="dark"] .metric-card strong{color:#c0e9ff}body[data-theme="dark"] .logo-choice{border-color:#335468}body[data-theme="dark"] .logo-options input:checked+.logo-choice{background:#1b3e56}body[data-theme="dark"] .settings-note,body[data-theme="dark"] .advanced{background:#1b3851;color:#aec8db}body[data-theme="dark"] .settings-card select,body[data-theme="dark"] .shopping-header select,body[data-theme="dark"] .input-icon input,body[data-theme="dark"] .agenda-search select,body[data-theme="dark"] .shopping-add input{background:#10253a;color:#fff;border-color:#355267}body[data-theme="dark"] .assistant-result{background:#123c54;color:#e2f6ff}body[data-theme="dark"] .assistant-result h3{color:#a8ecff}
@media(max-width:1200px){.hero-art{min-width:160px}.hero-orb{width:160px;height:160px}.floating-bubble{font-size:9px}.hero-content{width:68%}.hero-art{width:32%}}
@media(max-width:1040px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{padding:24px 12px}.brand{padding:0}.brand>div:last-child,.sidebar-tag,.nav-item span,.sidebar-bottom{display:none}.brand-symbol{width:50px;height:50px}.nav{margin-top:36px}.nav-item{justify-content:center;padding:15px}.dashboard-grid{grid-template-columns:1.45fr 1fr}}
@media(max-width:780px){.app-shell{display:block}.sidebar{display:none}.topbar{height:69px;padding:0 18px}.topbar-title{display:flex}.topbar-right{gap:10px}.topbar-right .connection{font-size:10px}.topbar-right .icon-button{display:none}main{padding:27px 17px 105px}.welcome,.page-heading{align-items:start}.date-chip{display:none}.hero{min-height:auto}.hero-content{width:100%;padding:28px 24px 28px}.hero h2{font-size:31px;max-width:300px}.hero p{max-width:370px}.hero-art{display:none}.suggestions{margin:16px 0 20px}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.right-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:12;height:calc(66px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);justify-content:space-around;align-items:center;background:#fffefb;box-shadow:0 -5px 30px #11375118;border-top:1px solid #e2edf4}.bottom-item{display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:transparent;color:#8a9aab;font-size:10px;font-weight:700;flex:1;padding:6px}.bottom-item.active{color:#0a86d5}.bottom-item svg{width:22px;height:22px}.shopping-layout{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}}
@media(max-width:560px){.welcome h1{font-size:27px}.welcome p:not(.eyebrow){font-size:12px}.hero h2{font-size:27px}.hero-content{padding:26px 19px}.hero p{font-size:12px}.hero-command{height:52px}.hero-command input{font-size:12px}.hero-actions{gap:10px}.mic-button{font-size:12px}.card{padding:18px;border-radius:16px}.right-stack{grid-template-columns:minmax(0,1fr)}.metric-card{min-height:168px}.metric-card strong{font-size:40px}.page-heading{flex-direction:column;gap:14px}.page-heading>.primary-button{width:100%}.agenda-search{display:grid;grid-template-columns:1fr;gap:10px}.agenda-search>select{width:100%}.shopping-header{align-items:stretch;flex-direction:column}.shopping-header .toolbar{align-self:flex-end}.shopping-add .primary-button{font-size:0;padding:10px;width:44px}.shopping-add .primary-button svg{width:19px}.modal{padding:21px;border-radius:17px}.form-fields,.advanced-grid{grid-template-columns:1fr}.form-fields .full,.advanced-grid .full{grid-column:auto}.modal-actions{gap:8px}.modal-actions button{flex:1}.event-time{width:48px}.event-row{gap:9px}.event-main strong{font-size:12px}.toast{left:15px;right:15px;bottom:calc(77px + env(safe-area-inset-bottom,0px))}}


/* Ricardo Routes integrated V7 features */
.route-action-strip{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 16px;background:#edf8fd;border:1px solid #cfeaf5;border-radius:16px;margin:15px 0;color:#315c76;font-size:13px}
.route-top-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}
.route-card{min-height:258px}
.route-card h3{font-size:23px;margin:12px 0 6px;color:#0a3355}
.route-card p{font-size:13px;color:#6a8395;line-height:1.5;margin-bottom:18px}
.route-card label,.route-results-card label{display:grid;gap:7px;font-size:12px;font-weight:750;color:#426984;margin-bottom:12px}
.route-card input,.route-results-card input{width:100%;border:1px solid #d6e6f1;background:#f7fbfe;border-radius:12px;padding:12px;font-size:14px;min-width:0}
.route-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.route-subtext{font-size:12px!important;line-height:1.6!important;color:#648198!important}
.route-results-card{margin:20px 0}.route-status{font-size:13px;line-height:1.5;color:#49718c;background:#ecf7fe;padding:12px 15px;border-radius:12px}
#route-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.transfer-pair{border:1px solid #d9e9f3;border-left:5px solid #64a8c4;padding:17px;border-radius:15px;background:#fafdff;min-width:0}
.transfer-pair.danger{border-left-color:#df6b68;background:#fffafb}.transfer-pair.ok{border-left-color:#21b28c}
.pair-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#55768c;font-size:11px}.status-pill{font-size:10px;font-weight:750;border-radius:999px;background:#e8f0f6;color:#456e85;padding:6px 8px}.status-pill.danger{background:#ffe4e1;color:#a8382f}.status-pill.ok{background:#dff7ea;color:#147558}
.transfer-pair h4{font-size:18px;line-height:1.35;letter-spacing:-.4px;color:#0b3654;margin:13px 0 8px;overflow-wrap:anywhere}.route-event-titles{color:#63839b;font-size:12px;line-height:1.5}
.travel-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.travel-metrics>div{background:#edf5fa;border-radius:10px;padding:9px;display:grid;gap:4px}.travel-metrics span{font-size:10px;color:#50768d}.travel-metrics b{font-size:12px;color:#0e3552}
.route-tools{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 3px}.route-tools a,.route-tools button{font-size:12px!important;text-decoration:none}
.route-pin{color:#116d9e;font-size:11px;font-weight:750;text-decoration:none;white-space:nowrap}
.category-hint{font-size:12px;color:#316a7f;background:#eaf9fb;padding:9px 12px;border-radius:10px;margin-top:12px}
@media(max-width:780px){.route-top-grid{grid-template-columns:1fr}.route-card{min-height:auto}#route-pairs{grid-template-columns:1fr}}
@media(max-width:450px){.route-form-grid{grid-template-columns:1fr}.route-tools>.primary-button,.route-tools>.light-button{width:100%;justify-content:center}}

.route-cost-warning{border-left:3px solid #e3a140;border-radius:9px;background:#fff6e7!important;padding:10px 12px;color:#82562c!important;font-size:11px!important}

/* Riepilogo vocale: campi leggibili, nessuna trascrizione integrale. */
.voice-summary{padding:17px;border-radius:16px;background:linear-gradient(130deg,#e9f8fc,#eaf2ff);border:1px solid #bfe8f2;margin:0 0 17px}
.voice-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:13px 0}
.voice-summary-grid>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.voice-summary-grid small{color:#578197;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.voice-summary-grid strong{font-size:14px;overflow-wrap:anywhere;color:#0c385b}
.voice-summary p{font-size:12px;line-height:1.5;margin:10px 0 0;color:#385f78}
.voice-summary .voice-flags{color:#855d1e;background:#fff6dc;border-radius:8px;padding:9px 11px}
.voice-summary-foot{border-top:1px solid #cde8f1;padding-top:10px}
.map-preview{border-radius:14px;overflow:hidden;border:1px solid #d9e6ef;min-height:220px;background:#eaf3f8;margin:14px 0}
.map-preview iframe{border:0;width:100%;height:300px;display:block}
.map-preview p{margin:10px 15px;font-size:12px;color:#56738a}
@media(max-width:520px){.voice-summary-grid{grid-template-columns:1fr 1fr;gap:10px}.map-preview iframe{height:240px}}

/* Ricardo V0 – calendario chiaro, navigazione temporale e conflitti diagnostici */
.agenda-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:17px 18px;margin-bottom:15px;background:linear-gradient(135deg,#ffffff,#f3faff)}
.agenda-view-switch{display:inline-flex;background:#e9f2fb;padding:5px;border-radius:14px;width:max-content;gap:4px}
.agenda-mode{border:0;background:transparent;border-radius:10px;color:#577692;font-size:13px;font-weight:800;padding:11px 18px;white-space:nowrap}
.agenda-mode.active{color:white;background:linear-gradient(135deg,#075fa5,#028fc0);box-shadow:0 5px 15px #0069aa33}
.agenda-period-control{display:flex;align-items:center;gap:9px;justify-content:flex-end}
.agenda-nav-button,.agenda-now-button{border:1px solid #cce1ef;border-radius:11px;background:#fff;color:#225879;font-weight:800;min-height:38px;padding:0 12px}
.agenda-nav-button{font-size:24px;line-height:1}
#agenda-date{min-height:38px;width:140px;border:1px solid #cce1ef;border-radius:11px;background:#fff;padding:7px;font:inherit;font-size:12px;color:#225879}
.agenda-period-title{font-size:17px;color:#0a4168;font-weight:800;line-height:1.3}
.agenda-tools .agenda-search{margin:0;display:flex;gap:10px;align-items:center}
.agenda-tools .agenda-search .input-icon{flex:1;min-width:0}.agenda-tools .agenda-search select{min-width:150px}
.agenda-weekstrip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:15px}
.agenda-weekstrip:empty{display:none}
.week-day-chip{border:1px solid #d8e7f1;background:#fff;border-radius:15px;display:flex;flex-direction:column;gap:4px;align-items:center;min-width:0;padding:13px 5px;color:#688498;box-shadow:0 2px 10px #11345108}
.week-day-chip span{font-size:11px;text-transform:capitalize}.week-day-chip b{font-size:23px;color:#103d5c}.week-day-chip small{font-size:10px;white-space:nowrap}
.week-day-chip.is-today{border-color:#24bbc6}.week-day-chip.is-selected{background:#e1f8fb;border-color:#1faabe}
.agenda-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:15px 0}
.agenda-summary-tile{background:#fff;border:1px solid #dcecf4;border-radius:17px;padding:17px 16px;min-width:0;box-shadow:0 4px 15px #0b497808}
.agenda-summary-tile span{display:block;font-size:9px;letter-spacing:.07em;color:#527992;font-weight:850}
.agenda-summary-tile b{display:block;font-size:31px;line-height:1.25;color:#0a568a;margin:6px 0}
.agenda-summary-tile small{display:block;font-size:10px;color:#7893a4}
.agenda-summary-tile.critical{border-color:#f5b6bb;background:#fff9fa}.agenda-summary-tile.critical b{color:#bd3b4c}
.agenda-summary-tile.caution{border-color:#f5dfa1;background:#fffcf4}.agenda-summary-tile.caution b{color:#b17c12}
.agenda-conflict-panel{margin:15px 0}.agenda-conflict-panel:empty{display:none}
.agenda-conflict-heading{display:flex;justify-content:space-between;align-items:center;background:#102f52;color:#fff;border-radius:14px 14px 0 0;padding:13px 17px;font-size:13px}
.agenda-conflict-heading span{color:#b7d4e9;font-size:11px}
.agenda-conflict-row{display:flex;align-items:center;gap:13px;padding:14px 16px;background:#fff;border:1px solid #deebf4;border-top:0;color:#345a70}
.agenda-conflict-row:last-child{border-radius:0 0 14px 14px}.agenda-conflict-row.overlap,.agenda-conflict-row.travel{background:#fffbfa}
.conflict-icon{width:30px;height:30px;border-radius:10px;background:#fbe1df;color:#be4f4e;display:grid;place-items:center;flex-shrink:0;font-weight:900}
.agenda-conflict-row.check .conflict-icon{background:#fff2d7;color:#b27f13}
.agenda-conflict-row>div:nth-child(2){flex:1;min-width:0}.agenda-conflict-row strong{font-size:12px;color:#213f5b}.agenda-conflict-row p{margin:5px 0 0;font-size:11px;line-height:1.55;color:#647b8b}
.agenda-extra-alerts{font-size:11px;color:#627e91;margin:9px 0}
.agenda-all-clear{padding:14px 17px;border:1px solid #ccebdc;background:#f1fcf8;color:#25765d;font-size:12px;border-radius:14px;line-height:1.5}
.agenda-all-clear span{display:inline-grid;place-items:center;border-radius:50%;width:22px;height:22px;background:#ceefdd;margin-right:7px;font-weight:900}
.event-day-card{border-color:#d9e9f3;background:linear-gradient(#fff,#fff);padding:0;overflow:hidden}
.event-day-card.current-day{border-color:#95dadd}.event-day-card .event-day-header{margin:0;padding:14px 21px;background:#eff8fc;display:flex;justify-content:space-between;gap:10px;text-transform:capitalize;color:#1b5b81;font-size:13px}
.event-day-card .event-day-header:after{display:none}.event-day-count{color:#7794a3;font-size:11px;font-weight:650;white-space:nowrap}
.day-timeline{padding:0 17px}.day-timeline .event-row{padding:17px 7px;gap:13px;align-items:center}
.day-timeline .event-bar{min-height:46px;height:auto;align-self:stretch}.day-timeline .event-time{display:grid;gap:4px;width:55px}
.day-timeline .event-time b{font-size:14px;color:#183f60}.day-timeline .event-time small{font-size:11px;color:#86a2b2}
.event-main{min-width:0;flex:1}.event-title-line{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.event-category{font-size:9px;font-weight:820;padding:4px 7px;border-radius:999px;background:#e3f1fb;color:#256996;white-space:nowrap}
.event-category.cat-salute{background:#ffe6ed;color:#ad4767}.event-category.cat-famiglia{background:#e9e2ff;color:#674ab0}.event-category.cat-lavoro{background:#e5f2fe;color:#1369a9}.event-category.cat-sopralluoghi{background:#e2f8ee;color:#167559}.event-category.cat-personale{background:#fff1da;color:#a7771e}
.event-row.has-alert.overlap,.event-row.has-alert.travel{background:linear-gradient(90deg,#fff7f7,transparent)}
.agenda-alert-badge{display:inline-block;margin-top:7px;padding:5px 9px;border-radius:9px;font-size:10px;font-weight:750;background:#ffebeb;color:#a33742}
.agenda-alert-badge.check{color:#8b6917;background:#fff3da}
.agenda-free-day{padding:15px 21px;color:#778b9e;font-size:12px}.agenda-free-day button{border:0;background:transparent;color:#0b82bb;font-weight:750}
.route-overlap-list{margin-bottom:15px}.route-overlap-title{background:#fff1f0;border-radius:10px;color:#9b3840;font-size:12px;padding:10px 14px;font-weight:850;margin-bottom:9px}
.route-overlap-item{border:1px solid #f3d4d5;border-radius:10px;background:#fffafa;padding:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px;font-size:12px;color:#495e70}
.route-overlap-item span{font-size:10px;color:#af6272}.route-no-overlaps{background:#effbf6;color:#247b5a;border-radius:10px;font-size:12px;padding:12px}
@media(max-width:900px){.agenda-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-tools{grid-template-columns:1fr}.agenda-period-control{justify-content:flex-start}.agenda-weekstrip{gap:5px}}
@media(max-width:560px){.agenda-tools{padding:14px}.agenda-view-switch{width:100%;justify-content:space-between}.agenda-mode{flex:1;padding:11px 5px;font-size:12px}.agenda-period-control{flex-wrap:wrap;gap:7px}.agenda-period-title{font-size:15px}.agenda-tools .agenda-search{display:grid;grid-template-columns:1fr}.agenda-weekstrip{gap:3px}.week-day-chip{padding:9px 1px;border-radius:10px}.week-day-chip span{font-size:9px}.week-day-chip b{font-size:17px}.week-day-chip small{font-size:8px}.agenda-summary-tile{padding:12px}.agenda-summary-tile span{font-size:8px}.agenda-summary-tile b{font-size:26px}.agenda-summary-tile small{font-size:9px}.agenda-conflict-row{flex-wrap:wrap}.agenda-conflict-row .subtle-link{margin-left:42px}.event-title-line .event-category{font-size:8px}.day-timeline{padding:0 9px}.day-timeline .event-row{gap:8px;padding:15px 4px}.day-timeline .event-time{width:43px}.day-timeline .event-time b{font-size:12px}.day-timeline .event-time small{font-size:10px}.day-timeline .route-pin{display:none}.event-day-card .event-day-header{padding:13px}}

body[data-theme="dark"] .agenda-tools,body[data-theme="dark"] .event-day-card,body[data-theme="dark"] .agenda-summary-tile,body[data-theme="dark"] .week-day-chip{background:#18344b;border-color:#34586c;color:#edf8ff}
body[data-theme="dark"] .agenda-period-title,body[data-theme="dark"] .week-day-chip b,body[data-theme="dark"] .agenda-summary-tile b{color:#e4f7ff}
body[data-theme="dark"] .agenda-conflict-row{background:#193348;border-color:#33586f}
body[data-theme="dark"] .agenda-conflict-row strong{color:#eefaff}
body[data-theme="dark"] .event-day-card .event-day-header{background:#17415c}
body[data-theme="dark"] .event-day-card .event-day-header span,body[data-theme="dark"] .day-timeline .event-time b{color:#d5f3ff}
body[data-theme="dark"] .agenda-all-clear{background:#173b36;color:#bbf6dd}

/* Ricardo V0.1 - Interferenze e avvisi spiegabili */
.conflict-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;background:#eaf6fd;border:1px solid #d4e7f3;border-top:0;padding:13px 15px;color:#244962;font-size:11px;line-height:1.5;font-weight:650}
.conflict-legend>span{display:flex;align-items:flex-start;gap:8px}
.legend-dot{width:10px;height:10px;min-width:10px;border-radius:50%;margin-top:3px}
.danger-dot{background:#e44d64}.orange-dot{background:#ef8a36}.yellow-dot{background:#d7a63d}.green-dot{background:#19b68b}
.conflict-list{border-radius:0 0 14px 14px;overflow:hidden}
.agenda-conflict-row{align-items:flex-start;flex-wrap:wrap;padding:16px;gap:12px}
.agenda-conflict-row .conflict-detail{flex:1;min-width:210px}
.agenda-conflict-row .alert-type{display:block;color:#ba5262;letter-spacing:.06em;font-size:10px;font-weight:850;margin:0 0 5px}
.agenda-conflict-row.travel .alert-type{color:#ad601d}.agenda-conflict-row.check .alert-type{color:#9b7521}
.agenda-conflict-row .conflict-detail>strong{display:block;font-size:15px;color:#10314e}
.conflict-appointments{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:7px;align-items:center;margin:12px 0;padding:10px;border-radius:10px;background:#f4f9fd;border:1px solid #e0edf6}
.conflict-appointments>div{min-width:0;display:flex;flex-direction:column;gap:4px}
.conflict-appointments b{font-size:12px;color:#163856;overflow-wrap:anywhere}
.conflict-appointments span:not(.conflict-versus){font-size:11px;color:#4d748b;overflow-wrap:anywhere}
.conflict-versus{font-size:9px;letter-spacing:.04em;border-radius:6px;background:#dbeafa;color:#145b88;padding:6px 5px;font-weight:900}
.agenda-conflict-row p{font-size:12px;color:#3b5f75;line-height:1.65;margin:7px 0}
.agenda-conflict-row .subtle-link{margin-left:43px}
.route-overlap-item{display:block}.route-overlap-item .conflict-appointments{margin:0 0 8px}
.overlap-highlight{display:inline-flex;font-size:12px;color:#a83542;background:#ffe7e8;padding:6px 10px;border-radius:7px}
.transfer-pair .conflict-appointments{margin:10px 0}
.transfer-pair .route-explanation{padding:11px 13px;border-radius:10px;background:#fff0d7;color:#784817;font-size:12px;line-height:1.6}
.transfer-pair.danger .route-explanation{background:#ffe6e5;color:#9d3143}
.transfer-pair.ok .route-explanation{background:#e3f9ed;color:#177c5a}
.event-warning ul{padding-left:17px;margin:8px 0}.event-warning li{margin:4px 0}
body[data-theme="dark"] .conflict-legend{background:#17394e;border-color:#355875;color:#deedfa}
body[data-theme="dark"] .conflict-appointments{background:#213c50;border-color:#416276}
body[data-theme="dark"] .conflict-appointments b,body[data-theme="dark"] .agenda-conflict-row .conflict-detail>strong{color:#fff}
body[data-theme="dark"] .conflict-appointments span:not(.conflict-versus){color:#bfd5e8}
@media(max-width:560px){.conflict-legend{grid-template-columns:1fr;gap:8px;font-size:11px}.agenda-conflict-row .subtle-link{margin-left:0}.conflict-appointments{gap:6px;padding:8px}.conflict-appointments b{font-size:11px}.conflict-appointments span:not(.conflict-versus){font-size:10px}.agenda-conflict-row .conflict-detail{min-width:0}.agenda-conflict-row .conflict-detail>strong{font-size:14px}}
/* Coerenza semantica degli avvisi: rosso=sovrapposizione, arancio=trasferimento verificato non fattibile. */
.agenda-conflict-row.travel{border-left:4px solid #e49a39;background:#fffcf5}
.agenda-conflict-row.travel .conflict-icon{background:#fff0d7;color:#b76c16}
.agenda-conflict-row.overlap{border-left:4px solid #e44d64}
.agenda-conflict-row.check{border-left:4px solid #d6af46}
.agenda-alert-badge.travel{background:#fff0d8;color:#9e5a13}
.transfer-pair.danger{border-left-color:#e49a39;background:#fffdf7}
.transfer-pair.danger .route-explanation{background:#fff0d7;color:#89531c}
.transfer-pair.overlap{border-left-color:#e44d64;background:#fff8f9}
.transfer-pair.overlap .route-explanation{background:#ffe6e5;color:#9d3143}

/* Ricardo V0.2: agenda navigabile e controllo preventivo */
.agenda-mode{min-width:64px}.agenda-overview{grid-template-columns:repeat(5,minmax(0,1fr))}.agenda-summary-tile.success{background:color-mix(in srgb,#d9fae9 78%,var(--panel));border-color:#9addb7}.agenda-summary-tile.success b{color:#087a4e}
.agenda-route-status{padding:11px 15px;border:1px solid #b7d8eb;background:#eef8ff;border-radius:13px;font-size:12px;line-height:1.55;color:#285876;margin:12px 0}
.event-meta-place{display:flex!important;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px!important}.event-meta-place svg{flex-shrink:0}.event-meta-place b{font-weight:700;color:var(--ink)}.event-meta-date{display:block;margin-top:5px!important;font-size:11px;color:var(--muted)}
.event-title-line strong{font-size:15px;line-height:1.4}.event-row{align-items:flex-start!important;padding-top:16px!important;padding-bottom:16px!important}.event-main{min-width:0;overflow-wrap:anywhere}.event-time{min-width:60px}
.agenda-conflict-row.ok{border-left:4px solid #1da56d;background:#edfdf5}.agenda-conflict-row.ok .conflict-icon{background:#c9f4df;color:#087a4e}.agenda-alert-badge.ok{background:#daf8e8;color:#0a8154;border-color:#98dfb6}
.preview-issues{max-height:310px;overflow:auto;display:grid;gap:8px;margin:12px 0}.preview-issues .agenda-conflict-row{padding:12px;font-size:12px;flex-wrap:wrap}.preview-issues .conflict-appointments{flex-wrap:wrap;gap:6px}.preview-issues .agenda-conflict-row .subtle-link{display:none}.preview-ok{background:#e9f8ef;border:1px solid #b1e4c6;border-radius:12px;padding:12px;color:#176343}
.event-warning{max-width:100%;overflow:visible}.event-warning strong{line-height:1.5}.auto-routes-switch{display:flex;align-items:flex-start;gap:11px;background:#e9f8ff;padding:13px;border-radius:13px;margin:12px 0 18px;font-size:13px;line-height:1.55;font-weight:650;color:#12446a}.auto-routes-switch input{width:18px;height:18px;flex:none;margin-top:2px}
.month-overview{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:14px 0}.month-weekday{text-align:center;color:var(--muted);font-weight:750;font-size:11px;text-transform:uppercase;padding:7px 0}.month-cell{border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--ink);padding:10px;min-height:105px;text-align:left;overflow:hidden}.month-cell:not(.empty):hover{border-color:#279adb;background:#eff8ff}.month-cell.empty{background:transparent;opacity:.5}.month-cell.is-today{box-shadow:inset 0 0 0 2px #1279d9}.month-cell.has-issue{border-left:4px solid #d95852}.month-cell-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-bottom:7px}.month-cell-head b{font-size:14px}.month-cell-event{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px;font-weight:600}.month-cell-event .month-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#198dc9;margin-right:4px}.month-cell-event.cat-sopralluoghi .month-dot{background:#ec9b2e}.month-cell-event.cat-salute .month-dot{background:#d56483}.month-cell-more{display:block;color:var(--muted);font-size:10px;margin-top:7px}
@media(max-width:950px){.agenda-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.month-overview{gap:4px}.month-cell{padding:6px;min-height:78px}.month-cell-event{font-size:9px}}
@media(max-width:520px){.agenda-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.month-cell{min-height:62px;padding:4px;border-radius:8px}.month-cell-head{font-size:9px;margin-bottom:4px}.month-cell-head b{font-size:12px}.month-cell-event{font-size:9px;line-height:1.2}.month-cell-more{font-size:9px}.event-meta-date{font-size:10px}.agenda-view-switch{width:100%;justify-content:space-between}.agenda-mode{min-width:auto;flex:1;padding:9px 5px}}

.preview-route-button{margin-top:10px;margin-bottom:4px;width:100%;justify-content:center}

@media(max-width:560px){
 .agenda-conflict-row .conflict-appointments,.preview-issues .conflict-appointments{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%}
 .agenda-conflict-row .conflict-appointments>div,.preview-issues .conflict-appointments>div{min-width:0;width:100%;box-sizing:border-box}
 .agenda-conflict-row .conflict-versus{justify-self:start;text-align:left}
 .agenda-conflict-row .conflict-detail{min-width:0;overflow-wrap:break-word}
 .agenda-conflict-row p{overflow-wrap:anywhere}
}

/* V0.3 - riepilogo eventi, più veicoli e trasparenza delle stime */
.event-synthesis{display:block!important;margin-top:7px;padding:6px 9px;border-radius:8px;background:color-mix(in srgb,var(--panel) 82%,#b3e0f6 18%);color:var(--ink);font-size:11px;line-height:1.45;font-weight:650}
.vehicle-settings-card{grid-column:1/-1}.vehicle-settings-card .section-heading{margin-bottom:10px}.vehicle-settings-card h4{margin:18px 0 12px;font-size:16px}.vehicle-list{display:grid;gap:10px;margin:16px 0}.vehicle-item{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--border);padding:14px 15px;border-radius:13px;background:var(--panel)}.vehicle-item.preferred{border-color:#40b8b6;background:color-mix(in srgb,var(--panel) 90%,#c4f4e5 10%)}.vehicle-item strong{font-size:14px}.vehicle-item small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.vehicle-item-actions{display:flex;gap:6px;flex-wrap:wrap}.vehicle-item-actions button{font:inherit;font-size:11px;border:1px solid var(--border);background:var(--panel);color:var(--ink);padding:7px 9px;border-radius:8px}.vehicle-item-actions button:disabled{opacity:.5;cursor:default}.vehicle-item-actions .danger-text{color:#b33d47}.preferred-pill{display:inline-block;background:#def7eb;border-radius:15px;padding:3px 8px;margin-left:8px;color:#11754f;font-size:10px;font-weight:700}.vehicle-form{border-top:1px solid var(--border);margin-top:13px}.vehicle-form .settings-actions{margin-top:15px;display:flex;gap:10px;flex-wrap:wrap}.vehicle-calc-fields{margin-top:14px}.vehicle-estimate,.trip-cost-result{border:1px solid var(--border);padding:13px 16px;border-radius:12px;margin-top:12px;background:var(--panel);color:var(--ink);font-size:13px;line-height:1.6}.vehicle-estimate strong,.trip-cost-result strong{display:block;font-size:17px;color:var(--ink)}.vehicle-estimate p{margin:4px 0}.vehicle-estimate small,.trip-cost-result small{display:block;color:var(--muted)}.trip-cost-panel{border-top:1px dashed var(--border);margin-top:15px;padding-top:14px}.trip-cost-panel h5{margin:0 0 11px;font-size:14px}.trip-cost-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.trip-cost-controls label{font-size:11px;color:var(--muted);display:grid;gap:5px}.trip-cost-controls input,.trip-cost-controls select{width:100%;min-width:0;padding:9px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--ink)}
@media(max-width:900px){.trip-cost-controls{grid-template-columns:1fr}.vehicle-item{align-items:flex-start;flex-direction:column}}

.vehicle-form .route-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 19px;margin-top:13px}
.vehicle-form .route-form-grid label{display:flex;flex-direction:column;align-items:stretch;gap:7px;color:var(--ink);font-size:12px;font-weight:650;line-height:1.5}
.vehicle-form .route-form-grid :is(input,select){display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:11px 13px;border:1px solid var(--border);border-radius:10px;font:inherit;font-weight:500;background:var(--panel);color:var(--ink)}
@media(max-width:650px){.vehicle-form .route-form-grid{grid-template-columns:1fr}.vehicle-settings-card .section-heading{align-items:flex-start;flex-wrap:wrap}}

/* RICARDO V0.4: alert persistenti in home, test diagnostici leggibili */
.home-intelligence{margin:16px 0 22px;border:1px solid #bfdceb;background:var(--panel,#fff)}
.home-alert-status{font-size:14px;font-weight:800;margin:9px 0 12px;color:var(--ink,#133c55)}
.home-alert-list{display:grid;gap:8px;max-height:540px;overflow:auto}
.home-alert-list .agenda-conflict-row{border:1px solid #dce8ef;border-radius:11px}
.home-route-status,.alert-check-toolbar,#alert-test-result{font-size:12px;line-height:1.5;color:var(--ink,#3c637a)}
.home-route-status{margin-top:12px;border-top:1px solid #deebf3;padding-top:10px}
.alert-check-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0}
.route-diagnostics{border:1px solid #a7d0e5;background:#f0f8ff;border-radius:13px;padding:14px;margin-top:15px;color:#184a67}
.route-diagnostics h4{margin:0 0 7px;font-size:15px}.route-diagnostics p{font-size:12px;line-height:1.55;margin:5px 0 9px}
.route-diagnostics .diagnostic-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
#route-diagnostic-status{background:#fff;border:1px solid #dceaf0;padding:12px;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere}
body[data-theme="dark"] .route-diagnostics{background:#142f43;border-color:#42657e;color:#eaf8ff}
body[data-theme="dark"] #route-diagnostic-status{background:#21394b;color:#eaf8ff}
@media(max-width:560px){.home-intelligence{padding:16px}.home-alert-list .agenda-conflict-row{padding:10px}.diagnostic-actions button{width:100%;white-space:normal}}

/* RICARDO V0.5: implementazioni subito visibili sulla home */
.feature-status{padding:18px 20px;margin:14px 0 18px;border:2px solid #167897;background:linear-gradient(125deg,rgba(12,117,144,.12),var(--panel,#fff));}
.feature-status-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.feature-status-header h2{margin:4px 0 8px;font-size:clamp(19px,2.4vw,25px);color:var(--ink,#164056)}
.feature-status-header p{margin:0 0 12px;font-size:14px;line-height:1.5}
.release-label{font-size:11px;font-weight:850;letter-spacing:.09em;color:#096984}
.release-version{padding:7px 11px;background:#146e89;color:white;border-radius:10px;font-size:14px;font-weight:900;white-space:nowrap}
.feature-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:3px}
.feature-actions .light-button{font-size:13px;min-height:40px;white-space:normal}
.feature-feedback{margin-top:12px;border-left:3px solid #1688a4;padding:9px 12px;background:rgba(27,143,172,.09);border-radius:5px;font-size:13px;line-height:1.5;white-space:pre-line}
@media(max-width:640px){.feature-status{padding:15px 13px}.feature-actions{display:grid;grid-template-columns:1fr 1fr}.feature-actions .light-button{padding:10px 6px;font-size:12px;min-width:0}.release-version{font-size:12px;padding:6px 9px}}
