/* Le sezioni di login, cambio password e dashboard devono rispettare hidden. */
.boat-admin-page [hidden] { display: none !important; }
/* Egadi in Barca / cruscotto privato: palette e Inter originali, nessuna dipendenza esterna */
.boat-admin-page{background:#f7f9fa;color:var(--navy);min-height:100vh}
.boat-admin-page .site-header{background:#fff}
.boat-admin-page .header-inner{justify-content:space-between}
.admin-head-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text);margin-left:auto}
.admin-back{font-size:12px;font-weight:600;color:var(--blue)}
.admin-main{padding:54px 0 95px}
.admin-login{min-height:65vh;display:grid;grid-template-columns:1.1fr .85fr;gap:9vw;align-items:center;padding:50px 0 80px}
.admin-intro h1{font-size:clamp(48px,5.5vw,82px);line-height:1.07}
.admin-intro p:last-child{margin-top:25px;color:var(--text);font-size:16px;max-width:400px}
.admin-panel{background:white;border:1px solid var(--line);border-radius:5px;padding:30px;box-shadow:0 9px 35px #18334f07}
.admin-login-form{padding:40px;display:flex;flex-direction:column;gap:11px}
.admin-login-form h2{font-size:31px;margin:-6px 0 13px}
.admin-main label{display:block;font-size:12px;font-weight:600;margin:11px 0 7px}
.admin-main input,.admin-main select,.admin-main textarea,.manual-dialog input,.manual-dialog select,.manual-dialog textarea{width:100%;border:1px solid #cfd8e0;background:#fff;border-radius:4px;padding:12px;font-size:14px;color:var(--navy);outline-offset:2px}
.admin-main input:focus,.manual-dialog input:focus,.manual-dialog select:focus,.manual-dialog textarea:focus{outline:2px solid var(--blue);border-color:transparent}
.admin-login-form .button{width:100%;margin-top:19px}
.admin-feedback{min-height:18px;font-size:12px;color:var(--text);margin-top:8px}
.admin-feedback[data-kind=error]{color:#a32a25;font-weight:500}
.admin-change{max-width:650px;margin:30px auto}
.admin-change h1{font-size:36px;margin-bottom:18px}
.admin-change p:not(.eyebrow){font-size:14px;color:var(--text);margin-bottom:20px}
.admin-change .button{margin-top:20px}
.admin-link{background:transparent;border:0;padding:8px 0;text-decoration:underline;text-underline-offset:4px;font-size:12px;color:var(--blue)}
.dashboard-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:33px}
.dashboard-top h1{font-size:clamp(37px,4.5vw,58px)}
.dashboard-top .dot{color:var(--red)}
.dashboard-subtitle{font-size:14px;color:var(--text);margin-top:16px}
.admin-top-actions{text-align:right;display:flex;flex-direction:column;align-items:end;font-size:11px;color:var(--text)}
.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.month-control{display:flex;align-items:center;gap:15px}
.month-control button{height:39px;width:39px;border:1px solid var(--line);border-radius:4px;background:white;font-size:28px;line-height:1}
.month-control h2{font-size:21px;font-weight:600;min-width:190px;text-align:center;text-transform:capitalize}
.calendar-panel,.boarding-panel,.requests-panel{margin-bottom:22px}
.calendar-header,.section-row{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:25px}
.calendar-header h2,.section-row h2{font-size:26px}
.calendar-header .eyebrow,.section-row .eyebrow{margin-bottom:10px}
.calendar-legend{font-size:11px;color:var(--text)}
.calendar-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--gold);margin-right:6px}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.calendar-weekdays{text-align:center;margin-bottom:7px;color:var(--text);font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.calendar-grid .calendar-blank{min-height:96px}
.day-tile{min-height:96px;text-align:left;background:#f9fafb;border:1px solid #e4eaf0;border-radius:4px;padding:12px 10px 10px;display:flex;flex-direction:column;gap:10px;transition:border-color .1s}
.day-tile:hover{border-color:#8da7c1;background:#f1f5f8}
.day-tile.selected{border:2px solid var(--blue);background:#eef4fa;padding:11px 9px 9px}
.tile-heading{display:flex;justify-content:space-between;align-items:center;gap:2px}
.tile-day{font-size:19px;font-weight:600;line-height:1}
.tile-count{font-size:11px;font-weight:600;color:var(--navy)}
.seat-track{height:5px;background:#e1e6eb;border-radius:10px;overflow:hidden;margin-top:auto}
.seat-fill{display:block;height:100%;background:#e1ae00;border-radius:inherit}
.day-tile.is-full .seat-fill,.day-tile.is-exclusive .seat-fill{background:var(--red)}
.tile-footer{font-size:10px;color:var(--text);line-height:1.15;min-height:12px}
.day-tile.is-exclusive .tile-footer{color:var(--red);font-weight:600}
.boat-occupancy{font-size:28px;letter-spacing:-.05em;font-weight:700;white-space:nowrap;color:var(--blue);padding:8px 15px;border:1px solid var(--line);border-radius:4px}
.boat-occupancy.full{color:var(--red)}
.muted{font-size:12px;color:var(--text);margin-top:8px}
.empty-state{padding:28px 18px;background:#f8fafb;border:1px dashed #d7dfe6;font-size:13px;color:var(--text);border-radius:4px}
.boarding-list,.requests-list{display:flex;flex-direction:column;gap:9px}
.manifest-row,.request-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 19px;border:1px solid var(--line);border-radius:4px;background:#fff}
.manifest-person{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.manifest-person>strong,.request-heading strong{font-size:14px;font-weight:600}
.manifest-person small,.request-body small{font-size:10px;color:var(--text);overflow-wrap:anywhere}
.manifest-person .muted{margin-top:0}
.manifest-notes{font-size:11px;color:var(--text);font-style:italic}
.mode-tag{font-size:9px;font-weight:700;letter-spacing:.09em;color:var(--blue)}
.mode-tag.exclusive{color:var(--red)}
.remove-btn{font-size:11px;color:var(--red);background:none;border:1px solid #e5b8b4;padding:8px 12px;border-radius:3px}
.remove-btn:hover{background:#fff4f3}
.requests-panel .section-row{align-items:start}
.request-counter{font-size:11px;color:var(--blue);font-weight:600;white-space:nowrap;background:#edf4fa;padding:9px 11px;border-radius:3px}
.request-filters{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-bottom:16px}
.request-filters label{margin:0}.request-filters select{width:210px;padding:9px}
.request-body{flex:1;min-width:0}
.request-heading{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.request-state{font-size:10px;padding:3px 7px;background:#fcf0d8;color:#805200;border-radius:3px}
.request-state.done{background:#eaf6ef;color:#1a7641}
.request-body p{font-size:12px;margin-top:7px}
.add-request{width:41px;height:41px;flex-shrink:0;border:0;border-radius:3px;background:var(--gold);color:var(--navy);font-size:27px;line-height:1}
.add-request:hover{background:#edb900}
.add-request:disabled,.remove-btn:disabled{opacity:.55;cursor:wait}
.manual-dialog{width:min(710px,calc(100vw - 24px));max-height:92dvh;overflow:auto;border:1px solid var(--line);border-radius:5px;background:#fff;padding:30px;color:var(--navy);box-shadow:0 25px 90px #081c3252}
.manual-dialog::backdrop{background:#081b33a6}
.dialog-title{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:20px}
.dialog-title h2{font-size:29px}
.icon-close{border:0;background:transparent;font-size:30px;color:var(--text);line-height:1}
.manual-dialog label{display:block;font-weight:600;font-size:12px;margin:13px 0 6px}
.admin-form-two{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.manual-dialog .muted{margin-top:19px;font-size:11px}
.dialog-buttons{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:18px}
.admin-secondary{border:1px solid var(--line);border-radius:3px;padding:13px 19px;background:#fff;font-size:12px}
@media(max-width:850px){.admin-login{grid-template-columns:1fr;gap:40px;padding:30px 0}.admin-intro h1{font-size:52px}.admin-main{padding-top:35px}.admin-panel{padding:22px}.calendar-weekdays,.calendar-grid{gap:5px}.day-tile{padding:8px 5px;min-height:84px}.day-tile.selected{padding:7px 4px}.tile-day{font-size:15px}.tile-count{font-size:9px}.tile-footer{font-size:9px}}
@media(max-width:560px){.admin-head-label{display:none}.admin-main{padding-top:25px}.admin-login-form{padding:26px}.dashboard-top{display:block}.admin-top-actions{margin-top:15px;align-items:start;text-align:left}.admin-toolbar{align-items:stretch;flex-direction:column}.month-control{justify-content:space-between}.month-control h2{min-width:0}.calendar-header,.section-row{align-items:start;flex-direction:column;gap:12px}.calendar-legend{font-size:10px}.calendar-grid{gap:3px}.day-tile{min-height:74px;padding:6px 3px}.day-tile.selected{padding:5px 2px}.tile-heading{display:block}.tile-day{font-size:13px}.tile-count{font-size:9px;display:block;margin-top:2px}.tile-footer{font-size:8px;overflow-wrap:anywhere}.seat-track{height:4px}.calendar-weekdays{font-size:9px}.admin-form-two{grid-template-columns:1fr;gap:0}.manifest-row,.request-row{padding:13px 11px}.request-filters{justify-content:flex-start}.manual-dialog{padding:20px}.boat-occupancy{font-size:24px}}
