/* Module layout; controls, brand, dialogs and colors are reused from seg-shared.css. */
.schedules-app{height:auto!important;min-height:100dvh;display:block!important;overflow:auto!important}
.schedules-app main{max-width:1600px;display:block!important;padding:24px;min-height:0}
.schedules-app header{padding:16px 24px!important;display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.header-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.header-actions button{font-size:12px;min-height:38px;padding:8px 12px}.header-actions svg{vertical-align:middle}
.schedules-app .auth{max-width:460px;margin:7vh auto}.auth h1{font-size:28px}.auth label{display:block}.auth input{width:100%}
/* Leave room for the 5px focus outline without touching the label text. */
.range-row-caption{padding:14px 20px;background:#f5f8f6;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;font-weight:600}
.shift-department{display:block;color:var(--ink);font-size:13px;margin-bottom:4px}.shift-card>.mini{display:block;margin-bottom:10px}.day-add{width:100%;margin-top:12px;font-size:12px;min-height:36px}.hotel-departments{border-top:1px solid var(--line);padding:16px 20px}.hotel-departments>summary{cursor:pointer;font-weight:600;padding:6px 0}.hotel-departments .toolbar{padding:14px 0;border-top:1px solid var(--line)}.hotel-departments .mini{display:block;margin-top:5px}
.schedules-app label>input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.schedules-app label>select,.schedules-app label>textarea{display:block;margin-top:8px}
.module-nav{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start;margin-bottom:24px}.schedule-nav-group{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.module-nav .active{--btn-top:#159565!important;--btn-face:#008653!important;--btn-base:#005c39!important;--btn-ink:white!important}
.schedules-app .filters{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;padding:18px 20px;margin-bottom:20px}.filters label{flex:1;min-width:145px;margin:0;font-size:12px}.filters select,.filters input{width:100%;margin-top:6px}.filters label:first-child{min-width:180px}.filters>button{min-width:140px}.source-label{font-size:12px;color:var(--muted);max-width:400px;overflow-wrap:anywhere}.source-label b{display:block;color:var(--ink)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:20px 0}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:18px}.stat strong{font-size:30px;display:block;line-height:1.3;margin-top:6px;font-variant-numeric:tabular-nums}.stat small{color:var(--muted);font-size:12px}.stat .stat-label{font-size:12px;font-weight:600}.stat.warn{border-bottom:3px solid #f2b544}.stat.good{border-bottom:3px solid #008653}
.toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin:18px 0}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.schedules-app .blue{--btn-top:#2381b9!important;--btn-face:#126ea8!important;--btn-base:#084b77!important;--btn-ink:white!important}.schedules-app .danger{--btn-top:#ce5050!important;--btn-face:#be3939!important;--btn-base:#842424!important;--btn-ink:white!important}.schedules-app .purple{--btn-top:#8962bc!important;--btn-face:#7750ac!important;--btn-base:#4f307c!important;--btn-ink:white!important}.schedules-app .review{--btn-top:#ffc759!important;--btn-face:#f2b544!important;--btn-base:#b97e20!important;--btn-ink:#412900!important}
.schedule-card{margin:20px 0;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.schedule-card>.toolbar{padding:20px;margin:0;border-bottom:1px solid var(--line)}.schedule-card h2{font-size:18px}.schedule-card .caption{font-size:12px;color:var(--muted);margin-top:8px}.schedule-card .actions button{font-size:12px;min-height:36px;padding:7px 12px}
.week-grid{display:grid;grid-template-columns:repeat(7,minmax(175px,1fr));overflow:auto}.day-column{padding:14px;border-right:1px solid var(--line);min-width:0}.day-column:last-child{border-right:0}.day-column h3{margin:0 0 14px;font-size:13px}.day-column.weekend{background:#f8faf9}.shift-card{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:12px;background:white;overflow-wrap:anywhere;box-shadow:0 2px 8px #183d2406}.shift-card h4{font-size:15px;margin:0 0 8px}.shift-card .counts{font-size:12px;line-height:1.7;margin:10px 0}.shift-card ul{padding:0;margin:12px 0;list-style:none}.shift-card li{border-top:1px solid #eef2ef;font-size:12px;padding:7px 0}.shift-card button{width:100%;font-size:12px;padding:7px 10px;min-height:36px}.shift-card.cancelled{opacity:.65}.mini{font-size:11px;color:var(--muted);line-height:1.5}.badge-status{display:inline-block;border-radius:6px;padding:5px 8px;font-size:10px;font-weight:700;line-height:1.3;background:#eef3f0;color:#40564a}.badge-status.good{background:#e6f5ed;color:#00603b}.badge-status.warn{background:#fff3d9;color:#79530e}.badge-status.danger{background:#fbe6e4;color:#9f3028}.badge-status.changed{background:#eee7f7;color:#66408e;margin-top:5px}
.empty-state{padding:40px 24px;text-align:center;background:white;border:1px dashed #bdccc3;border-radius:12px}.empty-state h2{font-size:20px}.empty-state p{max-width:660px;margin:12px auto}.quiet{color:var(--muted);font-size:12px}
.month-grid{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:8px;overflow:auto}.month-day{background:white;border:1px solid var(--line);border-radius:10px;padding:12px;min-height:135px}.month-day h3{font-size:12px;margin:0 0 10px}.month-day button{display:block;text-align:left;width:100%;font-size:11px;padding:7px 9px;margin:0 0 9px;line-height:1.5;min-height:36px}.month-spacer{min-height:0}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:white;margin:16px 0}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{background:#edf3ef;color:var(--ink);font-size:11px;font-weight:700;white-space:normal}th,td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.5}tbody tr:hover{background:#f7faf8}td button{font-size:11px!important;padding:6px 9px!important;min-height:34px!important}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.table-wrap table{min-width:700px}.table-wrap.compact table{min-width:450px}
.panel-stack{display:grid;gap:20px}.columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.notice-line{padding:14px 16px;border-left:3px solid #f2b544;background:#fff8e8;border-radius:8px;margin:10px 0}.notice-line button{float:right;margin-left:16px}.notice-line p{margin:5px 0;font-size:12px}.history-item{border-bottom:1px solid var(--line);padding:18px 0}.history-item h3{margin:0 0 7px;font-size:14px}.history-item p{margin:6px 0;font-size:13px;overflow-wrap:anywhere}.history-item time{font-size:11px;color:var(--muted)}.history-item.unread{padding-left:16px;border-left:3px solid #008653;background:#f6fbf8}.history-item pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px 'Segoe UI',Arial;line-height:1.5;background:#f3f6f5;padding:12px;border-radius:8px}.schedules-app details{margin:8px 0}
.schedules-app dialog#modal{background:white;width:min(960px,calc(100% - 32px));max-height:92dvh;padding:0}.schedules-app #modal .dialog-bar{position:sticky;top:0;z-index:2}.schedules-app #modalTitle{font-size:19px}.schedules-app #modalBody{padding:24px}.schedules-app #modalError{margin:0 24px 24px}.modal-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.modal-form label{display:block;margin:0}.modal-form input,.modal-form select,.modal-form textarea{display:block;width:100%;margin-top:7px}.modal-form textarea{border:1px solid #bdccc3;border-radius:8px;font:14px 'Segoe UI',Arial;padding:12px;resize:vertical;min-height:90px;color:var(--ink)}.full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--line);padding-top:18px}.field-check{display:flex!important;align-items:center;gap:10px}.field-check input{width:18px;height:18px;min-height:0;margin:0}.person-search{position:relative}.search-results{max-height:200px;overflow:auto;border:1px solid var(--line);border-radius:8px;margin-top:8px}.search-results button.person{min-height:46px;border-bottom:1px solid var(--line);padding:10px 12px;font-size:12px}.selection-chip{padding:12px;background:#eaf5ef;border:1px solid #83b89b;border-radius:8px;margin-top:8px;font-size:13px}.assignment-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:16px 0}.assignment-row .actions button{font-size:11px;padding:7px 10px;min-height:36px}.assignment-row strong{font-size:14px}.assignment-row.inactive{background:#fafbf9;color:#68756d}.assignment-row .mini{display:block;margin-top:5px}.subheading{font-size:14px;margin-top:24px}.error-text{color:#a12e28}
#loading{position:fixed;top:0;height:3px;width:100%;z-index:999;background:#dcefe5;overflow:hidden}#loading:after{content:'';display:block;background:#008653;height:3px;width:30%;animation:seg-progress 1.4s ease-in-out infinite}.schedules-app #message{margin:0 0 20px}.notification-empty{padding:24px;text-align:center;color:var(--muted)}
@media(max-width:1100px){.schedules-app main{padding:20px 18px}.week-grid{grid-template-columns:repeat(7,220px)}.schedules-app .intro h1{font-size:27px}.filters label{min-width:155px}.month-grid{grid-template-columns:repeat(7,155px)}}
@media(max-width:760px){.schedules-app main{padding:20px 14px}.schedules-app header{padding:14px!important}.header-actions{gap:9px}.header-actions button{font-size:11px;padding:7px 10px}.schedules-app .intro{display:block}.source-label{display:block;margin-top:12px}.module-nav{gap:10px}.module-nav button{flex:1;font-size:12px;padding:9px;white-space:nowrap}.schedules-app .filters{padding:16px;gap:14px}.filters label{min-width:130px}.filters>button{width:100%}.week-grid,.month-grid{display:block;overflow:visible}.day-column{border-right:0;border-bottom:1px solid var(--line);padding:18px}.month-day{min-height:0;margin-bottom:10px}.month-spacer{display:none}.columns{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:14px}.stat strong{font-size:26px}.modal-form{grid-template-columns:1fr}.schedules-app #modalBody{padding:18px}.form-actions{flex-wrap:wrap}.form-actions button{flex:1}.schedule-card>.toolbar{padding:18px}.schedule-card .actions{gap:10px}.notice-line button{float:none;display:block;margin:10px 0 0}.assignment-row .actions{gap:10px}.schedules-app .dialog-bar{padding:16px}.schedules-app .dialog-bar>button{min-height:36px;padding:7px 12px}}
@media(prefers-reduced-motion:reduce){#loading:after{animation:none;width:100%}}
@media(max-width:760px){.filters label:has(input[type=month]),.filters label:has(input[type=date]){flex-basis:100%}}

.modal-form label.bulk-person{display:flex;gap:12px;align-items:flex-start;padding:10px;border-bottom:1px solid var(--line)}.bulk-person input[type=checkbox]{width:20px;min-height:20px;margin:3px 0;flex:none}.bulk-person small{display:block;color:var(--muted);margin-top:4px}.bulk-person:has(input:disabled){opacity:.65}#bulkPeople{max-height:300px;overflow:auto}#bulkSummary{font-weight:600}#bulkChosen{margin:10px 0}

.cloud-staging #backPanel,.cloud-staging [data-action="excelTransfer"]{display:none!important}
