.esm-app{--blue:#0769e8;--ink:#101d35;--muted:#52627a;--line:#e5ebf3;--surface:#f7faff;color:var(--ink);background:var(--surface);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-align:left;max-width:1600px;margin:24px auto}.esm-app *{box-sizing:border-box}.esm-app button,.esm-app input,.esm-app select{font:inherit}.esm-app button{cursor:pointer;background:#fff;color:var(--ink);border:1px solid #dce4ef;padding:10px 15px;border-radius:8px;line-height:1.35;min-height:42px;box-shadow:0 1px 2px #102a4310}.esm-app button:hover{border-color:var(--blue);background:#edf5ff}.esm-app :focus-visible{outline:3px solid #075ce0;outline-offset:3px}.esm-app .primary{background:var(--blue);border-color:var(--blue);color:white;font-weight:600}.esm-app .primary:hover{background:#0055c4}.esm-app h2,.esm-app h3,.esm-app p{margin:0}.esm-app h2{font-size:30px;letter-spacing:-.8px;line-height:1.3;font-weight:750;color:var(--ink)}.esm-app h3{font-size:17px;font-weight:700;color:var(--ink);margin-bottom:16px}.esm-header{display:flex;align-items:center;gap:28px;padding:20px 25px;background:white;border-bottom:1px solid var(--line);flex-wrap:wrap}.esm-brand{display:flex;align-items:center;gap:11px;color:#0b1830;text-decoration:none;font-size:20px;font-weight:750;line-height:1.12;letter-spacing:-.6px}.esm-logo{display:block;width:40px;height:44px;color:var(--blue);flex-shrink:0}.esm-logo svg{display:block;width:100%;height:100%}.esm-header nav{display:flex;gap:9px;flex:1}.esm-header nav button{box-shadow:none;border-color:transparent;background:transparent}.esm-header nav [aria-current]{color:var(--blue);border-bottom:2px solid var(--blue);border-radius:0}.esm-header-actions{display:flex;gap:9px}.esm-layout{display:grid;grid-template-columns:185px minmax(0,1fr)}.esm-nav{padding:28px 14px;border-right:1px solid var(--line);background:#fcfdff;display:flex;flex-direction:column;gap:12px}.esm-eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:700;color:#62758d}.esm-nav>.esm-eyebrow{padding:0 13px 7px}.esm-nav button{background:none;box-shadow:none;text-align:left;border-color:transparent;padding:13px 12px}.esm-nav .active{background:#e8f3ff;color:#005dce}.esm-free{margin-top:90px;padding:14px;border-radius:10px;background:#edf5ff;font-weight:650;color:#1763bc}.esm-free small{font-weight:400;color:var(--muted)}.esm-main{padding:28px 24px;min-width:0}.esm-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.esm-title .esm-eyebrow{color:#3270c2}.esm-title h2{margin-top:5px}.esm-app .esm-status{font-size:12px;color:#386651;margin:14px 0;min-height:20px}.esm-app .error{color:#b32334;font-weight:600}.esm-weekbar{display:flex;gap:10px;align-items:center;margin:20px 0}.esm-week-picker{display:flex;align-items:center;background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.esm-week-picker strong{padding:0 18px;font-size:14px}.esm-week-picker button{border:0;border-radius:0;font-size:24px;padding:3px 15px}.esm-badge{margin-left:auto;color:#0053ba;background:#e8f2ff;border-radius:7px;padding:9px 16px;font-weight:600}.esm-editor{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:22px}.esm-work{min-width:0}.esm-table-scroll{border:1px solid var(--line);border-radius:11px;overflow:auto;background:#fff;box-shadow:0 2px 9px #12325405}.esm-app table{width:100%;border-collapse:collapse;margin:0;table-layout:fixed;min-width:825px;font-size:12px;border:0}.esm-app th,.esm-app td{border:1px solid #edf0f5;padding:7px;vertical-align:top;text-align:center}.esm-app thead th{font-size:13px;padding:16px 4px;background:#fff;font-weight:650}.esm-app th:first-child{width:165px;text-align:left;padding-left:13px}.esm-app thead th:last-child{width:68px}.esm-app small{display:block;font-size:12px;color:var(--muted);font-weight:400}.esm-app thead small{margin-top:3px}.esm-person{display:flex;align-items:center;gap:9px;min-height:83px}.esm-avatar{height:35px;width:35px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:#126ac3;color:white;font-weight:600;font-size:12px}.esm-app .esm-name{border:0;padding:0;background:none;box-shadow:none;font-weight:650;text-align:left;min-height:28px;font-size:13px}.esm-person small{font-size:11px}.esm-app .esm-shift{display:block;width:100%;padding:9px 3px;margin-bottom:5px;background:#dcefff;border:1px solid transparent;color:#0a315f;box-shadow:none;border-radius:6px;font-size:11px;min-height:64px}.esm-shift span{display:block}.esm-shift small{font-size:9px;color:inherit;margin-top:4px}.esm-app .color-1 .esm-shift{background:#d9f7ea;color:#124a39}.esm-app .color-2 .esm-shift{background:#e8e0ff;color:#352363}.esm-app .color-3 .esm-shift{background:#ffe0e8;color:#6c2539}.esm-app .color-4 .esm-shift{background:#fff0c3;color:#614600}.esm-app .color-5 .esm-shift{background:#d6f7fc;color:#124d5a}.esm-avatar.color-1{background:#ca247f}.esm-avatar.color-2{background:#7a54cb}.esm-avatar.color-3{background:#16855b}.esm-avatar.color-4{background:#9c7000}.esm-avatar.color-5{background:#147f92}.esm-app .esm-add-cell{width:100%;border:1px dashed transparent;background:#f6f7f9;box-shadow:none;color:#52627a;font-size:11px;padding:6px 2px;min-height:30px}.esm-app .esm-add-cell:hover{border-color:#0769e8}.esm-day-total{font-size:10px!important;margin-top:3px}.esm-total{font-weight:700;padding-top:35px!important}.esm-app tfoot{font-size:11px;background:#f9fbff;font-weight:650}.esm-app tfoot td,.esm-app tfoot th{padding:12px 4px}.esm-card{background:white;border:1px solid var(--line);border-radius:11px;padding:20px;box-shadow:0 2px 8px #13345b04}.esm-insights{display:flex;flex-direction:column;gap:16px}.esm-stat{display:flex;gap:13px;align-items:center;margin:17px 0}.esm-stat:last-child{margin-bottom:0}.esm-stat>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font-size:26px}.esm-stat strong{font-size:25px;line-height:1.3}.blue{background:#e5f2ff;color:#0572ee}.gold{background:#fff7df;color:#aa7100}.green{background:#dffbef;color:#128656}.purple{background:#f0eaff;color:#7950d3}.esm-quick button{display:block;width:100%;margin-top:9px}.esm-warnings p,.esm-warnings li{font-size:12px;color:var(--muted)}.esm-warnings ul{padding-left:16px;max-height:200px;overflow:auto}.esm-app .esm-new-shift{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.esm-new-shift h3{margin-bottom:4px}.esm-new-shift p,.esm-footnote{font-size:12px;color:var(--muted)}.esm-app .esm-footnote{margin-top:12px}.esm-storage{font-size:12px;color:var(--muted);padding-top:25px}.esm-storage button{border:0;background:transparent;box-shadow:none;color:#065cce;padding:0 5px;font-size:12px;text-decoration:underline}.esm-employee-row{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);gap:12px}.esm-help{max-width:800px}.esm-help p{margin-bottom:18px}.esm-help h3:not(:first-child){margin-top:25px}.esm-empty{padding:45px!important;color:var(--muted);line-height:2.2}.esm-empty button{margin-top:12px}.esm-dialog{border:1px solid var(--line);border-radius:14px;padding:26px;width:min(460px,calc(100% - 30px));color:var(--ink);background:white;max-height:90vh;overflow:auto}.esm-dialog::backdrop{background:#10243e75}.esm-dialog label{display:block;font-weight:600;font-size:13px;margin:14px 0}.esm-dialog input,.esm-dialog select{display:block;width:100%;padding:10px;border:1px solid #bdcada;border-radius:6px;color:var(--ink);background:#fff;margin-top:5px}.esm-time-fields{display:flex;gap:15px}.esm-time-fields label{flex:1;min-width:0}.esm-dialog p{font-size:12px;color:var(--muted)}.esm-dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}.esm-app .danger{color:#b12436;border-color:#edbec6;margin-right:auto}.esm-app .esm-form-error{color:#b12436;margin-top:12px}.esm-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1450px){.esm-app table{min-width:890px}.esm-main{padding:30px}.esm-layout{grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:1200px){.esm-layout{grid-template-columns:145px minmax(0,1fr)}.esm-editor{grid-template-columns:minmax(0,1fr)}.esm-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.esm-stat>span{width:36px;height:36px;font-size:21px}.esm-header{gap:15px}.esm-header-actions{margin-left:auto}.esm-stat strong{font-size:22px}.esm-card{padding:16px}}
@media(max-width:760px){.esm-app{margin:10px 0;border-radius:10px}.esm-header{padding:16px;gap:15px}.esm-brand{font-size:18px}.esm-header nav{order:3;flex-basis:100%;justify-content:space-between}.esm-header nav button{padding:9px}.esm-header-actions{width:100%;order:4;flex-wrap:wrap}.esm-header-actions button{flex:1;font-size:12px;padding:9px}.esm-layout{display:block}.esm-nav{display:none}.esm-main{padding:20px 12px}.esm-app h2{font-size:25px}.esm-title>.primary{font-size:12px;padding:10px}.esm-eyebrow{font-size:9px}.esm-badge{display:none}.esm-week-picker{flex:1}.esm-week-picker strong{font-size:12px;text-align:center;flex:1;padding:0 5px}.esm-weekbar>button{font-size:12px}.esm-insights{grid-template-columns:1fr 1fr}.esm-insights>.esm-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.esm-insights>.esm-card:first-child h3{grid-column:1/-1;margin:0}.esm-stat{margin:8px 0;gap:9px}.esm-insights h3{font-size:15px}.esm-quick button{font-size:12px;padding:8px}.esm-new-shift{align-items:flex-start!important}.esm-new-shift .primary{font-size:12px;white-space:nowrap}.esm-storage{line-height:1.8}}
@media print{@page{size:landscape;margin:10mm}body *{visibility:hidden!important}.esm-app.esm-print-target,.esm-app.esm-print-target *{visibility:visible!important}.esm-app.esm-print-target{position:absolute;left:0;top:0;width:100%;max-width:none;margin:0;border:0;background:#fff;font-size:10px;overflow:visible}.esm-print-target .esm-header nav,.esm-print-target .esm-header-actions,.esm-print-target .esm-nav,.esm-print-target .esm-title button,.esm-print-target .esm-status,.esm-print-target .esm-weekbar button,.esm-print-target .esm-badge,.esm-print-target .esm-new-shift,.esm-print-target .esm-insights,.esm-print-target .esm-storage,.esm-print-target .esm-add-cell,.esm-print-target dialog{display:none!important}.esm-print-target .esm-layout,.esm-print-target .esm-editor{display:block}.esm-print-target .esm-main{padding:10px 0}.esm-print-target .esm-header{padding:0 0 10px}.esm-print-target .esm-table-scroll{overflow:visible;border:0;box-shadow:none}.esm-print-target table{min-width:0;width:100%;font-size:10px}.esm-print-target th:first-child{width:145px}.esm-print-target .esm-shift{background:#fff!important;color:#111!important;border:1px solid #aaa!important;font-size:10px}.esm-print-target tr{break-inside:avoid}.esm-print-target thead{display:table-header-group}.esm-print-target .esm-week-picker{border:0}.esm-print-target .esm-person{min-height:55px}.esm-print-target .esm-name{font-size:11px}.esm-print-target .esm-avatar{display:none}.esm-print-target .esm-total{padding-top:18px!important}.esm-print-target .esm-footnote{color:#333}}

/* Backup controls reuse the existing dashboard design. */
.esm-backup-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.esm-backups>p{margin-bottom:14px}.esm-backups .esm-backup-actions button{min-height:44px}
