:root{--navy:#101842;--purple:#5220bd;--purple2:#36138e;--orange:#ff6200;--red:#e20b24;--green:#168c2c;--ink:#11183b;--line:#e2e4ef;--bg:#f7f8fc}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select{font:inherit}.hidden{display:none!important}button{cursor:pointer}.toast{position:fixed;right:22px;bottom:22px;background:#11183b;color:white;padding:12px 18px;border-radius:10px;opacity:0;transform:translateY(10px);transition:.2s;z-index:99}.toast.show{opacity:1;transform:none}.login-shell{min-height:100vh;display:grid;place-items:center;background:#f4f8fa;padding:24px}.login-card{width:min(470px,100%);background:#fff;border-radius:24px;padding:28px 42px;box-shadow:0 18px 55px #17263d1a;text-align:center}.login-sailor{width:105px;height:105px;object-fit:cover;border-radius:50%}.login-kicker{font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:900;color:#17616b}.login-card h1{font-size:32px;margin:4px 0;color:#125660}.login-accent{width:55px;height:4px;background:#f2b526;margin:14px auto 20px}.login-subtitle{color:#586779}.login-card label{display:block;text-align:left;font-weight:800;font-size:13px;margin-top:14px}.login-field{display:flex;align-items:center;border:1px solid #d8e1e7;border-radius:11px;padding:0 12px;margin-top:7px;height:50px}.login-field input{border:0;outline:0;width:100%;padding:10px}.primary,.new-btn{border:0;background:var(--orange);color:#fff;font-weight:800;border-radius:9px;padding:12px 18px}.full{width:100%}.login-button{margin-top:22px}.form-error{color:#c81d2b}.app{display:grid;grid-template-columns:200px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#45239d,#2d1674);color:#fff;padding:24px 12px;display:flex;flex-direction:column;height:100vh;position:sticky;top:0}.meal-logo{font-size:62px;text-align:center;margin:4px 0 34px;filter:grayscale(1) brightness(4)}.sidebar nav{display:grid;gap:8px}.sidebar nav button{border:0;background:transparent;color:white;text-align:left;padding:14px 12px;border-radius:9px;font-weight:700;font-size:15px}.sidebar nav button.active{background:var(--orange)}.sidebar small{margin-top:auto;text-align:center;opacity:.55}.workspace{min-width:0}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;padding:0 28px;position:sticky;top:0;z-index:5}.top-actions{display:flex;align-items:center;gap:14px}.export-btn{border:1px solid #d8dbea;background:#fff;color:var(--ink);border-radius:9px;padding:11px 16px;font-weight:800}.admin{font-weight:700;margin-left:10px}.mobile-menu{display:none}main{padding:20px}.tab-panel{display:none}.tab-panel.active{display:block}.dashboard-head{display:grid;grid-template-columns:1fr 1.45fr;gap:28px;align-items:center;margin-bottom:18px}.turn-box>span,.week-card small{font-size:12px;font-weight:900}.turn-box>div{display:flex;margin-top:10px}.turn{border:1px solid #ddd9eb;background:#fff;padding:13px 20px;font-weight:800}.turn:first-child{border-radius:9px 0 0 9px}.turn:last-child{border-radius:0 9px 9px 0}.turn.active{background:var(--purple);color:#fff}.week-card{background:#fff;border:1px solid #e3dfef;border-radius:11px;padding:12px 18px;text-align:center;box-shadow:0 4px 12px #2510600a}.week-card>div{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-top:5px}.week-card button{width:40px;height:40px;border:1px solid #b99af8;background:#fff;color:var(--purple);font-size:31px;border-radius:8px}.week-card strong{font-size:25px;color:var(--purple)}.table-card{background:#fff;border-radius:10px;overflow:hidden;border:1px solid #e3e3ec;box-shadow:0 3px 12px #24124b0c;margin-top:15px}.table-title{padding:11px 20px;color:#fff;font-weight:900;font-size:14px}.table-title.purple{background:linear-gradient(90deg,#5720c3,#40139c)}.table-title.red{background:linear-gradient(90deg,#e20b24,#c90019);display:flex;justify-content:space-between}.table-title.red span{background:#b10015;padding:2px 10px;border-radius:6px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:900px}th,td{padding:13px 18px;border-bottom:1px solid #e6e6ee;text-align:left;font-size:14px}th{background:#f6f3fc;font-size:12px}tbody tr:hover{background:#fbfaff}td:first-child{font-weight:800}.service{font-weight:700}.service.completa{color:var(--green)}.service.mezza{color:#f05d00}.actions{white-space:nowrap}.actions button{width:37px;height:37px;background:#fff;border-radius:7px;margin-right:7px;font-weight:900}.edit{border:1px solid #8a5ef2;color:#5d25d4}.delete{border:1px solid #ff7a7a;color:red}tfoot td{background:#f4efff}.total{text-align:right;font-size:17px}.total span{font-size:25px;color:var(--purple);margin-left:8px}.extra tfoot td{background:#fff0f2}.redtext,.redtext span{color:#d51024!important}.empty{text-align:center!important;color:#7c8197;padding:24px!important}.form-head{display:flex;justify-content:space-between;align-items:center;max-width:900px;margin:10px auto 18px}.form-head h2{margin:3px 0}.form-head small{font-weight:900;color:#6d6680}.form-card{max-width:900px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-weight:800;font-size:13px}.form-grid input,.form-grid select{border:1px solid #d9dbea;border-radius:9px;padding:12px}.span-2{grid-column:1/-1}.form-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:fixed;left:-220px;width:200px;z-index:20;transition:.2s}.sidebar.open{left:0}.mobile-menu{display:block;border:0;background:transparent;font-size:25px;margin-right:auto}.dashboard-head{grid-template-columns:1fr}.topbar{padding:0 14px}.top-actions .admin,.top-actions #exportBtn,.top-actions #pdfBtn{display:none}.new-btn{font-size:13px}.week-card strong{font-size:20px}}@media(max-width:600px){main{padding:12px}.turn-box>div{display:grid;grid-template-columns:1fr 1fr}.turn{padding:11px 6px;font-size:12px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.week-card strong{font-size:16px}.topbar{height:68px}.meal-logo{font-size:48px}}
@media print{.sidebar,.topbar,.turn-box,.actions,.extra .actions{display:none!important}.app{display:block}.workspace{display:block}main{padding:0}.dashboard-head{display:block}.week-card{border:0;box-shadow:none}.table-card{box-shadow:none;break-inside:avoid}body{background:#fff}}/* V1.0.3 - menu semplificato e gestione prenotazioni extra */
.sidebar{width:auto;padding:24px 14px}.sidebar nav{gap:10px}.sidebar nav button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 16px;font-size:15px;letter-spacing:.01em}.sidebar nav button span{white-space:nowrap}.nav-badge{min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#ff2d39;color:#fff;display:inline-grid;place-items:center;font-size:12px;box-shadow:0 0 0 3px rgba(255,255,255,.12)}.section-head{margin:4px 0 16px}.section-head small,.simple-panel small,.accepted-heading small{font-weight:900;color:#766a91;letter-spacing:.08em}.section-head h2,.simple-panel h2{margin:5px 0}.section-head p,.simple-panel p{color:#6d7186;margin:5px 0}.accepted-heading{display:flex;align-items:end;justify-content:space-between;margin:24px 2px 8px}.accepted-heading h3{margin:3px 0}.accepted-heading span{color:#7d8192;font-size:13px}.accepted-title{background:linear-gradient(90deg,#1f8d57,#147144)}.accept{width:auto!important;padding:0 14px;border:0!important;background:#e20b24!important;color:#fff!important}.reopen{width:auto!important;padding:0 12px;border:1px solid #c8bddf!important;color:#5b35a8!important}.day-cell{text-transform:capitalize;color:#4c239f}.simple-panel{max-width:760px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:0 4px 16px #24124b0c}.simple-actions{display:flex;gap:12px;margin-top:22px}.settings-note{margin-top:20px;padding:15px 17px;border-radius:10px;background:#f4f0ff;color:#5a438c;font-weight:700}.extras-nav{position:relative}
@media(max-width:900px){.sidebar{width:210px;left:-230px}.sidebar.open{left:0}}

/* V1.0.4 - layout approvato, neonati e soggiorni lunghi */
.app{grid-template-columns:220px 1fr}.sidebar{padding:24px 12px;background:linear-gradient(180deg,#4c249f 0%,#2c176f 100%)}
.meal-logo{font-size:58px;margin:2px 0 34px}.sidebar nav{gap:10px}.sidebar nav button{justify-content:flex-start;gap:12px;padding:15px 14px;border-radius:10px;font-size:15px}.sidebar nav button.active{background:linear-gradient(90deg,#ff6a00,#ff5700)}.sidebar nav button.extras-nav .nav-badge{margin-left:auto}.nav-icon{display:inline-grid;place-items:center;width:23px;min-width:23px;font-size:21px;font-weight:400}.sidebar nav button>span:not(.nav-icon){white-space:nowrap}
.dashboard-head{grid-template-columns:minmax(270px,1fr) minmax(520px,2fr);gap:20px;align-items:stretch}.turn-box{background:#fff;border:1px solid #e4dff0;border-radius:12px;padding:17px 20px;box-shadow:0 4px 14px #2510600a}.turn-box>span{display:block;margin-bottom:12px}.turn-box>div{display:grid;grid-template-columns:1fr;gap:9px;margin-top:0}.turn{border:1px solid #d9d2ea!important;border-radius:9px!important;background:#fff;text-align:left;padding:14px 16px;color:#21144e}.turn.active{background:#f7f2ff;color:#4b1bb7;border-color:#7041dc!important;box-shadow:inset 0 0 0 1px #7041dc}.turn-cal{font-size:19px;margin-right:8px}.turn-box p{font-size:12px;line-height:1.4;color:#69627a;margin:11px 0 0}
.week-card{background:linear-gradient(135deg,#7a4bd6 0%,#4a1db7 65%,#39148f 100%);border:0;color:#fff;box-shadow:0 8px 22px #39148f25;padding:19px 22px;display:flex;flex-direction:column;justify-content:center;min-height:180px}.week-card small{color:#fff;opacity:.95}.week-card>div{grid-template-columns:50px 1fr 50px;margin-top:9px}.week-card button{border:1px solid #cdb9ff;background:#ffffff12;color:#fff}.week-card strong{color:#fff;font-size:28px}.week-days{display:block;margin-top:8px;font-weight:700;font-size:14px}
.table-title.purple{font-size:15px;padding:13px 20px}.table-title.purple:before{content:'▦';margin-right:10px;font-size:18px}th{font-size:11px;white-space:nowrap}td{vertical-align:middle}.guest-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f0e9ff;color:#5522c3;margin-right:9px}.stay-days{display:block;margin-top:4px;font-size:11px;color:#6d7186}.stay-days.warn{color:#d71920;font-weight:900}.long-stay{outline:1.5px solid #ff5b5f;outline-offset:-2px;background:#fff9f9}.long-stay td:first-child,.long-stay td:nth-child(2),.long-stay td:nth-child(7){color:#d71920}.long-badge{display:inline-block;margin-left:8px;padding:3px 6px;border-radius:999px;background:#ffe8e8;color:#cf1118;font-size:9px;letter-spacing:.03em;vertical-align:middle}.table-card{border-radius:11px}tfoot td{padding-top:14px;padding-bottom:14px}
@media(max-width:1050px){.dashboard-head{grid-template-columns:1fr}.week-card{min-height:150px}.app{grid-template-columns:200px 1fr}}
@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{width:220px;left:-240px}.sidebar.open{left:0}.dashboard-head{grid-template-columns:1fr}.week-card strong{font-size:21px}}

/* V1.0.5 - icone menu piu morbide e leggibili */
.nav-icon.nav-emoji{font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif;font-size:22px;width:30px;min-width:30px;filter:none;line-height:1}.sidebar nav button{gap:14px}.sidebar nav button.active .nav-emoji{transform:scale(1.05)}
