/* Shared visual language from the existing Litimbera client portal. */
.team-toolbar{margin-top:28px;padding:24px;background:#e9ecdf;border-left:3px solid #ffbf00}.team-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 20px}.team-tabs button{padding:12px 24px}.team-tabs button.active{background:#252c21;color:#fff}.team-toolbar label{max-width:500px}.team-toolbar select{width:100%}@media(max-width:740px){.team-toolbar{padding:16px}.team-tabs button{flex:1;padding:10px;font-size:11px}}
.add-day-job{display:block;width:100%;padding:17px 20px;margin:18px 0;font-size:13px;text-align:center}#dayChoices{width:min(650px,94vw)}#detailsTitle{scroll-margin-top:25px}
#calendar .day.filled{background:#e3efdf}#calendar .day.pending{background:#fff1c2;box-shadow:inset 0 -3px #e9bd43}#calendar .day.weekend.filled,#calendar .day.holiday.filled{background:#e3efdf;border-top:3px solid #dca49f}#calendar .day.weekend.pending,#calendar .day.holiday.pending{background:#fff1c2;border-top:3px solid #dca49f}.filled-key{color:#62875b}.pending-key{color:#a9801d}
#calendar .day.weekend,#calendar .day.holiday{background:#f7e7e5}#calendar .day.weekend b,#calendar .day.holiday b{color:#a76460}#calendar .day.weekend.filled,#calendar .day.holiday.filled{background:#efd8d5}#calendar .day.weekend.pending,#calendar .day.holiday.pending{box-shadow:inset 0 -3px #ffbf00}#calendar .day.weekend:disabled,#calendar .day.holiday:disabled{opacity:1;color:#a89a97}.holiday-key{color:#ac7470}
.source-form-title{font-size:16px;font-weight:500;line-height:1.5;margin:24px 0 18px;padding-top:18px;border-top:1px solid #d7ddce}#sourceForm label{display:block;margin:18px 0}#sourceForm small{display:block;margin:8px 0}#sourceForm input[readonly]{background:#e9ecdf;color:#626d58}
:root{--ink:#252822;--green:#252c21;--cream:#f5f5f0;--line:#d7ddce;--muted:#747d6c;--amber:#856400}
body{font-family:Manrope,Arial,sans-serif;font-size:14px;background:var(--cream)}
.demo{margin-left:220px;background:#e9e7d9;color:#62664f;text-align:left;padding:12px 45px;font-size:10px;letter-spacing:.3px}
header{position:fixed;inset:0 auto 0 0;width:220px;background:#1c1f1b;color:#fff;padding:42px 25px;display:flex;flex-direction:column;align-items:start;justify-content:start;border:0;z-index:3}
.brand{font-family:Manrope,Arial,sans-serif;color:#fff;font-size:23px;letter-spacing:2px;font-weight:800}.brand:before{content:'';display:block;width:32px;height:5px;background:#ffbf00;margin-bottom:17px}.brand span{color:#969e8e;font-size:8px;letter-spacing:1.5px;line-height:1.8;margin-top:12px}
.identity{margin-top:auto;text-align:left;font-size:12px;font-weight:500;border-top:1px solid #3c4237;padding-top:22px;width:100%}.identity span{color:#969e8e;font-size:10px}
main{margin-left:220px;max-width:1530px;padding:0 45px 60px}.topline{height:65px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:1px;gap:15px}.topline-status{border:1px solid #cfd4c5;padding:8px 12px;border-radius:30px;font-size:9px}
nav{position:fixed;left:25px;top:200px;width:170px;display:grid;gap:8px;z-index:4;margin:0}.nav-label{color:#969e8e;font-size:9px;letter-spacing:2px;margin:0 0 13px}nav button{display:flex;justify-content:space-between;align-items:center;text-align:left;border:0;border-left:2px solid transparent;border-radius:0;background:transparent;color:#bec5b7;font-size:11px;padding:15px 10px;line-height:1.6}nav button span{font-size:14px;color:#848e7b}nav button.active,nav button:hover{border-left-color:#ffbf00;background:#2a3027;color:#fff}nav button.active span{color:#ffbf00}
.heading{padding:38px 0 28px;margin:0;border-bottom:1px solid var(--line);align-items:center}.heading>div>p:last-child{font-size:12px;color:var(--muted);margin-top:15px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#68735c}h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(34px,3.6vw,50px);font-weight:500;line-height:1.1;letter-spacing:-2px;margin:17px 0}h2{font-family:Manrope,Arial,sans-serif;font-size:23px;font-weight:500;letter-spacing:-.8px}.heading label{font-size:10px;font-weight:500;color:var(--muted)}
button,select,input,textarea{border-radius:0;font-family:inherit}button{font-size:12px}select,input,textarea{border-color:#cbd3c0;font-size:12px;padding:12px}.primary{background:#ffbf00;border-color:#ffbf00;color:#20251c;font-weight:800}.primary:hover{background:#edaf00;border-color:#edaf00;color:#20251c}
.stats{gap:0;background:#e9ecdf;border:1px solid var(--line);margin:26px 0 32px;padding:24px 0}.stat,.stat:first-child{background:transparent;color:var(--ink);border:0;border-radius:0;padding:0 25px}.stat+.stat{border-left:1px solid #ccd3c2}.stat:first-child{border-left:3px solid #ffbf00}.stat small{opacity:1;color:#6d775f;font-size:10px}.stat strong{font-family:Manrope,Arial,sans-serif;font-weight:500;font-size:38px;letter-spacing:-1.5px}.stat strong span{font-size:12px;letter-spacing:0;color:#747d6c}
.layout{gap:30px;grid-template-columns:minmax(0,1fr) 250px}.panel{background:transparent;border:0;border-radius:0;padding:0}.panel-title>span{font-size:10px}.panel-title h2{margin:8px 0 15px}.muted{font-size:11px}.layout aside{padding-left:25px;border-left:1px solid var(--line)}.layout aside h2{font-size:20px}.hint{padding-top:16px;margin-top:18px}.hint b{font-size:11px;font-weight:600}.hint p{font-size:11px;line-height:1.9}
#calendar{gap:0;border-left:1px solid var(--line);border-top:1px solid var(--line);margin-top:23px}.weekday{background:#ebeee4;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;padding:12px 0}.day{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;min-height:85px;padding:12px 10px;background:#fff;gap:13px}.day.filled{background:#e9ecdf}.day.weekend{background:#eeeee7}.day.pending{background:#fff2cb;box-shadow:inset 0 -3px #ffbf00}.day.today{outline:0;box-shadow:inset 0 0 0 2px #252c21}.day b{font-size:11px;color:#6d775f}.day span{font-size:17px;font-weight:500}.day.empty span{font-size:10px}.day:hover:not(:disabled){background:#f9e9af}.day:disabled{opacity:.5}.legend{color:#5e6c51;font-size:10px;margin-top:18px}
.requests{margin-top:35px;border-top:1px solid var(--line);padding-top:26px}.request{font-size:12px;padding:22px 0}.request b{font-weight:600}.request p{font-size:11px;line-height:1.8}.badge{font-size:9px;padding:8px 12px;border-radius:0;background:#f4e8ba;color:#715400}.badge.approved{background:#e3eadb;color:#4b5e3b}.badge.rejected{background:#f1e0dc}.change{font-size:28px;font-weight:500;letter-spacing:-1px}.change del{font-size:20px}.actions button{padding:12px 18px}.reject{background:transparent;border-color:#cbd3c0}
#manager>.panel{margin-top:28px}.login{background:#fff;border:1px solid var(--line);padding:35px;max-width:440px;margin:55px auto}.login h1{font-size:38px}dialog{background:#f5f5f0;border:1px solid #cbd3c0;border-radius:0}dialog::backdrop{background:#171d17aa}dialog .notice{background:#e9ecdf;border-left:3px solid #ffbf00;border-radius:0;font-size:11px}.notice{color:#505c45}dialog .panel-title button{border:0;background:transparent}.login .muted{font-size:10px}
footer{max-width:none;margin:0 45px 0 265px;border-color:var(--line);font-size:9px;letter-spacing:.3px}#toast{border-radius:0;background:#252c21;border-left:4px solid #ffbf00;font-size:12px}:focus-visible{outline:3px solid #c48700;outline-offset:3px}
@media(min-width:1450px){main{padding-left:55px;padding-right:55px}.demo{padding-left:55px}}
@media(max-width:1100px){.layout{grid-template-columns:minmax(0,1fr)}.layout aside{display:none}main{padding-left:28px;padding-right:28px}.demo{padding-left:28px;padding-right:28px}}
@media(max-width:740px){header{position:relative;width:100%;padding:20px;min-height:105px;flex-direction:row;align-items:center;justify-content:space-between}.brand{font-size:21px}.brand:before{height:3px;width:22px;margin-bottom:8px}.brand span{font-size:7px;margin-top:6px}.identity{margin:0;width:auto;border:0;padding:0;text-align:right;font-size:10px}.identity span{font-size:9px}.demo{margin:0;padding:9px 20px;font-size:9px}main{margin:0;padding:0 20px 35px}.topline{height:52px;font-size:8px;letter-spacing:.5px}.topline-status{font-size:8px;padding:6px 9px}nav{position:static;width:100%;display:flex;gap:0;margin:0;padding-top:18px;border-bottom:1px solid var(--line)}.nav-label{display:none}nav button{color:#747d6c;font-size:10px;padding:12px 10px;border-left:0;border-bottom:2px solid transparent;flex:1;justify-content:center}nav button span{display:none}nav button.active,nav button:hover{background:transparent;color:#252822;border-left:0;border-bottom-color:#ffbf00}.heading{padding:25px 0 20px}.heading>div>p:last-child{font-size:11px}h1{font-size:36px;letter-spacing:-1.5px}.heading label{margin-top:18px}.heading select{width:100%}.stats{margin:20px 0 25px;padding:18px 0}.stat,.stat:first-child{padding:0 12px}.stat small{font-size:9px;line-height:1.6;display:block}.stat strong{font-size:29px;letter-spacing:-1px}.stat strong span{font-size:9px}.panel{padding:0}h2{font-size:21px}.day{padding:9px 5px;min-height:69px;gap:11px}.day span{font-size:13px}.day b{font-size:10px}.day.empty span{font-size:9px}.weekday{font-size:9px;padding:10px 0}.requests{padding-top:20px}.request{flex-direction:column;gap:12px}.login{padding:25px;margin:30px auto}.login h1{font-size:33px}footer{margin:0 20px;padding:20px 0;font-size:8px}dialog{padding:22px}.badge{align-self:start}.actions{width:100%}.actions button{flex:1}}

#calendar button.day.filled{background:#e3efdf}#calendar button.day.pending{background:#fff1c2;box-shadow:inset 0 -3px #e9bd43}#calendar button.day.weekend.filled,#calendar button.day.holiday.filled{background:#e3efdf;border-top:3px solid #dca49f}#calendar button.day.weekend.pending,#calendar button.day.holiday.pending{background:#fff1c2;border-top:3px solid #dca49f}

#calendar button.day.weekend,#calendar button.day.holiday,#calendar button.day.weekend.filled,#calendar button.day.holiday.filled,#calendar button.day.weekend.pending,#calendar button.day.holiday.pending{background:#f7e7e5;border-top:0}#calendar button.day.weekend.pending,#calendar button.day.holiday.pending{box-shadow:inset 0 -4px #e9bd43}.danger{background:#9b443b;color:white;border-color:#9b443b}.danger:hover{background:#81382f;color:white}.danger-text{color:#9b443b;border-color:#d9b8b3;background:transparent}#deleteDialog{max-width:520px}#deleteForm label{margin:20px 0}#deleteError{color:#9b443b}.badge.deleted{background:#f3dfdb;color:#8b4138}
