.lems-app{--ink:#14324d;--accent:#136a79;--border:#d8e4ed;color:var(--ink);background:#f1f5f8;min-height:100vh;font-family:Inter,system-ui,sans-serif;font-size:15px}
.lems-app.lems-workspace{padding-left:240px}.lems-workspace .lems-header{padding:16px 28px;background:#fff;color:var(--ink);border-bottom:1px solid var(--border)}.lems-app.lems-workspace main{max-width:1600px;padding:26px 28px}.lems-sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:linear-gradient(165deg,#0d2b52,#163e58 55%,#263655);color:white;display:flex;flex-direction:column;padding:24px 14px;z-index:30;overflow-y:auto;scrollbar-width:none}.lems-sidebar::-webkit-scrollbar{display:none}.lems-sidebar>.lems-brand{padding:0 8px 24px}.lems-nav-label{font-size:.65rem;letter-spacing:.13em;color:#adc6dc;font-weight:750;padding:18px 12px 8px}.lems-sidebar nav{display:grid;gap:5px}.lems-app .lems-sidebar button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:transparent;border:1px solid transparent;color:#e8f1ff;padding:10px 12px;font-size:.9rem}.lems-app .lems-sidebar button:hover:not(:disabled){background:#ffffff18;color:white}.lems-app .lems-sidebar button.active{background:#ffffff20;border-color:#83c7dc55;box-shadow:inset 3px 0 #78dbd8}.lems-sidebar nav button>span{display:grid;place-items:center;width:27px;height:27px;border:1px solid #ffffff35;border-radius:7px;background:#ffffff0c}.lems-sidebar nav small{margin-left:auto;color:#a5d9dc;font-size:.6rem}.lems-sidebar-foot{margin-top:auto;padding:28px 10px 0;font-size:.85rem}.lems-sidebar-foot small{color:#adc6dc;margin:5px 0 12px}.lems-app .lems-sidebar-foot button{border-color:#ffffff40;justify-content:center}.lems-workspace-heading>strong{font-size:1.15rem}.lems-workspace-heading{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.lems-app .lems-menu-toggle{display:none}.lems-page-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.lems-page-heading h1{margin-bottom:0}.lems-report-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.lems-report-stats>div{background:#f0f6fa;border-radius:10px;border-top:3px solid #258a9d;padding:16px}.lems-report-stats>div:nth-child(2){border-color:#15a184}.lems-report-stats>div:nth-child(3){border-color:#8061c8}.lems-report-stats>div:nth-child(4){border-color:#d39833}.lems-report-stats strong{display:block;font-size:1.8rem;margin-top:6px}.lems-table-scroll{overflow-x:auto}.lems-report-table{width:100%;border-collapse:collapse;font-size:.85rem}.lems-report-table th{background:#edf4fa;color:#224b6b;text-align:left;font-size:.75rem}.lems-report-table th,.lems-report-table td{padding:12px;border-bottom:1px solid #dce6ee;vertical-align:top}.lems-report-table tbody tr:nth-child(even){background:#f8fafc}.lems-report-table .lems-description{font-size:.85rem;min-width:200px;max-width:520px}.lems-nowrap{white-space:nowrap}.lems-status-held,.lems-status-ready{display:inline-block;padding:4px 8px;border-radius:6px;font-size:.7rem;white-space:nowrap;background:#e0f2ea;color:#16624b}.lems-status-held{background:#fff0c4;color:#795200}
@media(max-width:950px){.lems-app.lems-workspace{padding-left:0}.lems-sidebar{display:none;top:74px;box-shadow:8px 0 24px #102d6b22}.lems-sidebar.is-open{display:flex}.lems-app .lems-menu-toggle{display:block}.lems-workspace .lems-header{padding:14px 16px;position:sticky;top:0;z-index:35;min-height:74px}.lems-workspace-heading>small{display:none}.lems-app.lems-workspace main{padding:20px 12px}.lems-report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.lems-page-heading{align-items:start;flex-wrap:wrap}}
.lems-quick-list{display:flex;flex-wrap:wrap;gap:12px}.lems-quick-list>div{display:flex;gap:3px}.lems-quick{padding-bottom:14px;border-bottom:1px solid #d8e4ed}
.lems-app .lems-calendar-grid{grid-template-columns:repeat(7,minmax(210px,1fr));min-width:1530px}
.lems-calendar-hours>b{display:block;line-height:1.5;white-space:nowrap}.lems-calendar-hours>b>span{font-size:.58rem;font-weight:600;color:#597080}.lems-calendar-hours>b:nth-child(2){color:#7851a8}
.lems-shift-field{margin-top:18px;padding:12px;background:#edf4fa;border-radius:10px}.lems-app .lems-shift-switch{display:flex;flex-direction:row;align-items:center;gap:12px;position:relative;cursor:pointer;width:fit-content}.lems-app .lems-shift-switch input[type=checkbox]{position:absolute;opacity:0;width:48px;height:28px;left:45px;margin:0}.lems-shift-track{display:block;width:48px;height:28px;border-radius:20px;background:#398a99;position:relative;pointer-events:none}.lems-shift-track:after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:white;transition:transform .15s}.lems-shift-switch input:checked+.lems-shift-track{background:#7253a4}.lems-shift-switch input:checked+.lems-shift-track:after{transform:translateX(20px)}.lems-shift-switch input:focus-visible+.lems-shift-track{outline:3px solid #24a9b7;outline-offset:3px}.lems-shift-field>small{margin-top:9px}.lems-shift-switch input:disabled+.lems-shift-track{opacity:.5}
.lems-person-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.lems-app .lems-person-filters button{display:flex;align-items:center;gap:7px;padding:6px 10px;border-radius:24px;font-size:.75rem}.lems-person-filters button.active{background:#dceff0;border-color:#479eab}.lems-avatar{display:inline-grid;place-items:center;flex:0 0 27px;width:27px;height:27px;background:#dceaff;color:#285586;border-radius:50%;font-size:.62rem;font-weight:800}.lems-calendar-filter .lems-report-stats{margin:16px 0}.lems-calendar-filter .lems-report-stats>div{padding:10px 14px}.lems-calendar-filter .lems-report-stats strong{font-size:1.35rem}.lems-calendar-scroll{overflow-x:auto;padding-bottom:12px}.lems-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(155px,1fr));gap:10px;min-width:1150px}.lems-calendar-day{background:#f8fafc;border:1px solid #d5e2ed;border-radius:12px;padding:9px;min-height:165px;align-self:stretch}.lems-calendar-day.weekend{background:#f4f1fa}.lems-calendar-day.has-time{background:#f1f9f6;border-color:#c3dfd5}.lems-calendar-day.today{box-shadow:inset 0 0 0 2px #ecbb42}.lems-calendar-day>header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d8e4ed;padding:3px 0 10px;margin-bottom:9px}.lems-calendar-day>header b{font-size:.7rem;border-radius:20px;background:#dcefe8;padding:4px 7px;white-space:nowrap}.lems-calendar-day>header strong{font-size:.82rem}.lems-app .lems-calendar-day>header small{font-size:.7rem;margin-top:4px}.lems-calendar-person{background:white;border:1px solid #d3dfeb;border-radius:9px;margin:7px 0;overflow:hidden}.lems-calendar-person summary{cursor:pointer;display:flex;align-items:center;gap:6px;padding:9px 7px;list-style:none;min-height:51px}.lems-calendar-person summary::-webkit-details-marker{display:none}.lems-calendar-person summary:focus-visible{outline:3px solid #24a9b7;outline-offset:-3px}.lems-calendar-person summary:hover{background:#eef7fa}.lems-calendar-person summary>strong{font-size:.72rem;line-height:1.25;overflow-wrap:anywhere;flex:1;min-width:0}.lems-calendar-person summary>span:last-child{text-align:right;flex-shrink:0;font-size:.7rem}.lems-app .lems-calendar-person summary small{font-size:.6rem;margin-top:2px}.lems-calendar-person[open]>summary{background:#eaf4f7;border-bottom:1px solid #d3dfeb}.lems-calendar-projects{padding:8px;overflow-wrap:anywhere}.lems-app .lems-calendar-project h3{font-size:.75rem;margin:6px 0;background:#eef3f8;padding:7px;border-radius:6px}.lems-calendar-project h3 span{display:block;font-size:.68rem;color:#22694f;margin-top:3px}.lems-calendar-project article{font-size:.73rem;padding:8px 1px;border-bottom:1px solid #e1e8ee}.lems-app .lems-calendar-project article small{font-size:.64rem}.lems-calendar-project .lems-description{font-size:.72rem;margin:7px 0}.lems-calendar-project .lems-badges{gap:3px}.lems-calendar-project .lems-badges span{font-size:.6rem;padding:3px 5px}.lems-app .lems-calendar-held{color:#8d5b04;font-size:.68rem}.lems-app .lems-calendar-projects label{font-size:.7rem;margin-top:8px}.lems-app .lems-calendar-projects button{font-size:.7rem;padding:8px;width:100%;margin-top:7px}.lems-app .lems-calendar-day .lems-empty{font-size:.72rem;padding:25px 0}.lems-person-filters b{font-size:.7rem}
.lems-app *{box-sizing:border-box}.lems-app main{max-width:1150px;margin:auto;padding:26px 20px}.lems-app h1{font-size:clamp(1.4rem,3vw,2rem);margin:6px 0 12px;font-weight:750}.lems-app h2{font-size:1.2rem;margin:6px 0 16px}.lems-app h3{font-size:1rem;margin:18px 0 10px}.lems-app p{line-height:1.5}.lems-app small{color:#597080;display:block;font-size:.8rem}.lems-header{background:#112e48;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px max(20px,calc((100vw - 1110px)/2))}.lems-brand{color:white!important;text-decoration:none;display:flex;gap:12px;align-items:center;font-weight:800;letter-spacing:.07em}.lems-brand>span{border:1px solid #77c6d7;border-radius:12px;padding:12px 8px;background:#24445d}.lems-brand small{color:#a2c6dc;letter-spacing:.15em;font-size:.65rem}.lems-header-right{display:flex;align-items:center;gap:15px;font-size:.85rem;flex-wrap:wrap}.lems-app button{border:1px solid #b9ccd9;border-radius:9px;background:white;color:var(--ink);padding:10px 16px;font:inherit;font-weight:650;cursor:pointer;transition:background .15s,box-shadow .15s}.lems-app button:hover:not(:disabled){background:#e3f1f2;box-shadow:0 3px 8px #14324d15}.lems-app button:focus-visible,.lems-app input:focus-visible,.lems-app select:focus-visible,.lems-app textarea:focus-visible{outline:3px solid #24a9b7;outline-offset:2px}.lems-app button:disabled{opacity:.5;cursor:not-allowed}.lems-app button.primary,.lems-tabs .active{background:var(--accent);color:#fff;border-color:var(--accent)}.lems-app button.primary:hover:not(:disabled){background:#0d5360}.lems-panel{background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px;margin-bottom:18px;box-shadow:0 5px 18px #203e5610}.lems-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.lems-eyebrow{font-size:.7rem;color:var(--accent);font-weight:800;letter-spacing:.13em}.lems-app label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.85rem;min-width:0}.lems-app input:not([type=checkbox]),.lems-app select,.lems-app textarea{width:100%;border:1px solid #bdcedb;border-radius:8px;background:#fff;color:var(--ink);padding:10px 12px;font:inherit;min-height:43px}.lems-app textarea{resize:vertical}.lems-login{max-width:480px;margin:5vh auto}.lems-login form{display:grid;gap:16px;margin:24px 0}.lems-toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;align-items:end}.lems-section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.lems-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:15px 0}.lems-week button{padding:12px 4px;display:flex;align-items:center;flex-direction:column;gap:4px;background:#f5f8fb}.lems-week strong{font-size:1.3rem}.lems-week span{font-size:.7rem;text-transform:uppercase}.lems-week b{font-size:.85rem}.lems-week button.today{border-color:#13818b}.lems-week button.selected{background:#136a79;color:white}.lems-week button.selected small{color:#fff}.lems-summary{display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:14px;font-size:.85rem}.lems-day-total{font-size:2.1rem;font-weight:800;text-align:right}.lems-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.lems-app fieldset{border:1px solid #9ac7ce;border-radius:12px;margin:20px 0;padding:18px;background:#f6fbfb}.lems-app legend{float:none;width:auto;padding:0 8px;font-size:1rem;font-weight:700}.lems-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}.lems-editor{border-bottom:1px solid var(--border);padding:5px 0 20px;margin-bottom:18px}.lems-flags{display:flex;gap:16px;flex-wrap:wrap;margin:18px 0}.lems-flags label,.lems-options label{flex-direction:row;align-items:center;font-weight:500}.lems-app input[type=checkbox]{width:19px;height:19px;accent-color:var(--accent);flex-shrink:0}.lems-link{margin-top:12px}.lems-entry{border:1px solid var(--border);border-left:4px solid #168c91;border-radius:10px;padding:16px;margin-top:14px}.lems-entry .lems-section-heading>div{min-width:0;overflow-wrap:anywhere}.lems-entry .lems-section-heading strong{display:block;margin-bottom:4px}.lems-hours{background:#e1f3ed;color:#076648;padding:6px 12px;border-radius:20px;white-space:nowrap;font-weight:800}.lems-description{white-space:pre-wrap;overflow-wrap:anywhere;color:#405768;font-size:.9rem}.lems-badges{display:flex;flex-wrap:wrap;gap:6px}.lems-badges span{border-radius:6px;background:#eef3f8;padding:4px 8px;font-size:.72rem;font-weight:650}.lems-badges .held{background:#fff0c4;color:#795200}.lems-alert{border-radius:10px;padding:14px 18px;background:#e0f4ee;color:#075943;margin-bottom:16px}.lems-alert.warning{background:#fff3d2;color:#745000}.lems-alert.error{background:#ffe8e7;color:#8a2020}.lems-empty{color:#758b9a;text-align:center;padding:20px}.lems-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.lems-options{max-height:280px;overflow:auto;display:grid;gap:10px;margin:14px 0}.lems-periods{max-height:300px;overflow:auto;margin-top:18px}.lems-periods>div{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid var(--border);padding:10px 0}.lems-approval{padding:16px;background:#fff8e9;display:flex;align-items:end;gap:10px;border-radius:10px;margin-top:14px}.lems-approval label{flex:1}.lems-app footer{padding:20px;text-align:center;font-size:.75rem;color:#627888}.lems-app .lems-panel>label{margin-bottom:14px}
@media(max-width:650px){.lems-header{padding:12px 15px;align-items:start}.lems-header-right{flex-direction:column;align-items:end;gap:4px}.lems-header-right>span{font-size:.7rem}.lems-app main{padding:16px 10px}.lems-panel{padding:15px;border-radius:12px}.lems-fields{grid-template-columns:1fr 1fr}.lems-fields>label:first-child,.lems-fields>label:nth-child(2),.lems-fields>label:nth-child(3){grid-column:1/-1}.lems-week{gap:4px}.lems-week button{border-radius:7px;padding:10px 1px}.lems-week b{font-size:.72rem}.lems-week small{font-size:.6rem}.lems-columns{grid-template-columns:1fr}.lems-summary{gap:14px}.lems-app fieldset{padding:12px}.lems-approval{flex-direction:column;align-items:stretch}.lems-app button{padding:10px 12px}.lems-toolbar{grid-template-columns:1fr}.lems-day-total{font-size:1.7rem}}
