:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#18332e;background:#f4f7f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #8dd9c3;outline-offset:2px}header{background:#123d36;color:white;box-shadow:0 2px 12px #102e2818}.header-inner{max-width:1160px;margin:auto;min-height:76px;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px}.brand strong,.brand small{display:block}.brand small{font-size:12px;color:#b4d7cb;margin-top:3px}.brand-icon,.mark{background:#d8f5e8;border-radius:14px;padding:11px;font-size:26px}.user-actions{display:flex;align-items:center;gap:16px;font-size:13px}.ghost{border:1px solid #adc8c2;background:transparent;color:inherit;padding:9px 13px;border-radius:10px}main{max-width:1160px;margin:0 auto;padding:32px 22px}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}h1{font-size:clamp(24px,4vw,32px);margin:0 0 6px;letter-spacing:-.6px}h2{font-size:19px;margin:0 0 17px}h3{font-size:16px;margin:17px 0 12px}.heading p,.muted{color:#69807a;margin:3px 0 18px}.car-chip{padding:11px 15px;border-radius:30px;background:white;border:1px solid #e1e8e5;white-space:nowrap;font-weight:600;font-size:13px}.tabs{display:flex;gap:7px;overflow-x:auto;margin-bottom:20px}.tab{border:1px solid #dae6e1;background:white;color:#426259;padding:11px 17px;border-radius:10px;font-weight:700;white-space:nowrap}.tab.active{background:#123d36;color:white;border-color:#123d36}.two-columns{display:grid;grid-template-columns:1.12fr 1fr;gap:20px;align-items:start}.card{background:#fff;border:1px solid #e1e9e6;border-radius:18px;padding:24px;box-shadow:0 6px 24px #1d463607;margin-bottom:18px}.card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.card-title h2{margin:0}.calendar-nav{display:flex;align-items:center;gap:12px}.calendar-nav strong{font-size:14px;min-width:115px;text-align:center;text-transform:capitalize}.calendar-nav button{background:#f4f7f6;border:0;width:30px;height:30px;border-radius:8px;font-size:22px}.weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays{margin-top:22px;text-align:center;color:#81948f;font-weight:700;font-size:11px}.month-grid{margin-top:8px}.day{aspect-ratio:1.08;border-radius:10px;border:1px solid transparent;background:#f5f8f7;position:relative;color:#244139;font-weight:600}.day:hover{border-color:#75bb9f}.day.selected{background:#123d36;color:#fff}.day.blank{background:transparent;pointer-events:none}.day.old{opacity:.45}.mini-dot{position:absolute;bottom:7px;left:calc(50% - 3px);width:6px;height:6px;background:#ed9f3e;border-radius:100%}.day.selected .mini-dot{background:white}.legend{display:flex;gap:15px;font-size:12px;color:#758b84;margin-top:18px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}.green{background:#83c6a6}.orange{background:#ed9f3e}.divider{border-top:1px solid #e9efec;margin-top:22px}.booking-item{display:flex;gap:12px;align-items:center;justify-content:space-between;background:#f6f9f8;border-radius:12px;padding:12px;margin:9px 0}.booking-item strong,.booking-item small{display:block}.booking-item small{color:#698079;margin-top:3px}.booking-item .actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.small-btn{border:1px solid #bed7cb;background:white;color:#23674e;border-radius:8px;font-weight:700;padding:7px 9px;font-size:12px}.danger-btn{color:#a03b32;border-color:#eccdc9}.empty{background:#f5f8f7;color:#73867f;border-radius:10px;padding:18px;font-size:13px}label{display:block;font-size:13px;font-weight:700;margin-bottom:14px}label input,label textarea,label select{margin-top:7px}input,textarea,select{width:100%;display:block;border:1px solid #d3e0d9;border-radius:10px;padding:11px 12px;background:white;color:#203c33;resize:vertical}input:focus,textarea:focus{border-color:#3ca479}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.primary{background:#137856;color:white;border:0;border-radius:10px;padding:13px 16px;font-weight:700;width:100%}.primary:hover{background:#096544}.tip{color:#75887f;font-size:12px;margin-top:20px}.conflict{margin-top:18px;border:1px solid #f0d3b5;background:#fff8f0;border-radius:12px;padding:13px}.conflict h3{color:#a25520;margin-top:0}.conflict p{font-size:13px;color:#765d46}.conflict-entry{padding:11px;background:white;border-radius:9px;margin-top:8px;display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:13px}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.metric{background:#f3f8f5;border-radius:12px;padding:20px}.metric b{font-size:30px;display:block;margin:6px 0}.metric span{color:#72847e;font-size:13px}.stat-row,.user-row,.chat-entry{border-bottom:1px solid #edf2ef;padding:13px 0;display:flex;justify-content:space-between;gap:10px;align-items:center}.chat-entry{display:block;width:100%;text-align:left;background:transparent;border-top:0;border-left:0;border-right:0;color:inherit}.chat-entry:hover{background:#f5f8f7}.chat-entry small,.user-row small{display:block;color:#72867c;margin-top:4px}.thread{min-height:240px;max-height:420px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-bottom:15px}.bubble{background:#edf4f0;padding:11px 13px;border-radius:12px;max-width:88%;align-self:flex-start;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.own{background:#cdeede;align-self:flex-end}.bubble small{display:block;color:#587168;font-size:10px;margin-top:5px}.messages-layout .card{min-height:340px}#chatForm{border-top:1px solid #e1e9e5;padding-top:15px}#chatForm button{margin-top:8px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{background:white;border:1px solid #e1eae5;border-radius:22px;box-shadow:0 15px 40px #183d3112;padding:35px;width:min(100%,430px)}.login-card .mark{width:max-content}.login-card h1{margin:20px 0 8px}.login-card p{color:#6b8078;margin-bottom:25px}.login-card small{display:block;color:#81928a;margin-top:18px}footer{text-align:center;color:#84968e;font-size:12px;margin:40px 0}dialog{border:0;border-radius:18px;box-shadow:0 25px 80px #18372e42;padding:24px;width:min(92vw,520px)}dialog::backdrop{background:#102b2475}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top h2{margin:0}.dialog-top .ghost{color:#34564b}#toast{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:100;max-width:90vw;border-radius:10px;background:#133d34;color:white;padding:12px 20px;box-shadow:0 8px 30px #17372730;display:none;font-weight:600;font-size:13px}#toast.error{background:#9b302b}@media(max-width:800px){.two-columns{grid-template-columns:1fr}.heading{align-items:start;flex-direction:column}main{padding:22px 14px}.card{padding:17px}.header-inner{padding:13px}.user-actions{gap:7px}.user-actions #who{max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.car-chip{white-space:normal}}@media(max-width:410px){.booking-item{align-items:flex-start;flex-direction:column}.booking-item .actions{width:100%;justify-content:flex-start}.calendar-nav{gap:3px}.month-grid,.weekdays{gap:2px}.day{border-radius:6px}.card-title h2{font-size:17px}}
[hidden]{display:none!important}

