
:root{--navy:#254b57;--ink:#253f48;--muted:#718087;--pink:#f8d9d7;--rose:#ad536a;--bg:#f8f9f8;--line:#e7ecea;--green:#24765d;--radius:20px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 'Segoe UI',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}a{color:var(--navy)}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;padding:11px 17px;background:var(--navy);color:white;text-decoration:none;font-weight:600;transition:background .15s}button:hover,.button:hover{background:#366776}button:disabled{opacity:.55;cursor:wait}button.secondary,.button.secondary{background:#edf2f0;color:var(--navy)}button.soft{background:var(--pink);color:#793d4e}button.danger{background:#fce9e8;color:#a3353d}.small{font-size:12px;padding:7px 10px}.linkbtn{padding:4px 0;background:none;color:var(--navy);text-align:left}.linkbtn:hover{background:none;color:var(--rose)}h1,h2,h3,p{margin-top:0}h1{font-size:32px;line-height:1.2;letter-spacing:-1px}h2{font-size:21px;letter-spacing:-.4px}h3{font-size:16px}p{margin-bottom:14px}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;color:var(--rose)}.loading{padding:15vh 20px;text-align:center}.login{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}.intro{background:#f9e6e2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:55px 65px;text-align:center;position:relative}.intro:after{content:'';height:80px;width:80px;border:1px solid #dfbcb9;border-radius:50%;position:absolute;bottom:30px;left:30px}.intro .logo{width:240px;height:220px;object-fit:contain;mix-blend-mode:normal;margin-bottom:25px;border-radius:50%;clip-path:circle(46% at 50% 50%);image-rendering:auto}.intro h1{font-family:Georgia,serif;font-size:47px;font-weight:500;max-width:460px}.intro p{max-width:450px;color:#5f6d70}.intro .pills{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.intro .pills span{border:1px solid #dfc5c1;border-radius:30px;padding:6px 12px;font-size:12px}.loginbox{display:flex;align-items:center;justify-content:center;padding:45px;background:#fff}.loginform{width:100%;max-width:360px}.loginform h2{font-size:29px;margin:6px 0 10px}.loginform form{margin-top:30px}.loginform button[type=submit]{width:100%;margin-top:8px}.brandmark{font-family:Georgia,serif;font-size:24px;font-weight:bold;line-height:1.1;margin-bottom:40px}.brandmark span{display:block;color:var(--rose);font-size:14px;font-family:'Segoe UI',sans-serif;font-weight:500;margin-top:5px}label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px}input,select,textarea{width:100%;border:1px solid #d7e0dc;background:white;border-radius:10px;padding:11px 12px;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--navy)}input[type=checkbox]{width:18px;height:18px;accent-color:var(--navy)}textarea{min-height:95px;resize:vertical}.check{display:flex;gap:10px;align-items:center;font-weight:400}.error{color:#a3353d;font-size:13px;white-space:pre-wrap}.hint{font-size:12px;color:var(--muted);margin-top:9px}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:30px 18px;position:fixed;left:0;top:0;bottom:0;width:240px;display:flex;flex-direction:column;overflow:auto}.brand{display:flex;align-items:center;gap:10px;padding:0 4px 26px}.brand img{width:52px;height:52px;border-radius:50%;object-fit:cover}.brand strong{font-family:Georgia,serif;line-height:1.1;font-size:19px}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.nav{display:grid;gap:5px}.nav button{justify-content:flex-start;color:#65777d;background:none;padding:12px 14px;font-size:13px;font-weight:500}.nav button.active{background:#f9e6e3;color:#864557;font-weight:700}.nav .icon{font-size:17px;width:23px}.sidebarfoot{margin-top:auto;border-top:1px solid var(--line);padding:20px 8px 0;font-size:12px;color:var(--muted)}.avatar{display:flex;align-items:center;gap:12px}.avatar .bubble{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:#864557;font-weight:700}.main{grid-column:2;min-width:0}.topbar{height:78px;background:#fff;border-bottom:1px solid var(--line);padding:0 38px;display:flex;justify-content:space-between;align-items:center}.topbar .context{font-size:13px;color:var(--muted)}.topbar .context b{color:var(--ink);font-weight:500}.mobilebrand{display:none}.content{max-width:1450px;margin:auto;padding:34px 38px 60px}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px}.pagehead h1{margin:5px 0 6px}.pagehead p{color:var(--muted);margin:0;font-size:13px}.hero{background:#f7e6e2;border:1px solid #f1d9d3;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;padding:27px 32px;margin-bottom:25px;overflow:hidden}.hero h2{font-family:Georgia,serif;font-size:28px;font-weight:500;max-width:520px;margin:4px 0 10px}.hero p{font-size:13px;color:#6d7474;max-width:500px;margin-bottom:0}.hero img{width:118px;height:118px;object-fit:contain;border-radius:50%;mix-blend-mode:multiply;margin-left:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:28px}.stat{border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px}.stat .label{font-size:12px;color:var(--muted);display:flex;justify-content:space-between}.stat strong{display:block;font-size:31px;letter-spacing:-1px;margin-top:9px}.stat small{font-size:11px;color:var(--muted)}.grid2{display:grid;grid-template-columns:1.45fr 1fr;gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;margin-bottom:22px;min-width:0}.cardhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.cardhead h2{margin:0}.empty{text-align:center;padding:36px 20px;color:var(--muted);font-size:13px}.empty .emptyicon{display:block;font-size:28px;color:#b5c4bf;margin-bottom:8px}.empty strong{display:block;color:#5a7279;font-size:15px;margin-bottom:7px}.notice{padding:13px 17px;border-radius:12px;background:#fff3d9;color:#725e32;font-size:13px;margin-bottom:20px}.notice.success{background:#e8f5ee;color:#27664d}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;background:#fafbf9}th,td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:0}td small{display:block;color:var(--muted);font-size:11px}.badge{display:inline-block;padding:4px 9px;border-radius:20px;font-size:11px;font-weight:600;background:#eef1f0;color:#68777c;white-space:nowrap}.badge.pendiente,.badge.review{background:#fff0d4;color:#916419}.badge.aprobada,.badge.realizada,.badge.pagado{background:#e6f3ec;color:#32795c}.badge.cancelada,.badge.rechazada,.badge.inasistencia{background:#fbe7e7;color:#a1535a}.board{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.column{background:#edf1ef;border-radius:16px;padding:15px;min-height:220px}.column h3{color:#60757b;font-size:12px;text-transform:uppercase;letter-spacing:.8px;display:flex;justify-content:space-between}.bookingcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:12px}.bookingcard h3{font-size:14px;text-transform:none;letter-spacing:0;color:var(--ink);margin:10px 0 4px}.bookingcard p{font-size:12px;color:var(--muted);margin-bottom:12px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-bottom:20px}.toolbar label{margin:0 0 5px}.toolbar>div{min-width:130px}.toolbar input,.toolbar select{max-width:240px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.wide{grid-column:1/-1}.formactions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.profile{display:flex;gap:28px;align-items:center}.profile img{width:190px;border-radius:50%}.profile p{max-width:640px;color:var(--muted)}.detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail{border:1px solid var(--line);padding:18px;border-radius:12px}.detail h3{font-size:12px;color:var(--muted);margin-bottom:8px}.detail p{white-space:pre-wrap;margin-bottom:0;font-size:14px}.timeline{border-left:2px solid #f0d6d0;padding-left:20px;margin:20px 8px}.timeline-item{margin-bottom:22px}.timeline-item strong{display:block}.timeline-item small{color:var(--muted)}.slotlist{max-height:290px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:8px 14px}.slotlist label{border-bottom:1px solid var(--line);padding:10px 0;margin:0}.slotlist input[type=radio]{width:auto}.modalheader{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.modalheader h2{margin:0}.close{background:#f1f4f2;color:var(--ink);font-size:20px;padding:3px 12px}dialog{border:0;border-radius:22px;box-shadow:0 25px 100px #17394435;width:650px;max-width:calc(100vw - 24px);max-height:90vh;padding:28px;color:var(--ink)}dialog::backdrop{background:#183a4966;backdrop-filter:blur(3px)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;z-index:99;border-radius:12px;padding:13px 22px;box-shadow:0 8px 30px #254b5733;display:none;max-width:90vw;font-size:13px}.notification{border-bottom:1px solid var(--line);padding:17px 0}.notification:last-child{border:0}.notification p{font-size:13px;margin-bottom:6px}.notification small{color:var(--muted)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#b55c70;margin-right:7px}.footnote{font-size:11px;color:#899691;margin-top:26px}.bigmoney{font-size:26px;font-weight:700}.listline{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0;font-size:13px}.menu-toggle{display:none}.balance{background:#edf5f0;border-radius:12px;padding:15px}.hidden{display:none!important}
@media(min-width:1600px){.content{padding-top:45px}.hero{padding:36px}.hero img{width:140px;height:140px}}
@media(max-width:1100px){.shell{grid-template-columns:205px 1fr}.sidebar{width:205px}.content{padding:25px}.topbar{padding:0 25px}.stats{gap:10px}.stat{padding:16px}.stat strong{font-size:25px}.grid2{grid-template-columns:1fr}.board{gap:10px}.hero h2{font-size:25px}}
@media(max-width:760px){.login{grid-template-columns:1fr}.intro{padding:28px 25px}.intro .logo{width:125px;height:115px;margin-bottom:12px}.intro h1{font-size:31px;margin-bottom:12px}.intro p{font-size:13px}.intro:after{display:none}.loginbox{padding:30px 25px}.brandmark{display:none}.shell{display:block}.sidebar{display:none;width:260px;z-index:20;box-shadow:12px 0 40px #24455330}.sidebar.open{display:flex}.main{width:100%}.menu-toggle{display:block;padding:6px 12px}.topbar{height:65px;padding:0 18px;gap:12px}.topbar .context{display:none}.mobilebrand{display:block;font-family:Georgia,serif}.topbar .avatar .muted{display:none}.content{padding:24px 16px}.pagehead{align-items:flex-start}.pagehead h1{font-size:26px}.pagehead .actions button{font-size:12px;padding:9px 11px}.hero{padding:21px}.hero h2{font-size:23px}.hero img{width:78px;height:78px;margin-left:10px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:17px}.stat strong{font-size:27px}.card{padding:18px}.board{grid-template-columns:1fr}.column{min-height:0}.formgrid,.detailgrid{grid-template-columns:1fr}.wide{grid-column:auto}.profile{flex-direction:column;text-align:center}.profile img{width:150px}.toolbar>div{min-width:100px;flex:1}.toolbar input,.toolbar select{max-width:100%}dialog{padding:22px}.cardhead{align-items:flex-start}.cardhead h2{font-size:19px}.hero p{font-size:12px}.hero .eyebrow{font-size:9px}.footnote{text-align:center}}

.calendargrid,.calendarweek{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendarweek span{text-align:center;font-size:11px;color:#718087;padding:8px}.calday{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:85px;border:1px solid #e7ecea;background:#fff;color:#254b57;padding:9px;border-radius:10px;font-weight:400}.calday:hover{background:#f9e6e2}.calday.today{border:2px solid #ad536a}.calday span{font-size:10px}.calfree{color:#24765d}.calbook{color:#ad536a}@media(max-width:760px){.calday{min-height:68px;padding:5px}.calday span{font-size:9px}.calendargrid{gap:3px}}
.weeklytools{display:grid;grid-template-columns:1fr 1fr auto auto;gap:10px;align-items:end}.blockrow{display:grid;grid-template-columns:1.25fr repeat(2,.8fr) repeat(2,.65fr) 1fr 1.3fr auto;gap:9px;align-items:end;padding:13px;margin:10px 0;border:1px solid var(--line);border-radius:14px;background:#fafbf9}.blockrow label,.weeklytools label{margin:0}.weekpreview{margin:18px 0}.slotpill{display:inline-block;background:#f9e6e3;color:#793d4e;border-radius:8px;padding:7px 10px;margin:3px;font-size:12px}.slotchoice span{line-height:1.35}dialog:has(#weekly-form){width:1180px}@media(max-width:1000px){.blockrow{grid-template-columns:repeat(4,1fr)}.weeklytools{grid-template-columns:1fr 1fr}.blockrow button{align-self:end}}@media(max-width:620px){.blockrow,.weeklytools{grid-template-columns:1fr 1fr}.blockrow label:first-child,.blockrow label:nth-last-child(2){grid-column:1/-1}}
.execHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.execHead h1{font-family:Georgia,serif;margin:0 0 3px;font-size:34px}.execHead p{margin:0;color:var(--muted);text-transform:capitalize}.monthSelect{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 15px;font-size:12px;text-transform:capitalize}.execStats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.execStat{display:flex;align-items:center;gap:13px;border-radius:14px;padding:18px;background:#fff;border:1px solid #f0ecea}.execStat.pink{background:#fff3f5}.execStat.blue{background:#f1f8fc}.execStat.green{background:#effaf6}.execStat.rose{background:#fff4f4}.execIcon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--rose);font-size:18px}.execStat small,.execStat em{display:block;font-size:10px;font-style:normal;color:var(--muted)}.execStat strong{display:block;font-family:Georgia,serif;font-size:25px;line-height:1.1;margin:3px 0}.execGrid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.85fr);gap:18px}.execChart svg{width:100%;height:220px;border-bottom:1px solid var(--line);overflow:visible}.chartLabels{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin:8px 5% 0}.upcomingRow,.execPending button{width:100%;background:#fff;color:var(--ink);border:1px solid var(--line);padding:10px;border-radius:11px;display:grid;grid-template-columns:62px 1fr auto;text-align:left;margin-bottom:8px}.upcomingRow:hover,.execPending button:hover{background:#fff8f8}.upcomingRow>span{background:#fff0f3;border-radius:8px;padding:7px;text-align:center;color:#9d405b}.upcomingRow small,.execPending small{display:block;color:var(--muted);font-size:10px}.upcomingRow div{padding:4px 8px}.tracking{grid-column:1}.execPending{grid-column:2}.execPending button{grid-template-columns:38px 1fr auto;align-items:center}.execPending button>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff0f3;color:var(--rose)}.expenseSummary{border-top:1px solid var(--line);margin-top:15px;padding-top:15px;display:flex;justify-content:space-between}.expenseSummary small{color:var(--muted)}@media(max-width:1050px){.execStats{grid-template-columns:1fr 1fr}.execGrid{grid-template-columns:1fr}.tracking,.execPending{grid-column:1}}@media(max-width:620px){.execHead{align-items:flex-start;gap:15px}.execHead .monthSelect{display:none}.execHead h1{font-size:28px}.execStats{grid-template-columns:1fr}.execStat{padding:15px}.execChart svg{height:160px}.tracking table th:nth-child(2),.tracking table td:nth-child(2){display:none}}
