:root{--navy:#052f48;--navy-deep:#022438;--teal:#00a7a7;--green:#91c149;--ink:#123047;--muted:#687982;--line:#dce4e5;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.kgr-standalone{margin:0;background:#f3f6f4;color:var(--navy);font-family:Arial,Helvetica,sans-serif}
.kgr-standalone a{color:inherit;text-decoration:none}
.kgr-standalone button,.kgr-standalone input{font:inherit}
.eyebrow,.kgr-eyebrow{margin:0 0 14px;color:#068da0;font-size:11px;line-height:1.3;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.schedule-page{min-height:100vh;padding:34px clamp(18px,4vw,64px) 64px;background:#f3f6f4;color:var(--navy)}
.schedule-header{max-width:1500px;margin:0 auto 28px;display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:28px}
.schedule-brand{width:112px;height:76px;display:grid;place-items:center}
.schedule-brand svg{width:92px;height:68px}
.schedule-header h1{margin:3px 0 7px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,5vw,68px);font-weight:500;line-height:.95;letter-spacing:-.035em}
.schedule-header>div:nth-child(2)>p:last-child{margin:0;color:var(--muted);font-size:13px}
.schedule-account{min-width:235px;padding:18px 20px;display:grid;gap:4px;border:1px solid var(--line);background:#fff}
.schedule-account span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.schedule-account strong{font-size:12px}
.schedule-account a{margin-top:7px;color:var(--teal);font-size:11px;font-weight:900}
.today-dashboard{max-width:1500px;margin:0 auto 24px;padding:clamp(20px,3vw,38px);background:var(--navy);color:#fff;box-shadow:0 18px 55px rgba(1,34,52,.13)}
.today-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.today-heading h2{margin:2px 0 5px;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,5vw,62px);font-weight:500;line-height:.95}
.today-heading>div>p:last-child{margin:0;color:#a9bdc7;font-size:12px;text-transform:capitalize}
.today-status{padding:9px 12px;border-radius:2px;background:rgba(73,201,164,.15);color:#83e0c2;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.today-status.is-warning{background:rgba(245,188,81,.16);color:#ffd27b}
.operational-tabs{margin-top:24px;display:grid;grid-template-columns:repeat(3,minmax(120px,190px));gap:8px}
.operational-tabs button{padding:12px 15px;display:grid;gap:3px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#fff;cursor:pointer;text-align:left}
.operational-tabs button strong{font-size:11px}
.operational-tabs button span{color:#8fa7b2;font-size:8px;text-transform:capitalize}
.operational-tabs button.is-active{border-color:var(--teal);background:var(--teal)}
.operational-tabs button.is-active span{color:rgba(255,255,255,.78)}
.today-summary-grid{margin-top:13px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.today-card{min-height:150px;padding:19px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055)}
.today-card>header{padding-bottom:12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}
.today-card>header span{color:#b8cad2;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.today-card>header strong{min-width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--teal);font-size:12px}
.today-departures>header strong{background:#df776d}
.today-items{display:grid}
.today-item{padding:11px 0;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid rgba(255,255,255,.08)}
.today-item:last-child{border-bottom:0}
.today-item>div{display:grid;gap:2px}
.today-item strong{font-family:Georgia,"Times New Roman",serif;font-size:14px}
.today-item span{color:#9db2bc;font-size:9px}
.today-empty{margin:0;padding:21px 0 5px;color:#809aa6;font-size:11px}
.cleaning-board{margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14)}
.cleaning-heading{padding-bottom:13px;display:flex;align-items:end;justify-content:space-between}
.cleaning-heading h3{margin:2px 0 0;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(25px,3vw,35px);font-weight:500}
.cleaning-heading>strong{color:#83e0c2;font-size:24px}
.cleaning-items{display:grid}
.cleaning-item{min-height:76px;padding:16px 0;display:grid;grid-template-columns:minmax(220px,1fr) 110px minmax(240px,1fr);align-items:center;gap:18px;border-top:1px solid rgba(255,255,255,.1)}
.cleaning-item>div:first-child{display:grid;gap:3px}
.cleaning-item>div:first-child strong{font-family:Georgia,"Times New Roman",serif;font-size:15px}
.cleaning-item>div:first-child span,.cleaning-gap span{color:#91a9b4;font-size:9px}
.cleaning-checkout{display:grid;gap:2px}
.cleaning-checkout span{color:#91a9b4;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.cleaning-checkout strong{font-size:11px}
.cleaning-gap{padding:10px 12px;display:grid;gap:3px;border-left:3px solid #54c6a2;background:rgba(84,198,162,.09)}
.cleaning-gap strong{font-size:10px}
.cleaning-gap.is-urgent{border-color:#ef7d72;background:rgba(239,125,114,.11)}
.cleaning-notes{grid-column:1/-1;margin:-3px 0 0;padding:0;display:grid;gap:6px;list-style:none}
.cleaning-notes li{padding:10px 12px;border-left:3px solid #ffd27b;background:rgba(255,210,123,.09);color:#ffe2a9;font-size:10px;font-weight:800}
.schedule-panel{max-width:1500px;margin:auto;padding:clamp(20px,3vw,38px);background:#fff;box-shadow:0 18px 55px rgba(1,34,52,.08)}
.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px}
.schedule-month-nav{display:flex;align-items:center;gap:18px}
.schedule-month-nav h2{min-width:240px;margin:2px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,3vw,42px);font-weight:500;text-transform:capitalize}
.schedule-month-nav button,.schedule-actions button{border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer;font-size:12px;font-weight:900}
.schedule-month-nav button{width:46px;height:46px;font-size:20px}
.schedule-actions{display:flex;gap:10px}
.schedule-actions button{min-height:44px;padding:0 18px}
.schedule-actions button:last-child{border-color:var(--teal);background:var(--teal);color:#fff}
.schedule-actions button:disabled{cursor:wait;opacity:.65}
.schedule-legend{margin:28px 0 17px;padding:14px 16px;display:flex;align-items:center;gap:22px;background:#f7f9f8;color:#49606b;font-size:11px;font-weight:800}
.schedule-legend span{display:inline-flex;align-items:center;gap:7px}
.schedule-legend i{width:13px;height:13px;display:inline-block;border-radius:3px}
.schedule-legend small{margin-left:auto;color:#84949b;font-size:10px;font-weight:600}
.legend-available{background:#d9f4e6;border:1px solid #67bd8f}.legend-confirmed{background:#ccecdf;border:1px solid #25815f}.legend-preliminary{background:#fff0bc;border:1px solid #c59122}.legend-semiconfirmed{background:#ffe0c2;border:1px solid #d7772c}.legend-blocked{background:#e5eaec;border:1px solid #7b898f}.legend-error{background:#f2eee4;border:1px solid #b8aa8b}
.schedule-scroll{overflow-x:auto;border:1px solid var(--line);outline:none}
.schedule-scroll:focus-visible{box-shadow:0 0 0 3px rgba(0,167,167,.2)}
.schedule-grid{min-width:max-content;display:grid}
.schedule-corner,.schedule-day-head,.schedule-property,.schedule-cell{min-height:55px;border-right:1px solid #e2e8e6;border-bottom:1px solid #e2e8e6}
.schedule-corner{position:sticky;left:0;z-index:4;padding:19px 17px;background:var(--navy);color:#fff;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.schedule-day-head{display:grid;place-content:center;gap:2px;background:#f7f9f8;text-align:center}
.schedule-day-head.is-weekend{background:#edf5f3}
.schedule-day-head small{color:#84949b;font-size:8px;font-weight:900;text-transform:uppercase}
.schedule-day-head strong{font-size:15px}
.schedule-property{position:sticky;left:0;z-index:3;padding:11px 16px;display:grid;align-content:center;gap:3px;background:#fff}
.schedule-property strong{font-family:Georgia,"Times New Roman",serif;font-size:16px}
.schedule-property span{color:var(--muted);font-size:9px}
.schedule-cell{padding:0;display:grid;place-items:center;color:inherit;font-size:10px;font-weight:900;text-align:center;transition:filter .15s ease,box-shadow .15s ease}
.schedule-cell:hover{position:relative;z-index:2;filter:brightness(.96);box-shadow:inset 0 0 0 2px rgba(1,34,52,.18)}
.cell-available{background:#f1faf5;color:#26764a}.cell-unavailable{background:#fff}.cell-error{background:#f2eee4;color:#8a7751}.cell-loading{background:linear-gradient(110deg,#f2f5f4 25%,#fafbfb 45%,#f2f5f4 65%);background-size:200% 100%;animation:schedule-loading 1.1s linear infinite}
.calendar-booking{position:relative;z-index:1;width:calc(100% + 2px);height:38px;margin:0 -1px;display:grid;place-items:center;border-top:2px solid;border-bottom:2px solid;line-height:1.1;white-space:nowrap}
.calendar-booking.is-start{width:calc(100% - 5px);margin-left:5px;margin-right:0;border-left:2px solid;border-radius:8px 0 0 8px}
.calendar-booking.is-end{width:calc(100% - 5px);margin-left:0;margin-right:5px;border-right:2px solid;border-radius:0 8px 8px 0}
.calendar-booking.is-start.is-end{width:calc(100% - 10px);margin:0 5px;border-right:2px solid;border-radius:8px}
.calendar-booking strong{padding:0 4px;overflow:hidden;font-size:9px;text-overflow:ellipsis}
.status-confirmed{border-color:#25815f;background:#ccecdf;color:#175f47}.status-preliminary{border-color:#c59122;background:#fff0bc;color:#745407}.status-semiconfirmed{border-color:#d7772c;background:#ffe0c2;color:#8b4515}.status-blocked{border-color:#7b898f;background:#e5eaec;color:#4f6067}.status-unknown{border-color:#806c9b;background:#eee7f5;color:#59466f}
@keyframes schedule-loading{to{background-position-x:-200%}}
.schedule-reservation-list{margin-top:28px}
.schedule-list-heading{padding-bottom:15px;display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line)}
.schedule-list-heading h3{margin:3px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(24px,3vw,34px);font-weight:500}
.schedule-list-heading>strong{min-width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff}
.reservation-items{display:grid}
.reservation-item{min-height:75px;padding:14px 4px;display:grid;grid-template-columns:minmax(210px,1.2fr) minmax(210px,1fr) 115px 150px 120px;align-items:center;gap:15px;border-bottom:1px solid var(--line)}
.reservation-item>div:first-child{display:grid;gap:3px}.reservation-item>div:first-child strong{font-family:Georgia,"Times New Roman",serif;font-size:16px}.reservation-item>div:first-child span,.reservation-guests span{color:var(--muted);font-size:9px}.reservation-item time{font-size:12px;font-weight:900}.reservation-guests{display:grid;gap:2px}.reservation-guests strong{font-size:12px}.reservation-status{padding:7px 9px;border:1px solid;border-radius:3px;font-size:9px;font-weight:900;text-align:center}.reservation-source{padding:7px 9px;border-radius:3px;background:#eef5f3;color:#39736d;font-size:9px;font-weight:900;text-align:center}
.schedule-empty{margin:0;padding:28px 4px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line)}
.schedule-note{margin-top:22px;padding:20px 22px;border-left:3px solid var(--teal);background:#f7f9f8}.schedule-note strong{font-family:Georgia,"Times New Roman",serif;font-size:17px}.schedule-note p{max-width:930px;margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.7}
.schedule-error{margin:22px 0 0;padding:16px;border-left:3px solid #b64e42;background:#fff0ed;color:#8d382f;font-size:12px;font-weight:700}
.kgr-login-shell{min-height:100vh;display:grid;place-items:center;padding:30px;background:linear-gradient(135deg,#052d43,#0a5266)}
.kgr-login-card{width:min(440px,100%);padding:42px;background:#fff;box-shadow:0 25px 70px rgba(0,0,0,.25)}
.kgr-login-card h1{margin:7px 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:40px;font-weight:500}.kgr-login-card>p:not(.kgr-eyebrow){color:#657b85;line-height:1.6}.kgr-login-card label{display:block;margin:16px 0 6px;font-size:11px;font-weight:800;text-transform:uppercase}.kgr-login-card input[type=text],.kgr-login-card input[type=password]{width:100%;min-height:48px;border:1px solid var(--line);padding:10px}.kgr-login-card .login-remember label{display:flex;gap:8px;align-items:center;text-transform:none}.kgr-login-card input[type=submit]{width:100%;min-height:48px;border:0;background:var(--teal);color:#fff;font-weight:800;cursor:pointer}
@media(max-width:900px){.schedule-header{grid-template-columns:90px 1fr}.schedule-account{grid-column:1/-1}.schedule-toolbar{align-items:flex-start;flex-direction:column}.schedule-legend{align-items:flex-start;flex-wrap:wrap;gap:12px 18px}.schedule-legend small{width:100%;margin-left:0}.cleaning-item{grid-template-columns:1fr 110px}.cleaning-gap{grid-column:1/-1}.reservation-item{grid-template-columns:1fr 1fr;gap:10px 18px}.reservation-source{justify-self:start}}
@media(max-width:620px){.schedule-page{padding:18px 12px 40px}.schedule-header{grid-template-columns:70px 1fr;gap:14px}.schedule-brand{width:66px;height:58px}.schedule-brand svg{width:62px;height:48px}.schedule-header h1{font-size:38px}.schedule-account{min-width:0}.operational-tabs{grid-template-columns:repeat(3,1fr)}.operational-tabs button{padding:10px 8px}.today-summary-grid{grid-template-columns:1fr}.cleaning-item{grid-template-columns:1fr}.schedule-panel{padding:20px 12px}.schedule-month-nav{gap:8px}.schedule-month-nav h2{min-width:150px;font-size:27px}.schedule-actions{width:100%}.schedule-actions button{flex:1}.reservation-item{grid-template-columns:1fr}}
