/* PortoFranco v22 — admin-only planning UI. Loaded with a unique filename to avoid stale-cache regressions. */
.admin-page{background:#f3f7fc}
.admin-page .admin-content{max-width:1480px;padding:24px 28px 42px}
.admin-page .admin-header{padding:6px 2px 14px;margin-bottom:8px}
.admin-page .admin-header h1{font-size:28px;letter-spacing:-.035em;margin:4px 0 2px}
.admin-page .admin-header p{margin:0;color:#77859b;font-size:12px}

.admin-page .admin-planning-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin:0 0 14px!important}
.admin-page .admin-planning-stats>div{min-height:104px!important;padding:15px 16px!important;border:1px solid #e1e8f2!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 24px rgba(25,57,99,.05)!important;display:grid!important;grid-template-columns:38px 1fr!important;grid-template-rows:auto auto auto!important;column-gap:11px!important;align-items:start!important;text-align:left!important}
.admin-page .admin-planning-stats .stat-icon{grid-row:1/4!important;width:38px!important;height:38px!important;border-radius:12px!important;display:grid!important;place-items:center!important;margin:0!important;font-size:17px!important;position:static!important}
.admin-page .admin-planning-stats b{font-size:22px!important;line-height:1!important;color:#12213a!important;margin:0!important}
.admin-page .admin-planning-stats strong{font-size:10px!important;color:#253552!important;margin-top:6px!important}
.admin-page .admin-planning-stats small{font-size:8px!important;color:#8b98aa!important;margin-top:2px!important;display:block!important}
.admin-page .stat-shifts .stat-icon{background:#eaf2ff!important;color:#2563eb!important}.admin-page .stat-free .stat-icon{background:#fff4dc!important;color:#f59e0b!important}.admin-page .stat-problem .stat-icon{background:#fff0f1!important;color:#e5484d!important}.admin-page .stat-fill .stat-icon{background:#eaf8ef!important;color:#16a34a!important}

.admin-page .admin-planning{overflow:hidden!important;border:1px solid #e1e8f1!important;border-radius:18px!important;background:#fff!important;box-shadow:0 12px 34px rgba(24,53,91,.06)!important;padding:0!important}
.admin-page .admin-planning .planning-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:18px 20px 10px!important;margin:0!important;background:#fff!important;border:0!important}
.admin-page .admin-planning .planning-head small{font-size:9px!important;color:#8391a4!important;font-weight:700!important}.admin-page .admin-planning .planning-head h2{margin:2px 0 0!important;font-size:20px!important;color:#14213a!important}
.admin-page .planning-head-actions{display:flex!important;align-items:center!important;gap:10px!important}.admin-page .planning-head-actions .admin-cal-nav{display:flex!important;align-items:center!important;gap:4px!important;background:#f7f9fc!important;border:1px solid #dde6f0!important;border-radius:12px!important;padding:3px!important}.admin-page .planning-head-actions .admin-cal-nav b{min-width:138px!important;text-align:center!important;font-size:13px!important;color:#17243c!important}.admin-page .planning-head-actions .admin-cal-nav .table-btn{width:32px!important;height:32px!important;padding:0!important;border:0!important;background:#fff!important;border-radius:9px!important;display:grid!important;place-items:center!important;color:#2563eb!important;font-size:17px!important}.admin-page .planning-add-shift{min-height:40px!important;padding:9px 15px!important;border-radius:10px!important;box-shadow:0 6px 16px rgba(37,99,235,.18)!important}

.admin-page .planning-legend{display:flex!important;flex-wrap:wrap!important;gap:12px!important;padding:8px 20px 0!important;color:#69788e!important;font-size:9px!important}.admin-page .planning-legend span{display:flex!important;align-items:center!important;gap:5px!important}.admin-page .planning-legend .legend-dot{width:7px!important;height:7px!important;border-radius:50%!important}.admin-page .legend-dot.full{background:#16a34a!important}.admin-page .legend-dot.partial{background:#f59e0b!important}.admin-page .legend-dot.problem{background:#ef4444!important}.admin-page .legend-dot.today{background:#2563eb!important}
.admin-page .admin-cal-toolbar{padding:11px 20px 13px!important;margin:0!important;display:flex!important;justify-content:center!important}.admin-page .admin-view-switch{display:inline-flex!important;gap:2px!important;padding:3px!important;background:#f2f5f9!important;border:1px solid #e1e7ef!important;border-radius:11px!important}.admin-page .admin-view-switch a{min-width:92px!important;text-align:center!important;padding:7px 14px!important;border-radius:8px!important;font-size:10px!important;font-weight:800!important;color:#68788f!important;text-decoration:none!important}.admin-page .admin-view-switch a.active{background:#fff!important;color:#2563eb!important;border:1px solid #d7e5ff!important;box-shadow:0 2px 8px rgba(25,50,85,.08)!important}

.admin-page .admin-planning .admin-cal-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:0!important;margin:0 20px 20px!important;border:1px solid #dce5f0!important;border-radius:14px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 5px 18px rgba(15,23,42,.035)!important}
.admin-page .admin-planning .admin-cal-week{height:38px!important;display:grid!important;place-items:center!important;padding:0!important;background:#f8fafc!important;border-right:1px solid #e4ebf3!important;border-bottom:1px solid #e4ebf3!important;color:#67768d!important;font-size:9px!important;font-weight:900!important}.admin-page .admin-planning .admin-cal-week:nth-child(7){border-right:0!important}
.admin-page .admin-planning .admin-cal-day{min-height:112px!important;border:0!important;border-right:1px solid #e6ecf3!important;border-bottom:1px solid #e6ecf3!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;position:relative!important}.admin-page .admin-planning .admin-cal-day.empty{background:#fbfcfe!important}.admin-page .admin-planning .admin-cal-day:nth-child(7n){border-right:0!important}
.admin-page .admin-cal-day-hit{appearance:none!important;-webkit-appearance:none!important;width:100%!important;height:100%!important;min-height:111px!important;border:0!important;outline:0!important;background:transparent!important;padding:10px 11px!important;border-radius:0!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important;cursor:pointer!important;color:inherit!important;box-shadow:none!important}.admin-page .admin-cal-day-hit:hover{background:#f7fbff!important}.admin-page .admin-cal-date{display:grid!important;place-items:center!important;width:25px!important;height:25px!important;border-radius:8px!important;font-size:12px!important;font-weight:900!important;color:#17243b!important;line-height:1!important;margin:0!important}.admin-page .status-today .admin-cal-date{background:#2563eb!important;color:#fff!important;box-shadow:0 4px 10px rgba(37,99,235,.22)!important}.admin-page .status-today .admin-cal-day-hit{background:#f2f7ff!important}.admin-page .today-label{position:absolute!important;right:8px!important;top:9px!important;padding:3px 6px!important;border-radius:999px!important;background:#2563eb!important;color:#fff!important;font-size:7px!important;font-weight:900!important}
.admin-page .admin-cal-day-summary{margin-top:auto!important;width:100%!important;display:flex!important;flex-direction:column!important;gap:4px!important;align-items:flex-start!important}.admin-page .day-summary-line{display:flex!important;align-items:center!important;gap:5px!important;max-width:100%!important;min-height:12px!important}.admin-page .day-summary-line i{font-style:normal!important;flex:0 0 auto!important}.admin-page .day-status-dot{width:7px!important;height:7px!important;border-radius:50%!important;background:#94a3b8!important}.admin-page .status-full .day-status-dot{background:#16a34a!important}.admin-page .status-partial .day-status-dot{background:#f59e0b!important}.admin-page .status-problem .day-status-dot{background:#ef4444!important}.admin-page .status-today .day-status-dot{background:#2563eb!important}.admin-page .day-summary-line b,.admin-page .day-summary-line small{font-size:8px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}.admin-page .day-summary-line b{color:#42516a!important}.admin-page .free-line i{width:7px!important;height:7px!important;border-radius:50%!important;background:#f59e0b!important}.admin-page .free-line small{color:#b77900!important}.admin-page .pref-line i{color:#2563eb!important;font-size:10px!important}.admin-page .pref-line small{color:#2563eb!important;font-weight:800!important}.admin-page .no-shifts{font-size:8px!important;color:#a1adbd!important}.admin-page .status-full{box-shadow:inset 3px 0 0 #22c55e!important}.admin-page .status-partial{box-shadow:inset 3px 0 0 #f59e0b!important}.admin-page .status-problem{box-shadow:inset 3px 0 0 #ef4444!important}.admin-page .status-today{box-shadow:inset 3px 0 0 #2563eb!important}

.admin-page .admin-people-section{border:1px solid #e1e8f1!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 24px rgba(24,53,91,.045)!important}.admin-page .admin-people-section .admin-section-head{padding-bottom:10px!important}.admin-page .people-expand-wrap{display:flex!important;justify-content:center!important;padding:12px!important;border-top:1px solid #edf1f5!important}.admin-page .people-expand-btn{min-width:220px!important;background:#f4f8ff!important;color:#2563eb!important;border-color:#d8e6ff!important;font-weight:800!important}.admin-page #participant-extra-body[hidden]{display:none!important}

@media(max-width:980px){
 .admin-page .admin-content{padding:18px 16px 90px!important}
 .admin-page .admin-planning-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .admin-page .admin-planning .admin-cal-grid{margin:0 12px 14px!important}
 .admin-page .admin-planning .planning-head{padding:15px 13px 8px!important;align-items:flex-start!important;flex-direction:column!important}
 .admin-page .planning-head-actions{width:100%!important}.admin-page .planning-head-actions .admin-cal-nav{flex:1!important}.admin-page .planning-head-actions .admin-cal-nav b{min-width:0!important;flex:1!important}
}
@media(max-width:680px){
 .admin-page .admin-content{padding:12px 8px 88px!important}
 .admin-page .admin-header h1{font-size:21px!important}.admin-page .admin-header p{font-size:9px!important}
 .admin-page .admin-planning-stats{gap:7px!important}.admin-page .admin-planning-stats>div{min-height:79px!important;padding:10px!important;grid-template-columns:28px 1fr!important;column-gap:7px!important;border-radius:13px!important}.admin-page .admin-planning-stats .stat-icon{width:28px!important;height:28px!important;border-radius:9px!important;font-size:13px!important}.admin-page .admin-planning-stats b{font-size:17px!important}.admin-page .admin-planning-stats strong{font-size:7px!important}.admin-page .admin-planning-stats small{font-size:6px!important}
 .admin-page .admin-planning{border-radius:15px!important}.admin-page .admin-planning .planning-head h2{font-size:17px!important}.admin-page .planning-head-actions{display:grid!important;grid-template-columns:1fr 38px!important}.admin-page .planning-add-shift{width:38px!important;height:38px!important;padding:0!important;font-size:0!important}.admin-page .planning-add-shift:after{content:'+'!important;font-size:20px!important}
 .admin-page .planning-legend{display:none!important}.admin-page .admin-cal-toolbar{padding:7px 8px 9px!important}.admin-page .admin-view-switch{width:100%!important}.admin-page .admin-view-switch a{flex:1!important;min-width:0!important;padding:6px 2px!important;font-size:8px!important}
 .admin-page .admin-planning .admin-cal-grid{margin:0 6px 9px!important;border-radius:10px!important}.admin-page .admin-planning .admin-cal-week{height:25px!important;font-size:6px!important}.admin-page .admin-planning .admin-cal-day{min-height:61px!important}.admin-page .admin-cal-day-hit{min-height:60px!important;padding:4px 3px!important}.admin-page .admin-cal-date{width:20px!important;height:20px!important;border-radius:6px!important;font-size:9px!important}.admin-page .today-label{display:none!important}.admin-page .admin-cal-day-summary{gap:1px!important}.admin-page .day-summary-line{gap:2px!important;min-height:8px!important}.admin-page .day-status-dot,.admin-page .free-line i{width:5px!important;height:5px!important}.admin-page .day-summary-line b,.admin-page .day-summary-line small{font-size:5.5px!important;max-width:39px!important}.admin-page .pref-line i{font-size:7px!important}.admin-page .no-shifts{display:none!important}
 .admin-page .admin-people-section .admin-table-wrap tr{grid-template-columns:1fr auto!important}.admin-page .people-expand-btn{width:100%!important;min-width:0!important}
}

/* v23: participant-cabinet shortcut is mobile-only in the admin bottom navigation. */
.admin-page .admin-participant-link{display:none!important}
@media(max-width:760px){
 .admin-page .admin-nav .admin-participant-link{display:flex!important;color:#2563eb!important;background:#edf4ff!important;font-weight:800!important}
 .admin-page .admin-nav .admin-participant-link span{display:block!important}
}

/* v24: searchable participant picker inside day planning dialog */
.admin-page .participant-search-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:9px!important;align-items:start!important}
.admin-page .participant-picker{position:relative!important;min-width:0!important}
.admin-page .participant-search-input{width:100%!important;height:40px!important;border:1px solid #cad5e4!important;border-radius:10px!important;background:#fff!important;padding:0 13px!important;font-size:12px!important;color:#18243a!important;outline:none!important;box-shadow:none!important}
.admin-page .participant-search-input:focus{border-color:#6ea1ff!important;box-shadow:0 0 0 3px rgba(37,99,235,.10)!important}
.admin-page .participant-search-input::placeholder{color:#8b98aa!important}
.admin-page .participant-search-results{position:absolute!important;z-index:60!important;left:0!important;right:0!important;top:calc(100% + 6px)!important;max-height:280px!important;overflow:auto!important;padding:5px!important;border:1px solid #dce5f0!important;border-radius:12px!important;background:#fff!important;box-shadow:0 18px 42px rgba(24,42,70,.18)!important}
.admin-page .participant-search-results[hidden]{display:none!important}
.admin-page .participant-search-option{appearance:none!important;width:100%!important;border:0!important;background:#fff!important;border-radius:9px!important;padding:9px 10px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;text-align:left!important;cursor:pointer!important;color:#17243b!important}
.admin-page .participant-search-option:hover,.admin-page .participant-search-option:focus{background:#f1f6ff!important;outline:0!important}
.admin-page .participant-search-option>span{display:flex!important;flex-direction:column!important;min-width:0!important;gap:2px!important}
.admin-page .participant-search-option b{font-size:11px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.admin-page .participant-search-option small{font-size:9px!important;color:#7b889c!important}
.admin-page .participant-search-option em{font-style:normal!important;font-size:8px!important;font-weight:900!important;color:#2563eb!important;background:#edf4ff!important;border-radius:999px!important;padding:4px 7px!important;white-space:nowrap!important}
.admin-page .participant-search-form>.table-btn{height:40px!important;min-width:102px!important}

@media(max-width:680px){
 .admin-page .participant-search-form{grid-template-columns:1fr!important}
 .admin-page .participant-search-form>.table-btn{width:100%!important;min-width:0!important}
 .admin-page .participant-search-input{height:44px!important;font-size:13px!important}
 .admin-page .participant-search-results{max-height:240px!important}
 .admin-page .participant-search-option{padding:11px 10px!important}
 .admin-page .participant-search-option b{font-size:12px!important}.admin-page .participant-search-option small{font-size:10px!important}
}


/* v25: reliable participant autocomplete states */
.admin-page .participant-search-results{display:none!important}
.admin-page .participant-search-results.is-open{display:block!important}
.admin-page .participant-search-option.is-filter-hidden{display:none!important}
.admin-page .participant-search-option:not(.is-filter-hidden){display:flex!important}
