/* DraftDayPlanner modals.css - dialogs, time pickers, and modal states */

/* SECTION 04.1 - Modal Shell */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:center;z-index:5000;}
.modal.confirm-modal{z-index:6001;}

/* SECTION 04.2 - Modal Content */
.modal-content{position:relative;background:#fff;width:92%;max-width:440px;border-radius:10px;padding:26px 16px 16px;text-align:center;}
.modal-content.default-unavailability-content{position:relative;height:355px;max-width:420px;padding-top:0;padding-bottom:0;overflow:visible;background:linear-gradient(to bottom,var(--green-dark) 0 48px,#fff 48px);}
.default-unavailability-content .modal-title{background:var(--green-dark);color:#fff;margin:0 -16px 18px;padding:12px 16px;font-size:20px;border-radius:10px 10px 0 0;}
.modal-sub.default-unavailability-hint{font-size:13px;margin:17px 0 0;color:#333;font-weight:500;transform:translateY(0);}
.modal-content.teams-joined-content{position:relative;padding-top:0;padding-bottom:26px;overflow:visible;background:linear-gradient(to bottom,var(--green-dark) 0 48px,#fff 48px);}
.teams-joined-content .teams-joined-title{background:var(--green-dark);color:#fff;margin:0 -16px 14px;padding:12px 16px;font-size:20px;border-radius:10px 10px 0 0;}
.teams-joined-subtitle{margin:-2px 0 6px;font-size:1.025rem;font-weight:700;color:#555;}
.teams-joined-content .teams-joined-subtitle{color:#555;}
.modal-content.best-draft-times-content{position:relative;padding-top:0;padding-bottom:19px;overflow:visible;background:linear-gradient(to bottom,var(--green-dark) 0 48px,#fff 48px);}
.best-draft-times-content .modal-title{background:var(--green-dark);color:#fff;margin:0 -16px 14px;padding:12px 16px;font-size:20px;border-radius:10px 10px 0 0;}
.modal-close-x{position:absolute;top:-18px;right:-22px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;margin:0!important;padding:0!important;border-radius:999px;background:rgba(219,230,237,.65);color:rgba(17,26,34,.65);font-size:14px;font-weight:700;line-height:1;box-shadow:none;z-index:2;}
.modal-close-x:hover{background:rgba(207,219,228,.85);color:rgba(17,26,34,.85);}
.default-unavailability-actions{position:static;display:flex;justify-content:center;gap:10px;margin:0;padding:0;transform:translateY(1px);}
.default-unavailability-actions button{margin:0;}
.default-unavailability-actions #du-none{background:transparent;border:0;box-shadow:none;color:#1e74c9;padding:9.5px 13px;border-radius:8px;font-size:17px;}
.default-unavailability-actions #du-none:hover{background:#eef6fa;color:#005fb8;}
.default-unavailability-actions #du-save{padding:9.5px 17px;font-size:17px;border-radius:8px;}
.default-unavailability-actions #du-save{background:#0b8f2a;}
.default-unavailability-actions #du-save:hover{background:#0a8326;}
.modal-content h2{margin-bottom:8px;}
.modal-content p{margin-bottom:6px;color:#333;}
.modal-content label{display:block;margin:10px 0;}
.modal-content input,.modal-content select{width:100%;padding:10px;margin-top:6px;border:1px solid #d2d6db;border-radius:8px;font-size:1rem;}
.modal-content button{margin-top:12px;}
.modal-content button:disabled{opacity:.5;cursor:not-allowed;}
.modal button{padding:10px 16px;font-size:1rem;}
.modal button.primary{padding:8px 16px;font-size:1rem;}
.modal button.secondary{background:transparent;border:2px solid var(--green);border-radius:10px;padding:10px 16px;font-weight:600;display:inline-block;}
.modal button.secondary:hover{background:rgba(60,176,67,.1);}
.modal-content.availability-content{position:relative;padding-top:0;overflow:visible;background:linear-gradient(to bottom,var(--green-dark) 0 48px,#fff 48px);}
.availability-content .modal-title{background:var(--green-dark);color:#fff;margin:0 -16px 16px;padding:12px 16px;font-size:20px;border-radius:10px 10px 0 0;}
.modal-content.shared-day-summary-content{padding-top:18px;padding-bottom:20px;}
.modal-content.calendar-info-content{position:relative;width:92%;max-width:340px;padding:20px;text-align:center;overflow:visible;background:#fff;display:flex;flex-direction:column;align-items:center;gap:10px;}
.calendar-info-content .modal-title{background:transparent;color:var(--text);margin:0;padding:0;font-size:20px;line-height:1.1;border-radius:0;transform: translateY(-4px);}
.calendar-info-content p{font-size:15px;font-weight:500;line-height:1.25;margin:0;max-width:320px;color:#333;}
.calendar-info-content #calendar-info-ok,.calendar-info-content .best-filter-info-ok{min-width:76px;margin:6px 0 0!important;line-height:1.15;}
.calendar-info-content .modal-close-x{font-size:0;}
.calendar-info-content .modal-close-x::before{content:"x";font-size:14px;}

/* SECTION 04.3 - Modal Buttons */
.time-text-btn{background:transparent;border:none;color:#0073e6;font-weight:600;cursor:pointer;}
.time-text-btn:hover{color:#004a99;text-decoration:underline;}
.time-btn-row,.action-btn-row{display:flex;justify-content:center;gap:10px;margin-top:10px;}
.action-btn-row{margin-top:-12px;gap:8px;}
.confirm-actions{display:flex;justify-content:center;gap:8px;margin-top:14px;}

/* SECTION 04.4 - Intro Modal */
.modal-content.intro-content{width:min(92vw,580px);max-width:580px;height:350px;padding:0;overflow:hidden;text-align:left;}
.intro-shell{display:grid;grid-template-columns:minmax(170px,38%) 1fr;align-items:stretch;height:100%;}
.intro-image-panel{background:var(--green-dark);overflow:hidden;height:350px;}
.intro-image-panel img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;}
.intro-copy{box-sizing:border-box;position:relative;height:100%;padding:0 28px;text-align:center;}
.intro-title{position:absolute;top:26px;left:28px;right:28px;text-align:center;font-size:1.8rem;line-height:1.16;margin:0;}
.intro-copy--welcome .intro-title{top:26px;}
.intro-middle{position:absolute;top:106px;left:28px;right:28px;bottom:92px;display:flex;flex-direction:column;align-items:center;justify-content:start;min-height:0;}
.intro-middle--welcome{top:120px;bottom:116px;}
.intro-middle--steps{top:77px;bottom:103px;}
.intro-sub{position:relative;top:-11px;text-align:center;margin:0 0 18px;color:#333;line-height:1.45;}
.intro-proof{position:relative;top:-2px;text-align:center;margin:0;color:#333;font-weight:400;}
.intro-prompt{font-weight:700;margin:0 0 10px;color:#222;}
.intro-copy--welcome .intro-prompt{position:relative;top:-5px;}
.intro-simple{text-align:center;margin:0 0 10px;color:#333;font-weight:400;}
.intro-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:8px;width:100%;margin:-2px 0 18px;}
.intro-copy--steps .intro-flow{transform:translateY(-4px);}
.intro-flow-step{display:flex;flex-direction:column;align-items:center;gap:5px;color:#4c5560;font-size:.78rem;font-weight:700;}
.intro-flow-step img{width:22px;height:22px;object-fit:contain;opacity:.48;transform:translateY(-1px);}
.intro-flow-arrow{color:#a9b2bc;font-size:1.15rem;font-weight:700;margin-top:-14px;}
.intro-steps{transform:translateY(-11px);text-align:left;margin:0 8px 0 4px;width:100%;max-width:315px;padding-top:0;}
.intro-steps ol{margin:0;padding-left:1.2em;}
.intro-steps li{margin:0 0 9px;line-height:1.22;font-size:15px;}
.intro-steps li:last-child{margin-bottom:0;}
.intro-note{font-size:.78rem;color:#000;text-align:center;margin-top:8px;margin-bottom:3px;}
.intro-bottom{position:absolute;left:28px;right:28px;bottom:30px;text-align:center;}
.intro-copy--welcome .intro-bottom{bottom:34px;}
.intro-copy--steps .intro-title{top:24px;}
.intro-copy--steps .intro-middle{right:16px;}
.intro-copy--steps .intro-bottom{bottom:34px;}
.intro-actions{text-align:center;margin-top:0;margin-bottom:0;}
.intro-actions .primary{padding:14px 24px;font-size:1rem;margin-top:6px;}
.intro-copy--welcome .intro-actions .primary{height:45px;box-sizing:border-box;padding-top:0;padding-bottom:0;margin-top:5px;font-size:15px;}
.intro-actions .primary{background:#35a83f;}
.intro-actions .primary:hover{background:#319f3a;}
.intro-copy--steps .intro-actions .primary{height:45px;box-sizing:border-box;padding-top:0;padding-bottom:0;font-size:15px;}
.modal-sub{font-size:1.23rem;font-weight:500;}
.default-unavailability-sub{font-size:15px;margin-bottom:1px;transform:translateY(4px);}
.default-unavailability-example{font-size:13px;margin-bottom:16px;opacity:.85;transform:translateY(0);}
.modal-back{font-size:1.2em;font-weight:500;line-height:1;padding:9.5px 12px;height:34px;min-width:auto;width:auto;border-radius:6px;}
@media (max-width:700px){.modal-content.intro-content{height:auto;}.intro-shell{grid-template-columns:1fr;height:auto;}.intro-image-panel{height:190px;}.intro-copy{height:auto;min-height:330px;padding:26px 24px;display:flex;flex-direction:column;align-items:center;}.intro-title,.intro-middle,.intro-bottom{position:static;left:auto;right:auto;top:auto;bottom:auto;}.intro-title{font-size:1.45rem;margin-bottom:12px;}.intro-bottom{margin-top:auto;}}

/* SECTION 04.4b - Create League Modal */
.modal-content.create-league-content{width:calc(92% - 4px);max-width:436px;height:460px;box-sizing:border-box;padding:0;overflow:visible;}
.create-league-modal{position:relative;box-sizing:border-box;height:100%;padding:0 20px;}
.create-league-modal h2{position:absolute;top:23px;left:20px;right:20px;margin:0;line-height:1.2;}
.create-league-sub{font-size:.9rem;line-height:1.35;margin:0 auto 14px;padding:2px 0;color:#333;max-width:360px;transform:translateY(-2px);}
.create-league-fields{position:absolute;top:58px;left:20px;right:20px;bottom:104px;}
.create-league-modal label{position:relative;top:2px;margin:10px auto;max-width:340px;}
.create-league-modal input{box-sizing:border-box;height:40px;padding:7px 12px;margin-top:0;}
.create-league-note{position:relative;top:5px;font-size:.9rem;line-height:1.2;margin:10px auto 4px;padding:2px 0;color:#333;max-width:360px;}
.create-league-note strong,.create-league-note span{display:block;}
.create-league-note strong{position:relative;top:0;}
.create-league-note span{position:relative;top:2px;line-height:1.15;}
.create-league-actions{position:absolute;left:0;right:0;bottom:29px;display:flex;justify-content:center;gap:8px;align-items:center;margin-top:0;padding-bottom:0;}
.create-league-actions .modal-back,.create-league-actions .primary{height:45px;min-height:45px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;margin-top:0;padding:0 16px;border-radius:8px;font-size:1rem;font-weight:700;line-height:1;}
.create-league-actions .modal-back{background:#58bd48;color:#fff;}
.create-league-actions .modal-back:hover{background:#63c84f;}
.create-league-actions .primary{background:#35a83f;}
.create-league-actions .primary:hover{background:#319f3a;}
#join-league-confirm{background:#35a83f;}
#join-league-confirm:hover{background:#319f3a;}

/* SECTION 04.4c - League Start Confirmation */
.modal-content.league-start-content{position:relative;width:92%;max-width:400px;padding:0 16px 21px;overflow:visible;background:linear-gradient(to bottom,var(--green-dark) 0 48px,#fff 48px);}
.league-start-content .modal-title{background:var(--green-dark);color:#fff;margin:0 -16px 16px;padding:12px 16px;font-size:20px;line-height:1.2;border-radius:10px 10px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.league-start-body{margin:0 auto 14px;max-width:340px;color:#333;font-size:15px;line-height:1.35;}
.league-start-body p{margin:0 0 10px;}
.league-start-body p:last-child{margin-bottom:0;}
.league-start-continue{margin:2px 0 0!important;}
.league-start-continue{background:#35a83f;}
.league-start-continue:hover{background:#319f3a;}

/* SECTION 04.5 - Confirm Modal */
.member-status{display:inline-flex;align-items:center;font-size:15px;font-weight:500;line-height:1;vertical-align:middle;}
.member-status--submitted{color:#2d7f43;font-size:15px;font-weight:900;}
.member-status--not-set{color:#667684;}
.member-status-line{display:inline-flex;align-items:center;justify-content:center;}
.member-status-date{display:inline-flex;align-items:center;margin-left:5px;color:#667684;font-size:15px;font-weight:500;line-height:1;vertical-align:middle;}

.confirm-modal .modal-content{background:#fff!important;}
.confirm-modal h2{font-size:1.2rem;margin-bottom:10px;}
.confirm-compact .modal-content{padding-top:18px;padding-bottom:26px;}
.confirm-modal ul{list-style:none;padding-left:0;margin:6px 0 0;}
.confirm-modal ul li{margin:4px 0;}
.confirm-compact .confirm-actions{margin-top:2px;}
.confirm-modal button.primary,.confirm-modal button.danger{padding:8px 16px;font-size:1rem;font-weight:700;border-radius:8px;}
.confirm-modal button.danger{background:#135418;color:#fff;}
.confirm-modal button.danger:hover{background:#0f4614;}
.confirm-modal .weekly-confirm-line{display:block;white-space:nowrap;line-height:1.2;}
.weekly-unavailability-confirm .confirm-modal-body>p{display:grid;gap:8px;margin:0;color:#333;transform:translateY(-10px);}
.weekly-unavailability-confirm .weekly-confirm-line{display:block;line-height:1.2;}
.weekly-unavailability-confirm .confirm-actions{margin-top:18px;transform:translateY(0);}
.weekly-unavailability-confirm .confirm-actions button{width:90px;margin-top:0;}

/* SECTION 04.6 - Time Pickers */
.time-row{display:flex;gap:10px;align-items:center;justify-content:center;margin:10px 0 6px;flex-wrap:wrap;}
.time-range-inline{display:flex;align-items:center;justify-content:center;gap:6px;margin:0 auto 15px;transform:translateY(3px);}
.default-unavailability-content .time-range-inline{transform:translateY(5px);}
.time-range-arrow{font-size:1.45rem;font-weight:800;line-height:1;color:#111a22;margin:0 2px;transform:translateY(-1px);}
.picker{display:inline-flex;align-items:flex-start;gap:0;padding:0;white-space:nowrap;}
.picker span{font-weight:700;}
.time-colon{display:inline-flex;align-items:center;font-size:2.18rem;font-weight:500!important;line-height:1;margin:0 -2px;transform:translateY(-1px);}
.time-range-inline select.p-time-part{width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;margin:0!important;border:none!important;outline:none!important;box-shadow:none!important;}
.p-time-part{appearance:none!important;-webkit-appearance:none!important;background:transparent!important;border:0!important;border-radius:4px;color:#111a22;cursor:pointer;font-weight:500;line-height:1;padding:0!important;text-align:center;text-align-last:center;box-shadow:none!important;outline:0!important;}
.p-time-part:hover,.p-time-part:active{outline:0!important;background:#eef2f5!important;border:0!important;box-shadow:0 0 0 1px #eef2f5!important;}
.p-time-part:focus,.p-time-part:focus-visible{outline:0!important;background:transparent!important;border:0!important;box-shadow:none!important;}
.p-time-part{color-scheme:light;scrollbar-color:#c8c8c8 #fff;}
.p-time-part option{background:#fff;color:#111a22;font-size:1rem;line-height:1.2;}
.p-time-part option:hover{background:#f1f1f1;color:#111a22;}
.p-time-part option:checked{background:#dcdce2;color:#111a22;box-shadow:0 0 0 100px #dcdce2 inset;}
.time-select-menu{position:fixed;z-index:7001;box-sizing:border-box;max-height:140px;overflow-y:auto;overflow-x:hidden;padding:2px 0;background:#fff;border:1px solid #bfc8d0;border-radius:2px;box-shadow:0 4px 12px rgba(17,26,34,.16);color:#111a22;color-scheme:light;scrollbar-color:#bfc0c2 #fff;}
.time-select-menu::-webkit-scrollbar{width:auto;background:#fff;}
.time-select-menu::-webkit-scrollbar-track{background:#fff;}
.time-select-menu::-webkit-scrollbar-thumb{background:#bfc0c2;border-radius:0;}
.time-select-option{display:block;width:100%;height:27px;margin:0;padding:4px 16px 4px 8px;border:0;border-radius:0;background:#fff;color:#111a22;font:500 16px/1.15 Arial,Helvetica,sans-serif;text-align:left;white-space:nowrap;}
.time-select-option:hover,.time-select-option.is-active{background:#eceff2;color:#111a22;}
.p-hour{font-size:2.18rem!important;width:auto!important;min-width:0!important;}
.p-minute{font-size:2.18rem!important;width:auto!important;min-width:0!important;margin-left:0!important;}
.p-ampm{align-self:flex-start;font-size:calc(.92rem + 2px);width:auto!important;min-width:unset!important;max-width:unset!important;height:auto!important;min-height:unset!important;max-height:unset!important;overflow:visible!important;line-height:normal!important;margin-left:6px;margin-top:-3px;color:#6b7280;text-transform:lowercase;border-radius:4px!important;}
.default-unavailability-content .p-hour,.default-unavailability-content .p-minute{font-size:calc(2.18rem + 2px)!important;}
.default-unavailability-content .p-ampm{font-size:calc(.92rem + 4px)!important;line-height:1!important;margin-left:12px!important;transform:translateX(2px);}
.picker.is-anytime .p-minute,.picker.is-anytime .p-ampm{opacity:.25;pointer-events:none;}
.picker.is-anytime .p-hour{min-width:0!important;}
.confirm-note{margin-top:6px;font-size:.92rem;color:#333;}
.confirm-note.error{color:#b00020;font-weight:600;}
.modal .time-grid{margin-top:-8px;margin-bottom:0;}
.time-grid.two-row{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;column-gap:20px;row-gap:1px;width:fit-content;max-width:100%;margin:0 auto 6px;justify-items:start;}
.time-grid.two-row .label{grid-row:1;font-weight:700;text-align:left;padding-left:4px;padding-top:4px;margin:0 0 2px;line-height:1.15;}
.time-grid--center{margin:6px auto 0;justify-items:start;}
.time-grid--tight{row-gap:8px;}
.time-grid .row-head{grid-column:1 / -1;font-weight:700;margin-top:6px;}
.repeat-days{margin:-11px auto 15px;text-align:center;}
.repeat-days-label{font-size:17px;font-weight:700;color:#4c5560;margin-bottom:0;}
.default-unavailability-content .repeat-days-label{font-size:19px;}
.repeat-days-label--top{position:relative;top:-2px;margin:-3px 0 4px;}
.repeat-days-buttons{display:flex;justify-content:center;gap:7px;}
.repeat-day{width:36px;height:36px;min-width:36px;padding:1px;border-radius:8px;background:#e8eef3;color:#4c5560;font-size:17px;font-weight:800;line-height:1;margin:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;transform:translateY(1px);}
.repeat-day.is-active{background:#2d4157;color:#fff;}
.repeat-day:hover{opacity:1;background:#dbe6ed;}
.repeat-day.is-active:hover{background:var(--pill-bg-hover);}

/* SECTION 04.7 - Availability Modal */
#av2-wrap.time-grid.two-row{margin-top:12px;margin-bottom:0;}
#av2-wrap + .time-btn-row{margin-top:-6px;}
#av-confirm{margin-top:2px;margin-bottom:6px;}
#du-confirm{margin-top:16px;}
#du-none,#du-save{margin-bottom:0;}
.availability-blocks{display:grid;gap:8px;margin:10px 0 4px;}
.availability-block{display:grid;justify-items:center;gap:2px;}
.availability-and{font-size:.9rem;font-weight:500;color:#555;margin:-2px 0 2px;text-align:center;}
.availability-time-range{margin-bottom:7px;}
.availability-time-grid.time-grid.two-row{margin:0 auto;}
.modal button.availability-add{margin-top:4px;background:#2d7f43;color:#fff;border:0;border-radius:9px;padding:8px 14px;font-size:.9rem;font-weight:800;}
.modal button.availability-add:hover{background:#369650;}
.availability-remove{font-size:.85rem;padding:0;margin-top:0;}
.availability-actions{margin-top:14px;align-items:center;}
.availability-actions #av-clear{background:transparent;border:0;box-shadow:none;color:#1e74c9;padding:8px 12px;border-radius:8px;}
.availability-actions #av-clear:hover{background:#eef6fa;color:#005fb8;}
.availability-actions #av-all-day,.availability-actions #av-save{min-width:86px;}
.shared-day-help{max-width:340px;margin:8px auto 10px;font-size:.9rem;line-height:1.25;color:#555;}
.teams-table-wrap{margin:10px -16px 12px 0;max-height:298px;overflow-y:auto;overflow-x:hidden;color-scheme:light;scrollbar-color:auto!important;border-top:0;}
.teams-table-wrap::-webkit-scrollbar{width:auto!important;height:auto!important;background:initial!important;}
.teams-table-wrap::-webkit-scrollbar-track{background:initial!important;}
.teams-table-wrap::-webkit-scrollbar-thumb{background:initial!important;border:initial!important;}
.teams-table-wrap::-webkit-scrollbar-button{background:initial!important;}
.teams-table-wrap .teams-table{width:calc(100% - 14px);border-top:1px solid #dfe5ea;}
.teams-joined-content #teams-close{display:none;}
.teams-table{width:100%;table-layout:fixed;border:0;border-collapse:collapse;text-align:left;font-size:15px;font-weight:500;line-height:1.25;}
.teams-table th,.teams-table td{padding:7px 8px;border:0;border-bottom:1px solid #dfe5ea;vertical-align:middle;}
.teams-table tbody tr:last-child td{border-bottom:1px solid #dfe5ea;}
.teams-table th{font-size:.78rem;color:#667684;font-weight:800;}
.teams-table .teams-number{width:6%;padding-left:2px;padding-right:1px;text-align:right;white-space:nowrap;}
.teams-table .teams-team{width:42%;padding-left:7px;}
.teams-table .teams-name{width:28%;}
.teams-table .teams-status{width:18%;text-align:left;white-space:nowrap;}
.teams-table td.teams-status{text-align:left;padding-left:0;padding-right:4px;}
.teams-table th.teams-status{text-align:left;padding-left:0;}
.teams-table td.teams-team,.teams-table td.teams-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.teams-joined-content .teams-joined-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.teams-table .teams-name{text-align:left;}
.teams-table .teams-remove{width:6%;padding-left:1px;padding-right:1px;text-align:center;}
.teams-status-head{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;width:100%;gap:3px;}
.teams-table .teams-status-info{position:relative;display:inline-flex;align-items:center;justify-content:center;width:15px!important;min-width:15px;height:15px!important;min-height:15px;margin:0!important;padding:0!important;border:0;border-radius:999px;background:transparent;color:#667684;font-size:15px!important;font-weight:700;line-height:1;vertical-align:middle;overflow:visible;}
.teams-status-info:hover{background:transparent;color:#28333d;}
.member-remove,.member-remove-placeholder{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin:0;padding:0;border:0;background:transparent;font-size:13px!important;font-weight:700;line-height:1;}
.member-remove{cursor:pointer;}
.member-remove:hover{filter:brightness(.86);}

/* SECTION 04.8 - Best Draft Times Modal */
.modal .best-list{text-align:left;margin:4px 0 6px;padding-left:24px;padding-bottom:2px;list-style-position:inside;}
.modal .best-list-title{text-align:left;margin:7px 0 2px;padding:0 24px;font:inherit;font-weight:400;line-height:inherit;color:inherit;transform:translateY(2px);}
.modal .best-explain{font-size:.9rem;line-height:1.3;margin:10px auto 8px;max-width:360px;color:#333;}
.modal .best-list li{margin:6px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis;}
.modal .best-filter-row{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin:8px 0 12px;padding:0 24px;text-align:left;}
.modal .best-day-filter{margin:0;text-align:left;}
.modal .best-filter-label-row{display:inline-flex;align-items:center;gap:4px;margin:0 0 5px;font:400 .84rem/1.2 Arial,Helvetica,sans-serif;color:#667684;}
.modal .best-day-filter-label{font:inherit;color:inherit;margin:0;}
.modal .best-filter-info{position:relative;width:14px;height:14px;min-width:14px;padding:0;border-radius:50%;border:1px solid currentColor;background:transparent;color:#667684;font-size:.62rem;font-weight:800;line-height:1;display:inline-flex;align-items:center;justify-content:center;margin:0;overflow:visible;}
.modal .best-filter-info:hover{background:transparent;color:#2f3b46;}
.modal .best-day-filter-buttons{display:flex;justify-content:flex-start;gap:5px;transform:translateX(-3px);}
.modal .preferred-day{width:28px;height:28px;min-width:28px;padding:0;border-radius:7px;font-size:.98rem;font-weight:800;font-family:Arial,Helvetica,sans-serif;line-height:1;margin:0;display:inline-flex;align-items:center;justify-content:center;}
.modal .best-conflict-filter{display:grid;justify-items:end;min-width:126px;margin-left:auto;}
.modal .best-conflict-select{width:68px;height:28px;margin:0;padding:3px 22px 3px 8px;border-radius:7px;background:#fff;color:#111a22;font-size:.9rem;font-weight:700;text-align:right;text-align-last:right;}
.modal .best-conflict-select option{text-align:right;}
.modal .best-conflict-note{color:#667684;font-size:.86rem;font-weight:700;}
.modal .best-divider{position:relative;height:1px;background:rgba(0,0,0,.12);margin:8px 0 14px;}
.modal .best-divider>span{position:absolute;left:50%;transform:translateX(-50%);top:-10px;background:#fff;padding:0 10px;color:#6b7280;font-size:.9rem;}
.modal .best-grid{display:grid;grid-template-columns:162px 126px;column-gap:13px;justify-content:center;width:auto;margin:0 auto;align-items:start;transform:translateX(-2px);}
.modal .best-col{display:grid;grid-template-rows:24px 52px;row-gap:2px;text-align:left;align-items:center;}
.modal .best-label{height:24px;display:flex;align-items:center;line-height:1;}
.modal .best-day{width:162px;max-width:162px;min-width:0;height:52px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:8px 21px 8px 14px;background:#fff;}
.modal .best-draft-times-content .picker{display:inline-flex;align-items:center;gap:0;height:52px;transform:translate(-2px,-1px);}
.modal .best-draft-times-content .p-hour{min-width:0!important;text-align:center;text-align-last:center;}
.modal .best-draft-times-content .time-colon{margin:0 -2px;}
.modal .picker select{width:auto;}
.modal .confirm-note{margin-top:16px;}
.modal .best-preview{text-align:center;margin-top:6px;margin-bottom:8px;font-weight:700;}
.modal .best-conflict-detail{margin-top:6px;color:#667684;font-size:.82rem;font-weight:700;line-height:1.25;}
.modal .best-actions{display:flex;gap:10px;justify-content:center;margin-top:-10px;}

/* SECTION 04.9 - Legal Modal */
.legal-modal .footer-disclaimer{text-align:center;font-size:.75rem;color:#888;margin:10px 0 0;line-height:1.4;}

/* SECTION 04.10 - Modal Busy States */
.modal-busy{position:absolute;inset:0;display:grid;place-items:center;background:rgba(255,255,255,.60);}