/* Panda Consorzio · identità blu e card responsive */
:root{--panda-blue:#104da1}
header{background:linear-gradient(110deg,#174a92,#0756ae)!important}
.primary,.tab.active{background:#0962c7!important;border-color:#0962c7!important}
.primary:hover{background:#064e9f!important}
.vehicle-banner{display:flex;gap:22px;align-items:center;background:linear-gradient(110deg,#f2f7ff,#ffffff);padding:12px 22px;margin-bottom:18px;border:1px solid #d9e6fa;border-radius:18px;min-height:130px}
.vehicle-banner img{width:230px;max-width:48%;height:105px;object-fit:contain;mix-blend-mode:multiply}
.vehicle-banner strong{font-size:21px;color:#143c72;display:block}
.vehicle-banner span,.vehicle-banner small{display:block;color:#667b96;margin-top:5px}
.notice-count{background:#dd3838;color:white;border-radius:99px;padding:2px 7px;font-size:11px}
.notice-item,.report-item{padding:15px;border:1px solid #e1e9f4;border-radius:12px;margin-top:12px;display:flex;align-items:start;justify-content:space-between;gap:14px}
.notice-item.unread{background:#edf5ff;border-color:#b9d5f9}
.notice-item p,.report-item p{margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.notice-item small,.report-item small{display:block;font-size:12px;color:#7d8897}
.report-item{display:block}.report-item label{max-width:250px;margin-top:13px}
@media(max-width:600px){.vehicle-banner{gap:8px;padding:10px;flex-direction:column;text-align:center}.vehicle-banner img{max-width:100%;width:250px}.vehicle-banner strong{font-size:17px}}

/* Logo originale fornito dal Consorzio: intestazione desktop/mobile e accesso */
.brand-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:108px;min-height:55px;padding:5px;background:#fff;border-radius:9px;overflow:hidden}
.consorzio-logo{display:block;width:100%;height:auto;max-height:55px;object-fit:contain}
.login-card .mark{background:#fff;border:1px solid #e1e8ee;padding:8px;width:184px;border-radius:12px}
.login-logo{max-height:95px}
@media(max-width:480px){.header-inner{gap:7px}.brand{gap:8px}.brand-icon{width:78px;min-height:42px;padding:3px}.brand-icon .consorzio-logo{max-height:40px}.brand strong{font-size:15px}.brand small{font-size:10px}.user-actions{gap:5px}}

.push-settings{background:#eef5ff;border:1px solid #bad6ff;border-radius:12px;padding:18px;margin-bottom:18px}
.push-settings h3{margin-top:0}
.push-settings button{margin:4px 8px 8px 0}

/* Panda Consorzio 1.3: interfaccia mobile e messaggi di accesso */
.login-status{background:#fff0ec;border:1px solid #f2a99d;border-radius:10px;padding:12px;color:#8b302a;font-size:14px;line-height:1.5;margin-top:12px}
.login-card{max-width:430px}
@media(max-width:720px){
 body{background:#edf3fb}main{padding:18px 13px 94px;max-width:100%;overflow-x:hidden}
 .header-inner{min-height:64px;padding:8px 12px;gap:6px}
 .brand{min-width:0;gap:8px}.brand strong{font-size:16px}.brand small{display:none}
 .brand-icon{width:71px;min-height:38px}.brand-icon .consorzio-logo{max-height:37px}
 .user-actions{gap:5px}.user-actions #who{display:none}.ghost{padding:8px 10px;font-size:12px}
 .heading{margin-bottom:12px}.heading h1{font-size:23px}.heading p{font-size:13px;margin-bottom:0}
 .car-chip{display:none}.vehicle-banner{flex-direction:row;text-align:left;padding:10px 12px;min-height:88px;gap:10px;margin-bottom:13px}
 .vehicle-banner img{width:94px;max-width:34%;height:75px;flex-shrink:0}.vehicle-banner strong{font-size:15px;line-height:1.25}.vehicle-banner span{font-size:12px;margin-top:3px}.vehicle-banner small{display:none}
 .tabs{position:fixed;z-index:90;bottom:0;left:0;right:0;margin:0;padding:7px 5px calc(7px + env(safe-area-inset-bottom));display:flex;justify-content:space-around;gap:1px;overflow-x:auto;background:#fff;border-top:1px solid #d9e3f1;box-shadow:0 -4px 20px #18365915}
 .tab{border:0;background:transparent;color:#5c6f88;border-radius:11px;white-space:normal;min-width:0;flex:1 0 0;font-weight:700;font-size:10px;line-height:1.2;padding:9px 3px;max-width:110px}
 .tab.active{background:#e8f1ff!important;color:#0757b9!important;border:0!important}
 .tab.admin-only{display:none}
 .panel{min-width:0}.two-columns{display:grid;grid-template-columns:1fr;gap:0}
 .card{padding:16px 14px;border-radius:16px;margin-bottom:12px;box-shadow:0 4px 14px #1836590d}
 h2{font-size:17px;margin-bottom:12px}.card-title{gap:12px}
 .calendar-nav{gap:5px}.calendar-nav strong{min-width:100px;font-size:12px}
 .month-grid,.weekdays{gap:3px}.day{min-height:40px;aspect-ratio:auto;border-radius:8px;font-size:14px}
 .booking-item{flex-wrap:wrap}.booking-item .actions{width:100%}.form-row{grid-template-columns:1fr 1fr;gap:9px}
 .primary{min-height:46px}.metrics{gap:8px}.metric{padding:14px}.metric b{font-size:25px}
 .login-wrap{min-height:100dvh;padding:14px;align-items:center}.login-card{width:100%;padding:24px 20px}
 .login-card h1{font-size:27px}input,select,textarea{font-size:16px}
 footer{margin:22px 0 12px}dialog{max-height:85dvh;overflow-y:auto}
}
@media(max-width:390px){.tab{font-size:9px}.vehicle-banner img{width:80px}.brand-icon{width:59px}.day{min-height:36px;font-size:12px}}

/* v2: mobile app navigation & login */
@media(max-width:720px){.tabs{scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:1 1 0;min-width:0;padding:10px 2px}.tab.admin-only:not([hidden]){display:none!important}.login-status{overflow-wrap:anywhere}.notice-item{flex-wrap:wrap}.vehicle-banner{box-shadow:0 5px 18px #20467d10}}


/* v3: solo foto auto nella hero */
.heading{align-items:flex-start}
.vehicle-photo-only{justify-content:center;align-items:center;padding:16px 22px;min-height:150px}
.vehicle-photo-only img{width:min(100%,420px);max-width:100%;height:auto;max-height:180px;object-fit:contain;mix-blend-mode:multiply}
@media(max-width:720px){.vehicle-photo-only{padding:12px;min-height:auto}.vehicle-photo-only img{width:min(100%,260px);max-height:none}}


/* v4: home professionale e hero auto */
main{padding-top:26px}
.hero-panel{display:grid;grid-template-columns:minmax(280px,1.1fr) minmax(280px,.9fr);align-items:center;gap:26px;margin:8px 0 20px;padding:28px;border-radius:24px;background:linear-gradient(135deg,#f8fbff 0%,#eef5ff 52%,#ffffff 100%);border:1px solid #d8e5f8;box-shadow:0 12px 30px rgba(16,77,161,.08)}
.hero-kicker{display:inline-flex;align-items:center;gap:8px;background:#e8f1ff;color:#0f4d9b;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px}
.hero-panel h1{font-size:clamp(28px,3.8vw,42px);line-height:1.08;color:#18332e;margin:0 0 12px;letter-spacing:-.04em}
.hero-panel p{font-size:18px;line-height:1.55;color:#50656c;margin:0;max-width:640px}
.hero-vehicle-card{display:flex;align-items:center;justify-content:center;min-height:250px;border-radius:22px;padding:18px;background:radial-gradient(circle at 50% 50%,#ffffff 0%,#f6f9fd 62%,#edf3fb 100%);border:1px solid #dde7f5;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.hero-vehicle-card img{display:block;width:min(100%,420px);max-width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 16px 24px rgba(0,0,0,.10))}
.tabs{margin-top:18px;margin-bottom:18px}
.card{border:1px solid #e4ece8;box-shadow:0 10px 24px rgba(20,60,114,.05)}
.card h2{color:#203a39}
.tab{font-weight:800;border-radius:14px;padding:12px 18px;box-shadow:0 2px 6px rgba(0,0,0,.03)}
.tab.active{box-shadow:0 8px 18px rgba(9,98,199,.22)!important}
.calendar-nav button{background:#eff4f8;border:1px solid #dce6ef}
.primary{box-shadow:0 10px 20px rgba(9,98,199,.18)}
@media(max-width:900px){.hero-panel{grid-template-columns:1fr;padding:20px;gap:18px}.hero-panel p{font-size:16px}.hero-vehicle-card{min-height:200px}}
@media(max-width:720px){main{padding-top:14px}.hero-panel{padding:18px 14px;border-radius:18px;gap:14px;margin-bottom:12px}.hero-kicker{font-size:11px;padding:7px 10px}.hero-panel h1{font-size:24px;line-height:1.15}.hero-panel p{font-size:15px;line-height:1.45}.hero-vehicle-card{padding:12px;min-height:auto;border-radius:16px}.hero-vehicle-card img{width:min(100%,260px)} .tabs{margin-top:10px}}


/* v5: Alpe Crampiolo + comunicazioni amministratore */
header{background:linear-gradient(100deg,#0d478f 0%,#0e5ab9 100%)!important}
.header-inner{min-height:84px}
.brand{gap:14px}
.brand-title-wrap{display:flex;align-items:center;min-height:55px}
.brand-title{display:block;color:#fff;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:700;font-size:clamp(32px,4.6vw,44px);line-height:1;letter-spacing:.02em;text-shadow:0 2px 10px rgba(0,0,0,.18)}
.hero-panel{grid-template-columns:minmax(340px,1fr) minmax(340px,.9fr);padding:24px 26px 22px;background:linear-gradient(135deg,#f8fbff 0%,#eef6ff 45%,#ffffff 100%)}
.hero-kicker{background:#e7f0ff;color:#114e9b}
.hero-panel h1{font-size:clamp(26px,3.4vw,38px);color:#163f77;margin-bottom:10px}
.hero-panel p{font-size:19px;color:#35526f;font-weight:600;max-width:700px}
.hero-vehicle-card{position:relative;overflow:hidden;min-height:235px;padding:10px 18px;background:linear-gradient(180deg,#eff6ff 0%,#f9fbff 100%)}
.hero-vehicle-card::before,.hero-vehicle-card::after{content:"";position:absolute;border-radius:50%;filter:blur(2px);opacity:.55}
.hero-vehicle-card::before{width:240px;height:240px;background:radial-gradient(circle,#dcecff 0%,rgba(220,236,255,0) 68%);left:-45px;bottom:-95px}
.hero-vehicle-card::after{width:320px;height:160px;background:radial-gradient(circle,#cae5ff 0%,rgba(202,229,255,0) 70%);right:-90px;bottom:-55px}
.hero-vehicle-card img{position:relative;z-index:1;width:min(100%,390px);max-height:210px;filter:drop-shadow(0 18px 26px rgba(0,0,0,.12))}
.admin-bulletin{display:grid;grid-template-columns:82px 1fr;gap:18px;align-items:center;margin:6px 0 18px;padding:20px 22px;border-radius:22px;background:linear-gradient(135deg,#f9fbff 0%,#eef5ff 100%);border:1px solid #cfe0f8;box-shadow:0 10px 22px rgba(16,77,161,.08)}
.admin-bulletin-icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(180deg,#1967c5,#0f4e9e);color:#fff;font-size:30px;box-shadow:0 10px 20px rgba(15,78,158,.22)}
.admin-bulletin-label{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0f58ab;margin-bottom:6px}
.admin-bulletin h2{margin:0 0 6px;color:#1b3767;font-size:28px;line-height:1.08}
.admin-bulletin p{margin:0;color:#536b87;line-height:1.6;font-size:15px}
@media(max-width:900px){.brand-title{font-size:34px}.hero-panel{grid-template-columns:1fr}.hero-panel p{font-size:17px}.admin-bulletin{grid-template-columns:64px 1fr;padding:18px}.admin-bulletin h2{font-size:24px}}
@media(max-width:720px){.header-inner{min-height:72px}.brand-title-wrap{min-height:auto}.brand-title{font-size:26px}.hero-panel{padding:18px 14px 16px}.hero-panel h1{font-size:22px}.hero-panel p{font-size:15px;line-height:1.5}.hero-vehicle-card{min-height:auto;padding:12px}.hero-vehicle-card img{width:min(100%,255px);max-height:160px}.admin-bulletin{grid-template-columns:1fr;gap:12px;padding:16px 14px;border-radius:18px;margin-bottom:12px}.admin-bulletin-icon{width:52px;height:52px;border-radius:14px;font-size:26px}.admin-bulletin h2{font-size:20px}}


/* v3.0: identità visiva approvata Alpe Crampiolo */
:root{--deepblue:#0a397b;--royal:#095bb6;--gold:#f6b630}
body{background:#eff6fc;color:#102c4e}
header{background:linear-gradient(105deg,#08418e,#0754a9 65%,#063575)!important;border-bottom:4px solid var(--gold);box-shadow:0 5px 18px #0d3f7830}
.header-inner{max-width:1440px;min-height:94px;padding:10px 34px}
.brand{gap:20px;min-width:0}.brand-icon{width:153px;min-height:65px;border-radius:15px;background:#fff;padding:5px;box-shadow:0 5px 12px #001b3955}
.brand-icon .consorzio-logo{max-height:64px}
.brand-name{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-left:20px;border-left:2px solid #ffffff80;min-width:0}
.brand-name strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,4.4vw,57px);font-style:italic;letter-spacing:.01em;line-height:1.02;color:#fff;text-shadow:0 2px 4px #07367844;white-space:nowrap}
.brand-underline{margin-top:7px;width:76%;height:4px;border-radius:50%;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.user-actions{color:white;font-weight:700}
.user-actions .ghost{border-color:#bcd9ff;border-radius:12px}
main{max-width:1440px;padding:0 34px 42px}
.hero-intro{min-height:145px;display:flex;align-items:center;gap:27px;position:relative;margin:0 -34px 0;padding:25px 52px;overflow:hidden;background:linear-gradient(105deg,#e2f1fd 0%,#e9f6ff 45%,#c4e4fa 85%,#9ccef2 100%)}
.hero-intro:before{content:'';position:absolute;right:-7%;bottom:-2px;width:50%;height:85%;background:linear-gradient(135deg,#8bb9d7 25%,#e9f6ff 26%,#e9f6ff 32%,#5c9dce 34%,#b8d7e7 50%,#346f9c 52%,#7eafc5 75%);clip-path:polygon(0 95%,15% 62%,24% 72%,40% 21%,49% 50%,61% 6%,71% 41%,81% 18%,100% 83%,100% 100%);opacity:.7}
.hero-service-icon{flex-shrink:0;width:73px;height:73px;border:3px solid #164d95;border-radius:18px;display:grid;place-items:center;font-size:43px;color:#0c438b;font-weight:700;background:#ffffff6b;position:relative;z-index:1}
.hero-intro h1{font-size:clamp(23px,2.9vw,37px);font-style:italic;font-weight:800;color:#0c407e;line-height:1.18;letter-spacing:-.025em;position:relative;z-index:1;margin:0;max-width:890px}
.car-showcase{position:relative;margin:0 0 22px;padding:10px 24px;min-height:236px;border:6px solid white;border-radius:28px;background:linear-gradient(180deg,#d1eafd 0%,#f4faff 65%,#e7f3ff 100%);box-shadow:0 11px 20px #154b7933;display:flex;justify-content:center;align-items:center;overflow:hidden}
.car-waves{position:absolute;inset:0;background:radial-gradient(ellipse at 25% 120%,#51b4ef 0%,#75cbff 16%,transparent 17%),radial-gradient(ellipse at 87% 116%,#379de1 0%,#7accff 25%,transparent 26%);opacity:.6}
.car-showcase img{display:block;position:relative;z-index:1;max-width:100%;width:440px;max-height:220px;height:auto;object-fit:contain;filter:drop-shadow(0 17px 20px #143a5a2b)}
.tabs{display:flex;gap:12px;justify-content:space-between;margin:20px 0}.tab{border-radius:15px;padding:14px 15px;font-weight:800;background:#fff;color:#0d2447;border:1px solid #dae7f4;box-shadow:0 5px 12px #10457712}.tab.active{background:linear-gradient(#0c76d8,#084b99)!important;border-color:#084b99!important;color:#fff!important}
.bulletin-card{display:grid;grid-template-columns:290px 1fr;align-items:stretch;gap:0;margin:8px 0 22px;border:2px solid #8bbfff;background:linear-gradient(110deg,#e7f3ff,#f3faff);border-radius:21px;box-shadow:0 8px 18px #0b4d9618;overflow:hidden}
.bulletin-heading{display:flex;align-items:center;gap:16px;padding:24px 22px;border-right:2px solid #a7d0fe}.bulletin-symbol{flex-shrink:0;display:grid;place-items:center;width:56px;height:56px;background:linear-gradient(#1e7bd0,#064b9f);color:#fff;border-radius:50%;font-family:Georgia,serif;font-weight:bold;font-size:38px}
.bulletin-heading h2{font-size:22px;line-height:1.1;color:#0d366d;margin:0}.bulletin-content{padding:20px 24px;min-height:95px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.bulletin-entry{padding:4px 0 8px;border-bottom:1px solid #cae0fa}.bulletin-entry:last-child{border-bottom:0}.bulletin-entry strong{font-size:17px;font-style:italic;color:#0b3a78}.bulletin-entry p{margin:5px 0;white-space:pre-wrap;color:#223c58;line-height:1.5}.bulletin-entry small{font-size:11px;color:#7189a2}.bulletin-placeholder{margin:0;color:#4c6685;font-size:15px;line-height:1.55}
.card{border-radius:22px;border:1px solid #e1eaf4;box-shadow:0 8px 18px #14467b10}.card h2{color:#0d294a}.primary{background:linear-gradient(180deg,#0c6dcc,#073e86)!important;box-shadow:0 5px 12px #0d5baa24}.admin-tools{margin-top:20px}.admin-announcement{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid #e3eaf3;padding:13px 0}.admin-announcement small{display:block;color:#71849d;margin-top:5px}
@media(max-width:930px){main{padding:0 18px 36px}.hero-intro{margin:0 -18px;padding:22px 22px}.header-inner{padding:10px 16px}.bulletin-card{grid-template-columns:220px 1fr}.bulletin-heading{padding:16px}.bulletin-heading h2{font-size:19px}.tabs{flex-wrap:wrap}}
@media(max-width:720px){main{padding:0 12px 110px}.header-inner{padding:8px 10px;min-height:66px}.brand{gap:7px}.brand-icon{width:72px;min-height:42px;padding:3px}.brand-icon .consorzio-logo{max-height:38px}.brand-name{padding-left:7px;border-left-width:1px}.brand-name strong{font-size:clamp(18px,5.2vw,27px)}.brand-underline{height:2px;margin-top:3px}.hero-intro{margin:0 -12px;padding:20px 12px;gap:12px;min-height:105px}.hero-intro:before{opacity:.32}.hero-service-icon{width:44px;height:44px;font-size:26px;border-width:2px;border-radius:11px}.hero-intro h1{font-size:clamp(15px,4.1vw,22px);line-height:1.2}.car-showcase{padding:8px;border-width:4px;border-radius:18px;min-height:155px;margin-bottom:14px}.car-showcase img{width:min(100%,310px);max-height:160px}.tabs{position:fixed;z-index:90;bottom:0;left:0;right:0;margin:0;padding:6px 4px calc(7px + env(safe-area-inset-bottom));background:#fff;display:flex;flex-wrap:nowrap;gap:2px}.tab{font-size:10px;padding:10px 2px}.bulletin-card{grid-template-columns:1fr;gap:0;margin:12px 0;border-radius:16px}.bulletin-heading{padding:12px 14px;border-right:none;border-bottom:1px solid #a7d0fe;gap:10px}.bulletin-symbol{width:36px;height:36px;font-size:25px}.bulletin-heading h2{font-size:17px}.bulletin-heading br{display:none}.bulletin-content{padding:12px 14px;min-height:55px}.bulletin-entry strong{font-size:15px}.bulletin-entry p,.bulletin-placeholder{font-size:13px}.card{border-radius:16px}}

/* v4 - layout amministrazione approvato */
.admin-dashboard{display:grid;grid-template-columns:1.32fr .95fr;gap:18px;margin:12px 0 18px;scroll-margin-top:16px}
.admin-tool-card{background:#fff;border:1px solid #bfd8f6;border-radius:20px;padding:20px 22px;box-shadow:0 7px 20px #0b4d961a;min-width:0}
.admin-tool-card h2{font-size:22px;margin:0 0 15px;color:#123467;letter-spacing:-.03em}
.admin-tool-card label{font-size:14px;color:#17365d}
.admin-tool-card input,.admin-tool-card textarea{border:1px solid #bcd2e9;border-radius:10px;background:#fff}
.admin-tool-card p.muted{font-size:14px;line-height:1.5;margin:0 0 16px;color:#4b6380}
.admin-announcements-list{max-height:190px;overflow:auto;margin-bottom:15px}
.admin-announcement{padding:11px 13px;margin-bottom:8px;border:1px solid #f1db91;border-left:5px solid #f0b51b;border-radius:11px;background:#fff9e9;display:flex;justify-content:space-between;align-items:start;gap:10px}
.admin-announcement strong{font-size:15px;color:#162f56}.admin-announcement p{margin:5px 0;color:#4e5565;font-size:13px;white-space:pre-wrap}.admin-announcement small{display:block;color:#7d879a;font-size:11px}
.admin-write-form textarea{width:100%;resize:vertical;min-height:75px}
.admin-form-actions{display:flex;gap:12px;align-items:center;justify-content:space-between}
.admin-form-actions small{color:#6a7a8b;white-space:nowrap;font-weight:700}
.admin-form-actions .primary{max-width:245px;margin-left:auto}
.pdf-tool{background:linear-gradient(150deg,#eef7ff,#e2f1ff)}
.pdf-tool .pdf-download{background:linear-gradient(180deg,#118c53,#00683a)!important;color:#fff;min-height:52px;font-size:16px;margin-top:2px}
.pdf-tool .tip{color:#48677a;font-size:12px}
@media(max-width:920px){.admin-dashboard{grid-template-columns:1fr}.admin-form-actions .primary{max-width:unset}}
@media(max-width:720px){.admin-tool-card{padding:16px 14px;border-radius:16px}.admin-tool-card h2{font-size:19px}.admin-dashboard{gap:12px;margin:10px 0 16px}.tab.admin-only:not([hidden]){display:inline-flex!important;align-items:center;justify-content:center}.tabs{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.tab{flex:0 0 94px;min-width:94px}.tab.admin-only{flex:0 0 112px;min-width:112px}.admin-form-actions{flex-direction:column;align-items:stretch}.admin-form-actions small{text-align:right}.admin-form-actions .primary{width:100%}}
